@slickgrid-universal/binding 5.0.0-beta.1 → 5.0.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/binding.service.ts +153 -153
- package/src/bindingEvent.service.ts +90 -90
package/README.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
[](https://github.com/ghiscoding/lerna-lite)
|
|
4
4
|
[](https://www.npmjs.com/package/@slickgrid-universal/binding)
|
|
5
5
|
[](https://www.npmjs.com/package/@slickgrid-universal/binding)
|
|
6
|
+
[](https://bundlephobia.com/result?p=@slickgrid-universal/binding)
|
|
6
7
|
|
|
7
8
|
[](https://github.com/ghiscoding/slickgrid-universal/actions)
|
|
8
9
|
[](https://www.cypress.io/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/interfaces.ts","../src/binding.service.ts","../src/binding.helper.ts","../src/bindingevent.service.ts","../src/index.ts","../../../node_modules/.pnpm/@jest+expect-utils@29.7.0/node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/jest-diff@29.7.0/node_modules/jest-diff/build/index.d.ts","../../../node_modules/.pnpm/jest-matcher-utils@29.7.0/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.d.ts","../../../node_modules/.pnpm/@types+jest@29.5.12/node_modules/@types/jest/index.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"7199a225c0460ec025cb9ee2a9c351889ac19b1183feb73bb7ee9adedb1152a2","signature":"76e517a5861481e77057169ea3d3877bbd83581241af208686eae0b364355b22"},{"version":"595b8838482ac53c3f5035d2f62e881ecabf1166c791c20351d7cfa7a95cbc9e","signature":"99f468f0df9291a6052a4938238c69e8d843aaaf9b105b2915cb53924cbaab5d"},{"version":"ac2f7cf539ebceb41132edbc924b9643ec8c98e817283ba54f1cea24eee17b00","signature":"9ced6051cad22501609a340565137ceaa3643ad478accc287744a6c2ed73380b"},{"version":"0abb33e5975e3280e482b98919bbcc0cf8fcc2320164c6c8c70a4f7612749975","signature":"99347a372808af2910fb7b973b5f38caeb394759607bc3fe3119ad998e0cf7a4"},"6ea63bedfab328262c4aeb61306fc8aefde5e9eb18dd2d72495fac123015ff56","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true},"d78c698fa755ef94e3af591883bfee3a330ffec36392e00aaacdff3541cf5382","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"6968359c8dbc693224fd1ea0b1f96b135f14d8eee3d6e23296d68c3a9da3ea00",{"version":"79d75a353f29d9f7fc63e879ccebe213baaaea26676fb3e47cc96cf221b27b4f","affectsGlobalScope":true},"dfdc7699360a0d512d7e31c69f75cb6a419cf415c98673e24499793170db5d6b","dcf46daa1e04481b1c2f360c7a77bf019885bd70353a92aa698b9c22b7fe3d6b",{"version":"033350619c2cfcbeab2a483f4b221e0866e17cc4ac514240d285d35c35eecf7c","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"b197fb2d5fa71cebc66e5d10e15c7d02f15fcd3194fbdaafeb964262582f2a82","affectsGlobalScope":true},"1a7f593d587f49ca97710c021c453ab1b95db5e39e58567f4af644f97a5fb0e0","dd4705d1d78af32c407e93e5df009962bed324599d6a5b2a9d661ba44dd99e43","3a02975d4a7034567425e529a0770f7f895ed605d2b576f7831668b7beea9fea","7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","cf87b355c4f531e98a9bba2b0e62d413b49b58b26bf8a9865e60a22d3af1fcd3",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"bf462fd3d934265627ac1f851a0afcc4c030a0d2c8872ce9e1ed55124d1d8cf4","affectsGlobalScope":true},"3bbc26148d18b4e619251ada313379c4831f4893de56d0497a3bb1bb016ea5c5","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","cbcb993f1fa22b7769074eb09c1307756e6380659a2990d6f50cfd8943bd8333","55a93997681797056da069cfac92878bff4d2a35e61c1c16280ee0cba38702f2","ea25afcaf96904668f7eebc1b834f89b5b5e5acafd430c29990028a1aaa0bcbe","df981b2ce32930887db27eeae29e48b9b841e4ba0bbba1162ebed04c778cd7e1",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"3be96458790a77cb357856dab45d1cc8383ac63ba4e085f620b202fb62a6e1db","02d85d03fd4a4f63cba0b133f0e0192368dfeb4338bd33f87788a4f6302de873","bb3a0ce56babb71d7c208ed848b4aafe545e7a7e06304fc0c8cfe3ad328cab7a",{"version":"43bb766c0dc5f1150021f161aa6831eb2cc75dab278172408515cb6e47f697a9","affectsGlobalScope":true},{"version":"8bcf09ba67bd0ec12a9f1efc1e58e1ba2cb1ff78920ce6cf67ebfe6003c54b82","affectsGlobalScope":true},"13ce7518e39051544dd1e3124c185665adda05a5021676f2606c2c74ad2c964f","4ac5899be65d5e2cabe3aaf3dfc2cf7641e54dde23db198d9f683dfabe228145","124dacf89c97915479ed6ad81b09ba42fd40962d069c0642fed42e2d9719f2ba","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","ad06959073c066bb9543ef9c1dee37fc3140d2ecaae42b97bf4e27f2f03d6511","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","41c800136d52bf8d9ea3a81094708100f339494572f47f4f351b0d798657300f","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","98e7b7220dad76c509d584c9b7b1ec4dcbd7df5e3a2d37d28c54f74461ec0975",{"version":"d693ae6d6c10ee679462b1f6ee4a807ea90ae3ad1f19daf8c32c46fad740c2e2","affectsGlobalScope":true},{"version":"d21966ba3284ade60cb94eb2c533ab5b2af7fd0b4b28462043f6ebcb8400bd21","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","b8e9e44ce8eba70af569523ff31d669cc239a93f548899a259f3224392a75e6c","005d1caa2a5d9bc096f75b598d0fd184bc848dd2665b050a17a17d5dc1ef652d","619735e4e221e1bf137ae3efa5330beee4a06039dccb876c822f9d8913a392da",{"version":"3560d0809b0677d77e39d0459ae6129c0e045cb3d43d1f345df06cf7ab7d6029","affectsGlobalScope":true},{"version":"5ab086d9457abbc69cca270e5475073f2e8eb35b2fb810c516400de7b7c7d575","affectsGlobalScope":true},"2a2fd53f2d963624b596fb720b390cbfe8d744e92cb55b48a8090a8fd42a302d","1f01c8fde66abc4ff6aed1db050a928b3bcb6f29bc89630a0d748a0649e14074","60223439b7ee9b26a08d527cacc8b34ea6c6741589ef4949f4669c9aeb97978e",{"version":"48fffe7824c2e8cf8c812f528c33d4c4f502767582083df35920a7f56fe794b3","affectsGlobalScope":true},"561bf7d1d3163db272980f9167b4b98f6a9ee8698c5955e9d9584e84088aad51",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc"],"root":[[52,56]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./types","declarationMap":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"importHelpers":true,"module":99,"noEmitOnError":true,"noImplicitReturns":true,"outDir":"./esm","preserveConstEnums":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":8},"fileIdsList":[[59],[61,64],[66],[102],[103,108,137],[104,115,116,123,134,145],[104,105,115,123],[106,146],[107,108,116,124],[108,134,142],[109,111,115,123],[102,110],[111,112],[115],[113,115],[102,115],[115,116,117,134,145],[115,116,117,130,134,137],[100,103,150],[111,115,118,123,134,145],[115,116,118,119,123,134,142,145],[118,120,134,142,145],[66,67,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152],[115,121],[122,145,150],[111,115,123,134],[124],[125],[102,126],[123,124,127,144,150],[128],[129],[115,130,131],[130,132,146,148],[103,115,134,135,136,137],[103,134,136],[134,135],[137],[138],[102,134],[115,140,141],[140,141],[108,123,134,142],[143],[123,144],[103,118,129,145],[108,146],[134,147],[122,148],[149],[103,108,115,117,126,134,145,148,150],[134,151],[57,63],[61],[58,62],[60],[77,81,145],[77,134,145],[72],[74,77,142,145],[123,142],[153],[72,153],[74,77,123,145],[69,70,73,76,103,115,134,145],[69,75],[73,77,103,137,145,153],[103,153],[93,103,153],[71,72,153],[77],[71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99],[77,84,85],[75,77,85,86],[76],[69,72,77],[77,81,85,86],[81],[75,77,80,145],[69,74,75,77,81,84],[103,134],[72,77,93,103,150,153],[53],[52],[52,53,54,55]],"referencedMap":[[60,1],[65,2],[66,3],[67,3],[102,4],[103,5],[104,6],[105,7],[106,8],[107,9],[108,10],[109,11],[110,12],[111,13],[112,13],[114,14],[113,15],[115,16],[116,17],[117,18],[101,19],[118,20],[119,21],[120,22],[153,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,32],[130,33],[131,33],[132,34],[134,35],[136,36],[135,37],[137,38],[138,39],[139,40],[140,41],[141,42],[142,43],[143,44],[144,45],[145,46],[146,47],[147,48],[148,49],[149,50],[150,51],[151,52],[64,53],[62,54],[63,55],[61,56],[84,57],[91,58],[83,57],[98,59],[75,60],[74,61],[97,62],[92,63],[95,64],[77,65],[76,66],[72,67],[71,68],[94,69],[73,70],[78,71],[82,71],[100,72],[99,71],[86,73],[87,74],[89,75],[85,76],[88,77],[93,62],[80,78],[81,79],[90,80],[70,81],[96,82],[54,83],[53,84],[55,84],[56,85]],"exportedModulesMap":[[60,1],[65,2],[66,3],[67,3],[102,4],[103,5],[104,6],[105,7],[106,8],[107,9],[108,10],[109,11],[110,12],[111,13],[112,13],[114,14],[113,15],[115,16],[116,17],[117,18],[101,19],[118,20],[119,21],[120,22],[153,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,32],[130,33],[131,33],[132,34],[134,35],[136,36],[135,37],[137,38],[138,39],[139,40],[140,41],[141,42],[142,43],[143,44],[144,45],[145,46],[146,47],[147,48],[148,49],[149,50],[150,51],[151,52],[64,53],[62,54],[63,55],[61,56],[84,57],[91,58],[83,57],[98,59],[75,60],[74,61],[97,62],[92,63],[95,64],[77,65],[76,66],[72,67],[71,68],[94,69],[73,70],[78,71],[82,71],[100,72],[99,71],[86,73],[87,74],[89,75],[85,76],[88,77],[93,62],[80,78],[81,79],[90,80],[70,81],[96,82],[54,83],[53,84],[55,84],[56,85]],"semanticDiagnosticsPerFile":[57,60,59,65,66,67,102,103,104,105,106,107,108,109,110,111,112,114,113,115,116,117,101,152,118,119,120,153,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,135,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,68,58,64,62,63,61,50,51,9,11,10,2,12,13,14,15,16,17,18,19,3,20,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,1,49,84,91,83,98,75,74,97,92,95,77,76,72,71,94,73,78,79,82,69,100,99,86,87,89,85,88,93,80,81,90,70,96,54,53,55,56,52],"latestChangedDtsFile":"./types/index.d.ts"},"version":"5.4.5"}
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/interfaces.ts","../src/binding.service.ts","../src/binding.helper.ts","../src/bindingEvent.service.ts","../src/index.ts","../../../node_modules/.pnpm/@jest+expect-utils@29.7.0/node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/jest-diff@29.7.0/node_modules/jest-diff/build/index.d.ts","../../../node_modules/.pnpm/jest-matcher-utils@29.7.0/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.d.ts","../../../node_modules/.pnpm/@types+jest@29.5.12/node_modules/@types/jest/index.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@20.12.8/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"7199a225c0460ec025cb9ee2a9c351889ac19b1183feb73bb7ee9adedb1152a2","signature":"76e517a5861481e77057169ea3d3877bbd83581241af208686eae0b364355b22"},{"version":"37e9a21f5690645164acffd612d5b6ad89207922322f2f67a3a32acd178df90e","signature":"99f468f0df9291a6052a4938238c69e8d843aaaf9b105b2915cb53924cbaab5d"},{"version":"ac2f7cf539ebceb41132edbc924b9643ec8c98e817283ba54f1cea24eee17b00","signature":"9ced6051cad22501609a340565137ceaa3643ad478accc287744a6c2ed73380b"},{"version":"c85bcbe2a291031c384903c69d7e5f9cd748049aa16a3151262eb7b5479f2d6e","signature":"99347a372808af2910fb7b973b5f38caeb394759607bc3fe3119ad998e0cf7a4"},"6ea63bedfab328262c4aeb61306fc8aefde5e9eb18dd2d72495fac123015ff56","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true},"d78c698fa755ef94e3af591883bfee3a330ffec36392e00aaacdff3541cf5382","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"6968359c8dbc693224fd1ea0b1f96b135f14d8eee3d6e23296d68c3a9da3ea00",{"version":"79d75a353f29d9f7fc63e879ccebe213baaaea26676fb3e47cc96cf221b27b4f","affectsGlobalScope":true},"dfdc7699360a0d512d7e31c69f75cb6a419cf415c98673e24499793170db5d6b","dcf46daa1e04481b1c2f360c7a77bf019885bd70353a92aa698b9c22b7fe3d6b",{"version":"033350619c2cfcbeab2a483f4b221e0866e17cc4ac514240d285d35c35eecf7c","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"b197fb2d5fa71cebc66e5d10e15c7d02f15fcd3194fbdaafeb964262582f2a82","affectsGlobalScope":true},"1a7f593d587f49ca97710c021c453ab1b95db5e39e58567f4af644f97a5fb0e0","dd4705d1d78af32c407e93e5df009962bed324599d6a5b2a9d661ba44dd99e43","3a02975d4a7034567425e529a0770f7f895ed605d2b576f7831668b7beea9fea","7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","cf87b355c4f531e98a9bba2b0e62d413b49b58b26bf8a9865e60a22d3af1fcd3",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"bf462fd3d934265627ac1f851a0afcc4c030a0d2c8872ce9e1ed55124d1d8cf4","affectsGlobalScope":true},"3bbc26148d18b4e619251ada313379c4831f4893de56d0497a3bb1bb016ea5c5","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","cbcb993f1fa22b7769074eb09c1307756e6380659a2990d6f50cfd8943bd8333","55a93997681797056da069cfac92878bff4d2a35e61c1c16280ee0cba38702f2","ea25afcaf96904668f7eebc1b834f89b5b5e5acafd430c29990028a1aaa0bcbe","df981b2ce32930887db27eeae29e48b9b841e4ba0bbba1162ebed04c778cd7e1",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"3be96458790a77cb357856dab45d1cc8383ac63ba4e085f620b202fb62a6e1db","02d85d03fd4a4f63cba0b133f0e0192368dfeb4338bd33f87788a4f6302de873","bb3a0ce56babb71d7c208ed848b4aafe545e7a7e06304fc0c8cfe3ad328cab7a",{"version":"43bb766c0dc5f1150021f161aa6831eb2cc75dab278172408515cb6e47f697a9","affectsGlobalScope":true},{"version":"8bcf09ba67bd0ec12a9f1efc1e58e1ba2cb1ff78920ce6cf67ebfe6003c54b82","affectsGlobalScope":true},"13ce7518e39051544dd1e3124c185665adda05a5021676f2606c2c74ad2c964f","4ac5899be65d5e2cabe3aaf3dfc2cf7641e54dde23db198d9f683dfabe228145","124dacf89c97915479ed6ad81b09ba42fd40962d069c0642fed42e2d9719f2ba","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","ad06959073c066bb9543ef9c1dee37fc3140d2ecaae42b97bf4e27f2f03d6511","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","41c800136d52bf8d9ea3a81094708100f339494572f47f4f351b0d798657300f","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","98e7b7220dad76c509d584c9b7b1ec4dcbd7df5e3a2d37d28c54f74461ec0975",{"version":"d693ae6d6c10ee679462b1f6ee4a807ea90ae3ad1f19daf8c32c46fad740c2e2","affectsGlobalScope":true},{"version":"d21966ba3284ade60cb94eb2c533ab5b2af7fd0b4b28462043f6ebcb8400bd21","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","b8e9e44ce8eba70af569523ff31d669cc239a93f548899a259f3224392a75e6c","005d1caa2a5d9bc096f75b598d0fd184bc848dd2665b050a17a17d5dc1ef652d","619735e4e221e1bf137ae3efa5330beee4a06039dccb876c822f9d8913a392da",{"version":"3560d0809b0677d77e39d0459ae6129c0e045cb3d43d1f345df06cf7ab7d6029","affectsGlobalScope":true},{"version":"5ab086d9457abbc69cca270e5475073f2e8eb35b2fb810c516400de7b7c7d575","affectsGlobalScope":true},"2a2fd53f2d963624b596fb720b390cbfe8d744e92cb55b48a8090a8fd42a302d","1f01c8fde66abc4ff6aed1db050a928b3bcb6f29bc89630a0d748a0649e14074","60223439b7ee9b26a08d527cacc8b34ea6c6741589ef4949f4669c9aeb97978e",{"version":"48fffe7824c2e8cf8c812f528c33d4c4f502767582083df35920a7f56fe794b3","affectsGlobalScope":true},"561bf7d1d3163db272980f9167b4b98f6a9ee8698c5955e9d9584e84088aad51",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc"],"root":[[52,56]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./types","declarationMap":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"importHelpers":true,"module":99,"noEmitOnError":true,"noImplicitReturns":true,"outDir":"./esm","preserveConstEnums":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":8},"fileIdsList":[[59],[61,64],[66],[102],[103,108,137],[104,115,116,123,134,145],[104,105,115,123],[106,146],[107,108,116,124],[108,134,142],[109,111,115,123],[102,110],[111,112],[115],[113,115],[102,115],[115,116,117,134,145],[115,116,117,130,134,137],[100,103,150],[111,115,118,123,134,145],[115,116,118,119,123,134,142,145],[118,120,134,142,145],[66,67,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152],[115,121],[122,145,150],[111,115,123,134],[124],[125],[102,126],[123,124,127,144,150],[128],[129],[115,130,131],[130,132,146,148],[103,115,134,135,136,137],[103,134,136],[134,135],[137],[138],[102,134],[115,140,141],[140,141],[108,123,134,142],[143],[123,144],[103,118,129,145],[108,146],[134,147],[122,148],[149],[103,108,115,117,126,134,145,148,150],[134,151],[57,63],[61],[58,62],[60],[77,81,145],[77,134,145],[72],[74,77,142,145],[123,142],[153],[72,153],[74,77,123,145],[69,70,73,76,103,115,134,145],[69,75],[73,77,103,137,145,153],[103,153],[93,103,153],[71,72,153],[77],[71,72,73,74,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99],[77,84,85],[75,77,85,86],[76],[69,72,77],[77,81,85,86],[81],[75,77,80,145],[69,74,75,77,81,84],[103,134],[72,77,93,103,150,153],[53],[52],[52,53,54,55]],"referencedMap":[[60,1],[65,2],[66,3],[67,3],[102,4],[103,5],[104,6],[105,7],[106,8],[107,9],[108,10],[109,11],[110,12],[111,13],[112,13],[114,14],[113,15],[115,16],[116,17],[117,18],[101,19],[118,20],[119,21],[120,22],[153,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,32],[130,33],[131,33],[132,34],[134,35],[136,36],[135,37],[137,38],[138,39],[139,40],[140,41],[141,42],[142,43],[143,44],[144,45],[145,46],[146,47],[147,48],[148,49],[149,50],[150,51],[151,52],[64,53],[62,54],[63,55],[61,56],[84,57],[91,58],[83,57],[98,59],[75,60],[74,61],[97,62],[92,63],[95,64],[77,65],[76,66],[72,67],[71,68],[94,69],[73,70],[78,71],[82,71],[100,72],[99,71],[86,73],[87,74],[89,75],[85,76],[88,77],[93,62],[80,78],[81,79],[90,80],[70,81],[96,82],[54,83],[53,84],[55,84],[56,85]],"exportedModulesMap":[[60,1],[65,2],[66,3],[67,3],[102,4],[103,5],[104,6],[105,7],[106,8],[107,9],[108,10],[109,11],[110,12],[111,13],[112,13],[114,14],[113,15],[115,16],[116,17],[117,18],[101,19],[118,20],[119,21],[120,22],[153,23],[121,24],[122,25],[123,26],[124,27],[125,28],[126,29],[127,30],[128,31],[129,32],[130,33],[131,33],[132,34],[134,35],[136,36],[135,37],[137,38],[138,39],[139,40],[140,41],[141,42],[142,43],[143,44],[144,45],[145,46],[146,47],[147,48],[148,49],[149,50],[150,51],[151,52],[64,53],[62,54],[63,55],[61,56],[84,57],[91,58],[83,57],[98,59],[75,60],[74,61],[97,62],[92,63],[95,64],[77,65],[76,66],[72,67],[71,68],[94,69],[73,70],[78,71],[82,71],[100,72],[99,71],[86,73],[87,74],[89,75],[85,76],[88,77],[93,62],[80,78],[81,79],[90,80],[70,81],[96,82],[54,83],[53,84],[55,84],[56,85]],"semanticDiagnosticsPerFile":[57,60,59,65,66,67,102,103,104,105,106,107,108,109,110,111,112,114,113,115,116,117,101,152,118,119,120,153,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,135,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,68,58,64,62,63,61,50,51,9,11,10,2,12,13,14,15,16,17,18,19,3,20,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,1,49,84,91,83,98,75,74,97,92,95,77,76,72,71,94,73,78,79,82,69,100,99,86,87,89,85,88,93,80,81,90,70,96,54,53,55,56,52],"latestChangedDtsFile":"./types/index.d.ts"},"version":"5.4.5"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slickgrid-universal/binding",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.3",
|
|
4
4
|
"description": "Simple Vanilla Implementation of a Binding Engine & Helper to add properties/events 2 way bindings",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"> 1%",
|
|
38
38
|
"not dead"
|
|
39
39
|
],
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "26cd69e67f2ed8cba9cc0d8c426ac5d201b20dea"
|
|
41
41
|
}
|
package/src/binding.service.ts
CHANGED
|
@@ -1,154 +1,154 @@
|
|
|
1
|
-
import type { Binding, BoundedEventWithListener, ElementBinding, ElementBindingWithListener } from './interfaces';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Create 2 way Bindings for any variable that are primitive or object types, when it's an object type it will watch for property changes
|
|
5
|
-
* The following 2 articles helped in building this service:
|
|
6
|
-
* 1- https://blog.jeremylikness.com/blog/client-side-javascript-databinding-without-a-framework/
|
|
7
|
-
* 2- https://www.wintellect.com/data-binding-pure-javascript/
|
|
8
|
-
*/
|
|
9
|
-
export class BindingService {
|
|
10
|
-
protected _value: any = null;
|
|
11
|
-
protected _binding: Binding;
|
|
12
|
-
protected _property: string;
|
|
13
|
-
protected _boundedEventWithListeners: BoundedEventWithListener[] = [];
|
|
14
|
-
protected _elementBindings: Array<ElementBinding | ElementBindingWithListener> = [];
|
|
15
|
-
|
|
16
|
-
constructor(binding: Binding) {
|
|
17
|
-
this._binding = binding;
|
|
18
|
-
this._property = binding.property || '';
|
|
19
|
-
this._elementBindings = [];
|
|
20
|
-
if (binding.property && binding.variable && (binding.variable.hasOwnProperty(binding.property) || binding.property in binding.variable)) {
|
|
21
|
-
this._value = binding.variable[binding.property];
|
|
22
|
-
} else {
|
|
23
|
-
this._value = binding.variable;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (typeof binding.variable === 'object') {
|
|
27
|
-
Object.defineProperty(binding.variable, binding.property, {
|
|
28
|
-
get: this.valueGetter.bind(this),
|
|
29
|
-
set: this.valueSetter.bind(this)
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
get boundedEventWithListeners(): BoundedEventWithListener[] {
|
|
35
|
-
return this._boundedEventWithListeners;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
get elementBindings(): Array<ElementBinding | ElementBindingWithListener> {
|
|
39
|
-
return this._elementBindings;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
get property() {
|
|
43
|
-
return this._property;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
dispose() {
|
|
47
|
-
this.unbindAll();
|
|
48
|
-
this._boundedEventWithListeners = [];
|
|
49
|
-
this._elementBindings = [];
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
valueGetter() {
|
|
53
|
-
return this._value;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
valueSetter<T extends Element = Element>(val: any) {
|
|
57
|
-
this._value = val;
|
|
58
|
-
if (Array.isArray(this._elementBindings)) {
|
|
59
|
-
for (const binding of this._elementBindings) {
|
|
60
|
-
if (binding?.element && binding?.attribute) {
|
|
61
|
-
(binding.element as T)[binding.attribute as keyof T] = val;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Add binding to 1 or more DOM Element by an object attribute and optionally on an event, we can do it in couple ways
|
|
69
|
-
* 1- if there's no event provided, it will simply replace the DOM elemnt (by an attribute), for example an innerHTML
|
|
70
|
-
* 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
|
|
71
|
-
* 2.1- we could also provide an extra callback method to execute when the event gets triggered
|
|
72
|
-
*/
|
|
73
|
-
bind<T extends Element = Element>(elements: T | NodeListOf<T> | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any) {
|
|
74
|
-
if (elements && (elements as NodeListOf<T>).forEach) {
|
|
75
|
-
// multiple DOM elements coming from a querySelectorAll() call
|
|
76
|
-
(elements as NodeListOf<T>).forEach(elm => this.bindSingleElement(elm, attribute, eventName, eventCallback));
|
|
77
|
-
} else if (elements) {
|
|
78
|
-
// single DOM element coming from a querySelector() call
|
|
79
|
-
this.bindSingleElement(elements as T, attribute, eventName, eventCallback);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return this;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/** Unbind (remove) an element event listener */
|
|
86
|
-
unbind(element: Element | null, eventName: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions, eventUid?: string) {
|
|
87
|
-
if (element) {
|
|
88
|
-
element.removeEventListener(eventName, listener, options);
|
|
89
|
-
const eventIdx = this._boundedEventWithListeners.findIndex(be => be.uid === eventUid);
|
|
90
|
-
if (eventIdx >= 0) {
|
|
91
|
-
this._boundedEventWithListeners.splice(eventIdx, 1);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/** Unbind All (remove) bounded elements with listeners */
|
|
97
|
-
unbindAll() {
|
|
98
|
-
let boundedEvent = this._boundedEventWithListeners.pop();
|
|
99
|
-
while (boundedEvent) {
|
|
100
|
-
const { element, eventName, listener, uid } = boundedEvent;
|
|
101
|
-
this.unbind(element, eventName, listener, undefined, uid);
|
|
102
|
-
boundedEvent = this._boundedEventWithListeners.pop();
|
|
103
|
-
}
|
|
104
|
-
this._boundedEventWithListeners = [];
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Add binding to a single element by an object attribute and optionally on an event, we can do it in couple ways
|
|
109
|
-
* 1- if there's no event provided, it will simply replace the DOM element (by an attribute), for example an innerHTML
|
|
110
|
-
* 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
|
|
111
|
-
* 2.1- we could also provide an extra callback method to execute when the event gets triggered
|
|
112
|
-
*/
|
|
113
|
-
protected bindSingleElement<T extends Element = Element>(element: T | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any) {
|
|
114
|
-
const binding: ElementBinding<T> | ElementBindingWithListener<T> = { element, attribute };
|
|
115
|
-
if (element) {
|
|
116
|
-
if (eventName) {
|
|
117
|
-
const listener = () => {
|
|
118
|
-
let elmValue: any = element[attribute as keyof T];
|
|
119
|
-
if (this.hasData(elmValue) && (element as unknown as HTMLInputElement)?.type === 'number') {
|
|
120
|
-
elmValue = +elmValue; // input is always string but we can parse to number when its type is number
|
|
121
|
-
}
|
|
122
|
-
this.valueSetter<T>(elmValue);
|
|
123
|
-
if (this._binding.variable.hasOwnProperty(this._binding.property) || this._binding.property in this._binding.variable) {
|
|
124
|
-
this._binding.variable[this._binding.property] = this.valueGetter();
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (typeof eventCallback === 'function') {
|
|
128
|
-
return eventCallback(this.valueGetter());
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
(binding as ElementBindingWithListener<T>).event = eventName;
|
|
133
|
-
(binding as ElementBindingWithListener<T>).listener = listener;
|
|
134
|
-
element.addEventListener(eventName, listener);
|
|
135
|
-
this._boundedEventWithListeners.push({ element, eventName, listener, uid: this.generateUuidV4() });
|
|
136
|
-
}
|
|
137
|
-
this._elementBindings.push(binding);
|
|
138
|
-
element[attribute as keyof T] = this._value;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/** Generate a UUID version 4 RFC compliant */
|
|
143
|
-
protected generateUuidV4() {
|
|
144
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
145
|
-
const r = Math.random() * 16 | 0;
|
|
146
|
-
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
147
|
-
return v.toString(16);
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
protected hasData(value: any): boolean {
|
|
152
|
-
return value !== undefined && value !== null && value !== '';
|
|
153
|
-
}
|
|
1
|
+
import type { Binding, BoundedEventWithListener, ElementBinding, ElementBindingWithListener } from './interfaces';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create 2 way Bindings for any variable that are primitive or object types, when it's an object type it will watch for property changes
|
|
5
|
+
* The following 2 articles helped in building this service:
|
|
6
|
+
* 1- https://blog.jeremylikness.com/blog/client-side-javascript-databinding-without-a-framework/
|
|
7
|
+
* 2- https://www.wintellect.com/data-binding-pure-javascript/
|
|
8
|
+
*/
|
|
9
|
+
export class BindingService {
|
|
10
|
+
protected _value: any = null;
|
|
11
|
+
protected _binding: Binding;
|
|
12
|
+
protected _property: string;
|
|
13
|
+
protected _boundedEventWithListeners: BoundedEventWithListener[] = [];
|
|
14
|
+
protected _elementBindings: Array<ElementBinding | ElementBindingWithListener> = [];
|
|
15
|
+
|
|
16
|
+
constructor(binding: Binding) {
|
|
17
|
+
this._binding = binding;
|
|
18
|
+
this._property = binding.property || '';
|
|
19
|
+
this._elementBindings = [];
|
|
20
|
+
if (binding.property && binding.variable && (binding.variable.hasOwnProperty(binding.property) || binding.property in binding.variable)) {
|
|
21
|
+
this._value = binding.variable[binding.property];
|
|
22
|
+
} else {
|
|
23
|
+
this._value = binding.variable;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (typeof binding.variable === 'object') {
|
|
27
|
+
Object.defineProperty(binding.variable, binding.property, {
|
|
28
|
+
get: this.valueGetter.bind(this),
|
|
29
|
+
set: this.valueSetter.bind(this)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get boundedEventWithListeners(): BoundedEventWithListener[] {
|
|
35
|
+
return this._boundedEventWithListeners;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
get elementBindings(): Array<ElementBinding | ElementBindingWithListener> {
|
|
39
|
+
return this._elementBindings;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
get property() {
|
|
43
|
+
return this._property;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
dispose() {
|
|
47
|
+
this.unbindAll();
|
|
48
|
+
this._boundedEventWithListeners = [];
|
|
49
|
+
this._elementBindings = [];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
valueGetter() {
|
|
53
|
+
return this._value;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
valueSetter<T extends Element = Element>(val: any) {
|
|
57
|
+
this._value = val;
|
|
58
|
+
if (Array.isArray(this._elementBindings)) {
|
|
59
|
+
for (const binding of this._elementBindings) {
|
|
60
|
+
if (binding?.element && binding?.attribute) {
|
|
61
|
+
(binding.element as T)[binding.attribute as keyof T] = val;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Add binding to 1 or more DOM Element by an object attribute and optionally on an event, we can do it in couple ways
|
|
69
|
+
* 1- if there's no event provided, it will simply replace the DOM elemnt (by an attribute), for example an innerHTML
|
|
70
|
+
* 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
|
|
71
|
+
* 2.1- we could also provide an extra callback method to execute when the event gets triggered
|
|
72
|
+
*/
|
|
73
|
+
bind<T extends Element = Element>(elements: T | NodeListOf<T> | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any) {
|
|
74
|
+
if (elements && (elements as NodeListOf<T>).forEach) {
|
|
75
|
+
// multiple DOM elements coming from a querySelectorAll() call
|
|
76
|
+
(elements as NodeListOf<T>).forEach(elm => this.bindSingleElement(elm, attribute, eventName, eventCallback));
|
|
77
|
+
} else if (elements) {
|
|
78
|
+
// single DOM element coming from a querySelector() call
|
|
79
|
+
this.bindSingleElement(elements as T, attribute, eventName, eventCallback);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Unbind (remove) an element event listener */
|
|
86
|
+
unbind(element: Element | null, eventName: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions, eventUid?: string) {
|
|
87
|
+
if (element) {
|
|
88
|
+
element.removeEventListener(eventName, listener, options);
|
|
89
|
+
const eventIdx = this._boundedEventWithListeners.findIndex(be => be.uid === eventUid);
|
|
90
|
+
if (eventIdx >= 0) {
|
|
91
|
+
this._boundedEventWithListeners.splice(eventIdx, 1);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/** Unbind All (remove) bounded elements with listeners */
|
|
97
|
+
unbindAll() {
|
|
98
|
+
let boundedEvent = this._boundedEventWithListeners.pop();
|
|
99
|
+
while (boundedEvent) {
|
|
100
|
+
const { element, eventName, listener, uid } = boundedEvent;
|
|
101
|
+
this.unbind(element, eventName, listener, undefined, uid);
|
|
102
|
+
boundedEvent = this._boundedEventWithListeners.pop();
|
|
103
|
+
}
|
|
104
|
+
this._boundedEventWithListeners = [];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Add binding to a single element by an object attribute and optionally on an event, we can do it in couple ways
|
|
109
|
+
* 1- if there's no event provided, it will simply replace the DOM element (by an attribute), for example an innerHTML
|
|
110
|
+
* 2- when an event is provided, we will replace the DOM element (by an attribute) every time an event is triggered
|
|
111
|
+
* 2.1- we could also provide an extra callback method to execute when the event gets triggered
|
|
112
|
+
*/
|
|
113
|
+
protected bindSingleElement<T extends Element = Element>(element: T | null, attribute: string, eventName?: string, eventCallback?: (val: any) => any) {
|
|
114
|
+
const binding: ElementBinding<T> | ElementBindingWithListener<T> = { element, attribute };
|
|
115
|
+
if (element) {
|
|
116
|
+
if (eventName) {
|
|
117
|
+
const listener = () => {
|
|
118
|
+
let elmValue: any = element[attribute as keyof T];
|
|
119
|
+
if (this.hasData(elmValue) && (element as unknown as HTMLInputElement)?.type === 'number') {
|
|
120
|
+
elmValue = +elmValue; // input is always string but we can parse to number when its type is number
|
|
121
|
+
}
|
|
122
|
+
this.valueSetter<T>(elmValue);
|
|
123
|
+
if (this._binding.variable.hasOwnProperty(this._binding.property) || this._binding.property in this._binding.variable) {
|
|
124
|
+
this._binding.variable[this._binding.property] = this.valueGetter();
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (typeof eventCallback === 'function') {
|
|
128
|
+
return eventCallback(this.valueGetter());
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
(binding as ElementBindingWithListener<T>).event = eventName;
|
|
133
|
+
(binding as ElementBindingWithListener<T>).listener = listener;
|
|
134
|
+
element.addEventListener(eventName, listener);
|
|
135
|
+
this._boundedEventWithListeners.push({ element, eventName, listener, uid: this.generateUuidV4() });
|
|
136
|
+
}
|
|
137
|
+
this._elementBindings.push(binding);
|
|
138
|
+
element[attribute as keyof T] = this._value;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/** Generate a UUID version 4 RFC compliant */
|
|
143
|
+
protected generateUuidV4() {
|
|
144
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
145
|
+
const r = Math.random() * 16 | 0;
|
|
146
|
+
const v = c === 'x' ? r : (r & 0x3 | 0x8);
|
|
147
|
+
return v.toString(16);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
protected hasData(value: any): boolean {
|
|
152
|
+
return value !== undefined && value !== null && value !== '';
|
|
153
|
+
}
|
|
154
154
|
}
|
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
import type { ElementEventListener } from './interfaces';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Create a Service to bind event listeners to DOM elements events,
|
|
5
|
-
* you can bind 1 or more elements on 1 or more events.
|
|
6
|
-
* The advantage of using this service is too easily unbind all listeners without having to pass the actual listener reference
|
|
7
|
-
*/
|
|
8
|
-
export class BindingEventService {
|
|
9
|
-
protected _boundedEvents: ElementEventListener[] = [];
|
|
10
|
-
|
|
11
|
-
get boundedEvents(): ElementEventListener[] {
|
|
12
|
-
return this._boundedEvents;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
dispose() {
|
|
16
|
-
this.unbindAll();
|
|
17
|
-
this._boundedEvents = [];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/** Bind an event listener to any element */
|
|
21
|
-
bind(elementOrElements: Document | Element | NodeListOf<Element> | Window, eventNameOrNames: string | string[], listener: EventListenerOrEventListenerObject, listenerOptions?: boolean | AddEventListenerOptions, groupName = '') {
|
|
22
|
-
// convert to array for looping in next task
|
|
23
|
-
const eventNames = (Array.isArray(eventNameOrNames)) ? eventNameOrNames : [eventNameOrNames];
|
|
24
|
-
|
|
25
|
-
if ((elementOrElements as NodeListOf<HTMLElement>)?.forEach) {
|
|
26
|
-
// multiple elements to bind to
|
|
27
|
-
(elementOrElements as NodeListOf<HTMLElement>).forEach(element => {
|
|
28
|
-
for (const eventName of eventNames) {
|
|
29
|
-
element.addEventListener(eventName, listener, listenerOptions);
|
|
30
|
-
this._boundedEvents.push({ element, eventName, listener, groupName });
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
} else {
|
|
34
|
-
// single elements to bind to
|
|
35
|
-
for (const eventName of eventNames) {
|
|
36
|
-
(elementOrElements as Element).addEventListener(eventName, listener, listenerOptions);
|
|
37
|
-
this._boundedEvents.push({ element: (elementOrElements as Element), eventName, listener, groupName });
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/** Unbind a specific listener that was bounded earlier */
|
|
43
|
-
unbind(elementOrElements: Element | NodeListOf<Element>, eventNameOrNames: string | string[], listener: EventListenerOrEventListenerObject) {
|
|
44
|
-
// convert to array for looping in next task
|
|
45
|
-
const elements = (Array.isArray(elementOrElements)) ? elementOrElements : [elementOrElements];
|
|
46
|
-
const eventNames = Array.isArray(eventNameOrNames) ? eventNameOrNames : [eventNameOrNames];
|
|
47
|
-
|
|
48
|
-
for (const eventName of eventNames) {
|
|
49
|
-
for (const element of elements) {
|
|
50
|
-
if (typeof element?.removeEventListener === 'function') {
|
|
51
|
-
element.removeEventListener(eventName, listener);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
unbindByEventName(element: Element | Window, eventName: string) {
|
|
58
|
-
const boundedEvent = this._boundedEvents.find(e => e.element === element && e.eventName === eventName);
|
|
59
|
-
if (boundedEvent) {
|
|
60
|
-
this.unbind(boundedEvent.element, boundedEvent.eventName, boundedEvent.listener);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Unbind all event listeners that were bounded, optionally provide a group name to unbind all listeners assigned to that specific group only.
|
|
66
|
-
*/
|
|
67
|
-
unbindAll(groupName?: string | string[]) {
|
|
68
|
-
if (groupName) {
|
|
69
|
-
const groupNames = Array.isArray(groupName) ? groupName : [groupName];
|
|
70
|
-
|
|
71
|
-
// unbind only the bounded event with a specific group
|
|
72
|
-
// Note: we need to loop in reverse order to avoid array reindexing (causing index offset) after a splice is called
|
|
73
|
-
for (let i = this._boundedEvents.length - 1; i >= 0; --i) {
|
|
74
|
-
const boundedEvent = this._boundedEvents[i];
|
|
75
|
-
if (groupNames.some(g => g === boundedEvent.groupName)) {
|
|
76
|
-
const { element, eventName, listener } = boundedEvent;
|
|
77
|
-
this.unbind(element, eventName, listener);
|
|
78
|
-
this._boundedEvents.splice(i, 1);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
} else {
|
|
82
|
-
// unbind everything
|
|
83
|
-
while (this._boundedEvents.length > 0) {
|
|
84
|
-
const boundedEvent = this._boundedEvents.pop() as ElementEventListener;
|
|
85
|
-
const { element, eventName, listener } = boundedEvent;
|
|
86
|
-
this.unbind(element, eventName, listener);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
1
|
+
import type { ElementEventListener } from './interfaces';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create a Service to bind event listeners to DOM elements events,
|
|
5
|
+
* you can bind 1 or more elements on 1 or more events.
|
|
6
|
+
* The advantage of using this service is too easily unbind all listeners without having to pass the actual listener reference
|
|
7
|
+
*/
|
|
8
|
+
export class BindingEventService {
|
|
9
|
+
protected _boundedEvents: ElementEventListener[] = [];
|
|
10
|
+
|
|
11
|
+
get boundedEvents(): ElementEventListener[] {
|
|
12
|
+
return this._boundedEvents;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
dispose() {
|
|
16
|
+
this.unbindAll();
|
|
17
|
+
this._boundedEvents = [];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** Bind an event listener to any element */
|
|
21
|
+
bind(elementOrElements: Document | Element | NodeListOf<Element> | Window, eventNameOrNames: string | string[], listener: EventListenerOrEventListenerObject, listenerOptions?: boolean | AddEventListenerOptions, groupName = '') {
|
|
22
|
+
// convert to array for looping in next task
|
|
23
|
+
const eventNames = (Array.isArray(eventNameOrNames)) ? eventNameOrNames : [eventNameOrNames];
|
|
24
|
+
|
|
25
|
+
if ((elementOrElements as NodeListOf<HTMLElement>)?.forEach) {
|
|
26
|
+
// multiple elements to bind to
|
|
27
|
+
(elementOrElements as NodeListOf<HTMLElement>).forEach(element => {
|
|
28
|
+
for (const eventName of eventNames) {
|
|
29
|
+
element.addEventListener(eventName, listener, listenerOptions);
|
|
30
|
+
this._boundedEvents.push({ element, eventName, listener, groupName });
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
// single elements to bind to
|
|
35
|
+
for (const eventName of eventNames) {
|
|
36
|
+
(elementOrElements as Element).addEventListener(eventName, listener, listenerOptions);
|
|
37
|
+
this._boundedEvents.push({ element: (elementOrElements as Element), eventName, listener, groupName });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Unbind a specific listener that was bounded earlier */
|
|
43
|
+
unbind(elementOrElements: Element | NodeListOf<Element>, eventNameOrNames: string | string[], listener: EventListenerOrEventListenerObject) {
|
|
44
|
+
// convert to array for looping in next task
|
|
45
|
+
const elements = (Array.isArray(elementOrElements)) ? elementOrElements : [elementOrElements];
|
|
46
|
+
const eventNames = Array.isArray(eventNameOrNames) ? eventNameOrNames : [eventNameOrNames];
|
|
47
|
+
|
|
48
|
+
for (const eventName of eventNames) {
|
|
49
|
+
for (const element of elements) {
|
|
50
|
+
if (typeof element?.removeEventListener === 'function') {
|
|
51
|
+
element.removeEventListener(eventName, listener);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
unbindByEventName(element: Element | Window, eventName: string) {
|
|
58
|
+
const boundedEvent = this._boundedEvents.find(e => e.element === element && e.eventName === eventName);
|
|
59
|
+
if (boundedEvent) {
|
|
60
|
+
this.unbind(boundedEvent.element, boundedEvent.eventName, boundedEvent.listener);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Unbind all event listeners that were bounded, optionally provide a group name to unbind all listeners assigned to that specific group only.
|
|
66
|
+
*/
|
|
67
|
+
unbindAll(groupName?: string | string[]) {
|
|
68
|
+
if (groupName) {
|
|
69
|
+
const groupNames = Array.isArray(groupName) ? groupName : [groupName];
|
|
70
|
+
|
|
71
|
+
// unbind only the bounded event with a specific group
|
|
72
|
+
// Note: we need to loop in reverse order to avoid array reindexing (causing index offset) after a splice is called
|
|
73
|
+
for (let i = this._boundedEvents.length - 1; i >= 0; --i) {
|
|
74
|
+
const boundedEvent = this._boundedEvents[i];
|
|
75
|
+
if (groupNames.some(g => g === boundedEvent.groupName)) {
|
|
76
|
+
const { element, eventName, listener } = boundedEvent;
|
|
77
|
+
this.unbind(element, eventName, listener);
|
|
78
|
+
this._boundedEvents.splice(i, 1);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
} else {
|
|
82
|
+
// unbind everything
|
|
83
|
+
while (this._boundedEvents.length > 0) {
|
|
84
|
+
const boundedEvent = this._boundedEvents.pop() as ElementEventListener;
|
|
85
|
+
const { element, eventName, listener } = boundedEvent;
|
|
86
|
+
this.unbind(element, eventName, listener);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|