From ccf91698b0ea630dee9a3f9871faf99b53e21d82 Mon Sep 17 00:00:00 2001 From: peli Date: Mon, 22 Jun 2020 11:46:24 -0700 Subject: [PATCH] add docs folder --- .gitignore | 1 - docs/assets/css/main.css | 2679 +++++++++++++ docs/assets/images/icons.png | Bin 0 -> 9615 bytes docs/assets/images/icons@2x.png | Bin 0 -> 28144 bytes docs/assets/images/widgets.png | Bin 0 -> 480 bytes docs/assets/images/widgets@2x.png | Bin 0 -> 855 bytes docs/assets/js/main.js | 1 + docs/assets/js/search.json | 1 + docs/classes/device.html | 3070 +++++++++++++++ docs/classes/packet.html | 3636 +++++++++++++++++ docs/classes/promisebuffer.html | 2934 ++++++++++++++ docs/classes/promisequeue.html | 2858 ++++++++++++++ docs/enums/numberformat.html | 3004 ++++++++++++++ docs/globals.html | 5222 ++++++++++++++++++++++++ docs/index.html | 5223 +++++++++++++++++++++++++ docs/interfaces/mutablearraylike.html | 2814 +++++++++++++ docs/interfaces/options.html | 2816 +++++++++++++ docs/interfaces/parsedframe.html | 2830 ++++++++++++++ docs/interfaces/smap.html | 2783 +++++++++++++ 19 files changed, 39871 insertions(+), 1 deletion(-) create mode 100644 docs/assets/css/main.css create mode 100644 docs/assets/images/icons.png create mode 100644 docs/assets/images/icons@2x.png create mode 100644 docs/assets/images/widgets.png create mode 100644 docs/assets/images/widgets@2x.png create mode 100644 docs/assets/js/main.js create mode 100644 docs/assets/js/search.json create mode 100644 docs/classes/device.html create mode 100644 docs/classes/packet.html create mode 100644 docs/classes/promisebuffer.html create mode 100644 docs/classes/promisequeue.html create mode 100644 docs/enums/numberformat.html create mode 100644 docs/globals.html create mode 100644 docs/index.html create mode 100644 docs/interfaces/mutablearraylike.html create mode 100644 docs/interfaces/options.html create mode 100644 docs/interfaces/parsedframe.html create mode 100644 docs/interfaces/smap.html diff --git a/.gitignore b/.gitignore index d626d098e..28589c315 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,3 @@ dist compiled .awcache .rpt2_cache -docs diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css new file mode 100644 index 000000000..959edd732 --- /dev/null +++ b/docs/assets/css/main.css @@ -0,0 +1,2679 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ +/* ========================================================================== + * * HTML5 display definitions + * * ========================================================================== */ +/** + * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ +article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { + display: block; +} + +/** + * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ +audio, canvas, video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +/** + * * Prevent modern browsers from displaying `audio` without controls. + * * Remove excess height in iOS 5 devices. */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. + * * Known issue: no IE 6 support. */ +[hidden] { + display: none; +} + +/* ========================================================================== + * * Base + * * ========================================================================== */ +/** + * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using + * * `em` units. + * * 2. Prevent iOS text size adjust after orientation change, without disabling + * * user zoom. */ +html { + font-size: 100%; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + font-family: sans-serif; +} + +/** + * * Address `font-family` inconsistency between `textarea` and other form + * * elements. */ +button, input, select, textarea { + font-family: sans-serif; +} + +/** + * * Address margins handled incorrectly in IE 6/7. */ +body { + margin: 0; +} + +/* ========================================================================== + * * Links + * * ========================================================================== */ +/** + * * Address `outline` inconsistency between Chrome and other browsers. */ +a:focus { + outline: thin dotted; +} +a:active, a:hover { + outline: 0; +} + +/** + * * Improve readability when focused and also mouse hovered in all browsers. */ +/* ========================================================================== + * * Typography + * * ========================================================================== */ +/** + * * Address font sizes and margins set differently in IE 6/7. + * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5, + * * and Chrome. */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, .tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +/** + * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ +b, strong { + font-weight: bold; +} + +blockquote { + margin: 1em 40px; +} + +/** + * * Address styling not present in Safari 5 and Chrome. */ +dfn { + font-style: italic; +} + +/** + * * Address differences between Firefox and other browsers. + * * Known issue: no IE 6/7 normalization. */ +hr { + box-sizing: content-box; + height: 0; +} + +/** + * * Address styling not present in IE 6/7/8/9. */ +mark { + background: #ff0; + color: #000; +} + +/** + * * Address margins set differently in IE 6/7. */ +p, pre { + margin: 1em 0; +} + +/** + * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ +code, kbd, pre, samp { + font-family: monospace, serif; + _font-family: "courier new", monospace; + font-size: 1em; +} + +/** + * * Improve readability of pre-formatted text in all browsers. */ +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * * Address CSS quotes not supported in IE 6/7. */ +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} + +/** + * * Address `quotes` property not supported in Safari 4. */ +/** + * * Address inconsistent and variable font size in all browsers. */ +small { + font-size: 80%; +} + +/** + * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ +sub { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* ========================================================================== + * * Lists + * * ========================================================================== */ +/** + * * Address margins set differently in IE 6/7. */ +dl, menu, ol, ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +/** + * * Address paddings set differently in IE 6/7. */ +menu, ol, ul { + padding: 0 0 0 40px; +} + +/** + * * Correct list images handled incorrectly in IE 7. */ +nav ul, nav ol { + list-style: none; + list-style-image: none; +} + +/* ========================================================================== + * * Embedded content + * * ========================================================================== */ +/** + * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. + * * 2. Improve image quality when scaled in IE 7. */ +img { + border: 0; + /* 1 */ + -ms-interpolation-mode: bicubic; +} + +/* 2 */ +/** + * * Correct overflow displayed oddly in IE 9. */ +svg:not(:root) { + overflow: hidden; +} + +/* ========================================================================== + * * Figures + * * ========================================================================== */ +/** + * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ +figure, form { + margin: 0; +} + +/* ========================================================================== + * * Forms + * * ========================================================================== */ +/** + * * Correct margin displayed oddly in IE 6/7. */ +/** + * * Define consistent border, margin, and padding. */ +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * * 1. Correct color not being inherited in IE 6/7/8/9. + * * 2. Correct text not wrapping in Firefox 3. + * * 3. Correct alignment displayed oddly in IE 6/7. */ +legend { + border: 0; + /* 1 */ + padding: 0; + white-space: normal; + /* 2 */ + *margin-left: -7px; +} + +/* 3 */ +/** + * * 1. Correct font size not being inherited in all browsers. + * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, + * * and Chrome. + * * 3. Improve appearance and consistency in all browsers. */ +button, input, select, textarea { + font-size: 100%; + /* 1 */ + margin: 0; + /* 2 */ + vertical-align: baseline; + /* 3 */ + *vertical-align: middle; +} + +/* 3 */ +/** + * * Address Firefox 3+ setting `line-height` on `input` using `!important` in + * * the UA stylesheet. */ +button, input { + line-height: normal; +} + +/** + * * Address inconsistent `text-transform` inheritance for `button` and `select`. + * * All other form control elements do not inherit `text-transform` values. + * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. + * * Correct `select` style inheritance in Firefox 4+ and Opera. */ +button, select { + text-transform: none; +} + +/** + * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * * and `video` controls. + * * 2. Correct inability to style clickable `input` types in iOS. + * * 3. Improve usability and consistency of cursor style between image-type + * * `input` and others. + * * 4. Remove inner spacing in IE 7 without affecting normal text inputs. + * * Known issue: inner spacing remains in IE 6. */ +button, html input[type=button] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +input[type=reset], input[type=submit] { + -webkit-appearance: button; + /* 2 */ + cursor: pointer; + /* 3 */ + *overflow: visible; +} + +/* 4 */ +/** + * * Re-set default cursor for disabled elements. */ +button[disabled], html input[disabled] { + cursor: default; +} + +/** + * * 1. Address box sizing set to content-box in IE 8/9. + * * 2. Remove excess padding in IE 8/9. + * * 3. Remove excess padding in IE 7. + * * Known issue: excess padding remains in IE 6. */ +input { + /* 3 */ +} +input[type=checkbox], input[type=radio] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ + *height: 13px; + /* 3 */ + *width: 13px; +} +input[type=search] { + -webkit-appearance: textfield; + /* 1 */ + /* 2 */ + box-sizing: content-box; +} +input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. + * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome + * * (include `-moz` to future-proof). */ +/** + * * Remove inner padding and search cancel button in Safari 5 and Chrome + * * on OS X. */ +/** + * * Remove inner padding and border in Firefox 3+. */ +button::-moz-focus-inner, input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * * 1. Remove default vertical scrollbar in IE 6/7/8/9. + * * 2. Improve readability and alignment in all browsers. */ +textarea { + overflow: auto; + /* 1 */ + vertical-align: top; +} + +/* 2 */ +/* ========================================================================== + * * Tables + * * ========================================================================== */ +/** + * * Remove most spacing between table cells. */ +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* * + * *Visual Studio-like style based on original C# coloring by Jason Diamond */ +.hljs { + display: inline-block; + padding: 0.5em; + background: white; + color: black; +} + +.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket { + color: #008000; +} + +.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title { + color: #00f; +} + +.xml .hljs-tag { + color: #00f; +} +.xml .hljs-tag .hljs-value { + color: #00f; +} + +.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value { + color: #a31515; +} + +.ruby .hljs-symbol { + color: #a31515; +} +.ruby .hljs-symbol .hljs-string { + color: #a31515; +} + +.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute { + color: #a31515; +} + +.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt { + color: #2b91af; +} + +.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag { + color: #808080; +} + +.vhdl .hljs-typename { + font-weight: bold; +} +.vhdl .hljs-string { + color: #666666; +} +.vhdl .hljs-literal { + color: #a31515; +} +.vhdl .hljs-attribute { + color: #00b0e8; +} + +.xml .hljs-attribute { + color: #f00; +} + +ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-1 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-1 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: -ms-flexbox; + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-1 { + width: 8.3333333333%; +} + +.offset-1 { + margin-left: 8.3333333333%; +} + +.col-2 { + width: 16.6666666667%; +} + +.offset-2 { + margin-left: 16.6666666667%; +} + +.col-3 { + width: 25%; +} + +.offset-3 { + margin-left: 25%; +} + +.col-4 { + width: 33.3333333333%; +} + +.offset-4 { + margin-left: 33.3333333333%; +} + +.col-5 { + width: 41.6666666667%; +} + +.offset-5 { + margin-left: 41.6666666667%; +} + +.col-6 { + width: 50%; +} + +.offset-6 { + margin-left: 50%; +} + +.col-7 { + width: 58.3333333333%; +} + +.offset-7 { + margin-left: 58.3333333333%; +} + +.col-8 { + width: 66.6666666667%; +} + +.offset-8 { + margin-left: 66.6666666667%; +} + +.col-9 { + width: 75%; +} + +.offset-9 { + margin-left: 75%; +} + +.col-10 { + width: 83.3333333333%; +} + +.offset-10 { + margin-left: 83.3333333333%; +} + +.col-11 { + width: 91.6666666667%; +} + +.offset-11 { + margin-left: 91.6666666667%; +} + +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(../images/icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(../images/icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -221px -187px; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: #fdfdfd; + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: #222; +} + +a { + color: #4da6ff; + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +code, pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; + background-color: rgba(0, 0, 0, 0.04); +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; + background-color: transparent; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, .tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, .tsd-typography ul, .tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html.default .col-content { + width: 72%; + } + html.default .col-menu { + width: 28%; + } + html.default .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html.default .col-content { + float: none; + width: 100%; + } + html.default .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: #fff; + transform: translate(100%, 0); + } + html.default .col-menu > *:last-child { + padding-bottom: 20px; + } + html.default .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + html.default.to-has-menu .overlay { + animation: fade-in 0.4s; + } + html.default.to-has-menu header, +html.default.to-has-menu footer, +html.default.to-has-menu .col-content { + animation: shift-to-left 0.4s; + } + html.default.to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + html.default.from-has-menu .overlay { + animation: fade-out 0.4s; + } + html.default.from-has-menu header, +html.default.from-has-menu footer, +html.default.from-has-menu .col-content { + animation: unshift-to-left 0.4s; + } + html.default.from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + html.default.has-menu body { + overflow: hidden; + } + html.default.has-menu .overlay { + visibility: visible; + } + html.default.has-menu header, +html.default.has-menu footer, +html.default.has-menu .col-content { + transform: translate(-25%, 0); + } + html.default.has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: #fff; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: #808080; +} +.tsd-breadcrumb a { + color: #808080; + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +html.minimal .container { + margin: 0; +} +html.minimal .container-main { + padding-top: 50px; + padding-bottom: 0; +} +html.minimal .content-wrap { + padding-left: 300px; +} +html.minimal .tsd-navigation { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + box-sizing: border-box; + z-index: 1; + left: 0; + top: 40px; + bottom: 0; + width: 300px; + padding: 20px; + margin: 0; +} +html.minimal .tsd-member .tsd-member { + margin-left: 0; +} +html.minimal .tsd-page-toolbar { + position: fixed; + z-index: 2; +} +html.minimal #tsd-filter .tsd-filter-group { + right: 0; + transform: none; +} +html.minimal footer { + background-color: transparent; +} +html.minimal footer .container { + padding: 0; +} +html.minimal .tsd-generator { + padding: 0; +} +@media (max-width: 900px) { + html.minimal .tsd-navigation { + display: none; + } + html.minimal .content-wrap { + padding-left: 0; + } +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid #808080; + color: #808080; + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-only-exported .tsd-is-not-exported { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: #fff; + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, +#tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid #eee; + background-color: #fff; +} +footer.with-border-bottom { + border-bottom: 1px solid #eee; +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-index-panel ul.tsd-index-list { + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: #7da01f; +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: #cc9900; +} +.tsd-index-panel .tsd-parent-kind-class a { + color: #4da6ff; +} +.tsd-index-panel .tsd-kind-module a { + color: #9600ff; +} +.tsd-index-panel .tsd-kind-interface a { + color: #7da01f; +} +.tsd-index-panel .tsd-kind-enum a { + color: #cc9900; +} +.tsd-index-panel .tsd-kind-class a { + color: #4da6ff; +} +.tsd-index-panel .tsd-is-private a { + color: #808080; +} + +.tsd-flag { + display: inline-block; + padding: 1px 5px; + border-radius: 4px; + color: #fff; + background-color: #808080; + text-indent: 0; + font-size: 14px; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: #222; + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid #eee; +} +.tsd-navigation.primary li { + border-top: 1px solid #eee; +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: #808080; +} +.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: #eee; +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: #eee; +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid #eee; +} +.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, .tsd-panel table td { + padding: 6px 13px; + border: 1px solid #ddd; +} +.tsd-panel table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} +.tsd-panel table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: #222; +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: #fdfdfd; +} +#tsd-search .results li:nth-child(even) { + background-color: #fff; +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: #eee; +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: #808080; + font-weight: normal; +} +#tsd-search.has-focus { + background-color: #eee; +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid #eee; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: #808080; + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid #eee; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: #eee; +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: #808080; + margin: 0 0 1em 0; +} +.tsd-sources a { + color: #808080; + text-decoration: underline; +} +.tsd-sources ul, .tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: #333; + background: #fff; + border-bottom: 1px solid #eee; + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: #333; + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(../images/widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before { + background-image: url(../images/widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.6; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.8; +} +.tsd-widget.active { + opacity: 1; + background-color: #eee; +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, .tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, .tsd-widget.menu { + display: inline-block; + } +} +input[type=checkbox] + .tsd-widget:before { + background-position: -120px 0; +} +input[type=checkbox]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: #fdfdfd; +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: #fff; +} +.tsd-select .tsd-select-list li:hover { + background-color: #eee; +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} \ No newline at end of file diff --git a/docs/assets/images/icons.png b/docs/assets/images/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..3836d5fe46e48bbe186116855aae879c23935327 GIT binary patch literal 9615 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 NZmR35l_G4O{0}dcmS_L~ literal 0 HcmV?d00001 diff --git a/docs/assets/images/icons@2x.png b/docs/assets/images/icons@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5a209e2f6d7f915cc9cb6fe7a4264c8be4db87b0 GIT binary patch literal 28144 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 U&wLp6h6BX&boFyt=akR{0G%$)mH+?% literal 0 HcmV?d00001 diff --git a/docs/assets/images/widgets@2x.png b/docs/assets/images/widgets@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbbd57272f3b28f47527d4951ad10f950b8ad43 GIT binary patch literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU}^xe12~w0Jcmn z@(X6T|9^jgLcx21{)7exgY)a>N6m2F0<`Rqr;B4q1>>88jUdw-7W`c)zLE*mq8W2H z-<&Jl_Hco5BuC5n@AbF5GD82~-e8-v=#zCyUX0F-o}8pPfAv`!GN$ff+TL<~@kgt} z62eO?_|&+>xBmM$@p|z`tIKEdpPf8%qI>4r7@jn<=eta*{3~?g(zz{Ke9zc-G^gr? z-7foa?LcS!hmbwzru}ICvbWLlW8;+l-}!^=c32!^nV`+`C*;0-*Y%l94pC;Cb3GXz zzSf%a!{gVr{Y_lVuUj+a)*Ca+!-Hu%xmP&&X-2CuANY8^i{D7Kg6qzP zXz_ps9+lN8ESH{K4`yu&b~I>N9xGlE&;2u*b?+Go!AhN?m-bxlLvtC#MzDF2kFzfHJ1W7ybqdefSqVhbOykd*Yi%EDuhs z4wF{ft^bv2+DDnKb8gj1FuvcV`M}luS>lO<^)8x>y1#R;a=-ZKwWTQQb)ioBbi;zh zD!f5V)8581to1LL7c9!l^PSC$NBPYif!_vAZhmL4)v4U)4UsrLYiH_9rmQDd?)(e5 z^pcH>qvBg*i0dus2r*mp4;zKvu=P#s-ti;2obl`NjjwoYd>e(oo#j_uyRb<7Pv^If zzZ|mGHmV)8^tbO%^>eqMw(@7(&3g{jEp-Najo7V75xI_ZHK*FA`elF{r5}E*d7+j_R literal 0 HcmV?d00001 diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js new file mode 100644 index 000000000..fe9fac3b3 --- /dev/null +++ b/docs/assets/js/main.js @@ -0,0 +1 @@ +!function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.EventTarget);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){function Component(options){this.el=options.el}typedoc.Component=Component}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),document.documentElement.classList.add(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),document.addEventListener(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}),document.addEventListener(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10scrollTop;)index-=1;for(;index"+match+""}),parent=row.parent||"";(parent=parent.replace(new RegExp(this.query,"i"),function(match){return""+match+""}))&&(name=''+parent+"."+name);var item=document.createElement("li");item.classList.value=row.classes,item.innerHTML='\n '+name+"'\n ",this.results.appendChild(item)}}},Search.prototype.setLoadingState=function(value){this.loadingState!=value&&(this.el.classList.remove(SearchLoadingState[this.loadingState].toLowerCase()),this.loadingState=value,this.el.classList.add(SearchLoadingState[this.loadingState].toLowerCase()),this.updateResults())},Search.prototype.setHasFocus=function(value){this.hasFocus!=value&&(this.hasFocus=value,this.el.classList.toggle("has-focus"),value?(this.setQuery(""),this.field.value=""):this.field.value=this.query)},Search.prototype.setQuery=function(value){this.query=value.trim(),this.updateResults()},Search.prototype.setCurrentResult=function(dir){var current=this.results.querySelector(".current");if(current){var rel=1==dir?current.nextElementSibling:current.previousElementSibling;rel&&(current.classList.remove("current"),rel.classList.add("current"))}else(current=this.results.querySelector(1==dir?"li:first-child":"li:last-child"))&¤t.classList.add("current")},Search.prototype.gotoCurrentResult=function(){var current=this.results.querySelector(".current");if(current||(current=this.results.querySelector("li:first-child")),current){var link=current.querySelector("a");link&&(window.location.href=link.href),this.field.blur()}},Search.prototype.bindEvents=function(){var _this=this;this.results.addEventListener("mousedown",function(){_this.resultClicked=!0}),this.results.addEventListener("mouseup",function(){_this.resultClicked=!1,_this.setHasFocus(!1)}),this.field.addEventListener("focusin",function(){_this.setHasFocus(!0),_this.loadIndex()}),this.field.addEventListener("focusout",function(){_this.resultClicked?_this.resultClicked=!1:setTimeout(function(){return _this.setHasFocus(!1)},100)}),this.field.addEventListener("input",function(){_this.setQuery(_this.field.value)}),this.field.addEventListener("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(_this.preventPress=!0,e.preventDefault(),13==e.keyCode?_this.gotoCurrentResult():27==e.keyCode?_this.field.blur():38==e.keyCode?_this.setCurrentResult(-1):40==e.keyCode&&_this.setCurrentResult(1)):_this.preventPress=!1}),this.field.addEventListener("keypress",function(e){_this.preventPress&&e.preventDefault()}),document.body.addEventListener("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!_this.hasFocus&&47this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1","url":"globals.html#service_classes._disabled_","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":160,"kind":32,"name":"CTRL","url":"globals.html#service_classes.ctrl","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":161,"kind":32,"name":"LOGGER","url":"globals.html#service_classes.logger","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":162,"kind":32,"name":"BATTERY","url":"globals.html#service_classes.battery","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":163,"kind":32,"name":"ACCELEROMETER","url":"globals.html#service_classes.accelerometer","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":164,"kind":32,"name":"BUTTON","url":"globals.html#service_classes.button","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":165,"kind":32,"name":"TOUCHBUTTON","url":"globals.html#service_classes.touchbutton","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":166,"kind":32,"name":"LIGHT_SENSOR","url":"globals.html#service_classes.light_sensor","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":167,"kind":32,"name":"MICROPHONE","url":"globals.html#service_classes.microphone","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":168,"kind":32,"name":"THERMOMETER","url":"globals.html#service_classes.thermometer","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":169,"kind":32,"name":"SWITCH","url":"globals.html#service_classes.switch","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":170,"kind":32,"name":"PIXEL","url":"globals.html#service_classes.pixel","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":171,"kind":32,"name":"HAPTIC","url":"globals.html#service_classes.haptic","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":172,"kind":32,"name":"LIGHT","url":"globals.html#service_classes.light","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":173,"kind":32,"name":"KEYBOARD","url":"globals.html#service_classes.keyboard","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":174,"kind":32,"name":"MOUSE","url":"globals.html#service_classes.mouse","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":175,"kind":32,"name":"GAMEPAD","url":"globals.html#service_classes.gamepad","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":176,"kind":32,"name":"MUSIC","url":"globals.html#service_classes.music","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":177,"kind":32,"name":"SERVO","url":"globals.html#service_classes.servo","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":178,"kind":32,"name":"CONTROLLER","url":"globals.html#service_classes.controller","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":179,"kind":32,"name":"LCD","url":"globals.html#service_classes.lcd","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":180,"kind":32,"name":"MESSAGE_BUS","url":"globals.html#service_classes.message_bus","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":181,"kind":32,"name":"COLOR_SENSOR","url":"globals.html#service_classes.color_sensor","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":182,"kind":32,"name":"LIGHT_SPECTRUM_SENSOR","url":"globals.html#service_classes.light_spectrum_sensor","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":183,"kind":32,"name":"PROXIMITY","url":"globals.html#service_classes.proximity","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":184,"kind":32,"name":"TOUCH_BUTTONS","url":"globals.html#service_classes.touch_buttons","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":185,"kind":32,"name":"SERVOS","url":"globals.html#service_classes.servos","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":186,"kind":32,"name":"ROTARY_ENCODER","url":"globals.html#service_classes.rotary_encoder","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":187,"kind":32,"name":"DNS","url":"globals.html#service_classes.dns","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":188,"kind":32,"name":"PWM_LIGHT","url":"globals.html#service_classes.pwm_light","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":189,"kind":32,"name":"BOOTLOADER","url":"globals.html#service_classes.bootloader","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":190,"kind":32,"name":"ARCADE_CONTROLS","url":"globals.html#service_classes.arcade_controls","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":191,"kind":32,"name":"POWER","url":"globals.html#service_classes.power","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":192,"kind":32,"name":"SLIDER","url":"globals.html#service_classes.slider","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":193,"kind":32,"name":"MOTOR","url":"globals.html#service_classes.motor","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":194,"kind":32,"name":"TCP","url":"globals.html#service_classes.tcp","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":195,"kind":32,"name":"WIFI","url":"globals.html#service_classes.wifi","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"service_classes"},{"id":196,"kind":2097152,"name":"generic_commands","url":"globals.html#generic_commands","classes":"tsd-kind-object-literal"},{"id":197,"kind":32,"name":"CMD_ADVERTISEMENT_DATA","url":"globals.html#generic_commands.cmd_advertisement_data","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_commands"},{"id":198,"kind":32,"name":"CMD_EVENT","url":"globals.html#generic_commands.cmd_event","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_commands"},{"id":199,"kind":32,"name":"CMD_CALIBRATE","url":"globals.html#generic_commands.cmd_calibrate","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_commands"},{"id":200,"kind":32,"name":"CMD_GET_DESCRIPTION","url":"globals.html#generic_commands.cmd_get_description","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_commands"},{"id":201,"kind":2097152,"name":"generic_regs","url":"globals.html#generic_regs","classes":"tsd-kind-object-literal"},{"id":202,"kind":32,"name":"REG_INTENSITY","url":"globals.html#generic_regs.reg_intensity","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":203,"kind":32,"name":"REG_VALUE","url":"globals.html#generic_regs.reg_value","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":204,"kind":32,"name":"REG_IS_STREAMING","url":"globals.html#generic_regs.reg_is_streaming","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":205,"kind":32,"name":"REG_STREAMING_INTERVAL","url":"globals.html#generic_regs.reg_streaming_interval","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":206,"kind":32,"name":"REG_LOW_THRESHOLD","url":"globals.html#generic_regs.reg_low_threshold","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":207,"kind":32,"name":"REG_HIGH_THRESHOLD","url":"globals.html#generic_regs.reg_high_threshold","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":208,"kind":32,"name":"REG_MAX_POWER","url":"globals.html#generic_regs.reg_max_power","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":209,"kind":32,"name":"REG_READING","url":"globals.html#generic_regs.reg_reading","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"generic_regs"},{"id":210,"kind":2097152,"name":"serv_decoders","url":"globals.html#serv_decoders","classes":"tsd-kind-object-literal"},{"id":211,"kind":64,"name":"LOGGER","url":"globals.html#serv_decoders.logger","classes":"tsd-kind-function tsd-parent-kind-object-literal","parent":"serv_decoders"},{"id":212,"kind":64,"name":"reverseLookup","url":"globals.html#reverselookup","classes":"tsd-kind-function"},{"id":213,"kind":64,"name":"serviceName","url":"globals.html#servicename","classes":"tsd-kind-function"},{"id":214,"kind":64,"name":"commandName","url":"globals.html#commandname","classes":"tsd-kind-function"},{"id":215,"kind":64,"name":"num2str","url":"globals.html#num2str","classes":"tsd-kind-function"},{"id":216,"kind":64,"name":"printPkt","url":"globals.html#printpkt","classes":"tsd-kind-function"},{"id":217,"kind":64,"name":"parseLog","url":"globals.html#parselog","classes":"tsd-kind-function"}],"index":{"version":"2.3.8","fields":["name","parent"],"fieldVectors":[["name/0",[0,49.836]],["parent/0",[]],["name/1",[1,33.742]],["parent/1",[]],["name/2",[2,49.836]],["parent/2",[1,2.609]],["name/3",[3,49.836]],["parent/3",[1,2.609]],["name/4",[4,49.836]],["parent/4",[1,2.609]],["name/5",[5,49.836]],["parent/5",[1,2.609]],["name/6",[6,49.836]],["parent/6",[1,2.609]],["name/7",[7,49.836]],["parent/7",[1,2.609]],["name/8",[8,41.363]],["parent/8",[]],["name/9",[9,49.836]],["parent/9",[8,3.199]],["name/10",[10,49.836]],["parent/10",[8,3.199]],["name/11",[11,44.728]],["parent/11",[]],["name/12",[12,49.836]],["parent/12",[11,3.459]],["name/13",[13,25.269]],["parent/13",[]],["name/14",[14,49.836]],["parent/14",[13,1.954]],["name/15",[15,49.836]],["parent/15",[13,1.954]],["name/16",[16,49.836]],["parent/16",[13,1.954]],["name/17",[17,49.836]],["parent/17",[13,1.954]],["name/18",[18,49.836]],["parent/18",[13,1.954]],["name/19",[19,49.836]],["parent/19",[13,1.954]],["name/20",[20,49.836]],["parent/20",[13,1.954]],["name/21",[21,49.836]],["parent/21",[13,1.954]],["name/22",[22,49.836]],["parent/22",[13,1.954]],["name/23",[23,49.836]],["parent/23",[13,1.954]],["name/24",[24,49.836]],["parent/24",[13,1.954]],["name/25",[25,49.836]],["parent/25",[13,1.954]],["name/26",[26,49.836]],["parent/26",[13,1.954]],["name/27",[27,49.836]],["parent/27",[13,1.954]],["name/28",[28,49.836]],["parent/28",[13,1.954]],["name/29",[29,49.836]],["parent/29",[13,1.954]],["name/30",[30,49.836]],["parent/30",[]],["name/31",[31,49.836]],["parent/31",[]],["name/32",[32,49.836]],["parent/32",[]],["name/33",[33,49.836]],["parent/33",[]],["name/34",[34,49.836]],["parent/34",[]],["name/35",[35,49.836]],["parent/35",[]],["name/36",[36,49.836]],["parent/36",[]],["name/37",[37,49.836]],["parent/37",[]],["name/38",[38,49.836]],["parent/38",[]],["name/39",[39,49.836]],["parent/39",[]],["name/40",[40,49.836]],["parent/40",[]],["name/41",[41,49.836]],["parent/41",[]],["name/42",[42,49.836]],["parent/42",[]],["name/43",[43,49.836]],["parent/43",[]],["name/44",[44,49.836]],["parent/44",[]],["name/45",[45,44.728]],["parent/45",[]],["name/46",[46,49.836]],["parent/46",[]],["name/47",[47,49.836]],["parent/47",[]],["name/48",[48,49.836]],["parent/48",[]],["name/49",[49,49.836]],["parent/49",[]],["name/50",[50,49.836]],["parent/50",[]],["name/51",[51,49.836]],["parent/51",[]],["name/52",[52,27.149]],["parent/52",[]],["name/53",[53,49.836]],["parent/53",[52,2.1]],["name/54",[54,49.836]],["parent/54",[52,2.1]],["name/55",[55,49.836]],["parent/55",[52,2.1]],["name/56",[56,49.836]],["parent/56",[52,2.1]],["name/57",[57,49.836]],["parent/57",[52,2.1]],["name/58",[58,44.728]],["parent/58",[52,2.1]],["name/59",[59,49.836]],["parent/59",[52,2.1]],["name/60",[60,49.836]],["parent/60",[52,2.1]],["name/61",[61,49.836]],["parent/61",[52,2.1]],["name/62",[62,44.728]],["parent/62",[52,2.1]],["name/63",[63,49.836]],["parent/63",[52,2.1]],["name/64",[64,49.836]],["parent/64",[52,2.1]],["name/65",[65,49.836]],["parent/65",[52,2.1]],["name/66",[66,18.195]],["parent/66",[]],["name/67",[67,49.836]],["parent/67",[66,1.407]],["name/68",[68,49.836]],["parent/68",[66,1.407]],["name/69",[69,44.728]],["parent/69",[66,1.407]],["name/70",[70,49.836]],["parent/70",[66,1.407]],["name/71",[58,44.728]],["parent/71",[66,1.407]],["name/72",[71,49.836]],["parent/72",[66,1.407]],["name/73",[72,49.836]],["parent/73",[66,1.407]],["name/74",[73,49.836]],["parent/74",[66,1.407]],["name/75",[74,49.836]],["parent/75",[66,1.407]],["name/76",[75,49.836]],["parent/76",[66,1.407]],["name/77",[76,49.836]],["parent/77",[66,1.407]],["name/78",[77,49.836]],["parent/78",[66,1.407]],["name/79",[78,49.836]],["parent/79",[66,1.407]],["name/80",[79,49.836]],["parent/80",[66,1.407]],["name/81",[80,49.836]],["parent/81",[66,1.407]],["name/82",[81,49.836]],["parent/82",[66,1.407]],["name/83",[82,44.728]],["parent/83",[66,1.407]],["name/84",[83,49.836]],["parent/84",[66,1.407]],["name/85",[84,49.836]],["parent/85",[66,1.407]],["name/86",[85,49.836]],["parent/86",[66,1.407]],["name/87",[86,44.728]],["parent/87",[66,1.407]],["name/88",[87,49.836]],["parent/88",[66,1.407]],["name/89",[88,49.836]],["parent/89",[66,1.407]],["name/90",[89,49.836]],["parent/90",[66,1.407]],["name/91",[90,49.836]],["parent/91",[66,1.407]],["name/92",[45,44.728]],["parent/92",[66,1.407]],["name/93",[91,49.836]],["parent/93",[66,1.407]],["name/94",[92,49.836]],["parent/94",[66,1.407]],["name/95",[62,44.728]],["parent/95",[66,1.407]],["name/96",[93,49.836]],["parent/96",[66,1.407]],["name/97",[94,49.836]],["parent/97",[66,1.407]],["name/98",[95,49.836]],["parent/98",[66,1.407]],["name/99",[96,49.836]],["parent/99",[66,1.407]],["name/100",[97,49.836]],["parent/100",[66,1.407]],["name/101",[98,44.728]],["parent/101",[]],["name/102",[99,44.728]],["parent/102",[]],["name/103",[100,44.728]],["parent/103",[]],["name/104",[101,44.728]],["parent/104",[]],["name/105",[102,44.728]],["parent/105",[]],["name/106",[103,44.728]],["parent/106",[]],["name/107",[104,44.728]],["parent/107",[]],["name/108",[105,44.728]],["parent/108",[]],["name/109",[106,49.836]],["parent/109",[]],["name/110",[107,49.836]],["parent/110",[]],["name/111",[108,49.836]],["parent/111",[]],["name/112",[109,49.836]],["parent/112",[]],["name/113",[110,44.728]],["parent/113",[]],["name/114",[111,44.728]],["parent/114",[]],["name/115",[112,44.728]],["parent/115",[]],["name/116",[113,44.728]],["parent/116",[]],["name/117",[114,49.836]],["parent/117",[]],["name/118",[115,49.836]],["parent/118",[]],["name/119",[116,49.836]],["parent/119",[]],["name/120",[117,49.836]],["parent/120",[]],["name/121",[118,49.836]],["parent/121",[]],["name/122",[119,49.836]],["parent/122",[]],["name/123",[120,49.836]],["parent/123",[]],["name/124",[121,49.836]],["parent/124",[]],["name/125",[122,49.836]],["parent/125",[]],["name/126",[123,49.836]],["parent/126",[]],["name/127",[124,49.836]],["parent/127",[]],["name/128",[125,49.836]],["parent/128",[]],["name/129",[126,49.836]],["parent/129",[]],["name/130",[127,49.836]],["parent/130",[]],["name/131",[128,49.836]],["parent/131",[]],["name/132",[129,49.836]],["parent/132",[]],["name/133",[130,49.836]],["parent/133",[]],["name/134",[131,49.836]],["parent/134",[]],["name/135",[132,49.836]],["parent/135",[]],["name/136",[133,49.836]],["parent/136",[]],["name/137",[134,49.836]],["parent/137",[]],["name/138",[135,49.836]],["parent/138",[]],["name/139",[136,49.836]],["parent/139",[]],["name/140",[137,49.836]],["parent/140",[]],["name/141",[138,49.836]],["parent/141",[]],["name/142",[139,49.836]],["parent/142",[]],["name/143",[140,49.836]],["parent/143",[]],["name/144",[141,49.836]],["parent/144",[]],["name/145",[142,49.836]],["parent/145",[]],["name/146",[143,49.836]],["parent/146",[]],["name/147",[82,44.728]],["parent/147",[]],["name/148",[144,49.836]],["parent/148",[]],["name/149",[145,49.836]],["parent/149",[]],["name/150",[146,49.836]],["parent/150",[]],["name/151",[147,41.363]],["parent/151",[]],["name/152",[148,49.836]],["parent/152",[147,3.199]],["name/153",[149,49.836]],["parent/153",[147,3.199]],["name/154",[150,38.85]],["parent/154",[]],["name/155",[69,44.728]],["parent/155",[150,3.004]],["name/156",[86,44.728]],["parent/156",[150,3.004]],["name/157",[151,49.836]],["parent/157",[150,3.004]],["name/158",[152,17.384]],["parent/158",[]],["name/159",[153,49.836]],["parent/159",[152,1.344]],["name/160",[154,49.836]],["parent/160",[152,1.344]],["name/161",[155,44.728]],["parent/161",[152,1.344]],["name/162",[156,49.836]],["parent/162",[152,1.344]],["name/163",[157,49.836]],["parent/163",[152,1.344]],["name/164",[158,49.836]],["parent/164",[152,1.344]],["name/165",[159,49.836]],["parent/165",[152,1.344]],["name/166",[160,49.836]],["parent/166",[152,1.344]],["name/167",[161,49.836]],["parent/167",[152,1.344]],["name/168",[162,49.836]],["parent/168",[152,1.344]],["name/169",[163,49.836]],["parent/169",[152,1.344]],["name/170",[164,49.836]],["parent/170",[152,1.344]],["name/171",[165,49.836]],["parent/171",[152,1.344]],["name/172",[166,49.836]],["parent/172",[152,1.344]],["name/173",[167,49.836]],["parent/173",[152,1.344]],["name/174",[168,49.836]],["parent/174",[152,1.344]],["name/175",[169,49.836]],["parent/175",[152,1.344]],["name/176",[170,49.836]],["parent/176",[152,1.344]],["name/177",[171,49.836]],["parent/177",[152,1.344]],["name/178",[172,49.836]],["parent/178",[152,1.344]],["name/179",[173,49.836]],["parent/179",[152,1.344]],["name/180",[174,49.836]],["parent/180",[152,1.344]],["name/181",[175,49.836]],["parent/181",[152,1.344]],["name/182",[176,49.836]],["parent/182",[152,1.344]],["name/183",[177,49.836]],["parent/183",[152,1.344]],["name/184",[178,49.836]],["parent/184",[152,1.344]],["name/185",[179,49.836]],["parent/185",[152,1.344]],["name/186",[180,49.836]],["parent/186",[152,1.344]],["name/187",[181,49.836]],["parent/187",[152,1.344]],["name/188",[182,49.836]],["parent/188",[152,1.344]],["name/189",[183,49.836]],["parent/189",[152,1.344]],["name/190",[184,49.836]],["parent/190",[152,1.344]],["name/191",[185,49.836]],["parent/191",[152,1.344]],["name/192",[186,49.836]],["parent/192",[152,1.344]],["name/193",[187,49.836]],["parent/193",[152,1.344]],["name/194",[188,49.836]],["parent/194",[152,1.344]],["name/195",[189,49.836]],["parent/195",[152,1.344]],["name/196",[190,36.843]],["parent/196",[]],["name/197",[110,44.728]],["parent/197",[190,2.849]],["name/198",[111,44.728]],["parent/198",[190,2.849]],["name/199",[112,44.728]],["parent/199",[190,2.849]],["name/200",[113,44.728]],["parent/200",[190,2.849]],["name/201",[191,31.378]],["parent/201",[]],["name/202",[98,44.728]],["parent/202",[191,2.427]],["name/203",[99,44.728]],["parent/203",[191,2.427]],["name/204",[100,44.728]],["parent/204",[191,2.427]],["name/205",[101,44.728]],["parent/205",[191,2.427]],["name/206",[102,44.728]],["parent/206",[191,2.427]],["name/207",[103,44.728]],["parent/207",[191,2.427]],["name/208",[104,44.728]],["parent/208",[191,2.427]],["name/209",[105,44.728]],["parent/209",[191,2.427]],["name/210",[192,44.728]],["parent/210",[]],["name/211",[155,44.728]],["parent/211",[192,3.459]],["name/212",[193,49.836]],["parent/212",[]],["name/213",[194,49.836]],["parent/213",[]],["name/214",[195,49.836]],["parent/214",[]],["name/215",[196,49.836]],["parent/215",[]],["name/216",[197,49.836]],["parent/216",[]],["name/217",[198,49.836]],["parent/217",[]]],"invertedIndex":[["_data",{"_index":68,"name":{"68":{}},"parent":{}}],["_header",{"_index":67,"name":{"67":{}},"parent":{}}],["_shortid",{"_index":57,"name":{"57":{}},"parent":{}}],["accelerometer",{"_index":157,"name":{"163":{}},"parent":{}}],["align",{"_index":144,"name":{"148":{}},"parent":{}}],["arcade_controls",{"_index":184,"name":{"190":{}},"parent":{}}],["assert",{"_index":49,"name":{"49":{}},"parent":{}}],["available",{"_index":3,"name":{"3":{}},"parent":{}}],["battery",{"_index":156,"name":{"162":{}},"parent":{}}],["bootloader",{"_index":183,"name":{"189":{}},"parent":{}}],["bufferconcat",{"_index":47,"name":{"47":{}},"parent":{}}],["buffereq",{"_index":32,"name":{"32":{}},"parent":{}}],["buffertostring",{"_index":46,"name":{"46":{}},"parent":{}}],["button",{"_index":158,"name":{"164":{}},"parent":{}}],["clone",{"_index":51,"name":{"51":{}},"parent":{}}],["cmd_advertisement_data",{"_index":110,"name":{"113":{},"197":{}},"parent":{}}],["cmd_calibrate",{"_index":112,"name":{"115":{},"199":{}},"parent":{}}],["cmd_ctrl_identify",{"_index":115,"name":{"118":{}},"parent":{}}],["cmd_ctrl_noop",{"_index":114,"name":{"117":{}},"parent":{}}],["cmd_ctrl_reset",{"_index":116,"name":{"119":{}},"parent":{}}],["cmd_event",{"_index":111,"name":{"114":{},"198":{}},"parent":{}}],["cmd_get_description",{"_index":113,"name":{"116":{},"200":{}},"parent":{}}],["cmd_get_reg",{"_index":106,"name":{"109":{}},"parent":{}}],["cmd_reg_mask",{"_index":109,"name":{"112":{}},"parent":{}}],["cmd_set_reg",{"_index":107,"name":{"110":{}},"parent":{}}],["cmd_top_mask",{"_index":108,"name":{"111":{}},"parent":{}}],["color_sensor",{"_index":175,"name":{"181":{}},"parent":{}}],["commandname",{"_index":195,"name":{"214":{}},"parent":{}}],["compress",{"_index":89,"name":{"90":{}},"parent":{}}],["constructor",{"_index":58,"name":{"58":{},"71":{}},"parent":{}}],["controller",{"_index":172,"name":{"178":{}},"parent":{}}],["crc",{"_index":82,"name":{"83":{},"147":{}},"parent":{}}],["ctrl",{"_index":154,"name":{"160":{}},"parent":{}}],["currentreading",{"_index":56,"name":{"56":{}},"parent":{}}],["data",{"_index":86,"name":{"87":{},"156":{}},"parent":{}}],["decodeu32le",{"_index":44,"name":{"44":{}},"parent":{}}],["delay",{"_index":30,"name":{"30":{}},"parent":{}}],["dev",{"_index":70,"name":{"70":{}},"parent":{}}],["device",{"_index":52,"name":{"52":{}},"parent":{"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{}}}],["device_identifier",{"_index":75,"name":{"76":{}},"parent":{}}],["deviceid",{"_index":59,"name":{"59":{}},"parent":{}}],["devicenames",{"_index":139,"name":{"142":{}},"parent":{}}],["devices_",{"_index":138,"name":{"141":{}},"parent":{}}],["disabled",{"_index":153,"name":{"159":{}},"parent":{}}],["dns",{"_index":181,"name":{"187":{}},"parent":{}}],["drain",{"_index":4,"name":{"4":{}},"parent":{}}],["encodeu32le",{"_index":43,"name":{"43":{}},"parent":{}}],["enqueue",{"_index":10,"name":{"10":{}},"parent":{}}],["error",{"_index":131,"name":{"134":{}},"parent":{}}],["flatclone",{"_index":50,"name":{"50":{}},"parent":{}}],["float32be",{"_index":28,"name":{"28":{}},"parent":{}}],["float32le",{"_index":26,"name":{"26":{}},"parent":{}}],["float64be",{"_index":29,"name":{"29":{}},"parent":{}}],["float64le",{"_index":27,"name":{"27":{}},"parent":{}}],["fnv1",{"_index":135,"name":{"138":{}},"parent":{}}],["frame_flags",{"_index":76,"name":{"77":{}},"parent":{}}],["frametopackets",{"_index":145,"name":{"149":{}},"parent":{}}],["from",{"_index":72,"name":{"73":{}},"parent":{}}],["frombinary",{"_index":71,"name":{"72":{}},"parent":{}}],["fromframe",{"_index":97,"name":{"100":{}},"parent":{}}],["fromhex",{"_index":38,"name":{"38":{}},"parent":{}}],["fromutf8",{"_index":35,"name":{"35":{}},"parent":{}}],["gamepad",{"_index":169,"name":{"175":{}},"parent":{}}],["generic_commands",{"_index":190,"name":{"196":{}},"parent":{"197":{},"198":{},"199":{},"200":{}}}],["generic_regs",{"_index":191,"name":{"201":{}},"parent":{"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{}}}],["getdevice",{"_index":143,"name":{"146":{}},"parent":{}}],["getdevices",{"_index":142,"name":{"145":{}},"parent":{}}],["getnumber",{"_index":45,"name":{"45":{},"92":{}},"parent":{}}],["haptic",{"_index":165,"name":{"171":{}},"parent":{}}],["hash",{"_index":136,"name":{"139":{}},"parent":{}}],["hasservice",{"_index":63,"name":{"63":{}},"parent":{}}],["idiv",{"_index":134,"name":{"137":{}},"parent":{}}],["info",{"_index":151,"name":{"157":{}},"parent":{}}],["int16be",{"_index":21,"name":{"21":{}},"parent":{}}],["int16le",{"_index":16,"name":{"16":{}},"parent":{}}],["int32be",{"_index":23,"name":{"23":{}},"parent":{}}],["int32le",{"_index":18,"name":{"18":{}},"parent":{}}],["int8be",{"_index":19,"name":{"19":{}},"parent":{}}],["int8le",{"_index":14,"name":{"14":{}},"parent":{}}],["intdata",{"_index":88,"name":{"89":{}},"parent":{}}],["is_command",{"_index":91,"name":{"93":{}},"parent":{}}],["is_reg_get",{"_index":85,"name":{"86":{}},"parent":{}}],["is_reg_set",{"_index":84,"name":{"85":{}},"parent":{}}],["is_report",{"_index":92,"name":{"94":{}},"parent":{}}],["jd_frame_flag_ack_requested",{"_index":129,"name":{"132":{}},"parent":{}}],["jd_frame_flag_command",{"_index":128,"name":{"131":{}},"parent":{}}],["jd_frame_flag_identifier_is_service_class",{"_index":130,"name":{"133":{}},"parent":{}}],["jd_serial_header_size",{"_index":121,"name":{"124":{}},"parent":{}}],["jd_serial_max_payload_size",{"_index":122,"name":{"125":{}},"parent":{}}],["jd_service_number_crc_ack",{"_index":125,"name":{"128":{}},"parent":{}}],["jd_service_number_ctrl",{"_index":127,"name":{"130":{}},"parent":{}}],["jd_service_number_inv_mask",{"_index":124,"name":{"127":{}},"parent":{}}],["jd_service_number_mask",{"_index":123,"name":{"126":{}},"parent":{}}],["jd_service_number_stream",{"_index":126,"name":{"129":{}},"parent":{}}],["jsoncopyfrom",{"_index":48,"name":{"48":{}},"parent":{}}],["keyboard",{"_index":167,"name":{"173":{}},"parent":{}}],["lastseen",{"_index":54,"name":{"54":{}},"parent":{}}],["lastserviceupdate",{"_index":55,"name":{"55":{}},"parent":{}}],["lcd",{"_index":173,"name":{"179":{}},"parent":{}}],["length",{"_index":12,"name":{"12":{}},"parent":{}}],["light",{"_index":166,"name":{"172":{}},"parent":{}}],["light_sensor",{"_index":160,"name":{"166":{}},"parent":{}}],["light_spectrum_sensor",{"_index":176,"name":{"182":{}},"parent":{}}],["log",{"_index":132,"name":{"135":{}},"parent":{}}],["logger",{"_index":155,"name":{"161":{},"211":{}},"parent":{}}],["memcpy",{"_index":31,"name":{"31":{}},"parent":{}}],["message_bus",{"_index":174,"name":{"180":{}},"parent":{}}],["microphone",{"_index":161,"name":{"167":{}},"parent":{}}],["motor",{"_index":187,"name":{"193":{}},"parent":{}}],["mouse",{"_index":168,"name":{"174":{}},"parent":{}}],["multicommand_class",{"_index":77,"name":{"78":{}},"parent":{}}],["music",{"_index":170,"name":{"176":{}},"parent":{}}],["mutablearraylike",{"_index":11,"name":{"11":{}},"parent":{"12":{}}}],["name",{"_index":60,"name":{"60":{}},"parent":{}}],["num2str",{"_index":196,"name":{"215":{}},"parent":{}}],["numberformat",{"_index":13,"name":{"13":{}},"parent":{"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{}}}],["onlyheader",{"_index":73,"name":{"74":{}},"parent":{}}],["options",{"_index":147,"name":{"151":{}},"parent":{"152":{},"153":{}}}],["packet",{"_index":66,"name":{"66":{}},"parent":{"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{}}}],["parsedframe",{"_index":150,"name":{"154":{}},"parent":{"155":{},"156":{},"157":{}}}],["parselog",{"_index":198,"name":{"217":{}},"parent":{}}],["pixel",{"_index":164,"name":{"170":{}},"parent":{}}],["power",{"_index":185,"name":{"191":{}},"parent":{}}],["printpkt",{"_index":197,"name":{"216":{}},"parent":{}}],["process",{"_index":146,"name":{"150":{}},"parent":{}}],["promisebuffer",{"_index":1,"name":{"1":{}},"parent":{"2":{},"3":{},"4":{},"5":{},"6":{},"7":{}}}],["promisequeue",{"_index":8,"name":{"8":{}},"parent":{"9":{},"10":{}}}],["promises",{"_index":9,"name":{"9":{}},"parent":{}}],["proximity",{"_index":177,"name":{"183":{}},"parent":{}}],["push",{"_index":6,"name":{"6":{}},"parent":{}}],["pusherror",{"_index":5,"name":{"5":{}},"parent":{}}],["pwm_light",{"_index":182,"name":{"188":{}},"parent":{}}],["read16",{"_index":42,"name":{"42":{}},"parent":{}}],["read32",{"_index":41,"name":{"41":{}},"parent":{}}],["reg_high_threshold",{"_index":103,"name":{"106":{},"207":{}},"parent":{}}],["reg_intensity",{"_index":98,"name":{"101":{},"202":{}},"parent":{}}],["reg_is_streaming",{"_index":100,"name":{"103":{},"204":{}},"parent":{}}],["reg_low_threshold",{"_index":102,"name":{"105":{},"206":{}},"parent":{}}],["reg_max_power",{"_index":104,"name":{"107":{},"208":{}},"parent":{}}],["reg_reading",{"_index":105,"name":{"108":{},"209":{}},"parent":{}}],["reg_streaming_interval",{"_index":101,"name":{"104":{},"205":{}},"parent":{}}],["reg_value",{"_index":99,"name":{"102":{},"203":{}},"parent":{}}],["requires_ack",{"_index":79,"name":{"80":{}},"parent":{}}],["reverselookup",{"_index":193,"name":{"212":{}},"parent":{}}],["rotary_encoder",{"_index":180,"name":{"186":{}},"parent":{}}],["sendasmulticommandasync",{"_index":96,"name":{"99":{}},"parent":{}}],["sendcmdasync",{"_index":95,"name":{"98":{}},"parent":{}}],["sendcoreasync",{"_index":93,"name":{"96":{}},"parent":{}}],["sendctrlcommand",{"_index":65,"name":{"65":{}},"parent":{}}],["sendpacketfn",{"_index":140,"name":{"143":{}},"parent":{}}],["sendreportasync",{"_index":94,"name":{"97":{}},"parent":{}}],["serv_decoders",{"_index":192,"name":{"210":{}},"parent":{"211":{}}}],["service_class",{"_index":81,"name":{"82":{}},"parent":{}}],["service_classes",{"_index":152,"name":{"158":{}},"parent":{"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{},"167":{},"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{},"193":{},"194":{},"195":{}}}],["service_command",{"_index":83,"name":{"84":{}},"parent":{}}],["service_number",{"_index":80,"name":{"81":{}},"parent":{}}],["serviceat",{"_index":64,"name":{"64":{}},"parent":{}}],["servicename",{"_index":194,"name":{"213":{}},"parent":{}}],["services",{"_index":53,"name":{"53":{}},"parent":{}}],["servo",{"_index":171,"name":{"177":{}},"parent":{}}],["servos",{"_index":179,"name":{"185":{}},"parent":{}}],["setsendpacketfn",{"_index":141,"name":{"144":{}},"parent":{}}],["shiftasync",{"_index":7,"name":{"7":{}},"parent":{}}],["shortdeviceid",{"_index":137,"name":{"140":{}},"parent":{}}],["shortid",{"_index":61,"name":{"61":{}},"parent":{}}],["size",{"_index":78,"name":{"79":{}},"parent":{}}],["skiprepeatedannounce",{"_index":148,"name":{"152":{}},"parent":{}}],["skiprepeatedreading",{"_index":149,"name":{"153":{}},"parent":{}}],["slider",{"_index":186,"name":{"192":{}},"parent":{}}],["smap",{"_index":0,"name":{"0":{}},"parent":{}}],["stream_close_mask",{"_index":119,"name":{"122":{}},"parent":{}}],["stream_counter_mask",{"_index":118,"name":{"121":{}},"parent":{}}],["stream_metadata_mask",{"_index":120,"name":{"123":{}},"parent":{}}],["stream_port_shift",{"_index":117,"name":{"120":{}},"parent":{}}],["stringtouint8array",{"_index":33,"name":{"33":{}},"parent":{}}],["switch",{"_index":163,"name":{"169":{}},"parent":{}}],["tcp",{"_index":188,"name":{"194":{}},"parent":{}}],["thermometer",{"_index":162,"name":{"168":{}},"parent":{}}],["timestamp",{"_index":69,"name":{"69":{},"155":{}},"parent":{}}],["tobuffer",{"_index":74,"name":{"75":{}},"parent":{}}],["tohex",{"_index":37,"name":{"37":{}},"parent":{}}],["tostring",{"_index":62,"name":{"62":{},"95":{}},"parent":{}}],["touch_buttons",{"_index":178,"name":{"184":{}},"parent":{}}],["touchbutton",{"_index":159,"name":{"165":{}},"parent":{}}],["toutf8",{"_index":36,"name":{"36":{}},"parent":{}}],["uint16be",{"_index":22,"name":{"22":{}},"parent":{}}],["uint16le",{"_index":17,"name":{"17":{}},"parent":{}}],["uint32be",{"_index":25,"name":{"25":{}},"parent":{}}],["uint32le",{"_index":24,"name":{"24":{}},"parent":{}}],["uint8arraytostring",{"_index":34,"name":{"34":{}},"parent":{}}],["uint8be",{"_index":20,"name":{"20":{}},"parent":{}}],["uint8le",{"_index":15,"name":{"15":{}},"parent":{}}],["uintdata",{"_index":87,"name":{"88":{}},"parent":{}}],["waiting",{"_index":2,"name":{"2":{}},"parent":{}}],["warn",{"_index":133,"name":{"136":{}},"parent":{}}],["wifi",{"_index":189,"name":{"195":{}},"parent":{}}],["withframestripped",{"_index":90,"name":{"91":{}},"parent":{}}],["write16",{"_index":40,"name":{"40":{}},"parent":{}}],["write32",{"_index":39,"name":{"39":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/classes/device.html b/docs/classes/device.html new file mode 100644 index 000000000..953b10d17 --- /dev/null +++ b/docs/classes/device.html @@ -0,0 +1,3070 @@ + + + + + + Device | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Hierarchy

+
    +
  • + Device +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Accessors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new Device(deviceId: string): Device
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      deviceId: string
      +
    • +
    +

    Returns Device

    +
  • +
+
+
+
+

Properties

+
+ +

Private _shortId

+
_shortId: string
+ +
+
+ +

currentReading

+
currentReading: Uint8Array
+ +
+
+ +

deviceId

+
deviceId: string
+ +
+
+ +

lastSeen

+
lastSeen: number
+ +
+
+ +

lastServiceUpdate

+
lastServiceUpdate: number
+ +
+
+ +

services

+
services: Uint8Array
+ +
+
+
+

Accessors

+
+ +

name

+
    +
  • get name(): string
  • +
+
    +
  • + +

    Returns string

    +
  • +
+
+
+ +

shortId

+
    +
  • get shortId(): string
  • +
+
    +
  • + +

    Returns string

    +
  • +
+
+
+
+

Methods

+
+ +

hasService

+
    +
  • hasService(service_class: number): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      service_class: number
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

sendCtrlCommand

+
    +
  • sendCtrlCommand(cmd: number, payload?: Buffer): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      cmd: number
      +
    • +
    • +
      Default value payload: Buffer = null
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

serviceAt

+
    +
  • serviceAt(idx: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      idx: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +

    Returns string

    +
  • +
+
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/packet.html b/docs/classes/packet.html new file mode 100644 index 000000000..1c3982d7e --- /dev/null +++ b/docs/classes/packet.html @@ -0,0 +1,3636 @@ + + + + + + Packet | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Hierarchy

+
    +
  • + Packet +
  • +
+
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

Private constructor

+ + +
+
+
+

Properties

+
+ +

_data

+
_data: Uint8Array
+ +
+
+ +

_header

+
_header: Uint8Array
+ +
+
+ +

dev

+
dev: Device
+ +
+
+ +

timestamp

+
timestamp: number
+ +
+
+
+

Accessors

+
+ +

crc

+
    +
  • get crc(): number
  • +
+
    +
  • + +

    Returns number

    +
  • +
+
+
+ +

data

+
    +
  • get data(): Uint8Array
  • +
  • set data(buf: Uint8Array): void
  • +
+
    +
  • + +

    Returns Uint8Array

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

device_identifier

+
    +
  • get device_identifier(): string
  • +
  • set device_identifier(id: string): void
  • +
+
    +
  • + +

    Returns string

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      id: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

frame_flags

+
    +
  • get frame_flags(): number
  • +
+
    +
  • + +

    Returns number

    +
  • +
+
+
+ +

intData

+
    +
  • get intData(): number
  • +
+
    +
  • + +

    Returns number

    +
  • +
+
+
+ +

is_command

+
    +
  • get is_command(): boolean
  • +
+
    +
  • + +

    Returns boolean

    +
  • +
+
+
+ +

is_reg_get

+
    +
  • get is_reg_get(): boolean
  • +
+
    +
  • + +

    Returns boolean

    +
  • +
+
+
+ +

is_reg_set

+
    +
  • get is_reg_set(): boolean
  • +
+
    +
  • + +

    Returns boolean

    +
  • +
+
+
+ +

is_report

+
    +
  • get is_report(): boolean
  • +
+
    +
  • + +

    Returns boolean

    +
  • +
+
+
+ +

multicommand_class

+
    +
  • get multicommand_class(): number
  • +
+
    +
  • + +

    Returns number

    +
  • +
+
+
+ +

requires_ack

+
    +
  • get requires_ack(): boolean
  • +
  • set requires_ack(ack: boolean): void
  • +
+
    +
  • + +

    Returns boolean

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      ack: boolean
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

service_class

+
    +
  • get service_class(): number
  • +
+
    +
  • + +

    Returns number

    +
  • +
+
+
+ +

service_command

+
    +
  • get service_command(): number
  • +
  • set service_command(cmd: number): void
  • +
+
    +
  • + +

    Returns number

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      cmd: number
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

service_number

+
    +
  • get service_number(): number
  • +
  • set service_number(service_number: number): void
  • +
+
    +
  • + +

    Returns number

    +
  • +
  • + +

    Parameters

    +
      +
    • +
      service_number: number
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

size

+
    +
  • get size(): number
  • +
+
    +
  • + +

    Returns number

    +
  • +
+
+
+ +

uintData

+
    +
  • get uintData(): number
  • +
+
    +
  • + +

    Returns number

    +
  • +
+
+
+
+

Methods

+
+ +

compress

+
    +
  • compress(stripped: Uint8Array[]): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      stripped: Uint8Array[]
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

getNumber

+ +
    +
  • + +

    Parameters

    + +

    Returns number

    +
  • +
+
+
+ +

sendAsMultiCommandAsync

+
    +
  • sendAsMultiCommandAsync(service_class: number): Promise<any>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      service_class: number
      +
    • +
    +

    Returns Promise<any>

    +
  • +
+
+
+ +

sendCmdAsync

+
    +
  • sendCmdAsync(dev: Device): Promise<any>
  • +
+
    +
  • + +

    Parameters

    + +

    Returns Promise<any>

    +
  • +
+
+
+ +

sendCoreAsync

+
    +
  • sendCoreAsync(): Promise<any>
  • +
+
    +
  • + +

    Returns Promise<any>

    +
  • +
+
+
+ +

sendReportAsync

+
    +
  • sendReportAsync(dev: Device): Promise<any>
  • +
+
    +
  • + +

    Parameters

    + +

    Returns Promise<any>

    +
  • +
+
+
+ +

toBuffer

+
    +
  • toBuffer(): Uint8Array
  • +
+
    +
  • + +

    Returns Uint8Array

    +
  • +
+
+
+ +

toString

+
    +
  • toString(): string
  • +
+
    +
  • + +

    Returns string

    +
  • +
+
+
+ +

withFrameStripped

+
    +
  • withFrameStripped(): Uint8Array
  • +
+
    +
  • + +

    Returns Uint8Array

    +
  • +
+
+
+ +

Static from

+
    +
  • from(service_command: number, data: Uint8Array): Packet
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      service_command: number
      +
    • +
    • +
      data: Uint8Array
      +
    • +
    +

    Returns Packet

    +
  • +
+
+
+ +

Static fromBinary

+
    +
  • fromBinary(buf: Uint8Array): Packet
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    +

    Returns Packet

    +
  • +
+
+
+ +

Static fromFrame

+
    +
  • fromFrame(frame: Uint8Array, timestamp: number): Packet[]
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      frame: Uint8Array
      +
    • +
    • +
      timestamp: number
      +
    • +
    +

    Returns Packet[]

    +
  • +
+
+
+ +

Static onlyHeader

+
    +
  • onlyHeader(service_command: number): Packet
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      service_command: number
      +
    • +
    +

    Returns Packet

    +
  • +
+
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/promisebuffer.html b/docs/classes/promisebuffer.html new file mode 100644 index 000000000..c3e15c777 --- /dev/null +++ b/docs/classes/promisebuffer.html @@ -0,0 +1,2934 @@ + + + + + + PromiseBuffer | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + PromiseBuffer +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Private available

+
available: (T | Error)[] = []
+ +
+
+ +

Private waiting

+
waiting: ((v: T | Error) => void)[] = []
+ +
+
+
+

Methods

+
+ +

drain

+
    +
  • drain(): void
  • +
+ +
+
+ +

push

+
    +
  • push(v: T): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      v: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

pushError

+
    +
  • pushError(v: Error): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      v: Error
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

shiftAsync

+
    +
  • shiftAsync(timeout?: number): Promise<T>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      Default value timeout: number = 0
      +
    • +
    +

    Returns Promise<T>

    +
  • +
+
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/classes/promisequeue.html b/docs/classes/promisequeue.html new file mode 100644 index 000000000..defceb025 --- /dev/null +++ b/docs/classes/promisequeue.html @@ -0,0 +1,2858 @@ + + + + + + PromiseQueue | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Hierarchy

+
    +
  • + PromiseQueue +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

promises

+
promises: SMap<(() => Promise<any>)[]>
+ +
+
+
+

Methods

+
+ +

enqueue

+
    +
  • enqueue<T>(id: string, f: () => Promise<T>): Promise<T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      id: string
      +
    • +
    • +
      f: () => Promise<T>
      +
        +
      • +
          +
        • (): Promise<T>
        • +
        +
          +
        • +

          Returns Promise<T>

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<T>

    +
  • +
+
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/enums/numberformat.html b/docs/enums/numberformat.html new file mode 100644 index 000000000..503807699 --- /dev/null +++ b/docs/enums/numberformat.html @@ -0,0 +1,3004 @@ + + + + + + NumberFormat | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Index

+
+ +
+
+
+

Enumeration members

+
+ +

Float32BE

+
Float32BE: = 15
+ +
+
+ +

Float32LE

+
Float32LE: = 13
+ +
+
+ +

Float64BE

+
Float64BE: = 16
+ +
+
+ +

Float64LE

+
Float64LE: = 14
+ +
+
+ +

Int16BE

+
Int16BE: = 8
+ +
+
+ +

Int16LE

+
Int16LE: = 3
+ +
+
+ +

Int32BE

+
Int32BE: = 10
+ +
+
+ +

Int32LE

+
Int32LE: = 5
+ +
+
+ +

Int8BE

+
Int8BE: = 6
+ +
+
+ +

Int8LE

+
Int8LE: = 1
+ +
+
+ +

UInt16BE

+
UInt16BE: = 9
+ +
+
+ +

UInt16LE

+
UInt16LE: = 4
+ +
+
+ +

UInt32BE

+
UInt32BE: = 12
+ +
+
+ +

UInt32LE

+
UInt32LE: = 11
+ +
+
+ +

UInt8BE

+
UInt8BE: = 7
+ +
+
+ +

UInt8LE

+
UInt8LE: = 2
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/globals.html b/docs/globals.html new file mode 100644 index 000000000..ba37c5d98 --- /dev/null +++ b/docs/globals.html @@ -0,0 +1,5222 @@ + + + + + + jacdac-ts | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+ +

JACDAC TypeScript

+
+ +

Features

+
+ + +

Importing library

+
+

You can import the generated bundle to use the whole library generated by this starter:

+
import myLib from 'mylib'
+

Additionally, you can import the transpiled modules from dist/lib in case you have a modular library:

+
import something from 'mylib/dist/lib/something'
+ +

NPM scripts

+
+
    +
  • npm t: Run test suite
  • +
  • npm start: Run npm run build in watch mode
  • +
  • npm run test:watch: Run test suite in interactive watch mode
  • +
  • npm run test:prod: Run linting and generate coverage
  • +
  • npm run build: Generate bundles and typings, create docs
  • +
  • npm run lint: Lints code
  • +
  • npm run commit: Commit using conventional commit style (husky will tell you to use it if you haven't :wink:)
  • +
+ +

Contributing

+
+

This project welcomes contributions and suggestions. Most contributions require you to agree to a + Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us + the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

+

When you submit a pull request, a CLA bot will automatically determine whether you need to provide + a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions + provided by the bot. You will only need to do this once across all repos using our CLA.

+

This project has adopted the Microsoft Open Source Code of Conduct. + For more information see the Code of Conduct FAQ or + contact opencode@microsoft.com with any additional questions or comments.

+
+
+

Index

+
+
+
+

Enumerations

+ +
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+

Variables

+ +
+
+

Functions

+ +
+
+

Object literals

+ +
+
+
+
+
+

Variables

+
+ +

Const CMD_ADVERTISEMENT_DATA

+
CMD_ADVERTISEMENT_DATA: 0 = 0
+ +
+
+ +

Const CMD_CALIBRATE

+
CMD_CALIBRATE: 2 = 2
+ +
+
+ +

Const CMD_CTRL_IDENTIFY

+
CMD_CTRL_IDENTIFY: 129 = 129
+ +
+
+ +

Const CMD_CTRL_NOOP

+
CMD_CTRL_NOOP: 128 = 128
+ +
+
+ +

Const CMD_CTRL_RESET

+
CMD_CTRL_RESET: 130 = 130
+ +
+
+ +

Const CMD_EVENT

+
CMD_EVENT: 1 = 1
+ +
+
+ +

Const CMD_GET_DESCRIPTION

+
CMD_GET_DESCRIPTION: 3 = 3
+ +
+
+ +

Const CMD_GET_REG

+
CMD_GET_REG: 4096 = 4096
+ +
+
+ +

Const CMD_REG_MASK

+
CMD_REG_MASK: 4095 = 4095
+ +
+
+ +

Const CMD_SET_REG

+
CMD_SET_REG: 8192 = 8192
+ +
+
+ +

Const CMD_TOP_MASK

+
CMD_TOP_MASK: 61440 = 61440
+ +
+
+ +

Const JD_FRAME_FLAG_ACK_REQUESTED

+
JD_FRAME_FLAG_ACK_REQUESTED: 2 = 2
+ +
+
+ +

Const JD_FRAME_FLAG_COMMAND

+
JD_FRAME_FLAG_COMMAND: 1 = 1
+ +
+
+ +

Const JD_FRAME_FLAG_IDENTIFIER_IS_SERVICE_CLASS

+
JD_FRAME_FLAG_IDENTIFIER_IS_SERVICE_CLASS: 4 = 4
+ +
+
+ +

Const JD_SERIAL_HEADER_SIZE

+
JD_SERIAL_HEADER_SIZE: 16 = 16
+ +
+
+ +

Const JD_SERIAL_MAX_PAYLOAD_SIZE

+
JD_SERIAL_MAX_PAYLOAD_SIZE: 236 = 236
+ +
+
+ +

Const JD_SERVICE_NUMBER_CRC_ACK

+
JD_SERVICE_NUMBER_CRC_ACK: 63 = 63
+ +
+
+ +

Const JD_SERVICE_NUMBER_CTRL

+
JD_SERVICE_NUMBER_CTRL: 0 = 0
+ +
+
+ +

Const JD_SERVICE_NUMBER_INV_MASK

+
JD_SERVICE_NUMBER_INV_MASK: 192 = 192
+ +
+
+ +

Const JD_SERVICE_NUMBER_MASK

+
JD_SERVICE_NUMBER_MASK: 63 = 63
+ +
+
+ +

Const JD_SERVICE_NUMBER_STREAM

+
JD_SERVICE_NUMBER_STREAM: 62 = 62
+ +
+
+ +

Const REG_HIGH_THRESHOLD

+
REG_HIGH_THRESHOLD: 6 = 6
+ +
+
+ +

Const REG_INTENSITY

+
REG_INTENSITY: 1 = 1
+ +
+
+ +

Const REG_IS_STREAMING

+
REG_IS_STREAMING: 3 = 3
+ +
+
+ +

Const REG_LOW_THRESHOLD

+
REG_LOW_THRESHOLD: 5 = 5
+ +
+
+ +

Const REG_MAX_POWER

+
REG_MAX_POWER: 7 = 7
+ +
+
+ +

Const REG_READING

+
REG_READING: 257 = 257
+ +
+
+ +

Const REG_STREAMING_INTERVAL

+
REG_STREAMING_INTERVAL: 4 = 4
+ +
+
+ +

Const REG_VALUE

+
REG_VALUE: 2 = 2
+ +
+
+ +

Const STREAM_CLOSE_MASK

+
STREAM_CLOSE_MASK: 32 = 32
+ +
+
+ +

Const STREAM_COUNTER_MASK

+
STREAM_COUNTER_MASK: 31 = 31
+ +
+
+ +

Const STREAM_METADATA_MASK

+
STREAM_METADATA_MASK: 64 = 64
+ +
+
+ +

Const STREAM_PORT_SHIFT

+
STREAM_PORT_SHIFT: 7 = 7
+ +
+
+ +

Const deviceNames

+
deviceNames: SMap<string>
+ +
+
+ +

Const devices_

+
devices_: Device[] = []
+ +
+
+
+

Functions

+
+ +

ALIGN

+
    +
  • ALIGN(n: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

assert

+
    +
  • assert(cond: boolean, msg?: string): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      cond: boolean
      +
    • +
    • +
      Default value msg: string = "Assertion failed"
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

bufferConcat

+
    +
  • bufferConcat(a: Uint8Array, b: Uint8Array): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      a: Uint8Array
      +
    • +
    • +
      b: Uint8Array
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

bufferEq

+
    +
  • bufferEq(a: Uint8Array, b: ArrayLike<number>): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      a: Uint8Array
      +
    • +
    • +
      b: ArrayLike<number>
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

bufferToString

+
    +
  • bufferToString(buf: Uint8Array): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

clone

+
    +
  • clone<T>(v: T): T
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      v: T
      +
    • +
    +

    Returns T

    +
  • +
+
+
+ +

commandName

+
    +
  • commandName(n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

crc

+
    +
  • crc(p: Uint8Array): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      p: Uint8Array
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

decodeU32LE

+
    +
  • decodeU32LE(buf: Uint8Array): number[]
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    +

    Returns number[]

    +
  • +
+
+
+ +

delay

+
    +
  • delay<T>(millis: number, value?: T): Promise<T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      millis: number
      +
    • +
    • +
      Optional value: T
      +
    • +
    +

    Returns Promise<T>

    +
  • +
+
+
+ +

encodeU32LE

+
    +
  • encodeU32LE(words: number[]): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      words: number[]
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

error

+
    +
  • error(msg: string): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      msg: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

flatClone

+
    +
  • flatClone<T>(obj: T): T
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T: Object

      +
    • +
    +

    Parameters

    +
      +
    • +
      obj: T
      +
    • +
    +

    Returns T

    +
  • +
+
+
+ +

fnv1

+
    +
  • fnv1(data: Uint8Array): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      data: Uint8Array
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

frameToPackets

+
    +
  • frameToPackets(frame: Uint8Array, timestamp: number): Packet[]
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      frame: Uint8Array
      +
    • +
    • +
      timestamp: number
      +
    • +
    +

    Returns Packet[]

    +
  • +
+
+
+ +

fromHex

+
    +
  • fromHex(hex: string): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      hex: string
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

fromUTF8

+
    +
  • fromUTF8(binstr: string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      binstr: string
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

getDevice

+
    +
  • getDevice(id: string): Device
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      id: string
      +
    • +
    +

    Returns Device

    +
  • +
+
+
+ +

getDevices

+ + +
+
+ +

getNumber

+
    +
  • getNumber(buf: ArrayLike<number>, fmt: NumberFormat, offset: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: ArrayLike<number>
      +
    • +
    • +
      fmt: NumberFormat
      +
    • +
    • +
      offset: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

hash

+
    +
  • hash(buf: Uint8Array, bits: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    • +
      bits: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

idiv

+
    +
  • idiv(a: number, b: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      a: number
      +
    • +
    • +
      b: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

jsonCopyFrom

+
    +
  • jsonCopyFrom<T>(trg: T, src: T): void
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      trg: T
      +
    • +
    • +
      src: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

log

+
    +
  • log(msg: string, v?: any): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      msg: string
      +
    • +
    • +
      Optional v: any
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

memcpy

+
    +
  • memcpy(trg: Uint8Array, trgOff: number, src: ArrayLike<number>, srcOff?: number, len?: number): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      trg: Uint8Array
      +
    • +
    • +
      trgOff: number
      +
    • +
    • +
      src: ArrayLike<number>
      +
    • +
    • +
      Optional srcOff: number
      +
    • +
    • +
      Optional len: number
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

num2str

+
    +
  • num2str(n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

parseLog

+ + +
+
+ +

printPkt

+ + +
+
+ +

process

+
    +
  • process(pkt: Packet): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

read16

+
    +
  • read16(buf: ArrayLike<number>, pos: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: ArrayLike<number>
      +
    • +
    • +
      pos: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

read32

+
    +
  • read32(buf: ArrayLike<number>, pos: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: ArrayLike<number>
      +
    • +
    • +
      pos: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

reverseLookup

+
    +
  • reverseLookup(map: SMap<number>, n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      map: SMap<number>
      +
    • +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

Let sendPacketFn

+
    +
  • sendPacketFn(p: Packet): Promise<any>
  • +
+
    +
  • + +

    Parameters

    + +

    Returns Promise<any>

    +
  • +
+
+
+ +

serviceName

+
    +
  • serviceName(n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

setSendPacketFn

+
    +
  • setSendPacketFn(f: (p: Packet) => Promise<void>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      f: (p: Packet) => Promise<void>
      +
        +
      • +
          +
        • (p: Packet): Promise<void>
        • +
        +
          +
        • +

          Parameters

          + +

          Returns Promise<void>

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

shortDeviceId

+
    +
  • shortDeviceId(devid: string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      devid: string
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

stringToUint8Array

+
    +
  • stringToUint8Array(input: string): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      input: string
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

toHex

+
    +
  • toHex(bytes: ArrayLike<number>): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      bytes: ArrayLike<number>
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toUTF8

+
    +
  • toUTF8(str: string, cesu8?: boolean): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      str: string
      +
    • +
    • +
      Optional cesu8: boolean
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

uint8ArrayToString

+
    +
  • uint8ArrayToString(input: ArrayLike<number>): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      input: ArrayLike<number>
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

warn

+
    +
  • warn(msg: string, v?: any): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      msg: string
      +
    • +
    • +
      Optional v: any
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

write16

+ + +
+
+ +

write32

+ + +
+
+
+

Object literals

+
+ +

Const generic_commands

+
generic_commands: object
+ +
+ +

CMD_ADVERTISEMENT_DATA

+
CMD_ADVERTISEMENT_DATA: number = 0
+ +
+
+ +

CMD_CALIBRATE

+
CMD_CALIBRATE: number = 2
+ +
+
+ +

CMD_EVENT

+
CMD_EVENT: number = 1
+ +
+
+ +

CMD_GET_DESCRIPTION

+
CMD_GET_DESCRIPTION: number = 3
+ +
+
+
+ +

Const generic_regs

+
generic_regs: object
+ +
+ +

REG_HIGH_THRESHOLD

+
REG_HIGH_THRESHOLD: number = 6
+ +
+
+ +

REG_INTENSITY

+
REG_INTENSITY: number = 1
+ +
+
+ +

REG_IS_STREAMING

+
REG_IS_STREAMING: number = 3
+ +
+
+ +

REG_LOW_THRESHOLD

+
REG_LOW_THRESHOLD: number = 5
+ +
+
+ +

REG_MAX_POWER

+
REG_MAX_POWER: number = 7
+ +
+
+ +

REG_READING

+
REG_READING: number = 257
+ +
+
+ +

REG_STREAMING_INTERVAL

+
REG_STREAMING_INTERVAL: number = 4
+ +
+
+ +

REG_VALUE

+
REG_VALUE: number = 2
+ +
+
+
+ +

Const serv_decoders

+
serv_decoders: object
+ +
+ +

LOGGER

+
    +
  • LOGGER(pkt: Packet): string
  • +
+ +
+
+
+ +

Const service_classes

+
service_classes: object
+ +
+ +

<disabled>

+
<disabled>: number = -1
+ +
+
+ +

ACCELEROMETER

+
ACCELEROMETER: number = 521405449
+ +
+
+ +

ARCADE_CONTROLS

+
ARCADE_CONTROLS: number = 501915758
+ +
+
+ +

BATTERY

+
BATTERY: number = 489302733
+ +
+
+ +

BOOTLOADER

+
BOOTLOADER: number = 536516936
+ +
+
+ +

BUTTON

+
BUTTON: number = 343122531
+ +
+
+ +

COLOR_SENSOR

+
COLOR_SENSOR: number = 349625762
+ +
+
+ +

CONTROLLER

+
CONTROLLER: number = 411755704
+ +
+
+ +

CTRL

+
CTRL: number = 0
+ +
+
+ +

DNS

+
DNS: number = 293022141
+ +
+
+ +

GAMEPAD

+
GAMEPAD: number = 268773352
+ +
+
+ +

HAPTIC

+
HAPTIC: number = 292230307
+ +
+
+ +

KEYBOARD

+
KEYBOARD: number = 451182893
+ +
+
+ +

LCD

+
LCD: number = 416622668
+ +
+
+ +

LIGHT

+
LIGHT: number = 309264608
+ +
+
+ +

LIGHT_SENSOR

+
LIGHT_SENSOR: number = 367501567
+ +
+
+ +

LIGHT_SPECTRUM_SENSOR

+
LIGHT_SPECTRUM_SENSOR: number = 385485837
+ +
+
+ +

LOGGER

+
LOGGER: number = 316415946
+ +
+
+ +

MESSAGE_BUS

+
MESSAGE_BUS: number = 291286005
+ +
+
+ +

MICROPHONE

+
MICROPHONE: number = 442259558
+ +
+
+ +

MOTOR

+
MOTOR: number = 385895640
+ +
+
+ +

MOUSE

+
MOUSE: number = 347903935
+ +
+
+ +

MUSIC

+
MUSIC: number = 458731991
+ +
+
+ +

PIXEL

+
PIXEL: number = 392756159
+ +
+
+ +

POWER

+
POWER: number = 530893146
+ +
+
+ +

PROXIMITY

+
PROXIMITY: number = 348223771
+ +
+
+ +

PWM_LIGHT

+
PWM_LIGHT: number = 531985491
+ +
+
+ +

ROTARY_ENCODER

+
ROTARY_ENCODER: number = 284830153
+ +
+
+ +

SERVO

+
SERVO: number = 318542083
+ +
+
+ +

SERVOS

+
SERVOS: number = 405375192
+ +
+
+ +

SLIDER

+
SLIDER: number = 522667846
+ +
+
+ +

SWITCH

+
SWITCH: number = 337740146
+ +
+
+ +

TCP

+
TCP: number = 457422603
+ +
+
+ +

THERMOMETER

+
THERMOMETER: number = 337754823
+ +
+
+ +

TOUCHBUTTON

+
TOUCHBUTTON: number = 319616446
+ +
+
+ +

TOUCH_BUTTONS

+
TOUCH_BUTTONS: number = 449530325
+ +
+
+ +

WIFI

+
WIFI: number = 413852154
+ +
+
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..7e8850beb --- /dev/null +++ b/docs/index.html @@ -0,0 +1,5223 @@ + + + + + + jacdac-ts | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+ +

JACDAC TypeScript

+
+ +

Features

+
+ + +

Importing library

+
+

You can import the generated bundle to use the whole library generated by this starter:

+
import myLib from 'mylib'
+

Additionally, you can import the transpiled modules from dist/lib in case you have a modular library:

+
import something from 'mylib/dist/lib/something'
+ +

NPM scripts

+
+
    +
  • npm t: Run test suite
  • +
  • npm start: Run npm run build in watch mode
  • +
  • npm run test:watch: Run test suite in interactive watch mode
  • +
  • npm run test:prod: Run linting and generate coverage
  • +
  • npm run build: Generate bundles and typings, create docs
  • +
  • npm run lint: Lints code
  • +
  • npm run commit: Commit using conventional commit style (husky will tell you to use it if you haven't :wink:)
  • +
+ +

Contributing

+
+

This project welcomes contributions and suggestions. Most contributions require you to agree to a + Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us + the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

+

When you submit a pull request, a CLA bot will automatically determine whether you need to provide + a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions + provided by the bot. You will only need to do this once across all repos using our CLA.

+

This project has adopted the Microsoft Open Source Code of Conduct. + For more information see the Code of Conduct FAQ or + contact opencode@microsoft.com with any additional questions or comments.

+
+
+
+

Index

+
+
+
+

Enumerations

+ +
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+

Variables

+ +
+
+

Functions

+ +
+
+

Object literals

+ +
+
+
+
+
+

Variables

+
+ +

Const CMD_ADVERTISEMENT_DATA

+
CMD_ADVERTISEMENT_DATA: 0 = 0
+ +
+
+ +

Const CMD_CALIBRATE

+
CMD_CALIBRATE: 2 = 2
+ +
+
+ +

Const CMD_CTRL_IDENTIFY

+
CMD_CTRL_IDENTIFY: 129 = 129
+ +
+
+ +

Const CMD_CTRL_NOOP

+
CMD_CTRL_NOOP: 128 = 128
+ +
+
+ +

Const CMD_CTRL_RESET

+
CMD_CTRL_RESET: 130 = 130
+ +
+
+ +

Const CMD_EVENT

+
CMD_EVENT: 1 = 1
+ +
+
+ +

Const CMD_GET_DESCRIPTION

+
CMD_GET_DESCRIPTION: 3 = 3
+ +
+
+ +

Const CMD_GET_REG

+
CMD_GET_REG: 4096 = 4096
+ +
+
+ +

Const CMD_REG_MASK

+
CMD_REG_MASK: 4095 = 4095
+ +
+
+ +

Const CMD_SET_REG

+
CMD_SET_REG: 8192 = 8192
+ +
+
+ +

Const CMD_TOP_MASK

+
CMD_TOP_MASK: 61440 = 61440
+ +
+
+ +

Const JD_FRAME_FLAG_ACK_REQUESTED

+
JD_FRAME_FLAG_ACK_REQUESTED: 2 = 2
+ +
+
+ +

Const JD_FRAME_FLAG_COMMAND

+
JD_FRAME_FLAG_COMMAND: 1 = 1
+ +
+
+ +

Const JD_FRAME_FLAG_IDENTIFIER_IS_SERVICE_CLASS

+
JD_FRAME_FLAG_IDENTIFIER_IS_SERVICE_CLASS: 4 = 4
+ +
+
+ +

Const JD_SERIAL_HEADER_SIZE

+
JD_SERIAL_HEADER_SIZE: 16 = 16
+ +
+
+ +

Const JD_SERIAL_MAX_PAYLOAD_SIZE

+
JD_SERIAL_MAX_PAYLOAD_SIZE: 236 = 236
+ +
+
+ +

Const JD_SERVICE_NUMBER_CRC_ACK

+
JD_SERVICE_NUMBER_CRC_ACK: 63 = 63
+ +
+
+ +

Const JD_SERVICE_NUMBER_CTRL

+
JD_SERVICE_NUMBER_CTRL: 0 = 0
+ +
+
+ +

Const JD_SERVICE_NUMBER_INV_MASK

+
JD_SERVICE_NUMBER_INV_MASK: 192 = 192
+ +
+
+ +

Const JD_SERVICE_NUMBER_MASK

+
JD_SERVICE_NUMBER_MASK: 63 = 63
+ +
+
+ +

Const JD_SERVICE_NUMBER_STREAM

+
JD_SERVICE_NUMBER_STREAM: 62 = 62
+ +
+
+ +

Const REG_HIGH_THRESHOLD

+
REG_HIGH_THRESHOLD: 6 = 6
+ +
+
+ +

Const REG_INTENSITY

+
REG_INTENSITY: 1 = 1
+ +
+
+ +

Const REG_IS_STREAMING

+
REG_IS_STREAMING: 3 = 3
+ +
+
+ +

Const REG_LOW_THRESHOLD

+
REG_LOW_THRESHOLD: 5 = 5
+ +
+
+ +

Const REG_MAX_POWER

+
REG_MAX_POWER: 7 = 7
+ +
+
+ +

Const REG_READING

+
REG_READING: 257 = 257
+ +
+
+ +

Const REG_STREAMING_INTERVAL

+
REG_STREAMING_INTERVAL: 4 = 4
+ +
+
+ +

Const REG_VALUE

+
REG_VALUE: 2 = 2
+ +
+
+ +

Const STREAM_CLOSE_MASK

+
STREAM_CLOSE_MASK: 32 = 32
+ +
+
+ +

Const STREAM_COUNTER_MASK

+
STREAM_COUNTER_MASK: 31 = 31
+ +
+
+ +

Const STREAM_METADATA_MASK

+
STREAM_METADATA_MASK: 64 = 64
+ +
+
+ +

Const STREAM_PORT_SHIFT

+
STREAM_PORT_SHIFT: 7 = 7
+ +
+
+ +

Const deviceNames

+
deviceNames: SMap<string>
+ +
+
+ +

Const devices_

+
devices_: Device[] = []
+ +
+
+
+

Functions

+
+ +

ALIGN

+
    +
  • ALIGN(n: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

assert

+
    +
  • assert(cond: boolean, msg?: string): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      cond: boolean
      +
    • +
    • +
      Default value msg: string = "Assertion failed"
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

bufferConcat

+
    +
  • bufferConcat(a: Uint8Array, b: Uint8Array): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      a: Uint8Array
      +
    • +
    • +
      b: Uint8Array
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

bufferEq

+
    +
  • bufferEq(a: Uint8Array, b: ArrayLike<number>): boolean
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      a: Uint8Array
      +
    • +
    • +
      b: ArrayLike<number>
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

bufferToString

+
    +
  • bufferToString(buf: Uint8Array): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

clone

+
    +
  • clone<T>(v: T): T
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      v: T
      +
    • +
    +

    Returns T

    +
  • +
+
+
+ +

commandName

+
    +
  • commandName(n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

crc

+
    +
  • crc(p: Uint8Array): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      p: Uint8Array
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

decodeU32LE

+
    +
  • decodeU32LE(buf: Uint8Array): number[]
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    +

    Returns number[]

    +
  • +
+
+
+ +

delay

+
    +
  • delay<T>(millis: number, value?: T): Promise<T>
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      millis: number
      +
    • +
    • +
      Optional value: T
      +
    • +
    +

    Returns Promise<T>

    +
  • +
+
+
+ +

encodeU32LE

+
    +
  • encodeU32LE(words: number[]): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      words: number[]
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

error

+
    +
  • error(msg: string): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      msg: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

flatClone

+
    +
  • flatClone<T>(obj: T): T
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T: Object

      +
    • +
    +

    Parameters

    +
      +
    • +
      obj: T
      +
    • +
    +

    Returns T

    +
  • +
+
+
+ +

fnv1

+
    +
  • fnv1(data: Uint8Array): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      data: Uint8Array
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

frameToPackets

+
    +
  • frameToPackets(frame: Uint8Array, timestamp: number): Packet[]
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      frame: Uint8Array
      +
    • +
    • +
      timestamp: number
      +
    • +
    +

    Returns Packet[]

    +
  • +
+
+
+ +

fromHex

+
    +
  • fromHex(hex: string): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      hex: string
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

fromUTF8

+
    +
  • fromUTF8(binstr: string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      binstr: string
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

getDevice

+
    +
  • getDevice(id: string): Device
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      id: string
      +
    • +
    +

    Returns Device

    +
  • +
+
+
+ +

getDevices

+ + +
+
+ +

getNumber

+
    +
  • getNumber(buf: ArrayLike<number>, fmt: NumberFormat, offset: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: ArrayLike<number>
      +
    • +
    • +
      fmt: NumberFormat
      +
    • +
    • +
      offset: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

hash

+
    +
  • hash(buf: Uint8Array, bits: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: Uint8Array
      +
    • +
    • +
      bits: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

idiv

+
    +
  • idiv(a: number, b: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      a: number
      +
    • +
    • +
      b: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

jsonCopyFrom

+
    +
  • jsonCopyFrom<T>(trg: T, src: T): void
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      T

      +
    • +
    +

    Parameters

    +
      +
    • +
      trg: T
      +
    • +
    • +
      src: T
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

log

+
    +
  • log(msg: string, v?: any): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      msg: string
      +
    • +
    • +
      Optional v: any
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

memcpy

+
    +
  • memcpy(trg: Uint8Array, trgOff: number, src: ArrayLike<number>, srcOff?: number, len?: number): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      trg: Uint8Array
      +
    • +
    • +
      trgOff: number
      +
    • +
    • +
      src: ArrayLike<number>
      +
    • +
    • +
      Optional srcOff: number
      +
    • +
    • +
      Optional len: number
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

num2str

+
    +
  • num2str(n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

parseLog

+ + +
+
+ +

printPkt

+ + +
+
+ +

process

+
    +
  • process(pkt: Packet): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

read16

+
    +
  • read16(buf: ArrayLike<number>, pos: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: ArrayLike<number>
      +
    • +
    • +
      pos: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

read32

+
    +
  • read32(buf: ArrayLike<number>, pos: number): number
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      buf: ArrayLike<number>
      +
    • +
    • +
      pos: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

reverseLookup

+
    +
  • reverseLookup(map: SMap<number>, n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      map: SMap<number>
      +
    • +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

Let sendPacketFn

+
    +
  • sendPacketFn(p: Packet): Promise<any>
  • +
+
    +
  • + +

    Parameters

    + +

    Returns Promise<any>

    +
  • +
+
+
+ +

serviceName

+
    +
  • serviceName(n: number): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      n: number
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

setSendPacketFn

+
    +
  • setSendPacketFn(f: (p: Packet) => Promise<void>): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      f: (p: Packet) => Promise<void>
      +
        +
      • +
          +
        • (p: Packet): Promise<void>
        • +
        +
          +
        • +

          Parameters

          + +

          Returns Promise<void>

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

shortDeviceId

+
    +
  • shortDeviceId(devid: string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      devid: string
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

stringToUint8Array

+
    +
  • stringToUint8Array(input: string): Uint8Array
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      input: string
      +
    • +
    +

    Returns Uint8Array

    +
  • +
+
+
+ +

toHex

+
    +
  • toHex(bytes: ArrayLike<number>): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      bytes: ArrayLike<number>
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

toUTF8

+
    +
  • toUTF8(str: string, cesu8?: boolean): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      str: string
      +
    • +
    • +
      Optional cesu8: boolean
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

uint8ArrayToString

+
    +
  • uint8ArrayToString(input: ArrayLike<number>): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      input: ArrayLike<number>
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

warn

+
    +
  • warn(msg: string, v?: any): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      msg: string
      +
    • +
    • +
      Optional v: any
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

write16

+ + +
+
+ +

write32

+ + +
+
+
+

Object literals

+
+ +

Const generic_commands

+
generic_commands: object
+ +
+ +

CMD_ADVERTISEMENT_DATA

+
CMD_ADVERTISEMENT_DATA: number = 0
+ +
+
+ +

CMD_CALIBRATE

+
CMD_CALIBRATE: number = 2
+ +
+
+ +

CMD_EVENT

+
CMD_EVENT: number = 1
+ +
+
+ +

CMD_GET_DESCRIPTION

+
CMD_GET_DESCRIPTION: number = 3
+ +
+
+
+ +

Const generic_regs

+
generic_regs: object
+ +
+ +

REG_HIGH_THRESHOLD

+
REG_HIGH_THRESHOLD: number = 6
+ +
+
+ +

REG_INTENSITY

+
REG_INTENSITY: number = 1
+ +
+
+ +

REG_IS_STREAMING

+
REG_IS_STREAMING: number = 3
+ +
+
+ +

REG_LOW_THRESHOLD

+
REG_LOW_THRESHOLD: number = 5
+ +
+
+ +

REG_MAX_POWER

+
REG_MAX_POWER: number = 7
+ +
+
+ +

REG_READING

+
REG_READING: number = 257
+ +
+
+ +

REG_STREAMING_INTERVAL

+
REG_STREAMING_INTERVAL: number = 4
+ +
+
+ +

REG_VALUE

+
REG_VALUE: number = 2
+ +
+
+
+ +

Const serv_decoders

+
serv_decoders: object
+ +
+ +

LOGGER

+
    +
  • LOGGER(pkt: Packet): string
  • +
+ +
+
+
+ +

Const service_classes

+
service_classes: object
+ +
+ +

<disabled>

+
<disabled>: number = -1
+ +
+
+ +

ACCELEROMETER

+
ACCELEROMETER: number = 521405449
+ +
+
+ +

ARCADE_CONTROLS

+
ARCADE_CONTROLS: number = 501915758
+ +
+
+ +

BATTERY

+
BATTERY: number = 489302733
+ +
+
+ +

BOOTLOADER

+
BOOTLOADER: number = 536516936
+ +
+
+ +

BUTTON

+
BUTTON: number = 343122531
+ +
+
+ +

COLOR_SENSOR

+
COLOR_SENSOR: number = 349625762
+ +
+
+ +

CONTROLLER

+
CONTROLLER: number = 411755704
+ +
+
+ +

CTRL

+
CTRL: number = 0
+ +
+
+ +

DNS

+
DNS: number = 293022141
+ +
+
+ +

GAMEPAD

+
GAMEPAD: number = 268773352
+ +
+
+ +

HAPTIC

+
HAPTIC: number = 292230307
+ +
+
+ +

KEYBOARD

+
KEYBOARD: number = 451182893
+ +
+
+ +

LCD

+
LCD: number = 416622668
+ +
+
+ +

LIGHT

+
LIGHT: number = 309264608
+ +
+
+ +

LIGHT_SENSOR

+
LIGHT_SENSOR: number = 367501567
+ +
+
+ +

LIGHT_SPECTRUM_SENSOR

+
LIGHT_SPECTRUM_SENSOR: number = 385485837
+ +
+
+ +

LOGGER

+
LOGGER: number = 316415946
+ +
+
+ +

MESSAGE_BUS

+
MESSAGE_BUS: number = 291286005
+ +
+
+ +

MICROPHONE

+
MICROPHONE: number = 442259558
+ +
+
+ +

MOTOR

+
MOTOR: number = 385895640
+ +
+
+ +

MOUSE

+
MOUSE: number = 347903935
+ +
+
+ +

MUSIC

+
MUSIC: number = 458731991
+ +
+
+ +

PIXEL

+
PIXEL: number = 392756159
+ +
+
+ +

POWER

+
POWER: number = 530893146
+ +
+
+ +

PROXIMITY

+
PROXIMITY: number = 348223771
+ +
+
+ +

PWM_LIGHT

+
PWM_LIGHT: number = 531985491
+ +
+
+ +

ROTARY_ENCODER

+
ROTARY_ENCODER: number = 284830153
+ +
+
+ +

SERVO

+
SERVO: number = 318542083
+ +
+
+ +

SERVOS

+
SERVOS: number = 405375192
+ +
+
+ +

SLIDER

+
SLIDER: number = 522667846
+ +
+
+ +

SWITCH

+
SWITCH: number = 337740146
+ +
+
+ +

TCP

+
TCP: number = 457422603
+ +
+
+ +

THERMOMETER

+
THERMOMETER: number = 337754823
+ +
+
+ +

TOUCHBUTTON

+
TOUCHBUTTON: number = 319616446
+ +
+
+ +

TOUCH_BUTTONS

+
TOUCH_BUTTONS: number = 449530325
+ +
+
+ +

WIFI

+
WIFI: number = 413852154
+ +
+
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/mutablearraylike.html b/docs/interfaces/mutablearraylike.html new file mode 100644 index 000000000..b8c214ed9 --- /dev/null +++ b/docs/interfaces/mutablearraylike.html @@ -0,0 +1,2814 @@ + + + + + + MutableArrayLike | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + MutableArrayLike +
  • +
+
+
+

Indexable

+
[n: number]: T
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly length

+
length: number
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/options.html b/docs/interfaces/options.html new file mode 100644 index 000000000..a0dcde3fc --- /dev/null +++ b/docs/interfaces/options.html @@ -0,0 +1,2816 @@ + + + + + + Options | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Hierarchy

+
    +
  • + Options +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional skipRepeatedAnnounce

+
skipRepeatedAnnounce: boolean
+ +
+
+ +

Optional skipRepeatedReading

+
skipRepeatedReading: boolean
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/parsedframe.html b/docs/interfaces/parsedframe.html new file mode 100644 index 000000000..13b845911 --- /dev/null +++ b/docs/interfaces/parsedframe.html @@ -0,0 +1,2830 @@ + + + + + + ParsedFrame | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Hierarchy

+
    +
  • + ParsedFrame +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

data

+
data: Uint8Array
+ +
+
+ +

Optional info

+
info: string
+ +
+
+ +

timestamp

+
timestamp: number
+ +
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/smap.html b/docs/interfaces/smap.html new file mode 100644 index 000000000..a04cfaa88 --- /dev/null +++ b/docs/interfaces/smap.html @@ -0,0 +1,2783 @@ + + + + + + SMap | jacdac-ts + + + + + +
+
+
+
+
+ jacdac-ts +
+
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+ +
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + SMap +
  • +
+
+
+

Indexable

+
[index: string]: T
+
+
+
+

Legend

+
+
    +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
+
    +
  • Property
  • +
+
    +
  • Private property
  • +
+
    +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+
+ + + \ No newline at end of file