From a76fac14098cf2138cf8d6997ac7c89d8c3ae508 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Sat, 8 Oct 2022 18:48:36 +0200 Subject: [PATCH] Generate documentation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .eslintrc.js | 2 +- .vscode/settings.json | 2 +- docs/assets/highlight.css | 4 +- docs/assets/icons.css | 1043 ---------------- docs/assets/icons.png | Bin 9615 -> 0 bytes docs/assets/icons@2x.png | Bin 28144 -> 0 bytes docs/assets/main.js | 6 +- docs/assets/search.js | 2 +- docs/assets/style.css | 1057 +++++++---------- docs/assets/widgets.png | Bin 480 -> 0 bytes docs/assets/widgets@2x.png | Bin 855 -> 0 bytes docs/classes/AbstractWorker.html | 629 ++++++++-- docs/classes/ClusterWorker.html | 568 +++++++-- docs/classes/DynamicClusterPool.html | 697 ++++++++++- docs/classes/DynamicThreadPool.html | 699 ++++++++++- docs/classes/FixedClusterPool.html | 693 ++++++++++- docs/classes/FixedThreadPool.html | 695 ++++++++++- docs/classes/ThreadWorker.html | 568 +++++++-- docs/index.html | 110 +- docs/interfaces/ClusterPoolOptions.html | 156 ++- docs/interfaces/IPool.html | 143 ++- docs/interfaces/IWorker.html | 33 - docs/interfaces/PoolOptions.html | 141 ++- docs/interfaces/WorkerOptions.html | 111 +- src/pools/abstract-pool-worker.ts | 10 +- src/pools/abstract-pool.ts | 26 +- src/pools/cluster/dynamic.ts | 4 +- src/pools/cluster/fixed.ts | 18 +- .../abstract-worker-choice-strategy.ts | 4 +- .../dynamic-pool-worker-choice-strategy.ts | 2 +- ...ss-recently-used-worker-choice-strategy.ts | 2 +- .../round-robin-worker-choice-strategy.ts | 2 +- src/pools/thread/dynamic.ts | 4 +- src/pools/thread/fixed.ts | 16 +- src/worker/cluster-worker.ts | 4 +- src/worker/thread-worker.ts | 2 +- 36 files changed, 5206 insertions(+), 2247 deletions(-) delete mode 100644 docs/assets/icons.css delete mode 100644 docs/assets/icons.png delete mode 100644 docs/assets/icons@2x.png delete mode 100644 docs/assets/widgets.png delete mode 100644 docs/assets/widgets@2x.png delete mode 100644 docs/interfaces/IWorker.html diff --git a/.eslintrc.js b/.eslintrc.js index 37a3c5d5..c251c5a5 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -36,7 +36,7 @@ module.exports = defineConfig({ 'ecma', 'enum', 'fibonacci', - 'inheritdoc', + 'inheritDoc', 'jsdoc', 'poolifier', 'readonly', diff --git a/.vscode/settings.json b/.vscode/settings.json index dd817ae7..196c6bbf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ "Dependabot", "Gitter", "Shinigami", - "inheritdoc", + "inheritDoc", "lcov", "loglevel", "markdownlint", diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index a13094d4..5674cf39 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -11,11 +11,11 @@ --code-background: var(--dark-code-background); } } -body.light { +:root[data-theme='light'] { --code-background: var(--light-code-background); } -body.dark { +:root[data-theme='dark'] { --code-background: var(--dark-code-background); } diff --git a/docs/assets/icons.css b/docs/assets/icons.css deleted file mode 100644 index 776a3562..00000000 --- a/docs/assets/icons.css +++ /dev/null @@ -1,1043 +0,0 @@ -.tsd-kind-icon { - display: block; - position: relative; - padding-left: 20px; - text-indent: -20px; -} -.tsd-kind-icon:before { - content: ""; - display: inline-block; - vertical-align: middle; - width: 17px; - height: 17px; - margin: 0 3px 2px 0; - background-image: url(./icons.png); -} -@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - .tsd-kind-icon:before { - background-image: url(./icons@2x.png); - background-size: 238px 204px; - } -} - -.tsd-signature.tsd-kind-icon:before { - background-position: 0 -153px; -} - -.tsd-kind-object-literal > .tsd-kind-icon:before { - background-position: 0px -17px; -} -.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -17px; -} -.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -17px; -} - -.tsd-kind-class > .tsd-kind-icon:before { - background-position: 0px -34px; -} -.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -34px; -} -.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -34px; -} - -.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -51px; -} -.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -17px -51px; -} -.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -51px; -} - -.tsd-kind-interface > .tsd-kind-icon:before { - background-position: 0px -68px; -} -.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -68px; -} -.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -68px; -} - -.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -85px; -} -.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -17px -85px; -} -.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private - > .tsd-kind-icon:before { - background-position: -34px -85px; -} - -.tsd-kind-namespace > .tsd-kind-icon:before { - background-position: 0px -102px; -} -.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -102px; -} -.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -102px; -} - -.tsd-kind-module > .tsd-kind-icon:before { - background-position: 0px -102px; -} -.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -102px; -} -.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -102px; -} - -.tsd-kind-enum > .tsd-kind-icon:before { - background-position: 0px -119px; -} -.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -119px; -} -.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -119px; -} - -.tsd-kind-enum-member > .tsd-kind-icon:before { - background-position: 0px -136px; -} -.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -136px; -} -.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -136px; -} - -.tsd-kind-signature > .tsd-kind-icon:before { - background-position: 0px -153px; -} -.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -153px; -} -.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -153px; -} - -.tsd-kind-type-alias > .tsd-kind-icon:before { - background-position: 0px -170px; -} -.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -170px; -} -.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -170px; -} - -.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -187px; -} -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -17px -187px; -} -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private - > .tsd-kind-icon:before { - background-position: -34px -187px; -} - -.tsd-kind-variable > .tsd-kind-icon:before { - background-position: -136px -0px; -} -.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -0px; -} -.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -0px; -} -.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -0px; -} -.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -0px; -} -.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -0px; -} - -.tsd-kind-property > .tsd-kind-icon:before { - background-position: -136px -0px; -} -.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -0px; -} -.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -0px; -} -.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -0px; -} -.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -0px; -} -.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -0px; -} - -.tsd-kind-get-signature > .tsd-kind-icon:before { - background-position: -136px -17px; -} -.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -17px; -} -.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -17px; -} - -.tsd-kind-set-signature > .tsd-kind-icon:before { - background-position: -136px -34px; -} -.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -34px; -} -.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -34px; -} - -.tsd-kind-accessor > .tsd-kind-icon:before { - background-position: -136px -51px; -} -.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -51px; -} -.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -51px; -} - -.tsd-kind-function > .tsd-kind-icon:before { - background-position: -136px -68px; -} -.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; -} -.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; -} -.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -68px; -} -.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; -} -.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -68px; -} - -.tsd-kind-method > .tsd-kind-icon:before { - background-position: -136px -68px; -} -.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; -} -.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; -} -.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -68px; -} -.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; -} -.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -68px; -} - -.tsd-kind-call-signature > .tsd-kind-icon:before { - background-position: -136px -68px; -} -.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; -} -.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -68px; -} - -.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: -136px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -153px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class - > .tsd-kind-icon:before { - background-position: -51px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum - > .tsd-kind-icon:before { - background-position: -170px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -85px; -} - -.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: -136px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -153px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class - > .tsd-kind-icon:before { - background-position: -51px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum - > .tsd-kind-icon:before { - background-position: -170px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -85px; -} - -.tsd-kind-constructor > .tsd-kind-icon:before { - background-position: -136px -102px; -} -.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -102px; -} -.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -102px; -} - -.tsd-kind-constructor-signature > .tsd-kind-icon:before { - background-position: -136px -102px; -} -.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -102px; -} -.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -102px; -} - -.tsd-kind-index-signature > .tsd-kind-icon:before { - background-position: -136px -119px; -} -.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -119px; -} -.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -119px; -} - -.tsd-kind-event > .tsd-kind-icon:before { - background-position: -136px -136px; -} -.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -136px; -} -.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; -} -.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; -} -.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -136px; -} -.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -136px; -} -.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; -} -.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -136px; -} -.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -136px; -} - -.tsd-is-static > .tsd-kind-icon:before { - background-position: -136px -153px; -} -.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -153px; -} -.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; -} -.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; -} -.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -153px; -} -.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -153px; -} -.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; -} -.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -153px; -} -.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -153px; -} - -.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { - background-position: -136px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -170px; -} - -.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { - background-position: -136px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -170px; -} - -.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { - background-position: -136px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -153px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class - > .tsd-kind-icon:before { - background-position: -51px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum - > .tsd-kind-icon:before { - background-position: -170px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -170px; -} - -.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { - background-position: -136px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -187px; -} diff --git a/docs/assets/icons.png b/docs/assets/icons.png deleted file mode 100644 index 3836d5fe46e48bbe186116855aae879c23935327..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9615 zcmZ{Kc_36>+`rwViHMAd#!?~-${LfgP1$7)F~(N1WKRsT#$-?;yNq3ylq}iztr1xY z8DtsBI<`UHtDfii{r-60Kg@OSJ?GqW=bZ2NvwY{NzOLpergKbGR8*&KBGn9m;|lQC z2Vwv|y`nSufCHVQijE2uRauuTeKZL;=kiiF^SbTk;N^?*u%}Y7bF;O-aMK0lXm4nb zvU~Kf+x|Kgl@Ro%nu?L%x8-yetd((kCqY|t;-%}@Y3Ez_m(HTRt=ekeUQ2n4-aRvJ zrlKaWct8JSc8Kxl4KHu+3VW1L`9%n~_KC5}g6&tFXqyKT-}R0?EdkYqCmQot47^9Z z6;opqR@7Nq-s|6=e6*0^`}+X1kg>CpuGnbpL7{xFTa|8nymC0{xgx*tI7n4mTKZNA znsd@3eVsV>YhATuv~+5(^Vu4j?)Tn`{x@8ijIA;wdf`+0P3$vnSrcWFXXc{Lx`1Z7 z%-n(BM(owD$7LzqJx)(f^Cusecq>OW z=h6n4YzSVM-V!-DK(sLT`!W~}($=O$9|ie`>_fpH0=1G1tiIFw($?~{5T>`74|p0H z``5=UydE)!CiFvmECW|s^TzG9*7pN|KknkVm3C{fEu30gffX&8iCm? zTFPm6*k%Hog`Q6JGj@dg9Z5nlAc6ApUe>;6xauB0-u!?wMU92jVL|3EcP9gEu5^wH z%tXRy#>HCEs*?KgMf73UcJ!lJ?x<6+)eJ{mEIS|HMDP7(7!(< z@X;?ACT8mncW9*XIaiJPW}Mw@b0W||)!sYnLw)0j4&-rXQgJhnQ2?frg1Nfk&JpmV8F=dDZl)e%#Grs|&0th7_o) z?7hQn<1078qcq?#;)CH=2kBBiGt37EtcXfpTXtHB59dr9=B~jI`yPm-Q?(ys=ajAu zGY;eS^z&WFvztZI3I~}*l}_lI^}6D<&CZ94;|&G9_pMx!C~$~EL4^8`QjT#|tqxxk zhl4CdxppbDiOk!Ht#SVAK4gf6Cr#=U&1sVxZ`y-X zTSi#@wHf(?(Dd6ypNOyshRZ*tneVP^W?y?$ur_!9iD-vY{&Q5(ooX2;`SkUjwEYA~ zwGcylCT4_`MZobm(0v$U(IhfYXxyjNJ@ztpH0sDmfpn|LMp3eM(R4uqKi_q1=D1-d z%GdV<&2+_9k@sc44xhIjqktRA2!Su|vzM0R-@#MK&{RdLoU#$Hc?{{JItvX{hKCtc zQNqZpkfG^@LGJRZM4H_>`F=N;O*+_`>M_ko_XWCgu@}ntqLX8VSeZQ_25Z8|^!d?o z$~}~9|`ZW9d_o<=8&K^~;Cr08b;qgq{(*e*sNt00lO2lZ;m-b<`Rl}=Lr6iQ8+$&br z!RLn{5a}j1Dh^|_1)Q?<;iBSrS0V|c_D@3}mc2d!%tV1VN?BC@clkFdx?HB&9KOTF z)9eHpmUEYsCqx^%JHuNdwY zz9P3oPYuTAXZVY}LRp&2qNl$pbsXL1GJ@wx?@CTO!acs+OFfW_U6?&As-(GJED}RR zO}B+Kxph7aUUm>i3rbPZQGXN}oQq;u`yTnFDAJ*d$4gjEJH!JPyt6V{cOUp*Jbyol zE$8wh)T=vpJOWRbv}HvR(cUSlO}ePIPdJ`J@yp=IC&E6K%r?QfW7F&%p!H~@?%yj5 z&MpiV!hyfukD56A097f!0+ANt`JSB~oLak75oKQN7FH=rQbX#Eak37|4&mqp@S~TA zOo51)xQxX}5NQ(3I_UeR4B;P0Q#x$_lDce78ET`Blo;`Hj*R;b8slZS7Oak(LjDuE z3z?-~-U@vWe*cEOsf^9|duH9};Pe)!=Ky+QQ!jr2VV-jMUH-F>oB>Ds zDJw}jm%V?OT^fu1y`$`yRdaW03L?)6vmInxhAsGrPhWIP8?=speMFf9Inn4^t zs$!88*B~c1A2J6t0~hgK2BJ_Pl23l=oeQQqjI2(4Mcv6U_#9#$PEN|qz36rCZ5$@I zNF1LpRe%ZG4qwuYr7ZdaynrPs?spt;9VbQM$462zbksMVhAOqPunrR7@Nbv#5;VKk zJB7xC?~QXd(e9REiLixHxRGhLcKR#0va}|LMS`AXKGOIGFKQv?=+>zf^ zN5XLjX6^`zh*%1UG_QV1H`@z!HZgC+OT2`+_B( z)J95hk;3C+K4XCswSP}au;fx=47~*$k`RAaYEU-qb03y0#x|&>LAeiXgri5E(!h9k z|9OVt@sk1-4+>0?ELyw|zs`~<95M=%o?Gix$?8z4Gz3Kpw|b>?BcD&s{X)-aXg!GJ zyq&`ZEP{K^u7ActXP$gGnO#F0Sr+QUZe0&d5*Yhw9A?C4(Sx2j3QKAlUpkQz7nji^ z%y8F|W{ypj(T%Bf#Wgyvq4szMo?*U-;3IGBRg1fK9!h-=YRsZ_+t~2!-)=pr;)Vnk zmt95&wMb02toOf`I9>M^Kv3LqKb_-#jauF&cGrWsCnMt?p7*uh zevugda={D04DB#7wR375=1i5}Z9fi3r)!F#7qmX9`SjppE&%8l8bKt+ADRMTWRv21 z4L&PldV8YpHw3b^`p0uWlIm#J&K65-y4lQW0VzZR!4#gfeT{b#fL1e*)Z*Ux}M^}bO%OM7uXip_4! zL@yo@q{utZeVV?3CtXs}i>nI|%26fwuzt0f#96fQ!{=dEX^YKnvIk*D%y9Cin;9R) zi{?)baJhgFs$1$SOZESTpldw2H&FD=v*v@1cA!`|s;avDKHa>Q+uJ8qhy!9%C4&lJSTN4OeydYOm4S?Bj7*e{xRYbU9Xos)R7qZT3dBBD5{ zo+(E3pR{>>)}hFhE+}!yYP0V+CVhyAq+RV{^X`XA3{iXj(ir$k@u|t8ZJ1ZnHq2dd zD$0RHmGJ=!?T5`*T2zOEJ~y}Nsyt7O)%+!0ulRQdsopJJxoznfpusv=2@zLXIq@^& z>0T5k4lzGCG(DnltLIe@6=ZOG@C(dvmYXfh4IhJfMfY8S?KkT znb7~EDE}Yhg$J1LxB7m`L4VMS(+(SXTQvh_mz!x&M3-6Z zFRB*a%_gVEqI^mL5|c%V=l_oi%|~h>gL0SB4QH5uonWd#={KPg6}6ES)zk0~#3^KJ zJq@{iqbHe3gyC))jeQ`W;(u3|q)JxuF24|GMsh%v5>>VY-bok%* z1Yl@(5G2UCK=fQck}pAyWV0n{`ML|rsl_N7vmW|frii__zB;ozrQ7{z)y}M^Sg@m_ z;+?{q3sUZs3WxnBbp~CyyL(TA?C*0KIeDPp7w0$!Ijd+M8#}r~vYW)NB*$mG*7-vH z@s^wK07OMxq>WveCEQFQ*p&2gjD1j%i+#G9z##Th`gew>H5=`RwyfPDg2G%f>x3@c z14Oy}pQK?(i06GWLWu%4cGjDoE-tTEI$`9^E?nLT663vu_>6K1e!N>A-^q&tfl$0& zy&>w~+yUelAa!c@xd8iyt^`B^$cj+}h}0i!40K2Ve1KFCDezBzZO8@=k&r)`TNTJ* zzF4Pim>SYL^=~7kW>EyiVHXNMT2)8l#v^IW!pLB_8ZvVfK&m8QHkjsZ)mvd?o$VYG zX#HiWwWlW>N{D85URJ-d)}_3h73|)X=E(6hFzi#TF{$4aSka4TeY>1a_(RIkFBL#O zE0_FoSQI)}+si51ufAqRHhDU=actTRQl@y#2h}xaDv-A&GP&0Qu9V4ED5aWnX z1E#mRT1QSvL!4~%Ozt84nP{&F>VIm6w2q!EPhh^BF-94$4JhCTcrdbDXA3Q&8mPTh zqdPv|X}??B?bIZPpl}z%(zr<8U-NoXjb*L#xyqHHfpIGAgN$5i(E9#rYPYq_tISC4 z2TDkd*uZ;CIhVI2o!||T)Kz`ER@%rTf-&SfmJFF>;d(RW(B6k!1<)uxHM_1G+9BWe zc)k`gBxYMcztqY5@jccaU)CqQ@^G5TBVx(nNf2}D@);3+{D)GzyT{>%dO6ibggS({N!!=P4=M8J}5R*&fgd(w36z0M0D$ z(SN5a`i%sZ9vmaEjiC4)DF}ix&`?mc-vYwK@+}8Gqzj6r6y)lT|Iqwlpj(LXqvh;- zb>jECiiOZ%&Q7gQg7(ix-?-RE*c(O6NG0F-+VCr;701@%L~fyfHnU<;Vk`m3A2{1MSmpii@G*k?KDq0GdZ)|hd`8OHep z8@6wv_|9NKNpe*sc#?zZ1S#}*qk{k<(I99u6(QT#>wf9w^u9~9_>;2d20T=^g-;b5 ze9x~fHZ-JL=J`hq-;W{2SgN)&m9RsVo=%?`JYp`pxEA_>`18Y>XA$rfWm^pQfG3MQ zxT^I1*({tZz2}+!5$AyNUE*jiYwu_S8v<#qZS4e!bGGBdY`3RkgLMf%Kz8s-;7PF+ z6w#-FwV#)PiKGR79miXmrDyv=ZTjc)j>N=&h4F+#G;unBZhhZz?a*;8@bi5`fV4)O zuU5pCs;tvRzbV@P5%W5xLI4I+w*^KExeVlzP4kNRGp-wi3g$lf-I|(o`JQ|u^XfkP zcik+g-5~2lG*oHfjLCpfNalFwz=4ZY>$Rc-QGpws&tCfFZUuJDL)3et%ap*$Q=-v0 zgLfsn-&%#+wnox~@)6ppx30sK(UJg1dCAvQF&}DkoPI+uX_wH))iaYvWtl}BtVKpU&MN= z0GdENbhdLgIwL-#_phGK;mZRlk4zq8*)akvV5zRX@jFUmvcr#3p99P@4z@m|bz-)^ zbZl8Wt?hR*z(sEZl;2PaILIG#835i@YoZQ@EwrD9IOBl7BpJX(ilLgcd)KCZAzo^b z6Z{|~=H;$D2dD53tejr_jx7^y-zT{SNZpNjn4+wJQX~K#LcrlKOv=D5xk%QXD{tg; z+xh`PvMV*HC*rF?xyjK5@KsMl5*w`r@wL#r13uFpso~#^oYIFc^&gGNS825eqFttU2_sG%_ z;X8VXD#Ol4X&$2B_Z$*&-)ZIUXf9I%mOOXJ3O%GbGpJfl+9(jY^fF_(b!Gt{{HAA3 zusUOCPDHYT@&*H~7a050c7r-_CaFACp$BXx)5==@fC11Gn|n~~+u@6N-}lvdyl3&6 z<#c_zm0Xp1F!8o2OBbFfgzzC4vno}9XEf40dGaVo;jiwiazo8hZ~iPVD(re=5k;H| zotm286$6nnTeIw>1FY$Ri|t{Lp?o(Fg3g_>|y~Z+16tvyLc@r?t9g7 zBuXyVuu9bC#q`?@OFIhgS)6v^XP@H0ukl2X!RPMsg%`YHMGad z4{VsgxaprFss3X%HbZablb6IdaNdbISVWp7yQXPPn=s7?J9qLEH{4>XAv8}%h&TDg zs()1sh}4at3nL3^%q!?P9BbW80e*ZwU63}CV7pt}gVu;~V6c$9p+*wfhw!zeE-z|V z=k{Ksec2)$Hu&?pRh;*TPk0T$Fc~^oAoBT4q?-Q}Y&3DluXeoMQ0LesTk}pVlf5(I z$dl8;zA0&=L&z*F*H>W7IeiPhTo@P0VTB~vyC2Bm7lCN}t7@NNlKFSHGKkh?z_qij zoYju!#D4b28cdslLdIM5Cmqe&!v^IcRr=qq^?l+P^n@6}fh@)IS81hx)SPAY7osk0)^ulqC1F*{hBNQl+Y}b>XjVXnS_Cc!L zIZ@Jq#mp^E&fKT~t4DM_^S17R@YJ@`(7;zv1mz_Y=~q*Gdg#*yXGxotY=#F|lvhPM zjlE)VHS=8=)njE^c7M|ZiBqARx>9Ib!y91$70iC8jPi$c+ysP}5Q3s`ti&1sx>~oG zI^>^1onS%G`mtq&)cZ15dZ{X^#MOfatyH0I=l%Q)n z7*@kZtC_3?=J_}?_G@?F?UK<0_AhYFclyrS-PkfYhAeVHcF z16x+quy10*2V$A%p_|@C(vlf}j3uY83h(#TSr$(;^8(I={_=YQQWmA9-IlwJv>tQm z=vN-I{TO7X`;qBxwb5w$91YLV?ZD5}pddq(7IdMCH zi>`qAn|#FITi!L5;K!(tYm9r416}Wof}P8~?R9I9Gp(?VA;uQg19MO47*gS7fH*&jBO!+ zA*<^BMccHjJIvGHguBb4a`X z3aZw#!c&Xr8&szD1+gu&;vYfoWo>0Pxfr2%m34tC33fmRbzWF9I_Pqb9nNK@N##9_ z7K)v)des!^owH`MoXY_O?|;^9;comiPx0e78xhnnVvTYt+t+cU1rn_>gaFJsL-iPn)?<9P9cF#4)7q&v+d&6|3G@s-AcJy+m zE&u*GUaMK|x|4GmT(CgBICk`2BP@3rqtjKIRD#uBy}y*d;<>`?W&mGsG;i*_}V&^tlP`%;=g39@jxP z+3lrtg*!i6N;irOpUfKcd;iDl5a`<#kr8RwFm9=^m+ouwwjcXmTB}w5V#9IF^&Bl$ zr1$Ly#cQ<3u86>am9}pk&i%nxu(W&s@>qEDtn_xVtH-_EiQ}iAK4Ssfsdn&L9t=)d z`XOQN7*J)g$Jrtq0=-yeLnHg*23LxYA7$cxz^Yc)I6E-!;{LQwu_wfGw4&MYy7{n< z@{g0Hf)N5gAJKQ1Z&HGPn9x9B7U(m(9K&=+LHAc_D{YdMBZs~x)u1Y8|Oq!`C4(3_9<&$ddi6>R$Nsz z*ti?=jA-Sr_97V}feo+}Lq3-cfpgWR;PLI8s{ve9@?e;2o}0MpquOucipz^DrT}QH z*(<{nLb4h9799hx4&%I8KPj}xcQ}llgcaG1!nRb(PP?m)=CzA4v%6>oOe96H9 zv4mUhw`>V$29k?)$Co>qIqq(~3w4jJ;Hv5(RxjB-j_iEhlF;&|DDC|I8IcT>Vn;RY zhtw5mT0ygXAu=M%{^;GqYuYIMu4H;Mj--5CL}|zMEhOum_o51Y7i|D>$XmUFoe;@1 z%GsTUsKgF4w%-Cr3lg#~h)8;Lk%WQTLBS8r*sE{YBUDw4HU#o}E)8pVIEfWv&14?U z-+Za${OFm=>IA358en)nB5Iaqxw&Xi*ty@uDOX8o2c0tq0^sX>ZXD+Hn|;KY!Omm1 z^%wgf&Zy9Azd?vmU`~zuOOA0{TZ*mAC!_>|avcN83F#c+sFn_6tGo!v?95IUR2bL$ zlO(OlhszqAgy)mNt8PRulC#6u^SL#z-O&@{=_!AzBZ>T4ROorj%fx$A;u8u>saum0ha7p zeHRX-z)PW*@v9bruyAtVI@)PhaEs5kp`xyxTQ`U9$Whwz#z$=U$V|&0w@EfCUS!Ob zACSTE{VeC-0V~ZCpkKq~P4CLgdOeBy>vB+0ZxIt_Cp4aa%vI#LS^K}ui07WNo}5r0 zagMHmq-jqTf-OD<kAvu_ob1mUP%1jxeKqB!1&-)_hP{p74hHE%WM!atyx68j5b zSqwh8aKo|NIOL<2_eiX+iOsRP`{MUt{0iQetB*SL!F_8)_;0f$iJ4(o__4KWuvy_! z8TZ{dTb*rL6VmuN-yl2Z>0glL84u^jAH^DQl}VRI=x0CnuF*|;|My-5aPI;>(mo+m z`nyEOe&k$RG11$vEdDPG7^raBCw|#C*4#pIUoZJNx?4|ZC{)l>+jaSiiJ`GBKf}l) zUk1>%A61hqy!KvfRsM^|u6vwbH5WpfH(I5AdpBAg%rar%zW}nccGxfgRV4&v`tEoGyBq!uz^f zVqWEtxn%j&+Q2Fi$rL)H`M_HExP+?mFyN^){c{JXs{IM}f}p>7lfD zLZ;s)%6a(Ow@`(jP}k~pn@!dv6JhJkZf5UoumHv`g-tcCs)w* z#0sc%t9@Li{p}f*$vg$UiQ*RGZUr=ykDIaxRDU_(QfcURuYrpX*7IQcS$(Buw%VW7 zxaffDgn{-=K@iEh)LlPc3MPzc+qM^>RXr6Y8ASnP&dr6fqmwYILTpmh$E%{Iz%Qz( NZmR35l_G4O{0}dcmS_L~ diff --git a/docs/assets/icons@2x.png b/docs/assets/icons@2x.png deleted file mode 100644 index 5a209e2f6d7f915cc9cb6fe7a4264c8be4db87b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28144 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 Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!_e.call(t,n)&&n!=="default"&&J(t,n,{get:()=>e[n],enumerable:!(r=Pe(e,n))||r.enumerable});return t},Ae=t=>De(Me(J(t!=null?Ce(Re(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ue,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?h+=2:a==c&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),v;f in s.node.edges?v=s.node.edges[f]:(v=new t.TokenSet,s.node.edges[f]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ue=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){var r;let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(r=this.secondaryNav)==null||r.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;nn.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ce=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var pe=Ae(de());function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ce(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=pe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o${ve(c.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=c.classes;let f=document.createElement("a");f.href=n.base+c.url,f.classList.add("tsd-kind-icon"),f.innerHTML=l,h.append(f),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`${re(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}fe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})(); +"use strict"; +"use strict";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function j(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r}),r.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends k{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;ii.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>t(r),e)}};var me=De(de());function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{Ae(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?fe(e,-1):s.key==="ArrowDown"?fe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=me.Index.load(window.searchData.index))}function Ae(t,e,n,r){if(He(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${pe(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function fe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function pe(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ie(t.substring(s,o)),`${ie(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",B="mouseup",Z={x:0,y:0},ge=!1,se=!1,je=!1,H=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(je=!0,F="touchstart",ye="touchmove",B="touchend");document.addEventListener(F,t=>{se=!0,H=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!se&&!H){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);H=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends k{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){H||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!H&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends k{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends k{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();j(X,".menu-highlight");j(K,"a[data-toggle]");j(te,".tsd-index-accordion");j(ee,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("theme");Se&&be(Se);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})(); /*! * lunr.Builder * Copyright (C) 2020 Oliver Nightingale diff --git a/docs/assets/search.js b/docs/assets/search.js index 6e3bed8f..c1adaedc 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = {"kinds":{"32":"Variable","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":4194304,"name":"ErrorHandler","url":"index.html#ErrorHandler","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":1,"kind":65536,"name":"__type","url":"index.html#ErrorHandler.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"ErrorHandler"},{"id":2,"kind":4194304,"name":"ExitHandler","url":"index.html#ExitHandler","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":3,"kind":65536,"name":"__type","url":"index.html#ExitHandler.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"ExitHandler"},{"id":4,"kind":256,"name":"IWorker","url":"interfaces/IWorker.html","classes":"tsd-kind-interface"},{"id":5,"kind":2048,"name":"on","url":"interfaces/IWorker.html#on","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IWorker"},{"id":6,"kind":2048,"name":"once","url":"interfaces/IWorker.html#once","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IWorker"},{"id":7,"kind":4194304,"name":"OnlineHandler","url":"index.html#OnlineHandler","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":8,"kind":65536,"name":"__type","url":"index.html#OnlineHandler.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"OnlineHandler"},{"id":9,"kind":256,"name":"PoolOptions","url":"interfaces/PoolOptions.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":10,"kind":1024,"name":"messageHandler","url":"interfaces/PoolOptions.html#messageHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":11,"kind":1024,"name":"errorHandler","url":"interfaces/PoolOptions.html#errorHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":12,"kind":1024,"name":"onlineHandler","url":"interfaces/PoolOptions.html#onlineHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":13,"kind":1024,"name":"exitHandler","url":"interfaces/PoolOptions.html#exitHandler","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":14,"kind":1024,"name":"workerChoiceStrategy","url":"interfaces/PoolOptions.html#workerChoiceStrategy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":15,"kind":1024,"name":"enableEvents","url":"interfaces/PoolOptions.html#enableEvents","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PoolOptions"},{"id":16,"kind":128,"name":"DynamicClusterPool","url":"classes/DynamicClusterPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":17,"kind":512,"name":"constructor","url":"classes/DynamicClusterPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"DynamicClusterPool"},{"id":18,"kind":1024,"name":"max","url":"classes/DynamicClusterPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":19,"kind":262144,"name":"type","url":"classes/DynamicClusterPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicClusterPool"},{"id":20,"kind":262144,"name":"busy","url":"classes/DynamicClusterPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicClusterPool"},{"id":21,"kind":1024,"name":"opts","url":"classes/DynamicClusterPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":22,"kind":2048,"name":"setupHook","url":"classes/DynamicClusterPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":23,"kind":2048,"name":"isMain","url":"classes/DynamicClusterPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":24,"kind":2048,"name":"destroyWorker","url":"classes/DynamicClusterPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":25,"kind":2048,"name":"sendToWorker","url":"classes/DynamicClusterPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":26,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/DynamicClusterPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited","parent":"DynamicClusterPool"},{"id":27,"kind":2048,"name":"createWorker","url":"classes/DynamicClusterPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":28,"kind":2048,"name":"afterWorkerSetup","url":"classes/DynamicClusterPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":29,"kind":1024,"name":"workers","url":"classes/DynamicClusterPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":30,"kind":1024,"name":"tasks","url":"classes/DynamicClusterPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":31,"kind":1024,"name":"emitter","url":"classes/DynamicClusterPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":32,"kind":1024,"name":"promiseMap","url":"classes/DynamicClusterPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":33,"kind":1024,"name":"nextMessageId","url":"classes/DynamicClusterPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":34,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/DynamicClusterPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":35,"kind":1024,"name":"numberOfWorkers","url":"classes/DynamicClusterPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":36,"kind":1024,"name":"filePath","url":"classes/DynamicClusterPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":37,"kind":262144,"name":"numberOfRunningTasks","url":"classes/DynamicClusterPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":38,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/DynamicClusterPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":39,"kind":2048,"name":"internalGetBusyStatus","url":"classes/DynamicClusterPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":40,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/DynamicClusterPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":41,"kind":2048,"name":"execute","url":"classes/DynamicClusterPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":42,"kind":2048,"name":"destroy","url":"classes/DynamicClusterPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicClusterPool"},{"id":43,"kind":2048,"name":"increaseWorkersTask","url":"classes/DynamicClusterPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":44,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/DynamicClusterPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":45,"kind":2048,"name":"removeWorker","url":"classes/DynamicClusterPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":46,"kind":2048,"name":"chooseWorker","url":"classes/DynamicClusterPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":47,"kind":2048,"name":"internalExecute","url":"classes/DynamicClusterPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":48,"kind":2048,"name":"createAndSetupWorker","url":"classes/DynamicClusterPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":49,"kind":2048,"name":"workerListener","url":"classes/DynamicClusterPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicClusterPool"},{"id":50,"kind":128,"name":"FixedClusterPool","url":"classes/FixedClusterPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":51,"kind":512,"name":"constructor","url":"classes/FixedClusterPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedClusterPool"},{"id":52,"kind":1024,"name":"opts","url":"classes/FixedClusterPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":53,"kind":2048,"name":"setupHook","url":"classes/FixedClusterPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":54,"kind":2048,"name":"isMain","url":"classes/FixedClusterPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":55,"kind":2048,"name":"destroyWorker","url":"classes/FixedClusterPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"FixedClusterPool"},{"id":56,"kind":2048,"name":"sendToWorker","url":"classes/FixedClusterPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":57,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/FixedClusterPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedClusterPool"},{"id":58,"kind":2048,"name":"createWorker","url":"classes/FixedClusterPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":59,"kind":2048,"name":"afterWorkerSetup","url":"classes/FixedClusterPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedClusterPool"},{"id":60,"kind":262144,"name":"type","url":"classes/FixedClusterPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedClusterPool"},{"id":61,"kind":262144,"name":"busy","url":"classes/FixedClusterPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedClusterPool"},{"id":62,"kind":1024,"name":"workers","url":"classes/FixedClusterPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":63,"kind":1024,"name":"tasks","url":"classes/FixedClusterPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":64,"kind":1024,"name":"emitter","url":"classes/FixedClusterPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":65,"kind":1024,"name":"max","url":"classes/FixedClusterPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":66,"kind":1024,"name":"promiseMap","url":"classes/FixedClusterPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":67,"kind":1024,"name":"nextMessageId","url":"classes/FixedClusterPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":68,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/FixedClusterPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":69,"kind":1024,"name":"numberOfWorkers","url":"classes/FixedClusterPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":70,"kind":1024,"name":"filePath","url":"classes/FixedClusterPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":71,"kind":262144,"name":"numberOfRunningTasks","url":"classes/FixedClusterPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":72,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/FixedClusterPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":73,"kind":2048,"name":"internalGetBusyStatus","url":"classes/FixedClusterPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":74,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/FixedClusterPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":75,"kind":2048,"name":"execute","url":"classes/FixedClusterPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":76,"kind":2048,"name":"destroy","url":"classes/FixedClusterPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedClusterPool"},{"id":77,"kind":2048,"name":"increaseWorkersTask","url":"classes/FixedClusterPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":78,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/FixedClusterPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":79,"kind":2048,"name":"removeWorker","url":"classes/FixedClusterPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":80,"kind":2048,"name":"chooseWorker","url":"classes/FixedClusterPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":81,"kind":2048,"name":"internalExecute","url":"classes/FixedClusterPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":82,"kind":2048,"name":"createAndSetupWorker","url":"classes/FixedClusterPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":83,"kind":2048,"name":"workerListener","url":"classes/FixedClusterPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedClusterPool"},{"id":84,"kind":256,"name":"ClusterPoolOptions","url":"interfaces/ClusterPoolOptions.html","classes":"tsd-kind-interface"},{"id":85,"kind":1024,"name":"env","url":"interfaces/ClusterPoolOptions.html#env","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ClusterPoolOptions"},{"id":86,"kind":1024,"name":"messageHandler","url":"interfaces/ClusterPoolOptions.html#messageHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":87,"kind":1024,"name":"errorHandler","url":"interfaces/ClusterPoolOptions.html#errorHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":88,"kind":1024,"name":"onlineHandler","url":"interfaces/ClusterPoolOptions.html#onlineHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":89,"kind":1024,"name":"exitHandler","url":"interfaces/ClusterPoolOptions.html#exitHandler","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":90,"kind":1024,"name":"workerChoiceStrategy","url":"interfaces/ClusterPoolOptions.html#workerChoiceStrategy","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":91,"kind":1024,"name":"enableEvents","url":"interfaces/ClusterPoolOptions.html#enableEvents","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"ClusterPoolOptions"},{"id":92,"kind":256,"name":"IPool","url":"interfaces/IPool.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":93,"kind":2048,"name":"execute","url":"interfaces/IPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IPool"},{"id":94,"kind":2048,"name":"destroy","url":"interfaces/IPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IPool"},{"id":95,"kind":2048,"name":"setWorkerChoiceStrategy","url":"interfaces/IPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"IPool"},{"id":96,"kind":32,"name":"WorkerChoiceStrategies","url":"index.html#WorkerChoiceStrategies","classes":"tsd-kind-variable"},{"id":97,"kind":4194304,"name":"WorkerChoiceStrategy","url":"index.html#WorkerChoiceStrategy","classes":"tsd-kind-type-alias"},{"id":98,"kind":128,"name":"DynamicThreadPool","url":"classes/DynamicThreadPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":99,"kind":512,"name":"constructor","url":"classes/DynamicThreadPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"DynamicThreadPool"},{"id":100,"kind":1024,"name":"max","url":"classes/DynamicThreadPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":101,"kind":262144,"name":"type","url":"classes/DynamicThreadPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicThreadPool"},{"id":102,"kind":262144,"name":"busy","url":"classes/DynamicThreadPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"DynamicThreadPool"},{"id":103,"kind":2048,"name":"isMain","url":"classes/DynamicThreadPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":104,"kind":2048,"name":"destroyWorker","url":"classes/DynamicThreadPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":105,"kind":2048,"name":"sendToWorker","url":"classes/DynamicThreadPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":106,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/DynamicThreadPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-inherited","parent":"DynamicThreadPool"},{"id":107,"kind":2048,"name":"createWorker","url":"classes/DynamicThreadPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":108,"kind":2048,"name":"afterWorkerSetup","url":"classes/DynamicThreadPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":109,"kind":1024,"name":"workers","url":"classes/DynamicThreadPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":110,"kind":1024,"name":"tasks","url":"classes/DynamicThreadPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":111,"kind":1024,"name":"emitter","url":"classes/DynamicThreadPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":112,"kind":1024,"name":"promiseMap","url":"classes/DynamicThreadPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":113,"kind":1024,"name":"nextMessageId","url":"classes/DynamicThreadPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":114,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/DynamicThreadPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":115,"kind":1024,"name":"numberOfWorkers","url":"classes/DynamicThreadPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":116,"kind":1024,"name":"filePath","url":"classes/DynamicThreadPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":117,"kind":1024,"name":"opts","url":"classes/DynamicThreadPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":118,"kind":262144,"name":"numberOfRunningTasks","url":"classes/DynamicThreadPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":119,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/DynamicThreadPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":120,"kind":2048,"name":"internalGetBusyStatus","url":"classes/DynamicThreadPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":121,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/DynamicThreadPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":122,"kind":2048,"name":"execute","url":"classes/DynamicThreadPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":123,"kind":2048,"name":"destroy","url":"classes/DynamicThreadPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"DynamicThreadPool"},{"id":124,"kind":2048,"name":"setupHook","url":"classes/DynamicThreadPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":125,"kind":2048,"name":"increaseWorkersTask","url":"classes/DynamicThreadPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":126,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/DynamicThreadPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":127,"kind":2048,"name":"removeWorker","url":"classes/DynamicThreadPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":128,"kind":2048,"name":"chooseWorker","url":"classes/DynamicThreadPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":129,"kind":2048,"name":"internalExecute","url":"classes/DynamicThreadPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":130,"kind":2048,"name":"createAndSetupWorker","url":"classes/DynamicThreadPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":131,"kind":2048,"name":"workerListener","url":"classes/DynamicThreadPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"DynamicThreadPool"},{"id":132,"kind":128,"name":"FixedThreadPool","url":"classes/FixedThreadPool.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":133,"kind":512,"name":"constructor","url":"classes/FixedThreadPool.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedThreadPool"},{"id":134,"kind":2048,"name":"isMain","url":"classes/FixedThreadPool.html#isMain","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":135,"kind":2048,"name":"destroyWorker","url":"classes/FixedThreadPool.html#destroyWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"FixedThreadPool"},{"id":136,"kind":2048,"name":"sendToWorker","url":"classes/FixedThreadPool.html#sendToWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":137,"kind":2048,"name":"registerWorkerMessageListener","url":"classes/FixedThreadPool.html#registerWorkerMessageListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"FixedThreadPool"},{"id":138,"kind":2048,"name":"createWorker","url":"classes/FixedThreadPool.html#createWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":139,"kind":2048,"name":"afterWorkerSetup","url":"classes/FixedThreadPool.html#afterWorkerSetup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"FixedThreadPool"},{"id":140,"kind":262144,"name":"type","url":"classes/FixedThreadPool.html#type","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedThreadPool"},{"id":141,"kind":262144,"name":"busy","url":"classes/FixedThreadPool.html#busy","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-overwrite","parent":"FixedThreadPool"},{"id":142,"kind":1024,"name":"workers","url":"classes/FixedThreadPool.html#workers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":143,"kind":1024,"name":"tasks","url":"classes/FixedThreadPool.html#tasks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":144,"kind":1024,"name":"emitter","url":"classes/FixedThreadPool.html#emitter","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":145,"kind":1024,"name":"max","url":"classes/FixedThreadPool.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":146,"kind":1024,"name":"promiseMap","url":"classes/FixedThreadPool.html#promiseMap","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":147,"kind":1024,"name":"nextMessageId","url":"classes/FixedThreadPool.html#nextMessageId","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":148,"kind":1024,"name":"workerChoiceStrategyContext","url":"classes/FixedThreadPool.html#workerChoiceStrategyContext","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":149,"kind":1024,"name":"numberOfWorkers","url":"classes/FixedThreadPool.html#numberOfWorkers","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":150,"kind":1024,"name":"filePath","url":"classes/FixedThreadPool.html#filePath","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":151,"kind":1024,"name":"opts","url":"classes/FixedThreadPool.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":152,"kind":262144,"name":"numberOfRunningTasks","url":"classes/FixedThreadPool.html#numberOfRunningTasks","classes":"tsd-kind-get-signature tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":153,"kind":2048,"name":"setWorkerChoiceStrategy","url":"classes/FixedThreadPool.html#setWorkerChoiceStrategy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":154,"kind":2048,"name":"internalGetBusyStatus","url":"classes/FixedThreadPool.html#internalGetBusyStatus","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":155,"kind":2048,"name":"findFreeTasksMapEntry","url":"classes/FixedThreadPool.html#findFreeTasksMapEntry","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":156,"kind":2048,"name":"execute","url":"classes/FixedThreadPool.html#execute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":157,"kind":2048,"name":"destroy","url":"classes/FixedThreadPool.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"FixedThreadPool"},{"id":158,"kind":2048,"name":"setupHook","url":"classes/FixedThreadPool.html#setupHook","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":159,"kind":2048,"name":"increaseWorkersTask","url":"classes/FixedThreadPool.html#increaseWorkersTask","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":160,"kind":2048,"name":"decreaseWorkersTasks","url":"classes/FixedThreadPool.html#decreaseWorkersTasks","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":161,"kind":2048,"name":"removeWorker","url":"classes/FixedThreadPool.html#removeWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":162,"kind":2048,"name":"chooseWorker","url":"classes/FixedThreadPool.html#chooseWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":163,"kind":2048,"name":"internalExecute","url":"classes/FixedThreadPool.html#internalExecute","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":164,"kind":2048,"name":"createAndSetupWorker","url":"classes/FixedThreadPool.html#createAndSetupWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":165,"kind":2048,"name":"workerListener","url":"classes/FixedThreadPool.html#workerListener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"FixedThreadPool"},{"id":166,"kind":4194304,"name":"ThreadWorkerWithMessageChannel","url":"index.html#ThreadWorkerWithMessageChannel","classes":"tsd-kind-type-alias"},{"id":167,"kind":128,"name":"AbstractWorker","url":"classes/AbstractWorker.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":168,"kind":512,"name":"constructor","url":"classes/AbstractWorker.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"AbstractWorker"},{"id":169,"kind":1024,"name":"lastTaskTimestamp","url":"classes/AbstractWorker.html#lastTaskTimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":170,"kind":1024,"name":"aliveInterval","url":"classes/AbstractWorker.html#aliveInterval","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":171,"kind":1024,"name":"mainWorker","url":"classes/AbstractWorker.html#mainWorker","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":172,"kind":1024,"name":"opts","url":"classes/AbstractWorker.html#opts","classes":"tsd-kind-property tsd-parent-kind-class","parent":"AbstractWorker"},{"id":173,"kind":2048,"name":"checkWorkerOptions","url":"classes/AbstractWorker.html#checkWorkerOptions","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"AbstractWorker"},{"id":174,"kind":2048,"name":"checkFunctionInput","url":"classes/AbstractWorker.html#checkFunctionInput","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-private","parent":"AbstractWorker"},{"id":175,"kind":2048,"name":"getMainWorker","url":"classes/AbstractWorker.html#getMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":176,"kind":2048,"name":"sendToMainWorker","url":"classes/AbstractWorker.html#sendToMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":177,"kind":2048,"name":"checkAlive","url":"classes/AbstractWorker.html#checkAlive","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":178,"kind":2048,"name":"handleError","url":"classes/AbstractWorker.html#handleError","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":179,"kind":2048,"name":"run","url":"classes/AbstractWorker.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":180,"kind":2048,"name":"runAsync","url":"classes/AbstractWorker.html#runAsync","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-protected","parent":"AbstractWorker"},{"id":181,"kind":128,"name":"ClusterWorker","url":"classes/ClusterWorker.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":182,"kind":512,"name":"constructor","url":"classes/ClusterWorker.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"ClusterWorker"},{"id":183,"kind":2048,"name":"sendToMainWorker","url":"classes/ClusterWorker.html#sendToMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"ClusterWorker"},{"id":184,"kind":2048,"name":"handleError","url":"classes/ClusterWorker.html#handleError","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"ClusterWorker"},{"id":185,"kind":1024,"name":"lastTaskTimestamp","url":"classes/ClusterWorker.html#lastTaskTimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":186,"kind":1024,"name":"aliveInterval","url":"classes/ClusterWorker.html#aliveInterval","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":187,"kind":1024,"name":"mainWorker","url":"classes/ClusterWorker.html#mainWorker","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":188,"kind":1024,"name":"opts","url":"classes/ClusterWorker.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"ClusterWorker"},{"id":189,"kind":2048,"name":"getMainWorker","url":"classes/ClusterWorker.html#getMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":190,"kind":2048,"name":"checkAlive","url":"classes/ClusterWorker.html#checkAlive","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":191,"kind":2048,"name":"run","url":"classes/ClusterWorker.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":192,"kind":2048,"name":"runAsync","url":"classes/ClusterWorker.html#runAsync","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ClusterWorker"},{"id":193,"kind":128,"name":"ThreadWorker","url":"classes/ThreadWorker.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":194,"kind":512,"name":"constructor","url":"classes/ThreadWorker.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter tsd-is-overwrite","parent":"ThreadWorker"},{"id":195,"kind":2048,"name":"sendToMainWorker","url":"classes/ThreadWorker.html#sendToMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"ThreadWorker"},{"id":196,"kind":1024,"name":"lastTaskTimestamp","url":"classes/ThreadWorker.html#lastTaskTimestamp","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":197,"kind":1024,"name":"aliveInterval","url":"classes/ThreadWorker.html#aliveInterval","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":198,"kind":1024,"name":"mainWorker","url":"classes/ThreadWorker.html#mainWorker","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":199,"kind":1024,"name":"opts","url":"classes/ThreadWorker.html#opts","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"ThreadWorker"},{"id":200,"kind":2048,"name":"getMainWorker","url":"classes/ThreadWorker.html#getMainWorker","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":201,"kind":2048,"name":"checkAlive","url":"classes/ThreadWorker.html#checkAlive","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":202,"kind":2048,"name":"handleError","url":"classes/ThreadWorker.html#handleError","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":203,"kind":2048,"name":"run","url":"classes/ThreadWorker.html#run","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":204,"kind":2048,"name":"runAsync","url":"classes/ThreadWorker.html#runAsync","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"ThreadWorker"},{"id":205,"kind":32,"name":"KillBehaviors","url":"index.html#KillBehaviors","classes":"tsd-kind-variable"},{"id":206,"kind":4194304,"name":"KillBehavior","url":"index.html#KillBehavior","classes":"tsd-kind-type-alias"},{"id":207,"kind":256,"name":"WorkerOptions","url":"interfaces/WorkerOptions.html","classes":"tsd-kind-interface"},{"id":208,"kind":1024,"name":"maxInactiveTime","url":"interfaces/WorkerOptions.html#maxInactiveTime","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkerOptions"},{"id":209,"kind":1024,"name":"async","url":"interfaces/WorkerOptions.html#async","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkerOptions"},{"id":210,"kind":1024,"name":"killBehavior","url":"interfaces/WorkerOptions.html#killBehavior","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"WorkerOptions"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,38.525]],["parent/0",[]],["name/1",[1,41.038]],["parent/1",[0,3.694]],["name/2",[2,38.525]],["parent/2",[]],["name/3",[1,41.038]],["parent/3",[2,3.694]],["name/4",[3,41.038]],["parent/4",[]],["name/5",[4,49.511]],["parent/5",[3,3.935]],["name/6",[5,49.511]],["parent/6",[3,3.935]],["name/7",[6,38.525]],["parent/7",[]],["name/8",[1,41.038]],["parent/8",[6,3.694]],["name/9",[7,33.417]],["parent/9",[]],["name/10",[8,44.403]],["parent/10",[7,3.204]],["name/11",[0,38.525]],["parent/11",[7,3.204]],["name/12",[6,38.525]],["parent/12",[7,3.204]],["name/13",[2,38.525]],["parent/13",[7,3.204]],["name/14",[9,41.038]],["parent/14",[7,3.204]],["name/15",[10,44.403]],["parent/15",[7,3.204]],["name/16",[11,18.156]],["parent/16",[]],["name/17",[12,33.417]],["parent/17",[11,1.741]],["name/18",[13,38.525]],["parent/18",[11,1.741]],["name/19",[14,38.525]],["parent/19",[11,1.741]],["name/20",[15,38.525]],["parent/20",[11,1.741]],["name/21",[16,33.417]],["parent/21",[11,1.741]],["name/22",[17,38.525]],["parent/22",[11,1.741]],["name/23",[18,38.525]],["parent/23",[11,1.741]],["name/24",[19,38.525]],["parent/24",[11,1.741]],["name/25",[20,38.525]],["parent/25",[11,1.741]],["name/26",[21,38.525]],["parent/26",[11,1.741]],["name/27",[22,38.525]],["parent/27",[11,1.741]],["name/28",[23,38.525]],["parent/28",[11,1.741]],["name/29",[24,38.525]],["parent/29",[11,1.741]],["name/30",[25,38.525]],["parent/30",[11,1.741]],["name/31",[26,38.525]],["parent/31",[11,1.741]],["name/32",[27,38.525]],["parent/32",[11,1.741]],["name/33",[28,38.525]],["parent/33",[11,1.741]],["name/34",[29,38.525]],["parent/34",[11,1.741]],["name/35",[30,38.525]],["parent/35",[11,1.741]],["name/36",[31,38.525]],["parent/36",[11,1.741]],["name/37",[32,38.525]],["parent/37",[11,1.741]],["name/38",[33,36.518]],["parent/38",[11,1.741]],["name/39",[34,38.525]],["parent/39",[11,1.741]],["name/40",[35,38.525]],["parent/40",[11,1.741]],["name/41",[36,36.518]],["parent/41",[11,1.741]],["name/42",[37,36.518]],["parent/42",[11,1.741]],["name/43",[38,38.525]],["parent/43",[11,1.741]],["name/44",[39,38.525]],["parent/44",[11,1.741]],["name/45",[40,38.525]],["parent/45",[11,1.741]],["name/46",[41,38.525]],["parent/46",[11,1.741]],["name/47",[42,38.525]],["parent/47",[11,1.741]],["name/48",[43,38.525]],["parent/48",[11,1.741]],["name/49",[44,38.525]],["parent/49",[11,1.741]],["name/50",[45,18.156]],["parent/50",[]],["name/51",[12,33.417]],["parent/51",[45,1.741]],["name/52",[16,33.417]],["parent/52",[45,1.741]],["name/53",[17,38.525]],["parent/53",[45,1.741]],["name/54",[18,38.525]],["parent/54",[45,1.741]],["name/55",[19,38.525]],["parent/55",[45,1.741]],["name/56",[20,38.525]],["parent/56",[45,1.741]],["name/57",[21,38.525]],["parent/57",[45,1.741]],["name/58",[22,38.525]],["parent/58",[45,1.741]],["name/59",[23,38.525]],["parent/59",[45,1.741]],["name/60",[14,38.525]],["parent/60",[45,1.741]],["name/61",[15,38.525]],["parent/61",[45,1.741]],["name/62",[24,38.525]],["parent/62",[45,1.741]],["name/63",[25,38.525]],["parent/63",[45,1.741]],["name/64",[26,38.525]],["parent/64",[45,1.741]],["name/65",[13,38.525]],["parent/65",[45,1.741]],["name/66",[27,38.525]],["parent/66",[45,1.741]],["name/67",[28,38.525]],["parent/67",[45,1.741]],["name/68",[29,38.525]],["parent/68",[45,1.741]],["name/69",[30,38.525]],["parent/69",[45,1.741]],["name/70",[31,38.525]],["parent/70",[45,1.741]],["name/71",[32,38.525]],["parent/71",[45,1.741]],["name/72",[33,36.518]],["parent/72",[45,1.741]],["name/73",[34,38.525]],["parent/73",[45,1.741]],["name/74",[35,38.525]],["parent/74",[45,1.741]],["name/75",[36,36.518]],["parent/75",[45,1.741]],["name/76",[37,36.518]],["parent/76",[45,1.741]],["name/77",[38,38.525]],["parent/77",[45,1.741]],["name/78",[39,38.525]],["parent/78",[45,1.741]],["name/79",[40,38.525]],["parent/79",[45,1.741]],["name/80",[41,38.525]],["parent/80",[45,1.741]],["name/81",[42,38.525]],["parent/81",[45,1.741]],["name/82",[43,38.525]],["parent/82",[45,1.741]],["name/83",[44,38.525]],["parent/83",[45,1.741]],["name/84",[46,32.165]],["parent/84",[]],["name/85",[47,49.511]],["parent/85",[46,3.084]],["name/86",[8,44.403]],["parent/86",[46,3.084]],["name/87",[0,38.525]],["parent/87",[46,3.084]],["name/88",[6,38.525]],["parent/88",[46,3.084]],["name/89",[2,38.525]],["parent/89",[46,3.084]],["name/90",[9,41.038]],["parent/90",[46,3.084]],["name/91",[10,44.403]],["parent/91",[46,3.084]],["name/92",[48,38.525]],["parent/92",[]],["name/93",[36,36.518]],["parent/93",[48,3.694]],["name/94",[37,36.518]],["parent/94",[48,3.694]],["name/95",[33,36.518]],["parent/95",[48,3.694]],["name/96",[49,49.511]],["parent/96",[]],["name/97",[9,41.038]],["parent/97",[]],["name/98",[50,18.156]],["parent/98",[]],["name/99",[12,33.417]],["parent/99",[50,1.741]],["name/100",[13,38.525]],["parent/100",[50,1.741]],["name/101",[14,38.525]],["parent/101",[50,1.741]],["name/102",[15,38.525]],["parent/102",[50,1.741]],["name/103",[18,38.525]],["parent/103",[50,1.741]],["name/104",[19,38.525]],["parent/104",[50,1.741]],["name/105",[20,38.525]],["parent/105",[50,1.741]],["name/106",[21,38.525]],["parent/106",[50,1.741]],["name/107",[22,38.525]],["parent/107",[50,1.741]],["name/108",[23,38.525]],["parent/108",[50,1.741]],["name/109",[24,38.525]],["parent/109",[50,1.741]],["name/110",[25,38.525]],["parent/110",[50,1.741]],["name/111",[26,38.525]],["parent/111",[50,1.741]],["name/112",[27,38.525]],["parent/112",[50,1.741]],["name/113",[28,38.525]],["parent/113",[50,1.741]],["name/114",[29,38.525]],["parent/114",[50,1.741]],["name/115",[30,38.525]],["parent/115",[50,1.741]],["name/116",[31,38.525]],["parent/116",[50,1.741]],["name/117",[16,33.417]],["parent/117",[50,1.741]],["name/118",[32,38.525]],["parent/118",[50,1.741]],["name/119",[33,36.518]],["parent/119",[50,1.741]],["name/120",[34,38.525]],["parent/120",[50,1.741]],["name/121",[35,38.525]],["parent/121",[50,1.741]],["name/122",[36,36.518]],["parent/122",[50,1.741]],["name/123",[37,36.518]],["parent/123",[50,1.741]],["name/124",[17,38.525]],["parent/124",[50,1.741]],["name/125",[38,38.525]],["parent/125",[50,1.741]],["name/126",[39,38.525]],["parent/126",[50,1.741]],["name/127",[40,38.525]],["parent/127",[50,1.741]],["name/128",[41,38.525]],["parent/128",[50,1.741]],["name/129",[42,38.525]],["parent/129",[50,1.741]],["name/130",[43,38.525]],["parent/130",[50,1.741]],["name/131",[44,38.525]],["parent/131",[50,1.741]],["name/132",[51,18.156]],["parent/132",[]],["name/133",[12,33.417]],["parent/133",[51,1.741]],["name/134",[18,38.525]],["parent/134",[51,1.741]],["name/135",[19,38.525]],["parent/135",[51,1.741]],["name/136",[20,38.525]],["parent/136",[51,1.741]],["name/137",[21,38.525]],["parent/137",[51,1.741]],["name/138",[22,38.525]],["parent/138",[51,1.741]],["name/139",[23,38.525]],["parent/139",[51,1.741]],["name/140",[14,38.525]],["parent/140",[51,1.741]],["name/141",[15,38.525]],["parent/141",[51,1.741]],["name/142",[24,38.525]],["parent/142",[51,1.741]],["name/143",[25,38.525]],["parent/143",[51,1.741]],["name/144",[26,38.525]],["parent/144",[51,1.741]],["name/145",[13,38.525]],["parent/145",[51,1.741]],["name/146",[27,38.525]],["parent/146",[51,1.741]],["name/147",[28,38.525]],["parent/147",[51,1.741]],["name/148",[29,38.525]],["parent/148",[51,1.741]],["name/149",[30,38.525]],["parent/149",[51,1.741]],["name/150",[31,38.525]],["parent/150",[51,1.741]],["name/151",[16,33.417]],["parent/151",[51,1.741]],["name/152",[32,38.525]],["parent/152",[51,1.741]],["name/153",[33,36.518]],["parent/153",[51,1.741]],["name/154",[34,38.525]],["parent/154",[51,1.741]],["name/155",[35,38.525]],["parent/155",[51,1.741]],["name/156",[36,36.518]],["parent/156",[51,1.741]],["name/157",[37,36.518]],["parent/157",[51,1.741]],["name/158",[17,38.525]],["parent/158",[51,1.741]],["name/159",[38,38.525]],["parent/159",[51,1.741]],["name/160",[39,38.525]],["parent/160",[51,1.741]],["name/161",[40,38.525]],["parent/161",[51,1.741]],["name/162",[41,38.525]],["parent/162",[51,1.741]],["name/163",[42,38.525]],["parent/163",[51,1.741]],["name/164",[43,38.525]],["parent/164",[51,1.741]],["name/165",[44,38.525]],["parent/165",[51,1.741]],["name/166",[52,49.511]],["parent/166",[]],["name/167",[53,26.824]],["parent/167",[]],["name/168",[12,33.417]],["parent/168",[53,2.572]],["name/169",[54,41.038]],["parent/169",[53,2.572]],["name/170",[55,41.038]],["parent/170",[53,2.572]],["name/171",[56,41.038]],["parent/171",[53,2.572]],["name/172",[16,33.417]],["parent/172",[53,2.572]],["name/173",[57,49.511]],["parent/173",[53,2.572]],["name/174",[58,49.511]],["parent/174",[53,2.572]],["name/175",[59,41.038]],["parent/175",[53,2.572]],["name/176",[60,41.038]],["parent/176",[53,2.572]],["name/177",[61,41.038]],["parent/177",[53,2.572]],["name/178",[62,41.038]],["parent/178",[53,2.572]],["name/179",[63,41.038]],["parent/179",[53,2.572]],["name/180",[64,41.038]],["parent/180",[53,2.572]],["name/181",[65,28.309]],["parent/181",[]],["name/182",[12,33.417]],["parent/182",[65,2.715]],["name/183",[60,41.038]],["parent/183",[65,2.715]],["name/184",[62,41.038]],["parent/184",[65,2.715]],["name/185",[54,41.038]],["parent/185",[65,2.715]],["name/186",[55,41.038]],["parent/186",[65,2.715]],["name/187",[56,41.038]],["parent/187",[65,2.715]],["name/188",[16,33.417]],["parent/188",[65,2.715]],["name/189",[59,41.038]],["parent/189",[65,2.715]],["name/190",[61,41.038]],["parent/190",[65,2.715]],["name/191",[63,41.038]],["parent/191",[65,2.715]],["name/192",[64,41.038]],["parent/192",[65,2.715]],["name/193",[66,28.309]],["parent/193",[]],["name/194",[12,33.417]],["parent/194",[66,2.715]],["name/195",[60,41.038]],["parent/195",[66,2.715]],["name/196",[54,41.038]],["parent/196",[66,2.715]],["name/197",[55,41.038]],["parent/197",[66,2.715]],["name/198",[56,41.038]],["parent/198",[66,2.715]],["name/199",[16,33.417]],["parent/199",[66,2.715]],["name/200",[59,41.038]],["parent/200",[66,2.715]],["name/201",[61,41.038]],["parent/201",[66,2.715]],["name/202",[62,41.038]],["parent/202",[66,2.715]],["name/203",[63,41.038]],["parent/203",[66,2.715]],["name/204",[64,41.038]],["parent/204",[66,2.715]],["name/205",[67,49.511]],["parent/205",[]],["name/206",[68,44.403]],["parent/206",[]],["name/207",[69,38.525]],["parent/207",[]],["name/208",[70,49.511]],["parent/208",[69,3.694]],["name/209",[71,49.511]],["parent/209",[69,3.694]],["name/210",[68,44.403]],["parent/210",[69,3.694]]],"invertedIndex":[["__type",{"_index":1,"name":{"1":{},"3":{},"8":{}},"parent":{}}],["abstractworker",{"_index":53,"name":{"167":{}},"parent":{"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{}}}],["afterworkersetup",{"_index":23,"name":{"28":{},"59":{},"108":{},"139":{}},"parent":{}}],["aliveinterval",{"_index":55,"name":{"170":{},"186":{},"197":{}},"parent":{}}],["async",{"_index":71,"name":{"209":{}},"parent":{}}],["busy",{"_index":15,"name":{"20":{},"61":{},"102":{},"141":{}},"parent":{}}],["checkalive",{"_index":61,"name":{"177":{},"190":{},"201":{}},"parent":{}}],["checkfunctioninput",{"_index":58,"name":{"174":{}},"parent":{}}],["checkworkeroptions",{"_index":57,"name":{"173":{}},"parent":{}}],["chooseworker",{"_index":41,"name":{"46":{},"80":{},"128":{},"162":{}},"parent":{}}],["clusterpooloptions",{"_index":46,"name":{"84":{}},"parent":{"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{}}}],["clusterworker",{"_index":65,"name":{"181":{}},"parent":{"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{},"191":{},"192":{}}}],["constructor",{"_index":12,"name":{"17":{},"51":{},"99":{},"133":{},"168":{},"182":{},"194":{}},"parent":{}}],["createandsetupworker",{"_index":43,"name":{"48":{},"82":{},"130":{},"164":{}},"parent":{}}],["createworker",{"_index":22,"name":{"27":{},"58":{},"107":{},"138":{}},"parent":{}}],["decreaseworkerstasks",{"_index":39,"name":{"44":{},"78":{},"126":{},"160":{}},"parent":{}}],["destroy",{"_index":37,"name":{"42":{},"76":{},"94":{},"123":{},"157":{}},"parent":{}}],["destroyworker",{"_index":19,"name":{"24":{},"55":{},"104":{},"135":{}},"parent":{}}],["dynamicclusterpool",{"_index":11,"name":{"16":{}},"parent":{"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{}}}],["dynamicthreadpool",{"_index":50,"name":{"98":{}},"parent":{"99":{},"100":{},"101":{},"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{}}}],["emitter",{"_index":26,"name":{"31":{},"64":{},"111":{},"144":{}},"parent":{}}],["enableevents",{"_index":10,"name":{"15":{},"91":{}},"parent":{}}],["env",{"_index":47,"name":{"85":{}},"parent":{}}],["errorhandler",{"_index":0,"name":{"0":{},"11":{},"87":{}},"parent":{"1":{}}}],["execute",{"_index":36,"name":{"41":{},"75":{},"93":{},"122":{},"156":{}},"parent":{}}],["exithandler",{"_index":2,"name":{"2":{},"13":{},"89":{}},"parent":{"3":{}}}],["filepath",{"_index":31,"name":{"36":{},"70":{},"116":{},"150":{}},"parent":{}}],["findfreetasksmapentry",{"_index":35,"name":{"40":{},"74":{},"121":{},"155":{}},"parent":{}}],["fixedclusterpool",{"_index":45,"name":{"50":{}},"parent":{"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{}}}],["fixedthreadpool",{"_index":51,"name":{"132":{}},"parent":{"133":{},"134":{},"135":{},"136":{},"137":{},"138":{},"139":{},"140":{},"141":{},"142":{},"143":{},"144":{},"145":{},"146":{},"147":{},"148":{},"149":{},"150":{},"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{},"159":{},"160":{},"161":{},"162":{},"163":{},"164":{},"165":{}}}],["getmainworker",{"_index":59,"name":{"175":{},"189":{},"200":{}},"parent":{}}],["handleerror",{"_index":62,"name":{"178":{},"184":{},"202":{}},"parent":{}}],["increaseworkerstask",{"_index":38,"name":{"43":{},"77":{},"125":{},"159":{}},"parent":{}}],["internalexecute",{"_index":42,"name":{"47":{},"81":{},"129":{},"163":{}},"parent":{}}],["internalgetbusystatus",{"_index":34,"name":{"39":{},"73":{},"120":{},"154":{}},"parent":{}}],["ipool",{"_index":48,"name":{"92":{}},"parent":{"93":{},"94":{},"95":{}}}],["ismain",{"_index":18,"name":{"23":{},"54":{},"103":{},"134":{}},"parent":{}}],["iworker",{"_index":3,"name":{"4":{}},"parent":{"5":{},"6":{}}}],["killbehavior",{"_index":68,"name":{"206":{},"210":{}},"parent":{}}],["killbehaviors",{"_index":67,"name":{"205":{}},"parent":{}}],["lasttasktimestamp",{"_index":54,"name":{"169":{},"185":{},"196":{}},"parent":{}}],["mainworker",{"_index":56,"name":{"171":{},"187":{},"198":{}},"parent":{}}],["max",{"_index":13,"name":{"18":{},"65":{},"100":{},"145":{}},"parent":{}}],["maxinactivetime",{"_index":70,"name":{"208":{}},"parent":{}}],["messagehandler",{"_index":8,"name":{"10":{},"86":{}},"parent":{}}],["nextmessageid",{"_index":28,"name":{"33":{},"67":{},"113":{},"147":{}},"parent":{}}],["numberofrunningtasks",{"_index":32,"name":{"37":{},"71":{},"118":{},"152":{}},"parent":{}}],["numberofworkers",{"_index":30,"name":{"35":{},"69":{},"115":{},"149":{}},"parent":{}}],["on",{"_index":4,"name":{"5":{}},"parent":{}}],["once",{"_index":5,"name":{"6":{}},"parent":{}}],["onlinehandler",{"_index":6,"name":{"7":{},"12":{},"88":{}},"parent":{"8":{}}}],["opts",{"_index":16,"name":{"21":{},"52":{},"117":{},"151":{},"172":{},"188":{},"199":{}},"parent":{}}],["pooloptions",{"_index":7,"name":{"9":{}},"parent":{"10":{},"11":{},"12":{},"13":{},"14":{},"15":{}}}],["promisemap",{"_index":27,"name":{"32":{},"66":{},"112":{},"146":{}},"parent":{}}],["registerworkermessagelistener",{"_index":21,"name":{"26":{},"57":{},"106":{},"137":{}},"parent":{}}],["removeworker",{"_index":40,"name":{"45":{},"79":{},"127":{},"161":{}},"parent":{}}],["run",{"_index":63,"name":{"179":{},"191":{},"203":{}},"parent":{}}],["runasync",{"_index":64,"name":{"180":{},"192":{},"204":{}},"parent":{}}],["sendtomainworker",{"_index":60,"name":{"176":{},"183":{},"195":{}},"parent":{}}],["sendtoworker",{"_index":20,"name":{"25":{},"56":{},"105":{},"136":{}},"parent":{}}],["setuphook",{"_index":17,"name":{"22":{},"53":{},"124":{},"158":{}},"parent":{}}],["setworkerchoicestrategy",{"_index":33,"name":{"38":{},"72":{},"95":{},"119":{},"153":{}},"parent":{}}],["tasks",{"_index":25,"name":{"30":{},"63":{},"110":{},"143":{}},"parent":{}}],["threadworker",{"_index":66,"name":{"193":{}},"parent":{"194":{},"195":{},"196":{},"197":{},"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{}}}],["threadworkerwithmessagechannel",{"_index":52,"name":{"166":{}},"parent":{}}],["type",{"_index":14,"name":{"19":{},"60":{},"101":{},"140":{}},"parent":{}}],["workerchoicestrategies",{"_index":49,"name":{"96":{}},"parent":{}}],["workerchoicestrategy",{"_index":9,"name":{"14":{},"90":{},"97":{}},"parent":{}}],["workerchoicestrategycontext",{"_index":29,"name":{"34":{},"68":{},"114":{},"148":{}},"parent":{}}],["workerlistener",{"_index":44,"name":{"49":{},"83":{},"131":{},"165":{}},"parent":{}}],["workeroptions",{"_index":69,"name":{"207":{}},"parent":{"208":{},"209":{},"210":{}}}],["workers",{"_index":24,"name":{"29":{},"62":{},"109":{},"142":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file +window.searchData = JSON.parse("{\"kinds\":{\"32\":\"Variable\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":128,\"name\":\"DynamicClusterPool\",\"url\":\"classes/DynamicClusterPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DynamicClusterPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/DynamicClusterPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/DynamicClusterPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicClusterPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/DynamicClusterPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/DynamicClusterPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/DynamicClusterPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/DynamicClusterPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/DynamicClusterPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/DynamicClusterPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/DynamicClusterPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/DynamicClusterPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/DynamicClusterPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/DynamicClusterPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/DynamicClusterPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/DynamicClusterPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/DynamicClusterPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/DynamicClusterPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/DynamicClusterPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/DynamicClusterPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/DynamicClusterPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/DynamicClusterPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/DynamicClusterPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/DynamicClusterPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/DynamicClusterPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/DynamicClusterPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/DynamicClusterPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/DynamicClusterPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/DynamicClusterPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/DynamicClusterPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/DynamicClusterPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/DynamicClusterPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/DynamicClusterPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/DynamicClusterPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/DynamicClusterPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/DynamicClusterPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicClusterPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/DynamicClusterPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"DynamicClusterPool.workerListener.workerListener\"},{\"kind\":128,\"name\":\"FixedClusterPool\",\"url\":\"classes/FixedClusterPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FixedClusterPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/FixedClusterPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/FixedClusterPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/FixedClusterPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/FixedClusterPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/FixedClusterPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/FixedClusterPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/FixedClusterPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/FixedClusterPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedClusterPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/FixedClusterPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/FixedClusterPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/FixedClusterPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/FixedClusterPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/FixedClusterPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/FixedClusterPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/FixedClusterPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/FixedClusterPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/FixedClusterPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/FixedClusterPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/FixedClusterPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/FixedClusterPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/FixedClusterPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/FixedClusterPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/FixedClusterPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/FixedClusterPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/FixedClusterPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/FixedClusterPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/FixedClusterPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/FixedClusterPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/FixedClusterPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/FixedClusterPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/FixedClusterPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/FixedClusterPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/FixedClusterPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/FixedClusterPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedClusterPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/FixedClusterPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"FixedClusterPool.workerListener.workerListener\"},{\"kind\":256,\"name\":\"ClusterPoolOptions\",\"url\":\"interfaces/ClusterPoolOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"env\",\"url\":\"interfaces/ClusterPoolOptions.html#env\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"messageHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#messageHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"errorHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#errorHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"onlineHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#onlineHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"exitHandler\",\"url\":\"interfaces/ClusterPoolOptions.html#exitHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"workerChoiceStrategy\",\"url\":\"interfaces/ClusterPoolOptions.html#workerChoiceStrategy\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":1024,\"name\":\"enableEvents\",\"url\":\"interfaces/ClusterPoolOptions.html#enableEvents\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"ClusterPoolOptions\"},{\"kind\":256,\"name\":\"IPool\",\"url\":\"interfaces/IPool.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"interfaces/IPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"interfaces/IPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"interfaces/IPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPool\"},{\"kind\":256,\"name\":\"PoolOptions\",\"url\":\"interfaces/PoolOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"messageHandler\",\"url\":\"interfaces/PoolOptions.html#messageHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"errorHandler\",\"url\":\"interfaces/PoolOptions.html#errorHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"onlineHandler\",\"url\":\"interfaces/PoolOptions.html#onlineHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"exitHandler\",\"url\":\"interfaces/PoolOptions.html#exitHandler\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"workerChoiceStrategy\",\"url\":\"interfaces/PoolOptions.html#workerChoiceStrategy\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":1024,\"name\":\"enableEvents\",\"url\":\"interfaces/PoolOptions.html#enableEvents\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"PoolOptions\"},{\"kind\":4194304,\"name\":\"ErrorHandler\",\"url\":\"types/ErrorHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/ErrorHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"ErrorHandler\"},{\"kind\":4194304,\"name\":\"ExitHandler\",\"url\":\"types/ExitHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/ExitHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"ExitHandler\"},{\"kind\":256,\"name\":\"IPoolWorker\",\"url\":\"interfaces/IPoolWorker.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/IPoolWorker.html#id\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"IPoolWorker\"},{\"kind\":2048,\"name\":\"on\",\"url\":\"interfaces/IPoolWorker.html#on\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPoolWorker\"},{\"kind\":2048,\"name\":\"once\",\"url\":\"interfaces/IPoolWorker.html#once\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"IPoolWorker\"},{\"kind\":4194304,\"name\":\"OnlineHandler\",\"url\":\"types/OnlineHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/OnlineHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"OnlineHandler\"},{\"kind\":32,\"name\":\"WorkerChoiceStrategies\",\"url\":\"variables/WorkerChoiceStrategies.html\",\"classes\":\"tsd-kind-variable\"},{\"kind\":4194304,\"name\":\"WorkerChoiceStrategy\",\"url\":\"types/WorkerChoiceStrategy.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":128,\"name\":\"DynamicThreadPool\",\"url\":\"classes/DynamicThreadPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DynamicThreadPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/DynamicThreadPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/DynamicThreadPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicThreadPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/DynamicThreadPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/DynamicThreadPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/DynamicThreadPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/DynamicThreadPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/DynamicThreadPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/DynamicThreadPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/DynamicThreadPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/DynamicThreadPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/DynamicThreadPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/DynamicThreadPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/DynamicThreadPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/DynamicThreadPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/DynamicThreadPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/DynamicThreadPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/DynamicThreadPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/DynamicThreadPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/DynamicThreadPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/DynamicThreadPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/DynamicThreadPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/DynamicThreadPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/DynamicThreadPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/DynamicThreadPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/DynamicThreadPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/DynamicThreadPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/DynamicThreadPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/DynamicThreadPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/DynamicThreadPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/DynamicThreadPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/DynamicThreadPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/DynamicThreadPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/DynamicThreadPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/DynamicThreadPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"DynamicThreadPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/DynamicThreadPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"DynamicThreadPool.workerListener.workerListener\"},{\"kind\":128,\"name\":\"FixedThreadPool\",\"url\":\"classes/FixedThreadPool.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/FixedThreadPool.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"isMain\",\"url\":\"classes/FixedThreadPool.html#isMain\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"destroyWorker\",\"url\":\"classes/FixedThreadPool.html#destroyWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"sendToWorker\",\"url\":\"classes/FixedThreadPool.html#sendToWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"registerWorkerMessageListener\",\"url\":\"classes/FixedThreadPool.html#registerWorkerMessageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"createWorker\",\"url\":\"classes/FixedThreadPool.html#createWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"afterWorkerSetup\",\"url\":\"classes/FixedThreadPool.html#afterWorkerSetup\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"FixedThreadPool\"},{\"kind\":262144,\"name\":\"type\",\"url\":\"classes/FixedThreadPool.html#type\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":262144,\"name\":\"busy\",\"url\":\"classes/FixedThreadPool.html#busy\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"workers\",\"url\":\"classes/FixedThreadPool.html#workers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"tasks\",\"url\":\"classes/FixedThreadPool.html#tasks\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"emitter\",\"url\":\"classes/FixedThreadPool.html#emitter\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/FixedThreadPool.html#max\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"promiseMap\",\"url\":\"classes/FixedThreadPool.html#promiseMap\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"nextMessageId\",\"url\":\"classes/FixedThreadPool.html#nextMessageId\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"workerChoiceStrategyContext\",\"url\":\"classes/FixedThreadPool.html#workerChoiceStrategyContext\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"numberOfWorkers\",\"url\":\"classes/FixedThreadPool.html#numberOfWorkers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"filePath\",\"url\":\"classes/FixedThreadPool.html#filePath\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/FixedThreadPool.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":262144,\"name\":\"numberOfRunningTasks\",\"url\":\"classes/FixedThreadPool.html#numberOfRunningTasks\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerRunningTasks\",\"url\":\"classes/FixedThreadPool.html#getWorkerRunningTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"getWorkerIndex\",\"url\":\"classes/FixedThreadPool.html#getWorkerIndex\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"setWorkerChoiceStrategy\",\"url\":\"classes/FixedThreadPool.html#setWorkerChoiceStrategy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"internalGetBusyStatus\",\"url\":\"classes/FixedThreadPool.html#internalGetBusyStatus\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"findFreeWorker\",\"url\":\"classes/FixedThreadPool.html#findFreeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/FixedThreadPool.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"destroy\",\"url\":\"classes/FixedThreadPool.html#destroy\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"setupHook\",\"url\":\"classes/FixedThreadPool.html#setupHook\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"increaseWorkersTask\",\"url\":\"classes/FixedThreadPool.html#increaseWorkersTask\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"decreaseWorkersTasks\",\"url\":\"classes/FixedThreadPool.html#decreaseWorkersTasks\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"removeWorker\",\"url\":\"classes/FixedThreadPool.html#removeWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"chooseWorker\",\"url\":\"classes/FixedThreadPool.html#chooseWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"internalExecute\",\"url\":\"classes/FixedThreadPool.html#internalExecute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"createAndSetupWorker\",\"url\":\"classes/FixedThreadPool.html#createAndSetupWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":2048,\"name\":\"workerListener\",\"url\":\"classes/FixedThreadPool.html#workerListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"FixedThreadPool\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/FixedThreadPool.html#workerListener.workerListener-1.__type\",\"classes\":\"tsd-kind-type-literal\",\"parent\":\"FixedThreadPool.workerListener.workerListener\"},{\"kind\":4194304,\"name\":\"ThreadWorkerWithMessageChannel\",\"url\":\"types/ThreadWorkerWithMessageChannel.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":128,\"name\":\"AbstractWorker\",\"url\":\"classes/AbstractWorker.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/AbstractWorker.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"lastTaskTimestamp\",\"url\":\"classes/AbstractWorker.html#lastTaskTimestamp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"aliveInterval\",\"url\":\"classes/AbstractWorker.html#aliveInterval\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/AbstractWorker.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"AbstractWorker\"},{\"kind\":1024,\"name\":\"mainWorker\",\"url\":\"classes/AbstractWorker.html#mainWorker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"messageListener\",\"url\":\"classes/AbstractWorker.html#messageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"checkWorkerOptions\",\"url\":\"classes/AbstractWorker.html#checkWorkerOptions\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"checkFunctionInput\",\"url\":\"classes/AbstractWorker.html#checkFunctionInput\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"getMainWorker\",\"url\":\"classes/AbstractWorker.html#getMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"sendToMainWorker\",\"url\":\"classes/AbstractWorker.html#sendToMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"checkAlive\",\"url\":\"classes/AbstractWorker.html#checkAlive\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"handleError\",\"url\":\"classes/AbstractWorker.html#handleError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"run\",\"url\":\"classes/AbstractWorker.html#run\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":2048,\"name\":\"runAsync\",\"url\":\"classes/AbstractWorker.html#runAsync\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"AbstractWorker\"},{\"kind\":128,\"name\":\"ClusterWorker\",\"url\":\"classes/ClusterWorker.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ClusterWorker.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"sendToMainWorker\",\"url\":\"classes/ClusterWorker.html#sendToMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"handleError\",\"url\":\"classes/ClusterWorker.html#handleError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"lastTaskTimestamp\",\"url\":\"classes/ClusterWorker.html#lastTaskTimestamp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"aliveInterval\",\"url\":\"classes/ClusterWorker.html#aliveInterval\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/ClusterWorker.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":1024,\"name\":\"mainWorker\",\"url\":\"classes/ClusterWorker.html#mainWorker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"messageListener\",\"url\":\"classes/ClusterWorker.html#messageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"getMainWorker\",\"url\":\"classes/ClusterWorker.html#getMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"checkAlive\",\"url\":\"classes/ClusterWorker.html#checkAlive\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"run\",\"url\":\"classes/ClusterWorker.html#run\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":2048,\"name\":\"runAsync\",\"url\":\"classes/ClusterWorker.html#runAsync\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ClusterWorker\"},{\"kind\":128,\"name\":\"ThreadWorker\",\"url\":\"classes/ThreadWorker.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ThreadWorker.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"sendToMainWorker\",\"url\":\"classes/ThreadWorker.html#sendToMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"lastTaskTimestamp\",\"url\":\"classes/ThreadWorker.html#lastTaskTimestamp\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"aliveInterval\",\"url\":\"classes/ThreadWorker.html#aliveInterval\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"opts\",\"url\":\"classes/ThreadWorker.html#opts\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":1024,\"name\":\"mainWorker\",\"url\":\"classes/ThreadWorker.html#mainWorker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"messageListener\",\"url\":\"classes/ThreadWorker.html#messageListener\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"getMainWorker\",\"url\":\"classes/ThreadWorker.html#getMainWorker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"checkAlive\",\"url\":\"classes/ThreadWorker.html#checkAlive\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"handleError\",\"url\":\"classes/ThreadWorker.html#handleError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"run\",\"url\":\"classes/ThreadWorker.html#run\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":2048,\"name\":\"runAsync\",\"url\":\"classes/ThreadWorker.html#runAsync\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"ThreadWorker\"},{\"kind\":32,\"name\":\"KillBehaviors\",\"url\":\"variables/KillBehaviors.html\",\"classes\":\"tsd-kind-variable\"},{\"kind\":4194304,\"name\":\"KillBehavior\",\"url\":\"types/KillBehavior.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":256,\"name\":\"WorkerOptions\",\"url\":\"interfaces/WorkerOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxInactiveTime\",\"url\":\"interfaces/WorkerOptions.html#maxInactiveTime\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WorkerOptions\"},{\"kind\":1024,\"name\":\"async\",\"url\":\"interfaces/WorkerOptions.html#async\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WorkerOptions\"},{\"kind\":1024,\"name\":\"killBehavior\",\"url\":\"interfaces/WorkerOptions.html#killBehavior\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"WorkerOptions\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,50.239]],[\"comment/0\",[]],[\"name/1\",[1,34.144]],[\"comment/1\",[]],[\"name/2\",[2,39.253]],[\"comment/2\",[]],[\"name/3\",[3,39.253]],[\"comment/3\",[]],[\"name/4\",[4,39.253]],[\"comment/4\",[]],[\"name/5\",[5,34.144]],[\"comment/5\",[]],[\"name/6\",[6,39.253]],[\"comment/6\",[]],[\"name/7\",[7,39.253]],[\"comment/7\",[]],[\"name/8\",[8,39.253]],[\"comment/8\",[]],[\"name/9\",[9,39.253]],[\"comment/9\",[]],[\"name/10\",[10,39.253]],[\"comment/10\",[]],[\"name/11\",[11,39.253]],[\"comment/11\",[]],[\"name/12\",[12,39.253]],[\"comment/12\",[]],[\"name/13\",[13,39.253]],[\"comment/13\",[]],[\"name/14\",[14,39.253]],[\"comment/14\",[]],[\"name/15\",[15,39.253]],[\"comment/15\",[]],[\"name/16\",[16,39.253]],[\"comment/16\",[]],[\"name/17\",[17,39.253]],[\"comment/17\",[]],[\"name/18\",[18,39.253]],[\"comment/18\",[]],[\"name/19\",[19,39.253]],[\"comment/19\",[]],[\"name/20\",[20,39.253]],[\"comment/20\",[]],[\"name/21\",[21,39.253]],[\"comment/21\",[]],[\"name/22\",[22,39.253]],[\"comment/22\",[]],[\"name/23\",[23,39.253]],[\"comment/23\",[]],[\"name/24\",[24,37.246]],[\"comment/24\",[]],[\"name/25\",[25,39.253]],[\"comment/25\",[]],[\"name/26\",[26,39.253]],[\"comment/26\",[]],[\"name/27\",[27,37.246]],[\"comment/27\",[]],[\"name/28\",[28,37.246]],[\"comment/28\",[]],[\"name/29\",[29,39.253]],[\"comment/29\",[]],[\"name/30\",[30,39.253]],[\"comment/30\",[]],[\"name/31\",[31,39.253]],[\"comment/31\",[]],[\"name/32\",[32,39.253]],[\"comment/32\",[]],[\"name/33\",[33,39.253]],[\"comment/33\",[]],[\"name/34\",[34,39.253]],[\"comment/34\",[]],[\"name/35\",[35,39.253]],[\"comment/35\",[]],[\"name/36\",[36,34.144]],[\"comment/36\",[]],[\"name/37\",[37,50.239]],[\"comment/37\",[]],[\"name/38\",[1,34.144]],[\"comment/38\",[]],[\"name/39\",[5,34.144]],[\"comment/39\",[]],[\"name/40\",[6,39.253]],[\"comment/40\",[]],[\"name/41\",[7,39.253]],[\"comment/41\",[]],[\"name/42\",[8,39.253]],[\"comment/42\",[]],[\"name/43\",[9,39.253]],[\"comment/43\",[]],[\"name/44\",[10,39.253]],[\"comment/44\",[]],[\"name/45\",[11,39.253]],[\"comment/45\",[]],[\"name/46\",[12,39.253]],[\"comment/46\",[]],[\"name/47\",[3,39.253]],[\"comment/47\",[]],[\"name/48\",[4,39.253]],[\"comment/48\",[]],[\"name/49\",[13,39.253]],[\"comment/49\",[]],[\"name/50\",[14,39.253]],[\"comment/50\",[]],[\"name/51\",[15,39.253]],[\"comment/51\",[]],[\"name/52\",[2,39.253]],[\"comment/52\",[]],[\"name/53\",[16,39.253]],[\"comment/53\",[]],[\"name/54\",[17,39.253]],[\"comment/54\",[]],[\"name/55\",[18,39.253]],[\"comment/55\",[]],[\"name/56\",[19,39.253]],[\"comment/56\",[]],[\"name/57\",[20,39.253]],[\"comment/57\",[]],[\"name/58\",[21,39.253]],[\"comment/58\",[]],[\"name/59\",[22,39.253]],[\"comment/59\",[]],[\"name/60\",[23,39.253]],[\"comment/60\",[]],[\"name/61\",[24,37.246]],[\"comment/61\",[]],[\"name/62\",[25,39.253]],[\"comment/62\",[]],[\"name/63\",[26,39.253]],[\"comment/63\",[]],[\"name/64\",[27,37.246]],[\"comment/64\",[]],[\"name/65\",[28,37.246]],[\"comment/65\",[]],[\"name/66\",[29,39.253]],[\"comment/66\",[]],[\"name/67\",[30,39.253]],[\"comment/67\",[]],[\"name/68\",[31,39.253]],[\"comment/68\",[]],[\"name/69\",[32,39.253]],[\"comment/69\",[]],[\"name/70\",[33,39.253]],[\"comment/70\",[]],[\"name/71\",[34,39.253]],[\"comment/71\",[]],[\"name/72\",[35,39.253]],[\"comment/72\",[]],[\"name/73\",[36,34.144]],[\"comment/73\",[]],[\"name/74\",[38,50.239]],[\"comment/74\",[]],[\"name/75\",[39,50.239]],[\"comment/75\",[]],[\"name/76\",[40,45.131]],[\"comment/76\",[]],[\"name/77\",[41,41.766]],[\"comment/77\",[]],[\"name/78\",[42,41.766]],[\"comment/78\",[]],[\"name/79\",[43,41.766]],[\"comment/79\",[]],[\"name/80\",[44,41.766]],[\"comment/80\",[]],[\"name/81\",[45,45.131]],[\"comment/81\",[]],[\"name/82\",[46,50.239]],[\"comment/82\",[]],[\"name/83\",[27,37.246]],[\"comment/83\",[]],[\"name/84\",[28,37.246]],[\"comment/84\",[]],[\"name/85\",[24,37.246]],[\"comment/85\",[]],[\"name/86\",[47,50.239]],[\"comment/86\",[]],[\"name/87\",[40,45.131]],[\"comment/87\",[]],[\"name/88\",[41,41.766]],[\"comment/88\",[]],[\"name/89\",[42,41.766]],[\"comment/89\",[]],[\"name/90\",[43,41.766]],[\"comment/90\",[]],[\"name/91\",[44,41.766]],[\"comment/91\",[]],[\"name/92\",[45,45.131]],[\"comment/92\",[]],[\"name/93\",[41,41.766]],[\"comment/93\",[]],[\"name/94\",[36,34.144]],[\"comment/94\",[]],[\"name/95\",[43,41.766]],[\"comment/95\",[]],[\"name/96\",[36,34.144]],[\"comment/96\",[]],[\"name/97\",[48,50.239]],[\"comment/97\",[]],[\"name/98\",[49,50.239]],[\"comment/98\",[]],[\"name/99\",[50,50.239]],[\"comment/99\",[]],[\"name/100\",[51,50.239]],[\"comment/100\",[]],[\"name/101\",[42,41.766]],[\"comment/101\",[]],[\"name/102\",[36,34.144]],[\"comment/102\",[]],[\"name/103\",[52,50.239]],[\"comment/103\",[]],[\"name/104\",[44,41.766]],[\"comment/104\",[]],[\"name/105\",[53,50.239]],[\"comment/105\",[]],[\"name/106\",[1,34.144]],[\"comment/106\",[]],[\"name/107\",[2,39.253]],[\"comment/107\",[]],[\"name/108\",[3,39.253]],[\"comment/108\",[]],[\"name/109\",[4,39.253]],[\"comment/109\",[]],[\"name/110\",[7,39.253]],[\"comment/110\",[]],[\"name/111\",[8,39.253]],[\"comment/111\",[]],[\"name/112\",[9,39.253]],[\"comment/112\",[]],[\"name/113\",[10,39.253]],[\"comment/113\",[]],[\"name/114\",[11,39.253]],[\"comment/114\",[]],[\"name/115\",[12,39.253]],[\"comment/115\",[]],[\"name/116\",[13,39.253]],[\"comment/116\",[]],[\"name/117\",[14,39.253]],[\"comment/117\",[]],[\"name/118\",[15,39.253]],[\"comment/118\",[]],[\"name/119\",[16,39.253]],[\"comment/119\",[]],[\"name/120\",[17,39.253]],[\"comment/120\",[]],[\"name/121\",[18,39.253]],[\"comment/121\",[]],[\"name/122\",[19,39.253]],[\"comment/122\",[]],[\"name/123\",[20,39.253]],[\"comment/123\",[]],[\"name/124\",[5,34.144]],[\"comment/124\",[]],[\"name/125\",[21,39.253]],[\"comment/125\",[]],[\"name/126\",[22,39.253]],[\"comment/126\",[]],[\"name/127\",[23,39.253]],[\"comment/127\",[]],[\"name/128\",[24,37.246]],[\"comment/128\",[]],[\"name/129\",[25,39.253]],[\"comment/129\",[]],[\"name/130\",[26,39.253]],[\"comment/130\",[]],[\"name/131\",[27,37.246]],[\"comment/131\",[]],[\"name/132\",[28,37.246]],[\"comment/132\",[]],[\"name/133\",[6,39.253]],[\"comment/133\",[]],[\"name/134\",[29,39.253]],[\"comment/134\",[]],[\"name/135\",[30,39.253]],[\"comment/135\",[]],[\"name/136\",[31,39.253]],[\"comment/136\",[]],[\"name/137\",[32,39.253]],[\"comment/137\",[]],[\"name/138\",[33,39.253]],[\"comment/138\",[]],[\"name/139\",[34,39.253]],[\"comment/139\",[]],[\"name/140\",[35,39.253]],[\"comment/140\",[]],[\"name/141\",[36,34.144]],[\"comment/141\",[]],[\"name/142\",[54,50.239]],[\"comment/142\",[]],[\"name/143\",[1,34.144]],[\"comment/143\",[]],[\"name/144\",[7,39.253]],[\"comment/144\",[]],[\"name/145\",[8,39.253]],[\"comment/145\",[]],[\"name/146\",[9,39.253]],[\"comment/146\",[]],[\"name/147\",[10,39.253]],[\"comment/147\",[]],[\"name/148\",[11,39.253]],[\"comment/148\",[]],[\"name/149\",[12,39.253]],[\"comment/149\",[]],[\"name/150\",[3,39.253]],[\"comment/150\",[]],[\"name/151\",[4,39.253]],[\"comment/151\",[]],[\"name/152\",[13,39.253]],[\"comment/152\",[]],[\"name/153\",[14,39.253]],[\"comment/153\",[]],[\"name/154\",[15,39.253]],[\"comment/154\",[]],[\"name/155\",[2,39.253]],[\"comment/155\",[]],[\"name/156\",[16,39.253]],[\"comment/156\",[]],[\"name/157\",[17,39.253]],[\"comment/157\",[]],[\"name/158\",[18,39.253]],[\"comment/158\",[]],[\"name/159\",[19,39.253]],[\"comment/159\",[]],[\"name/160\",[20,39.253]],[\"comment/160\",[]],[\"name/161\",[5,34.144]],[\"comment/161\",[]],[\"name/162\",[21,39.253]],[\"comment/162\",[]],[\"name/163\",[22,39.253]],[\"comment/163\",[]],[\"name/164\",[23,39.253]],[\"comment/164\",[]],[\"name/165\",[24,37.246]],[\"comment/165\",[]],[\"name/166\",[25,39.253]],[\"comment/166\",[]],[\"name/167\",[26,39.253]],[\"comment/167\",[]],[\"name/168\",[27,37.246]],[\"comment/168\",[]],[\"name/169\",[28,37.246]],[\"comment/169\",[]],[\"name/170\",[6,39.253]],[\"comment/170\",[]],[\"name/171\",[29,39.253]],[\"comment/171\",[]],[\"name/172\",[30,39.253]],[\"comment/172\",[]],[\"name/173\",[31,39.253]],[\"comment/173\",[]],[\"name/174\",[32,39.253]],[\"comment/174\",[]],[\"name/175\",[33,39.253]],[\"comment/175\",[]],[\"name/176\",[34,39.253]],[\"comment/176\",[]],[\"name/177\",[35,39.253]],[\"comment/177\",[]],[\"name/178\",[36,34.144]],[\"comment/178\",[]],[\"name/179\",[55,50.239]],[\"comment/179\",[]],[\"name/180\",[56,50.239]],[\"comment/180\",[]],[\"name/181\",[1,34.144]],[\"comment/181\",[]],[\"name/182\",[57,41.766]],[\"comment/182\",[]],[\"name/183\",[58,41.766]],[\"comment/183\",[]],[\"name/184\",[5,34.144]],[\"comment/184\",[]],[\"name/185\",[59,41.766]],[\"comment/185\",[]],[\"name/186\",[60,41.766]],[\"comment/186\",[]],[\"name/187\",[61,50.239]],[\"comment/187\",[]],[\"name/188\",[62,50.239]],[\"comment/188\",[]],[\"name/189\",[63,41.766]],[\"comment/189\",[]],[\"name/190\",[64,41.766]],[\"comment/190\",[]],[\"name/191\",[65,41.766]],[\"comment/191\",[]],[\"name/192\",[66,41.766]],[\"comment/192\",[]],[\"name/193\",[67,41.766]],[\"comment/193\",[]],[\"name/194\",[68,41.766]],[\"comment/194\",[]],[\"name/195\",[69,50.239]],[\"comment/195\",[]],[\"name/196\",[1,34.144]],[\"comment/196\",[]],[\"name/197\",[64,41.766]],[\"comment/197\",[]],[\"name/198\",[66,41.766]],[\"comment/198\",[]],[\"name/199\",[57,41.766]],[\"comment/199\",[]],[\"name/200\",[58,41.766]],[\"comment/200\",[]],[\"name/201\",[5,34.144]],[\"comment/201\",[]],[\"name/202\",[59,41.766]],[\"comment/202\",[]],[\"name/203\",[60,41.766]],[\"comment/203\",[]],[\"name/204\",[63,41.766]],[\"comment/204\",[]],[\"name/205\",[65,41.766]],[\"comment/205\",[]],[\"name/206\",[67,41.766]],[\"comment/206\",[]],[\"name/207\",[68,41.766]],[\"comment/207\",[]],[\"name/208\",[70,50.239]],[\"comment/208\",[]],[\"name/209\",[1,34.144]],[\"comment/209\",[]],[\"name/210\",[64,41.766]],[\"comment/210\",[]],[\"name/211\",[57,41.766]],[\"comment/211\",[]],[\"name/212\",[58,41.766]],[\"comment/212\",[]],[\"name/213\",[5,34.144]],[\"comment/213\",[]],[\"name/214\",[59,41.766]],[\"comment/214\",[]],[\"name/215\",[60,41.766]],[\"comment/215\",[]],[\"name/216\",[63,41.766]],[\"comment/216\",[]],[\"name/217\",[65,41.766]],[\"comment/217\",[]],[\"name/218\",[66,41.766]],[\"comment/218\",[]],[\"name/219\",[67,41.766]],[\"comment/219\",[]],[\"name/220\",[68,41.766]],[\"comment/220\",[]],[\"name/221\",[71,50.239]],[\"comment/221\",[]],[\"name/222\",[72,45.131]],[\"comment/222\",[]],[\"name/223\",[73,50.239]],[\"comment/223\",[]],[\"name/224\",[74,50.239]],[\"comment/224\",[]],[\"name/225\",[75,50.239]],[\"comment/225\",[]],[\"name/226\",[72,45.131]],[\"comment/226\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":36,\"name\":{\"36\":{},\"73\":{},\"94\":{},\"96\":{},\"102\":{},\"141\":{},\"178\":{}},\"comment\":{}}],[\"abstractworker\",{\"_index\":56,\"name\":{\"180\":{}},\"comment\":{}}],[\"afterworkersetup\",{\"_index\":12,\"name\":{\"12\":{},\"46\":{},\"115\":{},\"149\":{}},\"comment\":{}}],[\"aliveinterval\",{\"_index\":58,\"name\":{\"183\":{},\"200\":{},\"212\":{}},\"comment\":{}}],[\"async\",{\"_index\":75,\"name\":{\"225\":{}},\"comment\":{}}],[\"busy\",{\"_index\":4,\"name\":{\"4\":{},\"48\":{},\"109\":{},\"151\":{}},\"comment\":{}}],[\"checkalive\",{\"_index\":65,\"name\":{\"191\":{},\"205\":{},\"217\":{}},\"comment\":{}}],[\"checkfunctioninput\",{\"_index\":62,\"name\":{\"188\":{}},\"comment\":{}}],[\"checkworkeroptions\",{\"_index\":61,\"name\":{\"187\":{}},\"comment\":{}}],[\"chooseworker\",{\"_index\":32,\"name\":{\"32\":{},\"69\":{},\"137\":{},\"174\":{}},\"comment\":{}}],[\"clusterpooloptions\",{\"_index\":38,\"name\":{\"74\":{}},\"comment\":{}}],[\"clusterworker\",{\"_index\":69,\"name\":{\"195\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":1,\"name\":{\"1\":{},\"38\":{},\"106\":{},\"143\":{},\"181\":{},\"196\":{},\"209\":{}},\"comment\":{}}],[\"createandsetupworker\",{\"_index\":34,\"name\":{\"34\":{},\"71\":{},\"139\":{},\"176\":{}},\"comment\":{}}],[\"createworker\",{\"_index\":11,\"name\":{\"11\":{},\"45\":{},\"114\":{},\"148\":{}},\"comment\":{}}],[\"decreaseworkerstasks\",{\"_index\":30,\"name\":{\"30\":{},\"67\":{},\"135\":{},\"172\":{}},\"comment\":{}}],[\"destroy\",{\"_index\":28,\"name\":{\"28\":{},\"65\":{},\"84\":{},\"132\":{},\"169\":{}},\"comment\":{}}],[\"destroyworker\",{\"_index\":8,\"name\":{\"8\":{},\"42\":{},\"111\":{},\"145\":{}},\"comment\":{}}],[\"dynamicclusterpool\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"dynamicthreadpool\",{\"_index\":53,\"name\":{\"105\":{}},\"comment\":{}}],[\"emitter\",{\"_index\":15,\"name\":{\"15\":{},\"51\":{},\"118\":{},\"154\":{}},\"comment\":{}}],[\"enableevents\",{\"_index\":45,\"name\":{\"81\":{},\"92\":{}},\"comment\":{}}],[\"env\",{\"_index\":39,\"name\":{\"75\":{}},\"comment\":{}}],[\"errorhandler\",{\"_index\":41,\"name\":{\"77\":{},\"88\":{},\"93\":{}},\"comment\":{}}],[\"execute\",{\"_index\":27,\"name\":{\"27\":{},\"64\":{},\"83\":{},\"131\":{},\"168\":{}},\"comment\":{}}],[\"exithandler\",{\"_index\":43,\"name\":{\"79\":{},\"90\":{},\"95\":{}},\"comment\":{}}],[\"filepath\",{\"_index\":20,\"name\":{\"20\":{},\"57\":{},\"123\":{},\"160\":{}},\"comment\":{}}],[\"findfreeworker\",{\"_index\":26,\"name\":{\"26\":{},\"63\":{},\"130\":{},\"167\":{}},\"comment\":{}}],[\"fixedclusterpool\",{\"_index\":37,\"name\":{\"37\":{}},\"comment\":{}}],[\"fixedthreadpool\",{\"_index\":54,\"name\":{\"142\":{}},\"comment\":{}}],[\"getmainworker\",{\"_index\":63,\"name\":{\"189\":{},\"204\":{},\"216\":{}},\"comment\":{}}],[\"getworkerindex\",{\"_index\":23,\"name\":{\"23\":{},\"60\":{},\"127\":{},\"164\":{}},\"comment\":{}}],[\"getworkerrunningtasks\",{\"_index\":22,\"name\":{\"22\":{},\"59\":{},\"126\":{},\"163\":{}},\"comment\":{}}],[\"handleerror\",{\"_index\":66,\"name\":{\"192\":{},\"198\":{},\"218\":{}},\"comment\":{}}],[\"id\",{\"_index\":49,\"name\":{\"98\":{}},\"comment\":{}}],[\"increaseworkerstask\",{\"_index\":29,\"name\":{\"29\":{},\"66\":{},\"134\":{},\"171\":{}},\"comment\":{}}],[\"internalexecute\",{\"_index\":33,\"name\":{\"33\":{},\"70\":{},\"138\":{},\"175\":{}},\"comment\":{}}],[\"internalgetbusystatus\",{\"_index\":25,\"name\":{\"25\":{},\"62\":{},\"129\":{},\"166\":{}},\"comment\":{}}],[\"ipool\",{\"_index\":46,\"name\":{\"82\":{}},\"comment\":{}}],[\"ipoolworker\",{\"_index\":48,\"name\":{\"97\":{}},\"comment\":{}}],[\"ismain\",{\"_index\":7,\"name\":{\"7\":{},\"41\":{},\"110\":{},\"144\":{}},\"comment\":{}}],[\"killbehavior\",{\"_index\":72,\"name\":{\"222\":{},\"226\":{}},\"comment\":{}}],[\"killbehaviors\",{\"_index\":71,\"name\":{\"221\":{}},\"comment\":{}}],[\"lasttasktimestamp\",{\"_index\":57,\"name\":{\"182\":{},\"199\":{},\"211\":{}},\"comment\":{}}],[\"mainworker\",{\"_index\":59,\"name\":{\"185\":{},\"202\":{},\"214\":{}},\"comment\":{}}],[\"max\",{\"_index\":2,\"name\":{\"2\":{},\"52\":{},\"107\":{},\"155\":{}},\"comment\":{}}],[\"maxinactivetime\",{\"_index\":74,\"name\":{\"224\":{}},\"comment\":{}}],[\"messagehandler\",{\"_index\":40,\"name\":{\"76\":{},\"87\":{}},\"comment\":{}}],[\"messagelistener\",{\"_index\":60,\"name\":{\"186\":{},\"203\":{},\"215\":{}},\"comment\":{}}],[\"nextmessageid\",{\"_index\":17,\"name\":{\"17\":{},\"54\":{},\"120\":{},\"157\":{}},\"comment\":{}}],[\"numberofrunningtasks\",{\"_index\":21,\"name\":{\"21\":{},\"58\":{},\"125\":{},\"162\":{}},\"comment\":{}}],[\"numberofworkers\",{\"_index\":19,\"name\":{\"19\":{},\"56\":{},\"122\":{},\"159\":{}},\"comment\":{}}],[\"on\",{\"_index\":50,\"name\":{\"99\":{}},\"comment\":{}}],[\"once\",{\"_index\":51,\"name\":{\"100\":{}},\"comment\":{}}],[\"onlinehandler\",{\"_index\":42,\"name\":{\"78\":{},\"89\":{},\"101\":{}},\"comment\":{}}],[\"opts\",{\"_index\":5,\"name\":{\"5\":{},\"39\":{},\"124\":{},\"161\":{},\"184\":{},\"201\":{},\"213\":{}},\"comment\":{}}],[\"pooloptions\",{\"_index\":47,\"name\":{\"86\":{}},\"comment\":{}}],[\"promisemap\",{\"_index\":16,\"name\":{\"16\":{},\"53\":{},\"119\":{},\"156\":{}},\"comment\":{}}],[\"registerworkermessagelistener\",{\"_index\":10,\"name\":{\"10\":{},\"44\":{},\"113\":{},\"147\":{}},\"comment\":{}}],[\"removeworker\",{\"_index\":31,\"name\":{\"31\":{},\"68\":{},\"136\":{},\"173\":{}},\"comment\":{}}],[\"run\",{\"_index\":67,\"name\":{\"193\":{},\"206\":{},\"219\":{}},\"comment\":{}}],[\"runasync\",{\"_index\":68,\"name\":{\"194\":{},\"207\":{},\"220\":{}},\"comment\":{}}],[\"sendtomainworker\",{\"_index\":64,\"name\":{\"190\":{},\"197\":{},\"210\":{}},\"comment\":{}}],[\"sendtoworker\",{\"_index\":9,\"name\":{\"9\":{},\"43\":{},\"112\":{},\"146\":{}},\"comment\":{}}],[\"setuphook\",{\"_index\":6,\"name\":{\"6\":{},\"40\":{},\"133\":{},\"170\":{}},\"comment\":{}}],[\"setworkerchoicestrategy\",{\"_index\":24,\"name\":{\"24\":{},\"61\":{},\"85\":{},\"128\":{},\"165\":{}},\"comment\":{}}],[\"tasks\",{\"_index\":14,\"name\":{\"14\":{},\"50\":{},\"117\":{},\"153\":{}},\"comment\":{}}],[\"threadworker\",{\"_index\":70,\"name\":{\"208\":{}},\"comment\":{}}],[\"threadworkerwithmessagechannel\",{\"_index\":55,\"name\":{\"179\":{}},\"comment\":{}}],[\"type\",{\"_index\":3,\"name\":{\"3\":{},\"47\":{},\"108\":{},\"150\":{}},\"comment\":{}}],[\"workerchoicestrategies\",{\"_index\":52,\"name\":{\"103\":{}},\"comment\":{}}],[\"workerchoicestrategy\",{\"_index\":44,\"name\":{\"80\":{},\"91\":{},\"104\":{}},\"comment\":{}}],[\"workerchoicestrategycontext\",{\"_index\":18,\"name\":{\"18\":{},\"55\":{},\"121\":{},\"158\":{}},\"comment\":{}}],[\"workerlistener\",{\"_index\":35,\"name\":{\"35\":{},\"72\":{},\"140\":{},\"177\":{}},\"comment\":{}}],[\"workeroptions\",{\"_index\":73,\"name\":{\"223\":{}},\"comment\":{}}],[\"workers\",{\"_index\":13,\"name\":{\"13\":{},\"49\":{},\"116\":{},\"152\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css index 28f90b67..958d2c26 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -1,186 +1,176 @@ -@import url("./icons.css"); - :root { /* Light */ - --light-color-background: #fcfcfc; - --light-color-secondary-background: #fff; + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; --light-color-text: #222; --light-color-text-aside: #707070; --light-color-link: #4da6ff; - --light-color-menu-divider: #eee; - --light-color-menu-divider-focus: #000; - --light-color-menu-label: #707070; - --light-color-panel: var(--light-color-secondary-background); - --light-color-panel-divider: #eee; - --light-color-comment-tag: #707070; - --light-color-comment-tag-text: #fff; - --light-color-ts: #9600ff; - --light-color-ts-interface: #647f1b; - --light-color-ts-enum: #937210; - --light-color-ts-class: #0672de; + --light-color-ts: #db1373; + --light-color-ts-interface: #139d2c; + --light-color-ts-enum: #9c891a; + --light-color-ts-class: #2484e5; + --light-color-ts-function: #572be7; + --light-color-ts-namespace: #b111c9; --light-color-ts-private: #707070; - --light-color-toolbar: #fff; - --light-color-toolbar-text: #333; - --light-icon-filter: invert(0); + --light-color-ts-variable: #4d68ff; --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; /* Dark */ - --dark-color-background: #36393f; - --dark-color-secondary-background: #2f3136; - --dark-color-text: #ffffff; - --dark-color-text-aside: #e6e4e4; + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; --dark-color-link: #00aff4; - --dark-color-menu-divider: #eee; - --dark-color-menu-divider-focus: #000; - --dark-color-menu-label: #707070; - --dark-color-panel: var(--dark-color-secondary-background); - --dark-color-panel-divider: #818181; - --dark-color-comment-tag: #dcddde; - --dark-color-comment-tag-text: #2f3136; - --dark-color-ts: #c97dff; - --dark-color-ts-interface: #9cbe3c; - --dark-color-ts-enum: #d6ab29; - --dark-color-ts-class: #3695f3; + --dark-color-ts: #ff6492; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-class: #61b0ff; + --dark-color-ts-function: #9772ff; + --dark-color-ts-namespace: #e14dff; --dark-color-ts-private: #e2e2e2; - --dark-color-toolbar: #34373c; - --dark-color-toolbar-text: #ffffff; - --dark-icon-filter: invert(1); + --dark-color-ts-variable: #4d68ff; --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; } @media (prefers-color-scheme: light) { :root { --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-menu-divider: var(--light-color-menu-divider); - --color-menu-divider-focus: var(--light-color-menu-divider-focus); - --color-menu-label: var(--light-color-menu-label); - --color-panel: var(--light-color-panel); - --color-panel-divider: var(--light-color-panel-divider); - --color-comment-tag: var(--light-color-comment-tag); - --color-comment-tag-text: var(--light-color-comment-tag-text); --color-ts: var(--light-color-ts); --color-ts-interface: var(--light-color-ts-interface); --color-ts-enum: var(--light-color-ts-enum); --color-ts-class: var(--light-color-ts-class); + --color-ts-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-private: var(--light-color-ts-private); - --color-toolbar: var(--light-color-toolbar); - --color-toolbar-text: var(--light-color-toolbar-text); - --icon-filter: var(--light-icon-filter); + --color-ts-variable: var(--light-color-ts-variable); --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); } } @media (prefers-color-scheme: dark) { :root { --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-menu-divider: var(--dark-color-menu-divider); - --color-menu-divider-focus: var(--dark-color-menu-divider-focus); - --color-menu-label: var(--dark-color-menu-label); - --color-panel: var(--dark-color-panel); - --color-panel-divider: var(--dark-color-panel-divider); - --color-comment-tag: var(--dark-color-comment-tag); - --color-comment-tag-text: var(--dark-color-comment-tag-text); --color-ts: var(--dark-color-ts); --color-ts-interface: var(--dark-color-ts-interface); --color-ts-enum: var(--dark-color-ts-enum); --color-ts-class: var(--dark-color-ts-class); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-private: var(--dark-color-ts-private); - --color-toolbar: var(--dark-color-toolbar); - --color-toolbar-text: var(--dark-color-toolbar-text); - --icon-filter: var(--dark-icon-filter); + --color-ts-variable: var(--dark-color-ts-variable); --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); } } +html { + color-scheme: var(--color-scheme); +} + body { margin: 0; } -body.light { +:root[data-theme="light"] { --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); --color-text: var(--light-color-text); --color-text-aside: var(--light-color-text-aside); --color-link: var(--light-color-link); - --color-menu-divider: var(--light-color-menu-divider); - --color-menu-divider-focus: var(--light-color-menu-divider-focus); - --color-menu-label: var(--light-color-menu-label); - --color-panel: var(--light-color-panel); - --color-panel-divider: var(--light-color-panel-divider); - --color-comment-tag: var(--light-color-comment-tag); - --color-comment-tag-text: var(--light-color-comment-tag-text); --color-ts: var(--light-color-ts); --color-ts-interface: var(--light-color-ts-interface); --color-ts-enum: var(--light-color-ts-enum); --color-ts-class: var(--light-color-ts-class); + --color-ts-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); --color-ts-private: var(--light-color-ts-private); - --color-toolbar: var(--light-color-toolbar); - --color-toolbar-text: var(--light-color-toolbar-text); - --icon-filter: var(--light-icon-filter); + --color-ts-variable: var(--light-color-ts-variable); --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); } -body.dark { +:root[data-theme="dark"] { --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); --color-text: var(--dark-color-text); --color-text-aside: var(--dark-color-text-aside); --color-link: var(--dark-color-link); - --color-menu-divider: var(--dark-color-menu-divider); - --color-menu-divider-focus: var(--dark-color-menu-divider-focus); - --color-menu-label: var(--dark-color-menu-label); - --color-panel: var(--dark-color-panel); - --color-panel-divider: var(--dark-color-panel-divider); - --color-comment-tag: var(--dark-color-comment-tag); - --color-comment-tag-text: var(--dark-color-comment-tag-text); --color-ts: var(--dark-color-ts); --color-ts-interface: var(--dark-color-ts-interface); --color-ts-enum: var(--dark-color-ts-enum); --color-ts-class: var(--dark-color-ts-class); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); --color-ts-private: var(--dark-color-ts-private); - --color-toolbar: var(--dark-color-toolbar); - --color-toolbar-text: var(--dark-color-toolbar-text); - --icon-filter: var(--dark-icon-filter); + --color-ts-variable: var(--dark-color-ts-variable); --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; } h1 { - font-size: 2em; - margin: 0.67em 0; + font-size: 1.875rem; + margin: 0.67rem 0; } h2 { - font-size: 1.5em; - margin: 0.83em 0; + font-size: 1.5rem; + margin: 0.83rem 0; } h3 { - font-size: 1.17em; - margin: 1em 0; + font-size: 1.25rem; + margin: 1rem 0; } -h4, -.tsd-index-panel h3 { - font-size: 1em; - margin: 1.33em 0; +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; } h5 { - font-size: 0.83em; - margin: 1.67em 0; + font-size: 1rem; + margin: 1.5rem 0; } h6 { - font-size: 0.67em; - margin: 2.33em 0; + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; } pre { @@ -201,74 +191,61 @@ dd { } .container { - max-width: 1200px; - margin: 0 auto; - padding: 0 40px; + max-width: 1600px; + padding: 0 2rem; +} + +@media (min-width: 640px) { + .container { + padding: 0 4rem; + } } -@media (max-width: 640px) { +@media (min-width: 1200px) { .container { - padding: 0 20px; + padding: 0 8rem; + } +} +@media (min-width: 1600px) { + .container { + padding: 0 12rem; } } -.container-main { - padding-bottom: 200px; +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} + +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; } -.row { +.container-main { display: flex; + justify-content: space-between; position: relative; - margin: 0 -10px; -} -.row:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; + margin: 0 auto; } .col-4, .col-8 { box-sizing: border-box; float: left; - padding: 0 10px; + padding: 2rem 1rem; } .col-4 { - width: 33.3333333333%; + flex: 0 0 25%; } .col-8 { - width: 66.6666666667%; -} - -ul.tsd-descriptions > li > :first-child, -.tsd-panel > :first-child, -.col-8 > :first-child, -.col-4 > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child, -.tsd-panel > :first-child > :first-child, -.col-8 > :first-child > :first-child, -.col-4 > :first-child > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child > :first-child, -.tsd-panel > :first-child > :first-child > :first-child, -.col-8 > :first-child > :first-child > :first-child, -.col-4 > :first-child > :first-child > :first-child { - margin-top: 0; -} -ul.tsd-descriptions > li > :last-child, -.tsd-panel > :last-child, -.col-8 > :last-child, -.col-4 > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child, -.tsd-panel > :last-child > :last-child, -.col-8 > :last-child > :last-child, -.col-4 > :last-child > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child > :last-child, -.tsd-panel > :last-child > :last-child > :last-child, -.col-8 > :last-child > :last-child > :last-child, -.col-4 > :last-child > :last-child > :last-child { - margin-bottom: 0; + flex: 1 0; + flex-wrap: wrap; + padding-left: 0; } @keyframes fade-in { @@ -370,11 +347,13 @@ pre { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; padding: 0.2em; margin: 0; - font-size: 14px; + font-size: 0.875rem; + border-radius: 0.8em; } pre { padding: 10px; + border: 0.1em solid var(--color-accent); } pre code { padding: 0; @@ -413,36 +392,26 @@ blockquote { margin: 1em 0; } -@media (min-width: 901px) and (max-width: 1024px) { - html .col-content { - width: 72%; - } - html .col-menu { - width: 28%; - } - html .tsd-navigation { - padding-left: 10px; - } -} -@media (max-width: 900px) { +@media (max-width: 1024px) { html .col-content { float: none; + max-width: 100%; width: 100%; + padding-top: 3rem; } html .col-menu { position: fixed !important; - overflow: auto; + overflow-y: auto; -webkit-overflow-scrolling: touch; z-index: 1024; top: 0 !important; bottom: 0 !important; left: auto !important; right: 0 !important; - width: 100%; - padding: 20px 20px 0 0; - max-width: 450px; + padding: 1.5rem 1.5rem 0 0; + max-width: 25rem; visibility: hidden; - background-color: var(--color-panel); + background-color: var(--color-background); transform: translate(100%, 0); } html .col-menu > *:last-child { @@ -498,24 +467,17 @@ blockquote { visibility: visible; transform: translate(0, 0); display: grid; + align-items: center; grid-template-rows: auto 1fr; + grid-gap: 1.5rem; max-height: 100vh; + padding: 1rem 2rem; } .has-menu .tsd-navigation { max-height: 100%; } } -.tsd-page-title { - padding: 70px 0 20px 0; - margin: 0 0 40px 0; - background: var(--color-panel); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -.tsd-page-title h1 { - margin: 0; -} - .tsd-breadcrumb { margin: 0; padding: 0; @@ -535,32 +497,44 @@ blockquote { content: " / "; } -dl.tsd-comment-tags { +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; overflow: hidden; + margin: 0.5em 0; } -dl.tsd-comment-tags dt { - float: left; - padding: 1px 5px; - margin: 0 10px 0 0; - border-radius: 4px; - border: 1px solid var(--color-comment-tag); - color: var(--color-comment-tag); - font-size: 0.8em; +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; font-weight: normal; } -dl.tsd-comment-tags dd { - margin: 0 0 10px 0; +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; } -dl.tsd-comment-tags dd:before, -dl.tsd-comment-tags dd:after { - display: table; + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { content: " "; } -dl.tsd-comment-tags dd pre, -dl.tsd-comment-tags dd:after { +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { clear: both; } -dl.tsd-comment-tags p { +dl.tsd-comment-tag-group p { margin: 0; } @@ -573,153 +547,109 @@ dl.tsd-comment-tags p { margin-bottom: 0; } -.toggle-protected .tsd-is-private { - display: none; -} - -.toggle-public .tsd-is-private, -.toggle-public .tsd-is-protected, -.toggle-public .tsd-is-private-protected { - display: none; +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; } - -.toggle-inherited .tsd-is-inherited { - display: none; +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; } - -.toggle-externals .tsd-is-external { - display: none; +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; } - -#tsd-filter { - position: relative; - display: inline-block; - height: 40px; - vertical-align: bottom; +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; } -.no-filter #tsd-filter { - display: none; +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; } -#tsd-filter .tsd-filter-group { - display: inline-block; - height: 40px; - vertical-align: bottom; - white-space: nowrap; +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; } -#tsd-filter input { - display: none; +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); } -@media (max-width: 900px) { - #tsd-filter .tsd-filter-group { - display: block; - position: absolute; - top: 40px; - right: 20px; - height: auto; - background-color: var(--color-panel); - visibility: hidden; - transform: translate(50%, 0); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - } - .has-options #tsd-filter .tsd-filter-group { - visibility: visible; - } - .to-has-options #tsd-filter .tsd-filter-group { - animation: fade-in 0.2s; - } - .from-has-options #tsd-filter .tsd-filter-group { - animation: fade-out 0.2s; - } - #tsd-filter label, - #tsd-filter .tsd-select { - display: block; - padding-right: 20px; - } +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); } - -footer { - border-top: 1px solid var(--color-panel-divider); - background-color: var(--color-panel); +.tsd-checkbox-background { + fill: var(--color-accent); } -footer:after { - content: ""; - display: table; +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); } -footer.with-border-bottom { - border-bottom: 1px solid var(--color-panel-divider); +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; } -footer .tsd-legend-group { - font-size: 0; +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); } -footer .tsd-legend { - display: inline-block; - width: 25%; - padding: 0; - font-size: 16px; - list-style: none; - line-height: 1.333em; - vertical-align: top; + +.tsd-theme-toggle { + padding-top: 0.75rem; } -@media (max-width: 900px) { - footer .tsd-legend { - width: 50%; - } +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; } .tsd-hierarchy { list-style: square; - padding: 0 0 0 20px; margin: 0; } .tsd-hierarchy .target { font-weight: bold; } -.tsd-index-panel .tsd-index-content { - margin-bottom: -30px !important; -} -.tsd-index-panel .tsd-index-section { - margin-bottom: 30px !important; -} -.tsd-index-panel h3 { - margin: 0 -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid var(--color-panel-divider); -} -.tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 3; - -moz-column-count: 3; - -ms-column-count: 3; - -o-column-count: 3; - column-count: 3; - -webkit-column-gap: 20px; - -moz-column-gap: 20px; - -ms-column-gap: 20px; - -o-column-gap: 20px; - column-gap: 20px; - padding: 0; +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { list-style: none; line-height: 1.333em; -} -@media (max-width: 900px) { - .tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 1; - -moz-column-count: 1; - -ms-column-count: 1; - -o-column-count: 1; - column-count: 1; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); } } -@media (min-width: 901px) and (max-width: 1024px) { - .tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 2; - -moz-column-count: 2; - -ms-column-count: 2; - -o-column-count: 2; - column-count: 2; +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); } } -.tsd-index-panel ul.tsd-index-list li { +.tsd-index-panel .tsd-index-list li { -webkit-page-break-inside: avoid; -moz-page-break-inside: avoid; -ms-page-break-inside: avoid; @@ -727,42 +657,52 @@ footer .tsd-legend { page-break-inside: avoid; } .tsd-index-panel a, -.tsd-index-panel .tsd-parent-kind-module a { +.tsd-index-panel a.tsd-parent-kind-module { color: var(--color-ts); } -.tsd-index-panel .tsd-parent-kind-interface a { +.tsd-index-panel a.tsd-parent-kind-interface { color: var(--color-ts-interface); } -.tsd-index-panel .tsd-parent-kind-enum a { +.tsd-index-panel a.tsd-parent-kind-enum { color: var(--color-ts-enum); } -.tsd-index-panel .tsd-parent-kind-class a { +.tsd-index-panel a.tsd-parent-kind-class { color: var(--color-ts-class); } -.tsd-index-panel .tsd-kind-module a { - color: var(--color-ts); +.tsd-index-panel a.tsd-kind-module { + color: var(--color-ts-namespace); } -.tsd-index-panel .tsd-kind-interface a { +.tsd-index-panel a.tsd-kind-interface { color: var(--color-ts-interface); } -.tsd-index-panel .tsd-kind-enum a { +.tsd-index-panel a.tsd-kind-enum { color: var(--color-ts-enum); } -.tsd-index-panel .tsd-kind-class a { +.tsd-index-panel a.tsd-kind-class { color: var(--color-ts-class); } -.tsd-index-panel .tsd-is-private a { +.tsd-index-panel a.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-index-panel a.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-index-panel a.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-index-panel a.tsd-is-private { color: var(--color-ts-private); } .tsd-flag { display: inline-block; - padding: 1px 5px; + padding: 0.25em 0.4em; border-radius: 4px; color: var(--color-comment-tag-text); background-color: var(--color-comment-tag); text-indent: 0; - font-size: 14px; + font-size: 75%; + line-height: 1; font-weight: normal; } @@ -775,6 +715,8 @@ footer .tsd-legend { position: relative; } .tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; margin-top: 0; margin-bottom: 0; border-bottom: none; @@ -795,13 +737,9 @@ footer .tsd-legend { color: var(--color-ts-private); } -.tsd-navigation { - margin: 0 0 0 40px; -} .tsd-navigation a { display: block; - padding-top: 2px; - padding-bottom: 2px; + margin: 0.4rem 0; border-left: 2px solid transparent; color: var(--color-text); text-decoration: none; @@ -819,110 +757,167 @@ footer .tsd-legend { padding: 0; } -.tsd-navigation.primary { - padding-bottom: 40px; +.tsd-navigation.primary .tsd-accordion-details > ul { + margin-top: 0.75rem; } .tsd-navigation.primary a { - display: block; - padding-top: 6px; - padding-bottom: 6px; + padding: 0.75rem 0.5rem; + margin: 0; } .tsd-navigation.primary ul li a { - padding-left: 5px; + margin-left: 0.5rem; } .tsd-navigation.primary ul li li a { - padding-left: 25px; + margin-left: 1.5rem; } .tsd-navigation.primary ul li li li a { - padding-left: 45px; + margin-left: 2.5rem; } .tsd-navigation.primary ul li li li li a { - padding-left: 65px; + margin-left: 3.5rem; } .tsd-navigation.primary ul li li li li li a { - padding-left: 85px; + margin-left: 4.5rem; } .tsd-navigation.primary ul li li li li li li a { - padding-left: 105px; -} -.tsd-navigation.primary > ul { - border-bottom: 1px solid var(--color-panel-divider); -} -.tsd-navigation.primary li { - border-top: 1px solid var(--color-panel-divider); + margin-left: 5.5rem; } .tsd-navigation.primary li.current > a { + border-left: 0.15rem var(--color-text) solid; +} +.tsd-navigation.primary li.selected > a { font-weight: bold; + border-left: 0.2rem var(--color-text) solid; } -.tsd-navigation.primary li.label span { - display: block; - padding: 20px 0 6px 5px; - color: var(--color-menu-label); +.tsd-navigation.primary ul li a:hover { + border-left: 0.2rem var(--color-text-aside) solid; } .tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a { padding-top: 20px; } -.tsd-navigation.secondary { - max-height: calc(100vh - 1rem - 40px); - overflow: auto; - position: sticky; - top: calc(0.5rem + 40px); - transition: 0.3s; -} .tsd-navigation.secondary.tsd-navigation--toolbar-hide { max-height: calc(100vh - 1rem); top: 0.5rem; } -.tsd-navigation.secondary ul { +.tsd-navigation.secondary > ul { + display: inline; + padding-right: 0.5rem; transition: opacity 0.2s; } .tsd-navigation.secondary ul li a { - padding-left: 25px; + padding-left: 0; } .tsd-navigation.secondary ul li li a { - padding-left: 45px; + padding-left: 1.1rem; } .tsd-navigation.secondary ul li li li a { - padding-left: 65px; + padding-left: 2.2rem; } .tsd-navigation.secondary ul li li li li a { - padding-left: 85px; + padding-left: 3.3rem; } .tsd-navigation.secondary ul li li li li li a { - padding-left: 105px; + padding-left: 4.4rem; } .tsd-navigation.secondary ul li li li li li li a { - padding-left: 125px; + padding-left: 5.5rem; +} + +a.tsd-index-link { + margin: 0.25rem 0; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; +} +.tsd-accordion-summary > h1, +.tsd-accordion-summary > h2, +.tsd-accordion-summary > h3, +.tsd-accordion-summary > h4, +.tsd-accordion-summary > h5 { + display: inline-flex; + align-items: center; + vertical-align: middle; + margin-bottom: 0; + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.tsd-accordion-summary { + display: block; + cursor: pointer; } -.tsd-navigation.secondary ul.current a { - border-left-color: var(--color-panel-divider); +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; } -.tsd-navigation.secondary li.focus > a, -.tsd-navigation.secondary ul.current li.focus > a { - border-left-color: var(--color-menu-divider-focus); +.tsd-accordion-summary::-webkit-details-marker { + display: none; } -.tsd-navigation.secondary li.current { - margin-top: 20px; - margin-bottom: 20px; - border-left-color: var(--color-panel-divider); +.tsd-index-accordion .tsd-accordion-summary svg { + margin-right: 0.25rem; } -.tsd-navigation.secondary li.current > a { - font-weight: bold; +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; } -@media (min-width: 901px) { +@media (min-width: 1024px) { + .col-content { + margin: 2rem auto; + } + .menu-sticky-wrap { - position: static; + position: sticky; + height: calc(100vh - 2rem); + top: 4rem; + right: 0; + padding: 0 1.5rem; + padding-top: 1rem; + margin-top: 3rem; + transition: 0.3s ease-in-out; + transition-property: top, padding-top, padding, height; + overflow-y: auto; + } + .col-menu { + border-left: 1px solid var(--color-accent); + } + .col-menu--hide { + top: 1rem; + } + .col-menu .tsd-navigation:not(:last-child) { + padding-bottom: 1.75rem; } } .tsd-panel { - margin: 20px 0; - padding: 20px; - background-color: var(--color-panel); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; } .tsd-panel:empty { display: none; @@ -930,48 +925,24 @@ footer .tsd-legend { .tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 { - margin: 1.5em -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid var(--color-panel-divider); + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; } .tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature { margin-bottom: 0; - border-bottom: 0; -} -.tsd-panel table { - display: block; - width: 100%; - overflow: auto; - margin-top: 10px; - word-break: normal; - word-break: keep-all; - border-collapse: collapse; -} -.tsd-panel table th { - font-weight: bold; -} -.tsd-panel table th, -.tsd-panel table td { - padding: 6px 13px; - border: 1px solid var(--color-panel-divider); -} -.tsd-panel table tr { - background: var(--color-background); -} -.tsd-panel table tr:nth-child(even) { - background: var(--color-secondary-background); + border-bottom: none; } .tsd-panel-group { - margin: 60px 0; + margin: 4rem 0; } -.tsd-panel-group > h1, -.tsd-panel-group > h2, -.tsd-panel-group > h3 { - padding-left: 20px; - padding-right: 20px; +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; } #tsd-search { @@ -985,8 +956,8 @@ footer .tsd-legend { position: absolute; left: 0; top: 0; - right: 40px; - height: 40px; + right: 2.5rem; + height: 100%; } #tsd-search .field input { box-sizing: border-box; @@ -1025,14 +996,14 @@ footer .tsd-legend { background-color: var(--color-background); } #tsd-search .results li:nth-child(even) { - background-color: var(--color-panel); + background-color: var(--color-background-secondary); } #tsd-search .results li.state { display: none; } #tsd-search .results li.current, #tsd-search .results li:hover { - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } #tsd-search .results a { display: block; @@ -1045,7 +1016,7 @@ footer .tsd-legend { font-weight: normal; } #tsd-search.has-focus { - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } #tsd-search.has-focus .field input { top: 0; @@ -1066,31 +1037,13 @@ footer .tsd-legend { } .tsd-signature { - margin: 0 0 1em 0; - padding: 10px; - border: 1px solid var(--color-panel-divider); + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; overflow-x: auto; } -.tsd-signature.tsd-kind-icon { - padding-left: 30px; -} -.tsd-signature.tsd-kind-icon:before { - top: 10px; - left: 10px; -} -.tsd-panel > .tsd-signature { - margin-left: -20px; - margin-right: -20px; - border-width: 1px 0; -} -.tsd-panel > .tsd-signature.tsd-kind-icon { - padding-left: 40px; -} -.tsd-panel > .tsd-signature.tsd-kind-icon:before { - left: 20px; -} .tsd-signature-symbol { color: var(--color-text-aside); @@ -1105,104 +1058,42 @@ footer .tsd-legend { .tsd-signatures { padding: 0; margin: 0 0 1em 0; - border: 1px solid var(--color-panel-divider); + list-style-type: none; } .tsd-signatures .tsd-signature { margin: 0; - border-width: 1px 0 0 0; - transition: background-color 0.1s; -} -.tsd-signatures .tsd-signature:first-child { - border-top-width: 0; -} -.tsd-signatures .tsd-signature.current { - background-color: var(--color-panel-divider); -} -.tsd-signatures.active > .tsd-signature { - cursor: pointer; -} -.tsd-panel > .tsd-signatures { - margin-left: -20px; - margin-right: -20px; + border-color: var(--color-accent); border-width: 1px 0; + transition: background-color 0.1s; } -.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { - padding-left: 40px; -} -.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { - left: 20px; -} -.tsd-panel > a.anchor + .tsd-signatures { - border-top-width: 0; - margin-top: -20px; +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; } -ul.tsd-descriptions { - position: relative; - overflow: hidden; - padding: 0; - list-style: none; -} -ul.tsd-descriptions.active > .tsd-description { - display: none; -} -ul.tsd-descriptions.active > .tsd-description.current { - display: block; -} -ul.tsd-descriptions.active > .tsd-description.fade-in { - animation: fade-in-delayed 0.3s; -} -ul.tsd-descriptions.active > .tsd-description.fade-out { - animation: fade-out-delayed 0.3s; - position: absolute; - display: block; - top: 0; - left: 0; - right: 0; - opacity: 0; - visibility: hidden; -} -ul.tsd-descriptions h4, -ul.tsd-descriptions .tsd-index-panel h3, -.tsd-index-panel ul.tsd-descriptions h3 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} - -ul.tsd-parameters, -ul.tsd-type-parameters { +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { list-style: square; margin: 0; padding-left: 20px; } -ul.tsd-parameters > li.tsd-parameter-signature, -ul.tsd-type-parameters > li.tsd-parameter-signature { +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { list-style: none; margin-left: -20px; } -ul.tsd-parameters h5, -ul.tsd-type-parameters h5 { +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { font-size: 16px; margin: 1em 0 0.5em 0; } -ul.tsd-parameters .tsd-comment, -ul.tsd-type-parameters .tsd-comment { - margin-top: -0.5em; -} - .tsd-sources { - font-size: 14px; - color: var(--color-text-aside); - margin: 0 0 1em 0; + margin-top: 1rem; + font-size: 0.875em; } .tsd-sources a { color: var(--color-text-aside); text-decoration: underline; } -.tsd-sources ul, -.tsd-sources p { - margin: 0 !important; -} .tsd-sources ul { list-style: none; padding: 0; @@ -1214,14 +1105,13 @@ ul.tsd-type-parameters .tsd-comment { top: 0; left: 0; width: 100%; - height: 40px; - color: var(--color-toolbar-text); - background: var(--color-toolbar); - border-bottom: 1px solid var(--color-panel-divider); - transition: transform 0.3s linear; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; } .tsd-page-toolbar a { - color: var(--color-toolbar-text); + color: var(--color-text); text-decoration: none; } .tsd-page-toolbar a.title { @@ -1230,13 +1120,13 @@ ul.tsd-type-parameters .tsd-comment { .tsd-page-toolbar a.title:hover { text-decoration: underline; } -.tsd-page-toolbar .table-wrap { - display: table; - width: 100%; - height: 40px; +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; } .tsd-page-toolbar .table-cell { - display: table-cell; position: relative; white-space: nowrap; line-height: 40px; @@ -1249,29 +1139,6 @@ ul.tsd-type-parameters .tsd-comment { transform: translateY(-100%); } -.tsd-select .tsd-select-list li:before, -.tsd-select .tsd-select-label:before, -.tsd-widget:before { - content: ""; - display: inline-block; - width: 40px; - height: 40px; - margin: 0 -8px 0 0; - background-image: url(./widgets.png); - background-repeat: no-repeat; - text-indent: -1024px; - vertical-align: bottom; - filter: var(--icon-filter); -} -@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - .tsd-select .tsd-select-list li:before, - .tsd-select .tsd-select-label:before, - .tsd-widget:before { - background-image: url(./widgets@2x.png); - background-size: 320px 40px; - } -} - .tsd-widget { display: inline-block; overflow: hidden; @@ -1286,7 +1153,7 @@ ul.tsd-type-parameters .tsd-comment { } .tsd-widget.active { opacity: 1; - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } .tsd-widget.no-caption { width: 40px; @@ -1294,20 +1161,12 @@ ul.tsd-type-parameters .tsd-comment { .tsd-widget.no-caption:before { margin: 0; } -.tsd-widget.search:before { - background-position: 0 0; -} -.tsd-widget.menu:before { - background-position: -40px 0; -} -.tsd-widget.options:before { - background-position: -80px 0; -} + .tsd-widget.options, .tsd-widget.menu { display: none; } -@media (max-width: 900px) { +@media (max-width: 1024px) { .tsd-widget.options, .tsd-widget.menu { display: inline-block; @@ -1320,69 +1179,47 @@ input[type="checkbox"]:checked + .tsd-widget:before { background-position: -160px 0; } -.tsd-select { - position: relative; - display: inline-block; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-select .tsd-select-label { - opacity: 0.6; - transition: opacity 0.2s; -} -.tsd-select .tsd-select-label:before { - background-position: -240px 0; -} -.tsd-select.active .tsd-select-label { - opacity: 0.8; +img { + max-width: 100%; } -.tsd-select.active .tsd-select-list { - visibility: visible; - opacity: 1; - transition-delay: 0s; + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); } -.tsd-select .tsd-select-list { - position: absolute; + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; visibility: hidden; - top: 40px; - left: 0; - margin: 0; - padding: 0; - opacity: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - transition: visibility 0s 0.2s, opacity 0.2s; -} -.tsd-select .tsd-select-list li { - padding: 0 20px 0 0; - background-color: var(--color-background); } -.tsd-select .tsd-select-list li:before { - background-position: 40px 0; + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; } -.tsd-select .tsd-select-list li:nth-child(even) { - background-color: var(--color-panel); + +.deprecated { + text-decoration: line-through; } -.tsd-select .tsd-select-list li:hover { - background-color: var(--color-panel-divider); + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); } -.tsd-select .tsd-select-list li.selected:before { - background-position: -200px 0; + +*::-webkit-scrollbar { + width: 0.75rem; } -@media (max-width: 900px) { - .tsd-select .tsd-select-list { - top: 0; - left: auto; - right: 100%; - margin-right: -5px; - } - .tsd-select .tsd-select-label:before { - background-position: -280px 0; - } + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); } -img { - max-width: 100%; +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); } diff --git a/docs/assets/widgets.png b/docs/assets/widgets.png deleted file mode 100644 index c7380532ac1b45400620011c37c4dcb7aec27a4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmeAS@N?(olHy`uVBq!ia0y~yU~~YoH8@y+q^jrZML>b&o-U3d6^w6h1+IPUz|;DW zIZ;96kdsD>Qv^q=09&hp0GpEni<1IR%gvP3v%OR9*{MuRTKWHZyIbuBt)Ci`cU_&% z1T+i^Y)o{%281-<3TpPAUTzw5v;RY=>1rvxmPl96#kYc9hX!6V^nB|ad#(S+)}?8C zr_H+lT3B#So$T=?$(w3-{rbQ4R<@nsf$}$hwSO)A$8&`(j+wQf=Jwhb0`CvhR5DCf z^OgI)KQemrUFPH+UynC$Y~QHG%DbTVh-Skz{enNU)cV_hPu~{TD7TPZl>0&K>iuE| z7AYn$7)Jrb9GE&SfQW4q&G*@N|4cHI`VakFa5-C!ov&XD)J(qp$rJJ*9e z-sHv}#g*T7Cv048d1v~BEAzM5FztAse#q78WWC^BUCzQ U&wLp6h6BX&boFyt=akR{0G%$)mH+?% diff --git a/docs/assets/widgets@2x.png b/docs/assets/widgets@2x.png deleted file mode 100644 index 4bbbd57272f3b28f47527d4951ad10f950b8ad43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU}^xe12~w0Jcmn z@(X6T|9^jgLcx21{)7exgY)a>N6m2F0<`Rqr;B4q1>>88jUdw-7W`c)zLE*mq8W2H z-<&Jl_Hco5BuC5n@AbF5GD82~-e8-v=#zCyUX0F-o}8pPfAv`!GN$ff+TL<~@kgt} z62eO?_|&+>xBmM$@p|z`tIKEdpPf8%qI>4r7@jn<=eta*{3~?g(zz{Ke9zc-G^gr? z-7foa?LcS!hmbwzru}ICvbWLlW8;+l-}!^=c32!^nV`+`C*;0-*Y%l94pC;Cb3GXz zzSf%a!{gVr{Y_lVuUj+a)*Ca+!-Hu%xmP&&X-2CuANY8^i{D7Kg6qzP zXz_ps9+lN8ESH{K4`yu&b~I>N9xGlE&;2u*b?+Go!AhN?m-bxlLvtC#MzDF2kFzfHJ1W7ybqdefSqVhbOykd*Yi%EDuhs z4wF{ft^bv2+DDnKb8gj1FuvcV`M}luS>lO<^)8x>y1#R;a=-ZKwWTQQb)ioBbi;zh zD!f5V)8581to1LL7c9!l^PSC$NBPYif!_vAZhmL4)v4U)4UsrLYiH_9rmQDd?)(e5 z^pcH>qvBg*i0dus2r*mp4;zKvu=P#s-ti;2obl`NjjwoYd>e(oo#j_uyRb<7Pv^If zzZ|mGHmV)8^tbO%^>eqMw(@7(&3g{jEp-Najo7V75xI_ZHK*FA`elF{r5}E*d7+j_R diff --git a/docs/classes/AbstractWorker.html b/docs/classes/AbstractWorker.html index 8ff6b374..fca9252d 100644 --- a/docs/classes/AbstractWorker.html +++ b/docs/classes/AbstractWorker.html @@ -1,91 +1,554 @@ -AbstractWorker | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class AbstractWorker<MainWorker, Data, Response>

-

Base class containing some shared logic for all poolifier workers.

-

Type parameters

  • MainWorker: Worker | MessagePort

    -

    Type of main worker.

    -
  • Data = unknown

    -

    Type of data this worker receives from pool's execution. This can only be serializable data.

    -
  • Response = unknown

    -

    Type of response the worker sends back to the main worker. This can only be serializable data.

    -

Hierarchy

Index

Constructors

constructor

  • new AbstractWorker<MainWorker, Data, Response>(type: string, isMain: boolean, fn: (data: Data) => Response, mainWorker: undefined | null | MainWorker, opts?: WorkerOptions): AbstractWorker<MainWorker, Data, Response>
  • -

    Constructs a new poolifier worker.

    -

    Type parameters

    • MainWorker: Worker | MessagePort

    • Data = unknown

    • Response = unknown

    Parameters

    • type: string
      -

      The type of async event.

      -
    • isMain: boolean
      -

      Whether this is the main worker or not.

      -
    • fn: (data: Data) => Response
      -

      Function processed by the worker when the pool's execution function is invoked.

      -
        • (data: Data): Response
        • Parameters

          • data: Data

          Returns Response

    • mainWorker: undefined | null | MainWorker
      -

      Reference to main worker.

      -
    • opts: WorkerOptions = ...
      -

      Options for the worker.

      -

    Returns AbstractWorker<MainWorker, Data, Response>

Properties

Protected Optional Readonly aliveInterval

aliveInterval?: Timeout
-

Handler Id of the aliveInterval worker alive check.

-

Protected lastTaskTimestamp

lastTaskTimestamp: number
-

Timestamp of the last task processed by this worker.

-

Protected mainWorker

mainWorker: undefined | null | MainWorker

Readonly opts

opts: WorkerOptions = ...

Methods

asyncId

  • asyncId(): number
  • Returns number

    The unique asyncId assigned to the resource.

    -

bind

  • bind<Func>(fn: Func): Func & { asyncResource: AsyncResource }
  • -

    Binds the given function to execute to this AsyncResource's scope.

    -

    The returned function will have an asyncResource property referencing +AbstractWorker | poolifier

    +
    + +
    +
    +
    +
    + +

    Class AbstractWorker<MainWorker, Data, Response>Abstract

    +
    +

    Base class containing some shared logic for all poolifier workers.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      MainWorker extends Worker | MessagePort

      +

      Type of main worker.

      +
    • +
    • +

      Data = unknown

      +

      Type of data this worker receives from pool's execution. This can only be serializable data.

      +
    • +
    • +

      Response = unknown

      +

      Type of response the worker sends back to the main worker. This can only be serializable data.

      +
    +
    +

    Hierarchy

    +
    +
    +
    +
    + +
    +
    +

    Constructors

    +
    + +
      + +
    • +

      Constructs a new poolifier worker.

      +
      +
      +

      Type Parameters

      +
        +
      • +

        MainWorker extends Worker | MessagePort

      • +
      • +

        Data = unknown

      • +
      • +

        Response = unknown

      +
      +

      Parameters

      +
        +
      • +
        type: string
        +

        The type of async event.

        +
      • +
      • +
        isMain: boolean
        +

        Whether this is the main worker or not.

        +
      • +
      • +
        fn: ((data: Data) => Response)
        +

        Function processed by the worker when the pool's execution function is invoked.

        +
        +
          +
        • +
            +
          • (data: Data): Response
          • +
          • +
            +

            Parameters

            +
              +
            • +
              data: Data
            +

            Returns Response

      • +
      • +
        mainWorker: undefined | null | MainWorker
        +

        Reference to main worker.

        +
      • +
      • +
        opts: WorkerOptions = ...
        +

        Options for the worker.

        +
      +

      Returns AbstractWorker<MainWorker, Data, Response>

    +
    +

    Properties

    +
    + +
    aliveInterval?: Timeout
    +

    Handler Id of the aliveInterval worker alive check.

    +
    +
    + +
    lastTaskTimestamp: number
    +

    Timestamp of the last task processed by this worker.

    +
    +
    + +
    mainWorker: undefined | null | MainWorker
    +
    + + +

    Options for the worker.

    +
    +
    +

    Methods

    +
    + +
      + +
    • +
      +

      Returns

      The unique asyncId assigned to the resource.

      +
      +

      Returns number

    +
    + +
      + +
    • +

      Binds the given function to execute to this AsyncResource's scope.

      +

      The returned function will have an asyncResource property referencing the AsyncResource to which the function is bound.

      -
      since

      v14.8.0, v12.19.0

      -

    Type parameters

    • Func: (...args: any[]) => any

    Parameters

    • fn: Func
      -

      The function to bind to the current AsyncResource.

      -

    Returns Func & { asyncResource: AsyncResource }

Protected checkAlive

  • checkAlive(): void

Private checkFunctionInput

  • checkFunctionInput(fn: (data: Data) => Response): void
  • -

    Check if the fn parameter is passed to the constructor.

    -

    Parameters

    • fn: (data: Data) => Response
      -

      The function that should be defined.

      -
        • (data: Data): Response
        • Parameters

          • data: Data

          Returns Response

    Returns void

Private checkWorkerOptions

emitDestroy

  • -

    Call all destroy hooks. This should only ever be called once. An error will + +

    Since

    v14.8.0, v12.19.0

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Func extends ((...args: any[]) => any)

    +
    +

    Parameters

    +
      +
    • +
      fn: Func
      +

      The function to bind to the current AsyncResource.

      +
    +

    Returns Func & { asyncResource: AsyncResource }

+
+ +
    + +
  • +

    Check to see if the worker should be terminated, because its living too long.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Check if the fn parameter is passed to the constructor.

    +
    +
    +

    Parameters

    +
      +
    • +
      fn: ((data: Data) => Response)
      +

      The function that should be defined.

      +
      +
        +
      • +
          +
        • (data: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    Call all destroy hooks. This should only ever be called once. An error will be thrown if it is called more than once. This must be manually called. If the resource is left to be collected by the GC then the destroy hooks will never be called.

    -

Returns AbstractWorker<MainWorker, Data, Response>

A reference to asyncResource.

-

Protected getMainWorker

  • getMainWorker(): MainWorker

Protected handleError

  • handleError(e: string | Error): string
  • -

    Handle an error and convert it to a string so it can be sent back to the main worker.

    -

    Parameters

    • e: string | Error
      -

      The error raised by the worker.

      -

    Returns string

    Message of the error.

    -

Protected run

  • run(fn: (data?: Data) => Response, value: MessageValue<Data, unknown>): void
  • -

    Run the given function synchronously.

    -

    Parameters

    • fn: (data?: Data) => Response
      -

      Function that will be executed.

      -
        • (data?: Data): Response
        • Parameters

          • Optional data: Data

          Returns Response

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

Protected runAsync

  • runAsync(fn: (data?: Data) => Promise<Response>, value: MessageValue<Data, unknown>): void
  • -

    Run the given function asynchronously.

    -

    Parameters

    • fn: (data?: Data) => Promise<Response>
      -

      Function that will be executed.

      -
        • (data?: Data): Promise<Response>
        • Parameters

          • Optional data: Data

          Returns Promise<Response>

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

runInAsyncScope

  • runInAsyncScope<This, Result>(fn: (...args: any[]) => Result, thisArg?: This, ...args: any[]): Result
  • -

    Call the provided function with the provided arguments in the execution context + +

    Returns

    A reference to asyncResource.

    +
    +

    Returns AbstractWorker<MainWorker, Data, Response>

+
+ +
    + +
  • +

    Returns the main worker.

    + +

    Returns

    Reference to the main worker.

    +
    +

    Returns MainWorker

+
+ +
    + +
  • +

    Handle an error and convert it to a string so it can be sent back to the main worker.

    + +

    Returns

    Message of the error.

    +
    +
    +

    Parameters

    +
      +
    • +
      e: string | Error
      +

      The error raised by the worker.

      +
    +

    Returns string

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      value: MessageValue<Data, MainWorker>
    • +
    • +
      fn: ((data: Data) => Response)
      +
        +
      • +
          +
        • (data: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    +

    Returns void

+
+ +
    + +
  • +

    Run the given function synchronously.

    +
    +
    +

    Parameters

    +
      +
    • +
      fn: ((data?: Data) => Response)
      +

      Function that will be executed.

      +
      +
        +
      • +
          +
        • (data?: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Response

    • +
    • +
      value: MessageValue<Data, unknown>
      +

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Run the given function asynchronously.

    +
    +
    +

    Parameters

    +
      +
    • +
      fn: ((data?: Data) => Promise<Response>)
      +

      Function that will be executed.

      +
      +
        +
      • +
          +
        • (data?: Data): Promise<Response>
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Promise<Response>

    • +
    • +
      value: MessageValue<Data, unknown>
      +

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Call the provided function with the provided arguments in the execution context of the async resource. This will establish the context, trigger the AsyncHooks before callbacks, call the function, trigger the AsyncHooks after callbacks, and then restore the original execution context.

    -
    since

    v9.6.0

    -

Type parameters

  • This

  • Result

Parameters

  • fn: (...args: any[]) => Result
    -

    The function to call in the execution context of this async resource.

    -
      • (...args: any[]): Result
      • Parameters

        • Rest ...args: any[]

        Returns Result

  • Optional thisArg: This
    -

    The receiver to be used for the function call.

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

    Optional arguments to pass to the function.

    -

Returns Result

Protected Abstract sendToMainWorker

  • sendToMainWorker(message: MessageValue<Response, unknown>): void
  • -

    Send a message to the main worker.

    -

    Parameters

    • message: MessageValue<Response, unknown>
      -

      The response message.

      -

    Returns void

triggerAsyncId

  • triggerAsyncId(): number
  • Returns number

    The same triggerAsyncId that is passed to the AsyncResource constructor.

    -

Static bind

  • bind<Func, ThisArg>(fn: Func, type?: string, thisArg?: ThisArg): Func & { asyncResource: AsyncResource }
  • -

    Binds the given function to the current execution context.

    -

    The returned function will have an asyncResource property referencing + +

    Since

    v9.6.0

    +
    +
    +

    Type Parameters

    +
      +
    • +

      This

    • +
    • +

      Result

    +
    +

    Parameters

    +
      +
    • +
      fn: ((this: This, ...args: any[]) => Result)
      +

      The function to call in the execution context of this async resource.

      +
      +
        +
      • +
          +
        • (this: This, ...args: any[]): Result
        • +
        • +
          +

          Parameters

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

          Returns Result

    • +
    • +
      Optional thisArg: This
      +

      The receiver to be used for the function call.

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

      Optional arguments to pass to the function.

      +
    +

    Returns Result

+
+ +
    + +
  • +

    Send a message to the main worker.

    +
    +
    +

    Parameters

    +
      +
    • +
      message: MessageValue<Response, unknown>
      +

      The response message.

      +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Returns

    The same triggerAsyncId that is passed to the AsyncResource constructor.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Binds the given function to the current execution context.

    +

    The returned function will have an asyncResource property referencing the AsyncResource to which the function is bound.

    -
    since

    v14.8.0, v12.19.0

    -

Type parameters

  • Func: (...args: any[]) => any

  • ThisArg

Parameters

  • fn: Func
    -

    The function to bind to the current execution context.

    -
  • Optional type: string
    -

    An optional name to associate with the underlying AsyncResource.

    -
  • Optional thisArg: ThisArg

Returns Func & { asyncResource: AsyncResource }

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +

Since

v14.8.0, v12.19.0

+ +
+

Type Parameters

+
    +
  • +

    Func extends ((this: ThisArg, ...args: any[]) => any)

  • +
  • +

    ThisArg

+
+

Parameters

+
    +
  • +
    fn: Func
    +

    The function to bind to the current execution context.

    +
  • +
  • +
    Optional type: string
    +

    An optional name to associate with the underlying AsyncResource.

    +
  • +
  • +
    Optional thisArg: ThisArg
+

Returns Func & { asyncResource: AsyncResource }

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/ClusterWorker.html b/docs/classes/ClusterWorker.html index ea6c5d88..a6fc7d3c 100644 --- a/docs/classes/ClusterWorker.html +++ b/docs/classes/ClusterWorker.html @@ -1,83 +1,507 @@ -ClusterWorker | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ClusterWorker<Data, Response>

-

A cluster worker used by a poolifier ClusterPool.

-

When this worker is inactive for more than the given maxInactiveTime, +ClusterWorker | poolifier

+
+ +
+
+
+
+ +

Class ClusterWorker<Data, Response>

+
+

A cluster worker used by a poolifier ClusterPool.

+

When this worker is inactive for more than the given maxInactiveTime, it will send a termination request to its main worker.

If you use a DynamicClusterPool the extra workers that were created will be terminated, but the minimum number of workers will be guaranteed.

-
template DataType

of data this worker receives from pool's execution. This can only be serializable data.

-
template ResponseType

of response the worker sends back to the main worker. This can only be serializable data.

-
author

Christopher Quadflieg

-
since

2.0.0

-

Type parameters

  • Data = unknown

  • Response = unknown

Hierarchy

Index

Constructors

constructor

  • -

    Constructs a new poolifier cluster worker.

    -

    Type parameters

    • Data = unknown

    • Response = unknown

    Parameters

    • fn: (data: Data) => Response
      -

      Function processed by the worker when the pool's execution function is invoked.

      -
        • (data: Data): Response
        • Parameters

          • data: Data

          Returns Response

    • opts: WorkerOptions = {}
      -

      Options for the worker.

      -

    Returns ClusterWorker<Data, Response>

Properties

Protected Optional Readonly aliveInterval

aliveInterval?: Timeout
-

Handler Id of the aliveInterval worker alive check.

-

Protected lastTaskTimestamp

lastTaskTimestamp: number
-

Timestamp of the last task processed by this worker.

-

Protected mainWorker

mainWorker: undefined | null | Worker

Readonly opts

opts: WorkerOptions = ...

Methods

asyncId

  • asyncId(): number
  • Returns number

    The unique asyncId assigned to the resource.

    -

bind

  • bind<Func>(fn: Func): Func & { asyncResource: AsyncResource }
  • -

    Binds the given function to execute to this AsyncResource's scope.

    -

    The returned function will have an asyncResource property referencing + +

    Template

    of data this worker receives from pool's execution. This can only be serializable data.

    + +

    Template

    of response the worker sends back to the main worker. This can only be serializable data.

    + +

    Author

    Christopher Quadflieg

    + +

    Since

    2.0.0

    +
+
+

Type Parameters

+
    +
  • +

    Data = unknown

  • +
  • +

    Response = unknown

+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs a new poolifier cluster worker.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Data = unknown

    • +
    • +

      Response = unknown

    +
    +

    Parameters

    +
      +
    • +
      fn: ((data: Data) => Response)
      +

      Function processed by the worker when the pool's execution function is invoked.

      +
      +
        +
      • +
          +
        • (data: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    • +
    • +
      opts: WorkerOptions = {}
      +

      Options for the worker.

      +
    +

    Returns ClusterWorker<Data, Response>

+
+

Properties

+
+ +
aliveInterval?: Timeout
+

Handler Id of the aliveInterval worker alive check.

+
+
+ +
lastTaskTimestamp: number
+

Timestamp of the last task processed by this worker.

+
+
+ +
mainWorker: undefined | null | Worker
+
+ + +

Options for the worker.

+
+
+

Methods

+
+ +
    + +
  • +
    +

    Returns

    The unique asyncId assigned to the resource.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Binds the given function to execute to this AsyncResource's scope.

    +

    The returned function will have an asyncResource property referencing the AsyncResource to which the function is bound.

    -
    since

    v14.8.0, v12.19.0

    -

Type parameters

  • Func: (...args: any[]) => any

Parameters

  • fn: Func
    -

    The function to bind to the current AsyncResource.

    -

Returns Func & { asyncResource: AsyncResource }

Protected checkAlive

  • checkAlive(): void

emitDestroy

  • -

    Call all destroy hooks. This should only ever be called once. An error will + +

    Since

    v14.8.0, v12.19.0

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Func extends ((...args: any[]) => any)

    +
    +

    Parameters

    +
      +
    • +
      fn: Func
      +

      The function to bind to the current AsyncResource.

      +
    +

    Returns Func & { asyncResource: AsyncResource }

+
+ +
+
+ +
    + +
  • +

    Call all destroy hooks. This should only ever be called once. An error will be thrown if it is called more than once. This must be manually called. If the resource is left to be collected by the GC then the destroy hooks will never be called.

    -

Returns ClusterWorker<Data, Response>

A reference to asyncResource.

-

Protected getMainWorker

  • getMainWorker(): Worker

Protected handleError

  • handleError(e: string | Error): string

Protected run

  • run(fn: (data?: Data) => Response, value: MessageValue<Data, unknown>): void
  • -

    Run the given function synchronously.

    -

    Parameters

    • fn: (data?: Data) => Response
      -

      Function that will be executed.

      -
        • (data?: Data): Response
        • Parameters

          • Optional data: Data

          Returns Response

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

Protected runAsync

  • runAsync(fn: (data?: Data) => Promise<Response>, value: MessageValue<Data, unknown>): void
  • -

    Run the given function asynchronously.

    -

    Parameters

    • fn: (data?: Data) => Promise<Response>
      -

      Function that will be executed.

      -
        • (data?: Data): Promise<Response>
        • Parameters

          • Optional data: Data

          Returns Promise<Response>

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

runInAsyncScope

  • runInAsyncScope<This, Result>(fn: (...args: any[]) => Result, thisArg?: This, ...args: any[]): Result
  • -

    Call the provided function with the provided arguments in the execution context + +

    Returns

    A reference to asyncResource.

    +
    +

    Returns ClusterWorker<Data, Response>

+
+ +
+
+ +
    + +
  • +

    Handle an error and convert it to a string so it can be sent back to the main worker.

    + +

    Returns

    Message of the error.

    +
    +
    +

    Parameters

    +
      +
    • +
      e: string | Error
      +

      The error raised by the worker.

      +
    +

    Returns string

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      value: MessageValue<Data, Worker>
    • +
    • +
      fn: ((data: Data) => Response)
      +
        +
      • +
          +
        • (data: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    +

    Returns void

+
+ +
    + +
  • +

    Run the given function synchronously.

    +
    +
    +

    Parameters

    +
      +
    • +
      fn: ((data?: Data) => Response)
      +

      Function that will be executed.

      +
      +
        +
      • +
          +
        • (data?: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Response

    • +
    • +
      value: MessageValue<Data, unknown>
      +

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Run the given function asynchronously.

    +
    +
    +

    Parameters

    +
      +
    • +
      fn: ((data?: Data) => Promise<Response>)
      +

      Function that will be executed.

      +
      +
        +
      • +
          +
        • (data?: Data): Promise<Response>
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Promise<Response>

    • +
    • +
      value: MessageValue<Data, unknown>
      +

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Call the provided function with the provided arguments in the execution context of the async resource. This will establish the context, trigger the AsyncHooks before callbacks, call the function, trigger the AsyncHooks after callbacks, and then restore the original execution context.

    -
    since

    v9.6.0

    -

Type parameters

  • This

  • Result

Parameters

  • fn: (...args: any[]) => Result
    -

    The function to call in the execution context of this async resource.

    -
      • (...args: any[]): Result
      • Parameters

        • Rest ...args: any[]

        Returns Result

  • Optional thisArg: This
    -

    The receiver to be used for the function call.

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

    Optional arguments to pass to the function.

    -

Returns Result

Protected sendToMainWorker

  • sendToMainWorker(message: MessageValue<Response, unknown>): void

triggerAsyncId

  • triggerAsyncId(): number
  • Returns number

    The same triggerAsyncId that is passed to the AsyncResource constructor.

    -

Static bind

  • bind<Func, ThisArg>(fn: Func, type?: string, thisArg?: ThisArg): Func & { asyncResource: AsyncResource }
  • -

    Binds the given function to the current execution context.

    -

    The returned function will have an asyncResource property referencing + +

    Since

    v9.6.0

    +
    +
    +

    Type Parameters

    +
      +
    • +

      This

    • +
    • +

      Result

    +
    +

    Parameters

    +
      +
    • +
      fn: ((this: This, ...args: any[]) => Result)
      +

      The function to call in the execution context of this async resource.

      +
      +
        +
      • +
          +
        • (this: This, ...args: any[]): Result
        • +
        • +
          +

          Parameters

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

          Returns Result

    • +
    • +
      Optional thisArg: This
      +

      The receiver to be used for the function call.

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

      Optional arguments to pass to the function.

      +
    +

    Returns Result

+
+ +
+
+ +
    + +
  • +
    +

    Returns

    The same triggerAsyncId that is passed to the AsyncResource constructor.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Binds the given function to the current execution context.

    +

    The returned function will have an asyncResource property referencing the AsyncResource to which the function is bound.

    -
    since

    v14.8.0, v12.19.0

    -

    Type parameters

    • Func: (...args: any[]) => any

    • ThisArg

    Parameters

    • fn: Func
      -

      The function to bind to the current execution context.

      -
    • Optional type: string
      -

      An optional name to associate with the underlying AsyncResource.

      -
    • Optional thisArg: ThisArg

    Returns Func & { asyncResource: AsyncResource }

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +

Since

v14.8.0, v12.19.0

+ +
+

Type Parameters

+
    +
  • +

    Func extends ((this: ThisArg, ...args: any[]) => any)

  • +
  • +

    ThisArg

+
+

Parameters

+
    +
  • +
    fn: Func
    +

    The function to bind to the current execution context.

    +
  • +
  • +
    Optional type: string
    +

    An optional name to associate with the underlying AsyncResource.

    +
  • +
  • +
    Optional thisArg: ThisArg
+

Returns Func & { asyncResource: AsyncResource }

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/DynamicClusterPool.html b/docs/classes/DynamicClusterPool.html index 50217700..80576199 100644 --- a/docs/classes/DynamicClusterPool.html +++ b/docs/classes/DynamicClusterPool.html @@ -1,54 +1,653 @@ -DynamicClusterPool | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DynamicClusterPool<Data, Response>

-

A cluster pool with a dynamic number of workers, but a guaranteed minimum number of workers.

-

This cluster pool creates new workers when the others are busy, up to the maximum number of workers. +DynamicClusterPool | poolifier

+
+ +
+
+
+
+ +

Class DynamicClusterPool<Data, Response>

+
+

A cluster pool with a dynamic number of workers, but a guaranteed minimum number of workers.

+

This cluster pool creates new workers when the others are busy, up to the maximum number of workers. When the maximum number of workers is reached, an event is emitted. If you want to listen to this event, use the pool's emitter.

-
template DataType

of data sent to the worker. This can only be serializable data.

-
template ResponseType

of response of execution. This can only be serializable data.

-
author

Christopher Quadflieg

-
since

2.0.0

-

Type parameters

  • Data = unknown

  • Response = unknown

Hierarchy

Index

Constructors

constructor

  • -

    Constructs a new poolifier dynamic cluster pool.

    -

    Type parameters

    • Data = unknown

    • Response = unknown

    Parameters

    • min: number
      -

      Minimum number of workers which are always active.

      -
    • max: number
      -

      Maximum number of workers that can be created by this pool.

      -
    • filePath: string
      -

      Path to an implementation of a ClusterWorker file, which can be relative or absolute.

      -
    • opts: ClusterPoolOptions = {}

    Returns DynamicClusterPool<Data, Response>

Properties

Optional Readonly emitter

emitter?: PoolEmitter

Readonly filePath

filePath: string

Readonly max

max: number

Protected nextMessageId

nextMessageId: number = 0
-

Id of the next message.

-

Readonly numberOfWorkers

numberOfWorkers: number

Readonly opts

Protected promiseMap

promiseMap: Map<number, PromiseWorkerResponseWrapper<Worker, Response>> = ...
-

The promise map.

-
    + +

    Template

    of data sent to the worker. This can only be serializable data.

    + +

    Template

    of response of execution. This can only be serializable data.

    + +

    Author

    Christopher Quadflieg

    + +

    Since

    2.0.0

    +
+
+

Type Parameters

+
    +
  • +

    Data = unknown

  • +
  • +

    Response = unknown

+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs a new poolifier dynamic cluster pool.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Data = unknown

    • +
    • +

      Response = unknown

    +
    +

    Parameters

    +
      +
    • +
      min: number
      +

      Minimum number of workers which are always active.

      +
    • +
    • +
      max: number
      +

      Maximum number of workers that can be created by this pool.

      +
    • +
    • +
      filePath: string
      +

      Path to an implementation of a ClusterWorker file, which can be relative or absolute.

      +
    • +
    • +
      Optional opts: ClusterPoolOptions = {}
      +

      Options for this dynamic cluster pool.

      +
    +

    Returns DynamicClusterPool<Data, Response>

+
+

Properties

+
+ +
emitter?: PoolEmitter
+
+

Inherit Doc

+
+ +
filePath: string
+
+ +
max: number
+
+

Inherit Doc

+
+ +
nextMessageId: number = 0
+

Id of the next message.

+
+
+ +
numberOfWorkers: number
+
+ +
+
+ +
promiseMap: Map<number, PromiseWorkerResponseWrapper<Worker, Response>> = ...
+

The promise map.

+
  • key: This is the message Id of each submitted task.
  • value: An object that contains the worker, the resolve function and the reject function.

When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.

-

Readonly tasks

tasks: Map<Worker, number> = ...

Protected workerChoiceStrategyContext

workerChoiceStrategyContext: WorkerChoiceStrategyContext<Worker, Data, Response>
-

Worker choice strategy instance implementing the worker choice algorithm.

-

Default to a strategy implementing a round robin algorithm.

-

Readonly workers

workers: Worker[] = []

Accessors

busy

  • get busy(): boolean

numberOfRunningTasks

  • get numberOfRunningTasks(): number

type

  • get type(): PoolType

Methods

Protected afterWorkerSetup

  • afterWorkerSetup(worker: Worker): void

Protected chooseWorker

  • chooseWorker(): Worker

Protected createAndSetupWorker

  • createAndSetupWorker(): Worker

Protected createWorker

  • createWorker(): Worker

Protected decreaseWorkersTasks

  • decreaseWorkersTasks(worker: Worker): void

destroy

  • destroy(): Promise<void>

destroyWorker

  • destroyWorker(worker: Worker): void

execute

  • execute(data: Data): Promise<Response>

findFreeTasksMapEntry

  • findFreeTasksMapEntry(): false | [Worker, number]

Protected increaseWorkersTask

  • increaseWorkersTask(worker: Worker): void

Protected internalExecute

  • internalExecute(worker: Worker, messageId: number): Promise<Response>

Protected internalGetBusyStatus

  • internalGetBusyStatus(): boolean

Protected isMain

  • isMain(): boolean

registerWorkerMessageListener

  • registerWorkerMessageListener<Message>(worker: Worker, listener: (message: MessageValue<Message, unknown>) => void): void

Protected removeWorker

  • removeWorker(worker: Worker): void

Protected sendToWorker

  • sendToWorker(worker: Worker, message: MessageValue<Data, unknown>): void

setWorkerChoiceStrategy

  • setWorkerChoiceStrategy(workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"): void

Protected setupHook

  • setupHook(): void

Protected workerListener

  • workerListener(): (message: MessageValue<Response, unknown>) => void
  • -

    This function is the listener registered for each worker.

    -

    Returns (message: MessageValue<Response, unknown>) => void

    The listener function to execute when a message is sent from a worker.

    -
      • (message: MessageValue<Response, unknown>): void
      • -

        This function is the listener registered for each worker.

        -

        Parameters

        • message: MessageValue<Response, unknown>

        Returns void

        The listener function to execute when a message is sent from a worker.

        -

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+ +
tasks: Map<Worker, number> = ...
+
+

Inherit Doc

+
+ +
workerChoiceStrategyContext: WorkerChoiceStrategyContext<Worker, Data, Response>
+

Worker choice strategy instance implementing the worker choice algorithm.

+

Default to a strategy implementing a round robin algorithm.

+
+
+ +
workers: Worker[] = []
+
+

Inherit Doc

+
+

Accessors

+
+ +
+
+ +
    +
  • get numberOfRunningTasks(): number
  • +
  • +
    +

    Inherit Doc

    +

    Returns number

+
+ +
+
+

Methods

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

    Inherit Doc

    +
    +

    Type Parameters

    +
      +
    • +

      Message

    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    • +
    • +
      listener: ((message: MessageValue<Message, unknown>) => void)
      +
        +
      • +
          +
        • (message: MessageValue<Message, unknown>): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            message: MessageValue<Message, unknown>
          +

          Returns void

    +

    Returns void

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

    This function is the listener registered for each worker.

    + +

    Returns

    The listener function to execute when a message is received from a worker.

    +
    +

    Returns ((message: MessageValue<Response, unknown>) => void)

    +
      +
    • +
        +
      • (message: MessageValue<Response, unknown>): void
      • +
      • +

        This function is the listener registered for each worker.

        + +

        Returns

        The listener function to execute when a message is received from a worker.

        +
        +
        +

        Parameters

        +
          +
        • +
          message: MessageValue<Response, unknown>
        +

        Returns void

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/DynamicThreadPool.html b/docs/classes/DynamicThreadPool.html index 6910150b..f4a91ae8 100644 --- a/docs/classes/DynamicThreadPool.html +++ b/docs/classes/DynamicThreadPool.html @@ -1,57 +1,654 @@ -DynamicThreadPool | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class DynamicThreadPool<Data, Response>

-

A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads.

-

This thread pool creates new threads when the others are busy, up to the maximum number of threads. +DynamicThreadPool | poolifier

+
+ +
+
+
+
+ +

Class DynamicThreadPool<Data, Response>

+
+

A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads.

+

This thread pool creates new threads when the others are busy, up to the maximum number of threads. When the maximum number of threads is reached, an event is emitted. If you want to listen to this event, use the pool's emitter.

-
template DataType

of data sent to the worker. This can only be serializable data.

-
template ResponseType

of response of execution. This can only be serializable data.

-
author

Alessandro Pio Ardizio

-
since

0.0.1

-

Type parameters

  • Data = unknown

  • Response = unknown

Hierarchy

Index

Constructors

constructor

Properties

Optional Readonly emitter

emitter?: PoolEmitter

Readonly filePath

filePath: string

Readonly max

max: number

Protected nextMessageId

nextMessageId: number = 0
-

Id of the next message.

-

Readonly numberOfWorkers

numberOfWorkers: number

Readonly opts

Protected promiseMap

promiseMap: Map<number, PromiseWorkerResponseWrapper<ThreadWorkerWithMessageChannel, Response>> = ...
-

The promise map.

-
    + +

    Template

    of data sent to the worker. This can only be serializable data.

    + +

    Template

    of response of execution. This can only be serializable data.

    + +

    Author

    Alessandro Pio Ardizio

    + +

    Since

    0.0.1

    +
+
+

Type Parameters

+
    +
  • +

    Data = unknown

  • +
  • +

    Response = unknown

+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
emitter?: PoolEmitter
+
+

Inherit Doc

+
+ +
filePath: string
+
+ +
max: number
+
+

Inherit Doc

+
+ +
nextMessageId: number = 0
+

Id of the next message.

+
+
+ +
numberOfWorkers: number
+
+ +
+
+ +
promiseMap: Map<number, PromiseWorkerResponseWrapper<ThreadWorkerWithMessageChannel, Response>> = ...
+

The promise map.

+
  • key: This is the message Id of each submitted task.
  • value: An object that contains the worker, the resolve function and the reject function.

When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.

-

Readonly tasks

tasks: Map<ThreadWorkerWithMessageChannel, number> = ...

Protected workerChoiceStrategyContext

workerChoiceStrategyContext: WorkerChoiceStrategyContext<ThreadWorkerWithMessageChannel, Data, Response>
-

Worker choice strategy instance implementing the worker choice algorithm.

-

Default to a strategy implementing a round robin algorithm.

-

Readonly workers

Accessors

busy

  • get busy(): boolean

numberOfRunningTasks

  • get numberOfRunningTasks(): number

type

  • get type(): PoolType

Methods

Protected afterWorkerSetup

Protected chooseWorker

Protected createAndSetupWorker

Protected createWorker

Protected decreaseWorkersTasks

destroy

  • destroy(): Promise<void>

destroyWorker

execute

  • execute(data: Data): Promise<Response>

findFreeTasksMapEntry

Protected increaseWorkersTask

Protected internalExecute

Protected internalGetBusyStatus

  • internalGetBusyStatus(): boolean

Protected isMain

  • isMain(): boolean

registerWorkerMessageListener

  • registerWorkerMessageListener<Message>(messageChannel: ThreadWorkerWithMessageChannel, listener: (message: MessageValue<Message, unknown>) => void): void

Protected removeWorker

Protected sendToWorker

setWorkerChoiceStrategy

  • setWorkerChoiceStrategy(workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"): void

Protected setupHook

  • setupHook(): void
+
+ +
tasks: Map<ThreadWorkerWithMessageChannel, number> = ...
+
+

Inherit Doc

+
+ +
workerChoiceStrategyContext: WorkerChoiceStrategyContext<ThreadWorkerWithMessageChannel, Data, Response>
+

Worker choice strategy instance implementing the worker choice algorithm.

+

Default to a strategy implementing a round robin algorithm.

+
+
+ + +
+

Inherit Doc

+
+

Accessors

+
+ +
+
+ +
    +
  • get numberOfRunningTasks(): number
  • +
  • +
    +

    Inherit Doc

    +

    Returns number

+
+ +
+
+

Methods

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

    Setup hook that can be overridden by a Poolifier pool implementation to run code before workers are created in the abstract constructor.

    -

Returns void

Protected workerListener

  • workerListener(): (message: MessageValue<Response, unknown>) => void
  • -

    This function is the listener registered for each worker.

    -

    Returns (message: MessageValue<Response, unknown>) => void

    The listener function to execute when a message is sent from a worker.

    -
      • (message: MessageValue<Response, unknown>): void
      • -

        This function is the listener registered for each worker.

        -

        Parameters

        • message: MessageValue<Response, unknown>

        Returns void

        The listener function to execute when a message is sent from a worker.

        -

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +

Returns void

+
+ +
    + +
  • +

    This function is the listener registered for each worker.

    + +

    Returns

    The listener function to execute when a message is received from a worker.

    +
    +

    Returns ((message: MessageValue<Response, unknown>) => void)

    +
      +
    • +
        +
      • (message: MessageValue<Response, unknown>): void
      • +
      • +

        This function is the listener registered for each worker.

        + +

        Returns

        The listener function to execute when a message is received from a worker.

        +
        +
        +

        Parameters

        +
          +
        • +
          message: MessageValue<Response, unknown>
        +

        Returns void

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/FixedClusterPool.html b/docs/classes/FixedClusterPool.html index 7a604f57..8b00a031 100644 --- a/docs/classes/FixedClusterPool.html +++ b/docs/classes/FixedClusterPool.html @@ -1,52 +1,651 @@ -FixedClusterPool | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class FixedClusterPool<Data, Response>

-

A cluster pool with a fixed number of workers.

-

It is possible to perform tasks in sync or asynchronous mode as you prefer.

+FixedClusterPool | poolifier
+
+ +
+
+
+
+ +

Class FixedClusterPool<Data, Response>

+
+

A cluster pool with a fixed number of workers.

+

It is possible to perform tasks in sync or asynchronous mode as you prefer.

This pool selects the workers in a round robin fashion.

-
template DataType

of data sent to the worker. This can only be serializable data.

-
template ResponseType

of response of execution. This can only be serializable data.

-
author

Christopher Quadflieg

-
since

2.0.0

-

Type parameters

  • Data = unknown

  • Response = unknown

Hierarchy

Index

Constructors

constructor

  • -

    Constructs a new poolifier fixed cluster pool.

    -

    Type parameters

    • Data = unknown

    • Response = unknown

    Parameters

    • numberOfWorkers: number
      -

      Number of workers for this pool.

      -
    • filePath: string
      -

      Path to an implementation of a ClusterWorker file, which can be relative or absolute.

      -
    • opts: ClusterPoolOptions = {}

    Returns FixedClusterPool<Data, Response>

Properties

Optional Readonly emitter

emitter?: PoolEmitter
inheritdoc

Readonly filePath

filePath: string

Optional Readonly max

max?: number
inheritdoc

Protected nextMessageId

nextMessageId: number = 0
-

Id of the next message.

-

Readonly numberOfWorkers

numberOfWorkers: number

Readonly opts

Protected promiseMap

promiseMap: Map<number, PromiseWorkerResponseWrapper<Worker, Response>> = ...
-

The promise map.

-
    + +

    Template

    of data sent to the worker. This can only be serializable data.

    + +

    Template

    of response of execution. This can only be serializable data.

    + +

    Author

    Christopher Quadflieg

    + +

    Since

    2.0.0

    +
+
+

Type Parameters

+
    +
  • +

    Data = unknown

  • +
  • +

    Response = unknown

+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs a new poolifier fixed cluster pool.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Data = unknown

    • +
    • +

      Response = unknown

    +
    +

    Parameters

    +
      +
    • +
      numberOfWorkers: number
      +

      Number of workers for this pool.

      +
    • +
    • +
      filePath: string
      +

      Path to an implementation of a ClusterWorker file, which can be relative or absolute.

      +
    • +
    • +
      Optional opts: ClusterPoolOptions = {}
      +

      Options for this fixed cluster pool.

      +
    +

    Returns FixedClusterPool<Data, Response>

+
+

Properties

+
+ +
emitter?: PoolEmitter
+
+

Inherit Doc

+
+ +
filePath: string
+
+ +
max?: number
+
+

Inherit Doc

+
+ +
nextMessageId: number = 0
+

Id of the next message.

+
+
+ +
numberOfWorkers: number
+
+ +
+
+ +
promiseMap: Map<number, PromiseWorkerResponseWrapper<Worker, Response>> = ...
+

The promise map.

+
  • key: This is the message Id of each submitted task.
  • value: An object that contains the worker, the resolve function and the reject function.

When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.

-

Readonly tasks

tasks: Map<Worker, number> = ...
inheritdoc

Protected workerChoiceStrategyContext

workerChoiceStrategyContext: WorkerChoiceStrategyContext<Worker, Data, Response>
-

Worker choice strategy instance implementing the worker choice algorithm.

-

Default to a strategy implementing a round robin algorithm.

-

Readonly workers

workers: Worker[] = []
inheritdoc

Accessors

busy

  • get busy(): boolean

numberOfRunningTasks

  • get numberOfRunningTasks(): number

type

  • get type(): PoolType

Methods

Protected afterWorkerSetup

  • afterWorkerSetup(worker: Worker): void

Protected chooseWorker

  • chooseWorker(): Worker
  • -

    Choose a worker for the next task.

    -

    The default implementation uses a round robin algorithm to distribute the load.

    -

    Returns Worker

    Worker.

    -

Protected createAndSetupWorker

  • createAndSetupWorker(): Worker
  • -

    Creates a new worker for this pool and sets it up completely.

    -

    Returns Worker

    New, completely set up worker.

    -

Protected createWorker

  • createWorker(): Worker

Protected decreaseWorkersTasks

  • decreaseWorkersTasks(worker: Worker): void
  • -

    Decrease the number of tasks that the given worker has applied.

    -

    Parameters

    • worker: Worker
      -

      Worker whose tasks are decreased.

      -

    Returns void

destroy

  • destroy(): Promise<void>

destroyWorker

  • destroyWorker(worker: Worker): void

execute

  • execute(data: Data): Promise<Response>

findFreeTasksMapEntry

  • findFreeTasksMapEntry(): false | [Worker, number]

Protected increaseWorkersTask

  • increaseWorkersTask(worker: Worker): void
  • -

    Increase the number of tasks that the given worker has applied.

    -

    Parameters

    • worker: Worker
      -

      Worker whose tasks are increased.

      -

    Returns void

Protected internalExecute

  • internalExecute(worker: Worker, messageId: number): Promise<Response>
  • Parameters

    • worker: Worker
    • messageId: number

    Returns Promise<Response>

Protected internalGetBusyStatus

  • internalGetBusyStatus(): boolean

Protected isMain

  • isMain(): boolean

registerWorkerMessageListener

  • registerWorkerMessageListener<Message>(worker: Worker, listener: (message: MessageValue<Message, unknown>) => void): void
  • inheritdoc

    Type parameters

    • Message

    Parameters

    • worker: Worker
    • listener: (message: MessageValue<Message, unknown>) => void
        • (message: MessageValue<Message, unknown>): void
        • Parameters

          • message: MessageValue<Message, unknown>

          Returns void

    Returns void

Protected removeWorker

  • removeWorker(worker: Worker): void
  • -

    Removes the given worker from the pool.

    -

    Parameters

    • worker: Worker
      -

      Worker that will be removed.

      -

    Returns void

Protected sendToWorker

  • sendToWorker(worker: Worker, message: MessageValue<Data, unknown>): void
  • inheritdoc

    Parameters

    • worker: Worker
    • message: MessageValue<Data, unknown>

    Returns void

setWorkerChoiceStrategy

  • setWorkerChoiceStrategy(workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"): void
  • inheritdoc

    Parameters

    • workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"

    Returns void

Protected setupHook

  • setupHook(): void

Protected workerListener

  • workerListener(): (message: MessageValue<Response, unknown>) => void
  • -

    This function is the listener registered for each worker.

    -

    Returns (message: MessageValue<Response, unknown>) => void

    The listener function to execute when a message is sent from a worker.

    -
      • (message: MessageValue<Response, unknown>): void
      • -

        This function is the listener registered for each worker.

        -

        Parameters

        • message: MessageValue<Response, unknown>

        Returns void

        The listener function to execute when a message is sent from a worker.

        -

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+ +
tasks: Map<Worker, number> = ...
+
+

Inherit Doc

+
+ +
workerChoiceStrategyContext: WorkerChoiceStrategyContext<Worker, Data, Response>
+

Worker choice strategy instance implementing the worker choice algorithm.

+

Default to a strategy implementing a round robin algorithm.

+
+
+ +
workers: Worker[] = []
+
+

Inherit Doc

+
+

Accessors

+
+ +
+
+ +
    +
  • get numberOfRunningTasks(): number
  • +
  • +
    +

    Inherit Doc

    +

    Returns number

+
+ +
+
+

Methods

+
+ +
    + +
  • +
    +

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    +

    Returns void

+
+ +
    + +
  • +

    Choose a worker for the next task.

    +

    The default implementation uses a round robin algorithm to distribute the load.

    + +

    Returns

    Worker.

    +
    +

    Returns Worker

+
+ +
    + +
  • +

    Creates a new worker for this pool and sets it up completely.

    + +

    Returns

    New, completely set up worker.

    +
    +

    Returns Worker

+
+ +
+
+ +
    + +
  • +

    Decrease the number of tasks that the given worker has applied.

    +
    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
      +

      Worker whose tasks are decreased.

      +
    +

    Returns void

+
+ +
+
+ +
    + +
  • +
    +

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    +

    Returns void

+
+ +
    + +
  • +
    +

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      data: Data
    +

    Returns Promise<Response>

+
+ +
    + +
  • +
    +

    Inherit Doc

    +

    Returns false | Worker

+
+ +
    + +
  • +
    +

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    +

    Returns number

+
+ +
    + +
  • +
    +

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    +

    Returns undefined | number

+
+ +
    + +
  • +

    Increase the number of tasks that the given worker has applied.

    +
    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
      +

      Worker whose tasks are increased.

      +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    • +
    • +
      messageId: number
    +

    Returns Promise<Response>

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

    Inherit Doc

    +
    +

    Type Parameters

    +
      +
    • +

      Message

    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    • +
    • +
      listener: ((message: MessageValue<Message, unknown>) => void)
      +
        +
      • +
          +
        • (message: MessageValue<Message, unknown>): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            message: MessageValue<Message, unknown>
          +

          Returns void

    +

    Returns void

+
+ +
    + +
  • +

    Removes the given worker from the pool.

    +
    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
      +

      Worker that will be removed.

      +
    +

    Returns void

+
+ +
    + +
  • +
    +

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      worker: Worker
    • +
    • +
      message: MessageValue<Data, unknown>
    +

    Returns void

+
+ +
    + +
  • +
    +

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
    +

    Returns void

+
+ +
+
+ +
    + +
  • +

    This function is the listener registered for each worker.

    + +

    Returns

    The listener function to execute when a message is received from a worker.

    +
    +

    Returns ((message: MessageValue<Response, unknown>) => void)

    +
      +
    • +
        +
      • (message: MessageValue<Response, unknown>): void
      • +
      • +

        This function is the listener registered for each worker.

        + +

        Returns

        The listener function to execute when a message is received from a worker.

        +
        +
        +

        Parameters

        +
          +
        • +
          message: MessageValue<Response, unknown>
        +

        Returns void

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/FixedThreadPool.html b/docs/classes/FixedThreadPool.html index de188c51..37e27dbf 100644 --- a/docs/classes/FixedThreadPool.html +++ b/docs/classes/FixedThreadPool.html @@ -1,55 +1,652 @@ -FixedThreadPool | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class FixedThreadPool<Data, Response>

-

A thread pool with a fixed number of threads.

-

It is possible to perform tasks in sync or asynchronous mode as you prefer.

+FixedThreadPool | poolifier
+
+ +
+
+
+
+ +

Class FixedThreadPool<Data, Response>

+
+

A thread pool with a fixed number of threads.

+

It is possible to perform tasks in sync or asynchronous mode as you prefer.

This pool selects the threads in a round robin fashion.

-
template DataType

of data sent to the worker. This can only be serializable data.

-
template ResponseType

of response of execution. This can only be serializable data.

-
author

Alessandro Pio Ardizio

-
since

0.0.1

-

Type parameters

  • Data = unknown

  • Response = unknown

Hierarchy

Index

Constructors

constructor

  • -

    Constructs a new poolifier fixed thread pool.

    -

    Type parameters

    • Data = unknown

    • Response = unknown

    Parameters

    • numberOfThreads: number
      -

      Number of threads for this pool.

      -
    • filePath: string
      -

      Path to an implementation of a ThreadWorker file, which can be relative or absolute.

      -
    • opts: PoolOptions<ThreadWorkerWithMessageChannel> = {}

    Returns FixedThreadPool<Data, Response>

Properties

Optional Readonly emitter

emitter?: PoolEmitter
inheritdoc

Readonly filePath

filePath: string

Optional Readonly max

max?: number
inheritdoc

Protected nextMessageId

nextMessageId: number = 0
-

Id of the next message.

-

Readonly numberOfWorkers

numberOfWorkers: number

Readonly opts

Protected promiseMap

promiseMap: Map<number, PromiseWorkerResponseWrapper<ThreadWorkerWithMessageChannel, Response>> = ...
-

The promise map.

-
    + +

    Template

    of data sent to the worker. This can only be serializable data.

    + +

    Template

    of response of execution. This can only be serializable data.

    + +

    Author

    Alessandro Pio Ardizio

    + +

    Since

    0.0.1

    +
+
+

Type Parameters

+
    +
  • +

    Data = unknown

  • +
  • +

    Response = unknown

+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs a new poolifier fixed thread pool.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Data = unknown

    • +
    • +

      Response = unknown

    +
    +

    Parameters

    +
      +
    • +
      numberOfThreads: number
      +

      Number of threads for this pool.

      +
    • +
    • +
      filePath: string
      +

      Path to an implementation of a ThreadWorker file, which can be relative or absolute.

      +
    • +
    • +
      Optional opts: PoolOptions<ThreadWorkerWithMessageChannel> = {}
      +

      Options for this fixed thread pool.

      +
    +

    Returns FixedThreadPool<Data, Response>

+
+

Properties

+
+ +
emitter?: PoolEmitter
+
+

Inherit Doc

+
+ +
filePath: string
+
+ +
max?: number
+
+

Inherit Doc

+
+ +
nextMessageId: number = 0
+

Id of the next message.

+
+
+ +
numberOfWorkers: number
+
+ +
+
+ +
promiseMap: Map<number, PromiseWorkerResponseWrapper<ThreadWorkerWithMessageChannel, Response>> = ...
+

The promise map.

+
  • key: This is the message Id of each submitted task.
  • value: An object that contains the worker, the resolve function and the reject function.

When we receive a message from the worker we get a map entry and resolve/reject the promise based on the message.

-

Readonly tasks

tasks: Map<ThreadWorkerWithMessageChannel, number> = ...
inheritdoc

Protected workerChoiceStrategyContext

workerChoiceStrategyContext: WorkerChoiceStrategyContext<ThreadWorkerWithMessageChannel, Data, Response>
-

Worker choice strategy instance implementing the worker choice algorithm.

-

Default to a strategy implementing a round robin algorithm.

-

Readonly workers

inheritdoc

Accessors

busy

  • get busy(): boolean

numberOfRunningTasks

  • get numberOfRunningTasks(): number

type

  • get type(): PoolType

Methods

Protected afterWorkerSetup

Protected chooseWorker

Protected createAndSetupWorker

Protected createWorker

Protected decreaseWorkersTasks

destroy

  • destroy(): Promise<void>

destroyWorker

execute

  • execute(data: Data): Promise<Response>

findFreeTasksMapEntry

Protected increaseWorkersTask

Protected internalExecute

Protected internalGetBusyStatus

  • internalGetBusyStatus(): boolean

Protected isMain

  • isMain(): boolean

registerWorkerMessageListener

  • registerWorkerMessageListener<Message>(messageChannel: ThreadWorkerWithMessageChannel, listener: (message: MessageValue<Message, unknown>) => void): void
  • inheritdoc

    Type parameters

    • Message

    Parameters

    • messageChannel: ThreadWorkerWithMessageChannel
    • listener: (message: MessageValue<Message, unknown>) => void
        • (message: MessageValue<Message, unknown>): void
        • Parameters

          • message: MessageValue<Message, unknown>

          Returns void

    Returns void

Protected removeWorker

Protected sendToWorker

setWorkerChoiceStrategy

  • setWorkerChoiceStrategy(workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"): void
  • inheritdoc

    Parameters

    • workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"

    Returns void

Protected setupHook

  • setupHook(): void
+
+ +
tasks: Map<ThreadWorkerWithMessageChannel, number> = ...
+
+

Inherit Doc

+
+ +
workerChoiceStrategyContext: WorkerChoiceStrategyContext<ThreadWorkerWithMessageChannel, Data, Response>
+

Worker choice strategy instance implementing the worker choice algorithm.

+

Default to a strategy implementing a round robin algorithm.

+
+
+ + +
+

Inherit Doc

+
+

Accessors

+
+ +
+
+ +
    +
  • get numberOfRunningTasks(): number
  • +
  • +
    +

    Inherit Doc

    +

    Returns number

+
+ +
+
+

Methods

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

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      data: Data
    +

    Returns Promise<Response>

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

    Inherit Doc

    +
    +

    Type Parameters

    +
      +
    • +

      Message

    +
    +

    Parameters

    +
      +
    • +
      messageChannel: ThreadWorkerWithMessageChannel
    • +
    • +
      listener: ((message: MessageValue<Message, unknown>) => void)
      +
        +
      • +
          +
        • (message: MessageValue<Message, unknown>): void
        • +
        • +
          +

          Parameters

          +
            +
          • +
            message: MessageValue<Message, unknown>
          +

          Returns void

    +

    Returns void

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

    Inherit Doc

    +
    +

    Parameters

    +
      +
    • +
      workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
    +

    Returns void

+
+ +
    + +
  • +

    Setup hook that can be overridden by a Poolifier pool implementation to run code before workers are created in the abstract constructor.

    -

Returns void

Protected workerListener

  • workerListener(): (message: MessageValue<Response, unknown>) => void
  • -

    This function is the listener registered for each worker.

    -

    Returns (message: MessageValue<Response, unknown>) => void

    The listener function to execute when a message is sent from a worker.

    -
      • (message: MessageValue<Response, unknown>): void
      • -

        This function is the listener registered for each worker.

        -

        Parameters

        • message: MessageValue<Response, unknown>

        Returns void

        The listener function to execute when a message is sent from a worker.

        -

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +

Returns void

+
+ +
    + +
  • +

    This function is the listener registered for each worker.

    + +

    Returns

    The listener function to execute when a message is received from a worker.

    +
    +

    Returns ((message: MessageValue<Response, unknown>) => void)

    +
      +
    • +
        +
      • (message: MessageValue<Response, unknown>): void
      • +
      • +

        This function is the listener registered for each worker.

        + +

        Returns

        The listener function to execute when a message is received from a worker.

        +
        +
        +

        Parameters

        +
          +
        • +
          message: MessageValue<Response, unknown>
        +

        Returns void

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/classes/ThreadWorker.html b/docs/classes/ThreadWorker.html index e90d1519..dc2272a1 100644 --- a/docs/classes/ThreadWorker.html +++ b/docs/classes/ThreadWorker.html @@ -1,83 +1,507 @@ -ThreadWorker | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ThreadWorker<Data, Response>

-

A thread worker used by a poolifier ThreadPool.

-

When this worker is inactive for more than the given maxInactiveTime, +ThreadWorker | poolifier

+
+ +
+
+
+
+ +

Class ThreadWorker<Data, Response>

+
+

A thread worker used by a poolifier ThreadPool.

+

When this worker is inactive for more than the given maxInactiveTime, it will send a termination request to its main thread.

If you use a DynamicThreadPool the extra workers that were created will be terminated, but the minimum number of workers will be guaranteed.

-
template DataType

of data this worker receives from pool's execution. This can only be serializable data.

-
template ResponseType

of response the worker sends back to the main thread. This can only be serializable data.

-
author

Alessandro Pio Ardizio

-
since

0.0.1

-

Type parameters

  • Data = unknown

  • Response = unknown

Hierarchy

Index

Constructors

constructor

  • -

    Constructs a new poolifier thread worker.

    -

    Type parameters

    • Data = unknown

    • Response = unknown

    Parameters

    • fn: (data: Data) => Response
      -

      Function processed by the worker when the pool's execution function is invoked.

      -
        • (data: Data): Response
        • Parameters

          • data: Data

          Returns Response

    • opts: WorkerOptions = {}
      -

      Options for the worker.

      -

    Returns ThreadWorker<Data, Response>

Properties

Protected Optional Readonly aliveInterval

aliveInterval?: Timeout
-

Handler Id of the aliveInterval worker alive check.

-

Protected lastTaskTimestamp

lastTaskTimestamp: number
-

Timestamp of the last task processed by this worker.

-

Protected mainWorker

mainWorker: undefined | null | MessagePort

Readonly opts

opts: WorkerOptions = ...

Methods

asyncId

  • asyncId(): number
  • Returns number

    The unique asyncId assigned to the resource.

    -

bind

  • bind<Func>(fn: Func): Func & { asyncResource: AsyncResource }
  • -

    Binds the given function to execute to this AsyncResource's scope.

    -

    The returned function will have an asyncResource property referencing + +

    Template

    of data this worker receives from pool's execution. This can only be serializable data.

    + +

    Template

    of response the worker sends back to the main thread. This can only be serializable data.

    + +

    Author

    Alessandro Pio Ardizio

    + +

    Since

    0.0.1

    +
+
+

Type Parameters

+
    +
  • +

    Data = unknown

  • +
  • +

    Response = unknown

+
+

Hierarchy

+
+
+
+
+ +
+
+

Constructors

+
+ +
    + +
  • +

    Constructs a new poolifier thread worker.

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Data = unknown

    • +
    • +

      Response = unknown

    +
    +

    Parameters

    +
      +
    • +
      fn: ((data: Data) => Response)
      +

      Function processed by the worker when the pool's execution function is invoked.

      +
      +
        +
      • +
          +
        • (data: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    • +
    • +
      opts: WorkerOptions = {}
      +

      Options for the worker.

      +
    +

    Returns ThreadWorker<Data, Response>

+
+

Properties

+
+ +
aliveInterval?: Timeout
+

Handler Id of the aliveInterval worker alive check.

+
+
+ +
lastTaskTimestamp: number
+

Timestamp of the last task processed by this worker.

+
+
+ +
mainWorker: undefined | null | MessagePort
+
+ + +

Options for the worker.

+
+
+

Methods

+
+ +
    + +
  • +
    +

    Returns

    The unique asyncId assigned to the resource.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Binds the given function to execute to this AsyncResource's scope.

    +

    The returned function will have an asyncResource property referencing the AsyncResource to which the function is bound.

    -
    since

    v14.8.0, v12.19.0

    -

Type parameters

  • Func: (...args: any[]) => any

Parameters

  • fn: Func
    -

    The function to bind to the current AsyncResource.

    -

Returns Func & { asyncResource: AsyncResource }

Protected checkAlive

  • checkAlive(): void

emitDestroy

  • -

    Call all destroy hooks. This should only ever be called once. An error will + +

    Since

    v14.8.0, v12.19.0

    +
    +
    +

    Type Parameters

    +
      +
    • +

      Func extends ((...args: any[]) => any)

    +
    +

    Parameters

    +
      +
    • +
      fn: Func
      +

      The function to bind to the current AsyncResource.

      +
    +

    Returns Func & { asyncResource: AsyncResource }

+
+ +
+
+ +
    + +
  • +

    Call all destroy hooks. This should only ever be called once. An error will be thrown if it is called more than once. This must be manually called. If the resource is left to be collected by the GC then the destroy hooks will never be called.

    -

Returns ThreadWorker<Data, Response>

A reference to asyncResource.

-

Protected getMainWorker

  • getMainWorker(): MessagePort

Protected handleError

  • handleError(e: string | Error): string

Protected run

  • run(fn: (data?: Data) => Response, value: MessageValue<Data, unknown>): void
  • -

    Run the given function synchronously.

    -

    Parameters

    • fn: (data?: Data) => Response
      -

      Function that will be executed.

      -
        • (data?: Data): Response
        • Parameters

          • Optional data: Data

          Returns Response

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

Protected runAsync

  • runAsync(fn: (data?: Data) => Promise<Response>, value: MessageValue<Data, unknown>): void
  • -

    Run the given function asynchronously.

    -

    Parameters

    • fn: (data?: Data) => Promise<Response>
      -

      Function that will be executed.

      -
        • (data?: Data): Promise<Response>
        • Parameters

          • Optional data: Data

          Returns Promise<Response>

    • value: MessageValue<Data, unknown>
      -

      Input data for the given function.

      -

    Returns void

runInAsyncScope

  • runInAsyncScope<This, Result>(fn: (...args: any[]) => Result, thisArg?: This, ...args: any[]): Result
  • -

    Call the provided function with the provided arguments in the execution context + +

    Returns

    A reference to asyncResource.

    +
    +

    Returns ThreadWorker<Data, Response>

+
+ +
+
+ +
    + +
  • +

    Handle an error and convert it to a string so it can be sent back to the main worker.

    + +

    Returns

    Message of the error.

    +
    +
    +

    Parameters

    +
      +
    • +
      e: string | Error
      +

      The error raised by the worker.

      +
    +

    Returns string

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      value: MessageValue<Data, MessagePort>
    • +
    • +
      fn: ((data: Data) => Response)
      +
        +
      • +
          +
        • (data: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            data: Data
          +

          Returns Response

    +

    Returns void

+
+ +
    + +
  • +

    Run the given function synchronously.

    +
    +
    +

    Parameters

    +
      +
    • +
      fn: ((data?: Data) => Response)
      +

      Function that will be executed.

      +
      +
        +
      • +
          +
        • (data?: Data): Response
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Response

    • +
    • +
      value: MessageValue<Data, unknown>
      +

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Run the given function asynchronously.

    +
    +
    +

    Parameters

    +
      +
    • +
      fn: ((data?: Data) => Promise<Response>)
      +

      Function that will be executed.

      +
      +
        +
      • +
          +
        • (data?: Data): Promise<Response>
        • +
        • +
          +

          Parameters

          +
            +
          • +
            Optional data: Data
          +

          Returns Promise<Response>

    • +
    • +
      value: MessageValue<Data, unknown>
      +

      Input data for the given function.

      +
    +

    Returns void

+
+ +
    + +
  • +

    Call the provided function with the provided arguments in the execution context of the async resource. This will establish the context, trigger the AsyncHooks before callbacks, call the function, trigger the AsyncHooks after callbacks, and then restore the original execution context.

    -
    since

    v9.6.0

    -

Type parameters

  • This

  • Result

Parameters

  • fn: (...args: any[]) => Result
    -

    The function to call in the execution context of this async resource.

    -
      • (...args: any[]): Result
      • Parameters

        • Rest ...args: any[]

        Returns Result

  • Optional thisArg: This
    -

    The receiver to be used for the function call.

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

    Optional arguments to pass to the function.

    -

Returns Result

Protected sendToMainWorker

  • sendToMainWorker(message: MessageValue<Response, unknown>): void

triggerAsyncId

  • triggerAsyncId(): number
  • Returns number

    The same triggerAsyncId that is passed to the AsyncResource constructor.

    -

Static bind

  • bind<Func, ThisArg>(fn: Func, type?: string, thisArg?: ThisArg): Func & { asyncResource: AsyncResource }
  • -

    Binds the given function to the current execution context.

    -

    The returned function will have an asyncResource property referencing + +

    Since

    v9.6.0

    +
    +
    +

    Type Parameters

    +
      +
    • +

      This

    • +
    • +

      Result

    +
    +

    Parameters

    +
      +
    • +
      fn: ((this: This, ...args: any[]) => Result)
      +

      The function to call in the execution context of this async resource.

      +
      +
        +
      • +
          +
        • (this: This, ...args: any[]): Result
        • +
        • +
          +

          Parameters

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

          Returns Result

    • +
    • +
      Optional thisArg: This
      +

      The receiver to be used for the function call.

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

      Optional arguments to pass to the function.

      +
    +

    Returns Result

+
+ +
+
+ +
    + +
  • +
    +

    Returns

    The same triggerAsyncId that is passed to the AsyncResource constructor.

    +
    +

    Returns number

+
+ +
    + +
  • +

    Binds the given function to the current execution context.

    +

    The returned function will have an asyncResource property referencing the AsyncResource to which the function is bound.

    -
    since

    v14.8.0, v12.19.0

    -

    Type parameters

    • Func: (...args: any[]) => any

    • ThisArg

    Parameters

    • fn: Func
      -

      The function to bind to the current execution context.

      -
    • Optional type: string
      -

      An optional name to associate with the underlying AsyncResource.

      -
    • Optional thisArg: ThisArg

    Returns Func & { asyncResource: AsyncResource }

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +

Since

v14.8.0, v12.19.0

+ +
+

Type Parameters

+
    +
  • +

    Func extends ((this: ThisArg, ...args: any[]) => any)

  • +
  • +

    ThisArg

+
+

Parameters

+
    +
  • +
    fn: Func
    +

    The function to bind to the current execution context.

    +
  • +
  • +
    Optional type: string
    +

    An optional name to associate with the underlying AsyncResource.

    +
  • +
  • +
    Optional thisArg: ThisArg
+

Returns Func & { asyncResource: AsyncResource }

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index c18f6241..ea69435b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,17 +1,93 @@ -poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

poolifier

Index

Type aliases

ErrorHandler

ErrorHandler<Worker>: (this: Worker, e: Error) => void

Type parameters

  • Worker

Type declaration

    • (this: Worker, e: Error): void
    • -

      Callback invoked if the worker raised an error.

      -

      Parameters

      • this: Worker
      • e: Error

      Returns void

ExitHandler

ExitHandler<Worker>: (this: Worker, code: number) => void

Type parameters

  • Worker

Type declaration

    • (this: Worker, code: number): void
    • -

      Callback invoked when the worker exits successfully.

      -

      Parameters

      • this: Worker
      • code: number

      Returns void

KillBehavior

KillBehavior: keyof typeof KillBehaviors
-

Kill behavior.

-

OnlineHandler

OnlineHandler<Worker>: (this: Worker) => void

Type parameters

  • Worker

Type declaration

    • (this: Worker): void
    • -

      Callback invoked when the worker has started successfully.

      -

      Parameters

      • this: Worker

      Returns void

ThreadWorkerWithMessageChannel

ThreadWorkerWithMessageChannel: Worker & Draft<MessageChannel>
-

A thread worker with message channels for communication between main thread and thread worker.

-

WorkerChoiceStrategy

WorkerChoiceStrategy: keyof typeof WorkerChoiceStrategies
-

Worker choice strategy.

-

Variables

KillBehaviors

KillBehaviors: Readonly<{ HARD: "HARD"; SOFT: "SOFT" }> = ...
-

Enumeration of kill behaviors.

-

WorkerChoiceStrategies

WorkerChoiceStrategies: Readonly<{ LESS_RECENTLY_USED: "LESS_RECENTLY_USED"; ROUND_ROBIN: "ROUND_ROBIN" }> = ...
-

Enumeration of worker choice strategies.

-

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

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

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/ClusterPoolOptions.html b/docs/interfaces/ClusterPoolOptions.html index 02740562..416094ba 100644 --- a/docs/interfaces/ClusterPoolOptions.html +++ b/docs/interfaces/ClusterPoolOptions.html @@ -1,19 +1,137 @@ -ClusterPoolOptions | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ClusterPoolOptions

-

Options for a poolifier cluster pool.

-

Hierarchy

Index

Properties

Optional enableEvents

enableEvents?: boolean
-

Pool events emission.

-
default

true

-

Optional env

env?: any
-

Key/value pairs to add to worker process environment.

-
see

https://nodejs.org/api/cluster.html#cluster_cluster_fork_env

-

Optional errorHandler

errorHandler?: ErrorHandler<Worker>
-

A function that will listen for error event on each worker.

-

Optional exitHandler

exitHandler?: ExitHandler<Worker>
-

A function that will listen for exit event on each worker.

-

Optional messageHandler

messageHandler?: MessageHandler<Worker>
-

A function that will listen for message event on each worker.

-

Optional onlineHandler

onlineHandler?: OnlineHandler<Worker>
-

A function that will listen for online event on each worker.

-

Optional workerChoiceStrategy

workerChoiceStrategy?: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
-

The work choice strategy to use in this pool.

-

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +ClusterPoolOptions | poolifier
+
+ +
+
+
+
+ +

Interface ClusterPoolOptions

+
+

Options for a poolifier cluster pool.

+
+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
enableEvents?: boolean
+

Pool events emission.

+ +

Default

true

+
+
+ +
env?: any
+

Key/value pairs to add to worker process environment.

+ +

See

https://nodejs.org/api/cluster.html#cluster_cluster_fork_env

+
+
+ +
errorHandler?: ErrorHandler<Worker>
+

A function that will listen for error event on each worker.

+
+
+ +
exitHandler?: ExitHandler<Worker>
+

A function that will listen for exit event on each worker.

+
+
+ +
messageHandler?: MessageHandler<Worker>
+

A function that will listen for message event on each worker.

+
+
+ +
onlineHandler?: OnlineHandler<Worker>
+

A function that will listen for online event on each worker.

+
+
+ +
workerChoiceStrategy?: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
+

The work choice strategy to use in this pool.

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/IPool.html b/docs/interfaces/IPool.html index 36b35e12..a3655322 100644 --- a/docs/interfaces/IPool.html +++ b/docs/interfaces/IPool.html @@ -1,18 +1,125 @@ -IPool | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface IPool<Data, Response>

-

Contract definition for a poolifier pool.

-

Type parameters

  • Data = unknown

    -

    Type of data sent to the worker. This can only be serializable data.

    -
  • Response = unknown

    -

    Type of response of execution. This can only be serializable data.

    -

Hierarchy

  • IPool

Index

Methods

destroy

  • destroy(): Promise<void>
  • -

    Shut down every current worker in this pool.

    -

    Returns Promise<void>

execute

  • execute(data: Data): Promise<Response>
  • -

    Perform the task specified in the constructor with the data parameter.

    -

    Parameters

    • data: Data
      -

      The input for the specified task. This can only be serializable data.

      -

    Returns Promise<Response>

    Promise that will be resolved when the task is successfully completed.

    -

setWorkerChoiceStrategy

  • setWorkerChoiceStrategy(workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"): void
  • -

    Set the worker choice strategy in this pool.

    -

    Parameters

    • workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
      -

      The worker choice strategy.

      -

    Returns void

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +IPool | poolifier
+
+ +
+
+
+
+ +

Interface IPool<Data, Response>

+
+

Contract definition for a poolifier pool.

+
+
+

Type Parameters

+
    +
  • +

    Data = unknown

    +

    Type of data sent to the worker. This can only be serializable data.

    +
  • +
  • +

    Response = unknown

    +

    Type of response of execution. This can only be serializable data.

    +
+
+

Hierarchy

+
    +
  • IPool
+
+
+
+ +
+
+

Methods

+
+ +
    + +
  • +

    Shut down every current worker in this pool.

    +
    +

    Returns Promise<void>

+
+ +
    + +
  • +

    Perform the task specified in the constructor with the data parameter.

    + +

    Returns

    Promise that will be resolved when the task is successfully completed.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: Data
      +

      The input for the specified task. This can only be serializable data.

      +
    +

    Returns Promise<Response>

+
+ +
    + +
  • +

    Set the worker choice strategy in this pool.

    +
    +
    +

    Parameters

    +
      +
    • +
      workerChoiceStrategy: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
      +

      The worker choice strategy.

      +
    +

    Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/IWorker.html b/docs/interfaces/IWorker.html deleted file mode 100644 index 0f47810e..00000000 --- a/docs/interfaces/IWorker.html +++ /dev/null @@ -1,33 +0,0 @@ -IWorker | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface IWorker

-

Basic interface that describes the minimum required implementation of listener events for a pool-worker.

-

Hierarchy

  • IWorker

Index

Methods

Methods

on

once

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/PoolOptions.html b/docs/interfaces/PoolOptions.html index 30985c43..7aebf66a 100644 --- a/docs/interfaces/PoolOptions.html +++ b/docs/interfaces/PoolOptions.html @@ -1,16 +1,125 @@ -PoolOptions | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface PoolOptions<Worker>

-

Options for a poolifier pool.

-

Type parameters

  • Worker

Hierarchy

Index

Properties

Optional enableEvents

enableEvents?: boolean
-

Pool events emission.

-
default

true

-

Optional errorHandler

errorHandler?: ErrorHandler<Worker>
-

A function that will listen for error event on each worker.

-

Optional exitHandler

exitHandler?: ExitHandler<Worker>
-

A function that will listen for exit event on each worker.

-

Optional messageHandler

messageHandler?: MessageHandler<Worker>
-

A function that will listen for message event on each worker.

-

Optional onlineHandler

onlineHandler?: OnlineHandler<Worker>
-

A function that will listen for online event on each worker.

-

Optional workerChoiceStrategy

workerChoiceStrategy?: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
-

The work choice strategy to use in this pool.

-

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +PoolOptions | poolifier
+
+ +
+
+
+
+ +

Interface PoolOptions<Worker>

+
+

Options for a poolifier pool.

+
+
+

Type Parameters

+
    +
  • +

    Worker

+
+

Hierarchy

+
+
+
+
+ +
+
+

Properties

+
+ +
enableEvents?: boolean
+

Pool events emission.

+ +

Default

true

+
+
+ +
errorHandler?: ErrorHandler<Worker>
+

A function that will listen for error event on each worker.

+
+
+ +
exitHandler?: ExitHandler<Worker>
+

A function that will listen for exit event on each worker.

+
+
+ +
messageHandler?: MessageHandler<Worker>
+

A function that will listen for message event on each worker.

+
+
+ +
onlineHandler?: OnlineHandler<Worker>
+

A function that will listen for online event on each worker.

+
+
+ +
workerChoiceStrategy?: "ROUND_ROBIN" | "LESS_RECENTLY_USED"
+

The work choice strategy to use in this pool.

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/docs/interfaces/WorkerOptions.html b/docs/interfaces/WorkerOptions.html index b3473b58..8da97c5f 100644 --- a/docs/interfaces/WorkerOptions.html +++ b/docs/interfaces/WorkerOptions.html @@ -1,24 +1,107 @@ -WorkerOptions | poolifier
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface WorkerOptions

-

Options for workers.

-

Hierarchy

  • WorkerOptions

Index

Properties

Optional async

async?: boolean
-

Whether your worker will perform asynchronous or not.

-
default

false

-

Optional killBehavior

killBehavior?: "SOFT" | "HARD"
-

killBehavior dictates if your async unit (worker/process) will be deleted in case that a task is active on it.

-
    +WorkerOptions | poolifier
    +
    + +
    +
    +
    +
    + +

    Interface WorkerOptions

    +
    +

    Options for workers.

    +
    +
    +

    Hierarchy

    +
      +
    • WorkerOptions
    +
    +
    +
    + +
    +
    +

    Properties

    +
    + +
    async?: boolean
    +

    Whether your worker will perform asynchronous or not.

    + +

    Default

    false

    +
    +
    + +
    killBehavior?: "SOFT" | "HARD"
    +

    killBehavior dictates if your async unit (worker/process) will be deleted in case that a task is active on it.

    +
    • SOFT: If currentTime - lastActiveTime is greater than maxInactiveTime but a task is still running, then the worker won't be deleted.
    • HARD: If lastActiveTime is greater than maxInactiveTime but a task is still running, then the worker will be deleted.

    This option only apply to the newly created workers.

    -
    default

    KillBehaviors.SOFT

    -

Optional maxInactiveTime

maxInactiveTime?: number
-

Maximum waiting time in milliseconds for tasks.

-

After this time, newly created workers will be terminated. + +

Default

KillBehaviors.SOFT

+
+
+ +
maxInactiveTime?: number
+

Maximum waiting time in milliseconds for tasks.

+

After this time, newly created workers will be terminated. The last active time of your worker unit will be updated when a task is submitted to a worker or when a worker terminate a task.

  • If killBehavior is set to KillBehaviors.HARD this value represents also the timeout for the tasks that you submit to the pool, when this timeout expires your tasks is interrupted and the worker is killed if is not part of the minimum size of the pool.
  • If killBehavior is set to KillBehaviors.SOFT your tasks have no timeout and your workers will not be terminated until your task is completed.
-
default

60.000 ms

-

Legend

  • Property
  • Method
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Protected property
  • Protected method
  • Private method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +

Default

60.000 ms

+ + +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/src/pools/abstract-pool-worker.ts b/src/pools/abstract-pool-worker.ts index f591b24e..a27d03ef 100644 --- a/src/pools/abstract-pool-worker.ts +++ b/src/pools/abstract-pool-worker.ts @@ -10,14 +10,14 @@ import type { * Basic class that implement the minimum required for a pool worker. */ export abstract class AbstractPoolWorker implements IPoolWorker { - /** @inheritdoc */ + /** @inheritDoc */ abstract on (event: 'message', handler: MessageHandler): void - /** @inheritdoc */ + /** @inheritDoc */ abstract on (event: 'error', handler: ErrorHandler): void - /** @inheritdoc */ + /** @inheritDoc */ abstract on (event: 'online', handler: OnlineHandler): void - /** @inheritdoc */ + /** @inheritDoc */ abstract on (event: 'exit', handler: ExitHandler): void - /** @inheritdoc */ + /** @inheritDoc */ abstract once (event: 'exit', handler: ExitHandler): void } diff --git a/src/pools/abstract-pool.ts b/src/pools/abstract-pool.ts index 928b24c6..10fe1281 100644 --- a/src/pools/abstract-pool.ts +++ b/src/pools/abstract-pool.ts @@ -26,16 +26,16 @@ export abstract class AbstractPool< Data = unknown, Response = unknown > implements IPoolInternal { - /** @inheritdoc */ + /** @inheritDoc */ public readonly workers: Worker[] = [] - /** @inheritdoc */ + /** @inheritDoc */ public readonly tasks: Map = new Map() - /** @inheritdoc */ + /** @inheritDoc */ public readonly emitter?: PoolEmitter - /** @inheritdoc */ + /** @inheritDoc */ public readonly max?: number /** @@ -143,25 +143,25 @@ export abstract class AbstractPool< this.opts.enableEvents = opts.enableEvents ?? true } - /** @inheritdoc */ + /** @inheritDoc */ public abstract get type (): PoolType - /** @inheritdoc */ + /** @inheritDoc */ public get numberOfRunningTasks (): number { return this.promiseMap.size } - /** @inheritdoc */ + /** @inheritDoc */ public getWorkerRunningTasks (worker: Worker): number | undefined { return this.tasks.get(worker) } - /** @inheritdoc */ + /** @inheritDoc */ public getWorkerIndex (worker: Worker): number { return this.workers.indexOf(worker) } - /** @inheritdoc */ + /** @inheritDoc */ public setWorkerChoiceStrategy ( workerChoiceStrategy: WorkerChoiceStrategy ): void { @@ -171,7 +171,7 @@ export abstract class AbstractPool< ) } - /** @inheritdoc */ + /** @inheritDoc */ public abstract get busy (): boolean protected internalGetBusyStatus (): boolean { @@ -181,7 +181,7 @@ export abstract class AbstractPool< ) } - /** @inheritdoc */ + /** @inheritDoc */ public findFreeWorker (): Worker | false { for (const worker of this.workers) { if (this.getWorkerRunningTasks(worker) === 0) { @@ -192,7 +192,7 @@ export abstract class AbstractPool< return false } - /** @inheritdoc */ + /** @inheritDoc */ public execute (data: Data): Promise { // Configure worker to handle message with the specified task const worker = this.chooseWorker() @@ -204,7 +204,7 @@ export abstract class AbstractPool< return res } - /** @inheritdoc */ + /** @inheritDoc */ public async destroy (): Promise { await Promise.all(this.workers.map(worker => this.destroyWorker(worker))) } diff --git a/src/pools/cluster/dynamic.ts b/src/pools/cluster/dynamic.ts index ec177da6..ebff6bfe 100644 --- a/src/pools/cluster/dynamic.ts +++ b/src/pools/cluster/dynamic.ts @@ -34,12 +34,12 @@ export class DynamicClusterPool< super(min, filePath, opts) } - /** @inheritdoc */ + /** @inheritDoc */ public get type (): PoolType { return PoolType.DYNAMIC } - /** @inheritdoc */ + /** @inheritDoc */ public get busy (): boolean { return this.workers.length === this.max } diff --git a/src/pools/cluster/fixed.ts b/src/pools/cluster/fixed.ts index 971116bc..09c5e369 100644 --- a/src/pools/cluster/fixed.ts +++ b/src/pools/cluster/fixed.ts @@ -49,30 +49,30 @@ export class FixedClusterPool< super(numberOfWorkers, filePath, opts) } - /** @inheritdoc */ + /** @inheritDoc */ protected setupHook (): void { cluster.setupPrimary({ exec: this.filePath }) } - /** @inheritdoc */ + /** @inheritDoc */ protected isMain (): boolean { return cluster.isPrimary } - /** @inheritdoc */ + /** @inheritDoc */ public destroyWorker (worker: Worker): void { this.sendToWorker(worker, { kill: 1 }) worker.kill() } - /** @inheritdoc */ + /** @inheritDoc */ protected sendToWorker (worker: Worker, message: MessageValue): void { worker.send(message) } - /** @inheritdoc */ + /** @inheritDoc */ public registerWorkerMessageListener ( worker: Worker, listener: (message: MessageValue) => void @@ -80,23 +80,23 @@ export class FixedClusterPool< worker.on('message', listener) } - /** @inheritdoc */ + /** @inheritDoc */ protected createWorker (): Worker { return cluster.fork(this.opts.env) } - /** @inheritdoc */ + /** @inheritDoc */ protected afterWorkerSetup (worker: Worker): void { // Listen worker messages. this.registerWorkerMessageListener(worker, super.workerListener()) } - /** @inheritdoc */ + /** @inheritDoc */ public get type (): PoolType { return PoolType.FIXED } - /** @inheritdoc */ + /** @inheritDoc */ public get busy (): boolean { return this.internalGetBusyStatus() } diff --git a/src/pools/selection-strategies/abstract-worker-choice-strategy.ts b/src/pools/selection-strategies/abstract-worker-choice-strategy.ts index 9cbebc3b..fc9074da 100644 --- a/src/pools/selection-strategies/abstract-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/abstract-worker-choice-strategy.ts @@ -15,7 +15,7 @@ export abstract class AbstractWorkerChoiceStrategy< Data, Response > implements IWorkerChoiceStrategy { - /** @inheritdoc */ + /** @inheritDoc */ public isDynamicPool: boolean = this.pool.type === PoolType.DYNAMIC /** @@ -27,6 +27,6 @@ export abstract class AbstractWorkerChoiceStrategy< protected readonly pool: IPoolInternal ) {} - /** @inheritdoc */ + /** @inheritDoc */ public abstract choose (): Worker } diff --git a/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts b/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts index f98ec5ef..c2053af4 100644 --- a/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/dynamic-pool-worker-choice-strategy.ts @@ -41,7 +41,7 @@ export class DynamicPoolWorkerChoiceStrategy< ) } - /** @inheritdoc */ + /** @inheritDoc */ public choose (): Worker { const freeWorker = this.pool.findFreeWorker() if (freeWorker) { diff --git a/src/pools/selection-strategies/less-recently-used-worker-choice-strategy.ts b/src/pools/selection-strategies/less-recently-used-worker-choice-strategy.ts index 33f6859c..03c6524d 100644 --- a/src/pools/selection-strategies/less-recently-used-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/less-recently-used-worker-choice-strategy.ts @@ -13,7 +13,7 @@ export class LessRecentlyUsedWorkerChoiceStrategy< Data, Response > extends AbstractWorkerChoiceStrategy { - /** @inheritdoc */ + /** @inheritDoc */ public choose (): Worker { let minNumberOfRunningTasks = Infinity // A worker is always found because it picks the one with fewer tasks diff --git a/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts b/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts index ea1ad567..69bffea1 100644 --- a/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts +++ b/src/pools/selection-strategies/round-robin-worker-choice-strategy.ts @@ -18,7 +18,7 @@ export class RoundRobinWorkerChoiceStrategy< */ private nextWorkerIndex: number = 0 - /** @inheritdoc */ + /** @inheritDoc */ public choose (): Worker { const chosenWorker = this.pool.workers[this.nextWorkerIndex] this.nextWorkerIndex = diff --git a/src/pools/thread/dynamic.ts b/src/pools/thread/dynamic.ts index a5b9eb7c..929287c8 100644 --- a/src/pools/thread/dynamic.ts +++ b/src/pools/thread/dynamic.ts @@ -35,12 +35,12 @@ export class DynamicThreadPool< super(min, filePath, opts) } - /** @inheritdoc */ + /** @inheritDoc */ public get type (): PoolType { return PoolType.DYNAMIC } - /** @inheritdoc */ + /** @inheritDoc */ public get busy (): boolean { return this.workers.length === this.max } diff --git a/src/pools/thread/fixed.ts b/src/pools/thread/fixed.ts index da3c0138..3212678f 100644 --- a/src/pools/thread/fixed.ts +++ b/src/pools/thread/fixed.ts @@ -40,12 +40,12 @@ export class FixedThreadPool< super(numberOfThreads, filePath, opts) } - /** @inheritdoc */ + /** @inheritDoc */ protected isMain (): boolean { return isMainThread } - /** @inheritdoc */ + /** @inheritDoc */ public async destroyWorker ( worker: ThreadWorkerWithMessageChannel ): Promise { @@ -53,7 +53,7 @@ export class FixedThreadPool< await worker.terminate() } - /** @inheritdoc */ + /** @inheritDoc */ protected sendToWorker ( worker: ThreadWorkerWithMessageChannel, message: MessageValue @@ -61,7 +61,7 @@ export class FixedThreadPool< worker.postMessage(message) } - /** @inheritdoc */ + /** @inheritDoc */ public registerWorkerMessageListener ( messageChannel: ThreadWorkerWithMessageChannel, listener: (message: MessageValue) => void @@ -69,14 +69,14 @@ export class FixedThreadPool< messageChannel.port2?.on('message', listener) } - /** @inheritdoc */ + /** @inheritDoc */ protected createWorker (): ThreadWorkerWithMessageChannel { return new Worker(this.filePath, { env: SHARE_ENV }) } - /** @inheritdoc */ + /** @inheritDoc */ protected afterWorkerSetup (worker: ThreadWorkerWithMessageChannel): void { const { port1, port2 } = new MessageChannel() worker.postMessage({ parent: port1 }, [port1]) @@ -86,12 +86,12 @@ export class FixedThreadPool< this.registerWorkerMessageListener(worker, super.workerListener()) } - /** @inheritdoc */ + /** @inheritDoc */ public get type (): PoolType { return PoolType.FIXED } - /** @inheritdoc */ + /** @inheritDoc */ public get busy (): boolean { return this.internalGetBusyStatus() } diff --git a/src/worker/cluster-worker.ts b/src/worker/cluster-worker.ts index 3b5c89ca..4e57e963 100644 --- a/src/worker/cluster-worker.ts +++ b/src/worker/cluster-worker.ts @@ -38,12 +38,12 @@ export class ClusterWorker< ) } - /** @inheritdoc */ + /** @inheritDoc */ protected sendToMainWorker (message: MessageValue): void { this.getMainWorker().send(message) } - /** @inheritdoc */ + /** @inheritDoc */ protected handleError (e: Error | string): string { return e instanceof Error ? e.message : e } diff --git a/src/worker/thread-worker.ts b/src/worker/thread-worker.ts index 1456daef..de1c36bf 100644 --- a/src/worker/thread-worker.ts +++ b/src/worker/thread-worker.ts @@ -32,7 +32,7 @@ export class ThreadWorker< super('worker-thread-pool:poolifier', isMainThread, fn, parentPort, opts) } - /** @inheritdoc */ + /** @inheritDoc */ protected sendToMainWorker (message: MessageValue): void { this.getMainWorker().postMessage(message) } -- 2.34.1