mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 07:00:11 +01:00
Adopt latest typedoc
This commit is contained in:
parent
c854fa12c6
commit
5f1f3bb148
30 changed files with 885 additions and 930 deletions
0
monaco.d.ts → doc/monaco.d.ts
vendored
0
monaco.d.ts → doc/monaco.d.ts
vendored
6
doc/tsconfig.json
Normal file
6
doc/tsconfig.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"module": "CommonJS"
|
||||
},
|
||||
"include": ["monaco.d.ts"]
|
||||
}
|
||||
8
doc/typedoc.json
Normal file
8
doc/typedoc.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"entryPoints": ["monaco.d.ts"],
|
||||
"out": "../../monaco-editor-website/api",
|
||||
"theme": "../website/typedoc-theme",
|
||||
"name": "Monaco Editor API",
|
||||
"readme": "none",
|
||||
"hideGenerator": true
|
||||
}
|
||||
34
gulpfile.js
34
gulpfile.js
|
|
@ -6,10 +6,8 @@ const path = require('path');
|
|||
const fs = require('fs');
|
||||
const rimraf = require('rimraf');
|
||||
const cp = require('child_process');
|
||||
const os = require('os');
|
||||
const yaserver = require('yaserver');
|
||||
const http = require('http');
|
||||
const typedoc = require("gulp-typedoc");
|
||||
const CleanCSS = require('clean-css');
|
||||
const uncss = require('uncss');
|
||||
const File = require('vinyl');
|
||||
|
|
@ -435,7 +433,7 @@ function addPluginDTS() {
|
|||
}));
|
||||
|
||||
fs.writeFileSync('website/playground/monaco.d.ts.txt', contents);
|
||||
fs.writeFileSync('monaco.d.ts', contents);
|
||||
fs.writeFileSync('doc/monaco.d.ts', contents);
|
||||
this.emit('data', data);
|
||||
});
|
||||
}
|
||||
|
|
@ -531,32 +529,6 @@ function addPluginThirdPartyNotices() {
|
|||
|
||||
|
||||
// --- website
|
||||
function typedocStream() {
|
||||
const initialCWD = process.cwd();
|
||||
// TypeDoc is silly and consumes the `exclude` option.
|
||||
// This option does not make it to typescript compiler, which ends up including /node_modules/ .d.ts files.
|
||||
// We work around this by changing the cwd... :O
|
||||
return gulp.src('monaco.d.ts')
|
||||
.pipe(es.through(undefined, function() {
|
||||
process.chdir(os.tmpdir());
|
||||
this.emit('end');
|
||||
}))
|
||||
.pipe(typedoc({
|
||||
mode: 'file',
|
||||
out: path.join(__dirname, '../monaco-editor-website/api'),
|
||||
includeDeclarations: true,
|
||||
theme: path.join(__dirname, 'website/typedoc-theme'),
|
||||
entryPoint: 'monaco',
|
||||
name: 'Monaco Editor API v' + MONACO_EDITOR_VERSION,
|
||||
readme: 'none',
|
||||
hideGenerator: true
|
||||
}))
|
||||
.pipe(es.through(undefined, function() {
|
||||
process.chdir(initialCWD);
|
||||
this.emit('end');
|
||||
}))
|
||||
};
|
||||
gulp.task('typedoc', () => typedocStream());
|
||||
const cleanWebsiteTask = function(cb) { rimraf('../monaco-editor-website', { maxBusyTries: 1 }, cb); };
|
||||
const buildWebsiteTask = taskSeries(cleanWebsiteTask, function() {
|
||||
|
||||
|
|
@ -651,9 +623,7 @@ const buildWebsiteTask = taskSeries(cleanWebsiteTask, function() {
|
|||
this.emit('end');
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest('../monaco-editor-website')),
|
||||
|
||||
typedocStream()
|
||||
.pipe(gulp.dest('../monaco-editor-website'))
|
||||
)
|
||||
|
||||
.pipe(es.through(function(data) {
|
||||
|
|
|
|||
449
package-lock.json
generated
449
package-lock.json
generated
|
|
@ -11,9 +11,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"acorn": {
|
||||
"version": "6.4.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
|
||||
"integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
|
||||
"version": "6.4.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
|
||||
"integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
|
||||
"dev": true
|
||||
},
|
||||
"acorn-globals": {
|
||||
|
|
@ -33,9 +33,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.12.5",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz",
|
||||
"integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==",
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
|
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
|
|
@ -312,9 +312,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
|
||||
"integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==",
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
|
||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
|
||||
"dev": true
|
||||
},
|
||||
"bach": {
|
||||
|
|
@ -494,6 +494,22 @@
|
|||
"unset-value": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"call-bind": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"get-intrinsic": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"camelcase": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
|
||||
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
|
||||
"dev": true
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
|
|
@ -662,6 +678,12 @@
|
|||
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
|
||||
"dev": true
|
||||
},
|
||||
"colors": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
|
||||
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
|
||||
"dev": true
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
|
|
@ -960,37 +982,6 @@
|
|||
"is-arrayish": "^0.2.1"
|
||||
}
|
||||
},
|
||||
"es-abstract": {
|
||||
"version": "1.18.0-next.0",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz",
|
||||
"integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-callable": "^1.2.0",
|
||||
"is-negative-zero": "^2.0.0",
|
||||
"is-regex": "^1.1.1",
|
||||
"object-inspect": "^1.8.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.0",
|
||||
"string.prototype.trimend": "^1.0.1",
|
||||
"string.prototype.trimstart": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"es-to-primitive": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
|
||||
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-callable": "^1.1.4",
|
||||
"is-date-object": "^1.0.1",
|
||||
"is-symbol": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"es5-ext": {
|
||||
"version": "0.10.53",
|
||||
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
|
||||
|
|
@ -1141,9 +1132,9 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"type": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz",
|
||||
"integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==",
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/type/-/type-2.2.0.tgz",
|
||||
"integrity": "sha512-M/u37b4oSGlusaU8ZB96BfFPWQ8MbsZYXB+kXGMiDj6IKinkcNaQvmirBuWj8mAXqP6LYn1rQvbTYum3yPhaOA==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
|
|
@ -1405,15 +1396,15 @@
|
|||
"dev": true
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "9.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
|
||||
"integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
|
||||
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"at-least-node": "^1.0.0",
|
||||
"graceful-fs": "^4.2.0",
|
||||
"jsonfile": "^6.0.1",
|
||||
"universalify": "^1.0.0"
|
||||
"universalify": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"fs-mkdirp-stream": {
|
||||
|
|
@ -1455,6 +1446,17 @@
|
|||
"integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
|
||||
"dev": true
|
||||
},
|
||||
"get-intrinsic": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
||||
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"get-value": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
|
||||
|
|
@ -1572,9 +1574,9 @@
|
|||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
|
||||
"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
|
||||
"version": "4.2.6",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
|
||||
"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
|
||||
"dev": true
|
||||
},
|
||||
"gulp": {
|
||||
|
|
@ -1617,27 +1619,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"gulp-typedoc": {
|
||||
"version": "2.2.5",
|
||||
"resolved": "https://registry.npmjs.org/gulp-typedoc/-/gulp-typedoc-2.2.5.tgz",
|
||||
"integrity": "sha512-+xfmr9g7TmBRJzHn+WCbyvN0lfi0Y5Q4IDG/7CjRgnNoomWYzSAXa2HdQKJM/QfQUc7kQS/td9j35mg8FaSKrw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-colors": "^4.1.1",
|
||||
"event-stream": "^4.0.1",
|
||||
"fancy-log": "^1.3.3",
|
||||
"plugin-error": "^1.0.1",
|
||||
"semver": "^7.1.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-colors": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
|
||||
"integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"gulplog": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
|
||||
|
|
@ -1648,9 +1629,9 @@
|
|||
}
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "4.7.6",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
|
||||
"integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
|
||||
"version": "4.7.7",
|
||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
|
||||
"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minimist": "^1.2.5",
|
||||
|
|
@ -1729,12 +1710,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"highlight.js": {
|
||||
"version": "10.4.1",
|
||||
"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz",
|
||||
"integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==",
|
||||
"dev": true
|
||||
},
|
||||
"homedir-polyfill": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
|
||||
|
|
@ -1808,9 +1783,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"ini": {
|
||||
"version": "1.3.7",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
|
||||
"integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
|
||||
"version": "1.3.8",
|
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
|
||||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
|
||||
"dev": true
|
||||
},
|
||||
"interpret": {
|
||||
|
|
@ -1882,11 +1857,14 @@
|
|||
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
|
||||
"dev": true
|
||||
},
|
||||
"is-callable": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.1.tgz",
|
||||
"integrity": "sha512-wliAfSzx6V+6WfMOmus1xy0XvSgf/dlStkvTfq7F0g4bOIW0PSUbnyse3NhDwdyYS1ozfUtAAySqTws3z9Eqgg==",
|
||||
"dev": true
|
||||
"is-core-module": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
|
||||
"integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"is-data-descriptor": {
|
||||
"version": "0.1.4",
|
||||
|
|
@ -1908,12 +1886,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"is-date-object": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
|
||||
"integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
|
||||
"dev": true
|
||||
},
|
||||
"is-descriptor": {
|
||||
"version": "0.1.6",
|
||||
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
|
||||
|
|
@ -1978,12 +1950,6 @@
|
|||
"integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
|
||||
"dev": true
|
||||
},
|
||||
"is-negative-zero": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
|
||||
"integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
|
||||
"dev": true
|
||||
},
|
||||
"is-number": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
|
||||
|
|
@ -2013,15 +1979,6 @@
|
|||
"isobject": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"is-regex": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
|
||||
"integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-relative": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
|
||||
|
|
@ -2031,15 +1988,6 @@
|
|||
"is-unc-path": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-symbol": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
|
||||
"integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-symbols": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
|
|
@ -2162,13 +2110,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"jsonfile": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
|
||||
"integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
|
||||
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.6",
|
||||
"universalify": "^1.0.0"
|
||||
"universalify": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"jsprim": {
|
||||
|
|
@ -2320,9 +2268,9 @@
|
|||
}
|
||||
},
|
||||
"marked": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-1.1.1.tgz",
|
||||
"integrity": "sha512-mJzT8D2yPxoPh7h0UXkB+dBj4FykPJ2OIfxAWeIHrvoHDkFxukV/29QxoFQoPM6RLEwhIFdJpmKBlqVM3s2ZIw==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/marked/-/marked-2.0.0.tgz",
|
||||
"integrity": "sha512-NqRSh2+LlN2NInpqTQnS614Y/3NkVMFFU6sJlRFEpxJ/LHuK/qJECH7/fXZjk4VZstPW/Pevjil/VtSONsLc7Q==",
|
||||
"dev": true
|
||||
},
|
||||
"matchdep": {
|
||||
|
|
@ -2382,18 +2330,18 @@
|
|||
}
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.44.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
|
||||
"integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
|
||||
"version": "1.45.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
|
||||
"integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==",
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.27",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
|
||||
"integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
|
||||
"version": "2.1.28",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
|
||||
"integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "1.44.0"
|
||||
"mime-db": "1.45.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
|
|
@ -2481,9 +2429,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.14.1",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
|
||||
"integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
|
||||
"version": "2.14.2",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
|
||||
"integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
|
|
@ -2528,14 +2476,6 @@
|
|||
"resolve": "^1.10.0",
|
||||
"semver": "2 || 3 || 4 || 5",
|
||||
"validate-npm-package-license": "^3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"normalize-path": {
|
||||
|
|
@ -2602,12 +2542,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
|
||||
"integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
|
||||
"dev": true
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||
|
|
@ -2624,13 +2558,13 @@
|
|||
}
|
||||
},
|
||||
"object.assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
|
||||
"integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
|
||||
"integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"call-bind": "^1.0.0",
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.18.0-next.0",
|
||||
"has-symbols": "^1.0.1",
|
||||
"object-keys": "^1.1.1"
|
||||
}
|
||||
|
|
@ -2685,6 +2619,32 @@
|
|||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"onigasm": {
|
||||
"version": "2.2.5",
|
||||
"resolved": "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz",
|
||||
"integrity": "sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "^5.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"yallist": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
||||
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"optionator": {
|
||||
"version": "0.8.3",
|
||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
|
||||
|
|
@ -2858,18 +2818,6 @@
|
|||
"pinkie": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"plugin-error": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
|
||||
"integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-colors": "^1.0.1",
|
||||
"arr-diff": "^4.0.0",
|
||||
"arr-union": "^3.1.0",
|
||||
"extend-shallow": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"pn": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
|
||||
|
|
@ -2883,9 +2831,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"postcss": {
|
||||
"version": "7.0.34",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.34.tgz",
|
||||
"integrity": "sha512-H/7V2VeNScX9KE83GDrDZNiGT1m2H+UTnlinIzhjlLX9hfMUn1mHNnGeX81a1c8JSBdBvqk7c2ZOG6ZPn5itGw==",
|
||||
"version": "7.0.35",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
|
||||
"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^2.4.2",
|
||||
|
|
@ -3150,11 +3098,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.17.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
|
||||
"integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
|
||||
"version": "1.20.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
|
||||
"integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-core-module": "^2.2.0",
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
},
|
||||
|
|
@ -3229,9 +3178,9 @@
|
|||
}
|
||||
},
|
||||
"semver": {
|
||||
"version": "7.3.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
|
||||
"integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true
|
||||
},
|
||||
"semver-greatest-satisfied-range": {
|
||||
|
|
@ -3283,6 +3232,16 @@
|
|||
"rechoir": "^0.6.2"
|
||||
}
|
||||
},
|
||||
"shiki": {
|
||||
"version": "0.9.2",
|
||||
"resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.2.tgz",
|
||||
"integrity": "sha512-BjUCxVbxMnvjs8jC4b+BQ808vwjJ9Q8NtLqPwXShZ307HdXiDFYP968ORSVfaTNNSWYDBYdMnVKJ0fYNsoZUBA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"onigasm": "^2.2.5",
|
||||
"vscode-textmate": "^5.2.0"
|
||||
}
|
||||
},
|
||||
"snapdragon": {
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
|
||||
|
|
@ -3416,9 +3375,9 @@
|
|||
}
|
||||
},
|
||||
"source-map-url": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
|
||||
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
|
||||
"integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
|
||||
"dev": true
|
||||
},
|
||||
"sparkles": {
|
||||
|
|
@ -3454,9 +3413,9 @@
|
|||
}
|
||||
},
|
||||
"spdx-license-ids": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
|
||||
"integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
|
||||
"integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==",
|
||||
"dev": true
|
||||
},
|
||||
"split": {
|
||||
|
|
@ -3560,68 +3519,6 @@
|
|||
"strip-ansi": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"string.prototype.trimend": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
|
||||
"integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.17.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"es-abstract": {
|
||||
"version": "1.17.6",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
|
||||
"integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-callable": "^1.2.0",
|
||||
"is-regex": "^1.1.0",
|
||||
"object-inspect": "^1.7.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.0",
|
||||
"string.prototype.trimend": "^1.0.1",
|
||||
"string.prototype.trimstart": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"string.prototype.trimstart": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
|
||||
"integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.17.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"es-abstract": {
|
||||
"version": "1.17.6",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
|
||||
"integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.2.1",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"has-symbols": "^1.0.1",
|
||||
"is-callable": "^1.2.0",
|
||||
"is-regex": "^1.1.0",
|
||||
"object-inspect": "^1.7.0",
|
||||
"object-keys": "^1.1.1",
|
||||
"object.assign": "^4.1.0",
|
||||
"string.prototype.trimend": "^1.0.1",
|
||||
"string.prototype.trimstart": "^1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
|
|
@ -3823,28 +3720,28 @@
|
|||
"dev": true
|
||||
},
|
||||
"typedoc": {
|
||||
"version": "0.19.1",
|
||||
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.19.1.tgz",
|
||||
"integrity": "sha512-EqZpRJQUnkwHA1yBhaDExEXUZIiWKddkrDXhRcfUzpnu6pizxNmVTw5IZ3mu682Noa4zQCniE0YNjaAwHQodrA==",
|
||||
"version": "0.20.25",
|
||||
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.20.25.tgz",
|
||||
"integrity": "sha512-ZQZnjJPrt0rjp216gp6FQC1QC4ojcoKikhfOJ/51CqaJunVDilRLlIO5tCGWj1tzlYYT9eOGhJv7MF3t7rxSmw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs-extra": "^9.0.1",
|
||||
"colors": "^1.4.0",
|
||||
"fs-extra": "^9.1.0",
|
||||
"handlebars": "^4.7.6",
|
||||
"highlight.js": "^10.0.0",
|
||||
"lodash": "^4.17.20",
|
||||
"lunr": "^2.3.9",
|
||||
"marked": "^1.1.1",
|
||||
"marked": "^2.0.0",
|
||||
"minimatch": "^3.0.0",
|
||||
"progress": "^2.0.3",
|
||||
"semver": "^7.3.2",
|
||||
"shelljs": "^0.8.4",
|
||||
"typedoc-default-themes": "^0.11.1"
|
||||
"shiki": "^0.9.2",
|
||||
"typedoc-default-themes": "^0.12.7"
|
||||
}
|
||||
},
|
||||
"typedoc-default-themes": {
|
||||
"version": "0.11.3",
|
||||
"resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.11.3.tgz",
|
||||
"integrity": "sha512-SwyN188QGNA2iFS5mdWYTGzohKqJ1PWAXVmGolKnVc2NnpX234FEPF2nUvEg+O9jjwAu7ZSVZ5UrZri0raJOjQ==",
|
||||
"version": "0.12.7",
|
||||
"resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.7.tgz",
|
||||
"integrity": "sha512-0XAuGEqID+gon1+fhi4LycOEFM+5Mvm2PjwaiVZNAzU7pn3G2DEpsoXnFOPlLDnHY6ZW0BY0nO7ur9fHOFkBLQ==",
|
||||
"dev": true
|
||||
},
|
||||
"typescript": {
|
||||
|
|
@ -3854,9 +3751,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "3.10.4",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.4.tgz",
|
||||
"integrity": "sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw==",
|
||||
"version": "3.12.8",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.8.tgz",
|
||||
"integrity": "sha512-fvBeuXOsvqjecUtF/l1dwsrrf5y2BCUk9AOJGzGcm6tE7vegku5u/YvqjyDaAGr422PLoLnrxg3EnRvTqsdC1w==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
|
|
@ -3936,9 +3833,9 @@
|
|||
}
|
||||
},
|
||||
"universalify": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
|
||||
"integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
|
||||
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
|
||||
"dev": true
|
||||
},
|
||||
"unset-value": {
|
||||
|
|
@ -3988,9 +3885,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"uri-js": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
|
||||
"integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
|
||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"punycode": "^2.1.0"
|
||||
|
|
@ -4121,6 +4018,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"vscode-textmate": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz",
|
||||
"integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==",
|
||||
"dev": true
|
||||
},
|
||||
"w3c-hr-time": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
|
||||
|
|
@ -4244,9 +4147,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"y18n": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
|
||||
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
|
||||
"version": "3.2.2",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
|
||||
"integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
|
|
@ -4268,14 +4171,6 @@
|
|||
"which-module": "^1.0.0",
|
||||
"y18n": "^3.2.1",
|
||||
"yargs-parser": "5.0.0-security.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"camelcase": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
|
||||
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
|
|
@ -4286,14 +4181,6 @@
|
|||
"requires": {
|
||||
"camelcase": "^3.0.0",
|
||||
"object.assign": "^4.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"camelcase": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
|
||||
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"yaserver": {
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@
|
|||
"scripts": {
|
||||
"simpleserver": "gulp simpleserver",
|
||||
"release": "gulp release",
|
||||
"website": "gulp website",
|
||||
"build-website": "gulp build-website"
|
||||
"website": "gulp website && npm run typedoc",
|
||||
"build-website": "gulp build-website && npm run typedoc",
|
||||
"typedoc": "cd doc && \"../node_modules/.bin/typedoc\" --options ./typedoc.json"
|
||||
},
|
||||
"typings": "./esm/vs/editor/editor.api.d.ts",
|
||||
"module": "./esm/vs/editor/editor.main.js",
|
||||
|
|
@ -21,7 +22,6 @@
|
|||
"clean-css": "^4.2.3",
|
||||
"event-stream": "4.0.1",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-typedoc": "^2.2.5",
|
||||
"monaco-css": "3.2.0",
|
||||
"monaco-editor-core": "0.22.3",
|
||||
"monaco-html": "3.2.0",
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
"monaco-languages": "2.2.0",
|
||||
"monaco-typescript": "4.2.0",
|
||||
"rimraf": "^3.0.2",
|
||||
"typedoc": "^0.19.1",
|
||||
"typedoc": "^0.20.25",
|
||||
"typescript": "4.1.3",
|
||||
"uncss": "^0.17.3",
|
||||
"vinyl": "^2.2.1",
|
||||
|
|
|
|||
|
|
@ -11,9 +11,6 @@
|
|||
.toggle-inherited .tsd-is-inherited
|
||||
display: none
|
||||
|
||||
.toggle-only-exported .tsd-is-not-exported
|
||||
display: none
|
||||
|
||||
.toggle-externals .tsd-is-external
|
||||
display: none
|
||||
|
||||
|
|
|
|||
|
|
@ -19,3 +19,18 @@
|
|||
margin-top: 0
|
||||
margin-bottom: 0
|
||||
border-bottom: none
|
||||
|
||||
a[data-tsd-kind]
|
||||
color: $COLOR_TS
|
||||
|
||||
a[data-tsd-kind="Interface"]
|
||||
color: $COLOR_TS_INTERFACE
|
||||
|
||||
a[data-tsd-kind="Enum"]
|
||||
color: $COLOR_TS_ENUM
|
||||
|
||||
a[data-tsd-kind="Class"]
|
||||
color: $COLOR_TS_CLASS
|
||||
|
||||
a[data-tsd-kind="Private"]
|
||||
color: $COLOR_TS_PRIVATE
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
@import constants
|
||||
|
||||
@import vendors/normalize
|
||||
@import vendors/highlight.js
|
||||
|
||||
@import setup/mixins
|
||||
@import setup/grid
|
||||
|
|
|
|||
|
|
@ -1,29 +1,13 @@
|
|||
$type-icons:
|
||||
(object-literal),
|
||||
(class),
|
||||
('class.tsd-has-type-parameter'),
|
||||
(interface),
|
||||
('interface.tsd-has-type-parameter'),
|
||||
(namespace, module),
|
||||
(enum),
|
||||
(enum-member),
|
||||
(signature),
|
||||
(type-alias),
|
||||
('type-alias.tsd-has-type-parameter');
|
||||
$type-icons: (object-literal), (class), ("class.tsd-has-type-parameter"),
|
||||
(interface), ("interface.tsd-has-type-parameter"), (namespace, module),
|
||||
(enum), (enum-member), (signature), (type-alias),
|
||||
("type-alias.tsd-has-type-parameter");
|
||||
|
||||
$member-icons:
|
||||
(variable, property),
|
||||
(get-signature),
|
||||
(set-signature),
|
||||
(accessor),
|
||||
(function, method, call-signature),
|
||||
('function.tsd-has-type-parameter', 'method.tsd-has-type-parameter'),
|
||||
(constructor, constructor-signature),
|
||||
(index-signature),
|
||||
(event),
|
||||
(property),
|
||||
(function, method, call-signature),
|
||||
(event);
|
||||
$member-icons: (variable, property), (get-signature), (set-signature),
|
||||
(accessor), (function, method, call-signature),
|
||||
("function.tsd-has-type-parameter", "method.tsd-has-type-parameter"),
|
||||
(constructor, constructor-signature), (index-signature), (event), (property),
|
||||
(function, method, call-signature), (event);
|
||||
|
||||
// parameter
|
||||
// type-literal
|
||||
|
|
@ -36,7 +20,7 @@ $member-icons:
|
|||
text-indent: -20px;
|
||||
|
||||
&:before {
|
||||
content: '';
|
||||
content: "";
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 17px;
|
||||
|
|
@ -71,10 +55,9 @@ $member-enum-protected: -11 * $icon-size;
|
|||
$member-interface: -12 * $icon-size;
|
||||
$member-interface-inherited: -13 * $icon-size;
|
||||
|
||||
|
||||
@for $index from 1 through length($type-icons) {
|
||||
@each $kind in nth($type-icons, $index) {
|
||||
$selector: '.tsd-kind-' + $kind;
|
||||
$selector: ".tsd-kind-" + $kind;
|
||||
$offset: -#{17 * ($index)}px;
|
||||
|
||||
#{$selector} {
|
||||
|
|
@ -96,11 +79,11 @@ $member-interface-inherited: -13 * $icon-size;
|
|||
@for $index from 1 through length($member-icons) {
|
||||
@each $kind in nth($member-icons, $index) {
|
||||
$offset: -#{17 * ($index - 1)}px;
|
||||
$selector: '.tsd-kind-' + $kind;
|
||||
$selector: ".tsd-kind-" + $kind;
|
||||
@if $index == 10 {
|
||||
$selector: '.tsd-is-static';
|
||||
$selector: ".tsd-is-static";
|
||||
} @else if $index > 10 {
|
||||
$selector: '.tsd-is-static.tsd-kind-' + $kind;
|
||||
$selector: ".tsd-is-static.tsd-kind-" + $kind;
|
||||
}
|
||||
|
||||
#{$selector} {
|
||||
|
|
@ -130,7 +113,8 @@ $member-interface-inherited: -13 * $icon-size;
|
|||
}
|
||||
|
||||
&.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
|
||||
background-position: $member-class-protected-inherited $offset;
|
||||
background-position: $member-class-protected-inherited
|
||||
$offset;
|
||||
}
|
||||
|
||||
&.tsd-is-private > .tsd-kind-icon:before {
|
||||
|
|
|
|||
|
|
@ -26,6 +26,11 @@ pre
|
|||
font-size: 100%
|
||||
background-color: transparent
|
||||
|
||||
blockquote
|
||||
margin: 1em 0
|
||||
padding-left: 1em
|
||||
border-left: 4px solid gray
|
||||
|
||||
.tsd-typography
|
||||
line-height: $LINE_HEIGHT
|
||||
|
||||
|
|
|
|||
|
|
@ -1,50 +0,0 @@
|
|||
/*
|
||||
*
|
||||
*Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name>
|
||||
|
||||
.hljs
|
||||
display: inline-block
|
||||
padding: 0.5em
|
||||
background: white
|
||||
color: black
|
||||
|
||||
.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket
|
||||
color: #008000
|
||||
|
||||
.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title
|
||||
color: #00f
|
||||
|
||||
.xml .hljs-tag
|
||||
color: #00f
|
||||
.hljs-value
|
||||
color: #00f
|
||||
|
||||
.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value
|
||||
color: #a31515
|
||||
|
||||
.ruby .hljs-symbol
|
||||
color: #a31515
|
||||
.hljs-string
|
||||
color: #a31515
|
||||
|
||||
.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute
|
||||
color: #a31515
|
||||
|
||||
.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt
|
||||
color: #2b91af
|
||||
|
||||
.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag
|
||||
color: #808080
|
||||
|
||||
.vhdl
|
||||
.hljs-typename
|
||||
font-weight: bold
|
||||
.hljs-string
|
||||
color: #666666
|
||||
.hljs-literal
|
||||
color: #a31515
|
||||
.hljs-attribute
|
||||
color: #00b0e8
|
||||
|
||||
.xml .hljs-attribute
|
||||
color: #f00
|
||||
|
|
@ -1,24 +1,24 @@
|
|||
import { Application, registerComponent } from "./typedoc/Application";
|
||||
import {Search} from "./typedoc/components/Search";
|
||||
import { MenuHighlight } from "./typedoc/components/MenuHighlight";
|
||||
import { initSearch } from "./typedoc/components/Search";
|
||||
import { Signature } from "./typedoc/components/Signature";
|
||||
import { Toggle } from "./typedoc/components/Toggle";
|
||||
import { Filter } from "./typedoc/components/Filter";
|
||||
|
||||
import '../../css/main.sass'
|
||||
import "../../css/main.sass";
|
||||
|
||||
registerComponent(Search, '#tsd-search');
|
||||
initSearch();
|
||||
|
||||
registerComponent(MenuHighlight, '.menu-highlight');
|
||||
registerComponent(Signature, '.tsd-signatures');
|
||||
registerComponent(Toggle, 'a[data-toggle]');
|
||||
registerComponent(MenuHighlight, ".menu-highlight");
|
||||
registerComponent(Signature, ".tsd-signatures");
|
||||
registerComponent(Toggle, "a[data-toggle]");
|
||||
|
||||
if (Filter.isSupported()) {
|
||||
registerComponent(Filter, '#tsd-filter');
|
||||
registerComponent(Filter, "#tsd-filter");
|
||||
} else {
|
||||
document.documentElement.classList.add('no-filter');
|
||||
document.documentElement.classList.add("no-filter");
|
||||
}
|
||||
|
||||
const app: Application = new Application();
|
||||
|
||||
Object.defineProperty(window, 'app', {value: app});
|
||||
Object.defineProperty(window, "app", { value: app });
|
||||
|
|
|
|||
|
|
@ -16,14 +16,16 @@ const components: IComponent[] = [];
|
|||
/**
|
||||
* Register a new component.
|
||||
*/
|
||||
export function registerComponent(constructor: IComponent['constructor'], selector: string) {
|
||||
export function registerComponent(
|
||||
constructor: IComponent["constructor"],
|
||||
selector: string
|
||||
) {
|
||||
components.push({
|
||||
selector: selector,
|
||||
constructor: constructor,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* TypeDoc application class.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ export class EventTarget {
|
|||
this.listeners[type] = [];
|
||||
}
|
||||
this.listeners[type].push(callback);
|
||||
};
|
||||
}
|
||||
|
||||
public removeEventListener<T>(type: string, callback: IEventListener<T>) {
|
||||
if (!(type in this.listeners)) {
|
||||
|
|
@ -26,7 +26,7 @@ export class EventTarget {
|
|||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public dispatchEvent<T>(event: CustomEvent<T>) {
|
||||
if (!(event.type in this.listeners)) {
|
||||
|
|
@ -38,5 +38,5 @@ export class EventTarget {
|
|||
stack[i].call(this, event);
|
||||
}
|
||||
return !event.defaultPrevented;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ abstract class FilterItem<T> {
|
|||
|
||||
protected defaultValue: T;
|
||||
|
||||
|
||||
constructor(key: string, value: T) {
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
|
|
@ -21,10 +20,7 @@ abstract class FilterItem<T> {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
protected initialize() {
|
||||
}
|
||||
|
||||
protected initialize() {}
|
||||
|
||||
protected abstract handleValueChange(oldValue: T, newValue: T): void;
|
||||
|
||||
|
|
@ -32,7 +28,6 @@ abstract class FilterItem<T> {
|
|||
|
||||
protected abstract toLocalStorage(value: T): string;
|
||||
|
||||
|
||||
protected setValue(value: T) {
|
||||
if (this.value == value) return;
|
||||
|
||||
|
|
@ -44,92 +39,97 @@ abstract class FilterItem<T> {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
class FilterItemCheckbox extends FilterItem<boolean> {
|
||||
private checkbox!: HTMLInputElement;
|
||||
|
||||
|
||||
protected initialize() {
|
||||
const checkbox = document.querySelector<HTMLInputElement>('#tsd-filter-' + this.key);
|
||||
const checkbox = document.querySelector<HTMLInputElement>(
|
||||
"#tsd-filter-" + this.key
|
||||
);
|
||||
if (!checkbox) return;
|
||||
|
||||
this.checkbox = checkbox;
|
||||
this.checkbox.addEventListener('change', () => {
|
||||
this.checkbox.addEventListener("change", () => {
|
||||
this.setValue(this.checkbox.checked);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
protected handleValueChange(oldValue: boolean, newValue: boolean) {
|
||||
if (!this.checkbox) return;
|
||||
this.checkbox.checked = this.value;
|
||||
document.documentElement.classList.toggle('toggle-' + this.key, this.value != this.defaultValue);
|
||||
document.documentElement.classList.toggle(
|
||||
"toggle-" + this.key,
|
||||
this.value != this.defaultValue
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
protected fromLocalStorage(value: string): boolean {
|
||||
return value == 'true';
|
||||
return value == "true";
|
||||
}
|
||||
|
||||
|
||||
protected toLocalStorage(value: boolean): string {
|
||||
return value ? 'true' : 'false';
|
||||
return value ? "true" : "false";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class FilterItemSelect extends FilterItem<string> {
|
||||
private select!: HTMLElement;
|
||||
|
||||
|
||||
protected initialize() {
|
||||
document.documentElement.classList.add('toggle-' + this.key + this.value);
|
||||
document.documentElement.classList.add(
|
||||
"toggle-" + this.key + this.value
|
||||
);
|
||||
|
||||
const select = document.querySelector<HTMLElement>('#tsd-filter-' + this.key);
|
||||
const select = document.querySelector<HTMLElement>(
|
||||
"#tsd-filter-" + this.key
|
||||
);
|
||||
if (!select) return;
|
||||
|
||||
this.select = select;
|
||||
const onActivate = () => {
|
||||
this.select.classList.add('active');
|
||||
this.select.classList.add("active");
|
||||
};
|
||||
const onDeactivate = () => {
|
||||
this.select.classList.remove('active');
|
||||
this.select.classList.remove("active");
|
||||
};
|
||||
|
||||
this.select.addEventListener(pointerDown, onActivate);
|
||||
this.select.addEventListener('mouseover', onActivate);
|
||||
this.select.addEventListener('mouseleave', onDeactivate);
|
||||
this.select.addEventListener("mouseover", onActivate);
|
||||
this.select.addEventListener("mouseleave", onDeactivate);
|
||||
|
||||
this.select.querySelectorAll('li').forEach(el => {
|
||||
this.select.querySelectorAll("li").forEach((el) => {
|
||||
el.addEventListener(pointerUp, (e) => {
|
||||
select.classList.remove('active');
|
||||
this.setValue((e.target as HTMLElement).dataset.value || '');
|
||||
})
|
||||
select.classList.remove("active");
|
||||
this.setValue((e.target as HTMLElement).dataset.value || "");
|
||||
});
|
||||
});
|
||||
|
||||
document.addEventListener(pointerDown, (e) => {
|
||||
if (this.select.contains(e.target as HTMLElement)) return;
|
||||
|
||||
this.select.classList.remove('active');
|
||||
this.select.classList.remove("active");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
protected handleValueChange(oldValue: string, newValue: string) {
|
||||
this.select.querySelectorAll('li.selected').forEach(el => {
|
||||
el.classList.remove('selected')
|
||||
this.select.querySelectorAll("li.selected").forEach((el) => {
|
||||
el.classList.remove("selected");
|
||||
});
|
||||
|
||||
const selected = this.select.querySelector<HTMLElement>('li[data-value="' + newValue + '"]');
|
||||
const label = this.select.querySelector<HTMLElement>('.tsd-select-label');
|
||||
const selected = this.select.querySelector<HTMLElement>(
|
||||
'li[data-value="' + newValue + '"]'
|
||||
);
|
||||
const label = this.select.querySelector<HTMLElement>(
|
||||
".tsd-select-label"
|
||||
);
|
||||
|
||||
if (selected && label) {
|
||||
selected.classList.add('selected');
|
||||
selected.classList.add("selected");
|
||||
label.textContent = selected.textContent;
|
||||
}
|
||||
|
||||
document.documentElement.classList.remove('toggle-' + oldValue);
|
||||
document.documentElement.classList.add('toggle-' + newValue);
|
||||
document.documentElement.classList.remove("toggle-" + oldValue);
|
||||
document.documentElement.classList.add("toggle-" + newValue);
|
||||
}
|
||||
|
||||
protected fromLocalStorage(value: string): string {
|
||||
|
|
@ -141,30 +141,24 @@ class FilterItemSelect extends FilterItem<string> {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
export class Filter extends Component {
|
||||
private optionVisibility: FilterItemSelect;
|
||||
|
||||
private optionInherited: FilterItemCheckbox;
|
||||
|
||||
private optionOnlyExported: FilterItemCheckbox;
|
||||
|
||||
private optionExternals: FilterItemCheckbox;
|
||||
|
||||
|
||||
constructor(options: IComponentOptions) {
|
||||
super(options);
|
||||
|
||||
this.optionVisibility = new FilterItemSelect('visibility', 'private');
|
||||
this.optionInherited = new FilterItemCheckbox('inherited', true);
|
||||
this.optionExternals = new FilterItemCheckbox('externals', true);
|
||||
this.optionOnlyExported = new FilterItemCheckbox('only-exported', false);
|
||||
this.optionVisibility = new FilterItemSelect("visibility", "private");
|
||||
this.optionInherited = new FilterItemCheckbox("inherited", true);
|
||||
this.optionExternals = new FilterItemCheckbox("externals", true);
|
||||
}
|
||||
|
||||
|
||||
static isSupported(): boolean {
|
||||
try {
|
||||
return typeof window.localStorage != 'undefined';
|
||||
return typeof window.localStorage != "undefined";
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ interface IAnchorInfo {
|
|||
position: number;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Manages the sticky state of the navigation and moves the highlight
|
||||
* to the current navigation item.
|
||||
|
|
@ -37,7 +36,6 @@ export class MenuHighlight extends Component {
|
|||
*/
|
||||
private index: number = -1;
|
||||
|
||||
|
||||
/**
|
||||
* Create a new MenuHighlight instance.
|
||||
*
|
||||
|
|
@ -46,49 +44,56 @@ export class MenuHighlight extends Component {
|
|||
constructor(options: IComponentOptions) {
|
||||
super(options);
|
||||
|
||||
Viewport.instance.addEventListener('resize', () => this.onResize());
|
||||
Viewport.instance.addEventListener<{ scrollTop: number }>('scroll', e => this.onScroll(e));
|
||||
Viewport.instance.addEventListener("resize", () => this.onResize());
|
||||
Viewport.instance.addEventListener<{ scrollTop: number }>(
|
||||
"scroll",
|
||||
(e) => this.onScroll(e)
|
||||
);
|
||||
|
||||
this.createAnchors();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Find all anchors on the current page.
|
||||
*/
|
||||
private createAnchors() {
|
||||
let base = window.location.href;
|
||||
if (base.indexOf('#') != -1) {
|
||||
base = base.substr(0, base.indexOf('#'));
|
||||
if (base.indexOf("#") != -1) {
|
||||
base = base.substr(0, base.indexOf("#"));
|
||||
}
|
||||
|
||||
this.el.querySelectorAll('a').forEach(el => {
|
||||
this.el.querySelectorAll("a").forEach((el) => {
|
||||
const href = el.href;
|
||||
if (href.indexOf('#') == -1) return;
|
||||
if (href.indexOf("#") == -1) return;
|
||||
if (href.substr(0, base.length) != base) return;
|
||||
|
||||
const hash = href.substr(href.indexOf('#') + 1);
|
||||
const anchor = document.querySelector<HTMLElement>('a.tsd-anchor[name=' + hash + ']');
|
||||
const hash = href.substr(href.indexOf("#") + 1);
|
||||
const anchor = document.querySelector<HTMLElement>(
|
||||
"a.tsd-anchor[name=" + hash + "]"
|
||||
);
|
||||
const link = el.parentNode;
|
||||
if (!anchor || !link) return;
|
||||
|
||||
this.anchors.push({
|
||||
link: link as HTMLElement,
|
||||
anchor: anchor,
|
||||
position: 0
|
||||
position: 0,
|
||||
});
|
||||
});
|
||||
|
||||
this.onResize();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Triggered after the viewport was resized.
|
||||
*/
|
||||
private onResize() {
|
||||
let anchor: IAnchorInfo;
|
||||
for (let index = 0, count = this.anchors.length; index < count; index++) {
|
||||
for (
|
||||
let index = 0, count = this.anchors.length;
|
||||
index < count;
|
||||
index++
|
||||
) {
|
||||
anchor = this.anchors[index];
|
||||
const rect = anchor.anchor.getBoundingClientRect();
|
||||
anchor.position = rect.top + document.body.scrollTop;
|
||||
|
|
@ -98,15 +103,14 @@ export class MenuHighlight extends Component {
|
|||
return a.position - b.position;
|
||||
});
|
||||
|
||||
const event = new CustomEvent('scroll', {
|
||||
const event = new CustomEvent("scroll", {
|
||||
detail: {
|
||||
scrollTop: Viewport.instance.scrollTop,
|
||||
}
|
||||
},
|
||||
});
|
||||
this.onScroll(event);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Triggered after the viewport was scrolled.
|
||||
*
|
||||
|
|
@ -127,9 +131,11 @@ export class MenuHighlight extends Component {
|
|||
}
|
||||
|
||||
if (this.index != index) {
|
||||
if (this.index > -1) this.anchors[this.index].link.classList.remove('focus');
|
||||
if (this.index > -1)
|
||||
this.anchors[this.index].link.classList.remove("focus");
|
||||
this.index = index;
|
||||
if (this.index > -1) this.anchors[this.index].link.classList.add('focus');
|
||||
if (this.index > -1)
|
||||
this.anchors[this.index].link.classList.add("focus");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import {Component, IComponentOptions} from "../Component";
|
||||
import {Index} from 'lunr';
|
||||
import { debounce } from "../utils/debounce";
|
||||
import { Index } from "lunr";
|
||||
|
||||
interface IDocument {
|
||||
id: number;
|
||||
|
|
@ -16,312 +16,251 @@ interface IData {
|
|||
index: object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loading state definitions.
|
||||
*/
|
||||
enum SearchLoadingState {
|
||||
Idle, Loading, Ready, Failure
|
||||
declare global {
|
||||
interface Window {
|
||||
searchData?: IData;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides an indexed search on generated documentation
|
||||
*/
|
||||
export class Search extends Component {
|
||||
/**
|
||||
* The input field of the search widget.
|
||||
*/
|
||||
private field: HTMLInputElement;
|
||||
interface SearchState {
|
||||
base: string;
|
||||
data?: IData;
|
||||
index?: Index;
|
||||
}
|
||||
|
||||
/**
|
||||
* The result list wrapper.
|
||||
*/
|
||||
private results: HTMLElement;
|
||||
export function initSearch() {
|
||||
const searchEl = document.getElementById("tsd-search");
|
||||
if (!searchEl) return;
|
||||
|
||||
/**
|
||||
* The base url that must be prepended to the indexed urls.
|
||||
*/
|
||||
private base: string;
|
||||
const searchScript = document.getElementById(
|
||||
"search-script"
|
||||
) as HTMLScriptElement | null;
|
||||
searchEl.classList.add("loading");
|
||||
if (searchScript) {
|
||||
searchScript.addEventListener("error", () => {
|
||||
searchEl.classList.remove("loading");
|
||||
searchEl.classList.add("failure");
|
||||
});
|
||||
searchScript.addEventListener("load", () => {
|
||||
searchEl.classList.remove("loading");
|
||||
searchEl.classList.add("ready");
|
||||
});
|
||||
if (window.searchData) {
|
||||
searchEl.classList.remove("loading");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The current query string.
|
||||
*/
|
||||
private query: string = '';
|
||||
|
||||
/**
|
||||
* The state the search is currently in.
|
||||
*/
|
||||
private loadingState: SearchLoadingState = SearchLoadingState.Idle;
|
||||
|
||||
/**
|
||||
* Is the input field focused?
|
||||
*/
|
||||
private hasFocus: boolean = false;
|
||||
|
||||
/**
|
||||
* Should the next key press be prevents?
|
||||
*/
|
||||
private preventPress: boolean = false;
|
||||
|
||||
/**
|
||||
* The search data
|
||||
*/
|
||||
private data: IData | null = null;
|
||||
|
||||
/**
|
||||
* The lunr index used to search the documentation.
|
||||
*/
|
||||
private index: Index | null = null;
|
||||
|
||||
/**
|
||||
* Has a search result been clicked?
|
||||
* Used to stop the results hiding before a user can fully click on a result.
|
||||
*/
|
||||
private resultClicked: boolean = false;
|
||||
|
||||
constructor(options: IComponentOptions) {
|
||||
super(options);
|
||||
|
||||
const field = document.querySelector<HTMLInputElement>('#tsd-search-field');
|
||||
const results = document.querySelector<HTMLElement>('.results');
|
||||
const field = document.querySelector<HTMLInputElement>("#tsd-search-field");
|
||||
const results = document.querySelector<HTMLElement>(".results");
|
||||
|
||||
if (!field || !results) {
|
||||
throw new Error('The input field or the result list wrapper are not found');
|
||||
throw new Error(
|
||||
"The input field or the result list wrapper was not found"
|
||||
);
|
||||
}
|
||||
|
||||
this.field = field;
|
||||
this.results = results;
|
||||
let resultClicked = false;
|
||||
results.addEventListener("mousedown", () => (resultClicked = true));
|
||||
results.addEventListener("mouseup", () => {
|
||||
resultClicked = false;
|
||||
searchEl.classList.remove("has-focus");
|
||||
});
|
||||
|
||||
this.base = this.el.dataset.base + '/';
|
||||
|
||||
this.bindEvents();
|
||||
field.addEventListener("focus", () => searchEl.classList.add("has-focus"));
|
||||
field.addEventListener("blur", () => {
|
||||
if (!resultClicked) {
|
||||
resultClicked = false;
|
||||
searchEl.classList.remove("has-focus");
|
||||
}
|
||||
});
|
||||
|
||||
const state: SearchState = {
|
||||
base: searchEl.dataset.base + "/",
|
||||
};
|
||||
|
||||
bindEvents(searchEl, results, field, state);
|
||||
}
|
||||
|
||||
function bindEvents(
|
||||
searchEl: HTMLElement,
|
||||
results: HTMLElement,
|
||||
field: HTMLInputElement,
|
||||
state: SearchState
|
||||
) {
|
||||
field.addEventListener(
|
||||
"input",
|
||||
debounce(() => {
|
||||
updateResults(searchEl, results, field, state);
|
||||
}, 200)
|
||||
);
|
||||
|
||||
let preventPress = false;
|
||||
field.addEventListener("keydown", (e) => {
|
||||
preventPress = true;
|
||||
if (e.key == "Enter") {
|
||||
gotoCurrentResult(results, field);
|
||||
} else if (e.key == "Escape") {
|
||||
field.blur();
|
||||
} else if (e.key == "ArrowUp") {
|
||||
setCurrentResult(results, -1);
|
||||
} else if (e.key === "ArrowDown") {
|
||||
setCurrentResult(results, 1);
|
||||
} else {
|
||||
preventPress = false;
|
||||
}
|
||||
});
|
||||
field.addEventListener("keypress", (e) => {
|
||||
if (preventPress) e.preventDefault();
|
||||
});
|
||||
|
||||
/**
|
||||
* Lazy load the search index and parse it.
|
||||
* Start searching by pressing slash.
|
||||
*/
|
||||
private loadIndex() {
|
||||
if (this.loadingState != SearchLoadingState.Idle || this.data) return;
|
||||
|
||||
setTimeout(() => {
|
||||
if (this.loadingState == SearchLoadingState.Idle) {
|
||||
this.setLoadingState(SearchLoadingState.Loading);
|
||||
document.body.addEventListener("keydown", (e) => {
|
||||
if (e.altKey || e.ctrlKey || e.metaKey) return;
|
||||
if (!field.matches(":focus") && e.key === "/") {
|
||||
field.focus();
|
||||
e.preventDefault();
|
||||
}
|
||||
}, 500);
|
||||
|
||||
const url = this.el.dataset.index;
|
||||
if (!url) {
|
||||
this.setLoadingState(SearchLoadingState.Failure);
|
||||
return;
|
||||
}
|
||||
|
||||
fetch(url)
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error('The search index is missing');
|
||||
}
|
||||
|
||||
return response.json();
|
||||
})
|
||||
.then((source: IData) => {
|
||||
this.data = source;
|
||||
this.index = Index.load(source.index);
|
||||
|
||||
this.setLoadingState(SearchLoadingState.Ready);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
this.setLoadingState(SearchLoadingState.Failure);
|
||||
});
|
||||
}
|
||||
|
||||
function checkIndex(state: SearchState, searchEl: HTMLElement) {
|
||||
if (state.index) return;
|
||||
|
||||
/**
|
||||
* Update the visible state of the search control.
|
||||
*/
|
||||
private updateResults() {
|
||||
// Don't clear results, if loading state is not ready,
|
||||
if (window.searchData) {
|
||||
searchEl.classList.remove("loading");
|
||||
searchEl.classList.add("ready");
|
||||
state.data = window.searchData;
|
||||
state.index = Index.load(window.searchData.index);
|
||||
}
|
||||
}
|
||||
|
||||
function updateResults(
|
||||
searchEl: HTMLElement,
|
||||
results: HTMLElement,
|
||||
query: HTMLInputElement,
|
||||
state: SearchState
|
||||
) {
|
||||
checkIndex(state, searchEl);
|
||||
// Don't clear results if loading state is not ready,
|
||||
// because loading or error message can be removed.
|
||||
if (this.loadingState != SearchLoadingState.Ready) return;
|
||||
if (!state.index || !state.data) return;
|
||||
|
||||
this.results.textContent = '';
|
||||
if (!this.query || !this.index || !this.data) return;
|
||||
results.textContent = "";
|
||||
|
||||
const searchText = query.value.trim();
|
||||
|
||||
// Perform a wildcard search
|
||||
let res = this.index.search(`*${this.query}*`);
|
||||
|
||||
// If still no results, try a fuzzy match search
|
||||
if (res.length === 0) {
|
||||
res = this.index.search(`*${this.query}~1*`);
|
||||
}
|
||||
let res = state.index.search(`*${searchText}*`);
|
||||
|
||||
for (let i = 0, c = Math.min(10, res.length); i < c; i++) {
|
||||
const row = this.data.rows[Number(res[i].ref)];
|
||||
const row = state.data.rows[Number(res[i].ref)];
|
||||
|
||||
// Bold the matched part of the query in the search results
|
||||
let name = row.name.replace(new RegExp(this.query, 'i'), (match: string) => `<b>${match}</b>`);
|
||||
let parent = row.parent || '';
|
||||
parent = parent.replace(new RegExp(this.query, 'i'), (match: string) => `<b>${match}</b>`);
|
||||
let name = boldMatches(row.name, searchText);
|
||||
if (row.parent) {
|
||||
name = `<span class="parent">${boldMatches(
|
||||
row.parent,
|
||||
searchText
|
||||
)}.</span>${name}`;
|
||||
}
|
||||
|
||||
if (parent) name = '<span class="parent">' + parent + '.</span>' + name;
|
||||
const item = document.createElement('li');
|
||||
const item = document.createElement("li");
|
||||
item.classList.value = row.classes;
|
||||
item.innerHTML = `
|
||||
<a href="${this.base + row.url}" class="tsd-kind-icon">${name}</a>
|
||||
`;
|
||||
this.results.appendChild(item);
|
||||
|
||||
const anchor = document.createElement("a");
|
||||
anchor.href = state.base + row.url;
|
||||
anchor.classList.add("tsd-kind-icon");
|
||||
anchor.innerHTML = name;
|
||||
item.append(anchor);
|
||||
|
||||
results.appendChild(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the loading state and update the visual state accordingly.
|
||||
*/
|
||||
private setLoadingState(value: SearchLoadingState) {
|
||||
if (this.loadingState == value) return;
|
||||
|
||||
this.el.classList.remove(SearchLoadingState[this.loadingState].toLowerCase());
|
||||
this.loadingState = value;
|
||||
this.el.classList.add(SearchLoadingState[this.loadingState].toLowerCase());
|
||||
|
||||
this.updateResults();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the focus state and update the visual state accordingly.
|
||||
*/
|
||||
private setHasFocus(value: boolean) {
|
||||
if (this.hasFocus == value) return;
|
||||
this.hasFocus = value;
|
||||
this.el.classList.toggle('has-focus');
|
||||
|
||||
if (!value) {
|
||||
this.field.value = this.query;
|
||||
} else {
|
||||
this.setQuery('');
|
||||
this.field.value = '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the query string and update the results.
|
||||
*/
|
||||
private setQuery(value: string) {
|
||||
this.query = value.trim();
|
||||
this.updateResults();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Move the highlight within the result set.
|
||||
*/
|
||||
private setCurrentResult(dir: number) {
|
||||
let current = this.results.querySelector('.current');
|
||||
function setCurrentResult(results: HTMLElement, dir: number) {
|
||||
let current = results.querySelector(".current");
|
||||
if (!current) {
|
||||
current = this.results.querySelector(dir == 1 ? 'li:first-child' : 'li:last-child');
|
||||
current = results.querySelector(
|
||||
dir == 1 ? "li:first-child" : "li:last-child"
|
||||
);
|
||||
if (current) {
|
||||
current.classList.add('current')
|
||||
current.classList.add("current");
|
||||
}
|
||||
} else {
|
||||
const rel = dir == 1 ? current.nextElementSibling : current.previousElementSibling;
|
||||
const rel =
|
||||
dir == 1
|
||||
? current.nextElementSibling
|
||||
: current.previousElementSibling;
|
||||
if (rel) {
|
||||
current.classList.remove('current');
|
||||
rel.classList.add('current');
|
||||
current.classList.remove("current");
|
||||
rel.classList.add("current");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Navigate to the highlighted result.
|
||||
*/
|
||||
private gotoCurrentResult() {
|
||||
let current = this.results.querySelector('.current');
|
||||
function gotoCurrentResult(results: HTMLElement, field: HTMLInputElement) {
|
||||
let current = results.querySelector(".current");
|
||||
|
||||
if (!current) {
|
||||
current = this.results.querySelector('li:first-child');
|
||||
current = results.querySelector("li:first-child");
|
||||
}
|
||||
|
||||
if (current) {
|
||||
const link = current.querySelector('a');
|
||||
const link = current.querySelector("a");
|
||||
if (link) {
|
||||
window.location.href = link.href;
|
||||
}
|
||||
this.field.blur();
|
||||
field.blur();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind events on result list wrapper, input field and document body.
|
||||
*/
|
||||
private bindEvents() {
|
||||
/**
|
||||
* Intercept mousedown and mouseup events so we can correctly
|
||||
* handle clicking on search results.
|
||||
*/
|
||||
this.results.addEventListener('mousedown', () => {
|
||||
this.resultClicked = true;
|
||||
});
|
||||
this.results.addEventListener('mouseup', () => {
|
||||
this.resultClicked = false;
|
||||
this.setHasFocus(false);
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Bind all required events on the input field.
|
||||
*/
|
||||
this.field.addEventListener('focusin', () => {
|
||||
this.setHasFocus(true);
|
||||
this.loadIndex();
|
||||
});
|
||||
this.field.addEventListener('focusout', () => {
|
||||
// If the user just clicked on a search result, then
|
||||
// don't lose the focus straight away, as this prevents
|
||||
// them from clicking the result and following the link
|
||||
if (this.resultClicked) {
|
||||
this.resultClicked = false;
|
||||
return;
|
||||
function boldMatches(text: string, search: string) {
|
||||
if (search === "") {
|
||||
return text;
|
||||
}
|
||||
|
||||
setTimeout(() => this.setHasFocus(false), 100);
|
||||
});
|
||||
this.field.addEventListener('input', () => {
|
||||
this.setQuery(this.field.value);
|
||||
});
|
||||
this.field.addEventListener('keydown', (e) => {
|
||||
if (e.keyCode == 13 || e.keyCode == 27 || e.keyCode == 38 || e.keyCode == 40) {
|
||||
this.preventPress = true;
|
||||
e.preventDefault();
|
||||
const lowerText = text.toLocaleLowerCase();
|
||||
const lowerSearch = search.toLocaleLowerCase();
|
||||
|
||||
if (e.keyCode == 13) {
|
||||
this.gotoCurrentResult();
|
||||
} else if (e.keyCode == 27) {
|
||||
this.field.blur();
|
||||
} else if (e.keyCode == 38) {
|
||||
this.setCurrentResult(-1);
|
||||
} else if (e.keyCode == 40) {
|
||||
this.setCurrentResult(1);
|
||||
}
|
||||
} else {
|
||||
this.preventPress = false;
|
||||
}
|
||||
});
|
||||
this.field.addEventListener('keypress', (e) => {
|
||||
if (this.preventPress) e.preventDefault();
|
||||
});
|
||||
const parts = [];
|
||||
let lastIndex = 0;
|
||||
let index = lowerText.indexOf(lowerSearch);
|
||||
while (index != -1) {
|
||||
parts.push(
|
||||
escapeHtml(text.substring(lastIndex, index)),
|
||||
`<b>${escapeHtml(
|
||||
text.substring(index, index + lowerSearch.length)
|
||||
)}</b>`
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* Start searching by pressing a key on the body.
|
||||
*/
|
||||
document.body.addEventListener('keydown', e => {
|
||||
if (e.altKey || e.ctrlKey || e.metaKey) return;
|
||||
if (!this.hasFocus && e.keyCode > 47 && e.keyCode < 112) {
|
||||
this.field.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
lastIndex = index + lowerSearch.length;
|
||||
index = lowerText.indexOf(lowerSearch, lastIndex);
|
||||
}
|
||||
|
||||
parts.push(escapeHtml(text.substring(lastIndex)));
|
||||
|
||||
return parts.join("");
|
||||
}
|
||||
|
||||
const SPECIAL_HTML = {
|
||||
"&": "&",
|
||||
"<": "<",
|
||||
">": ">",
|
||||
"'": "'",
|
||||
'"': """,
|
||||
} as const;
|
||||
|
||||
function escapeHtml(text: string) {
|
||||
return text.replace(
|
||||
/[&<>"'"]/g,
|
||||
(match) => SPECIAL_HTML[match as keyof typeof SPECIAL_HTML]
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ class SignatureGroup {
|
|||
*/
|
||||
description: Element;
|
||||
|
||||
|
||||
/**
|
||||
* Create a new SignatureGroup instance.
|
||||
*
|
||||
|
|
@ -27,7 +26,6 @@ class SignatureGroup {
|
|||
this.description = description;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add the given class to all elements of the group.
|
||||
*
|
||||
|
|
@ -39,7 +37,6 @@ class SignatureGroup {
|
|||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Remove the given class from all elements of the group.
|
||||
*
|
||||
|
|
@ -52,7 +49,6 @@ class SignatureGroup {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Controls the tab like behaviour of methods and functions with multiple signatures.
|
||||
*/
|
||||
|
|
@ -72,7 +68,6 @@ export class Signature extends Component {
|
|||
*/
|
||||
private index: number = -1;
|
||||
|
||||
|
||||
/**
|
||||
* Create a new Signature instance.
|
||||
*
|
||||
|
|
@ -84,17 +79,20 @@ export class Signature extends Component {
|
|||
this.createGroups();
|
||||
|
||||
if (this.container) {
|
||||
this.el.classList.add('active');
|
||||
Array.from(this.el.children).forEach(signature => {
|
||||
signature.addEventListener('touchstart', (event) => this.onClick(event));
|
||||
signature.addEventListener('click', (event) => this.onClick(event));
|
||||
this.el.classList.add("active");
|
||||
Array.from(this.el.children).forEach((signature) => {
|
||||
signature.addEventListener("touchstart", (event) =>
|
||||
this.onClick(event)
|
||||
);
|
||||
signature.addEventListener("click", (event) =>
|
||||
this.onClick(event)
|
||||
);
|
||||
});
|
||||
this.container.classList.add('active');
|
||||
this.container.classList.add("active");
|
||||
this.setIndex(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set the index of the active signature.
|
||||
*
|
||||
|
|
@ -109,24 +107,23 @@ export class Signature extends Component {
|
|||
if (this.index > -1) {
|
||||
const from = this.groups[this.index];
|
||||
|
||||
from.removeClass('current').addClass('fade-out');
|
||||
to.addClass('current');
|
||||
to.addClass('fade-in');
|
||||
from.removeClass("current").addClass("fade-out");
|
||||
to.addClass("current");
|
||||
to.addClass("fade-in");
|
||||
Viewport.instance.triggerResize();
|
||||
|
||||
setTimeout(() => {
|
||||
from.removeClass('fade-out');
|
||||
to.removeClass('fade-in');
|
||||
from.removeClass("fade-out");
|
||||
to.removeClass("fade-in");
|
||||
}, 300);
|
||||
} else {
|
||||
to.addClass('current');
|
||||
to.addClass("current");
|
||||
Viewport.instance.triggerResize();
|
||||
}
|
||||
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Find all signature/description groups.
|
||||
*/
|
||||
|
|
@ -139,11 +136,12 @@ export class Signature extends Component {
|
|||
|
||||
this.groups = [];
|
||||
for (let index = 0; index < signatures.length; index++) {
|
||||
this.groups.push(new SignatureGroup(signatures[index], descriptions[index]));
|
||||
this.groups.push(
|
||||
new SignatureGroup(signatures[index], descriptions[index])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Triggered when the user clicks onto a signature header.
|
||||
*
|
||||
|
|
@ -157,4 +155,3 @@ export class Signature extends Component {
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,23 +9,34 @@ export class Toggle extends Component {
|
|||
constructor(options: IComponentOptions) {
|
||||
super(options);
|
||||
|
||||
this.className = this.el.dataset.toggle || '';
|
||||
this.className = this.el.dataset.toggle || "";
|
||||
this.el.addEventListener(pointerUp, (e) => this.onPointerUp(e));
|
||||
this.el.addEventListener('click', (e) => e.preventDefault());
|
||||
document.addEventListener(pointerDown, (e) => this.onDocumentPointerDown(e));
|
||||
document.addEventListener(pointerUp, (e) => this.onDocumentPointerUp(e));
|
||||
this.el.addEventListener("click", (e) => e.preventDefault());
|
||||
document.addEventListener(pointerDown, (e) =>
|
||||
this.onDocumentPointerDown(e)
|
||||
);
|
||||
document.addEventListener(pointerUp, (e) =>
|
||||
this.onDocumentPointerUp(e)
|
||||
);
|
||||
}
|
||||
|
||||
setActive(value: boolean) {
|
||||
if (this.active == value) return;
|
||||
this.active = value;
|
||||
|
||||
document.documentElement.classList.toggle('has-' + this.className, value);
|
||||
this.el.classList.toggle('active', value);
|
||||
document.documentElement.classList.toggle(
|
||||
"has-" + this.className,
|
||||
value
|
||||
);
|
||||
this.el.classList.toggle("active", value);
|
||||
|
||||
const transition = (this.active ? 'to-has-' : 'from-has-') + this.className;
|
||||
const transition =
|
||||
(this.active ? "to-has-" : "from-has-") + this.className;
|
||||
document.documentElement.classList.add(transition);
|
||||
setTimeout(() => document.documentElement.classList.remove(transition), 500);
|
||||
setTimeout(
|
||||
() => document.documentElement.classList.remove(transition),
|
||||
500
|
||||
);
|
||||
}
|
||||
|
||||
onPointerUp(event: Event) {
|
||||
|
|
@ -36,7 +47,11 @@ export class Toggle extends Component {
|
|||
|
||||
onDocumentPointerDown(e: Event) {
|
||||
if (this.active) {
|
||||
if ((e.target as HTMLElement).closest('.col-menu, .tsd-filter-group')) {
|
||||
if (
|
||||
(e.target as HTMLElement).closest(
|
||||
".col-menu, .tsd-filter-group"
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -47,12 +62,12 @@ export class Toggle extends Component {
|
|||
onDocumentPointerUp(e: Event) {
|
||||
if (hasPointerMoved) return;
|
||||
if (this.active) {
|
||||
if ((e.target as HTMLElement).closest('.col-menu')) {
|
||||
const link = (e.target as HTMLElement).closest('a');
|
||||
if ((e.target as HTMLElement).closest(".col-menu")) {
|
||||
const link = (e.target as HTMLElement).closest("a");
|
||||
if (link) {
|
||||
let href = window.location.href;
|
||||
if (href.indexOf('#') != -1) {
|
||||
href = href.substr(0, href.indexOf('#'));
|
||||
if (href.indexOf("#") != -1) {
|
||||
href = href.substr(0, href.indexOf("#"));
|
||||
}
|
||||
if (link.href.substr(0, href.length) == href) {
|
||||
setTimeout(() => this.setActive(false), 250);
|
||||
|
|
@ -62,4 +77,3 @@ export class Toggle extends Component {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import {throttle} from "../utils/trottle";
|
|||
* A global service that monitors the window size and scroll position.
|
||||
*/
|
||||
export class Viewport extends EventTarget {
|
||||
public static readonly instance = new Viewport()
|
||||
public static readonly instance = new Viewport();
|
||||
|
||||
/**
|
||||
* The current scroll position.
|
||||
|
|
@ -42,39 +42,46 @@ export class Viewport extends EventTarget {
|
|||
*/
|
||||
secondaryNav: HTMLElement;
|
||||
|
||||
|
||||
/**
|
||||
* Create new Viewport instance.
|
||||
*/
|
||||
constructor() {
|
||||
super();
|
||||
|
||||
this.toolbar = <HTMLDivElement>document.querySelector('.tsd-page-toolbar');
|
||||
this.secondaryNav = <HTMLElement>document.querySelector('.tsd-navigation.secondary');
|
||||
this.toolbar = <HTMLDivElement>(
|
||||
document.querySelector(".tsd-page-toolbar")
|
||||
);
|
||||
this.secondaryNav = <HTMLElement>(
|
||||
document.querySelector(".tsd-navigation.secondary")
|
||||
);
|
||||
|
||||
window.addEventListener('scroll', throttle(() => this.onScroll(), 10));
|
||||
window.addEventListener('resize', throttle(() => this.onResize(), 10));
|
||||
window.addEventListener(
|
||||
"scroll",
|
||||
throttle(() => this.onScroll(), 10)
|
||||
);
|
||||
window.addEventListener(
|
||||
"resize",
|
||||
throttle(() => this.onResize(), 10)
|
||||
);
|
||||
|
||||
this.onResize();
|
||||
this.onScroll();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Trigger a resize event.
|
||||
*/
|
||||
triggerResize() {
|
||||
const event = new CustomEvent('resize', {
|
||||
const event = new CustomEvent("resize", {
|
||||
detail: {
|
||||
width: this.width,
|
||||
height: this.height,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
this.dispatchEvent(event);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Triggered when the size of the window has changed.
|
||||
*/
|
||||
|
|
@ -82,34 +89,32 @@ export class Viewport extends EventTarget {
|
|||
this.width = window.innerWidth || 0;
|
||||
this.height = window.innerHeight || 0;
|
||||
|
||||
const event = new CustomEvent('resize', {
|
||||
const event = new CustomEvent("resize", {
|
||||
detail: {
|
||||
width: this.width,
|
||||
height: this.height,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
this.dispatchEvent(event);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Triggered when the user scrolled the viewport.
|
||||
*/
|
||||
onScroll() {
|
||||
this.scrollTop = window.scrollY || 0;
|
||||
|
||||
const event = new CustomEvent('scroll', {
|
||||
const event = new CustomEvent("scroll", {
|
||||
detail: {
|
||||
scrollTop: this.scrollTop,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
this.dispatchEvent(event);
|
||||
this.hideShowToolbar();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handle hiding/showing of the toolbar.
|
||||
*/
|
||||
|
|
@ -117,10 +122,9 @@ export class Viewport extends EventTarget {
|
|||
const isShown = this.showToolbar;
|
||||
this.showToolbar = this.lastY >= this.scrollTop || this.scrollTop === 0;
|
||||
if (isShown !== this.showToolbar) {
|
||||
this.toolbar.classList.toggle('tsd-page-toolbar--hide');
|
||||
this.secondaryNav.classList.toggle('tsd-navigation--toolbar-hide');
|
||||
this.toolbar.classList.toggle("tsd-page-toolbar--hide");
|
||||
this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide");
|
||||
}
|
||||
this.lastY = this.scrollTop;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
export const debounce = (fn: Function, wait: number = 100) => {
|
||||
let timeout: ReturnType<typeof setTimeout>;
|
||||
return (...args: any[]) => {
|
||||
clearTimeout(timeout)
|
||||
timeout = setTimeout(() => fn(args), wait)
|
||||
}
|
||||
}
|
||||
|
|
@ -9,17 +9,17 @@ export interface Point {
|
|||
/**
|
||||
* Event name of the pointer down event.
|
||||
*/
|
||||
export let pointerDown: string = 'mousedown';
|
||||
export let pointerDown: string = "mousedown";
|
||||
|
||||
/**
|
||||
* Event name of the pointer move event.
|
||||
*/
|
||||
export let pointerMove: string = 'mousemove';
|
||||
export let pointerMove: string = "mousemove";
|
||||
|
||||
/**
|
||||
* Event name of the pointer up event.
|
||||
*/
|
||||
export let pointerUp: string = 'mouseup';
|
||||
export let pointerUp: string = "mouseup";
|
||||
|
||||
/**
|
||||
* Position the pointer was pressed at.
|
||||
|
|
@ -49,21 +49,25 @@ export let hasPointerMoved: boolean = false;
|
|||
/**
|
||||
* Is the user agent a mobile agent?
|
||||
*/
|
||||
export const isMobile: boolean = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
||||
document.documentElement.classList.add(isMobile ? 'is-mobile' : 'not-mobile');
|
||||
export const isMobile: boolean = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
||||
navigator.userAgent
|
||||
);
|
||||
document.documentElement.classList.add(isMobile ? "is-mobile" : "not-mobile");
|
||||
|
||||
|
||||
if (isMobile && 'ontouchstart' in document.documentElement) {
|
||||
if (isMobile && "ontouchstart" in document.documentElement) {
|
||||
isPointerTouch = true;
|
||||
pointerDown = 'touchstart';
|
||||
pointerMove = 'touchmove';
|
||||
pointerUp = 'touchend';
|
||||
pointerDown = "touchstart";
|
||||
pointerMove = "touchmove";
|
||||
pointerUp = "touchend";
|
||||
}
|
||||
|
||||
document.addEventListener(pointerDown, (e) => {
|
||||
isPointerDown = true;
|
||||
hasPointerMoved = false;
|
||||
const t = (pointerDown == 'touchstart' ? (e as TouchEvent).targetTouches[0] : (e as MouseEvent));
|
||||
const t =
|
||||
pointerDown == "touchstart"
|
||||
? (e as TouchEvent).targetTouches[0]
|
||||
: (e as MouseEvent);
|
||||
pointerDownPosition.y = t.pageY || 0;
|
||||
pointerDownPosition.x = t.pageX || 0;
|
||||
});
|
||||
|
|
@ -71,10 +75,13 @@ document.addEventListener(pointerDown, (e) => {
|
|||
document.addEventListener(pointerMove, (e) => {
|
||||
if (!isPointerDown) return;
|
||||
if (!hasPointerMoved) {
|
||||
const t = (pointerDown == 'touchstart' ? (e as TouchEvent).targetTouches[0] : (e as MouseEvent));
|
||||
const t =
|
||||
pointerDown == "touchstart"
|
||||
? (e as TouchEvent).targetTouches[0]
|
||||
: (e as MouseEvent);
|
||||
const x = pointerDownPosition.x - (t.pageX || 0);
|
||||
const y = pointerDownPosition.y - (t.pageY || 0);
|
||||
hasPointerMoved = (Math.sqrt(x * x + y * y) > 10);
|
||||
hasPointerMoved = Math.sqrt(x * x + y * y) > 10;
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -82,7 +89,7 @@ document.addEventListener(pointerUp, () => {
|
|||
isPointerDown = false;
|
||||
});
|
||||
|
||||
document.addEventListener('click', (e) => {
|
||||
document.addEventListener("click", (e) => {
|
||||
if (preventNextClick) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
export const throttle = <A extends any[]>(fn: (...args: A) => void, wait = 100) => {
|
||||
export const throttle = <A extends any[]>(
|
||||
fn: (...args: A) => void,
|
||||
wait = 100
|
||||
) => {
|
||||
let time = Date.now();
|
||||
return (...args: A) => {
|
||||
if ((time + wait - Date.now()) < 0) {
|
||||
if (time + wait - Date.now() < 0) {
|
||||
fn(...args);
|
||||
time = Date.now();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="stylesheet" href="{{relativeURL "assets/css/main.css"}}">
|
||||
<script async src="{{relativeURL "assets/js/search.js"}}" id="search-script"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
{{else}}
|
||||
{{#if url}}
|
||||
<li>
|
||||
<a href="{{relativeURL url}}">Globals</a>
|
||||
<a href="{{relativeURL url}}">{{ name }}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
@ -40,11 +40,6 @@
|
|||
<input type="checkbox" id="tsd-filter-externals" checked />
|
||||
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
|
||||
{{/unless}}
|
||||
|
||||
{{#unless settings.excludeNotExported}}
|
||||
<input type="checkbox" id="tsd-filter-only-exported" />
|
||||
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
|
||||
{{/unless}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -56,12 +51,16 @@
|
|||
</div>
|
||||
<div class="tsd-page-title">
|
||||
<div class="container">
|
||||
{{#if model.parent}} {{! Don't show breadcrumbs on main project page, it is the root page. !}}
|
||||
<ul class="tsd-breadcrumb">
|
||||
{{#with model}}{{> breadcrumb}}{{/with}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
{{!--MONACO_CHANGE
|
||||
<h1>{{#compact}}
|
||||
{{#ifCond model.kindString "!==" "Project" }}
|
||||
{{model.kindString}}
|
||||
{{/ifCond}}
|
||||
{{model.name}}
|
||||
{{#if model.typeParameters}}
|
||||
<
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
{{!--MONACO_CHANGE
|
||||
<li>Defined in {{fileName}}:{{line}}</li>
|
||||
MONACO_CHANGE--}}
|
||||
<li>Defined in <a href="https://github.com/Microsoft/monaco-editor/blob/master/monaco.d.ts#L{{line}}">{{fileName}}:{{line}}</a></li>
|
||||
<li>Defined in <a href="https://github.com/Microsoft/monaco-editor/blob/main/doc/monaco.d.ts#L{{line}}">{{fileName}}:{{line}}</a></li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@
|
|||
</li>
|
||||
{{/if}}
|
||||
{{#each children}}
|
||||
<li class="tsd-parameter">
|
||||
{{#if signatures}}
|
||||
<li class="tsd-parameter">
|
||||
<h5>{{#compact}}
|
||||
{{#if flags.isRest}}<span class="tsd-signature-symbol">...</span>{{/if}}
|
||||
{{{wbr name}}}
|
||||
|
|
@ -52,18 +52,22 @@
|
|||
{{/compact}}</h5>
|
||||
|
||||
{{> member.signatures}}
|
||||
{{else}}
|
||||
</li>
|
||||
{{else}}{{#if type}} {{! standard type }}
|
||||
<li class="tsd-parameter">
|
||||
<h5>{{#compact}}
|
||||
{{#each flags}}
|
||||
<span class="tsd-flag ts-flag{{this}}">{{this}}</span>
|
||||
{{/each}}
|
||||
{{#if flags.isRest}}<span class="tsd-signature-symbol">...</span>{{/if}}
|
||||
{{{wbr name}}}
|
||||
{{#with type}}
|
||||
{{{wbr ../name}}}
|
||||
<span class="tsd-signature-symbol">
|
||||
{{#if flags.isOptional}}?{{/if}}
|
||||
{{#if ../flags.isOptional}}?{{/if}}
|
||||
:
|
||||
</span>
|
||||
{{#with type}}{{>type}}{{/with}}
|
||||
{{>type}}
|
||||
{{/with}}
|
||||
{{/compact}}</h5>
|
||||
|
||||
{{> comment}}
|
||||
|
|
@ -77,7 +81,52 @@
|
|||
{{> parameter}}
|
||||
{{/with}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</li>
|
||||
{{else}} {{! getter/setter }}
|
||||
{{#with getSignature}} {{! getter }}
|
||||
<li class="tsd-parameter">
|
||||
<h5>{{#compact}}
|
||||
{{#each flags}}
|
||||
<span class="tsd-flag ts-flag{{this}}">{{this}}</span>
|
||||
{{/each}}
|
||||
<span class="tsd-signature-symbol">get </span>
|
||||
{{{wbr ../name}}}
|
||||
<span class="tsd-signature-symbol">(): </span>
|
||||
{{#with type}}
|
||||
{{> type}}
|
||||
{{/with}}
|
||||
{{/compact}}</h5>
|
||||
|
||||
{{> comment }}
|
||||
</li>
|
||||
{{/with}}
|
||||
{{#with setSignature}} {{! setter }}
|
||||
<li class="tsd-parameter">
|
||||
<h5>{{#compact}}
|
||||
{{#each flags}}
|
||||
<span class="tsd-flag ts-flag{{this}}">{{this}}</span>
|
||||
{{/each}}
|
||||
<span class="tsd-signature-symbol">set </span>
|
||||
{{{wbr ../name}}}
|
||||
<span class="tsd-signature-symbol">(</span>
|
||||
{{#each parameters}}
|
||||
{{name}}
|
||||
<span class="tsd-signature-symbol">: </span>
|
||||
{{#with type}}
|
||||
{{> type}}
|
||||
{{else}}
|
||||
<span class="tsd-signature-type">any</span>
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
<span class="tsd-signature-symbol">): </span>
|
||||
{{#with type}}
|
||||
{{> type}}
|
||||
{{/with}}
|
||||
{{/compact}}</h5>
|
||||
|
||||
{{> comment }}
|
||||
</li>
|
||||
{{/with}}
|
||||
{{/if}}{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -73,6 +73,58 @@ if an inner type may result in invalid output without them. For example:
|
|||
<span class="tsd-signature-type">{{name}}</span>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'literal'}}
|
||||
<span class="tsd-signature-type">{{stringify value}}</span>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'mapped'}}
|
||||
<span class="tsd-signature-symbol">{</span>
|
||||
{{#ifCond readonlyModifier '===' '+'}}
|
||||
<span class="tsd-signature-symbol">readonly </span>
|
||||
{{else}}
|
||||
{{#ifCond readonlyModifier '===' '-'}}
|
||||
<span class="tsd-signature-symbol">-readonly </span>
|
||||
{{/ifCond}}
|
||||
{{/ifCond}}
|
||||
|
||||
<span class="tsd-signature-symbol">[ </span>
|
||||
<span class="tsd-signature-type">{{parameter}}</span>
|
||||
<span class="tsd-signature-symbol"> in </span>
|
||||
|
||||
{{#with parameterType}}
|
||||
{{>type}}
|
||||
{{/with}}
|
||||
|
||||
{{#with nameType}}
|
||||
<span class="tsd-signature-symbol"> as </span>
|
||||
{{>type}}
|
||||
{{/with}}
|
||||
|
||||
<span class="tsd-signature-symbol">]</span>
|
||||
{{#ifCond readonlyModifier '===' '+'}}
|
||||
<span class="tsd-signature-symbol">?: </span>
|
||||
{{else}}
|
||||
{{#ifCond readonlyModifier '===' '-'}}
|
||||
<span class="tsd-signature-symbol">-?: </span>
|
||||
{{else}}
|
||||
<span class="tsd-signature-symbol">: </span>
|
||||
{{/ifCond}}
|
||||
{{/ifCond}}
|
||||
|
||||
{{#with templateType}}
|
||||
{{>type}}
|
||||
{{/with}}
|
||||
|
||||
<span class="tsd-signature-symbol"> }</span>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'optional'}}
|
||||
{{#with elementType}}
|
||||
{{> type}}
|
||||
{{/with}}
|
||||
<span class="tsd-signature-symbol">?</span>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'predicate'}}
|
||||
{{#if asserts}}
|
||||
<span class="tsd-signature-symbol">asserts </span>
|
||||
|
|
@ -94,13 +146,13 @@ if an inner type may result in invalid output without them. For example:
|
|||
{{/inline}}
|
||||
|
||||
{{#*inline 'reference'}}
|
||||
{{#if reflection}}
|
||||
<a href="{{relativeURL reflection.url}}" class="tsd-signature-type">
|
||||
{{reflection.name}}
|
||||
{{#with getReflection }}
|
||||
<a href="{{relativeURL url}}" class="tsd-signature-type" data-tsd-kind="{{kindString}}">
|
||||
{{name}}
|
||||
</a>
|
||||
{{else}}
|
||||
<span class="tsd-signature-type">{{name}}</span>
|
||||
{{/if}}
|
||||
{{/with}}
|
||||
{{#if typeArguments}}
|
||||
<span class="tsd-signature-symbol"><</span>
|
||||
{{#each typeArguments}}
|
||||
|
|
@ -120,6 +172,43 @@ if an inner type may result in invalid output without them. For example:
|
|||
{{#unless @first}}
|
||||
<span class="tsd-signature-symbol">; </span>
|
||||
{{/unless}}
|
||||
|
||||
{{#if getSignature}}
|
||||
{{#if setSignature}}
|
||||
{{name}}
|
||||
<span class="tsd-signature-symbol">: </span>
|
||||
{{#with getSignature.type}}
|
||||
{{> type}}
|
||||
{{else}}
|
||||
<span class="tsd-signature-type">any</span>
|
||||
{{/with}}
|
||||
{{else}}
|
||||
<span class="tsd-signature-symbol">get </span>
|
||||
{{name}}
|
||||
<span class="tsd-signature-symbol">(): </span>
|
||||
{{#with getSignature.type}}
|
||||
{{> type}}
|
||||
{{else}}
|
||||
<span class="tsd-signature-type">any</span>
|
||||
{{/with}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{#if setSignature}}
|
||||
<span class="tsd-signature-symbol">set </span>
|
||||
{{name}}
|
||||
<span class="tsd-signature-symbol">(</span>
|
||||
{{! Rather hacky to use each here... but we know there is exactly one. }}
|
||||
{{#each setSignature.parameters}}
|
||||
{{name}}
|
||||
<span class="tsd-signature-symbol">: </span>
|
||||
{{#with type}}
|
||||
{{> type}}
|
||||
{{else}}
|
||||
<span class="tsd-signature-type">any</span>
|
||||
{{/with}}
|
||||
{{/each}}
|
||||
<span class="tsd-signature-symbol">)</span>
|
||||
{{else}}
|
||||
{{name}}
|
||||
{{#if flags.isOptional }}
|
||||
<span class="tsd-signature-symbol">?: </span>
|
||||
|
|
@ -131,6 +220,8 @@ if an inner type may result in invalid output without them. For example:
|
|||
{{else}}
|
||||
<span class="tsd-signature-type">any</span>
|
||||
{{/with}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
<span class="tsd-signature-symbol"> }</span>
|
||||
{{else if declaration.signatures}}
|
||||
|
|
@ -159,8 +250,11 @@ if an inner type may result in invalid output without them. For example:
|
|||
{{/if}}
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'stringLiteral'}}
|
||||
<span class="tsd-signature-type">"{{value}}"</span>
|
||||
{{#*inline 'rest'}}
|
||||
<span class="tsd-signature-symbol">...</span>
|
||||
{{#with elementType}}
|
||||
{{> type}}
|
||||
{{/with}}
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'tuple'}}
|
||||
|
|
@ -174,6 +268,24 @@ if an inner type may result in invalid output without them. For example:
|
|||
<span class="tsd-signature-symbol">]</span>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'template-literal'}}
|
||||
<span class="tsd-signature-symbol">`</span>
|
||||
{{#if head}}
|
||||
<span class="tsd-signature-type">{{head}}</span>
|
||||
{{/if}}
|
||||
{{#each tail}}
|
||||
<span class="tsd-signature-symbol">${</span>
|
||||
{{#with this.[0]}}
|
||||
{{>type}}
|
||||
{{/with}}
|
||||
<span class="tsd-signature-symbol">}</span>
|
||||
{{#if this.[1]}}
|
||||
<span class="tsd-signature-type">{{this.[1]}}</span>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
<span class="tsd-signature-symbol">`</span>
|
||||
{{/inline}}
|
||||
|
||||
{{#*inline 'typeOperator'}}
|
||||
<span class="tsd-signature-symbol">{{operator}} </span>
|
||||
{{#with target}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue