From 06a3839a7a09c2a845dff09b0d8de870accd50b7 Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Tue, 2 Mar 2021 14:43:03 -0500 Subject: [PATCH 01/15] Added `bikeshed-to-ts` package --- package.json | 5 +- yarn.lock | 805 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 809 insertions(+), 1 deletion(-) create mode 100644 yarn.lock diff --git a/package.json b/package.json index ec14a79f..2b78de66 100644 --- a/package.json +++ b/package.json @@ -9,5 +9,8 @@ "license": "Apache-2.0", "files": [ "dist/**/*" - ] + ], + "devDependencies": { + "bikeshed-to-ts": "^1.0.6" + } } diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..948221cc --- /dev/null +++ b/yarn.lock @@ -0,0 +1,805 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@dekkai/data-source@^0.2.1": + version "0.2.1" + resolved "https://registry.npmjs.org/@dekkai/data-source/-/data-source-0.2.1.tgz#4b770690c78000be775596e100fe139becd9c104" + integrity sha512-UYVUXl2X2f957CMtQDAcEk8xdqa4Ut566lJlYUwM/UIuvhvprmw+kljE6KnlM4t9DcdlCgrG1WssDHrtaukyZA== + dependencies: + "@dekkai/env" "^1.0.1" + "@dekkai/event-emitter" "^1.1.0" + +"@dekkai/env@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@dekkai/env/-/env-1.0.1.tgz#b91ce8e3cbcab71420301688df983e156a687692" + integrity sha512-dE9y9DVIVZYJ2xq7FWNK4zo61ZZLR/LPR4FTtEp4VgbaNBLMtm5VkD5ZECwtY/0ey7XvWrEocvxHtiiaglYv+w== + +"@dekkai/event-emitter@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@dekkai/event-emitter/-/event-emitter-1.1.0.tgz#82bf46f9b8cc1443320567f57f377dc2cc8f007f" + integrity sha512-wQkAuh4p96ZZvCuOA1XRi8FiYE2Nbsozzv8y8mRq2JwN7fSJS0DtMCsLvfcpEF4wdFo2Hum0u3vpxoAv0rY5Eg== + +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +ajv@^6.12.3: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bikeshed-to-ts@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/bikeshed-to-ts/-/bikeshed-to-ts-1.0.6.tgz#37e29a6907d7dce1ed52a82ff26272ac4c094467" + integrity sha512-KwLaMP8xlQ9cFb8I19odp+MkDP/E1mXe7B5M1Z6iqMmIqvV6Sc+zIo4DVB7M1hcVI9KXqobZCrA1hoHdmhBq8Q== + dependencies: + "@dekkai/data-source" "^0.2.1" + typescript "^4.2.2" + webidl2 "^23.13.1" + webidl2ts "git+https://github.com/darionco/webidl2ts.git" + yargs "^16.2.0" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +decimal.js@^10.2.0: + version "10.2.1" + resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" + integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escodegen@^1.14.1: + version "1.14.3" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-potential-custom-element-name@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^16.4.0: + version "16.4.0" + resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + dependencies: + abab "^2.0.3" + acorn "^7.1.1" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.2.0" + data-urls "^2.0.0" + decimal.js "^10.2.0" + domexception "^2.0.1" + escodegen "^1.14.1" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "5.1.1" + request "^2.88.2" + request-promise-native "^1.0.8" + saxes "^5.0.0" + symbol-tree "^3.2.4" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.2.3" + xml-name-validator "^3.0.0" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash@^4.17.19: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +mime-db@1.46.0: + version "1.46.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" + integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.29" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" + integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== + dependencies: + mime-db "1.46.0" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +parse5@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.8: + version "1.0.9" + resolved "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saxes@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== + dependencies: + punycode "^2.1.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +typescript@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" + integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +webidl2@^23.13.1: + version "23.13.1" + resolved "https://registry.npmjs.org/webidl2/-/webidl2-23.13.1.tgz#e95aa32e40b2ef71c0f683ea16ddac9202956d98" + integrity sha512-u5njf3ZyqPr/4K8D6Cxm3B6MwSgwAdtrzxqHklwKaUdP1aQTmtKN5b65k4wlweJ/pRM6fpKUKYz8RlCJ9tka+w== + +"webidl2ts@git+https://github.com/darionco/webidl2ts.git": + version "1.0.4" + resolved "git+https://github.com/darionco/webidl2ts.git#5416e377458f9a069ae16ba0248e41e988e1effc" + dependencies: + jsdom "^16.4.0" + typescript "^4.2.2" + webidl2 "^23.13.1" + yargs "^16.2.0" + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.4.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" + integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^6.1.0" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +ws@^7.2.3: + version "7.4.3" + resolved "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" + integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + +yargs-parser@^20.2.2: + version "20.2.6" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" + integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" From 4766eee4ca5301444601aa14daa9bb9702a13ddc Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Tue, 2 Mar 2021 14:44:59 -0500 Subject: [PATCH 02/15] Added spec repo as a submodule --- .gitmodules | 3 +++ gpuweb | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 gpuweb diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..aabb0ac7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "gpuweb"] + path = gpuweb + url = https://github.com/gpuweb/gpuweb.git diff --git a/gpuweb b/gpuweb new file mode 160000 index 00000000..03e8058f --- /dev/null +++ b/gpuweb @@ -0,0 +1 @@ +Subproject commit 03e8058f0e37d6084c5a1574121e3942221d514f From fba78893f043fb846f808c3bc697bd371f4859c4 Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Tue, 2 Mar 2021 14:54:25 -0500 Subject: [PATCH 03/15] Added script to generate the types file --- package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package.json b/package.json index 2b78de66..eded3cfb 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,9 @@ "files": [ "dist/**/*" ], + "scripts": { + "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/index.d.ts --forceGlobal" + }, "devDependencies": { "bikeshed-to-ts": "^1.0.6" } From e650ec0e26e146bc2a79f103b8738d13e24009ad Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Tue, 2 Mar 2021 14:54:47 -0500 Subject: [PATCH 04/15] Updated definition file with autogenerated version + fixes --- dist/index.d.ts | 2336 ++++++++++++++++++++++++----------------------- 1 file changed, 1198 insertions(+), 1138 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 395ee8f4..db9539f0 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,1145 +1,1205 @@ // **************************************************************** // NOTE: -// Every change to this file should be tracked here so that we know -// the exact status relative to the upstream spec (except bugfixes -// that bring the file in-line with this tracking). +// This file is generated automatically from the spec file +// `gpuweb/spec/index.bs` which points at the spec repo. +// As the spec evolves the spec will be incomplete or have bugs, +// every change needed for this file to work should be tracked here // **************************************************************** // -// This revision of the types is based on: -// https://github.com/gpuweb/gpuweb/blob/38236513beaf98e1579b212c0df6f33bd19691ab/spec/index.bs -// - except #494: reverted the addition of GPUAdapter.limits -// - except #591: removed Uint32Array from GPUShaderModuleDescriptor -// - except removal of old setIndexBuffer signature in #943 -// - plus #873: added aspect back to GPUTextureCopyView -// - plus #971: added stencil8 to GPUTextureFormat -// - plus #1168: renamed OUTPUT_ATTACHMENT to RENDER_ATTACHMENT -// - plus #1367: renamed defaultQueue to queue -// - plus #1014: made bytesPerRow optional -// - plus #1375: renamed to GPUImageCopyX (but without removing old names) -// - plus #1390: renamed depth to depthOrArrayLayers -// - plus #1152+#1441: made height/depthOrArrayLayers optional - -export {}; +// - commented out `GPUDevice.onuncapturederror` as its type doesn't exist declare global { - // Appends members to the `Navigator` interface defined globally. - export interface Navigator { - readonly gpu: GPU | undefined; - } - - export interface HTMLCanvasElement { - getContext(contextId: "gpupresent"): GPUCanvasContext | null; - } - - export interface GPUColorDict { - a: number; - b: number; - g: number; - r: number; - } - export type GPUColor = [number, number, number, number] | GPUColorDict; - - export interface GPUOrigin2DDict { - x?: number; - y?: number; - } - export type GPUOrigin2D = [number, number] | GPUOrigin2DDict; - - export interface GPUOrigin3DDict { - x?: number; - y?: number; - z?: number; - } - export type GPUOrigin3D = number[] | GPUOrigin3DDict; - - export interface GPUExtent3DDict { - width: number; - height?: number; - depthOrArrayLayers?: number; - } - export type GPUExtent3D = number[] | GPUExtent3DDict; - - interface GPUExtent3DDictStrict extends GPUExtent3DDict { - depth?: undefined; - } - type GPUExtent3DStrict = number[] | GPUExtent3DDictStrict; - - export type GPUBindingResource = - | GPUSampler - | GPUTextureView - | GPUBufferBinding; - - export type GPUExtensionName = - | "texture-compression-bc" - | "timestamp-query" - | "pipeline-statistics-query" - | "depth-clamping" - | "depth24unorm-stencil8" - | "depth32float-stencil8"; - export type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat"; - /** @deprecated */ - export type GPUBindingType = - | "uniform-buffer" - | "storage-buffer" - | "readonly-storage-buffer" - | "sampler" - | "comparison-sampler" - | "sampled-texture" - | "multisampled-texture" - | "readonly-storage-texture" - | "writeonly-storage-texture"; - export type GPUBlendFactor = - | "zero" - | "one" - | "src-color" - | "one-minus-src-color" - | "src-alpha" - | "one-minus-src-alpha" - | "dst-color" - | "one-minus-dst-color" - | "dst-alpha" - | "one-minus-dst-alpha" - | "src-alpha-saturated" - | "blend-color" - | "one-minus-blend-color"; - export type GPUBlendOperation = - | "add" - | "subtract" - | "reverse-subtract" - | "min" - | "max"; - export type GPUBufferBindingType = - | "uniform" - | "storage" - | "read-only-storage"; - export type GPUCompareFunction = - | "never" - | "less" - | "equal" - | "less-equal" - | "greater" - | "not-equal" - | "greater-equal" - | "always"; - export type GPUCullMode = "none" | "front" | "back"; - export type GPUFilterMode = "nearest" | "linear"; - export type GPUFrontFace = "ccw" | "cw"; - export type GPUIndexFormat = "uint16" | "uint32"; - export type GPUInputStepMode = "vertex" | "instance"; - export type GPULoadOp = "load"; - export type GPUPrimitiveTopology = - | "point-list" - | "line-list" - | "line-strip" - | "triangle-list" - | "triangle-strip"; - export type GPUSamplerBindingType = - | "filtering" - | "non-filtering" - | "comparison"; - export type GPUStencilOperation = - | "keep" - | "zero" - | "replace" - | "invert" - | "increment-clamp" - | "decrement-clamp" - | "increment-wrap" - | "decrement-wrap"; - export type GPUStorageTextureAccess = "read-only" | "write-only"; - export type GPUStoreOp = "store" | "clear"; - export type GPUTextureDimension = "1d" | "2d" | "3d"; - export type GPUTextureFormat = - | "r8unorm" - | "r8snorm" - | "r8uint" - | "r8sint" - | "r16uint" - | "r16sint" - | "r16float" - | "rg8unorm" - | "rg8snorm" - | "rg8uint" - | "rg8sint" - | "r32uint" - | "r32sint" - | "r32float" - | "rg16uint" - | "rg16sint" - | "rg16float" - | "rgba8unorm" - | "rgba8unorm-srgb" - | "rgba8snorm" - | "rgba8uint" - | "rgba8sint" - | "bgra8unorm" - | "bgra8unorm-srgb" - | "rgb10a2unorm" - | "rg11b10ufloat" - | "rgb9e5ufloat" - | "rg32uint" - | "rg32sint" - | "rg32float" - | "rgba16uint" - | "rgba16sint" - | "rgba16float" - | "rgba32uint" - | "rgba32sint" - | "rgba32float" - | "depth16unorm" - | "depth32float" - | "depth24plus" - | "depth24plus-stencil8" - | "stencil8" - | "depth24unorm-stencil8" - | "depth32float-stencil8" - | "bc1-rgba-unorm" - | "bc1-rgba-unorm-srgb" - | "bc2-rgba-unorm" - | "bc2-rgba-unorm-srgb" - | "bc3-rgba-unorm" - | "bc3-rgba-unorm-srgb" - | "bc4-r-unorm" - | "bc4-r-snorm" - | "bc5-rg-unorm" - | "bc5-rg-snorm" - | "bc6h-rgb-ufloat" - | "bc6h-rgb-float" - | "bc7-rgba-unorm" - | "bc7-rgba-unorm-srgb"; - export type GPUTextureComponentType = - | "float" - | "sint" - | "uint" - | "depth-comparison"; - export type GPUTextureSampleType = - | "float" - | "unfilterable-float" - | "depth" - | "sint" - | "uint"; - export type GPUTextureViewDimension = - | "1d" - | "2d" - | "2d-array" - | "cube" - | "cube-array" - | "3d"; - export type GPUVertexFormat = - | "uchar2" - | "uchar4" - | "char2" - | "char4" - | "uchar2norm" - | "uchar4norm" - | "char2norm" - | "char4norm" - | "ushort2" - | "ushort4" - | "short2" - | "short4" - | "ushort2norm" - | "ushort4norm" - | "short2norm" - | "short4norm" - | "half2" - | "half4" - | "float" - | "float2" - | "float3" - | "float4" - | "uint" - | "uint2" - | "uint3" - | "uint4" - | "int" - | "int2" - | "int3" - | "int4"; - - export type GPUTextureAspect = "all" | "stencil-only" | "depth-only"; - - export type GPUBufferUsageFlags = number; - export const GPUBufferUsage: { - MAP_READ: 0x0001; - MAP_WRITE: 0x0002; - COPY_SRC: 0x0004; - COPY_DST: 0x0008; - INDEX: 0x0010; - VERTEX: 0x0020; - UNIFORM: 0x0040; - STORAGE: 0x0080; - INDIRECT: 0x0100; - QUERY_RESOLVE: 0x0200; - }; - - export type GPUColorWriteFlags = number; - export const GPUColorWrite: { - RED: 0x1; - GREEN: 0x2; - BLUE: 0x4; - ALPHA: 0x8; - ALL: 0xf; - }; - - export type GPUShaderStageFlags = number; - export const GPUShaderStage: { - VERTEX: 0x1; - FRAGMENT: 0x2; - COMPUTE: 0x4; - }; - - export type GPUTextureUsageFlags = number; - export const GPUTextureUsage: { - COPY_SRC: 0x01; - COPY_DST: 0x02; - SAMPLED: 0x04; - STORAGE: 0x08; - RENDER_ATTACHMENT: 0x10; - }; - - export type GPUMapModeFlags = number; - export const GPUMapMode: { - READ: 0x1; - WRITE: 0x2; - }; - - export interface GPUBindGroupEntry { - binding: number; - resource: GPUBindingResource; - } - - export interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase { - layout: GPUBindGroupLayout; - entries: Iterable; - } - - export interface GPUBindGroupLayoutEntry { - binding: number; - visibility: GPUShaderStageFlags; - - buffer?: GPUBufferBindingLayout; - sampler?: GPUSamplerBindingLayout; - texture?: GPUTextureBindingLayout; - storageTexture?: GPUStorageTextureBindingLayout; - - /** @deprecated */ - type?: GPUBindingType; - /** @deprecated */ - hasDynamicOffset?: boolean; - /** @deprecated */ - minBufferBindingSize?: number; - /** @deprecated */ - viewDimension?: GPUTextureViewDimension; - /** @deprecated */ - textureComponentType?: GPUTextureComponentType; - /** @deprecated */ - storageTextureFormat?: GPUTextureFormat; - } - - export interface GPUBindGroupLayoutDescriptor - extends GPUObjectDescriptorBase { - entries: Iterable; - } - - export interface GPUBlendDescriptor { - dstFactor?: GPUBlendFactor; - operation?: GPUBlendOperation; - srcFactor?: GPUBlendFactor; - } - - export interface GPUBufferBindingLayout { - type?: GPUBufferBindingType; - hasDynamicOffset?: boolean; - minBindingSize?: number; - } - - export interface GPUColorStateDescriptor { - format: GPUTextureFormat; - - alphaBlend?: GPUBlendDescriptor; - colorBlend?: GPUBlendDescriptor; - writeMask?: GPUColorWriteFlags; - } - - export interface GPUBufferBinding { - buffer: GPUBuffer; - offset?: number; - size?: number; - } - - /** @deprecated */ - export type GPUTextureDataLayout = GPUImageDataLayout; - export interface GPUImageDataLayout { - offset?: number; - bytesPerRow?: number; - rowsPerImage?: number; - } - - /** @deprecated */ - export type GPUBufferCopyView = GPUImageCopyBuffer; - export interface GPUImageCopyBuffer extends GPUImageDataLayout { - buffer: GPUBuffer; - } - - /** @deprecated */ - export type GPUTextureCopyView = GPUImageCopyTexture; - export interface GPUImageCopyTexture { - texture: GPUTexture; - mipLevel?: number; - origin?: GPUOrigin3D; - aspect?: GPUTextureAspect; - } - - export interface GPUImageBitmapCopyView { - imageBitmap: ImageBitmap; - origin?: GPUOrigin2D; - } - - export interface GPUBufferDescriptor extends GPUObjectDescriptorBase { - size: number; - usage: GPUBufferUsageFlags; - mappedAtCreation?: boolean; - } - - export interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase { - label?: string; - - measureExecutionTime?: boolean; - } - - export interface GPUComputePipelineDescriptor - extends GPUPipelineDescriptorBase { - computeStage: GPUProgrammableStageDescriptor; - } - - export interface GPUDepthStencilStateDescriptor { - format: GPUTextureFormat; - - depthWriteEnabled?: boolean; - depthCompare?: GPUCompareFunction; - - stencilFront?: GPUStencilStateFaceDescriptor; - stencilBack?: GPUStencilStateFaceDescriptor; - - stencilReadMask?: number; - stencilWriteMask?: number; - } - - export interface GPUDeviceDescriptor extends GPUObjectDescriptorBase { - extensions?: Iterable; - limits?: GPULimits; - } - - export interface GPUFenceDescriptor extends GPUObjectDescriptorBase { - initialValue?: number; - label?: string; - signalQueue?: GPUQueue; - } - - export interface GPUVertexAttributeDescriptor { - format: GPUVertexFormat; - offset: number; - shaderLocation: number; - } - - export interface GPUVertexBufferLayoutDescriptor { - arrayStride: number; - stepMode?: GPUInputStepMode; - attributes: Iterable; - } - - export interface GPUVertexStateDescriptor { - indexFormat?: GPUIndexFormat; - vertexBuffers?: Iterable; - } - - export interface GPULimits { - maxBindGroups?: number; - maxDynamicUniformBuffersPerPipelineLayout?: number; - maxDynamicStorageBuffersPerPipelineLayout?: number; - maxSampledTexturesPerShaderStage?: number; - maxSamplersPerShaderStage?: number; - maxStorageBuffersPerShaderStage?: number; - maxStorageTexturesPerShaderStage?: number; - maxUniformBuffersPerShaderStage?: number; - maxUniformBufferBindingSize?: number; - } - - export interface GPUPipelineDescriptorBase { - label?: string; - layout?: GPUPipelineLayout; - } - - export interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase { - bindGroupLayouts: Iterable; - } - - export interface GPUProgrammableStageDescriptor { - module: GPUShaderModule; - entryPoint: string; - } - - export interface GPURasterizationStateDescriptor { - frontFace?: GPUFrontFace; - cullMode?: GPUCullMode; - clampDepth?: boolean; - depthBias?: number; - depthBiasSlopeScale?: number; - depthBiasClamp?: number; - } - - export interface GPURenderPassColorAttachmentDescriptor { - attachment: GPUTextureView; - resolveTarget?: GPUTextureView; - - loadValue: GPULoadOp | GPUColor; - storeOp?: GPUStoreOp; - } - - export interface GPURenderPassDepthStencilAttachmentDescriptor { - attachment: GPUTextureView; - - depthLoadValue: GPULoadOp | number; - depthStoreOp: GPUStoreOp; - depthReadOnly?: boolean; - - stencilLoadValue: GPULoadOp | number; - stencilStoreOp: GPUStoreOp; - stencilReadOnly?: boolean; - } - - export interface GPURenderPassDescriptor extends GPUObjectDescriptorBase { - colorAttachments: Iterable; - depthStencilAttachment?: GPURenderPassDepthStencilAttachmentDescriptor; - occlusionQuerySet?: GPUQuerySet; - } - - export interface GPURenderPipelineDescriptor - extends GPUPipelineDescriptorBase { - vertexStage: GPUProgrammableStageDescriptor; - fragmentStage?: GPUProgrammableStageDescriptor; - - primitiveTopology: GPUPrimitiveTopology; - rasterizationState?: GPURasterizationStateDescriptor; - colorStates: Iterable; - depthStencilState?: GPUDepthStencilStateDescriptor; - vertexState?: GPUVertexStateDescriptor; - - sampleCount?: number; - sampleMask?: number; - alphaToCoverageEnabled?: boolean; - } - - export interface GPUSamplerDescriptor extends GPUObjectDescriptorBase { - addressModeU?: GPUAddressMode; - addressModeV?: GPUAddressMode; - addressModeW?: GPUAddressMode; - magFilter?: GPUFilterMode; - minFilter?: GPUFilterMode; - mipmapFilter?: GPUFilterMode; - lodMinClamp?: number; - lodMaxClamp?: number; - compare?: GPUCompareFunction; - maxAnisotropy?: number; - } - - export interface GPUSamplerBindingLayout { - type?: GPUSamplerBindingType; - } - - export interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase { - code: Uint32Array | string; - label?: string; - - sourceMap?: object; - } - - export interface GPUStencilStateFaceDescriptor { - compare?: GPUCompareFunction; - depthFailOp?: GPUStencilOperation; - passOp?: GPUStencilOperation; - failOp?: GPUStencilOperation; - } - - export interface GPUStorageTextureBindingLayout { - access: GPUStorageTextureAccess; - format: GPUTextureFormat; - viewDimension?: GPUTextureViewDimension; - } - - export interface GPUSwapChainDescriptor extends GPUObjectDescriptorBase { - device: GPUDevice; - format: GPUTextureFormat; - usage?: GPUTextureUsageFlags; - } - - export interface GPUTextureBindingLayout { - sampleType?: GPUTextureSampleType; - viewDimension?: GPUTextureViewDimension; - multisampled?: boolean; - } - - export interface GPUTextureDescriptor extends GPUObjectDescriptorBase { - size: GPUExtent3DStrict; - mipLevelCount?: number; - sampleCount?: number; - dimension?: GPUTextureDimension; - format: GPUTextureFormat; - usage: GPUTextureUsageFlags; - } - - export interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase { - format?: GPUTextureFormat; - dimension?: GPUTextureViewDimension; - aspect?: GPUTextureAspect; - baseArrayLayer?: number; - baseMipLevel?: number; - arrayLayerCount?: number; - mipLevelCount?: number; - } - - export class GPUAdapter { - // https://michalzalecki.com/nominal-typing-in-typescript/#approach-1-class-with-a-private-property - private __brand: void; - readonly name: string; - readonly extensions: GPUExtensionName[]; - readonly limits: Required; - - requestDevice(descriptor?: GPUDeviceDescriptor): Promise; - } - - export class GPUBindGroup implements GPUObjectBase { - private __brand: void; - label: string | undefined; - } - - export class GPUBindGroupLayout implements GPUObjectBase { - private __brand: void; - label: string | undefined; - } - - export class GPUBuffer implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - destroy(): void; - unmap(): void; - - mapAsync(mode: GPUMapModeFlags, offset?: number, size?: number): Promise; - getMappedRange(offset?: number, size?: number): ArrayBuffer; - } - - export class GPUCommandBuffer implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - readonly executionTime: Promise; - } - - export interface GPUCommandBufferDescriptor extends GPUObjectDescriptorBase {} - - export class GPUCommandEncoder implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - beginComputePass( - descriptor?: GPUComputePassDescriptor - ): GPUComputePassEncoder; - beginRenderPass(descriptor: GPURenderPassDescriptor): GPURenderPassEncoder; - copyBufferToBuffer( - source: GPUBuffer, - sourceOffset: number, - destination: GPUBuffer, - destinationOffset: number, - size: number - ): void; - copyBufferToTexture( - source: GPUBufferCopyView, - destination: GPUTextureCopyView, - copySize: GPUExtent3DStrict - ): void; - copyTextureToBuffer( - source: GPUTextureCopyView, - destination: GPUBufferCopyView, - copySize: GPUExtent3DStrict - ): void; - copyTextureToTexture( - source: GPUTextureCopyView, - destination: GPUTextureCopyView, - copySize: GPUExtent3DStrict - ): void; - finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer; - - resolveQuerySet(querySet: GPUQuerySet, firstQuery: number, queryCount: number, destination: GPUBuffer, destinationOffset: number): void; - writeTimestamp(querySet: GPUQuerySet, queryIndex: number): void; - - popDebugGroup(): void; - pushDebugGroup(groupLabel: string): void; - insertDebugMarker(markerLabel: string): void; - } - - export interface GPUComputePassDescriptor extends GPUObjectDescriptorBase {} - - export class GPUComputePassEncoder implements GPUObjectBase, GPUProgrammablePassEncoder { - private __brand: void; - label: string | undefined; - - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsets?: Iterable - ): void; - - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsetsData: Uint32Array, - dynamicOffsetsDataStart: number, - dynamicOffsetsDataLength: number - ): void; - - popDebugGroup(): void; - pushDebugGroup(groupLabel: string): void; - insertDebugMarker(markerLabel: string): void; - - setPipeline(pipeline: GPUComputePipeline): void; - dispatch(x: number, y?: number, z?: number): void; - dispatchIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void; - - writeTimestamp(querySet: GPUQuerySet, queryIndex: number): void; - beginPipelineStatisticsQuery(querySet: GPUQuerySet, queryIndex: number): void; - endPipelineStatisticsQuery(querySet: GPUQuerySet, queryIndex: number): void; - - endPass(): void; - } - - export class GPUComputePipeline implements GPUPipelineBase { - private __brand: void; - label: string | undefined; - - getBindGroupLayout(index: number): GPUBindGroupLayout; - } - - export interface GPUObjectBase { - label: string | undefined; - } - - export interface GPUObjectDescriptorBase { - label?: string; - } - - // SwapChain / CanvasContext - export class GPUCanvasContext { - private __brand: void; - configureSwapChain(descriptor: GPUSwapChainDescriptor): GPUSwapChain; - - getSwapChainPreferredFormat(device: GPUDevice): Promise; - } - - export class GPUDevice extends EventTarget implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - readonly adapter: GPUAdapter; - readonly extensions: GPUExtensionName[]; - readonly limits: Required; - - createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup; - createBindGroupLayout( - descriptor: GPUBindGroupLayoutDescriptor - ): GPUBindGroupLayout; - createBuffer(descriptor: GPUBufferDescriptor): GPUBuffer; - createPipelineLayout( - descriptor: GPUPipelineLayoutDescriptor - ): GPUPipelineLayout; - createSampler(descriptor?: GPUSamplerDescriptor): GPUSampler; - createShaderModule(descriptor: GPUShaderModuleDescriptor): GPUShaderModule; - createTexture(descriptor: GPUTextureDescriptor): GPUTexture; - - createComputePipeline( - descriptor: GPUComputePipelineDescriptor - ): GPUComputePipeline; - createRenderPipeline( - descriptor: GPURenderPipelineDescriptor - ): GPURenderPipeline; - createReadyComputePipeline( - descriptor: GPUComputePipelineDescriptor - ): Promise; - createReadyRenderPipeline( - descriptor: GPURenderPipelineDescriptor - ): Promise; - - createCommandEncoder( - descriptor?: GPUCommandEncoderDescriptor - ): GPUCommandEncoder; - createRenderBundleEncoder( - descriptor: GPURenderBundleEncoderDescriptor - ): GPURenderBundleEncoder; - - createQuerySet(descriptor: GPUQuerySetDescriptor): GPUQuerySet; - - queue: GPUQueue; - - pushErrorScope(filter: GPUErrorFilter): void; - popErrorScope(): Promise; - onuncapturederror: Event | undefined; - readonly lost: Promise; - } - - export class GPUFence implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - getCompletedValue(): number; - onCompletion(completionValue: number): Promise; - } - - export interface GPUPipelineBase extends GPUObjectBase { - getBindGroupLayout(index: number): GPUBindGroupLayout; - } - - export class GPUPipelineLayout implements GPUObjectBase { - private __brand: void; - label: string | undefined; - } - - export interface GPUProgrammablePassEncoder { - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsets?: Iterable - ): void; - - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsetsData: Uint32Array, - dynamicOffsetsDataStart: number, - dynamicOffsetsDataLength: number - ): void; - - popDebugGroup(): void; - pushDebugGroup(groupLabel: string): void; - insertDebugMarker(markerLabel: string): void; - } - - export class GPUQueue implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - signal(fence: GPUFence, signalValue: number): void; - submit(commandBuffers: Iterable): void; - createFence(descriptor?: GPUFenceDescriptor): GPUFence; - - writeBuffer(buffer: GPUBuffer, - bufferOffset: number, - data: BufferSource | SharedArrayBuffer, - dataOffset?: number, - size?: number): void; - writeTexture(destination: GPUTextureCopyView, - data: BufferSource | SharedArrayBuffer, - dataLayout: GPUTextureDataLayout, - size: GPUExtent3DStrict): void; - - copyImageBitmapToTexture( - source: GPUImageBitmapCopyView, - destination: GPUTextureCopyView, - copySize: GPUExtent3DStrict - ): void; - } - - type GPUQueryType = - | "occlusion" - | "timestamp" - | "pipeline-statistics"; - type GPUPipelineStatisticName = - | "vertex-shader-invocations" - | "clipper-invocations" - | "clipper-primitives-out" - | "fragment-shader-invocations" - | "compute-shader-invocations"; - - export interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase { - type: GPUQueryType; - count: number; - pipelineStatistics?: Iterable; - } - - export class GPUQuerySet implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - destroy(): void; - } - - export interface GPURenderEncoderBase { - setPipeline(pipeline: GPURenderPipeline): void; - - setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: number, size?: number): void; - setVertexBuffer(slot: number, buffer: GPUBuffer, offset?: number, size?: number): void; - - draw( - vertexCount: number, - instanceCount?: number, - firstVertex?: number, - firstInstance?: number - ): void; - drawIndexed( - indexCount: number, - instanceCount?: number, - firstIndex?: number, - baseVertex?: number, - firstInstance?: number - ): void; - - drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void; - drawIndexedIndirect( - indirectBuffer: GPUBuffer, - indirectOffset: number - ): void; - } - - export class GPURenderPassEncoder implements GPUObjectBase, GPUProgrammablePassEncoder, GPURenderEncoderBase { - private __brand: void; - label: string | undefined; - - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsets?: Iterable - ): void; - - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsetsData: Uint32Array, - dynamicOffsetsDataStart: number, - dynamicOffsetsDataLength: number - ): void; - - popDebugGroup(): void; - pushDebugGroup(groupLabel: string): void; - insertDebugMarker(markerLabel: string): void; - - setPipeline(pipeline: GPURenderPipeline): void; - - setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: number, size?: number): void; - setVertexBuffer(slot: number, buffer: GPUBuffer, offset?: number): void; - - draw( - vertexCount: number, - instanceCount?: number, - firstVertex?: number, - firstInstance?: number - ): void; - drawIndexed( - indexCount: number, - instanceCount?: number, - firstIndex?: number, - baseVertex?: number, - firstInstance?: number - ): void; - - drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void; - drawIndexedIndirect( - indirectBuffer: GPUBuffer, - indirectOffset: number - ): void; - - setViewport( - x: number, - y: number, - width: number, - height: number, - minDepth: number, - maxDepth: number - ): void; - setScissorRect(x: number, y: number, width: number, height: number): void; - - setBlendColor(color: GPUColor): void; - setStencilReference(reference: number): void; - - writeTimestamp(querySet: GPUQuerySet, queryIndex: number): void; - beginOcclusionQuery(queryIndex: number): void; - endOcclusionQuery(): void; - beginPipelineStatisticsQuery(querySet: GPUQuerySet, queryIndex: number): void; - endPipelineStatisticsQuery(querySet: GPUQuerySet, queryIndex: number): void; - - executeBundles(bundles: Iterable): void; - endPass(): void; - } - - export interface GPURenderBundleDescriptor extends GPUObjectDescriptorBase {} - - export class GPURenderBundle implements GPUObjectBase { - private __brand: void; - label: string | undefined; - } - - export class GPURenderBundleEncoder implements GPURenderEncoderBase { - private __brand: void; - label: string | undefined; - - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsets?: Iterable - ): void; - - setBindGroup( - index: number, - bindGroup: GPUBindGroup, - dynamicOffsetsData: Uint32Array, - dynamicOffsetsDataStart: number, - dynamicOffsetsDataLength: number - ): void; - - popDebugGroup(): void; - pushDebugGroup(groupLabel: string): void; - insertDebugMarker(markerLabel: string): void; - - setPipeline(pipeline: GPURenderPipeline): void; - - setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: number, size?: number): void; - setVertexBuffer(slot: number, buffer: GPUBuffer, offset?: number, size?: number): void; - - draw( - vertexCount: number, - instanceCount?: number, - firstVertex?: number, - firstInstance?: number - ): void; - drawIndexed( - indexCount: number, - instanceCount?: number, - firstIndex?: number, - baseVertex?: number, - firstInstance?: number - ): void; - - drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void; - drawIndexedIndirect( - indirectBuffer: GPUBuffer, - indirectOffset: number - ): void; - - finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle; - } - - export interface GPURenderBundleEncoderDescriptor extends GPUObjectDescriptorBase { - colorFormats: Iterable; - depthStencilFormat?: GPUTextureFormat; - sampleCount?: number; - } - - export class GPURenderPipeline implements GPUPipelineBase { - private __brand: void; - label: string | undefined; - - getBindGroupLayout(index: number): GPUBindGroupLayout; - } - - export class GPUSampler implements GPUObjectBase { - private __brand: void; - label: string | undefined; - } - - export type GPUCompilationMessageType = - | "error" - | "warning" - | "info"; - - export class GPUCompilationMessage { - private __brand: void; - - readonly message: string; - readonly type: GPUCompilationMessageType; - readonly lineNum: number; - readonly linePos: number; - } - - export class GPUCompilationInfo { - private __brand: void; - - readonly messages: readonly GPUCompilationMessage[]; - } - - export class GPUShaderModule implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - compilationInfo(): Promise; - } - - export class GPUSwapChain implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - getCurrentTexture(): GPUTexture; - } - - export class GPUTexture implements GPUObjectBase { - private __brand: void; - label: string | undefined; - - createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView; - destroy(): void; - } - - export class GPUTextureView implements GPUObjectBase { - private __brand: void; - label: string | undefined; - } - - export type GPUPowerPreference = "low-power" | "high-performance"; - export interface GPURequestAdapterOptions { - powerPreference?: GPUPowerPreference; - } - - export class GPU { - private __brand: void; - requestAdapter(options?: GPURequestAdapterOptions): Promise; - } - - // **************************************************************************** - // ERROR SCOPES - // **************************************************************************** - - export type GPUErrorFilter = "out-of-memory" | "validation"; - - export class GPUOutOfMemoryError { - private __brand: void; - constructor(); - } - - export class GPUValidationError { - private __brand: void; - constructor(message: string); - readonly message: string; - } - - export type GPUError = GPUOutOfMemoryError | GPUValidationError; - - // **************************************************************************** - // TELEMETRY - // **************************************************************************** - - export class GPUUncapturedErrorEvent extends Event { - private __brand: void; - constructor( - type: string, - gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit - ); - readonly error: GPUError; - } - - export interface GPUUncapturedErrorEventInit extends EventInit { - error: GPUError; - } - - export class GPUDeviceLostInfo { - private __brand: void; - readonly message: string; - } + export interface GPUObjectBase { + /** + * A label which can be used by development tools (such as error/warning messages, + * browser developer tools, or platform debugging utilities) to identify the underlying + * internal object to the developer. + * It has no specified format, and therefore cannot be reliably machine-parsed. + * In any given situation, the user agent may or may not choose to use this label. + */ + label: string; + } + export interface GPUObjectDescriptorBase { + /** + * The initial value of {@link GPUObjectBase#label|GPUObjectBase.label}. + */ + label?: string; + } + export interface GPUAdapterLimits { + readonly maxTextureDimension1D: GPUSize32; + readonly maxTextureDimension2D: GPUSize32; + readonly maxTextureDimension3D: GPUSize32; + readonly maxTextureArrayLayers: GPUSize32; + readonly maxBindGroups: GPUSize32; + readonly maxDynamicUniformBuffersPerPipelineLayout: GPUSize32; + readonly maxDynamicStorageBuffersPerPipelineLayout: GPUSize32; + readonly maxSampledTexturesPerShaderStage: GPUSize32; + readonly maxSamplersPerShaderStage: GPUSize32; + readonly maxStorageBuffersPerShaderStage: GPUSize32; + readonly maxStorageTexturesPerShaderStage: GPUSize32; + readonly maxUniformBuffersPerShaderStage: GPUSize32; + readonly maxUniformBufferBindingSize: GPUSize32; + readonly maxStorageBufferBindingSize: GPUSize32; + readonly maxVertexBuffers: GPUSize32; + readonly maxVertexAttributes: GPUSize32; + readonly maxVertexBufferArrayStride: GPUSize32; + } + export type GPUAdapterFeatures = ReadonlySet; + export interface Navigator { + readonly gpu: GPU; + } + export interface WorkerNavigator { + readonly gpu: GPU; + } + export interface GPU { + /** + * Requests an adapter from the user agent. + * The user agent chooses whether to return an adapter, and, if so, + * chooses according to the provided options. + * @param options - Criteria used to select the adapter. + */ + requestAdapter(options?: GPURequestAdapterOptions): Promise; + } + export interface GPURequestAdapterOptions { + powerPreference?: GPUPowerPreference; + } + export type GPUPowerPreference = "low-power" | "high-performance"; + export interface GPUAdapter { + /** + * A human-readable name identifying the adapter. + * The contents are implementation-defined. + */ + readonly name: string; + /** + * The set of values in `this`.{@link GPUAdapter#[[adapter]]}.{@link adapter#[[features]]}. + */ + readonly features: GPUAdapterFeatures; + /** + * The limits in `this`.{@link GPUAdapter#[[adapter]]}.{@link adapter#[[limits]]}. + */ + readonly limits: GPUAdapterLimits; + /** + * Requests a device from the adapter. + * @param descriptor - Description of the {@link GPUDevice} to request. + */ + requestDevice(descriptor?: GPUDeviceDescriptor): Promise; + } + export interface GPUDeviceDescriptor extends GPUObjectDescriptorBase { + /** + * The set of {@link GPUFeatureName} values in this sequence defines the exact set of + * features that must be enabled on the device. + */ + nonGuaranteedFeatures?: Array; + /** + * Defines the exact limits that must be enabled on the device. + * Each key must be the name of a member of supported limits. + * + */ + nonGuaranteedLimits?: Record; + } + export type GPUFeatureName = "depth-clamping" | "depth24unorm-stencil8" | "depth32float-stencil8" | "pipeline-statistics-query" | "texture-compression-bc" | "timestamp-query"; + export interface GPUDevice extends EventTarget, GPUObjectBase { + /** + * The {@link GPUAdapter} from which this device was created. + */ + readonly adapter: GPUAdapter; + /** + * A sequence containing the {@link GPUFeatureName} values of the features + * supported by the device (i.e. the ones with which it was created). + * Issue: Should this be {@link GPUAdapterFeatures} (which would be renamed to + * GPUSupportedFeatures)? + */ + readonly features: ReadonlyArray; + /** + * Exposes the limits supported by the device + * (which are exactly the ones with which it was created). + * Issue: Should this be an `interface GPUSupportedLimits`? + */ + readonly limits: any; + /** + * The primary {@link GPUQueue} for this device. + */ + readonly queue: GPUQueue; + /** + * Destroys the device. + * Note: + * This prevents any further operations on the device. + * Implementations can free resource allocations immediately. + * Outstanding asynchronous operations will fail, so implementations can abort them early. + */ + destroy(): undefined; + /** + * Creates a {@link GPUBuffer}. + * @param descriptor - Description of the {@link GPUBuffer} to create. + */ + createBuffer(descriptor: GPUBufferDescriptor): GPUBuffer; + /** + * Creates a {@link GPUTexture}. + * @param descriptor - Description of the {@link GPUTexture} to create. + */ + createTexture(descriptor: GPUTextureDescriptor): GPUTexture; + /** + * Creates a {@link GPUBindGroupLayout}. + * @param descriptor - Description of the {@link GPUSampler} to create. + */ + createSampler(descriptor?: GPUSamplerDescriptor): GPUSampler; + /** + * Creates a {@link GPUBindGroupLayout}. + * @param descriptor - Description of the {@link GPUBindGroupLayout} to create. + */ + createBindGroupLayout(descriptor: GPUBindGroupLayoutDescriptor): GPUBindGroupLayout; + /** + * Creates a {@link GPUPipelineLayout}. + * @param descriptor - Description of the {@link GPUPipelineLayout} to create. + */ + createPipelineLayout(descriptor: GPUPipelineLayoutDescriptor): GPUPipelineLayout; + /** + * Creates a {@link GPUBindGroup}. + * @param descriptor - Description of the {@link GPUBindGroup} to create. + */ + createBindGroup(descriptor: GPUBindGroupDescriptor): GPUBindGroup; + /** + * Creates a {@link GPUShaderModule}. + * @param descriptor - Description of the {@link GPUShaderModule} to create. + */ + createShaderModule(descriptor: GPUShaderModuleDescriptor): GPUShaderModule; + /** + * Creates a {@link GPUComputePipeline}. + * @param descriptor - Description of the {@link GPUComputePipeline} to create. + */ + createComputePipeline(descriptor: GPUComputePipelineDescriptor): GPUComputePipeline; + /** + * Creates a {@link GPURenderPipeline}. + * @param descriptor - Description of the {@link GPURenderPipeline} to create. + */ + createRenderPipeline(descriptor: GPURenderPipelineDescriptor): GPURenderPipeline; + /** + * Creates a {@link GPUComputePipeline}. The returned {@link Promise} resolves when the created pipeline + * is ready to be used without additional delay. + * If pipeline creation fails, the returned {@link Promise} resolves to an invalid + * {@link GPUComputePipeline} object. + * Note: Use of this method is preferred whenever possible, as it prevents blocking the + * queue timeline work on pipeline compilation. + * @param descriptor - Description of the {@link GPUComputePipeline} to create. + */ + createComputePipelineAsync(descriptor: GPUComputePipelineDescriptor): Promise; + /** + * Creates a {@link GPURenderPipeline}. The returned {@link Promise} resolves when the created pipeline + * is ready to be used without additional delay. + * If pipeline creation fails, the returned {@link Promise} resolves to an invalid + * {@link GPURenderPipeline} object. + * Note: Use of this method is preferred whenever possible, as it prevents blocking the + * queue timeline work on pipeline compilation. + * @param descriptor - Description of the {@link GPURenderPipeline} to create. + */ + createRenderPipelineAsync(descriptor: GPURenderPipelineDescriptor): Promise; + /** + * Creates a {@link GPUCommandEncoder}. + * @param descriptor - Description of the {@link GPUCommandEncoder} to create. + */ + createCommandEncoder(descriptor?: GPUCommandEncoderDescriptor): GPUCommandEncoder; + /** + * Creates a {@link GPURenderBundleEncoder}. + * @param descriptor - Description of the {@link GPURenderBundleEncoder} to create. + */ + createRenderBundleEncoder(descriptor: GPURenderBundleEncoderDescriptor): GPURenderBundleEncoder; + /** + * Creates a {@link GPUQuerySet}. + * @param descriptor - Description of the {@link GPUQuerySet} to create. + */ + createQuerySet(descriptor: GPUQuerySetDescriptor): GPUQuerySet; + readonly lost: Promise; + /** + * Issue: Define pushErrorScope. + */ + pushErrorScope(filter: GPUErrorFilter): undefined; + /** + * Issue: Define popErrorScope. + * Rejects with {@link OperationError} if: + * - The device is lost. + * - There are no error scopes on the stack. + */ + popErrorScope(): Promise; + // onuncapturederror: EventHandler; + } + export interface GPUBuffer extends GPUObjectBase { + /** + * Maps the given range of the {@link GPUBuffer} and resolves the returned {@link Promise} when the + * {@link GPUBuffer}'s content is ready to be accessed with {@link GPUBuffer#getMappedRange}. + * @param mode - Whether the buffer should be mapped for reading or writing. + * @param offset - Offset in bytes into the buffer to the start of the range to map. + * @param size - Size in bytes of the range to map. + */ + mapAsync(mode: GPUMapModeFlags, offset?: GPUSize64, size?: GPUSize64): Promise; + /** + * Returns a {@link ArrayBuffer} with the contents of the {@link GPUBuffer} in the given mapped range. + * @param offset - Offset in bytes into the buffer to return buffer contents from. + * @param size - Size in bytes of the {@link ArrayBuffer} to return. + */ + getMappedRange(offset?: GPUSize64, size?: GPUSize64): ArrayBuffer; + /** + * Unmaps the mapped range of the {@link GPUBuffer} and makes it's contents available for use by the + * GPU again. + */ + unmap(): undefined; + /** + * Destroys the {@link GPUBuffer}. + */ + destroy(): undefined; + } + export interface GPUBufferDescriptor extends GPUObjectDescriptorBase { + size: GPUSize64; + usage: GPUBufferUsageFlags; + mappedAtCreation?: boolean; + } + export type GPUBufferUsageFlags = number; + export interface GPUBufferUsage { + readonly MAP_READ: GPUFlagsConstant; + readonly MAP_WRITE: GPUFlagsConstant; + readonly COPY_SRC: GPUFlagsConstant; + readonly COPY_DST: GPUFlagsConstant; + readonly INDEX: GPUFlagsConstant; + readonly VERTEX: GPUFlagsConstant; + readonly UNIFORM: GPUFlagsConstant; + readonly STORAGE: GPUFlagsConstant; + readonly INDIRECT: GPUFlagsConstant; + readonly QUERY_RESOLVE: GPUFlagsConstant; + } + export type GPUMapModeFlags = number; + export interface GPUMapMode { + readonly READ: GPUFlagsConstant; + readonly WRITE: GPUFlagsConstant; + } + export interface GPUTexture extends GPUObjectBase { + /** + * Creates a {@link GPUTextureView}. + * @param descriptor - Description of the {@link GPUTextureView} to create. + */ + createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView; + /** + * Destroys the {@link GPUTexture}. + */ + destroy(): undefined; + } + export interface GPUTextureDescriptor extends GPUObjectDescriptorBase { + size: GPUExtent3D; + mipLevelCount?: GPUIntegerCoordinate; + sampleCount?: GPUSize32; + dimension?: GPUTextureDimension; + format: GPUTextureFormat; + usage: GPUTextureUsageFlags; + } + export type GPUTextureDimension = "1d" | "2d" | "3d"; + export type GPUTextureUsageFlags = number; + export interface GPUTextureUsage { + readonly COPY_SRC: GPUFlagsConstant; + readonly COPY_DST: GPUFlagsConstant; + readonly SAMPLED: GPUFlagsConstant; + readonly STORAGE: GPUFlagsConstant; + readonly RENDER_ATTACHMENT: GPUFlagsConstant; + } + export interface GPUTextureView extends GPUObjectBase { + } + export interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase { + format?: GPUTextureFormat; + dimension?: GPUTextureViewDimension; + aspect?: GPUTextureAspect; + baseMipLevel?: GPUIntegerCoordinate; + mipLevelCount?: GPUIntegerCoordinate; + baseArrayLayer?: GPUIntegerCoordinate; + arrayLayerCount?: GPUIntegerCoordinate; + } + export type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "cube" | "cube-array" | "3d"; + export type GPUTextureAspect = "all" | "stencil-only" | "depth-only"; + export type GPUTextureFormat = "r8unorm" | "r8snorm" | "r8uint" | "r8sint" | "r16uint" | "r16sint" | "r16float" | "rg8unorm" | "rg8snorm" | "rg8uint" | "rg8sint" | "r32uint" | "r32sint" | "r32float" | "rg16uint" | "rg16sint" | "rg16float" | "rgba8unorm" | "rgba8unorm-srgb" | "rgba8snorm" | "rgba8uint" | "rgba8sint" | "bgra8unorm" | "bgra8unorm-srgb" | "rgb9e5ufloat" | "rgb10a2unorm" | "rg11b10ufloat" | "rg32uint" | "rg32sint" | "rg32float" | "rgba16uint" | "rgba16sint" | "rgba16float" | "rgba32uint" | "rgba32sint" | "rgba32float" | "stencil8" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-unorm" | "bc4-r-snorm" | "bc5-rg-unorm" | "bc5-rg-snorm" | "bc6h-rgb-ufloat" | "bc6h-rgb-float" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "depth24unorm-stencil8" | "depth32float-stencil8"; + export interface GPUSampler extends GPUObjectBase { + } + export interface GPUSamplerDescriptor extends GPUObjectDescriptorBase { + addressModeU?: GPUAddressMode; + addressModeV?: GPUAddressMode; + addressModeW?: GPUAddressMode; + magFilter?: GPUFilterMode; + minFilter?: GPUFilterMode; + mipmapFilter?: GPUFilterMode; + lodMinClamp?: number; + lodMaxClamp?: number; + compare?: GPUCompareFunction; + maxAnisotropy?: number; + } + export type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat"; + export type GPUFilterMode = "nearest" | "linear"; + export type GPUCompareFunction = "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always"; + export interface GPUBindGroupLayout extends GPUObjectBase { + } + export interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase { + entries: Array; + } + export type GPUShaderStageFlags = number; + export interface GPUShaderStage { + readonly VERTEX: GPUFlagsConstant; + readonly FRAGMENT: GPUFlagsConstant; + readonly COMPUTE: GPUFlagsConstant; + } + export interface GPUBindGroupLayoutEntry { + /** + * A unique identifier for a resource binding within a + * {@link GPUBindGroupLayoutEntry}, a corresponding {@link GPUBindGroupEntry}, + * and the {@link GPUShaderModule}s. + */ + binding: GPUIndex32; + /** + * A bitset of the members of {@link GPUShaderStage}. + * Each set bit indicates that a {@link GPUBindGroupLayoutEntry}'s resource + * will be accessible from the associated shader stage. + */ + visibility: GPUShaderStageFlags; + /** + * When not `undefined` indicates the binding resource type for this {@link GPUBindGroupLayoutEntry} + * is {@link GPUBufferBinding}. + */ + buffer?: GPUBufferBindingLayout; + /** + * When not `undefined` indicates the binding resource type for this {@link GPUBindGroupLayoutEntry} + * is {@link GPUSampler}. + */ + sampler?: GPUSamplerBindingLayout; + /** + * When not `undefined` indicates the binding resource type for this {@link GPUBindGroupLayoutEntry} + * is {@link GPUTextureView}. + */ + texture?: GPUTextureBindingLayout; + /** + * When not `undefined` indicates the binding resource type for this {@link GPUBindGroupLayoutEntry} + * is {@link GPUTextureView}. + */ + storageTexture?: GPUStorageTextureBindingLayout; + } + export type GPUBufferBindingType = "uniform" | "storage" | "read-only-storage"; + export interface GPUBufferBindingLayout { + /** + * Indicates the type required for buffers bound to this bindings. + */ + type?: GPUBufferBindingType; + /** + * Indicates whether this binding requires a dynamic offset. + */ + hasDynamicOffset?: boolean; + /** + * May be used to indicate the minimum buffer binding size. + */ + minBindingSize?: GPUSize64; + } + export type GPUSamplerBindingType = "filtering" | "non-filtering" | "comparison"; + export interface GPUSamplerBindingLayout { + /** + * Indicates the required type of a sampler bound to this bindings. + */ + type?: GPUSamplerBindingType; + } + export type GPUTextureSampleType = "float" | "unfilterable-float" | "depth" | "sint" | "uint"; + export interface GPUTextureBindingLayout { + /** + * Indicates the type required for texture views bound to this binding. + */ + sampleType?: GPUTextureSampleType; + /** + * Indicates the required {@link GPUTextureViewDescriptor#dimension} for texture views bound to + * this binding. + * Note: + * This enables Metal-based WebGPU implementations to back the respective bind groups with + * `MTLArgumentBuffer` objects that are more efficient to bind at run-time. + */ + viewDimension?: GPUTextureViewDimension; + /** + * Inicates whether or not texture views bound to this binding must be multisampled. + */ + multisampled?: boolean; + } + export type GPUStorageTextureAccess = "read-only" | "write-only"; + export interface GPUStorageTextureBindingLayout { + /** + * Indicates whether texture views bound to this binding will be bound for read-only or + * write-only access. + */ + access: GPUStorageTextureAccess; + /** + * The required {@link GPUTextureViewDescriptor#format} of texture views bound to this binding. + */ + format: GPUTextureFormat; + /** + * Indicates the required {@link GPUTextureViewDescriptor#dimension} for texture views bound to + * this binding. + * Note: + * This enables Metal-based WebGPU implementations to back the respective bind groups with + * `MTLArgumentBuffer` objects that are more efficient to bind at run-time. + */ + viewDimension?: GPUTextureViewDimension; + } + export interface GPUBindGroup extends GPUObjectBase { + } + export interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase { + layout: GPUBindGroupLayout; + entries: Array; + } + export type GPUBindingResource = GPUSampler | GPUTextureView | GPUBufferBinding; + export interface GPUBindGroupEntry { + binding: GPUIndex32; + resource: GPUBindingResource; + } + export interface GPUBufferBinding { + buffer: GPUBuffer; + offset?: GPUSize64; + size?: GPUSize64; + } + export interface GPUPipelineLayout extends GPUObjectBase { + } + export interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase { + bindGroupLayouts: Array; + } + export type GPUCompilationMessageType = "error" | "warning" | "info"; + export interface GPUCompilationMessage { + readonly message: string; + readonly type: GPUCompilationMessageType; + readonly lineNum: number; + readonly linePos: number; + } + export interface GPUCompilationInfo { + readonly messages: ReadonlyArray; + } + export interface GPUShaderModule extends GPUObjectBase { + /** + * Returns any messages generated during the {@link GPUShaderModule}'s compilation. + */ + compilationInfo(): Promise; + } + export interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase { + code: string; + sourceMap?: any; + } + export interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase { + layout?: GPUPipelineLayout; + } + export interface GPUPipelineBase { + /** + * Gets a {@link GPUBindGroupLayout} that is compatible with the {@link GPUPipelineBase}'s + * {@link GPUBindGroupLayout} at `index`. + * @param index - Index into the pipeline layout's {@link GPUPipelineLayout#[[bindGroupLayouts]]} + * sequence. + */ + getBindGroupLayout(index: number): GPUBindGroupLayout; + } + export interface GPUProgrammableStage { + module: GPUShaderModule; + entryPoint: string; + } + export interface GPUComputePipeline extends GPUObjectBase, GPUPipelineBase { + } + export interface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase { + compute: GPUProgrammableStage; + } + export interface GPURenderPipeline extends GPUObjectBase, GPUPipelineBase { + } + export interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase { + vertex: GPUVertexState; + primitive?: GPUPrimitiveState; + depthStencil?: GPUDepthStencilState; + multisample?: GPUMultisampleState; + fragment?: GPUFragmentState; + } + export type GPUPrimitiveTopology = "point-list" | "line-list" | "line-strip" | "triangle-list" | "triangle-strip"; + export interface GPUPrimitiveState { + topology?: GPUPrimitiveTopology; + stripIndexFormat?: GPUIndexFormat; + frontFace?: GPUFrontFace; + cullMode?: GPUCullMode; + } + export type GPUFrontFace = "ccw" | "cw"; + export type GPUCullMode = "none" | "front" | "back"; + export interface GPUMultisampleState { + count?: GPUSize32; + mask?: GPUSampleMask; + alphaToCoverageEnabled?: boolean; + } + export interface GPUFragmentState extends GPUProgrammableStage { + targets: Array; + } + export interface GPUColorTargetState { + format: GPUTextureFormat; + blend?: GPUBlendState; + writeMask?: GPUColorWriteFlags; + } + export interface GPUBlendState { + color: GPUBlendComponent; + alpha: GPUBlendComponent; + } + export type GPUColorWriteFlags = number; + export interface GPUColorWrite { + readonly RED: GPUFlagsConstant; + readonly GREEN: GPUFlagsConstant; + readonly BLUE: GPUFlagsConstant; + readonly ALPHA: GPUFlagsConstant; + readonly ALL: GPUFlagsConstant; + } + export interface GPUBlendComponent { + srcFactor?: GPUBlendFactor; + dstFactor?: GPUBlendFactor; + operation?: GPUBlendOperation; + } + export type GPUBlendFactor = "zero" | "one" | "src-color" | "one-minus-src-color" | "src-alpha" | "one-minus-src-alpha" | "dst-color" | "one-minus-dst-color" | "dst-alpha" | "one-minus-dst-alpha" | "src-alpha-saturated" | "blend-color" | "one-minus-blend-color"; + export type GPUBlendOperation = "add" | "subtract" | "reverse-subtract" | "min" | "max"; + export interface GPUDepthStencilState { + format: GPUTextureFormat; + depthWriteEnabled?: boolean; + depthCompare?: GPUCompareFunction; + stencilFront?: GPUStencilFaceState; + stencilBack?: GPUStencilFaceState; + stencilReadMask?: GPUStencilValue; + stencilWriteMask?: GPUStencilValue; + depthBias?: GPUDepthBias; + depthBiasSlopeScale?: number; + depthBiasClamp?: number; + clampDepth?: boolean; + } + export interface GPUStencilFaceState { + compare?: GPUCompareFunction; + failOp?: GPUStencilOperation; + depthFailOp?: GPUStencilOperation; + passOp?: GPUStencilOperation; + } + export type GPUStencilOperation = "keep" | "zero" | "replace" | "invert" | "increment-clamp" | "decrement-clamp" | "increment-wrap" | "decrement-wrap"; + export type GPUIndexFormat = "uint16" | "uint32"; + export type GPUVertexFormat = "uint8x2" | "uint8x4" | "sint8x2" | "sint8x4" | "unorm8x2" | "unorm8x4" | "snorm8x2" | "snorm8x4" | "uint16x2" | "uint16x4" | "sint16x2" | "sint16x4" | "unorm16x2" | "unorm16x4" | "snorm16x2" | "snorm16x4" | "float16x2" | "float16x4" | "float32" | "float32x2" | "float32x3" | "float32x4" | "uint32" | "uint32x2" | "uint32x3" | "uint32x4" | "sint32" | "sint32x2" | "sint32x3" | "sint32x4"; + export type GPUInputStepMode = "vertex" | "instance"; + export interface GPUVertexState extends GPUProgrammableStage { + buffers?: Array; + } + export interface GPUVertexBufferLayout { + arrayStride: GPUSize64; + stepMode?: GPUInputStepMode; + attributes: Array; + } + export interface GPUVertexAttribute { + format: GPUVertexFormat; + offset: GPUSize64; + shaderLocation: GPUIndex32; + } + export interface GPUCommandBuffer extends GPUObjectBase { + /** + * The total time, in seconds, that the GPU took to execute this command buffer. + * Note: + * If {@link GPUCommandEncoderDescriptor#measureExecutionTime} is `true`, + * this resolves after the command buffer executes. + * Otherwise, this rejects with an {@link OperationError}. + *
+ * Specify the creation and resolution of the promise. + * In {@link GPUCommandEncoder#finish}, it should be specified that a + * new promise is created and stored in this attribute. + * The promise starts rejected if {@link GPUCommandEncoderDescriptor#measureExecutionTime} + * is `false`. If the finish() fails, then the promise resolves to 0. + * In {@link GPUQueue#submit}, it should be specified that (if + * {@link GPUCommandEncoderDescriptor#measureExecutionTime} is set), work + * is issued to read back the execution time, and, when that completes, + * the promise is resolved with that value. + * If the submit() fails, then the promise resolves to 0. + *
+ */ + readonly executionTime: Promise; + } + export type GPUCommandBufferDescriptor = GPUObjectDescriptorBase; + export interface GPUCommandEncoder extends GPUObjectBase { + /** + * Begins encoding a render pass described by `descriptor`. + * @param descriptor - Description of the {@link GPURenderPassEncoder} to create. + */ + beginRenderPass(descriptor: GPURenderPassDescriptor): GPURenderPassEncoder; + /** + * Begins encoding a compute pass described by `descriptor`. + * descriptor: + */ + beginComputePass(descriptor?: GPUComputePassDescriptor): GPUComputePassEncoder; + /** + * Encode a command into the {@link GPUCommandEncoder} that copies data from a sub-region of a + * {@link GPUBuffer} to a sub-region of another {@link GPUBuffer}. + * @param source - The {@link GPUBuffer} to copy from. + * @param sourceOffset - Offset in bytes into `source` to begin copying from. + * @param destination - The {@link GPUBuffer} to copy to. + * @param destinationOffset - Offset in bytes into `destination` to place the copied data. + * @param size - Bytes to copy. + */ + copyBufferToBuffer(source: GPUBuffer, sourceOffset: GPUSize64, destination: GPUBuffer, destinationOffset: GPUSize64, size: GPUSize64): undefined; + /** + * Encode a command into the {@link GPUCommandEncoder} that copies data from a sub-region of a + * {@link GPUBuffer} to a sub-region of one or multiple continuous texture subresources. + * @param source - Combined with `copySize`, defines the region of the source buffer. + * @param destination - Combined with `copySize`, defines the region of the destination texture subresource. + * `copySize`: + */ + copyBufferToTexture(source: GPUImageCopyBuffer, destination: GPUImageCopyTexture, copySize: GPUExtent3D): undefined; + /** + * Encode a command into the {@link GPUCommandEncoder} that copies data from a sub-region of one or + * multiple continuous texture subresourcesto a sub-region of a {@link GPUBuffer}. + * @param source - Combined with `copySize`, defines the region of the source texture subresources. + * @param destination - Combined with `copySize`, defines the region of the destination buffer. + * `copySize`: + */ + copyTextureToBuffer(source: GPUImageCopyTexture, destination: GPUImageCopyBuffer, copySize: GPUExtent3D): undefined; + /** + * Encode a command into the {@link GPUCommandEncoder} that copies data from a sub-region of one + * or multiple contiguous texture subresources to another sub-region of one or + * multiple continuous texture subresources. + * @param source - Combined with `copySize`, defines the region of the source texture subresources. + * @param destination - Combined with `copySize`, defines the region of the destination texture subresources. + * `copySize`: + */ + copyTextureToTexture(source: GPUImageCopyTexture, destination: GPUImageCopyTexture, copySize: GPUExtent3D): undefined; + /** + * Marks the beginning of a labeled group of commands for the {@link GPUCommandEncoder}. + * @param groupLabel - The label for the command group. + */ + pushDebugGroup(groupLabel: string): undefined; + /** + * Marks the end of a labeled group of commands for the {@link GPUCommandEncoder}. + */ + popDebugGroup(): undefined; + /** + * Marks the end of a labeled group of commands for the {@link GPUCommandEncoder}. + * @param markerLabel - The label to insert. + */ + insertDebugMarker(markerLabel: string): undefined; + /** + * Writes a timestamp value into `querySet` when all previous commands have completed executing. + * @param querySet - The query set that will store the timestamp values. + * @param queryIndex - The index of the query in the query set. + */ + writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32): undefined; + /** + * querySet: + * firstQuery: + * queryCount: + * destination: + * destinationOffset: + */ + resolveQuerySet(querySet: GPUQuerySet, firstQuery: GPUSize32, queryCount: GPUSize32, destination: GPUBuffer, destinationOffset: GPUSize64): undefined; + /** + * Completes recording of the commands sequence and returns a corresponding {@link GPUCommandBuffer}. + * descriptor: + */ + finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer; + } + export interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase { + /** + * Enable measurement of the GPU execution time of the entire command buffer. + */ + measureExecutionTime?: boolean; + } + export interface GPUImageDataLayout { + offset?: GPUSize64; + /** + * The stride, in bytes, between the beginning of each block row and the subsequent block row. + * Required if there are multiple block rows (i.e. the height or depth is more than one block). + */ + bytesPerRow?: GPUSize32; + /** + * Number of block rows per single image of the texture. + * {@link GPUImageDataLayout#rowsPerImage} × + * {@link GPUImageDataLayout#bytesPerRow} is the stride, in bytes, between the beginning of each image of data and the subsequent image. + * Required if there are multiple images (i.e. the depth is more than one). + */ + rowsPerImage?: GPUSize32; + } + export interface GPUImageCopyBuffer extends GPUImageDataLayout { + buffer: GPUBuffer; + } + export interface GPUImageCopyTexture { + texture: GPUTexture; + mipLevel?: GPUIntegerCoordinate; + origin?: GPUOrigin3D; + aspect?: GPUTextureAspect; + } + export interface GPUImageCopyImageBitmap { + imageBitmap: ImageBitmap; + origin?: GPUOrigin2D; + } + export interface GPUProgrammablePassEncoder { + /** + * Sets the current {@link GPUBindGroup} for the given index. + * @param index - The index to set the bind group at. + * @param bindGroup - Bind group to use for subsequent render or compute commands. + * + * @param dynamicOffsets - Array containing buffer offsets in bytes for each entry in + * `bindGroup` marked as {@link GPUBindGroupLayoutEntry#buffer}.{@link GPUBufferBindingLayout#hasDynamicOffset}.--> + */ + setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup, dynamicOffsets?: Array): undefined; + /** + * Sets the current {@link GPUBindGroup} for the given index, specifying dynamic offsets as a subset + * of a {@link Uint32Array}. + * @param index - The index to set the bind group at. + * @param bindGroup - Bind group to use for subsequent render or compute commands. + * @param dynamicOffsetsData - Array containing buffer offsets in bytes for each entry in + * `bindGroup` marked as {@link GPUBindGroupLayoutEntry#buffer}.{@link GPUBufferBindingLayout#hasDynamicOffset}. + * @param dynamicOffsetsDataStart - Offset in elements into `dynamicOffsetsData` where the + * buffer offset data begins. + * @param dynamicOffsetsDataLength - Number of buffer offsets to read from `dynamicOffsetsData`. + */ + setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup, dynamicOffsetsData: Uint32Array, dynamicOffsetsDataStart: GPUSize64, dynamicOffsetsDataLength: GPUSize32): undefined; + /** + * Marks the beginning of a labeled group of commands for the {@link GPUProgrammablePassEncoder}. + * @param groupLabel - The label for the command group. + */ + pushDebugGroup(groupLabel: string): undefined; + /** + * Marks the end of a labeled group of commands for the {@link GPUProgrammablePassEncoder}. + */ + popDebugGroup(): undefined; + /** + * Inserts a single debug marker label into the {@link GPUProgrammablePassEncoder}'s commands sequence. + * @param markerLabel - The label to insert. + */ + insertDebugMarker(markerLabel: string): undefined; + } + export interface GPUComputePassEncoder extends GPUObjectBase, GPUProgrammablePassEncoder { + /** + * Sets the current {@link GPUComputePipeline}. + * @param pipeline - The compute pipeline to use for subsequent dispatch commands. + */ + setPipeline(pipeline: GPUComputePipeline): undefined; + /** + * Dispatch work to be performed with the current {@link GPUComputePipeline}. + * @param x - X dimension of the grid of workgroups to dispatch. + * @param y - Y dimension of the grid of workgroups to dispatch. + * @param z - Z dimension of the grid of workgroups to dispatch. + */ + dispatch(x: GPUSize32, y?: GPUSize32, z?: GPUSize32): undefined; + /** + * Dispatch work to be performed with the current {@link GPUComputePipeline} using parameters read + * from a {@link GPUBuffer}. + * packed block of **three 32-bit unsigned integer values (12 bytes total)**, given in the same + * order as the arguments for {@link GPUComputePassEncoder#dispatch}. For example: + * ```js + * let dispatchIndirectParameters = new Uint32Array(3); + * dispatchIndirectParameters[0] = x; + * dispatchIndirectParameters[1] = y; + * dispatchIndirectParameters[2] = z; + * ``` + * @param indirectBuffer - Buffer containing the indirect dispatch parameters. + * @param indirectOffset - Offset in bytes into `indirectBuffer` where the dispatch data begins. + */ + dispatchIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): undefined; + /** + * querySet: + * queryIndex: + */ + beginPipelineStatisticsQuery(querySet: GPUQuerySet, queryIndex: GPUSize32): undefined; + /** + */ + endPipelineStatisticsQuery(): undefined; + /** + * Writes a timestamp value into `querySet` when all previous commands have completed executing. + * @param querySet - The query set that will store the timestamp values. + * @param queryIndex - The index of the query in the query set. + */ + writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32): undefined; + /** + * Completes recording of the compute pass commands sequence. + */ + endPass(): undefined; + } + export type GPUComputePassDescriptor = GPUObjectDescriptorBase; + export interface GPURenderEncoderBase { + /** + * Sets the current {@link GPURenderPipeline}. + * @param pipeline - The render pipeline to use for subsequent drawing commands. + */ + setPipeline(pipeline: GPURenderPipeline): undefined; + /** + * Sets the current index buffer. + * @param buffer - Buffer containing index data to use for subsequent drawing commands. + * @param indexFormat - Format of the index data contained in `buffer`. + * @param offset - Offset in bytes into `buffer` where the index data begins. + * @param size - Size in bytes of the index data in `buffer`. + * If `0`, `buffer.size` - `offset` is used. + */ + setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: GPUSize64, size?: GPUSize64): undefined; + /** + * Sets the current vertex buffer for the given slot. + * @param slot - The vertex buffer slot to set the vertex buffer for. + * @param buffer - Buffer containing vertex data to use for subsequent drawing commands. + * @param offset - Offset in bytes into `buffer` where the vertex data begins. + * @param size - Size in bytes of the vertex data in `buffer`. + * If `0`, `buffer.size` - `offset` is used. + */ + setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer, offset?: GPUSize64, size?: GPUSize64): undefined; + /** + * Draws primitives. + * @param vertexCount - The number of vertices to draw. + * @param instanceCount - The number of instances to draw. + * @param firstVertex - Offset into the vertex buffers, in vertices, to begin drawing from. + * @param firstInstance - First instance to draw. + */ + draw(vertexCount: GPUSize32, instanceCount?: GPUSize32, firstVertex?: GPUSize32, firstInstance?: GPUSize32): undefined; + /** + * Draws indexed primitives. + * @param indexCount - The number of indices to draw. + * @param instanceCount - The number of instances to draw. + * @param firstIndex - Offset into the index buffer, in indices, begin drawing from. + * @param baseVertex - Added to each index value before indexing into the vertex buffers. + * @param firstInstance - First instance to draw. + */ + drawIndexed(indexCount: GPUSize32, instanceCount?: GPUSize32, firstIndex?: GPUSize32, baseVertex?: GPUSignedOffset32, firstInstance?: GPUSize32): undefined; + /** + * Draws primitives using parameters read from a {@link GPUBuffer}. + * packed block of **four 32-bit unsigned integer values (16 bytes total)**, given in the same + * order as the arguments for {@link GPURenderEncoderBase#draw}. For example: + * ```js + * let drawIndirectParameters = new Uint32Array(4); + * drawIndirectParameters[0] = vertexCount; + * drawIndirectParameters[1] = instanceCount; + * drawIndirectParameters[2] = firstVertex; + * drawIndirectParameters[3] = firstInstance; + * ``` + * @param indirectBuffer - Buffer containing the indirect draw parameters. + * @param indirectOffset - Offset in bytes into `indirectBuffer` where the drawing data begins. + */ + drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): undefined; + /** + * Draws indexed primitives using parameters read from a {@link GPUBuffer}. + * tightly packed block of **five 32-bit unsigned integer values (20 bytes total)**, given in + * the same order as the arguments for {@link GPURenderEncoderBase#drawIndexed}. For example: + * ```js + * let drawIndexedIndirectParameters = new Uint32Array(5); + * drawIndexedIndirectParameters[0] = indexCount; + * drawIndexedIndirectParameters[1] = instanceCount; + * drawIndexedIndirectParameters[2] = firstIndex; + * drawIndexedIndirectParameters[3] = baseVertex; + * drawIndexedIndirectParameters[4] = firstInstance; + * ``` + * @param indirectBuffer - Buffer containing the indirect drawIndexed parameters. + * @param indirectOffset - Offset in bytes into `indirectBuffer` where the drawing data begins. + */ + drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): undefined; + } + export interface GPURenderPassEncoder extends GPUObjectBase, GPUProgrammablePassEncoder, GPURenderEncoderBase { + /** + * Sets the viewport used during the rasterization stage to linearly map from normalized device + * coordinates to viewport coordinates. + * @param x - Minimum X value of the viewport in pixels. + * @param y - Minimum Y value of the viewport in pixels. + * @param width - Width of the viewport in pixels. + * @param height - Height of the viewport in pixels. + * @param minDepth - Minimum depth value of the viewport. + * @param maxDepth - Maximum depth value of the viewport. + */ + setViewport(x: number, y: number, width: number, height: number, minDepth: number, maxDepth: number): undefined; + /** + * Sets the scissor rectangle used during the rasterization stage. + * After transformation into viewport coordinates any fragments which fall outside the scissor + * rectangle will be discarded. + * @param x - Minimum X value of the scissor rectangle in pixels. + * @param y - Minimum Y value of the scissor rectangle in pixels. + * @param width - Width of the scissor rectangle in pixels. + * @param height - Height of the scissor rectangle in pixels. + */ + setScissorRect(x: GPUIntegerCoordinate, y: GPUIntegerCoordinate, width: GPUIntegerCoordinate, height: GPUIntegerCoordinate): undefined; + /** + * Sets the constant blend color and alpha values used with {@link GPUBlendFactor#"blend-color"} + * and {@link GPUBlendFactor#"one-minus-blend-color"} {@link GPUBlendFactor}s. + * @param color - The color to use when blending. + */ + setBlendColor(color: GPUColor): undefined; + /** + * Sets the stencil reference value used during stencil tests with the the + * {@link GPUStencilOperation#"replace"} {@link GPUStencilOperation}. + * @param reference - The stencil reference value. + */ + setStencilReference(reference: GPUStencilValue): undefined; + /** + * queryIndex: + */ + beginOcclusionQuery(queryIndex: GPUSize32): undefined; + /** + */ + endOcclusionQuery(): undefined; + /** + * querySet: + * queryIndex: + */ + beginPipelineStatisticsQuery(querySet: GPUQuerySet, queryIndex: GPUSize32): undefined; + /** + */ + endPipelineStatisticsQuery(): undefined; + /** + * Writes a timestamp value into `querySet` when all previous commands have completed executing. + * @param querySet - The query set that will store the timestamp values. + * @param queryIndex - The index of the query in the query set. + */ + writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32): undefined; + /** + * Executes the commands previously recorded into the given {@link GPURenderBundle}s as part of + * this render pass. + * When a {@link GPURenderBundle} is executed, it does not inherit the render pass's pipeline, bind + * groups, or vertex and index buffers. After a {@link GPURenderBundle} has executed, the render + * pass's pipeline, bind groups, and vertex and index buffers are cleared. + * Note: state is cleared even if zero {@link GPURenderBundle|GPURenderBundles} are executed. + * @param bundles - List of render bundles to execute. + */ + executeBundles(bundles: Array): undefined; + /** + * Completes recording of the render pass commands sequence. + */ + endPass(): undefined; + } + export interface GPURenderPassDescriptor extends GPUObjectDescriptorBase { + /** + * The set of {@link GPURenderPassColorAttachment} values in this sequence defines which + * color attachments will be output to when executing this render pass. + */ + colorAttachments: Array; + /** + * The {@link GPURenderPassDepthStencilAttachment} value that defines the depth/stencil + * attachment that will be output to and tested against when executing this render pass. + */ + depthStencilAttachment?: GPURenderPassDepthStencilAttachment; + /** + * Issue: Describe this dictionary member + */ + occlusionQuerySet?: GPUQuerySet; + } + export interface GPURenderPassColorAttachment { + /** + * A {@link GPUTextureView} describing the texture subresource that will be output to for this + * color attachment. + */ + view: GPUTextureView; + /** + * A {@link GPUTextureView} describing the texture subresource that will receive the resolved + * output for this color attachment if {@link GPURenderPassColorAttachment#view} is + * multisampled. + */ + resolveTarget?: GPUTextureView; + /** + * If a {@link GPULoadOp}, indicates the load operation to perform on + * {@link GPURenderPassColorAttachment#view} prior to executing the render pass. + * If a {@link GPUColor}, indicates the value to clear {@link GPURenderPassColorAttachment#view} + * to prior to executing the render pass. + */ + loadValue: GPULoadOp | GPUColor; + /** + * The store operation to perform on {@link GPURenderPassColorAttachment#view} + * after executing the render pass. + */ + storeOp?: GPUStoreOp; + } + export interface GPURenderPassDepthStencilAttachment { + /** + * A {@link GPUTextureView} describing the texture subresource that will be output to + * and read from for this depth/stencil attachment. + */ + view: GPUTextureView; + /** + * If a {@link GPULoadOp}, indicates the load operation to perform on + * {@link GPURenderPassDepthStencilAttachment#view}'s depth component prior to + * executing the render pass. + * If a `float`, indicates the value to clear {@link GPURenderPassDepthStencilAttachment#view}'s + * depth component to prior to executing the render pass. + */ + depthLoadValue: GPULoadOp | number; + /** + * The store operation to perform on {@link GPURenderPassDepthStencilAttachment#view}'s + * depth component after executing the render pass. + */ + depthStoreOp: GPUStoreOp; + /** + * Indicates that the depth component of {@link GPURenderPassDepthStencilAttachment#view} + * is read only. + */ + depthReadOnly?: boolean; + /** + * If a {@link GPULoadOp}, indicates the load operation to perform on + * {@link GPURenderPassDepthStencilAttachment#view}'s stencil component prior to + * executing the render pass. + * If a {@link GPUStencilValue}, indicates the value to clear + * {@link GPURenderPassDepthStencilAttachment#view}'s stencil component to prior to + * executing the render pass. + */ + stencilLoadValue: GPULoadOp | GPUStencilValue; + /** + * The store operation to perform on {@link GPURenderPassDepthStencilAttachment#view}'s + * stencil component after executing the render pass. + */ + stencilStoreOp: GPUStoreOp; + /** + * Indicates that the stencil component of {@link GPURenderPassDepthStencilAttachment#view} + * is read only. + */ + stencilReadOnly?: boolean; + } + export type GPULoadOp = "load"; + export type GPUStoreOp = "store" | "clear"; + export interface GPURenderBundle extends GPUObjectBase { + } + export type GPURenderBundleDescriptor = GPUObjectDescriptorBase; + export interface GPURenderBundleEncoder extends GPUObjectBase, GPUProgrammablePassEncoder, GPURenderEncoderBase { + /** + * Completes recording of the render bundle commands sequence. + * descriptor: + */ + finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle; + } + export interface GPURenderBundleEncoderDescriptor extends GPUObjectDescriptorBase { + colorFormats: Array; + depthStencilFormat?: GPUTextureFormat; + sampleCount?: GPUSize32; + } + export interface GPUQueue extends GPUObjectBase { + /** + * Schedules the execution of the command buffers by the GPU on this queue. + * `commandBuffers`: + */ + submit(commandBuffers: Array): undefined; + /** + * Returns a {@link Promise} that resolves once this queue finishes processing all the work submitted + * up to this moment. + */ + onSubmittedWorkDone(): Promise; + /** + * Issues a write operation of the provided data into a {@link GPUBuffer}. + * @param buffer - The buffer to write to. + * @param bufferOffset - Offset in bytes into `buffer` to begin writing at. + * @param data - Data to write into `buffer`. + * @param dataOffset - Offset in into `data` to begin writing from. Given in elements if + * `data` is a `TypedArray` and bytes otherwise. + * @param size - Size of content to write from `data` to `buffer`. Given in elements if + * `data` is a `TypedArray` and bytes otherwise. + */ + writeBuffer(buffer: GPUBuffer, bufferOffset: GPUSize64, data: BufferSource, dataOffset?: GPUSize64, size?: GPUSize64): undefined; + /** + * Issues a write operation of the provided data into a {@link GPUTexture}. + * @param destination - The texture subresource and origin to write to. + * @param data - Data to write into `destination`. + * @param dataLayout - Layout of the content in `data`. + * @param size - Extents of the content to write from `data` to `destination`. + */ + writeTexture(destination: GPUImageCopyTexture, data: BufferSource, dataLayout: GPUImageDataLayout, size: GPUExtent3D): undefined; + /** + * Schedules a copy operation of the contents of an image bitmap into the destination texture. + * @param source - {@link ImageBitmap} and origin to copy to `destination`. + * @param destination - The texture subresource and origin to write to. + * @param copySize - Extents of the content to write from `source` to `destination`. + */ + copyImageBitmapToTexture(source: GPUImageCopyImageBitmap, destination: GPUImageCopyTexture, copySize: GPUExtent3D): undefined; + } + export interface GPUQuerySet extends GPUObjectBase { + /** + * Destroys the {@link GPUQuerySet}. + */ + destroy(): undefined; + } + export interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase { + /** + * The type of queries managed by {@link GPUQuerySet}. + */ + type: GPUQueryType; + /** + * The number of queries managed by {@link GPUQuerySet}. + */ + count: GPUSize32; + /** + * The set of {@link GPUPipelineStatisticName} values in this sequence defines which pipeline statistics will be returned in the new query set. + */ + pipelineStatistics?: Array; + } + export type GPUQueryType = "occlusion" | "pipeline-statistics" | "timestamp"; + export type GPUPipelineStatisticName = "vertex-shader-invocations" | "clipper-invocations" | "clipper-primitives-out" | "fragment-shader-invocations" | "compute-shader-invocations"; + export interface GPUCanvasContext { + /** + * Configures the swap chain for this canvas, and returns a new + * {@link GPUSwapChain} object representing it. Destroys any swapchain + * previously returned by `configureSwapChain`, including all of the + * textures it has produced. + * @param descriptor - Description of the {@link GPUSwapChain} to configure. + */ + configureSwapChain(descriptor: GPUSwapChainDescriptor): GPUSwapChain; + /** + * Returns an optimal {@link GPUTextureFormat} to use for swap chains with this context and the + * given device. + * @param adapter - Adapter the swap chain format should be queried for. + */ + getSwapChainPreferredFormat(adapter: GPUAdapter): GPUTextureFormat; + } + export interface GPUSwapChainDescriptor extends GPUObjectDescriptorBase { + device: GPUDevice; + format: GPUTextureFormat; + usage?: GPUTextureUsageFlags; + } + export interface GPUSwapChain extends GPUObjectBase { + /** + * Get the {@link GPUTexture} that will be composited to the document by the {@link GPUCanvasContext} + * that created this swap chain next. + * Note: Developers can expect that the same {@link GPUTexture} object will be returned by every + * call to {@link GPUSwapChain#getCurrentTexture} made within the same frame (i.e. between + * invocations of Update the rendering). + */ + getCurrentTexture(): GPUTexture; + } + export type GPUDeviceLostReason = "destroyed"; + export interface GPUDeviceLostInfo { + readonly reason: GPUDeviceLostReason | undefined; + readonly message: string; + } + export type GPUErrorFilter = "out-of-memory" | "validation"; + export interface GPUOutOfMemoryError { + new (); + } + export interface GPUValidationError { + new (message: string); + readonly message: string; + } + export type GPUError = GPUOutOfMemoryError | GPUValidationError; + export interface GPUUncapturedErrorEvent extends Event { + new (type: string, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit); + readonly error: GPUError; + } + export interface GPUUncapturedErrorEventInit extends EventInit { + error: GPUError; + } + export type GPUBufferDynamicOffset = number; + export type GPUStencilValue = number; + export type GPUSampleMask = number; + export type GPUDepthBias = number; + export type GPUSize64 = number; + export type GPUIntegerCoordinate = number; + export type GPUIndex32 = number; + export type GPUSize32 = number; + export type GPUSignedOffset32 = number; + export type GPUFlagsConstant = number; + export interface GPUColorDict { + r: number; + g: number; + b: number; + a: number; + } + export type GPUColor = Array | GPUColorDict; + export interface GPUOrigin2DDict { + x?: GPUIntegerCoordinate; + y?: GPUIntegerCoordinate; + } + export type GPUOrigin2D = Array | GPUOrigin2DDict; + export interface GPUOrigin3DDict { + x?: GPUIntegerCoordinate; + y?: GPUIntegerCoordinate; + z?: GPUIntegerCoordinate; + } + export type GPUOrigin3D = Array | GPUOrigin3DDict; + export interface GPUExtent3DDict { + width: GPUIntegerCoordinate; + height?: GPUIntegerCoordinate; + depthOrArrayLayers?: GPUIntegerCoordinate; + } + export type GPUExtent3D = Array | GPUExtent3DDict; } +export {}; From ba6ab9d1b82a1f29d2ead1fd8ec83ab19125a0ef Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Thu, 4 Mar 2021 14:20:02 -0500 Subject: [PATCH 05/15] Updated gpuweb submodule --- gpuweb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gpuweb b/gpuweb index 03e8058f..2355dad1 160000 --- a/gpuweb +++ b/gpuweb @@ -1 +1 @@ -Subproject commit 03e8058f0e37d6084c5a1574121e3942221d514f +Subproject commit 2355dad1b7b61bd3c4fc6c514ea27fe2aa513ce3 From 58071138cfc1e0ec055bec6c430a72ff01fca6d1 Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Thu, 4 Mar 2021 14:34:31 -0500 Subject: [PATCH 06/15] Updated bikeshed-to-ts --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index eded3cfb..d28f0de8 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,6 @@ "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/index.d.ts --forceGlobal" }, "devDependencies": { - "bikeshed-to-ts": "^1.0.6" + "bikeshed-to-ts": "^1.1.0" } } diff --git a/yarn.lock b/yarn.lock index 948221cc..4c266ba4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -99,10 +99,10 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bikeshed-to-ts@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/bikeshed-to-ts/-/bikeshed-to-ts-1.0.6.tgz#37e29a6907d7dce1ed52a82ff26272ac4c094467" - integrity sha512-KwLaMP8xlQ9cFb8I19odp+MkDP/E1mXe7B5M1Z6iqMmIqvV6Sc+zIo4DVB7M1hcVI9KXqobZCrA1hoHdmhBq8Q== +bikeshed-to-ts@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/bikeshed-to-ts/-/bikeshed-to-ts-1.1.0.tgz#0b3445ae40ad8f510ca39d0fb0f6c062437a1fef" + integrity sha512-yNcF292rBmOKeVVxetg4kXuSozLT/NH/QoMh4WAJZBItg4q4aeWGoEX9o27nWRgFTZRMlGFCZQRF1sTcvQJDUA== dependencies: "@dekkai/data-source" "^0.2.1" typescript "^4.2.2" From adfe7c9eb021f56b7181eb36294c9853ea929a6b Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Thu, 4 Mar 2021 14:41:44 -0500 Subject: [PATCH 07/15] Updated generation script --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d28f0de8..1da5b866 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dist/**/*" ], "scripts": { - "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/index.d.ts --forceGlobal" + "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/index.d.ts --forceGlobal --nominal" }, "devDependencies": { "bikeshed-to-ts": "^1.1.0" From 4137e6d5070cbb7cc22f3df870a1bf3aad6ae7a7 Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Thu, 4 Mar 2021 14:42:02 -0500 Subject: [PATCH 08/15] Updated types definition file --- dist/index.d.ts | 830 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 656 insertions(+), 174 deletions(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index db9539f0..85deeb41 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,15 +1,5 @@ -// **************************************************************** -// NOTE: -// This file is generated automatically from the spec file -// `gpuweb/spec/index.bs` which points at the spec repo. -// As the spec evolves the spec will be incomplete or have bugs, -// every change needed for this file to work should be tracked here -// **************************************************************** -// -// - commented out `GPUDevice.onuncapturederror` as its type doesn't exist - declare global { - export interface GPUObjectBase { + interface GPUObjectBase { /** * A label which can be used by development tools (such as error/warning messages, * browser developer tools, or platform debugging utilities) to identify the underlying @@ -19,39 +9,63 @@ declare global { */ label: string; } - export interface GPUObjectDescriptorBase { + interface GPUObjectDescriptorBase { /** * The initial value of {@link GPUObjectBase#label|GPUObjectBase.label}. */ label?: string; } - export interface GPUAdapterLimits { - readonly maxTextureDimension1D: GPUSize32; - readonly maxTextureDimension2D: GPUSize32; - readonly maxTextureDimension3D: GPUSize32; - readonly maxTextureArrayLayers: GPUSize32; - readonly maxBindGroups: GPUSize32; - readonly maxDynamicUniformBuffersPerPipelineLayout: GPUSize32; - readonly maxDynamicStorageBuffersPerPipelineLayout: GPUSize32; - readonly maxSampledTexturesPerShaderStage: GPUSize32; - readonly maxSamplersPerShaderStage: GPUSize32; - readonly maxStorageBuffersPerShaderStage: GPUSize32; - readonly maxStorageTexturesPerShaderStage: GPUSize32; - readonly maxUniformBuffersPerShaderStage: GPUSize32; - readonly maxUniformBufferBindingSize: GPUSize32; - readonly maxStorageBufferBindingSize: GPUSize32; - readonly maxVertexBuffers: GPUSize32; - readonly maxVertexAttributes: GPUSize32; - readonly maxVertexBufferArrayStride: GPUSize32; - } - export type GPUAdapterFeatures = ReadonlySet; - export interface Navigator { + interface GPUAdapterLimits { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUAdapterLimits'; + readonly maxTextureDimension1D: number; + readonly maxTextureDimension2D: number; + readonly maxTextureDimension3D: number; + readonly maxTextureArrayLayers: number; + readonly maxBindGroups: number; + readonly maxDynamicUniformBuffersPerPipelineLayout: number; + readonly maxDynamicStorageBuffersPerPipelineLayout: number; + readonly maxSampledTexturesPerShaderStage: number; + readonly maxSamplersPerShaderStage: number; + readonly maxStorageBuffersPerShaderStage: number; + readonly maxStorageTexturesPerShaderStage: number; + readonly maxUniformBuffersPerShaderStage: number; + readonly maxUniformBufferBindingSize: number; + readonly maxStorageBufferBindingSize: number; + readonly maxVertexBuffers: number; + readonly maxVertexAttributes: number; + readonly maxVertexBufferArrayStride: number; + } + type GPUAdapterFeatures = ReadonlySet; + interface Navigator { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'Navigator'; readonly gpu: GPU; } - export interface WorkerNavigator { + interface WorkerNavigator { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'WorkerNavigator'; readonly gpu: GPU; } - export interface GPU { + interface GPU { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPU'; /** * Requests an adapter from the user agent. * The user agent chooses whether to return an adapter, and, if so, @@ -60,11 +74,23 @@ declare global { */ requestAdapter(options?: GPURequestAdapterOptions): Promise; } - export interface GPURequestAdapterOptions { + interface GPURequestAdapterOptions { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURequestAdapterOptions'; powerPreference?: GPUPowerPreference; } - export type GPUPowerPreference = "low-power" | "high-performance"; - export interface GPUAdapter { + type GPUPowerPreference = "low-power" | "high-performance"; + interface GPUAdapter { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUAdapter'; /** * A human-readable name identifying the adapter. * The contents are implementation-defined. @@ -84,7 +110,13 @@ declare global { */ requestDevice(descriptor?: GPUDeviceDescriptor): Promise; } - export interface GPUDeviceDescriptor extends GPUObjectDescriptorBase { + interface GPUDeviceDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUDeviceDescriptor'; /** * The set of {@link GPUFeatureName} values in this sequence defines the exact set of * features that must be enabled on the device. @@ -100,8 +132,14 @@ declare global { */ nonGuaranteedLimits?: Record; } - export type GPUFeatureName = "depth-clamping" | "depth24unorm-stencil8" | "depth32float-stencil8" | "pipeline-statistics-query" | "texture-compression-bc" | "timestamp-query"; - export interface GPUDevice extends EventTarget, GPUObjectBase { + type GPUFeatureName = "depth-clamping" | "depth24unorm-stencil8" | "depth32float-stencil8" | "pipeline-statistics-query" | "texture-compression-bc" | "timestamp-query"; + interface GPUDevice extends EventTarget, GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUDevice'; /** * The {@link GPUAdapter} from which this device was created. */ @@ -223,9 +261,15 @@ declare global { * - There are no error scopes on the stack. */ popErrorScope(): Promise; - // onuncapturederror: EventHandler; + onuncapturederror: EventHandler; } - export interface GPUBuffer extends GPUObjectBase { + interface GPUBuffer extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBuffer'; /** * Maps the given range of the {@link GPUBuffer} and resolves the returned {@link Promise} when the * {@link GPUBuffer}'s content is ready to be accessed with {@link GPUBuffer#getMappedRange}. @@ -250,13 +294,25 @@ declare global { */ destroy(): undefined; } - export interface GPUBufferDescriptor extends GPUObjectDescriptorBase { + interface GPUBufferDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBufferDescriptor'; size: GPUSize64; usage: GPUBufferUsageFlags; mappedAtCreation?: boolean; } - export type GPUBufferUsageFlags = number; - export interface GPUBufferUsage { + type GPUBufferUsageFlags = number; + interface GPUBufferUsage { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBufferUsage'; readonly MAP_READ: GPUFlagsConstant; readonly MAP_WRITE: GPUFlagsConstant; readonly COPY_SRC: GPUFlagsConstant; @@ -268,12 +324,24 @@ declare global { readonly INDIRECT: GPUFlagsConstant; readonly QUERY_RESOLVE: GPUFlagsConstant; } - export type GPUMapModeFlags = number; - export interface GPUMapMode { + type GPUMapModeFlags = number; + interface GPUMapMode { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUMapMode'; readonly READ: GPUFlagsConstant; readonly WRITE: GPUFlagsConstant; } - export interface GPUTexture extends GPUObjectBase { + interface GPUTexture extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUTexture'; /** * Creates a {@link GPUTextureView}. * @param descriptor - Description of the {@link GPUTextureView} to create. @@ -284,7 +352,13 @@ declare global { */ destroy(): undefined; } - export interface GPUTextureDescriptor extends GPUObjectDescriptorBase { + interface GPUTextureDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUTextureDescriptor'; size: GPUExtent3D; mipLevelCount?: GPUIntegerCoordinate; sampleCount?: GPUSize32; @@ -292,18 +366,36 @@ declare global { format: GPUTextureFormat; usage: GPUTextureUsageFlags; } - export type GPUTextureDimension = "1d" | "2d" | "3d"; - export type GPUTextureUsageFlags = number; - export interface GPUTextureUsage { + type GPUTextureDimension = "1d" | "2d" | "3d"; + type GPUTextureUsageFlags = number; + interface GPUTextureUsage { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUTextureUsage'; readonly COPY_SRC: GPUFlagsConstant; readonly COPY_DST: GPUFlagsConstant; readonly SAMPLED: GPUFlagsConstant; readonly STORAGE: GPUFlagsConstant; readonly RENDER_ATTACHMENT: GPUFlagsConstant; } - export interface GPUTextureView extends GPUObjectBase { + interface GPUTextureView extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUTextureView'; } - export interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase { + interface GPUTextureViewDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUTextureViewDescriptor'; format?: GPUTextureFormat; dimension?: GPUTextureViewDimension; aspect?: GPUTextureAspect; @@ -312,12 +404,24 @@ declare global { baseArrayLayer?: GPUIntegerCoordinate; arrayLayerCount?: GPUIntegerCoordinate; } - export type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "cube" | "cube-array" | "3d"; - export type GPUTextureAspect = "all" | "stencil-only" | "depth-only"; - export type GPUTextureFormat = "r8unorm" | "r8snorm" | "r8uint" | "r8sint" | "r16uint" | "r16sint" | "r16float" | "rg8unorm" | "rg8snorm" | "rg8uint" | "rg8sint" | "r32uint" | "r32sint" | "r32float" | "rg16uint" | "rg16sint" | "rg16float" | "rgba8unorm" | "rgba8unorm-srgb" | "rgba8snorm" | "rgba8uint" | "rgba8sint" | "bgra8unorm" | "bgra8unorm-srgb" | "rgb9e5ufloat" | "rgb10a2unorm" | "rg11b10ufloat" | "rg32uint" | "rg32sint" | "rg32float" | "rgba16uint" | "rgba16sint" | "rgba16float" | "rgba32uint" | "rgba32sint" | "rgba32float" | "stencil8" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-unorm" | "bc4-r-snorm" | "bc5-rg-unorm" | "bc5-rg-snorm" | "bc6h-rgb-ufloat" | "bc6h-rgb-float" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "depth24unorm-stencil8" | "depth32float-stencil8"; - export interface GPUSampler extends GPUObjectBase { + type GPUTextureViewDimension = "1d" | "2d" | "2d-array" | "cube" | "cube-array" | "3d"; + type GPUTextureAspect = "all" | "stencil-only" | "depth-only"; + type GPUTextureFormat = "r8unorm" | "r8snorm" | "r8uint" | "r8sint" | "r16uint" | "r16sint" | "r16float" | "rg8unorm" | "rg8snorm" | "rg8uint" | "rg8sint" | "r32uint" | "r32sint" | "r32float" | "rg16uint" | "rg16sint" | "rg16float" | "rgba8unorm" | "rgba8unorm-srgb" | "rgba8snorm" | "rgba8uint" | "rgba8sint" | "bgra8unorm" | "bgra8unorm-srgb" | "rgb9e5ufloat" | "rgb10a2unorm" | "rg11b10ufloat" | "rg32uint" | "rg32sint" | "rg32float" | "rgba16uint" | "rgba16sint" | "rgba16float" | "rgba32uint" | "rgba32sint" | "rgba32float" | "stencil8" | "depth16unorm" | "depth24plus" | "depth24plus-stencil8" | "depth32float" | "bc1-rgba-unorm" | "bc1-rgba-unorm-srgb" | "bc2-rgba-unorm" | "bc2-rgba-unorm-srgb" | "bc3-rgba-unorm" | "bc3-rgba-unorm-srgb" | "bc4-r-unorm" | "bc4-r-snorm" | "bc5-rg-unorm" | "bc5-rg-snorm" | "bc6h-rgb-ufloat" | "bc6h-rgb-float" | "bc7-rgba-unorm" | "bc7-rgba-unorm-srgb" | "depth24unorm-stencil8" | "depth32float-stencil8"; + interface GPUSampler extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUSampler'; } - export interface GPUSamplerDescriptor extends GPUObjectDescriptorBase { + interface GPUSamplerDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUSamplerDescriptor'; addressModeU?: GPUAddressMode; addressModeV?: GPUAddressMode; addressModeW?: GPUAddressMode; @@ -329,21 +433,45 @@ declare global { compare?: GPUCompareFunction; maxAnisotropy?: number; } - export type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat"; - export type GPUFilterMode = "nearest" | "linear"; - export type GPUCompareFunction = "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always"; - export interface GPUBindGroupLayout extends GPUObjectBase { + type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat"; + type GPUFilterMode = "nearest" | "linear"; + type GPUCompareFunction = "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always"; + interface GPUBindGroupLayout extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBindGroupLayout'; } - export interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase { + interface GPUBindGroupLayoutDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBindGroupLayoutDescriptor'; entries: Array; } - export type GPUShaderStageFlags = number; - export interface GPUShaderStage { + type GPUShaderStageFlags = number; + interface GPUShaderStage { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUShaderStage'; readonly VERTEX: GPUFlagsConstant; readonly FRAGMENT: GPUFlagsConstant; readonly COMPUTE: GPUFlagsConstant; } - export interface GPUBindGroupLayoutEntry { + interface GPUBindGroupLayoutEntry { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBindGroupLayoutEntry'; /** * A unique identifier for a resource binding within a * {@link GPUBindGroupLayoutEntry}, a corresponding {@link GPUBindGroupEntry}, @@ -377,8 +505,14 @@ declare global { */ storageTexture?: GPUStorageTextureBindingLayout; } - export type GPUBufferBindingType = "uniform" | "storage" | "read-only-storage"; - export interface GPUBufferBindingLayout { + type GPUBufferBindingType = "uniform" | "storage" | "read-only-storage"; + interface GPUBufferBindingLayout { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBufferBindingLayout'; /** * Indicates the type required for buffers bound to this bindings. */ @@ -392,15 +526,27 @@ declare global { */ minBindingSize?: GPUSize64; } - export type GPUSamplerBindingType = "filtering" | "non-filtering" | "comparison"; - export interface GPUSamplerBindingLayout { + type GPUSamplerBindingType = "filtering" | "non-filtering" | "comparison"; + interface GPUSamplerBindingLayout { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUSamplerBindingLayout'; /** * Indicates the required type of a sampler bound to this bindings. */ type?: GPUSamplerBindingType; } - export type GPUTextureSampleType = "float" | "unfilterable-float" | "depth" | "sint" | "uint"; - export interface GPUTextureBindingLayout { + type GPUTextureSampleType = "float" | "unfilterable-float" | "depth" | "sint" | "uint"; + interface GPUTextureBindingLayout { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUTextureBindingLayout'; /** * Indicates the type required for texture views bound to this binding. */ @@ -418,8 +564,14 @@ declare global { */ multisampled?: boolean; } - export type GPUStorageTextureAccess = "read-only" | "write-only"; - export interface GPUStorageTextureBindingLayout { + type GPUStorageTextureAccess = "read-only" | "write-only"; + interface GPUStorageTextureBindingLayout { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUStorageTextureBindingLayout'; /** * Indicates whether texture views bound to this binding will be bound for read-only or * write-only access. @@ -438,51 +590,111 @@ declare global { */ viewDimension?: GPUTextureViewDimension; } - export interface GPUBindGroup extends GPUObjectBase { + interface GPUBindGroup extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBindGroup'; } - export interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase { + interface GPUBindGroupDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBindGroupDescriptor'; layout: GPUBindGroupLayout; entries: Array; } - export type GPUBindingResource = GPUSampler | GPUTextureView | GPUBufferBinding; - export interface GPUBindGroupEntry { + type GPUBindingResource = GPUSampler | GPUTextureView | GPUBufferBinding; + interface GPUBindGroupEntry { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBindGroupEntry'; binding: GPUIndex32; resource: GPUBindingResource; } - export interface GPUBufferBinding { + interface GPUBufferBinding { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBufferBinding'; buffer: GPUBuffer; offset?: GPUSize64; size?: GPUSize64; } - export interface GPUPipelineLayout extends GPUObjectBase { + interface GPUPipelineLayout extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUPipelineLayout'; } - export interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase { + interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUPipelineLayoutDescriptor'; bindGroupLayouts: Array; } - export type GPUCompilationMessageType = "error" | "warning" | "info"; - export interface GPUCompilationMessage { + type GPUCompilationMessageType = "error" | "warning" | "info"; + interface GPUCompilationMessage { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUCompilationMessage'; readonly message: string; readonly type: GPUCompilationMessageType; readonly lineNum: number; readonly linePos: number; } - export interface GPUCompilationInfo { + interface GPUCompilationInfo { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUCompilationInfo'; readonly messages: ReadonlyArray; } - export interface GPUShaderModule extends GPUObjectBase { + interface GPUShaderModule extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUShaderModule'; /** * Returns any messages generated during the {@link GPUShaderModule}'s compilation. */ compilationInfo(): Promise; } - export interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase { + interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUShaderModuleDescriptor'; code: string; sourceMap?: any; } - export interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase { + interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase { layout?: GPUPipelineLayout; } - export interface GPUPipelineBase { + interface GPUPipelineBase { /** * Gets a {@link GPUBindGroupLayout} that is compatible with the {@link GPUPipelineBase}'s * {@link GPUBindGroupLayout} at `index`. @@ -491,66 +703,138 @@ declare global { */ getBindGroupLayout(index: number): GPUBindGroupLayout; } - export interface GPUProgrammableStage { + interface GPUProgrammableStage { module: GPUShaderModule; entryPoint: string; } - export interface GPUComputePipeline extends GPUObjectBase, GPUPipelineBase { + interface GPUComputePipeline extends GPUObjectBase, GPUPipelineBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUComputePipeline'; } - export interface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase { + interface GPUComputePipelineDescriptor extends GPUPipelineDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUComputePipelineDescriptor'; compute: GPUProgrammableStage; } - export interface GPURenderPipeline extends GPUObjectBase, GPUPipelineBase { + interface GPURenderPipeline extends GPUObjectBase, GPUPipelineBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderPipeline'; } - export interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase { + interface GPURenderPipelineDescriptor extends GPUPipelineDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderPipelineDescriptor'; vertex: GPUVertexState; primitive?: GPUPrimitiveState; depthStencil?: GPUDepthStencilState; multisample?: GPUMultisampleState; fragment?: GPUFragmentState; } - export type GPUPrimitiveTopology = "point-list" | "line-list" | "line-strip" | "triangle-list" | "triangle-strip"; - export interface GPUPrimitiveState { + type GPUPrimitiveTopology = "point-list" | "line-list" | "line-strip" | "triangle-list" | "triangle-strip"; + interface GPUPrimitiveState { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUPrimitiveState'; topology?: GPUPrimitiveTopology; stripIndexFormat?: GPUIndexFormat; frontFace?: GPUFrontFace; cullMode?: GPUCullMode; } - export type GPUFrontFace = "ccw" | "cw"; - export type GPUCullMode = "none" | "front" | "back"; - export interface GPUMultisampleState { + type GPUFrontFace = "ccw" | "cw"; + type GPUCullMode = "none" | "front" | "back"; + interface GPUMultisampleState { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUMultisampleState'; count?: GPUSize32; mask?: GPUSampleMask; alphaToCoverageEnabled?: boolean; } - export interface GPUFragmentState extends GPUProgrammableStage { + interface GPUFragmentState extends GPUProgrammableStage { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUFragmentState'; targets: Array; } - export interface GPUColorTargetState { + interface GPUColorTargetState { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUColorTargetState'; format: GPUTextureFormat; blend?: GPUBlendState; writeMask?: GPUColorWriteFlags; } - export interface GPUBlendState { + interface GPUBlendState { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBlendState'; color: GPUBlendComponent; alpha: GPUBlendComponent; } - export type GPUColorWriteFlags = number; - export interface GPUColorWrite { + type GPUColorWriteFlags = number; + interface GPUColorWrite { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUColorWrite'; readonly RED: GPUFlagsConstant; readonly GREEN: GPUFlagsConstant; readonly BLUE: GPUFlagsConstant; readonly ALPHA: GPUFlagsConstant; readonly ALL: GPUFlagsConstant; } - export interface GPUBlendComponent { + interface GPUBlendComponent { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUBlendComponent'; srcFactor?: GPUBlendFactor; dstFactor?: GPUBlendFactor; operation?: GPUBlendOperation; } - export type GPUBlendFactor = "zero" | "one" | "src-color" | "one-minus-src-color" | "src-alpha" | "one-minus-src-alpha" | "dst-color" | "one-minus-dst-color" | "dst-alpha" | "one-minus-dst-alpha" | "src-alpha-saturated" | "blend-color" | "one-minus-blend-color"; - export type GPUBlendOperation = "add" | "subtract" | "reverse-subtract" | "min" | "max"; - export interface GPUDepthStencilState { + type GPUBlendFactor = "zero" | "one" | "src-color" | "one-minus-src-color" | "src-alpha" | "one-minus-src-alpha" | "dst-color" | "one-minus-dst-color" | "dst-alpha" | "one-minus-dst-alpha" | "src-alpha-saturated" | "blend-color" | "one-minus-blend-color"; + type GPUBlendOperation = "add" | "subtract" | "reverse-subtract" | "min" | "max"; + interface GPUDepthStencilState { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUDepthStencilState'; format: GPUTextureFormat; depthWriteEnabled?: boolean; depthCompare?: GPUCompareFunction; @@ -563,30 +847,60 @@ declare global { depthBiasClamp?: number; clampDepth?: boolean; } - export interface GPUStencilFaceState { + interface GPUStencilFaceState { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUStencilFaceState'; compare?: GPUCompareFunction; failOp?: GPUStencilOperation; depthFailOp?: GPUStencilOperation; passOp?: GPUStencilOperation; } - export type GPUStencilOperation = "keep" | "zero" | "replace" | "invert" | "increment-clamp" | "decrement-clamp" | "increment-wrap" | "decrement-wrap"; - export type GPUIndexFormat = "uint16" | "uint32"; - export type GPUVertexFormat = "uint8x2" | "uint8x4" | "sint8x2" | "sint8x4" | "unorm8x2" | "unorm8x4" | "snorm8x2" | "snorm8x4" | "uint16x2" | "uint16x4" | "sint16x2" | "sint16x4" | "unorm16x2" | "unorm16x4" | "snorm16x2" | "snorm16x4" | "float16x2" | "float16x4" | "float32" | "float32x2" | "float32x3" | "float32x4" | "uint32" | "uint32x2" | "uint32x3" | "uint32x4" | "sint32" | "sint32x2" | "sint32x3" | "sint32x4"; - export type GPUInputStepMode = "vertex" | "instance"; - export interface GPUVertexState extends GPUProgrammableStage { + type GPUStencilOperation = "keep" | "zero" | "replace" | "invert" | "increment-clamp" | "decrement-clamp" | "increment-wrap" | "decrement-wrap"; + type GPUIndexFormat = "uint16" | "uint32"; + type GPUVertexFormat = "uint8x2" | "uint8x4" | "sint8x2" | "sint8x4" | "unorm8x2" | "unorm8x4" | "snorm8x2" | "snorm8x4" | "uint16x2" | "uint16x4" | "sint16x2" | "sint16x4" | "unorm16x2" | "unorm16x4" | "snorm16x2" | "snorm16x4" | "float16x2" | "float16x4" | "float32" | "float32x2" | "float32x3" | "float32x4" | "uint32" | "uint32x2" | "uint32x3" | "uint32x4" | "sint32" | "sint32x2" | "sint32x3" | "sint32x4"; + type GPUInputStepMode = "vertex" | "instance"; + interface GPUVertexState extends GPUProgrammableStage { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUVertexState'; buffers?: Array; } - export interface GPUVertexBufferLayout { + interface GPUVertexBufferLayout { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUVertexBufferLayout'; arrayStride: GPUSize64; stepMode?: GPUInputStepMode; attributes: Array; } - export interface GPUVertexAttribute { + interface GPUVertexAttribute { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUVertexAttribute'; format: GPUVertexFormat; offset: GPUSize64; shaderLocation: GPUIndex32; } - export interface GPUCommandBuffer extends GPUObjectBase { + interface GPUCommandBuffer extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUCommandBuffer'; /** * The total time, in seconds, that the GPU took to execute this command buffer. * Note: @@ -608,8 +922,14 @@ declare global { */ readonly executionTime: Promise; } - export type GPUCommandBufferDescriptor = GPUObjectDescriptorBase; - export interface GPUCommandEncoder extends GPUObjectBase { + type GPUCommandBufferDescriptor = GPUObjectDescriptorBase; + interface GPUCommandEncoder extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUCommandEncoder'; /** * Begins encoding a render pass described by `descriptor`. * @param descriptor - Description of the {@link GPURenderPassEncoder} to create. @@ -689,13 +1009,19 @@ declare global { */ finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer; } - export interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase { + interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUCommandEncoderDescriptor'; /** * Enable measurement of the GPU execution time of the entire command buffer. */ measureExecutionTime?: boolean; } - export interface GPUImageDataLayout { + interface GPUImageDataLayout { offset?: GPUSize64; /** * The stride, in bytes, between the beginning of each block row and the subsequent block row. @@ -710,20 +1036,38 @@ declare global { */ rowsPerImage?: GPUSize32; } - export interface GPUImageCopyBuffer extends GPUImageDataLayout { + interface GPUImageCopyBuffer extends GPUImageDataLayout { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUImageCopyBuffer'; buffer: GPUBuffer; } - export interface GPUImageCopyTexture { + interface GPUImageCopyTexture { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUImageCopyTexture'; texture: GPUTexture; mipLevel?: GPUIntegerCoordinate; origin?: GPUOrigin3D; aspect?: GPUTextureAspect; } - export interface GPUImageCopyImageBitmap { + interface GPUImageCopyImageBitmap { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUImageCopyImageBitmap'; imageBitmap: ImageBitmap; origin?: GPUOrigin2D; } - export interface GPUProgrammablePassEncoder { + interface GPUProgrammablePassEncoder { /** * Sets the current {@link GPUBindGroup} for the given index. * @param index - The index to set the bind group at. @@ -762,7 +1106,13 @@ declare global { */ insertDebugMarker(markerLabel: string): undefined; } - export interface GPUComputePassEncoder extends GPUObjectBase, GPUProgrammablePassEncoder { + interface GPUComputePassEncoder extends GPUObjectBase, GPUProgrammablePassEncoder { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUComputePassEncoder'; /** * Sets the current {@link GPUComputePipeline}. * @param pipeline - The compute pipeline to use for subsequent dispatch commands. @@ -809,8 +1159,8 @@ declare global { */ endPass(): undefined; } - export type GPUComputePassDescriptor = GPUObjectDescriptorBase; - export interface GPURenderEncoderBase { + type GPUComputePassDescriptor = GPUObjectDescriptorBase; + interface GPURenderEncoderBase { /** * Sets the current {@link GPURenderPipeline}. * @param pipeline - The render pipeline to use for subsequent drawing commands. @@ -883,7 +1233,13 @@ declare global { */ drawIndexedIndirect(indirectBuffer: GPUBuffer, indirectOffset: GPUSize64): undefined; } - export interface GPURenderPassEncoder extends GPUObjectBase, GPUProgrammablePassEncoder, GPURenderEncoderBase { + interface GPURenderPassEncoder extends GPUObjectBase, GPUProgrammablePassEncoder, GPURenderEncoderBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderPassEncoder'; /** * Sets the viewport used during the rasterization stage to linearly map from normalized device * coordinates to viewport coordinates. @@ -953,7 +1309,13 @@ declare global { */ endPass(): undefined; } - export interface GPURenderPassDescriptor extends GPUObjectDescriptorBase { + interface GPURenderPassDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderPassDescriptor'; /** * The set of {@link GPURenderPassColorAttachment} values in this sequence defines which * color attachments will be output to when executing this render pass. @@ -969,7 +1331,13 @@ declare global { */ occlusionQuerySet?: GPUQuerySet; } - export interface GPURenderPassColorAttachment { + interface GPURenderPassColorAttachment { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderPassColorAttachment'; /** * A {@link GPUTextureView} describing the texture subresource that will be output to for this * color attachment. @@ -994,7 +1362,13 @@ declare global { */ storeOp?: GPUStoreOp; } - export interface GPURenderPassDepthStencilAttachment { + interface GPURenderPassDepthStencilAttachment { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderPassDepthStencilAttachment'; /** * A {@link GPUTextureView} describing the texture subresource that will be output to * and read from for this depth/stencil attachment. @@ -1038,24 +1412,48 @@ declare global { */ stencilReadOnly?: boolean; } - export type GPULoadOp = "load"; - export type GPUStoreOp = "store" | "clear"; - export interface GPURenderBundle extends GPUObjectBase { + type GPULoadOp = "load"; + type GPUStoreOp = "store" | "clear"; + interface GPURenderBundle extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderBundle'; } - export type GPURenderBundleDescriptor = GPUObjectDescriptorBase; - export interface GPURenderBundleEncoder extends GPUObjectBase, GPUProgrammablePassEncoder, GPURenderEncoderBase { + type GPURenderBundleDescriptor = GPUObjectDescriptorBase; + interface GPURenderBundleEncoder extends GPUObjectBase, GPUProgrammablePassEncoder, GPURenderEncoderBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderBundleEncoder'; /** * Completes recording of the render bundle commands sequence. * descriptor: */ finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle; } - export interface GPURenderBundleEncoderDescriptor extends GPUObjectDescriptorBase { + interface GPURenderBundleEncoderDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPURenderBundleEncoderDescriptor'; colorFormats: Array; depthStencilFormat?: GPUTextureFormat; sampleCount?: GPUSize32; } - export interface GPUQueue extends GPUObjectBase { + interface GPUQueue extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUQueue'; /** * Schedules the execution of the command buffers by the GPU on this queue. * `commandBuffers`: @@ -1093,13 +1491,25 @@ declare global { */ copyImageBitmapToTexture(source: GPUImageCopyImageBitmap, destination: GPUImageCopyTexture, copySize: GPUExtent3D): undefined; } - export interface GPUQuerySet extends GPUObjectBase { + interface GPUQuerySet extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUQuerySet'; /** * Destroys the {@link GPUQuerySet}. */ destroy(): undefined; } - export interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase { + interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUQuerySetDescriptor'; /** * The type of queries managed by {@link GPUQuerySet}. */ @@ -1113,9 +1523,15 @@ declare global { */ pipelineStatistics?: Array; } - export type GPUQueryType = "occlusion" | "pipeline-statistics" | "timestamp"; - export type GPUPipelineStatisticName = "vertex-shader-invocations" | "clipper-invocations" | "clipper-primitives-out" | "fragment-shader-invocations" | "compute-shader-invocations"; - export interface GPUCanvasContext { + type GPUQueryType = "occlusion" | "pipeline-statistics" | "timestamp"; + type GPUPipelineStatisticName = "vertex-shader-invocations" | "clipper-invocations" | "clipper-primitives-out" | "fragment-shader-invocations" | "compute-shader-invocations"; + interface GPUCanvasContext { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUCanvasContext'; /** * Configures the swap chain for this canvas, and returns a new * {@link GPUSwapChain} object representing it. Destroys any swapchain @@ -1131,12 +1547,24 @@ declare global { */ getSwapChainPreferredFormat(adapter: GPUAdapter): GPUTextureFormat; } - export interface GPUSwapChainDescriptor extends GPUObjectDescriptorBase { + interface GPUSwapChainDescriptor extends GPUObjectDescriptorBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUSwapChainDescriptor'; device: GPUDevice; format: GPUTextureFormat; usage?: GPUTextureUsageFlags; } - export interface GPUSwapChain extends GPUObjectBase { + interface GPUSwapChain extends GPUObjectBase { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUSwapChain'; /** * Get the {@link GPUTexture} that will be composited to the document by the {@link GPUCanvasContext} * that created this swap chain next. @@ -1146,60 +1574,114 @@ declare global { */ getCurrentTexture(): GPUTexture; } - export type GPUDeviceLostReason = "destroyed"; - export interface GPUDeviceLostInfo { + type GPUDeviceLostReason = "destroyed"; + interface GPUDeviceLostInfo { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUDeviceLostInfo'; readonly reason: GPUDeviceLostReason | undefined; readonly message: string; } - export type GPUErrorFilter = "out-of-memory" | "validation"; - export interface GPUOutOfMemoryError { + type GPUErrorFilter = "out-of-memory" | "validation"; + interface GPUOutOfMemoryError { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUOutOfMemoryError'; new (); } - export interface GPUValidationError { + interface GPUValidationError { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUValidationError'; new (message: string); readonly message: string; } - export type GPUError = GPUOutOfMemoryError | GPUValidationError; - export interface GPUUncapturedErrorEvent extends Event { + type GPUError = GPUOutOfMemoryError | GPUValidationError; + interface GPUUncapturedErrorEvent extends Event { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUUncapturedErrorEvent'; new (type: string, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit); readonly error: GPUError; } - export interface GPUUncapturedErrorEventInit extends EventInit { + interface GPUUncapturedErrorEventInit extends EventInit { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUUncapturedErrorEventInit'; error: GPUError; } - export type GPUBufferDynamicOffset = number; - export type GPUStencilValue = number; - export type GPUSampleMask = number; - export type GPUDepthBias = number; - export type GPUSize64 = number; - export type GPUIntegerCoordinate = number; - export type GPUIndex32 = number; - export type GPUSize32 = number; - export type GPUSignedOffset32 = number; - export type GPUFlagsConstant = number; - export interface GPUColorDict { + type GPUBufferDynamicOffset = number; + type GPUStencilValue = number; + type GPUSampleMask = number; + type GPUDepthBias = number; + type GPUSize64 = number; + type GPUIntegerCoordinate = number; + type GPUIndex32 = number; + type GPUSize32 = number; + type GPUSignedOffset32 = number; + type GPUFlagsConstant = number; + interface GPUColorDict { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUColorDict'; r: number; g: number; b: number; a: number; } - export type GPUColor = Array | GPUColorDict; - export interface GPUOrigin2DDict { + type GPUColor = Array | GPUColorDict; + interface GPUOrigin2DDict { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUOrigin2DDict'; x?: GPUIntegerCoordinate; y?: GPUIntegerCoordinate; } - export type GPUOrigin2D = Array | GPUOrigin2DDict; - export interface GPUOrigin3DDict { + type GPUOrigin2D = Array | GPUOrigin2DDict; + interface GPUOrigin3DDict { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUOrigin3DDict'; x?: GPUIntegerCoordinate; y?: GPUIntegerCoordinate; z?: GPUIntegerCoordinate; } - export type GPUOrigin3D = Array | GPUOrigin3DDict; - export interface GPUExtent3DDict { + type GPUOrigin3D = Array | GPUOrigin3DDict; + interface GPUExtent3DDict { + /** + * Nominal type branding. + * https://github.com/microsoft/TypeScript/pull/33038 + * @internal + */ + readonly __brand: 'GPUExtent3DDict'; width: GPUIntegerCoordinate; height?: GPUIntegerCoordinate; depthOrArrayLayers?: GPUIntegerCoordinate; } - export type GPUExtent3D = Array | GPUExtent3DDict; + type GPUExtent3D = Array | GPUExtent3DDict; } -export {}; +export {}; \ No newline at end of file From b275414949219435b9298aad44e7e4efaa322644 Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Tue, 9 Mar 2021 12:17:23 -0500 Subject: [PATCH 09/15] Updated gpuweb submodule --- gpuweb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gpuweb b/gpuweb index 2355dad1..d0a59271 160000 --- a/gpuweb +++ b/gpuweb @@ -1 +1 @@ -Subproject commit 2355dad1b7b61bd3c4fc6c514ea27fe2aa513ce3 +Subproject commit d0a59271cd68d33c461feffa0b54c2b3c01395f8 From d597fb083bc48b9bcaa6fafa49197fbbf2d56225 Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Tue, 9 Mar 2021 12:19:38 -0500 Subject: [PATCH 10/15] `generate` script creates `dist/generated.d.ts` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index de4ec705..a3c9b605 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dist/**/*" ], "scripts": { - "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/index.d.ts --forceGlobal --nominal" + "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/generated.d.ts --forceGlobal --nominal" }, "devDependencies": { "bikeshed-to-ts": "^1.1.0" From ccead9b25fde59c8125dd8568e3d8af0bfef903c Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Wed, 10 Mar 2021 12:06:14 -0500 Subject: [PATCH 11/15] Updated bikeshed-to-ts --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a3c9b605..e86f4f4d 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,6 @@ "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/generated.d.ts --forceGlobal --nominal" }, "devDependencies": { - "bikeshed-to-ts": "^1.1.0" + "bikeshed-to-ts": "^1.1.2" } } From 9d686eab7ff94b9cfaf97bbf8819ad968a6f0562 Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Wed, 10 Mar 2021 12:07:06 -0500 Subject: [PATCH 12/15] `generate` script creates an `index.d.ts` file in the `generated` folder --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e86f4f4d..911b48be 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dist/**/*" ], "scripts": { - "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./dist/generated.d.ts --forceGlobal --nominal" + "generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./generated/index.d.ts --forceGlobal --nominal" }, "devDependencies": { "bikeshed-to-ts": "^1.1.2" From 762d291eb35a702fd61840601a85a5306be0b4aa Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Wed, 10 Mar 2021 12:08:52 -0500 Subject: [PATCH 13/15] Added `/generated/` to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3d2bc626..40afb59a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /dist/ /node_modules/ +/generated/ From 92784178550f86b650c8d6a134fa58bccfd9468a Mon Sep 17 00:00:00 2001 From: Dario Segura Date: Wed, 10 Mar 2021 12:09:56 -0500 Subject: [PATCH 14/15] Switched to using npm --- package-lock.json | 995 +++++++++++++++++++++++++++++++++++++++++++++- yarn.lock | 805 ------------------------------------- 2 files changed, 994 insertions(+), 806 deletions(-) delete mode 100644 yarn.lock diff --git a/package-lock.json b/package-lock.json index 24fb1518..c32e4288 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,998 @@ { "name": "@webgpu/types", "version": "0.0.43", - "lockfileVersion": 1 + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@dekkai/data-source": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@dekkai/data-source/-/data-source-0.2.1.tgz", + "integrity": "sha512-UYVUXl2X2f957CMtQDAcEk8xdqa4Ut566lJlYUwM/UIuvhvprmw+kljE6KnlM4t9DcdlCgrG1WssDHrtaukyZA==", + "dev": true, + "requires": { + "@dekkai/env": "^1.0.1", + "@dekkai/event-emitter": "^1.1.0" + } + }, + "@dekkai/env": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@dekkai/env/-/env-1.0.1.tgz", + "integrity": "sha512-dE9y9DVIVZYJ2xq7FWNK4zo61ZZLR/LPR4FTtEp4VgbaNBLMtm5VkD5ZECwtY/0ey7XvWrEocvxHtiiaglYv+w==", + "dev": true + }, + "@dekkai/event-emitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@dekkai/event-emitter/-/event-emitter-1.1.0.tgz", + "integrity": "sha512-wQkAuh4p96ZZvCuOA1XRi8FiYE2Nbsozzv8y8mRq2JwN7fSJS0DtMCsLvfcpEF4wdFo2Hum0u3vpxoAv0rY5Eg==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "acorn": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bikeshed-to-ts": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bikeshed-to-ts/-/bikeshed-to-ts-1.1.2.tgz", + "integrity": "sha512-kHY1Cj8dbU5lvfMUWSmuWiSBhK8M98DQukaCGWNxWJO/o9NZBurCywPJTziLdWiL/O+k8TsXuQ3hdy1UDU44uw==", + "dev": true, + "requires": { + "@dekkai/data-source": "^0.2.1", + "typescript": "^4.2.2", + "webidl2": "^23.13.1", + "webidl2ts": "git+https://github.com/darionco/webidl2ts.git", + "yargs": "^16.2.0" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.5.0.tgz", + "integrity": "sha512-QxZH0nmDTnTTVI0YDm4RUlaUPl5dcyn62G5TMDNfMmTW+J1u1v9gCR8WR+WZ6UghAa7nKJjDOFaI00eMMWvJFQ==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.0.5", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.9", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.4.4", + "xml-name-validator": "^3.0.0" + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "mime-db": { + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "dev": true, + "requires": { + "mime-db": "1.46.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typescript": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz", + "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "webidl2": { + "version": "23.13.1", + "resolved": "https://registry.npmjs.org/webidl2/-/webidl2-23.13.1.tgz", + "integrity": "sha512-u5njf3ZyqPr/4K8D6Cxm3B6MwSgwAdtrzxqHklwKaUdP1aQTmtKN5b65k4wlweJ/pRM6fpKUKYz8RlCJ9tka+w==", + "dev": true + }, + "webidl2ts": { + "version": "git+https://github.com/darionco/webidl2ts.git#5416e377458f9a069ae16ba0248e41e988e1effc", + "from": "git+https://github.com/darionco/webidl2ts.git", + "dev": true, + "requires": { + "jsdom": "^16.4.0", + "typescript": "^4.2.2", + "webidl2": "^23.13.1", + "yargs": "^16.2.0" + } + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "ws": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", + "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.6", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz", + "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==", + "dev": true + } + } } diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 4c266ba4..00000000 --- a/yarn.lock +++ /dev/null @@ -1,805 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@dekkai/data-source@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@dekkai/data-source/-/data-source-0.2.1.tgz#4b770690c78000be775596e100fe139becd9c104" - integrity sha512-UYVUXl2X2f957CMtQDAcEk8xdqa4Ut566lJlYUwM/UIuvhvprmw+kljE6KnlM4t9DcdlCgrG1WssDHrtaukyZA== - dependencies: - "@dekkai/env" "^1.0.1" - "@dekkai/event-emitter" "^1.1.0" - -"@dekkai/env@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@dekkai/env/-/env-1.0.1.tgz#b91ce8e3cbcab71420301688df983e156a687692" - integrity sha512-dE9y9DVIVZYJ2xq7FWNK4zo61ZZLR/LPR4FTtEp4VgbaNBLMtm5VkD5ZECwtY/0ey7XvWrEocvxHtiiaglYv+w== - -"@dekkai/event-emitter@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@dekkai/event-emitter/-/event-emitter-1.1.0.tgz#82bf46f9b8cc1443320567f57f377dc2cc8f007f" - integrity sha512-wQkAuh4p96ZZvCuOA1XRi8FiYE2Nbsozzv8y8mRq2JwN7fSJS0DtMCsLvfcpEF4wdFo2Hum0u3vpxoAv0rY5Eg== - -abab@^2.0.3: - version "2.0.5" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -ajv@^6.12.3: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bikeshed-to-ts@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/bikeshed-to-ts/-/bikeshed-to-ts-1.1.0.tgz#0b3445ae40ad8f510ca39d0fb0f6c062437a1fef" - integrity sha512-yNcF292rBmOKeVVxetg4kXuSozLT/NH/QoMh4WAJZBItg4q4aeWGoEX9o27nWRgFTZRMlGFCZQRF1sTcvQJDUA== - dependencies: - "@dekkai/data-source" "^0.2.1" - typescript "^4.2.2" - webidl2 "^23.13.1" - webidl2ts "git+https://github.com/darionco/webidl2ts.git" - yargs "^16.2.0" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -decimal.js@^10.2.0: - version "10.2.1" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@^4.17.19: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -mime-db@1.46.0: - version "1.46.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.29" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== - dependencies: - mime-db "1.46.0" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -typescript@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" - integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webidl2@^23.13.1: - version "23.13.1" - resolved "https://registry.npmjs.org/webidl2/-/webidl2-23.13.1.tgz#e95aa32e40b2ef71c0f683ea16ddac9202956d98" - integrity sha512-u5njf3ZyqPr/4K8D6Cxm3B6MwSgwAdtrzxqHklwKaUdP1aQTmtKN5b65k4wlweJ/pRM6fpKUKYz8RlCJ9tka+w== - -"webidl2ts@git+https://github.com/darionco/webidl2ts.git": - version "1.0.4" - resolved "git+https://github.com/darionco/webidl2ts.git#5416e377458f9a069ae16ba0248e41e988e1effc" - dependencies: - jsdom "^16.4.0" - typescript "^4.2.2" - webidl2 "^23.13.1" - yargs "^16.2.0" - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -ws@^7.2.3: - version "7.4.3" - resolved "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" - integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== - -yargs-parser@^20.2.2: - version "20.2.6" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" - integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" From 4e78bbb20cff08f6a757aaa63339648d874e3214 Mon Sep 17 00:00:00 2001 From: Kai Ninomiya Date: Wed, 10 Mar 2021 17:46:49 -0800 Subject: [PATCH 15/15] revert dist/index.d.ts change --- dist/index.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/dist/index.d.ts b/dist/index.d.ts index 3b68edb4..3572ad1f 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1149,4 +1149,3 @@ declare global { readonly message: string; } } -export {}; \ No newline at end of file