@mavogel/cdk-vscode-server 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +4351 -0
- package/API.md +367 -0
- package/CONTRIBUTING.md +59 -0
- package/LICENSE +202 -0
- package/README.md +183 -0
- package/assets/installer/installer.lambda/index.js +112 -0
- package/assets/secret-retriever/secret-retriever.lambda/index.js +57 -0
- package/docs/img/vscode-server-ui-login-min.png +0 -0
- package/docs/img/vscode-server-ui-min.png +0 -0
- package/docs/img/vscode-server.drawio +108 -0
- package/docs/img/vscode-server.drawio-min.png +0 -0
- package/integ-tests/code-server login.html +48 -0
- package/integ-tests/functions/login-handler.ts +63 -0
- package/integ-tests/integ.al2023.ts +69 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.assets.json +32 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.template.json +337 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.assets.json +110 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.template.json +2459 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce/index.js +6169 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +3 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda/index.js +112 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle/index.js +30572 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a/index.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/index.js +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/cdk.out +1 -0
- package/integ-tests/integ.al2023.ts.snapshot/integ.json +22 -0
- package/integ-tests/integ.al2023.ts.snapshot/manifest.json +510 -0
- package/integ-tests/integ.al2023.ts.snapshot/tree.json +2944 -0
- package/integ-tests/integ.ubuntu.ts +66 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.assets.json +32 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json +337 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.assets.json +110 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.template.json +2477 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce/index.js +6169 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +3 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda/index.js +112 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle/index.js +30572 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a/index.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/index.js +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/cdk.out +1 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/integ.json +22 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/manifest.json +510 -0
- package/integ-tests/integ.ubuntu.ts.snapshot/tree.json +2962 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +18 -0
- package/lib/installer/installer-function.d.ts +13 -0
- package/lib/installer/installer-function.js +23 -0
- package/lib/installer/installer.d.ts +64 -0
- package/lib/installer/installer.js +707 -0
- package/lib/installer/installer.lambda.d.ts +3 -0
- package/lib/installer/installer.lambda.js +94 -0
- package/lib/mappings.d.ts +2 -0
- package/lib/mappings.js +25 -0
- package/lib/prefixlist-retriever/prefixlist-retriever.d.ts +16 -0
- package/lib/prefixlist-retriever/prefixlist-retriever.js +56 -0
- package/lib/secret-retriever/secret-retriever-function.d.ts +13 -0
- package/lib/secret-retriever/secret-retriever-function.js +23 -0
- package/lib/secret-retriever/secret-retriever.d.ts +33 -0
- package/lib/secret-retriever/secret-retriever.js +72 -0
- package/lib/secret-retriever/secret-retriever.lambda.d.ts +2 -0
- package/lib/secret-retriever/secret-retriever.lambda.js +36 -0
- package/lib/vscode-server.d.ts +97 -0
- package/lib/vscode-server.js +417 -0
- package/node_modules/boolbase/README.md +10 -0
- package/node_modules/boolbase/index.js +8 -0
- package/node_modules/boolbase/package.json +23 -0
- package/node_modules/css-select/LICENSE +11 -0
- package/node_modules/css-select/README.md +264 -0
- package/node_modules/css-select/lib/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/attributes.js +236 -0
- package/node_modules/css-select/lib/attributes.js.map +1 -0
- package/node_modules/css-select/lib/compile.d.ts +13 -0
- package/node_modules/css-select/lib/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/compile.js +151 -0
- package/node_modules/css-select/lib/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts +7 -0
- package/node_modules/css-select/lib/esm/attributes.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/attributes.js +222 -0
- package/node_modules/css-select/lib/esm/attributes.js.map +1 -0
- package/node_modules/css-select/lib/esm/compile.d.ts +13 -0
- package/node_modules/css-select/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/compile.js +115 -0
- package/node_modules/css-select/lib/esm/compile.js.map +1 -0
- package/node_modules/css-select/lib/esm/general.d.ts +3 -0
- package/node_modules/css-select/lib/esm/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/general.js +144 -0
- package/node_modules/css-select/lib/esm/general.js.map +1 -0
- package/node_modules/css-select/lib/esm/index.d.ts +50 -0
- package/node_modules/css-select/lib/esm/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/index.js +115 -0
- package/node_modules/css-select/lib/esm/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/package.json +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js +35 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js +143 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js +40 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js +79 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js +94 -0
- package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/esm/sort.d.ts +12 -0
- package/node_modules/css-select/lib/esm/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/sort.js +79 -0
- package/node_modules/css-select/lib/esm/sort.js.map +1 -0
- package/node_modules/css-select/lib/esm/types.d.ts +167 -0
- package/node_modules/css-select/lib/esm/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/esm/types.js +2 -0
- package/node_modules/css-select/lib/esm/types.js.map +1 -0
- package/node_modules/css-select/lib/general.d.ts +3 -0
- package/node_modules/css-select/lib/general.d.ts.map +1 -0
- package/node_modules/css-select/lib/general.js +148 -0
- package/node_modules/css-select/lib/general.js.map +1 -0
- package/node_modules/css-select/lib/index.d.ts +50 -0
- package/node_modules/css-select/lib/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/index.js +154 -0
- package/node_modules/css-select/lib/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts +5 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js +34 -0
- package/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts +4 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js +157 -0
- package/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts +8 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js +46 -0
- package/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts +6 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
- package/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts +9 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts.map +1 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js +112 -0
- package/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
- package/node_modules/css-select/lib/sort.d.ts +12 -0
- package/node_modules/css-select/lib/sort.d.ts.map +1 -0
- package/node_modules/css-select/lib/sort.js +84 -0
- package/node_modules/css-select/lib/sort.js.map +1 -0
- package/node_modules/css-select/lib/types.d.ts +167 -0
- package/node_modules/css-select/lib/types.d.ts.map +1 -0
- package/node_modules/css-select/lib/types.js +3 -0
- package/node_modules/css-select/lib/types.js.map +1 -0
- package/node_modules/css-select/package.json +81 -0
- package/node_modules/css-what/LICENSE +11 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts +4 -0
- package/node_modules/css-what/lib/commonjs/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/index.js +23 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts +20 -0
- package/node_modules/css-what/lib/commonjs/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/parse.js +425 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/commonjs/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/stringify.js +138 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts +70 -0
- package/node_modules/css-what/lib/commonjs/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/commonjs/types.js +42 -0
- package/node_modules/css-what/lib/es/index.d.ts +4 -0
- package/node_modules/css-what/lib/es/index.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/index.js +3 -0
- package/node_modules/css-what/lib/es/parse.d.ts +20 -0
- package/node_modules/css-what/lib/es/parse.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/parse.js +420 -0
- package/node_modules/css-what/lib/es/stringify.d.ts +8 -0
- package/node_modules/css-what/lib/es/stringify.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/stringify.js +126 -0
- package/node_modules/css-what/lib/es/types.d.ts +70 -0
- package/node_modules/css-what/lib/es/types.d.ts.map +1 -0
- package/node_modules/css-what/lib/es/types.js +39 -0
- package/node_modules/css-what/package.json +59 -0
- package/node_modules/css-what/readme.md +69 -0
- package/node_modules/dom-serializer/LICENSE +11 -0
- package/node_modules/dom-serializer/README.md +109 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/esm/index.js +190 -0
- package/node_modules/dom-serializer/lib/esm/package.json +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
- package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/foreignNames.js +103 -0
- package/node_modules/dom-serializer/lib/index.d.ts +52 -0
- package/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/lib/index.js +229 -0
- package/node_modules/dom-serializer/package.json +69 -0
- package/node_modules/domelementtype/LICENSE +11 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/esm/index.js +51 -0
- package/node_modules/domelementtype/lib/esm/package.json +1 -0
- package/node_modules/domelementtype/lib/index.d.ts +48 -0
- package/node_modules/domelementtype/lib/index.d.ts.map +1 -0
- package/node_modules/domelementtype/lib/index.js +55 -0
- package/node_modules/domelementtype/package.json +54 -0
- package/node_modules/domelementtype/readme.md +1 -0
- package/node_modules/domhandler/LICENSE +11 -0
- package/node_modules/domhandler/lib/esm/index.d.ts +76 -0
- package/node_modules/domhandler/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/index.js +146 -0
- package/node_modules/domhandler/lib/esm/node.d.ts +245 -0
- package/node_modules/domhandler/lib/esm/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/esm/node.js +338 -0
- package/node_modules/domhandler/lib/esm/package.json +1 -0
- package/node_modules/domhandler/lib/index.d.ts +76 -0
- package/node_modules/domhandler/lib/index.d.ts.map +1 -0
- package/node_modules/domhandler/lib/index.js +165 -0
- package/node_modules/domhandler/lib/node.d.ts +245 -0
- package/node_modules/domhandler/lib/node.d.ts.map +1 -0
- package/node_modules/domhandler/lib/node.js +474 -0
- package/node_modules/domhandler/package.json +73 -0
- package/node_modules/domhandler/readme.md +92 -0
- package/node_modules/domutils/LICENSE +11 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/esm/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/feeds.js +183 -0
- package/node_modules/domutils/lib/esm/feeds.js.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/esm/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/helpers.js +136 -0
- package/node_modules/domutils/lib/esm/helpers.js.map +1 -0
- package/node_modules/domutils/lib/esm/index.d.ts +10 -0
- package/node_modules/domutils/lib/esm/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/index.js +10 -0
- package/node_modules/domutils/lib/esm/index.js.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/esm/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/legacy.js +152 -0
- package/node_modules/domutils/lib/esm/legacy.js.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/esm/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/manipulation.js +134 -0
- package/node_modules/domutils/lib/esm/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/esm/package.json +1 -0
- package/node_modules/domutils/lib/esm/querying.d.ts +64 -0
- package/node_modules/domutils/lib/esm/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/querying.js +142 -0
- package/node_modules/domutils/lib/esm/querying.js.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/esm/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/stringify.js +81 -0
- package/node_modules/domutils/lib/esm/stringify.js.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/esm/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/esm/traversal.js +112 -0
- package/node_modules/domutils/lib/esm/traversal.js.map +1 -0
- package/node_modules/domutils/lib/feeds.d.ts +71 -0
- package/node_modules/domutils/lib/feeds.d.ts.map +1 -0
- package/node_modules/domutils/lib/feeds.js +190 -0
- package/node_modules/domutils/lib/feeds.js.map +1 -0
- package/node_modules/domutils/lib/helpers.d.ts +59 -0
- package/node_modules/domutils/lib/helpers.d.ts.map +1 -0
- package/node_modules/domutils/lib/helpers.js +142 -0
- package/node_modules/domutils/lib/helpers.js.map +1 -0
- package/node_modules/domutils/lib/index.d.ts +10 -0
- package/node_modules/domutils/lib/index.d.ts.map +1 -0
- package/node_modules/domutils/lib/index.js +33 -0
- package/node_modules/domutils/lib/index.js.map +1 -0
- package/node_modules/domutils/lib/legacy.d.ts +79 -0
- package/node_modules/domutils/lib/legacy.d.ts.map +1 -0
- package/node_modules/domutils/lib/legacy.js +168 -0
- package/node_modules/domutils/lib/legacy.js.map +1 -0
- package/node_modules/domutils/lib/manipulation.d.ts +49 -0
- package/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/lib/manipulation.js +142 -0
- package/node_modules/domutils/lib/manipulation.js.map +1 -0
- package/node_modules/domutils/lib/querying.d.ts +64 -0
- package/node_modules/domutils/lib/querying.d.ts.map +1 -0
- package/node_modules/domutils/lib/querying.js +155 -0
- package/node_modules/domutils/lib/querying.js.map +1 -0
- package/node_modules/domutils/lib/stringify.d.ts +46 -0
- package/node_modules/domutils/lib/stringify.d.ts.map +1 -0
- package/node_modules/domutils/lib/stringify.js +91 -0
- package/node_modules/domutils/lib/stringify.js.map +1 -0
- package/node_modules/domutils/lib/traversal.d.ts +67 -0
- package/node_modules/domutils/lib/traversal.d.ts.map +1 -0
- package/node_modules/domutils/lib/traversal.js +125 -0
- package/node_modules/domutils/lib/traversal.js.map +1 -0
- package/node_modules/domutils/package.json +79 -0
- package/node_modules/domutils/readme.md +31 -0
- package/node_modules/entities/LICENSE +11 -0
- package/node_modules/entities/lib/decode.d.ts +211 -0
- package/node_modules/entities/lib/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/decode.js +536 -0
- package/node_modules/entities/lib/decode.js.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/decode_codepoint.js +76 -0
- package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/encode.d.ts +22 -0
- package/node_modules/entities/lib/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/encode.js +77 -0
- package/node_modules/entities/lib/encode.js.map +1 -0
- package/node_modules/entities/lib/escape.d.ts +43 -0
- package/node_modules/entities/lib/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/escape.js +122 -0
- package/node_modules/entities/lib/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/decode.d.ts +211 -0
- package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode.js +496 -0
- package/node_modules/entities/lib/esm/decode.js.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
- package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
- package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
- package/node_modules/entities/lib/esm/encode.d.ts +22 -0
- package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/encode.js +69 -0
- package/node_modules/entities/lib/esm/encode.js.map +1 -0
- package/node_modules/entities/lib/esm/escape.d.ts +43 -0
- package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/escape.js +116 -0
- package/node_modules/entities/lib/esm/escape.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
- package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
- package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/esm/index.d.ts +96 -0
- package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
- package/node_modules/entities/lib/esm/index.js +99 -0
- package/node_modules/entities/lib/esm/index.js.map +1 -0
- package/node_modules/entities/lib/esm/package.json +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
- package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
- package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
- package/node_modules/entities/lib/generated/encode-html.js +12 -0
- package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
- package/node_modules/entities/lib/index.d.ts +96 -0
- package/node_modules/entities/lib/index.d.ts.map +1 -0
- package/node_modules/entities/lib/index.js +126 -0
- package/node_modules/entities/lib/index.js.map +1 -0
- package/node_modules/entities/package.json +90 -0
- package/node_modules/entities/readme.md +122 -0
- package/node_modules/he/LICENSE-MIT.txt +20 -0
- package/node_modules/he/README.md +379 -0
- package/node_modules/he/bin/he +148 -0
- package/node_modules/he/he.js +345 -0
- package/node_modules/he/man/he.1 +78 -0
- package/node_modules/he/package.json +58 -0
- package/node_modules/node-html-parser/CHANGELOG.md +137 -0
- package/node_modules/node-html-parser/LICENSE +7 -0
- package/node_modules/node-html-parser/README.md +365 -0
- package/node_modules/node-html-parser/dist/back.d.ts +1 -0
- package/node_modules/node-html-parser/dist/back.js +6 -0
- package/node_modules/node-html-parser/dist/index.d.ts +20 -0
- package/node_modules/node-html-parser/dist/index.js +32 -0
- package/node_modules/node-html-parser/dist/main.js +1646 -0
- package/node_modules/node-html-parser/dist/matcher.d.ts +6 -0
- package/node_modules/node-html-parser/dist/matcher.js +106 -0
- package/node_modules/node-html-parser/dist/nodes/comment.d.ts +20 -0
- package/node_modules/node-html-parser/dist/nodes/comment.js +57 -0
- package/node_modules/node-html-parser/dist/nodes/html.d.ts +240 -0
- package/node_modules/node-html-parser/dist/nodes/html.js +1218 -0
- package/node_modules/node-html-parser/dist/nodes/node.d.ts +24 -0
- package/node_modules/node-html-parser/dist/nodes/node.js +52 -0
- package/node_modules/node-html-parser/dist/nodes/text.d.ts +44 -0
- package/node_modules/node-html-parser/dist/nodes/text.js +144 -0
- package/node_modules/node-html-parser/dist/nodes/type.d.ts +6 -0
- package/node_modules/node-html-parser/dist/nodes/type.js +9 -0
- package/node_modules/node-html-parser/dist/parse.d.ts +1 -0
- package/node_modules/node-html-parser/dist/parse.js +5 -0
- package/node_modules/node-html-parser/dist/valid.d.ts +6 -0
- package/node_modules/node-html-parser/dist/valid.js +13 -0
- package/node_modules/node-html-parser/dist/void-tag.d.ts +7 -0
- package/node_modules/node-html-parser/dist/void-tag.js +29 -0
- package/node_modules/node-html-parser/package.json +114 -0
- package/node_modules/nth-check/LICENSE +11 -0
- package/node_modules/nth-check/README.md +136 -0
- package/node_modules/nth-check/lib/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/compile.js +121 -0
- package/node_modules/nth-check/lib/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts +55 -0
- package/node_modules/nth-check/lib/esm/compile.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/compile.js +113 -0
- package/node_modules/nth-check/lib/esm/compile.js.map +1 -0
- package/node_modules/nth-check/lib/esm/index.d.ts +59 -0
- package/node_modules/nth-check/lib/esm/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/index.js +63 -0
- package/node_modules/nth-check/lib/esm/index.js.map +1 -0
- package/node_modules/nth-check/lib/esm/package.json +1 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/esm/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/esm/parse.js +73 -0
- package/node_modules/nth-check/lib/esm/parse.js.map +1 -0
- package/node_modules/nth-check/lib/index.d.ts +59 -0
- package/node_modules/nth-check/lib/index.d.ts.map +1 -0
- package/node_modules/nth-check/lib/index.js +70 -0
- package/node_modules/nth-check/lib/index.js.map +1 -0
- package/node_modules/nth-check/lib/parse.d.ts +9 -0
- package/node_modules/nth-check/lib/parse.d.ts.map +1 -0
- package/node_modules/nth-check/lib/parse.js +77 -0
- package/node_modules/nth-check/lib/parse.js.map +1 -0
- package/node_modules/nth-check/package.json +78 -0
- package/package.json +154 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { ElementType } from "domelementtype";
|
|
2
|
+
interface SourceCodeLocation {
|
|
3
|
+
/** One-based line index of the first character. */
|
|
4
|
+
startLine: number;
|
|
5
|
+
/** One-based column index of the first character. */
|
|
6
|
+
startCol: number;
|
|
7
|
+
/** Zero-based first character index. */
|
|
8
|
+
startOffset: number;
|
|
9
|
+
/** One-based line index of the last character. */
|
|
10
|
+
endLine: number;
|
|
11
|
+
/** One-based column index of the last character. Points directly *after* the last character. */
|
|
12
|
+
endCol: number;
|
|
13
|
+
/** Zero-based last character index. Points directly *after* the last character. */
|
|
14
|
+
endOffset: number;
|
|
15
|
+
}
|
|
16
|
+
interface TagSourceCodeLocation extends SourceCodeLocation {
|
|
17
|
+
startTag?: SourceCodeLocation;
|
|
18
|
+
endTag?: SourceCodeLocation;
|
|
19
|
+
}
|
|
20
|
+
export declare type ParentNode = Document | Element | CDATA;
|
|
21
|
+
export declare type ChildNode = Text | Comment | ProcessingInstruction | Element | CDATA | Document;
|
|
22
|
+
export declare type AnyNode = ParentNode | ChildNode;
|
|
23
|
+
/**
|
|
24
|
+
* This object will be used as the prototype for Nodes when creating a
|
|
25
|
+
* DOM-Level-1-compliant structure.
|
|
26
|
+
*/
|
|
27
|
+
export declare abstract class Node {
|
|
28
|
+
/** The type of the node. */
|
|
29
|
+
abstract readonly type: ElementType;
|
|
30
|
+
/** Parent of the node */
|
|
31
|
+
parent: ParentNode | null;
|
|
32
|
+
/** Previous sibling */
|
|
33
|
+
prev: ChildNode | null;
|
|
34
|
+
/** Next sibling */
|
|
35
|
+
next: ChildNode | null;
|
|
36
|
+
/** The start index of the node. Requires `withStartIndices` on the handler to be `true. */
|
|
37
|
+
startIndex: number | null;
|
|
38
|
+
/** The end index of the node. Requires `withEndIndices` on the handler to be `true. */
|
|
39
|
+
endIndex: number | null;
|
|
40
|
+
/**
|
|
41
|
+
* `parse5` source code location info.
|
|
42
|
+
*
|
|
43
|
+
* Available if parsing with parse5 and location info is enabled.
|
|
44
|
+
*/
|
|
45
|
+
sourceCodeLocation?: SourceCodeLocation | null;
|
|
46
|
+
/**
|
|
47
|
+
* [DOM spec](https://dom.spec.whatwg.org/#dom-node-nodetype)-compatible
|
|
48
|
+
* node {@link type}.
|
|
49
|
+
*/
|
|
50
|
+
abstract readonly nodeType: number;
|
|
51
|
+
/**
|
|
52
|
+
* Same as {@link parent}.
|
|
53
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
54
|
+
*/
|
|
55
|
+
get parentNode(): ParentNode | null;
|
|
56
|
+
set parentNode(parent: ParentNode | null);
|
|
57
|
+
/**
|
|
58
|
+
* Same as {@link prev}.
|
|
59
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
60
|
+
*/
|
|
61
|
+
get previousSibling(): ChildNode | null;
|
|
62
|
+
set previousSibling(prev: ChildNode | null);
|
|
63
|
+
/**
|
|
64
|
+
* Same as {@link next}.
|
|
65
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
66
|
+
*/
|
|
67
|
+
get nextSibling(): ChildNode | null;
|
|
68
|
+
set nextSibling(next: ChildNode | null);
|
|
69
|
+
/**
|
|
70
|
+
* Clone this node, and optionally its children.
|
|
71
|
+
*
|
|
72
|
+
* @param recursive Clone child nodes as well.
|
|
73
|
+
* @returns A clone of the node.
|
|
74
|
+
*/
|
|
75
|
+
cloneNode<T extends Node>(this: T, recursive?: boolean): T;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A node that contains some data.
|
|
79
|
+
*/
|
|
80
|
+
export declare abstract class DataNode extends Node {
|
|
81
|
+
data: string;
|
|
82
|
+
/**
|
|
83
|
+
* @param data The content of the data node
|
|
84
|
+
*/
|
|
85
|
+
constructor(data: string);
|
|
86
|
+
/**
|
|
87
|
+
* Same as {@link data}.
|
|
88
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
89
|
+
*/
|
|
90
|
+
get nodeValue(): string;
|
|
91
|
+
set nodeValue(data: string);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Text within the document.
|
|
95
|
+
*/
|
|
96
|
+
export declare class Text extends DataNode {
|
|
97
|
+
type: ElementType.Text;
|
|
98
|
+
get nodeType(): 3;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Comments within the document.
|
|
102
|
+
*/
|
|
103
|
+
export declare class Comment extends DataNode {
|
|
104
|
+
type: ElementType.Comment;
|
|
105
|
+
get nodeType(): 8;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Processing instructions, including doc types.
|
|
109
|
+
*/
|
|
110
|
+
export declare class ProcessingInstruction extends DataNode {
|
|
111
|
+
name: string;
|
|
112
|
+
type: ElementType.Directive;
|
|
113
|
+
constructor(name: string, data: string);
|
|
114
|
+
get nodeType(): 1;
|
|
115
|
+
/** If this is a doctype, the document type name (parse5 only). */
|
|
116
|
+
"x-name"?: string;
|
|
117
|
+
/** If this is a doctype, the document type public identifier (parse5 only). */
|
|
118
|
+
"x-publicId"?: string;
|
|
119
|
+
/** If this is a doctype, the document type system identifier (parse5 only). */
|
|
120
|
+
"x-systemId"?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* A `Node` that can have children.
|
|
124
|
+
*/
|
|
125
|
+
export declare abstract class NodeWithChildren extends Node {
|
|
126
|
+
children: ChildNode[];
|
|
127
|
+
/**
|
|
128
|
+
* @param children Children of the node. Only certain node types can have children.
|
|
129
|
+
*/
|
|
130
|
+
constructor(children: ChildNode[]);
|
|
131
|
+
/** First child of the node. */
|
|
132
|
+
get firstChild(): ChildNode | null;
|
|
133
|
+
/** Last child of the node. */
|
|
134
|
+
get lastChild(): ChildNode | null;
|
|
135
|
+
/**
|
|
136
|
+
* Same as {@link children}.
|
|
137
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
138
|
+
*/
|
|
139
|
+
get childNodes(): ChildNode[];
|
|
140
|
+
set childNodes(children: ChildNode[]);
|
|
141
|
+
}
|
|
142
|
+
export declare class CDATA extends NodeWithChildren {
|
|
143
|
+
type: ElementType.CDATA;
|
|
144
|
+
get nodeType(): 4;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* The root node of the document.
|
|
148
|
+
*/
|
|
149
|
+
export declare class Document extends NodeWithChildren {
|
|
150
|
+
type: ElementType.Root;
|
|
151
|
+
get nodeType(): 9;
|
|
152
|
+
/** [Document mode](https://dom.spec.whatwg.org/#concept-document-limited-quirks) (parse5 only). */
|
|
153
|
+
"x-mode"?: "no-quirks" | "quirks" | "limited-quirks";
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The description of an individual attribute.
|
|
157
|
+
*/
|
|
158
|
+
interface Attribute {
|
|
159
|
+
name: string;
|
|
160
|
+
value: string;
|
|
161
|
+
namespace?: string;
|
|
162
|
+
prefix?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* An element within the DOM.
|
|
166
|
+
*/
|
|
167
|
+
export declare class Element extends NodeWithChildren {
|
|
168
|
+
name: string;
|
|
169
|
+
attribs: {
|
|
170
|
+
[name: string]: string;
|
|
171
|
+
};
|
|
172
|
+
type: ElementType.Tag | ElementType.Script | ElementType.Style;
|
|
173
|
+
/**
|
|
174
|
+
* @param name Name of the tag, eg. `div`, `span`.
|
|
175
|
+
* @param attribs Object mapping attribute names to attribute values.
|
|
176
|
+
* @param children Children of the node.
|
|
177
|
+
*/
|
|
178
|
+
constructor(name: string, attribs: {
|
|
179
|
+
[name: string]: string;
|
|
180
|
+
}, children?: ChildNode[], type?: ElementType.Tag | ElementType.Script | ElementType.Style);
|
|
181
|
+
get nodeType(): 1;
|
|
182
|
+
/**
|
|
183
|
+
* `parse5` source code location info, with start & end tags.
|
|
184
|
+
*
|
|
185
|
+
* Available if parsing with parse5 and location info is enabled.
|
|
186
|
+
*/
|
|
187
|
+
sourceCodeLocation?: TagSourceCodeLocation | null;
|
|
188
|
+
/**
|
|
189
|
+
* Same as {@link name}.
|
|
190
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
191
|
+
*/
|
|
192
|
+
get tagName(): string;
|
|
193
|
+
set tagName(name: string);
|
|
194
|
+
get attributes(): Attribute[];
|
|
195
|
+
/** Element namespace (parse5 only). */
|
|
196
|
+
namespace?: string;
|
|
197
|
+
/** Element attribute namespaces (parse5 only). */
|
|
198
|
+
"x-attribsNamespace"?: Record<string, string>;
|
|
199
|
+
/** Element attribute namespace-related prefixes (parse5 only). */
|
|
200
|
+
"x-attribsPrefix"?: Record<string, string>;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* @param node Node to check.
|
|
204
|
+
* @returns `true` if the node is a `Element`, `false` otherwise.
|
|
205
|
+
*/
|
|
206
|
+
export declare function isTag(node: Node): node is Element;
|
|
207
|
+
/**
|
|
208
|
+
* @param node Node to check.
|
|
209
|
+
* @returns `true` if the node has the type `CDATA`, `false` otherwise.
|
|
210
|
+
*/
|
|
211
|
+
export declare function isCDATA(node: Node): node is CDATA;
|
|
212
|
+
/**
|
|
213
|
+
* @param node Node to check.
|
|
214
|
+
* @returns `true` if the node has the type `Text`, `false` otherwise.
|
|
215
|
+
*/
|
|
216
|
+
export declare function isText(node: Node): node is Text;
|
|
217
|
+
/**
|
|
218
|
+
* @param node Node to check.
|
|
219
|
+
* @returns `true` if the node has the type `Comment`, `false` otherwise.
|
|
220
|
+
*/
|
|
221
|
+
export declare function isComment(node: Node): node is Comment;
|
|
222
|
+
/**
|
|
223
|
+
* @param node Node to check.
|
|
224
|
+
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
|
|
225
|
+
*/
|
|
226
|
+
export declare function isDirective(node: Node): node is ProcessingInstruction;
|
|
227
|
+
/**
|
|
228
|
+
* @param node Node to check.
|
|
229
|
+
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
|
|
230
|
+
*/
|
|
231
|
+
export declare function isDocument(node: Node): node is Document;
|
|
232
|
+
/**
|
|
233
|
+
* @param node Node to check.
|
|
234
|
+
* @returns `true` if the node has children, `false` otherwise.
|
|
235
|
+
*/
|
|
236
|
+
export declare function hasChildren(node: Node): node is ParentNode;
|
|
237
|
+
/**
|
|
238
|
+
* Clone a node, and optionally its children.
|
|
239
|
+
*
|
|
240
|
+
* @param recursive Clone child nodes as well.
|
|
241
|
+
* @returns A clone of the node.
|
|
242
|
+
*/
|
|
243
|
+
export declare function cloneNode<T extends Node>(node: T, recursive?: boolean): T;
|
|
244
|
+
export {};
|
|
245
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import { ElementType, isTag as isTagRaw } from "domelementtype";
|
|
2
|
+
/**
|
|
3
|
+
* This object will be used as the prototype for Nodes when creating a
|
|
4
|
+
* DOM-Level-1-compliant structure.
|
|
5
|
+
*/
|
|
6
|
+
export class Node {
|
|
7
|
+
constructor() {
|
|
8
|
+
/** Parent of the node */
|
|
9
|
+
this.parent = null;
|
|
10
|
+
/** Previous sibling */
|
|
11
|
+
this.prev = null;
|
|
12
|
+
/** Next sibling */
|
|
13
|
+
this.next = null;
|
|
14
|
+
/** The start index of the node. Requires `withStartIndices` on the handler to be `true. */
|
|
15
|
+
this.startIndex = null;
|
|
16
|
+
/** The end index of the node. Requires `withEndIndices` on the handler to be `true. */
|
|
17
|
+
this.endIndex = null;
|
|
18
|
+
}
|
|
19
|
+
// Read-write aliases for properties
|
|
20
|
+
/**
|
|
21
|
+
* Same as {@link parent}.
|
|
22
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
23
|
+
*/
|
|
24
|
+
get parentNode() {
|
|
25
|
+
return this.parent;
|
|
26
|
+
}
|
|
27
|
+
set parentNode(parent) {
|
|
28
|
+
this.parent = parent;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Same as {@link prev}.
|
|
32
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
33
|
+
*/
|
|
34
|
+
get previousSibling() {
|
|
35
|
+
return this.prev;
|
|
36
|
+
}
|
|
37
|
+
set previousSibling(prev) {
|
|
38
|
+
this.prev = prev;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Same as {@link next}.
|
|
42
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
43
|
+
*/
|
|
44
|
+
get nextSibling() {
|
|
45
|
+
return this.next;
|
|
46
|
+
}
|
|
47
|
+
set nextSibling(next) {
|
|
48
|
+
this.next = next;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Clone this node, and optionally its children.
|
|
52
|
+
*
|
|
53
|
+
* @param recursive Clone child nodes as well.
|
|
54
|
+
* @returns A clone of the node.
|
|
55
|
+
*/
|
|
56
|
+
cloneNode(recursive = false) {
|
|
57
|
+
return cloneNode(this, recursive);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A node that contains some data.
|
|
62
|
+
*/
|
|
63
|
+
export class DataNode extends Node {
|
|
64
|
+
/**
|
|
65
|
+
* @param data The content of the data node
|
|
66
|
+
*/
|
|
67
|
+
constructor(data) {
|
|
68
|
+
super();
|
|
69
|
+
this.data = data;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Same as {@link data}.
|
|
73
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
74
|
+
*/
|
|
75
|
+
get nodeValue() {
|
|
76
|
+
return this.data;
|
|
77
|
+
}
|
|
78
|
+
set nodeValue(data) {
|
|
79
|
+
this.data = data;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Text within the document.
|
|
84
|
+
*/
|
|
85
|
+
export class Text extends DataNode {
|
|
86
|
+
constructor() {
|
|
87
|
+
super(...arguments);
|
|
88
|
+
this.type = ElementType.Text;
|
|
89
|
+
}
|
|
90
|
+
get nodeType() {
|
|
91
|
+
return 3;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Comments within the document.
|
|
96
|
+
*/
|
|
97
|
+
export class Comment extends DataNode {
|
|
98
|
+
constructor() {
|
|
99
|
+
super(...arguments);
|
|
100
|
+
this.type = ElementType.Comment;
|
|
101
|
+
}
|
|
102
|
+
get nodeType() {
|
|
103
|
+
return 8;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Processing instructions, including doc types.
|
|
108
|
+
*/
|
|
109
|
+
export class ProcessingInstruction extends DataNode {
|
|
110
|
+
constructor(name, data) {
|
|
111
|
+
super(data);
|
|
112
|
+
this.name = name;
|
|
113
|
+
this.type = ElementType.Directive;
|
|
114
|
+
}
|
|
115
|
+
get nodeType() {
|
|
116
|
+
return 1;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* A `Node` that can have children.
|
|
121
|
+
*/
|
|
122
|
+
export class NodeWithChildren extends Node {
|
|
123
|
+
/**
|
|
124
|
+
* @param children Children of the node. Only certain node types can have children.
|
|
125
|
+
*/
|
|
126
|
+
constructor(children) {
|
|
127
|
+
super();
|
|
128
|
+
this.children = children;
|
|
129
|
+
}
|
|
130
|
+
// Aliases
|
|
131
|
+
/** First child of the node. */
|
|
132
|
+
get firstChild() {
|
|
133
|
+
var _a;
|
|
134
|
+
return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;
|
|
135
|
+
}
|
|
136
|
+
/** Last child of the node. */
|
|
137
|
+
get lastChild() {
|
|
138
|
+
return this.children.length > 0
|
|
139
|
+
? this.children[this.children.length - 1]
|
|
140
|
+
: null;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Same as {@link children}.
|
|
144
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
145
|
+
*/
|
|
146
|
+
get childNodes() {
|
|
147
|
+
return this.children;
|
|
148
|
+
}
|
|
149
|
+
set childNodes(children) {
|
|
150
|
+
this.children = children;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export class CDATA extends NodeWithChildren {
|
|
154
|
+
constructor() {
|
|
155
|
+
super(...arguments);
|
|
156
|
+
this.type = ElementType.CDATA;
|
|
157
|
+
}
|
|
158
|
+
get nodeType() {
|
|
159
|
+
return 4;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* The root node of the document.
|
|
164
|
+
*/
|
|
165
|
+
export class Document extends NodeWithChildren {
|
|
166
|
+
constructor() {
|
|
167
|
+
super(...arguments);
|
|
168
|
+
this.type = ElementType.Root;
|
|
169
|
+
}
|
|
170
|
+
get nodeType() {
|
|
171
|
+
return 9;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* An element within the DOM.
|
|
176
|
+
*/
|
|
177
|
+
export class Element extends NodeWithChildren {
|
|
178
|
+
/**
|
|
179
|
+
* @param name Name of the tag, eg. `div`, `span`.
|
|
180
|
+
* @param attribs Object mapping attribute names to attribute values.
|
|
181
|
+
* @param children Children of the node.
|
|
182
|
+
*/
|
|
183
|
+
constructor(name, attribs, children = [], type = name === "script"
|
|
184
|
+
? ElementType.Script
|
|
185
|
+
: name === "style"
|
|
186
|
+
? ElementType.Style
|
|
187
|
+
: ElementType.Tag) {
|
|
188
|
+
super(children);
|
|
189
|
+
this.name = name;
|
|
190
|
+
this.attribs = attribs;
|
|
191
|
+
this.type = type;
|
|
192
|
+
}
|
|
193
|
+
get nodeType() {
|
|
194
|
+
return 1;
|
|
195
|
+
}
|
|
196
|
+
// DOM Level 1 aliases
|
|
197
|
+
/**
|
|
198
|
+
* Same as {@link name}.
|
|
199
|
+
* [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
|
|
200
|
+
*/
|
|
201
|
+
get tagName() {
|
|
202
|
+
return this.name;
|
|
203
|
+
}
|
|
204
|
+
set tagName(name) {
|
|
205
|
+
this.name = name;
|
|
206
|
+
}
|
|
207
|
+
get attributes() {
|
|
208
|
+
return Object.keys(this.attribs).map((name) => {
|
|
209
|
+
var _a, _b;
|
|
210
|
+
return ({
|
|
211
|
+
name,
|
|
212
|
+
value: this.attribs[name],
|
|
213
|
+
namespace: (_a = this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name],
|
|
214
|
+
prefix: (_b = this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name],
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* @param node Node to check.
|
|
221
|
+
* @returns `true` if the node is a `Element`, `false` otherwise.
|
|
222
|
+
*/
|
|
223
|
+
export function isTag(node) {
|
|
224
|
+
return isTagRaw(node);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* @param node Node to check.
|
|
228
|
+
* @returns `true` if the node has the type `CDATA`, `false` otherwise.
|
|
229
|
+
*/
|
|
230
|
+
export function isCDATA(node) {
|
|
231
|
+
return node.type === ElementType.CDATA;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* @param node Node to check.
|
|
235
|
+
* @returns `true` if the node has the type `Text`, `false` otherwise.
|
|
236
|
+
*/
|
|
237
|
+
export function isText(node) {
|
|
238
|
+
return node.type === ElementType.Text;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* @param node Node to check.
|
|
242
|
+
* @returns `true` if the node has the type `Comment`, `false` otherwise.
|
|
243
|
+
*/
|
|
244
|
+
export function isComment(node) {
|
|
245
|
+
return node.type === ElementType.Comment;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* @param node Node to check.
|
|
249
|
+
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
|
|
250
|
+
*/
|
|
251
|
+
export function isDirective(node) {
|
|
252
|
+
return node.type === ElementType.Directive;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* @param node Node to check.
|
|
256
|
+
* @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.
|
|
257
|
+
*/
|
|
258
|
+
export function isDocument(node) {
|
|
259
|
+
return node.type === ElementType.Root;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* @param node Node to check.
|
|
263
|
+
* @returns `true` if the node has children, `false` otherwise.
|
|
264
|
+
*/
|
|
265
|
+
export function hasChildren(node) {
|
|
266
|
+
return Object.prototype.hasOwnProperty.call(node, "children");
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Clone a node, and optionally its children.
|
|
270
|
+
*
|
|
271
|
+
* @param recursive Clone child nodes as well.
|
|
272
|
+
* @returns A clone of the node.
|
|
273
|
+
*/
|
|
274
|
+
export function cloneNode(node, recursive = false) {
|
|
275
|
+
let result;
|
|
276
|
+
if (isText(node)) {
|
|
277
|
+
result = new Text(node.data);
|
|
278
|
+
}
|
|
279
|
+
else if (isComment(node)) {
|
|
280
|
+
result = new Comment(node.data);
|
|
281
|
+
}
|
|
282
|
+
else if (isTag(node)) {
|
|
283
|
+
const children = recursive ? cloneChildren(node.children) : [];
|
|
284
|
+
const clone = new Element(node.name, { ...node.attribs }, children);
|
|
285
|
+
children.forEach((child) => (child.parent = clone));
|
|
286
|
+
if (node.namespace != null) {
|
|
287
|
+
clone.namespace = node.namespace;
|
|
288
|
+
}
|
|
289
|
+
if (node["x-attribsNamespace"]) {
|
|
290
|
+
clone["x-attribsNamespace"] = { ...node["x-attribsNamespace"] };
|
|
291
|
+
}
|
|
292
|
+
if (node["x-attribsPrefix"]) {
|
|
293
|
+
clone["x-attribsPrefix"] = { ...node["x-attribsPrefix"] };
|
|
294
|
+
}
|
|
295
|
+
result = clone;
|
|
296
|
+
}
|
|
297
|
+
else if (isCDATA(node)) {
|
|
298
|
+
const children = recursive ? cloneChildren(node.children) : [];
|
|
299
|
+
const clone = new CDATA(children);
|
|
300
|
+
children.forEach((child) => (child.parent = clone));
|
|
301
|
+
result = clone;
|
|
302
|
+
}
|
|
303
|
+
else if (isDocument(node)) {
|
|
304
|
+
const children = recursive ? cloneChildren(node.children) : [];
|
|
305
|
+
const clone = new Document(children);
|
|
306
|
+
children.forEach((child) => (child.parent = clone));
|
|
307
|
+
if (node["x-mode"]) {
|
|
308
|
+
clone["x-mode"] = node["x-mode"];
|
|
309
|
+
}
|
|
310
|
+
result = clone;
|
|
311
|
+
}
|
|
312
|
+
else if (isDirective(node)) {
|
|
313
|
+
const instruction = new ProcessingInstruction(node.name, node.data);
|
|
314
|
+
if (node["x-name"] != null) {
|
|
315
|
+
instruction["x-name"] = node["x-name"];
|
|
316
|
+
instruction["x-publicId"] = node["x-publicId"];
|
|
317
|
+
instruction["x-systemId"] = node["x-systemId"];
|
|
318
|
+
}
|
|
319
|
+
result = instruction;
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
throw new Error(`Not implemented yet: ${node.type}`);
|
|
323
|
+
}
|
|
324
|
+
result.startIndex = node.startIndex;
|
|
325
|
+
result.endIndex = node.endIndex;
|
|
326
|
+
if (node.sourceCodeLocation != null) {
|
|
327
|
+
result.sourceCodeLocation = node.sourceCodeLocation;
|
|
328
|
+
}
|
|
329
|
+
return result;
|
|
330
|
+
}
|
|
331
|
+
function cloneChildren(childs) {
|
|
332
|
+
const children = childs.map((child) => cloneNode(child, true));
|
|
333
|
+
for (let i = 1; i < children.length; i++) {
|
|
334
|
+
children[i].prev = children[i - 1];
|
|
335
|
+
children[i - 1].next = children[i];
|
|
336
|
+
}
|
|
337
|
+
return children;
|
|
338
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ChildNode, Element, DataNode, Document, ParentNode } from "./node.js";
|
|
2
|
+
export * from "./node.js";
|
|
3
|
+
export interface DomHandlerOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Add a `startIndex` property to nodes.
|
|
6
|
+
* When the parser is used in a non-streaming fashion, `startIndex` is an integer
|
|
7
|
+
* indicating the position of the start of the node in the document.
|
|
8
|
+
*
|
|
9
|
+
* @default false
|
|
10
|
+
*/
|
|
11
|
+
withStartIndices?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Add an `endIndex` property to nodes.
|
|
14
|
+
* When the parser is used in a non-streaming fashion, `endIndex` is an integer
|
|
15
|
+
* indicating the position of the end of the node in the document.
|
|
16
|
+
*
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
19
|
+
withEndIndices?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Treat the markup as XML.
|
|
22
|
+
*
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
xmlMode?: boolean;
|
|
26
|
+
}
|
|
27
|
+
interface ParserInterface {
|
|
28
|
+
startIndex: number | null;
|
|
29
|
+
endIndex: number | null;
|
|
30
|
+
}
|
|
31
|
+
declare type Callback = (error: Error | null, dom: ChildNode[]) => void;
|
|
32
|
+
declare type ElementCallback = (element: Element) => void;
|
|
33
|
+
export declare class DomHandler {
|
|
34
|
+
/** The elements of the DOM */
|
|
35
|
+
dom: ChildNode[];
|
|
36
|
+
/** The root element for the DOM */
|
|
37
|
+
root: Document;
|
|
38
|
+
/** Called once parsing has completed. */
|
|
39
|
+
private readonly callback;
|
|
40
|
+
/** Settings for the handler. */
|
|
41
|
+
private readonly options;
|
|
42
|
+
/** Callback whenever a tag is closed. */
|
|
43
|
+
private readonly elementCB;
|
|
44
|
+
/** Indicated whether parsing has been completed. */
|
|
45
|
+
private done;
|
|
46
|
+
/** Stack of open tags. */
|
|
47
|
+
protected tagStack: ParentNode[];
|
|
48
|
+
/** A data node that is still being written to. */
|
|
49
|
+
protected lastNode: DataNode | null;
|
|
50
|
+
/** Reference to the parser instance. Used for location information. */
|
|
51
|
+
private parser;
|
|
52
|
+
/**
|
|
53
|
+
* @param callback Called once parsing has completed.
|
|
54
|
+
* @param options Settings for the handler.
|
|
55
|
+
* @param elementCB Callback whenever a tag is closed.
|
|
56
|
+
*/
|
|
57
|
+
constructor(callback?: Callback | null, options?: DomHandlerOptions | null, elementCB?: ElementCallback);
|
|
58
|
+
onparserinit(parser: ParserInterface): void;
|
|
59
|
+
onreset(): void;
|
|
60
|
+
onend(): void;
|
|
61
|
+
onerror(error: Error): void;
|
|
62
|
+
onclosetag(): void;
|
|
63
|
+
onopentag(name: string, attribs: {
|
|
64
|
+
[key: string]: string;
|
|
65
|
+
}): void;
|
|
66
|
+
ontext(data: string): void;
|
|
67
|
+
oncomment(data: string): void;
|
|
68
|
+
oncommentend(): void;
|
|
69
|
+
oncdatastart(): void;
|
|
70
|
+
oncdataend(): void;
|
|
71
|
+
onprocessinginstruction(name: string, data: string): void;
|
|
72
|
+
protected handleCallback(error: Error | null): void;
|
|
73
|
+
protected addNode(node: ChildNode): void;
|
|
74
|
+
}
|
|
75
|
+
export default DomHandler;
|
|
76
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EACT,OAAO,EACP,QAAQ,EAIR,QAAQ,EAER,UAAU,EACb,MAAM,WAAW,CAAC;AAEnB,cAAc,WAAW,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAC9B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AASD,UAAU,eAAe;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,aAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;AAChE,aAAK,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAElD,qBAAa,UAAU;IACnB,8BAA8B;IACvB,GAAG,EAAE,SAAS,EAAE,CAAM;IAE7B,mCAAmC;IAC5B,IAAI,WAA0B;IAErC,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAE3C,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IAEnD,oDAAoD;IACpD,OAAO,CAAC,IAAI,CAAS;IAErB,0BAA0B;IAC1B,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAe;IAE/C,kDAAkD;IAClD,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAE3C,uEAAuE;IACvE,OAAO,CAAC,MAAM,CAAgC;IAE9C;;;;OAIG;gBAEC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,EAClC,SAAS,CAAC,EAAE,eAAe;IAiBxB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAK3C,OAAO,IAAI,IAAI;IAUf,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI3B,UAAU,IAAI,IAAI;IAYlB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI;IAOjE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAe1B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAW7B,YAAY,IAAI,IAAI;IAIpB,YAAY,IAAI,IAAI;IAUpB,UAAU,IAAI,IAAI;IAIlB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKhE,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAQnD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAwB3C;AAED,eAAe,UAAU,CAAC"}
|