From 2594e3bbc9d7b0124b2b2fabdc310355506c8696 Mon Sep 17 00:00:00 2001 From: Nev <54870357+MSNev@users.noreply.github.com> Date: Tue, 24 Mar 2020 11:24:18 -0700 Subject: [PATCH] Update to version #0.5.2 - The dynamicRemove() rollup is not removing methods with default arguments or is using the spread operator #16 and - _getBaseFuncs() usage of _getObjProto() is causing a long running script (it's broken) when running Internet explorer in 7/8 mode. #19 (#17) * The dynamicRemove() rollup is not removing methods with default arguments or is using the spread operator #16 * _getBaseFuncs() usage of _getObjProto() is causing a long running script (it's broken) when running Internet explorer in 7/8 mode. #19 - Update Version #0.5.2 Co-authored-by: Nev Wylie --- common/config/rush/npm-shrinkwrap.json | 200 ++++++++++++------------ lib/docs/assets/css/main.css | 104 ++++++------ lib/docs/assets/js/main.js | 2 +- lib/docs/assets/js/search.js | 2 +- lib/docs/globals.html | 116 ++++++-------- lib/docs/index.html | 116 ++++++-------- lib/docs/modules/_dynamicproto_.html | 155 ++++++++++-------- lib/package.json | 5 +- lib/rollup.config.js | 9 +- lib/src/DynamicProto.ts | 68 +++++--- package.json | 2 +- rollup/package.json | 2 +- rollup/src/removeDynamic.ts | 4 +- rollup/test/DynamicProtoRollup.Tests.ts | 62 ++++++++ 14 files changed, 469 insertions(+), 378 deletions(-) diff --git a/common/config/rush/npm-shrinkwrap.json b/common/config/rush/npm-shrinkwrap.json index c9e4c8e..2f0bfa5 100644 --- a/common/config/rush/npm-shrinkwrap.json +++ b/common/config/rush/npm-shrinkwrap.json @@ -3,14 +3,24 @@ "version": "0.0.0", "dependencies": { "@babel/code-frame": { - "version": "7.5.5", + "version": "7.8.3", "from": "@babel/code-frame@^7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz" + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz" + }, + "@babel/helper-validator-identifier": { + "version": "7.9.0", + "from": "@babel/helper-validator-identifier@^7.9.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz" }, "@babel/highlight": { - "version": "7.5.0", - "from": "@babel/highlight@^7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz" + "version": "7.9.0", + "from": "@babel/highlight@^7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz" + }, + "@microsoft/applicationinsights-rollup-es3": { + "version": "1.1.1", + "from": "@microsoft/applicationinsights-rollup-es3@^1.0.0", + "resolved": "https://registry.npmjs.org/@microsoft/applicationinsights-rollup-es3/-/applicationinsights-rollup-es3-1.1.1.tgz" }, "@nodelib/fs.scandir": { "version": "2.1.3", @@ -38,9 +48,9 @@ "resolved": "file:projects\\dynamicproto-rollup.tgz" }, "@types/estree": { - "version": "0.0.42", + "version": "0.0.44", "from": "@types/estree@*", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.42.tgz" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.44.tgz" }, "@types/events": { "version": "3.0.0", @@ -48,9 +58,9 @@ "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz" }, "@types/fs-extra": { - "version": "8.0.1", - "from": "@types/fs-extra@^8.0.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.1.tgz" + "version": "8.1.0", + "from": "@types/fs-extra@^8.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.0.tgz" }, "@types/glob": { "version": "7.1.1", @@ -63,9 +73,9 @@ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz" }, "@types/node": { - "version": "13.1.6", + "version": "13.9.3", "from": "@types/node@*", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.6.tgz" + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.3.tgz" }, "@types/resolve": { "version": "0.0.8", @@ -78,14 +88,14 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" }, "acorn": { - "version": "7.1.0", + "version": "7.1.1", "from": "acorn@^7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz" + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz" }, "ajv": { - "version": "6.10.2", + "version": "6.12.0", "from": "ajv@^6.5.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz" + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz" }, "ansi-regex": { "version": "2.1.1", @@ -202,9 +212,9 @@ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" }, "aws4": { - "version": "1.9.0", + "version": "1.9.1", "from": "aws4@^1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz" + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz" }, "balanced-match": { "version": "1.0.0", @@ -467,9 +477,9 @@ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz" }, "diff": { - "version": "4.0.1", + "version": "4.0.2", "from": "diff@^4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz" + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" }, "dir-glob": { "version": "3.0.1", @@ -518,11 +528,6 @@ "from": "estree-walker@^0.6.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" }, - "esutils": { - "version": "2.0.3", - "from": "esutils@^2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - }, "eventemitter2": { "version": "0.4.14", "from": "eventemitter2@>=0.4.13 <0.5.0", @@ -607,7 +612,19 @@ "extract-zip": { "version": "1.6.7", "from": "extract-zip@>=1.6.5 <2.0.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz" + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "dependencies": { + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + } + } }, "extsprintf": { "version": "1.3.0", @@ -615,14 +632,14 @@ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" }, "fast-deep-equal": { - "version": "2.0.1", - "from": "fast-deep-equal@^2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz" + "version": "3.1.1", + "from": "fast-deep-equal@^3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz" }, "fast-glob": { - "version": "3.1.1", + "version": "3.2.2", "from": "fast-glob@^3.0.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", "dependencies": { "braces": { "version": "3.0.2", @@ -635,9 +652,9 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" }, "glob-parent": { - "version": "5.1.0", + "version": "5.1.1", "from": "glob-parent@^5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz" + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz" }, "is-glob": { "version": "4.0.1", @@ -667,9 +684,9 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" }, "fastq": { - "version": "1.6.0", - "from": "fastq@>=1.6.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz" + "version": "1.6.1", + "from": "fastq@^1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz" }, "fd-slicer": { "version": "1.0.1", @@ -813,9 +830,9 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz" }, "grunt": { - "version": "1.0.4", + "version": "1.1.0", "from": "grunt@^1.0.1", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.1.0.tgz", "dependencies": { "grunt-cli": { "version": "1.2.0", @@ -835,9 +852,9 @@ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", "dependencies": { "nopt": { - "version": "4.0.1", - "from": "nopt@>=4.0.1 <4.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz" + "version": "4.0.3", + "from": "nopt@~4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz" } } }, @@ -932,7 +949,7 @@ }, "har-validator": { "version": "5.1.3", - "from": "har-validator@~5.1.0", + "from": "har-validator@~5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz" }, "has-ansi": { @@ -978,9 +995,9 @@ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" }, "hosted-git-info": { - "version": "2.8.5", + "version": "2.8.8", "from": "hosted-git-info@^2.1.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz" }, "http-signature": { "version": "1.2.0", @@ -1089,9 +1106,9 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" }, "is-finite": { - "version": "1.0.2", - "from": "is-finite@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz" + "version": "1.1.0", + "from": "is-finite@^1.0.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" }, "is-glob": { "version": "3.1.0", @@ -1189,7 +1206,7 @@ }, "js-yaml": { "version": "3.13.1", - "from": "js-yaml@~3.13.0", + "from": "js-yaml@~3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" }, "jsbn": { @@ -1233,9 +1250,9 @@ "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz" }, "kind-of": { - "version": "6.0.2", - "from": "kind-of@>=6.0.2 <7.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz" + "version": "6.0.3", + "from": "kind-of@^6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" }, "klaw": { "version": "1.3.1", @@ -1270,9 +1287,9 @@ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" }, "magic-string": { - "version": "0.25.6", + "version": "0.25.7", "from": "magic-string@^0.25.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.6.tgz" + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" }, "make-iterator": { "version": "1.0.1", @@ -1352,9 +1369,9 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" }, "minimist": { - "version": "1.2.0", - "from": "minimist@>=1.1.3 <2.0.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + "version": "1.2.5", + "from": "minimist@^1.1.3", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" }, "mixin-deep": { "version": "1.3.2", @@ -1369,16 +1386,9 @@ } }, "mkdirp": { - "version": "0.5.1", - "from": "mkdirp@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "dependencies": { - "minimist": { - "version": "0.0.8", - "from": "minimist@0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - } - } + "version": "1.0.3", + "from": "mkdirp@~1.0.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz" }, "ms": { "version": "2.0.0", @@ -1558,9 +1568,9 @@ "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz" }, "picomatch": { - "version": "2.2.1", - "from": "picomatch@^2.0.5", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz" + "version": "2.2.2", + "from": "picomatch@^2.2.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz" }, "pify": { "version": "2.3.0", @@ -1599,7 +1609,7 @@ }, "psl": { "version": "1.7.0", - "from": "psl@^1.1.24", + "from": "psl@^1.1.28", "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz" }, "punycode": { @@ -1668,9 +1678,9 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" }, "request": { - "version": "2.88.0", + "version": "2.88.2", "from": "request@^2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz" + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz" }, "request-progress": { "version": "2.0.1", @@ -1678,9 +1688,9 @@ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz" }, "resolve": { - "version": "1.14.2", + "version": "1.15.1", "from": "resolve@^1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz" + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz" }, "resolve-dir": { "version": "1.0.1", @@ -1699,7 +1709,7 @@ }, "reusify": { "version": "1.0.4", - "from": "reusify@>=1.0.0 <2.0.0", + "from": "reusify@>=1.0.4 <2.0.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" }, "rimraf": { @@ -1715,14 +1725,14 @@ } }, "rollup": { - "version": "1.29.0", + "version": "1.32.1", "from": "rollup@^1.27.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.29.0.tgz" + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz" }, "rollup-plugin-copy": { - "version": "3.1.0", + "version": "3.3.0", "from": "rollup-plugin-copy@^3.1.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.3.0.tgz", "dependencies": { "fs-extra": { "version": "8.1.0", @@ -1917,9 +1927,9 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" }, "sourcemap-codec": { - "version": "1.4.7", + "version": "1.4.8", "from": "sourcemap-codec@^1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.7.tgz" + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" }, "spdx-correct": { "version": "3.1.0", @@ -2026,16 +2036,9 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" }, "tough-cookie": { - "version": "2.4.3", - "from": "tough-cookie@~2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "dependencies": { - "punycode": { - "version": "1.4.1", - "from": "punycode@>=1.4.1 <2.0.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - } - } + "version": "2.5.0", + "from": "tough-cookie@~2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" }, "trim-newlines": { "version": "1.0.0", @@ -2043,9 +2046,9 @@ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" }, "tslib": { - "version": "1.10.0", + "version": "1.11.1", "from": "tslib@^1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz" }, "tslint": { "version": "5.20.1", @@ -2061,6 +2064,11 @@ "version": "7.1.6", "from": "glob@^7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + }, + "mkdirp": { + "version": "0.5.3", + "from": "mkdirp@^0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz" } } }, @@ -2135,7 +2143,7 @@ }, "universalify": { "version": "0.1.2", - "from": "universalify@>=0.1.0 <0.2.0", + "from": "universalify@^0.1.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" }, "unset-value": { @@ -2193,9 +2201,9 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" }, "uuid": { - "version": "3.3.3", + "version": "3.4.0", "from": "uuid@^3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz" + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" }, "v8flags": { "version": "3.1.3", diff --git a/lib/docs/assets/css/main.css b/lib/docs/assets/css/main.css index c771b84..ed89d93 100644 --- a/lib/docs/assets/css/main.css +++ b/lib/docs/assets/css/main.css @@ -492,6 +492,8 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { padding-bottom: 200px; } .row { + display: -ms-flexbox; + display: flex; position: relative; margin: 0 -10px; } .row:after { @@ -585,7 +587,7 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { 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) { + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-kind-icon:before { background-image: url(../images/icons@2x.png); background-size: 238px 204px; } } @@ -1556,7 +1558,6 @@ pre { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; z-index: 1024; top: 0 !important; bottom: 0 !important; @@ -1645,7 +1646,6 @@ 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; @@ -1823,11 +1823,6 @@ footer { -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; @@ -1884,7 +1879,7 @@ footer { border-bottom: none; } .tsd-navigation { - padding: 0 0 0 40px; } + margin: 0 0 0 40px; } .tsd-navigation a { display: block; padding-top: 2px; @@ -1934,56 +1929,45 @@ footer { .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 { +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: .3s; } + .tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: .5rem; } + .tsd-navigation.secondary ul { + transition: opacity 0.2s; } + .tsd-navigation.secondary ul li a { + padding-left: 25px; } + .tsd-navigation.secondary ul li li a { + padding-left: 45px; } + .tsd-navigation.secondary ul li li li a { + padding-left: 65px; } + .tsd-navigation.secondary ul li li li li a { + padding-left: 85px; } + .tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; } + .tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; } + .tsd-navigation.secondary ul.current a { + border-left-color: #eee; } + .tsd-navigation.secondary li.focus > a, + .tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; } + .tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; border-left-color: #eee; } - -.tsd-navigation.secondary li.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; } + .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; } } + position: static; } } .tsd-panel { margin: 20px 0; @@ -2204,7 +2188,7 @@ ul.tsd-type-parameters { padding: 0; } .tsd-page-toolbar { - position: absolute; + position: fixed; z-index: 1; top: 0; left: 0; @@ -2212,7 +2196,8 @@ ul.tsd-type-parameters { height: 40px; color: #333; background: #fff; - border-bottom: 1px solid #eee; } + border-bottom: 1px solid #eee; + transition: transform .3s linear; } .tsd-page-toolbar a { color: #333; text-decoration: none; } @@ -2232,6 +2217,9 @@ ul.tsd-type-parameters { .tsd-page-toolbar .table-cell:first-child { width: 100%; } +.tsd-page-toolbar--hide { + transform: translateY(-100%); } + .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { content: ''; display: inline-block; @@ -2242,7 +2230,7 @@ ul.tsd-type-parameters { 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) { + @media (-webkit-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; } } diff --git a/lib/docs/assets/js/main.js b/lib/docs/assets/js/main.js index 667b269..5fe710b 100644 --- a/lib/docs/assets/js/main.js +++ b/lib/docs/assets/js/main.js @@ -1 +1 @@ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0":">",'"':""","'":"'","`":"`"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);athis.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.posscrollTop;)index-=1;for(;index ul.current"),_this.$navigation=_this.$el.parents(".menu-sticky-wrap"),_this.$container=_this.$el.parents(".row"),_this.listenTo(typedoc.viewport,"resize",_this.onResize),hasPositionSticky||_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.onResize(typedoc.viewport.width,typedoc.viewport.height),_this}return __extends(MenuSticky,_super),MenuSticky.prototype.setState=function(state){this.state!=state&&(""!=this.state&&this.$navigation.removeClass(this.state),this.state=state,""!=this.state&&this.$navigation.addClass(this.state))},MenuSticky.prototype.onResize=function(width,height){this.stickyMode=StickyMode.None,this.setState("");var containerTop=this.$container.offset().top,containerHeight=this.$container.height()||0,bottom=containerTop+containerHeight;if(this.$navigation.height()this.stickyBottom?this.setState("sticky-bottom"):this.setState(scrollTop+20>this.stickyTop?"sticky-current":""):this.stickyMode==StickyMode.Secondary&&(scrollTop>this.stickyBottom?this.setState("sticky-bottom"):this.setState(scrollTop+20>this.stickyTop?"sticky":""))},MenuSticky}(Backbone.View);typedoc.MenuSticky=MenuSticky,typedoc.registerComponent(MenuSticky,".menu-sticky")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i"+match+""}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return""+match+""}))&&(name=''+parent+"."+name),$results.append('
  • '+name+"
  • ")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1 .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;e.preventDefault(),_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={})); \ No newline at end of file +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0":">",'"':""","'":"'","`":"`"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);athis.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10scrollTop;)index-=1;for(;index"+match+""}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return""+match+""}))&&(name=''+parent+"."+name),$results.append('
  • '+name+"
  • ")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1 .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={})); \ No newline at end of file diff --git a/lib/docs/assets/js/search.js b/lib/docs/assets/js/search.js index 0180182..629891a 100644 --- a/lib/docs/assets/js/search.js +++ b/lib/docs/assets/js/search.js @@ -1,3 +1,3 @@ var typedoc = typedoc || {}; typedoc.search = typedoc.search || {}; - typedoc.search.data = {"kinds":{"1":"External module","64":"Function","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":1,"name":"\"DynamicProto\"","url":"modules/_dynamicproto_.html","classes":"tsd-kind-external-module"},{"id":1,"kind":4194304,"name":"DynamicProtoDelegate","url":"modules/_dynamicproto_.html#dynamicprotodelegate","classes":"tsd-kind-type-alias tsd-parent-kind-external-module tsd-has-type-parameter","parent":"\"DynamicProto\""},{"id":2,"kind":65536,"name":"__type","url":"modules/_dynamicproto_.html#dynamicprotodelegate.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"\"DynamicProto\".DynamicProtoDelegate"},{"id":3,"kind":64,"name":"dynamicProto","url":"modules/_dynamicproto_.html#dynamicproto","classes":"tsd-kind-function tsd-parent-kind-external-module tsd-has-type-parameter","parent":"\"DynamicProto\""}]}; \ No newline at end of file + typedoc.search.data = {"kinds":{"1":"External module","64":"Function","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":1,"name":"\"DynamicProto\"","url":"modules/_dynamicproto_.html","classes":"tsd-kind-external-module"},{"id":1,"kind":64,"name":"_hasVisited","url":"modules/_dynamicproto_.html#_hasvisited","classes":"tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported","parent":"\"DynamicProto\""},{"id":2,"kind":4194304,"name":"DynamicProtoDelegate","url":"modules/_dynamicproto_.html#dynamicprotodelegate","classes":"tsd-kind-type-alias tsd-parent-kind-external-module tsd-has-type-parameter","parent":"\"DynamicProto\""},{"id":3,"kind":65536,"name":"__type","url":"modules/_dynamicproto_.html#dynamicprotodelegate.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"\"DynamicProto\".DynamicProtoDelegate"},{"id":4,"kind":64,"name":"dynamicProto","url":"modules/_dynamicproto_.html#dynamicproto","classes":"tsd-kind-function tsd-parent-kind-external-module tsd-has-type-parameter","parent":"\"DynamicProto\""}]}; \ No newline at end of file diff --git a/lib/docs/globals.html b/lib/docs/globals.html index 335ccc0..d60266e 100644 --- a/lib/docs/globals.html +++ b/lib/docs/globals.html @@ -500,6 +500,8 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { padding-bottom: 200px; } .row { + display: -ms-flexbox; + display: flex; position: relative; margin: 0 -10px; } .row:after { @@ -593,7 +595,7 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { height: 17px; margin: 0 3px 2px 0; background-image: url(data:image/png;base64,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); } - @media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-kind-icon:before { background-image: url(data:image/png;base64,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); background-size: 238px 204px; } } @@ -1564,7 +1566,6 @@ pre { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; z-index: 1024; top: 0 !important; bottom: 0 !important; @@ -1653,7 +1654,6 @@ 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; @@ -1831,11 +1831,6 @@ footer { -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; @@ -1892,7 +1887,7 @@ footer { border-bottom: none; } .tsd-navigation { - padding: 0 0 0 40px; } + margin: 0 0 0 40px; } .tsd-navigation a { display: block; padding-top: 2px; @@ -1942,56 +1937,45 @@ footer { .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 { +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: .3s; } + .tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: .5rem; } + .tsd-navigation.secondary ul { + transition: opacity 0.2s; } + .tsd-navigation.secondary ul li a { + padding-left: 25px; } + .tsd-navigation.secondary ul li li a { + padding-left: 45px; } + .tsd-navigation.secondary ul li li li a { + padding-left: 65px; } + .tsd-navigation.secondary ul li li li li a { + padding-left: 85px; } + .tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; } + .tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; } + .tsd-navigation.secondary ul.current a { + border-left-color: #eee; } + .tsd-navigation.secondary li.focus > a, + .tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; } + .tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; border-left-color: #eee; } - -.tsd-navigation.secondary li.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; } + .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; } } + position: static; } } .tsd-panel { margin: 20px 0; @@ -2212,7 +2196,7 @@ ul.tsd-type-parameters { padding: 0; } .tsd-page-toolbar { - position: absolute; + position: fixed; z-index: 1; top: 0; left: 0; @@ -2220,7 +2204,8 @@ ul.tsd-type-parameters { height: 40px; color: #333; background: #fff; - border-bottom: 1px solid #eee; } + border-bottom: 1px solid #eee; + transition: transform .3s linear; } .tsd-page-toolbar a { color: #333; text-decoration: none; } @@ -2240,6 +2225,9 @@ ul.tsd-type-parameters { .tsd-page-toolbar .table-cell:first-child { width: 100%; } +.tsd-page-toolbar--hide { + transform: translateY(-100%); } + .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { content: ''; display: inline-block; @@ -2250,7 +2238,7 @@ ul.tsd-type-parameters { 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) { + @media (-webkit-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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC); background-size: 320px 40px; } } @@ -2424,7 +2412,7 @@ img { _self.initialize = () => { ... } - // Warnings: While the following will work as _self is simply a ference to + // Warnings: While the following will work as _self is simply a reference to // this, if anyone overrides myFunction() the overridden will be called first // as the normal JavaScript method resolution will occur and the defined // _self.initialize() function is actually gets removed from the instance and @@ -2495,11 +2483,11 @@ img { //... doSomething(); }; - _self.function1 = function () { + _self.function2 = function () { //... doSomething(); }; - _self.function1 = function () { + _self.function3 = function () { //... doSomething(); }; @@ -2508,7 +2496,7 @@ img { return DynamicClass; }());

    Which results in the following minified code which is much smaller and represents ~63% compression.

    -
    var DynamicClass=function n(){dynamicProto(n,this,function(n,o){n.property1=[],n.property1.push("Hello()"),n.function1=function(){doSomething()},n.function1=function(){doSomething()},n.function1=function(){doSomething()}})};
    +
    var DynamicClass=function n(){dynamicProto(n,this,function(n,o){n.property1=[],n.property1.push("Hello()"),n.function1=function(){doSomething()},n.function2=function(){doSomething()},n.function3=function(){doSomething()}})};

    So when looking at the code for NormalClass and DynamicClass, both end up with 1 instance property called property1 and the 3 functions function1, function2 and function3, in both cases the functions are defined ONLY on the "class" prototype and property1 is defined on the instance. So anyone, whether using JavaScript or TypeScript will be able to "extend" either of class without any concerns about overloading instance functions and needing to save any previous method. And you are extending a 3rd party library you no longer have to worry about them changing the implementation as dynamicProto() handles converting overriden instance functions into prototype level ones. Yes, this means that if you don't override instance function it will continue to be an instance function.

    When to use

    @@ -2900,7 +2888,7 @@ img {

    External modules

    @@ -2972,7 +2960,7 @@ img { \ No newline at end of file diff --git a/lib/docs/index.html b/lib/docs/index.html index 5110852..f000a8c 100644 --- a/lib/docs/index.html +++ b/lib/docs/index.html @@ -500,6 +500,8 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { padding-bottom: 200px; } .row { + display: -ms-flexbox; + display: flex; position: relative; margin: 0 -10px; } .row:after { @@ -593,7 +595,7 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { height: 17px; margin: 0 3px 2px 0; background-image: url(data:image/png;base64,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); } - @media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-kind-icon:before { background-image: url(data:image/png;base64,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); background-size: 238px 204px; } } @@ -1564,7 +1566,6 @@ pre { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; z-index: 1024; top: 0 !important; bottom: 0 !important; @@ -1653,7 +1654,6 @@ 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; @@ -1831,11 +1831,6 @@ footer { -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; @@ -1892,7 +1887,7 @@ footer { border-bottom: none; } .tsd-navigation { - padding: 0 0 0 40px; } + margin: 0 0 0 40px; } .tsd-navigation a { display: block; padding-top: 2px; @@ -1942,56 +1937,45 @@ footer { .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 { +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: .3s; } + .tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: .5rem; } + .tsd-navigation.secondary ul { + transition: opacity 0.2s; } + .tsd-navigation.secondary ul li a { + padding-left: 25px; } + .tsd-navigation.secondary ul li li a { + padding-left: 45px; } + .tsd-navigation.secondary ul li li li a { + padding-left: 65px; } + .tsd-navigation.secondary ul li li li li a { + padding-left: 85px; } + .tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; } + .tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; } + .tsd-navigation.secondary ul.current a { + border-left-color: #eee; } + .tsd-navigation.secondary li.focus > a, + .tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; } + .tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; border-left-color: #eee; } - -.tsd-navigation.secondary li.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; } + .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; } } + position: static; } } .tsd-panel { margin: 20px 0; @@ -2212,7 +2196,7 @@ ul.tsd-type-parameters { padding: 0; } .tsd-page-toolbar { - position: absolute; + position: fixed; z-index: 1; top: 0; left: 0; @@ -2220,7 +2204,8 @@ ul.tsd-type-parameters { height: 40px; color: #333; background: #fff; - border-bottom: 1px solid #eee; } + border-bottom: 1px solid #eee; + transition: transform .3s linear; } .tsd-page-toolbar a { color: #333; text-decoration: none; } @@ -2240,6 +2225,9 @@ ul.tsd-type-parameters { .tsd-page-toolbar .table-cell:first-child { width: 100%; } +.tsd-page-toolbar--hide { + transform: translateY(-100%); } + .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { content: ''; display: inline-block; @@ -2250,7 +2238,7 @@ ul.tsd-type-parameters { 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) { + @media (-webkit-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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC); background-size: 320px 40px; } } @@ -2424,7 +2412,7 @@ img { _self.initialize = () => { ... } - // Warnings: While the following will work as _self is simply a ference to + // Warnings: While the following will work as _self is simply a reference to // this, if anyone overrides myFunction() the overridden will be called first // as the normal JavaScript method resolution will occur and the defined // _self.initialize() function is actually gets removed from the instance and @@ -2495,11 +2483,11 @@ img { //... doSomething(); }; - _self.function1 = function () { + _self.function2 = function () { //... doSomething(); }; - _self.function1 = function () { + _self.function3 = function () { //... doSomething(); }; @@ -2508,7 +2496,7 @@ img { return DynamicClass; }());

    Which results in the following minified code which is much smaller and represents ~63% compression.

    -
    var DynamicClass=function n(){dynamicProto(n,this,function(n,o){n.property1=[],n.property1.push("Hello()"),n.function1=function(){doSomething()},n.function1=function(){doSomething()},n.function1=function(){doSomething()}})};
    +
    var DynamicClass=function n(){dynamicProto(n,this,function(n,o){n.property1=[],n.property1.push("Hello()"),n.function1=function(){doSomething()},n.function2=function(){doSomething()},n.function3=function(){doSomething()}})};

    So when looking at the code for NormalClass and DynamicClass, both end up with 1 instance property called property1 and the 3 functions function1, function2 and function3, in both cases the functions are defined ONLY on the "class" prototype and property1 is defined on the instance. So anyone, whether using JavaScript or TypeScript will be able to "extend" either of class without any concerns about overloading instance functions and needing to save any previous method. And you are extending a 3rd party library you no longer have to worry about them changing the implementation as dynamicProto() handles converting overriden instance functions into prototype level ones. Yes, this means that if you don't override instance function it will continue to be an instance function.

    When to use

    @@ -2901,7 +2889,7 @@ img {

    External modules

    @@ -2973,7 +2961,7 @@ img { \ No newline at end of file diff --git a/lib/docs/modules/_dynamicproto_.html b/lib/docs/modules/_dynamicproto_.html index 0533620..57d8323 100644 --- a/lib/docs/modules/_dynamicproto_.html +++ b/lib/docs/modules/_dynamicproto_.html @@ -500,6 +500,8 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { padding-bottom: 200px; } .row { + display: -ms-flexbox; + display: flex; position: relative; margin: 0 -10px; } .row:after { @@ -593,7 +595,7 @@ ul.tsd-descriptions > li > :last-child > :last-child > :last-child { height: 17px; margin: 0 3px 2px 0; background-image: url(data:image/png;base64,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); } - @media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { .tsd-kind-icon:before { background-image: url(data:image/png;base64,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); background-size: 238px 204px; } } @@ -1564,7 +1566,6 @@ pre { position: fixed !important; overflow: auto; -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; z-index: 1024; top: 0 !important; bottom: 0 !important; @@ -1653,7 +1654,6 @@ 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; @@ -1831,11 +1831,6 @@ footer { -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; @@ -1892,7 +1887,7 @@ footer { border-bottom: none; } .tsd-navigation { - padding: 0 0 0 40px; } + margin: 0 0 0 40px; } .tsd-navigation a { display: block; padding-top: 2px; @@ -1942,56 +1937,45 @@ footer { .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 { +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: -webkit-sticky; + position: sticky; + top: calc(.5rem + 40px); + transition: .3s; } + .tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: .5rem; } + .tsd-navigation.secondary ul { + transition: opacity 0.2s; } + .tsd-navigation.secondary ul li a { + padding-left: 25px; } + .tsd-navigation.secondary ul li li a { + padding-left: 45px; } + .tsd-navigation.secondary ul li li li a { + padding-left: 65px; } + .tsd-navigation.secondary ul li li li li a { + padding-left: 85px; } + .tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; } + .tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; } + .tsd-navigation.secondary ul.current a { + border-left-color: #eee; } + .tsd-navigation.secondary li.focus > a, + .tsd-navigation.secondary ul.current li.focus > a { + border-left-color: #000; } + .tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; border-left-color: #eee; } - -.tsd-navigation.secondary li.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; } + .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; } } + position: static; } } .tsd-panel { margin: 20px 0; @@ -2212,7 +2196,7 @@ ul.tsd-type-parameters { padding: 0; } .tsd-page-toolbar { - position: absolute; + position: fixed; z-index: 1; top: 0; left: 0; @@ -2220,7 +2204,8 @@ ul.tsd-type-parameters { height: 40px; color: #333; background: #fff; - border-bottom: 1px solid #eee; } + border-bottom: 1px solid #eee; + transition: transform .3s linear; } .tsd-page-toolbar a { color: #333; text-decoration: none; } @@ -2240,6 +2225,9 @@ ul.tsd-type-parameters { .tsd-page-toolbar .table-cell:first-child { width: 100%; } +.tsd-page-toolbar--hide { + transform: translateY(-100%); } + .tsd-widget:before, .tsd-select .tsd-select-label:before, .tsd-select .tsd-select-list li:before { content: ''; display: inline-block; @@ -2250,7 +2238,7 @@ ul.tsd-type-parameters { 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) { + @media (-webkit-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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC); background-size: 320px 40px; } } @@ -2380,6 +2368,9 @@ img {
  • DynamicProtoDelegate
  • +
  • + _hasVisited +
  • dynamicProto
  • @@ -2400,6 +2391,7 @@ img {

    Functions

    @@ -2411,10 +2403,10 @@ img {

    DynamicProtoDelegate

    -
    DynamicProtoDelegate<DPType>: function
    +
    DynamicProtoDelegate<DPType>: (theTarget: DPType, baseFuncProxy?: DPType) => void
    @@ -2447,7 +2439,7 @@ img {

    Type declaration

    • -
        +
        • (theTarget: DPType, baseFuncProxy?: DPType): void
          @@ -2471,6 +2463,43 @@ img {

    Functions

    +
    + +

    _hasVisited

    +
      +
    • _hasVisited(values: any[], value: any): boolean
    • +
    +
      +
    • + +
      +
      +

      Returns whether the value is included in the array

      +
      +
      +

      Parameters

      +
        +
      • +
        values: any[]
        +
        +

        The array of values

        +
        +
      • +
      • +
        value: any
        +
        +

        The value

        +
        +
      • +
      +

      Returns boolean

      +
    • +
    +

    dynamicProto

    @@ -2481,7 +2510,7 @@ img {
  • @@ -2642,7 +2671,7 @@ img {
    \ No newline at end of file diff --git a/lib/package.json b/lib/package.json index 9700a37..c5b59c8 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,7 +1,7 @@ { "name": "@microsoft/dynamicproto-js", "author": "Microsoft Application Insights Team", - "version": "0.5.1", + "version": "0.5.2", "description": "Microsoft Dynamic Proto Utility", "keywords": [ "javascript", @@ -40,7 +40,8 @@ "license": "MIT", "sideEffects": false, "devDependencies": { - "@microsoft/dynamicproto-rollup": "0.5.1", + "@microsoft/applicationinsights-rollup-es3" : "^1.0.0", + "@microsoft/dynamicproto-rollup": "0.5.2", "grunt": "^1.0.1", "grunt-cli": "^1.3.2", "grunt-contrib-qunit": "^2.0.0", diff --git a/lib/rollup.config.js b/lib/rollup.config.js index 3b8e318..772ef1c 100644 --- a/lib/rollup.config.js +++ b/lib/rollup.config.js @@ -4,6 +4,7 @@ import {uglify} from "rollup-plugin-uglify"; import replace from "rollup-plugin-replace"; import minify from 'rollup-plugin-minify-es'; import dynamicRemove from "../tools/rollup/esm/removedynamic"; +import { es3Check, es3Poly } from "@microsoft/applicationinsights-rollup-es3"; const version = require("./package.json").version; const inputName = "./out/lib/src/DynamicProto"; @@ -35,7 +36,9 @@ const nodeUmdRollupConfigFactory = (isProduction) => { "// Licensed under the MIT License.": "" } }), - nodeResolve() + nodeResolve(), + es3Poly(), + es3Check() ] }; @@ -88,7 +91,9 @@ const moduleRollupConfigFactory = (format, isProduction) => { "// Licensed under the MIT License.": "" } }), - nodeResolve() + nodeResolve(), + es3Poly(), + es3Check() ] }; diff --git a/lib/src/DynamicProto.ts b/lib/src/DynamicProto.ts index 26bb375..7f960ba 100644 --- a/lib/src/DynamicProto.ts +++ b/lib/src/DynamicProto.ts @@ -19,12 +19,6 @@ const Prototype = 'prototype'; */ const strFunction = 'function'; -/** - * Constant string defined to support minimization - * @ignore - */ -const GetPrototypeOf = 'getPrototypeOf'; - /** * Used to define the name of the instance function lookup table * @ignore @@ -55,6 +49,18 @@ const DynClassNamePrefix = '_dynCls$'; */ const UnknownValue = '_unknown_'; +/** + * Constant string defined to support minimization + * @ignore + */ +const str__Proto = "__proto__"; + +/** + * Pre-lookup to check if we are running on a modern browser (i.e. not IE8) + * @ignore + */ +let _objGetPrototypeOf = Object["getPrototypeOf"]; + /** * Internal Global used to generate a unique dynamic class name, every new class will increase this value * @ignore @@ -103,19 +109,14 @@ function _isObjectArrayOrFunctionPrototype(target:any) function _getObjProto(target:any) { if (target) { // This method doesn't existing in older browsers (e.g. IE8) - if (Object[GetPrototypeOf]) { - return Object[GetPrototypeOf](target); + if (_objGetPrototypeOf) { + return _objGetPrototypeOf(target); } - var proto = "__proto__"; // using indexed lookup to assist with minification - if(_isObjectOrArrayPrototype(target[proto])) { - return target[proto]; - } - - var construct = target[Constructor]; - if (construct) { - // May break if the constructor has been changed or removed - return construct[Prototype]; + // target[Constructor] May break if the constructor has been changed or removed + let newProto = target[str__Proto] || target[Prototype] || target[Constructor]; + if(newProto) { + return newProto; } } @@ -127,10 +128,11 @@ function _getObjProto(target:any) { * callback and prototype generation. * @param target The target object, may be a prototpe or class object * @param funcName The function name + * @param skipOwn Skips the check for own property * @ignore */ -function _isDynamicCandidate(target:any, funcName:string) { - return (funcName !== Constructor && _isFunction(target[funcName]) && _hasOwnProperty(target, funcName)); +function _isDynamicCandidate(target:any, funcName:string, skipOwn:boolean) { + return (funcName !== Constructor && _isFunction(target[funcName]) && (skipOwn || _hasOwnProperty(target, funcName))); } /** @@ -155,7 +157,7 @@ function _getInstanceFuncs(thisTarget:any): any { // Save any existing instance functions for (var name in thisTarget) { // Don't include any dynamic prototype instances - as we only want the real functions - if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name)) { + if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) { // Create an instance callback for pasing the base function to the caller instFuncs[name] = thisTarget[name]; } @@ -164,6 +166,21 @@ function _getInstanceFuncs(thisTarget:any): any { return instFuncs; } +/** + * Returns whether the value is included in the array + * @param values The array of values + * @param value The value + */ +function _hasVisited(values:any[], value:any) { + for (let lp = values.length - 1; lp >= 0; lp--) { + if (values[lp] === value) { + return true; + } + } + + return false; +} + /** * Returns an object that contains callback functions for all "base/super" functions, this is used to "save" * enabling calling super.xxx() functions without requiring that the base "class" has defined a prototype references @@ -186,13 +203,17 @@ function _getBaseFuncs(classProto:any, thisTarget:any, instFuncs:any): any { // Get the base prototype functions var baseProto = _getObjProto(classProto); + let visited:any[] = []; // Don't include base object functions for Object, Array or Function - while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto)) { + while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) { // look for prototype functions for (var name in baseProto) { // Don't include any dynamic prototype instances - as we only want the real functions - if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name)) { + // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the + // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return + // the Object prototype methods while bypassing the check + if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) { // Create an instance callback for pasing the base function to the caller baseFuncs[name] = _instFuncProxy(thisTarget, baseProto[name]); } @@ -201,6 +222,7 @@ function _getBaseFuncs(classProto:any, thisTarget:any, instFuncs:any): any { // We need to find all possible functions that might be overloaded by walking the entire prototype chain // This avoids the caller from needing to check whether it's direct base class implements the function or not // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes. + visited.push(baseProto); baseProto = _getObjProto(baseProto); } @@ -258,7 +280,7 @@ function _populatePrototype(proto:any, className:string, target:any, baseInstFun let instFuncs = instFuncTable[className] = (instFuncTable[className] || {}); // fetch and assign if as it may not exist yet for (var name in target) { // Only add overriden functions - if (_isDynamicCandidate(target, name) && target[name] !== baseInstFuncs[name] ) { + if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name] ) { // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function instFuncs[name] = target[name]; delete target[name]; diff --git a/package.json b/package.json index 5a9193c..27708ef 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@microsoft/dynamicproto-js", "description": "Microsoft Dynamic Proto Utility", - "version": "0.5.1", + "version": "0.5.2", "keywords": [ "javascript", "dynamic prototype", diff --git a/rollup/package.json b/rollup/package.json index 17ccd28..fa50c5a 100644 --- a/rollup/package.json +++ b/rollup/package.json @@ -1,7 +1,7 @@ { "name": "@microsoft/dynamicproto-rollup", "description": "Microsoft Dynamic Proto Utility Rollup", - "version": "0.5.1", + "version": "0.5.2", "keywords": [ "javascript", "dynamic prototype", diff --git a/rollup/src/removeDynamic.ts b/rollup/src/removeDynamic.ts index 4c01285..c9bafe8 100644 --- a/rollup/src/removeDynamic.ts +++ b/rollup/src/removeDynamic.ts @@ -50,11 +50,11 @@ function isNullOrWhitespace(value:string) { export default function dynamicRemove(options:IDynamicProtoRollupOptions = {}) { var token = (options || {}).tagname || "@DynamicProtoStub"; var replaceValue = (options || {}).comment || "// Removed Stub for %function%."; - let tokenGroups:Array = [4, 9, 12]; + let tokenGroups:Array = [4, 10, 13]; let funcNameGroup:number = 6; // Because of the test infrastructure (PhamtonJS) the RegEx can't use the "s" flag (gis vs gi) or named groups - const pattern = new RegExp("([\\t ]*\\/\\*\\*((?!\\*\\/)(.|\r|\n))*\\*\\/[\\s]*)*(\\/\\/[\\t ]*" + escape(token) + "[^\\r\\n]*(\\r\\n|\n\r|\r|\n))*[\\t ]*([\\w]*\\.prototype(\\.|\\[\\\"|\\[\\')[\\w]*(\\\"\\]|\\'\\])?)[\\t ]*=[\\t ]*function[\\t ]*\\([^\\{]*\\{[^\\/\\}]*(\\/[\\*\\/][\\t ]*" + escape(token) + "[^\\*\\r\\n]*(\\*\\/)?(\\r\\n|\n\r|\r|\n))*[^\\}]*\\};([\\t ]*\\/\\/[\\t ]*" + escape(token) + "[^\\r\\n]*)*", 'gi'); + const pattern = new RegExp("([\\t ]*\\/\\*\\*((?!\\*\\/)(.|\\r|\\n))*\\*\\/[\\s]*)*(\\/\\/[\\t ]*" + escape(token) + "[^\\r\\n]*(\\r\\n|\\n\\r|\\r|\\n))*[\\t ]*([\\w]*\\.prototype(\\.|\\[\\\"|\\[\\')[\\w]*(\\\"\\]|\\'\\])?)[\\t ]*=[\\t ]*function[\\t ]*\\([^\\{]*\\{[^\\/\\}\\{]*(\\{[^\\}]*\\}[^\\/\\}\\{]*)*(\\/[\\*\\/][\\t ]*" + escape(token) + "[^\\*\\r\\n]*(\\*\\/)?(\\r\\n|\\n\\r|\\r|\\n))*[^\\}]*\\};([\\t ]*\\/\\/[\\t ]*" + escape(token) + "[^\\r\\n]*)*", 'gi'); function formatError(token:string, code:string, pos:number, id:string) { let lines = code.split(/(?:\r\n|\n\r|\r|\n)/); diff --git a/rollup/test/DynamicProtoRollup.Tests.ts b/rollup/test/DynamicProtoRollup.Tests.ts index 3baa50f..3f6faa7 100644 --- a/rollup/test/DynamicProtoRollup.Tests.ts +++ b/rollup/test/DynamicProtoRollup.Tests.ts @@ -600,5 +600,67 @@ export class DynamicProtoRollupTests extends TestClass { "6 :// Removed Stub for ClassName.prototype.methodName.\n"); } }); + + + this.testCase({ + name: "Test prefixed comment with typescript boilerplate for spread and default arguments", + test: () => { + this.doTest(null, + "/**\n" + + " * This method tells if given durations should be excluded from collection.\n" + + " */\n" + + "PageViewPerformanceManager.prototype.shouldCollectDuration = function () {\n" + + " var durations = [];\n" + + " for (var _i = 0; _i < arguments.length; _i++) {\n" + + " durations[_i] = arguments[_i];\n" + + " }\n" + + " // @DynamicProtoStub\n" + + " return true;\n" + + "};\n", + "// Removed Stub for PageViewPerformanceManager.prototype.shouldCollectDuration.\n"); + + this.doTest(null, + " /**\n" + + " * Manually trigger an immediate send of all telemetry still in the buffer using beacon Sender.\n" + + " * Fall back to xhr sender if beacon is not supported.\n" + + " * @param {boolean} [async=true]\n" + + " * @memberof Initialization\n" + + " */\n" + + "Initialization.prototype.onunloadFlush = function (async) {\n" + + " if (async === void 0) { async = true; }\n" + + " // @DynamicProtoStub\n" + + "};\n", + "// Removed Stub for Initialization.prototype.onunloadFlush.\n"); + + this.doTest(null, + "/**\n" + + " * This method tells if given durations should be excluded from collection.\n" + + " */\n" + + "PageViewPerformanceManager.prototype.shouldCollectDuration = function () {\n" + + " var durations = [];\n" + + " for (var _i = 0; _i < arguments.length; _i++) {\n" + + " durations[_i] = arguments[_i];\n" + + " }\n" + + " /* @DynamicProtoStub\n" + + " */\n" + + " return true;\n" + + "};\n", + "// Removed Stub for PageViewPerformanceManager.prototype.shouldCollectDuration.\n"); + + this.doTest(null, + " /**\n" + + " * Manually trigger an immediate send of all telemetry still in the buffer using beacon Sender.\n" + + " * Fall back to xhr sender if beacon is not supported.\n" + + " * @param {boolean} [async=true]\n" + + " * @memberof Initialization\n" + + " */\n" + + "Initialization.prototype.onunloadFlush = function (async) {\n" + + " if (async === void 0) { async = true; }\n" + + " /* @DynamicProtoStub\n" + + " */\n" + + "};\n", + "// Removed Stub for Initialization.prototype.onunloadFlush.\n"); + } + }); } }