diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css new file mode 100644 index 0000000..c771b84 --- /dev/null +++ b/docs/assets/css/main.css @@ -0,0 +1,2333 @@ +/*! 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; } + +.col > :first-child, .col-1 > :first-child, .col-2 > :first-child, .col-3 > :first-child, .col-4 > :first-child, .col-5 > :first-child, .col-6 > :first-child, .col-7 > :first-child, .col-8 > :first-child, .col-9 > :first-child, .col-10 > :first-child, .col-11 > :first-child, .tsd-panel > :first-child, ul.tsd-descriptions > li > :first-child, +.col > :first-child > :first-child, +.col-1 > :first-child > :first-child, +.col-2 > :first-child > :first-child, +.col-3 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +.col-5 > :first-child > :first-child, +.col-6 > :first-child > :first-child, +.col-7 > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-9 > :first-child > :first-child, +.col-10 > :first-child > :first-child, +.col-11 > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.col > :first-child > :first-child > :first-child, +.col-1 > :first-child > :first-child > :first-child, +.col-2 > :first-child > :first-child > :first-child, +.col-3 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child, +.col-5 > :first-child > :first-child > :first-child, +.col-6 > :first-child > :first-child > :first-child, +.col-7 > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-9 > :first-child > :first-child > :first-child, +.col-10 > :first-child > :first-child > :first-child, +.col-11 > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child { + margin-top: 0; } + +.col > :last-child, .col-1 > :last-child, .col-2 > :last-child, .col-3 > :last-child, .col-4 > :last-child, .col-5 > :last-child, .col-6 > :last-child, .col-7 > :last-child, .col-8 > :last-child, .col-9 > :last-child, .col-10 > :last-child, .col-11 > :last-child, .tsd-panel > :last-child, ul.tsd-descriptions > li > :last-child, +.col > :last-child > :last-child, +.col-1 > :last-child > :last-child, +.col-2 > :last-child > :last-child, +.col-3 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +.col-5 > :last-child > :last-child, +.col-6 > :last-child > :last-child, +.col-7 > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-9 > :last-child > :last-child, +.col-10 > :last-child > :last-child, +.col-11 > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.col > :last-child > :last-child > :last-child, +.col-1 > :last-child > :last-child > :last-child, +.col-2 > :last-child > :last-child > :last-child, +.col-3 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child, +.col-5 > :last-child > :last-child > :last-child, +.col-6 > :last-child > :last-child > :last-child, +.col-7 > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-9 > :last-child > :last-child > :last-child, +.col-10 > :last-child > :last-child > :last-child, +.col-11 > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +ul.tsd-descriptions > li > :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 { + position: relative; + margin: 0 -10px; } + .row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; } + +.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11 { + 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-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-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-external-module > .tsd-kind-icon:before { + background-position: 0px -102px; } + +.tsd-kind-external-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; } + +.tsd-kind-external-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; } + +.no-transition { + transition: none !important; } + +@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; + 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; + 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-column-break-inside: avoid; + -moz-column-break-inside: avoid; + -ms-column-break-inside: avoid; + -o-column-break-inside: avoid; + column-break-inside: avoid; + -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 { + padding: 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 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; } + .no-csspositionsticky .menu-sticky-wrap.sticky { + position: fixed; } + .no-csspositionsticky .menu-sticky-wrap.sticky-current { + position: fixed; } + .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.before-current, + .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.after-current { + opacity: 0; } + .no-csspositionsticky .menu-sticky-wrap.sticky-bottom { + position: absolute; + top: auto !important; + left: auto !important; + bottom: 0; + right: 0; } + .csspositionsticky .menu-sticky-wrap.sticky { + position: -webkit-sticky; + position: sticky; } + .csspositionsticky .menu-sticky-wrap.sticky-current { + position: -webkit-sticky; + position: sticky; } } + +.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; } + .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; + transition: height 0.3s; + 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-siganture, + ul.tsd-type-parameters > li.tsd-parameter-siganture { + 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: absolute; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: #333; + background: #fff; + border-bottom: 1px solid #eee; } + .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-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li: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-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li: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%; } diff --git a/docs/assets/images/icons.png b/docs/assets/images/icons.png new file mode 100644 index 0000000..3836d5f Binary files /dev/null and b/docs/assets/images/icons.png differ diff --git a/docs/assets/images/icons@2x.png b/docs/assets/images/icons@2x.png new file mode 100644 index 0000000..5a209e2 Binary files /dev/null and b/docs/assets/images/icons@2x.png differ diff --git a/docs/assets/images/widgets.png b/docs/assets/images/widgets.png new file mode 100644 index 0000000..c738053 Binary files /dev/null and b/docs/assets/images/widgets.png differ diff --git a/docs/assets/images/widgets@2x.png b/docs/assets/images/widgets@2x.png new file mode 100644 index 0000000..4bbbd57 Binary files /dev/null and b/docs/assets/images/widgets@2x.png differ diff --git a/docs/classes/_backend_.rpcserver.html b/docs/classes/_backend_.rpcserver.html new file mode 100644 index 0000000..ab0aabb --- /dev/null +++ b/docs/classes/_backend_.rpcserver.html @@ -0,0 +1,447 @@ + + + + + + RPCServer | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Class RPCServer<SubResType>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    SubResType

    +
  • +
+
+
+

Hierarchy

+
    +
  • + RPCServer +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new RPCServer(port: number, exporters?: Exporter<SubResType>[], conf?: T.SocketConf): RPCServer
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      port: number
      +
    • +
    • +
      Default value exporters: Exporter<SubResType>[] = []
      +
    • +
    • +
      Default value conf: T.SocketConf = {}
      +
    • +
    +

    Returns RPCServer

    +
  • +
+
+
+
+

Properties

+
+ +

Private closeHandler

+
closeHandler: T.CloseHandler
+ +
+
+ +

Private connectionHandler

+
connectionHandler: T.ConnectionHandler
+ +
+
+ +

Private errorHandler

+
errorHandler: T.ErrorHandler
+ +
+
+ +

Private exporters

+
exporters: Exporter<SubResType>[]
+ +
+
+ +

Private io

+
io: any = bsock.createServer()
+ +
+
+ +

Private port

+
port: number
+ +
+
+ +

Private visibility

+
visibility: T.Visibility
+ +
+
+ +

Private ws

+
ws: Server = http.createServer()
+ +
+
+
+

Methods

+
+ +

destroy

+
    +
  • destroy(): Promise<void>
  • +
+
    +
  • + +

    Returns Promise<void>

    +
  • +
+
+
+ +

Protected initRPCs

+
    +
  • initRPCs(socket: Socket): void
  • +
+
    +
  • + +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

Private startWebsocket

+
    +
  • startWebsocket(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/classes/_frontend_.rpcsocket.html b/docs/classes/_frontend_.rpcsocket.html new file mode 100644 index 0000000..b7b97f6 --- /dev/null +++ b/docs/classes/_frontend_.rpcsocket.html @@ -0,0 +1,649 @@ + + + + + + RPCSocket | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Class RPCSocket

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + RPCSocket +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new RPCSocket(port: number, server: string, tls?: boolean): RPCSocket
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      port: number
      +
    • +
    • +
      server: string
      +
    • +
    • +
      Default value tls: boolean = false
      +
    • +
    +

    Returns RPCSocket

    +
  • +
+
+
+
+

Properties

+
+ +

port

+
port: number
+ +
+
+ +

Private server

+
server: string
+ +
+
+ +

Private socket

+
socket: Socket
+ +
+
+ +

Private tls

+
tls: boolean
+ +
+
+
+

Methods

+
+ +

call

+
    +
  • call(rpcname: T.Name, ...args: T.Any[]): Promise<T.Any>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      rpcname: T.Name
      +
    • +
    • +
      Rest ...args: T.Any[]
      +
    • +
    +

    Returns Promise<T.Any>

    +
  • +
+
+
+ +

Private callGenerator

+
    +
  • callGenerator(fnName: T.Name, fnArgs: T.Arg[]): T.AsyncFunction
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      fnName: T.Name
      +
    • +
    • +
      fnArgs: T.Arg[]
      +
    • +
    +

    Returns T.AsyncFunction

    +
  • +
+
+
+ +

close

+
    +
  • close(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

connect

+
    +
  • connect(): Promise<void>
  • +
+
    +
  • + +

    Returns Promise<void>

    +
  • +
+
+
+ +

destroy

+
    +
  • destroy(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

fire

+
    +
  • fire(rpcname: T.Name, ...args: T.Any[]): Promise<T.Any>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      rpcname: T.Name
      +
    • +
    • +
      Rest ...args: T.Any[]
      +
    • +
    +

    Returns Promise<T.Any>

    +
  • +
+
+
+ +

hook

+
    +
  • hook(name: T.Name, handler: function): Socket
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      name: T.Name
      +
    • +
    • +
      handler: function
      +
        +
      • +
          +
        • (...args: any[]): any | Promise<any>
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            Rest ...args: any[]
            +
          • +
          +

          Returns any + | + Promise<any> +

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Socket

    +
  • +
+
+
+ +

Private hookGenerator

+
    +
  • hookGenerator(fnName: T.Name, fnArgs: T.Arg[]): T.HookFunction
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      fnName: T.Name
      +
    • +
    • +
      fnArgs: T.Arg[]
      +
    • +
    +

    Returns T.HookFunction

    +
  • +
+
+
+ +

info

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

    Returns Promise<any>

    +
  • +
+
+
+ +

on

+
    +
  • on(type: "error" | "close", f: function): Socket
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      type: "error" | "close"
      +
    • +
    • +
      f: function
      +
        +
      • +
          +
        • (e?: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            Optional e: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Socket

    +
  • +
+
+
+ +

unhook

+
    +
  • unhook(name: T.Name): Socket
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      name: T.Name
      +
    • +
    +

    Returns Socket

    +
  • +
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..a035826 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,181 @@ + + + + + + rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

rpclibrary

+
+
+
+
+
+
+
+

Index

+
+
+
+

External modules

+ +
+
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/interfaces/_interfaces_.destroyable.html b/docs/interfaces/_interfaces_.destroyable.html new file mode 100644 index 0000000..c5a651b --- /dev/null +++ b/docs/interfaces/_interfaces_.destroyable.html @@ -0,0 +1,240 @@ + + + + + + Destroyable | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Destroyable

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Destroyable + +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Methods

+ +
+
+
+
+
+

Methods

+
+ +

destroy

+
    +
  • destroy(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/interfaces/_interfaces_.exporter.html b/docs/interfaces/_interfaces_.exporter.html new file mode 100644 index 0000000..8a05919 --- /dev/null +++ b/docs/interfaces/_interfaces_.exporter.html @@ -0,0 +1,259 @@ + + + + + + Exporter | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Exporter<T>

+
+
+
+
+
+
+
+

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+

Hierarchy

+
    +
  • + Exporter +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

name

+
name: T.Name
+ +
+
+
+

Methods

+
+ +

exportRPCs

+
    +
  • exportRPCs(): T.RPC<T>[]
  • +
+
    +
  • + +

    Returns T.RPC<T>[]

    +
  • +
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/interfaces/_interfaces_.socket.html b/docs/interfaces/_interfaces_.socket.html new file mode 100644 index 0000000..054fcc0 --- /dev/null +++ b/docs/interfaces/_interfaces_.socket.html @@ -0,0 +1,468 @@ + + + + + + Socket | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Socket

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

call

+
call: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (rpcname: T.Name, ...args: T.Any[]): Promise<T.Any>
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        rpcname: T.Name
        +
      • +
      • +
        Rest ...args: T.Any[]
        +
      • +
      +

      Returns Promise<T.Any>

      +
    • +
    +
  • +
+
+
+
+ +

fire

+
fire: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (rpcname: T.Name, ...args: T.Any[]): Promise<T.Any>
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        rpcname: T.Name
        +
      • +
      • +
        Rest ...args: T.Any[]
        +
      • +
      +

      Returns Promise<T.Any>

      +
    • +
    +
  • +
+
+
+
+ +

hook

+
hook: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (rpcname: T.Name, handler: function): Socket
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        rpcname: T.Name
        +
      • +
      • +
        handler: function
        +
          +
        • +
            +
          • (...args: any[]): any | Promise<any>
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              Rest ...args: any[]
              +
            • +
            +

            Returns any + | + Promise<any> +

            +
          • +
          +
        • +
        +
      • +
      +

      Returns Socket

      +
    • +
    +
  • +
+
+
+
+ +

on

+
on: T.OnFunction
+ +
+
+ +

port

+
port: number
+ +
+
+ +

unhook

+
unhook: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (rpcname: T.Name): Socket
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        rpcname: T.Name
        +
      • +
      +

      Returns Socket

      +
    • +
    +
  • +
+
+
+
+
+

Methods

+
+ +

close

+
    +
  • close(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+ +

destroy

+
    +
  • destroy(): void
  • +
+
    +
  • + +

    Returns void

    +
  • +
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/modules/_backend_.html b/docs/modules/_backend_.html new file mode 100644 index 0000000..f4cc056 --- /dev/null +++ b/docs/modules/_backend_.html @@ -0,0 +1,183 @@ + + + + + + "Backend" | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

External module "Backend"

+
+
+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/modules/_frontend_.html b/docs/modules/_frontend_.html new file mode 100644 index 0000000..019865d --- /dev/null +++ b/docs/modules/_frontend_.html @@ -0,0 +1,218 @@ + + + + + + "Frontend" | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

External module "Frontend"

+
+
+
+
+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Functions

+ +
+
+
+
+
+

Functions

+
+ +

stripAfterEquals

+
    +
  • stripAfterEquals(str: string): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      str: string
      +
    • +
    +

    Returns string

    +
  • +
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/modules/_interfaces_.html b/docs/modules/_interfaces_.html new file mode 100644 index 0000000..4bf1a99 --- /dev/null +++ b/docs/modules/_interfaces_.html @@ -0,0 +1,191 @@ + + + + + + "Interfaces" | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

External module "Interfaces"

+
+
+
+
+
+
+
+

Index

+
+
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/modules/_types_.html b/docs/modules/_types_.html new file mode 100644 index 0000000..759215f --- /dev/null +++ b/docs/modules/_types_.html @@ -0,0 +1,885 @@ + + + + + + "Types" | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

External module "Types"

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

Any

+
Any: any
+ +
+
+ +

Arg

+
Arg: string
+ +
+
+ +

AsyncFunction

+
AsyncFunction: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (...args: any): Promise<any>
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        Rest ...args: any
        +
      • +
      +

      Returns Promise<any>

      +
    • +
    +
  • +
+
+
+
+ +

BaseInfo

+
BaseInfo: object
+ +
+

Type declaration

+
    +
  • +
    argNames: Name[]
    +
  • +
  • +
    name: Name
    +
  • +
  • +
    owner: Name
    +
  • +
+
+
+
+ +

CallInfo

+
CallInfo: BaseInfo & object
+ +
+
+ +

CallRPC

+
CallRPC: object | Function
+ +
+
+ +

CallbackFunction

+
CallbackFunction: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (...args: any): void
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        Rest ...args: any
        +
      • +
      +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

CloseHandler

+
CloseHandler: function
+ +
+

Type declaration

+
    +
  • + +
      +
    • +

      Parameters

      + +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

ConnectionHandler

+
ConnectionHandler: function
+ +
+

Type declaration

+
    +
  • + +
      +
    • +

      Parameters

      + +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

ErrorHandler

+
ErrorHandler: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (socket: Socket, error: any): void
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        socket: Socket
        +
      • +
      • +
        error: any
        +
      • +
      +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

ErrorResponse

+
ErrorResponse<T>: Respose<T> & object
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

ExtendedRpcInfo

+
ExtendedRpcInfo: RpcInfo & object
+ +
+
+ +

HookCloseFunction

+
HookCloseFunction<T>: function
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+

Type declaration

+ +
+
+
+ +

HookFunction

+
HookFunction<T>: function
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+

Type declaration

+ +
+
+
+ +

HookInfo

+
HookInfo<T>: BaseInfo & object
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

HookRPC

+
HookRPC<T>: object
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+

Type declaration

+ +
+
+
+ +

Name

+
Name: Arg
+ +
+
+ +

OnFunction

+
OnFunction: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (type: "error" | "close", f: function): Socket
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        type: "error" | "close"
        +
      • +
      • +
        f: function
        +
          +
        • +
            +
          • (e?: any): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              Optional e: any
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      +

      Returns Socket

      +
    • +
    +
  • +
+
+
+
+ +

Outcome

+
Outcome: "Success" | "Error"
+ +
+
+ +

Owner

+
Owner: Name
+ +
+
+ +

RPC

+
RPC<T>: CallRPC | HookRPC<T>
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

RPCType

+
RPCType: "Hook" | "Unhook" | "Call"
+ +
+
+ +

ResponseType

+
ResponseType: "Subscribe" | "Success" | "Error"
+ +
+
+ +

Respose

+
Respose<T>: T & object
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

RpcInfo

+
RpcInfo: HookInfo | CallInfo
+ +
+
+ +

SocketConf

+
SocketConf: object
+ +
+

Type declaration

+ +
+
+
+ +

SubscriptionResponse

+
SubscriptionResponse<T>: Respose<T> & object
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

SuccessResponse

+
SuccessResponse<T>: Respose<T> & object
+ +

Type parameters

+
    +
  • +

    T

    +
  • +
+
+
+ +

Visibility

+
Visibility: "127.0.0.1" | "0.0.0.0"
+ +
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/docs/modules/_utils_.html b/docs/modules/_utils_.html new file mode 100644 index 0000000..72c81f1 --- /dev/null +++ b/docs/modules/_utils_.html @@ -0,0 +1,356 @@ + + + + + + "Utils" | rpclibrary + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

External module "Utils"

+
+
+
+
+
+
+
+

Index

+
+ +
+
+
+

Functions

+
+ +

Const extractArgs

+
    +
  • extractArgs(f: Function): T.Arg[]
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      f: Function
      +
    • +
    +

    Returns T.Arg[]

    +
  • +
+
+
+ +

Const hookGenerator

+
    +
  • hookGenerator(rpc: T.HookRPC<any>): function
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      rpc: T.HookRPC<any>
      +
    • +
    +

    Returns function

    +
      +
    • + +
        +
      • +

        Parameters

        +
          +
        • +
          Optional socket: I.Socket
          +
        • +
        +

        Returns HookFunction<T>

        +
      • +
      +
    • +
    +
  • +
+
+
+ +

makeSubResponse

+ +
    +
  • + +

    Parameters

    +
      +
    • +
      Optional uuid: undefined | string
      +
    • +
    +

    Returns SubscriptionResponse

    +
  • +
+
+
+ +

rpcHooker

+
    +
  • rpcHooker<SubResT>(socket: Socket, exporter: Exporter<SubResT>, makeUnique?: boolean): T.ExtendedRpcInfo[]
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      SubResT

      +
    • +
    +

    Parameters

    +
      +
    • +
      socket: Socket
      +
    • +
    • +
      exporter: Exporter<SubResT>
      +
    • +
    • +
      Default value makeUnique: boolean = true
      +
    • +
    +

    Returns T.ExtendedRpcInfo[]

    +
  • +
+
+
+ +

Const rpcToRpcinfo

+
    +
  • rpcToRpcinfo<SubResT>(rpc: T.RPC<SubResT>, owner: T.Owner): T.RpcInfo
  • +
+
    +
  • + +

    Type parameters

    +
      +
    • +

      SubResT

      +
    • +
    +

    Parameters

    +
      +
    • +
      rpc: T.RPC<SubResT>
      +
    • +
    • +
      owner: T.Owner
      +
    • +
    +

    Returns T.RpcInfo

    +
  • +
+
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 21bbf48..db8db03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "rpclibrary", - "version": "1.1.0", + "version": "1.1.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -63,6 +63,12 @@ "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==", "dev": true }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, "@types/mocha": { "version": "5.2.7", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", @@ -458,6 +464,15 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "backbone": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz", + "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==", + "dev": true, + "requires": { + "underscore": ">=1.8.3" + } + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -1622,6 +1637,17 @@ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -2303,6 +2329,18 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, + "handlebars": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.1.tgz", + "integrity": "sha512-bqPIlDk06UWbVEIFoYj+LVo42WhK96J+b25l7hbFDpxrOXMphFM3fNIm+cluwg4Pk2jiLjWU5nHQY7igGE75NQ==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -2382,6 +2420,12 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "highlight.js": { + "version": "9.15.10", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz", + "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==", + "dev": true + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -2731,6 +2775,12 @@ "supports-color": "^6.1.0" } }, + "jquery": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz", + "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==", + "dev": true + }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", @@ -2770,6 +2820,15 @@ } } }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", @@ -2835,6 +2894,12 @@ "yallist": "^3.0.2" } }, + "lunr": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.6.tgz", + "integrity": "sha512-swStvEyDqQ85MGpABCMBclZcLI/pBIlu8FFDtmX197+oEgKloJ67QnB+Tidh0340HmLMs39c4GrkPY3cmkXp6Q==", + "dev": true + }, "make-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", @@ -2880,6 +2945,12 @@ "object-visit": "^1.0.0" } }, + "marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -3492,6 +3563,16 @@ "wrappy": "1" } }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -3633,6 +3714,12 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, "pathval": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", @@ -3684,6 +3771,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -3806,6 +3899,15 @@ "readable-stream": "^2.0.2" } }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -3846,6 +3948,15 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, "resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", @@ -4021,6 +4132,17 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -4543,12 +4665,68 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typedoc": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.15.0.tgz", + "integrity": "sha512-NOtfq5Tis4EFt+J2ozhVq9RCeUnfEYMFKoU6nCXCXUULJz1UQynOM+yH3TkfZCPLzigbqB0tQYGVlktUWweKlw==", + "dev": true, + "requires": { + "@types/minimatch": "3.0.3", + "fs-extra": "^8.1.0", + "handlebars": "^4.1.2", + "highlight.js": "^9.15.8", + "lodash": "^4.17.15", + "marked": "^0.7.0", + "minimatch": "^3.0.0", + "progress": "^2.0.3", + "shelljs": "^0.8.3", + "typedoc-default-themes": "^0.6.0", + "typescript": "3.5.x" + }, + "dependencies": { + "typescript": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", + "dev": true + } + } + }, + "typedoc-default-themes": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.6.0.tgz", + "integrity": "sha512-MdTROOojxod78CEv22rIA69o7crMPLnVZPefuDLt/WepXqJwgiSu8Xxq+H36x0Jj3YGc7lOglI2vPJ2GhoOybw==", + "dev": true, + "requires": { + "backbone": "^1.4.0", + "jquery": "^3.4.1", + "lunr": "^2.3.6", + "underscore": "^1.9.1" + } + }, "typescript": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz", "integrity": "sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==", "dev": true }, + "uglify-js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "dev": true, + "optional": true, + "requires": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + } + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -4579,6 +4757,12 @@ "imurmurhash": "^0.1.4" } }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", @@ -4923,6 +5107,12 @@ } } }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", diff --git a/package.json b/package.json index 15d5862..69ffa2e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rpclibrary", - "version": "1.1.2", + "version": "1.1.3", "description": "", "main": "./js/Index.js", "scripts": { @@ -10,7 +10,8 @@ "frontend": "node js/test/TestFrontend.js", "build": "npm run clean && tsc && npm run webpack", "clean": "rm -rf js", - "test": "mocha js/test/Test.js" + "test": "mocha js/test/Test.js", + "doc": "typedoc --out docs ./src --readme none" }, "author": "", "license": "ISC", @@ -24,6 +25,7 @@ "terser-webpack-plugin": "^2.1.0", "ts-loader": "^5.3.3", "ts-mocha": "^6.0.0", + "typedoc": "^0.15.0", "typescript": "^3.5.3", "webpack": "^4.40.2", "webpack-cli": "^3.3.9" diff --git a/src/Backend.ts b/src/Backend.ts index 8ae1852..87a5b44 100644 --- a/src/Backend.ts +++ b/src/Backend.ts @@ -18,7 +18,6 @@ export class RPCServer< private errorHandler: T.ErrorHandler private connectionHandler: T.ConnectionHandler - constructor( private port:number, private exporters: I.Exporter[] = [], @@ -52,7 +51,6 @@ export class RPCServer< \n<------------OFFENDING RPC: \n`+badRPC.toString()+` \n>------------OFFENDING RPC`) - this.startWebsocket() } @@ -61,7 +59,7 @@ export class RPCServer< this.io.attach(this.ws) this.io.on('socket', (socket:I.Socket) => { socket.on('error', (err) => this.errorHandler(socket, err)) - socket.on('close', ()=> this.closeHandler(socket)) + socket.on('close', () => this.closeHandler(socket)) this.connectionHandler(socket) this.initRPCs(socket) }) @@ -74,7 +72,6 @@ export class RPCServer< protected initRPCs(socket:I.Socket){ socket.hook('info', () => rpcInfos) - const rpcInfos:T.ExtendedRpcInfo[] = [ ...this.exporters.flatMap(exporter => U.rpcHooker(socket, exporter)) ] diff --git a/src/Types.ts b/src/Types.ts index c9b40ba..8b60ee6 100644 --- a/src/Types.ts +++ b/src/Types.ts @@ -21,7 +21,7 @@ export type Outcome = "Success" | "Error" export type Respose = T & { result: Outcome } export type SuccessResponse = Respose & { result: "Success" } -export type ErrorResponse = Respose & { result: "Error" } +export type ErrorResponse = Respose & { result: "Error", message?:string } export type SubscriptionResponse = Respose & { result: "Success"; uuid: string } export type RPCType = 'Hook' | 'Unhook' | 'Call' diff --git a/src/Utils.ts b/src/Utils.ts index f11978a..d2cbf8f 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -4,6 +4,7 @@ import * as T from "./Types"; import * as I from "./Interfaces"; import { SubscriptionResponse } from "./Types"; + export const rpcToRpcinfo = (rpc : T.RPC, owner: T.Owner):T.RpcInfo => { switch (typeof rpc){ case "object":