@coana-tech/cli 14.12.113 → 14.12.115
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/cli.mjs +119 -40
- package/package.json +1 -1
- package/reachability-analyzers-cli.mjs +238 -217
- package/repos/coana-tech/goana/bin/goana-darwin-amd64.gz +0 -0
- package/repos/coana-tech/goana/bin/goana-darwin-arm64.gz +0 -0
- package/repos/coana-tech/goana/bin/goana-linux-amd64.gz +0 -0
- package/repos/coana-tech/goana/bin/goana-linux-arm64.gz +0 -0
- package/repos/coana-tech/javap-service/javap-service.jar +0 -0
- package/repos/coana-tech/jelly-private/dist/bundle/approx.js +11 -7
- package/repos/coana-tech/jelly-private/dist/bundle/{chunk-PAV2YSLW.js → chunk-RUAUP2X2.js} +5 -5
- package/repos/coana-tech/jelly-private/dist/bundle/{chunk-VDHMBLB5.js → chunk-US4VPHJ4.js} +1556 -1428
- package/repos/coana-tech/jelly-private/dist/bundle/{chunk-XJM6ACML.js → chunk-VENMYXZQ.js} +2 -2
- package/repos/coana-tech/jelly-private/dist/bundle/{chunk-AO2BBATE.js → chunk-XXE5Z2AZ.js} +143 -77
- package/repos/coana-tech/jelly-private/dist/bundle/hooks.js +3 -3
- package/repos/coana-tech/jelly-private/dist/bundle/jelly.js +354 -779
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/compat-data/package.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/cache-contexts.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/config-chain.js +3 -3
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/config-chain.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/config-descriptors.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/full.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/item.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/partial.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/printer.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/resolve-targets.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/util.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/validation/options.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/config/validation/plugins.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/index.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/parse.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/parser/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/transformation/file/file.js +8 -15
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/transformation/file/file.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/transformation/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/transformation/normalize-file.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/lib/transformation/normalize-opts.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/package.json +8 -8
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/src/config/resolve-targets-browser.ts +2 -2
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/core/src/config/resolve-targets.ts +2 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/buffer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/buffer.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/flow.js +1 -3
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/flow.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/methods.js +2 -2
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/modules.js +2 -2
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/modules.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/statements.js +1 -3
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/statements.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/typescript.js +2 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/generators/typescript.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/node/index.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/node/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/node/parentheses.js +0 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/node/parentheses.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/node/whitespace.js +11 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/node/whitespace.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/printer.js +8 -9
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/printer.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/source-map.js +3 -2
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/source-map.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/token-map.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/lib/token-map.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/generator/package.json +5 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js +3 -3
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-create-class-features-plugin/lib/decorators.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-create-class-features-plugin/lib/index.js +5 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-create-class-features-plugin/package.json +5 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-member-expression-to-functions/lib/index.js +3 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-member-expression-to-functions/lib/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-member-expression-to-functions/package.json +3 -3
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-validator-identifier/lib/identifier.js +4 -4
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/helper-validator-identifier/package.json +2 -2
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/parser/lib/index.js +212 -145
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/parser/lib/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/parser/package.json +3 -3
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/parser/typings/babel-parser.d.ts +27 -4
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/plugin-transform-typescript/lib/index.js +8 -6
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/plugin-transform-typescript/lib/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/plugin-transform-typescript/package.json +5 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/cache.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/context.js +2 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/context.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/index.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/ancestry.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/comments.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/conversion.js +5 -3
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/evaluation.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/family.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/index.js +0 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/inference/inferers.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/introspection.js +1 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/introspection.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/hoister.js +1 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js +1 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js +9 -8
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/virtual-types.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/lib/virtual-types.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/removal.js +2 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/removal.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/replacement.js +2 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/path/replacement.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/scope/index.js +10 -6
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/scope/traverseForScope.js +68 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/scope/traverseForScope.js.map +1 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/traverse-node.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/visitors.js +4 -6
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/package.json +5 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/traverse/tsconfig.overrides.json +6 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/core.js +80 -13
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/index.js +6 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/typescript.js +6 -5
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/utils.js +6 -2
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/definitions/utils.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/index-legacy.d.ts +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/index.d.ts +644 -331
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/index.js.flow +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/validators/isReferenced.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/validators/isScope.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/lib/validators/isVar.js.map +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/@babel/types/package.json +4 -4
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/baseline-browser-mapping/README.md +36 -4
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/baseline-browser-mapping/dist/cli.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/baseline-browser-mapping/dist/index.d.ts +12 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/baseline-browser-mapping/dist/index.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/baseline-browser-mapping/package.json +11 -8
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/browserslist/index.js +20 -7
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/browserslist/node.js +5 -0
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/browserslist/package.json +6 -6
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/agents.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/browserVersions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/aac.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/apng.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/array-find.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/audio.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/av1.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/avif.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/beacon.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/bigint.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/border-image.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/brotli.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/calc.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/canvas.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/classlist.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/colr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/console-time.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/const.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/cors.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-all.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-has.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-if.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-table.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/customevent.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/datalist.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dataset.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/datauri.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/decorators.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/details.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dialog.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/download.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/eme.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/eot.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es5.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/es6.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/fetch.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/filereader.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/flac.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/fontface.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/forms.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/heif.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/hevc.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/hidden.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/history.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/http2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/http3.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ime.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/imports.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/innertext.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-color.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-event.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-number.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-range.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-search.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/json.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/let.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mathml.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/menu.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/meter.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/midi.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mp3.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/notifications.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/object-values.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ogv.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/online-status.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/opus.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/outline.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/path2d.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/picture.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ping.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/pointer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/portals.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/progress.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/promises.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/proximity.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/proxy.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/push-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/rellist.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/rem.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ruby.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/run-in.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/script-async.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/sdch.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/selectlist.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/sni.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/spdy.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/srcset.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/stream.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/streams.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/svg.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/sxg.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/template.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/temporal.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/touch.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/ttf.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/u2f.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/url.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/vibration.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/video.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wasm.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wav.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/web-share.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webgl.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webhid.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webm.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webp.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/websockets.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webusb.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webvr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/webxr.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/will-change.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/woff.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/woff2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/word-break.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/features/zstd.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AD.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AF.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AX.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/AZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BB.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BD.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BF.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BJ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/BZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CD.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CF.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CV.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CX.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/CZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/DE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/DJ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/DK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/DM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/DO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/DZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/EC.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/EE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/EG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ER.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ES.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ET.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/FI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/FJ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/FK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/FM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/FO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/FR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GB.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GD.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GF.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GP.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GQ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/GY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/HK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/HN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/HR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/HT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/HU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ID.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IQ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/IT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/JE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/JM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/JO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/JP.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KP.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/KZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LB.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LC.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LV.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/LY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MC.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MD.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ME.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ML.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MP.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MQ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MV.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MX.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/MZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NC.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NF.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NP.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/NZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/OM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PF.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/PY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/QA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/RE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/RO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/RS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/RU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/RW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SB.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SC.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SD.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SK.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ST.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SV.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/SZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TC.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TD.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TH.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TJ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TL.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TO.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TR.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TV.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/TZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/UA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/UG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/US.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/UY.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/UZ.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/VA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/VC.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/VE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/VG.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/VI.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/VN.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/VU.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/WF.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/WS.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/YE.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/YT.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ZA.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ZM.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/ZW.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-af.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-an.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-as.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-eu.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-na.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-oc.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-sa.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/data/regions/alt-ww.js +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/caniuse-lite/package.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/chromium-versions.js +4 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/chromium-versions.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/full-chromium-versions.js +83 -4
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/full-chromium-versions.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/full-versions.js +52 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/full-versions.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/package.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/versions.js +15 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/electron-to-chromium/versions.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/node-releases/data/processed/envs.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/node-releases/data/release-schedule/release-schedule.json +1 -1
- package/repos/coana-tech/jelly-private/dist/bundle/node_modules/node-releases/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","_t","getAssignmentIdentifiers","_getAssignmentIdentifiers","getBindingIdentifiers","_getBindingIdentifiers","getOuterBindingIdentifiers","_getOuterBindingIdentifiers","numericLiteral","unaryExpression","NORMAL_COMPLETION","BREAK_COMPLETION","NormalCompletion","path","type","BreakCompletion","getOpposite","key","getSibling","addCompletionRecords","records","context","push","_getCompletionRecords","completionRecordForSwitch","cases","lastNormalCompletions","i","length","casePath","caseCompletions","normalCompletions","breakCompletions","c","normalCompletionToBreak","completions","forEach","replaceBreakStatementInBreakCompletion","reachable","isBreakStatement","label","replaceWith","remove","getStatementListCompletion","paths","canHaveBreak","newContext","Object","assign","inCaseClause","isBlockStatement","shouldPopulateBreak","statementCompletions","every","some","isDeclaration","shouldPreserveBreak","pathCompletions","isVariableDeclaration","isEmptyStatement","isIfStatement","get","isDoExpression","isFor","isWhile","isLabeledStatement","isProgram","isFunction","isTryStatement","isCatchClause","isSwitchStatement","isSwitchCase","getCompletionRecords","map","r","NodePath","parentPath","parent","container","listKey","setContext","getPrevSibling","getNextSibling","getAllNextSiblings","_key","sibling","siblings","node","getAllPrevSiblings","parts","split","_getKey","call","_getPattern","Array","isArray","_","part","duplicates","getBindingIdentifierPaths","outerOnly","search","ids","create","id","shift","keys","isIdentifier","_ids","name","isExportDeclaration","declaration","isFunctionDeclaration","isFunctionExpression","child","getOuterBindingIdentifierPaths"],"sources":["../../src/path/family.ts"],"sourcesContent":["// This file contains methods responsible for dealing with/retrieving children or siblings.\n\nimport type TraversalContext from \"../context.ts\";\nimport NodePath from \"./index.ts\";\nimport {\n getAssignmentIdentifiers as _getAssignmentIdentifiers,\n getBindingIdentifiers as _getBindingIdentifiers,\n getOuterBindingIdentifiers as _getOuterBindingIdentifiers,\n numericLiteral,\n unaryExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nconst NORMAL_COMPLETION = 0;\nconst BREAK_COMPLETION = 1;\n\ntype Completion = {\n path: NodePath;\n type: 0 | 1;\n};\n\ntype CompletionContext = {\n // whether the current context allows `break` statement. When it allows, we have\n // to search all the statements for potential `break`\n canHaveBreak: boolean;\n // whether the statement is an immediate descendant of a switch case clause\n inCaseClause: boolean;\n // whether the `break` statement record should be populated to upper level\n // when a `break` statement is an immediate descendant of a block statement, e.g.\n // `{ break }`, it can influence the control flow in the upper levels.\n shouldPopulateBreak: boolean;\n // Whether the `break` statement should be preserved.\n shouldPreserveBreak: boolean;\n};\n\nfunction NormalCompletion(path: NodePath): Completion {\n return { type: NORMAL_COMPLETION, path };\n}\n\nfunction BreakCompletion(path: NodePath): Completion {\n return { type: BREAK_COMPLETION, path };\n}\n\nexport function getOpposite(this: NodePath): NodePath | null {\n if (this.key === \"left\") {\n return this.getSibling(\"right\");\n } else if (this.key === \"right\") {\n return this.getSibling(\"left\");\n }\n return null;\n}\n\nfunction addCompletionRecords(\n path: NodePath | null | undefined,\n records: Completion[],\n context: CompletionContext,\n): Completion[] {\n if (path) {\n records.push(..._getCompletionRecords(path, context));\n }\n return records;\n}\n\nfunction completionRecordForSwitch(\n cases: NodePath<t.SwitchCase>[],\n records: Completion[],\n context: CompletionContext,\n): Completion[] {\n // https://tc39.es/ecma262/#sec-runtime-semantics-caseblockevaluation\n let lastNormalCompletions: Completion[] = [];\n for (let i = 0; i < cases.length; i++) {\n const casePath = cases[i];\n const caseCompletions = _getCompletionRecords(casePath, context);\n const normalCompletions = [];\n const breakCompletions = [];\n for (const c of caseCompletions) {\n if (c.type === NORMAL_COMPLETION) {\n normalCompletions.push(c);\n }\n if (c.type === BREAK_COMPLETION) {\n breakCompletions.push(c);\n }\n }\n if (normalCompletions.length) {\n lastNormalCompletions = normalCompletions;\n }\n records.push(...breakCompletions);\n }\n records.push(...lastNormalCompletions);\n return records;\n}\n\nfunction normalCompletionToBreak(completions: Completion[]) {\n completions.forEach(c => {\n c.type = BREAK_COMPLETION;\n });\n}\n\n/**\n * Determine how we should handle the break statement for break completions\n *\n * @param {Completion[]} completions\n * @param {boolean} reachable Whether the break statement is reachable after\n we mark the normal completions _before_ the given break completions as the final\n completions. For example,\n `{ 0 }; break;` is transformed to `{ return 0 }; break;`, the `break` here is unreachable\n and thus can be removed without consequences. We may in the future reserve them instead since\n we do not consistently remove unreachable statements _after_ break\n `{ var x = 0 }; break;` is transformed to `{ var x = 0 }; return void 0;`, the `break` is reachable\n because we can not wrap variable declaration under a return statement\n */\nfunction replaceBreakStatementInBreakCompletion(\n completions: Completion[],\n reachable: boolean,\n) {\n completions.forEach(c => {\n if (c.path.isBreakStatement({ label: null })) {\n if (reachable) {\n c.path.replaceWith(unaryExpression(\"void\", numericLiteral(0)));\n } else {\n c.path.remove();\n }\n }\n });\n}\n\nfunction getStatementListCompletion(\n paths: NodePath[],\n context: CompletionContext,\n): Completion[] {\n const completions = [];\n if (context.canHaveBreak) {\n let lastNormalCompletions = [];\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n const newContext = { ...context, inCaseClause: false };\n if (\n path.isBlockStatement() &&\n (context.inCaseClause || // case test: { break }\n context.shouldPopulateBreak) // case test: { { break } }\n ) {\n newContext.shouldPopulateBreak = true;\n } else {\n newContext.shouldPopulateBreak = false;\n }\n const statementCompletions = _getCompletionRecords(path, newContext);\n if (\n statementCompletions.length > 0 &&\n // we can stop search `paths` when we have seen a `path` that is\n // effectively a `break` statement. Examples are\n // - `break`\n // - `if (true) { 1; break } else { 2; break }`\n // - `{ break }```\n // In other words, the paths after this `path` are unreachable\n statementCompletions.every(c => c.type === BREAK_COMPLETION)\n ) {\n if (\n lastNormalCompletions.length > 0 &&\n statementCompletions.every(c =>\n c.path.isBreakStatement({ label: null }),\n )\n ) {\n // when a break completion has a path as BreakStatement, it must be `{ break }`\n // whose completion value we can not determine, otherwise it would have been\n // replaced by `replaceBreakStatementInBreakCompletion`\n // When we have seen normal completions from the last statement\n // it is safe to stop populating break and mark normal completions as break\n normalCompletionToBreak(lastNormalCompletions);\n completions.push(...lastNormalCompletions);\n // Declarations have empty completion record, however they can not be nested\n // directly in return statement, i.e. `return (var a = 1)` is invalid.\n if (lastNormalCompletions.some(c => c.path.isDeclaration())) {\n completions.push(...statementCompletions);\n if (!context.shouldPreserveBreak) {\n replaceBreakStatementInBreakCompletion(\n statementCompletions,\n /* reachable */ true,\n );\n }\n }\n if (!context.shouldPreserveBreak) {\n replaceBreakStatementInBreakCompletion(\n statementCompletions,\n /* reachable */ false,\n );\n }\n } else {\n completions.push(...statementCompletions);\n if (!context.shouldPopulateBreak && !context.shouldPreserveBreak) {\n replaceBreakStatementInBreakCompletion(\n statementCompletions,\n /* reachable */ true,\n );\n }\n }\n break;\n }\n if (i === paths.length - 1) {\n completions.push(...statementCompletions);\n } else {\n lastNormalCompletions = [];\n for (let i = 0; i < statementCompletions.length; i++) {\n const c = statementCompletions[i];\n if (c.type === BREAK_COMPLETION) {\n completions.push(c);\n }\n if (c.type === NORMAL_COMPLETION) {\n lastNormalCompletions.push(c);\n }\n }\n }\n }\n } else if (paths.length) {\n // When we are in a context where `break` must not exist, we can skip linear\n // search on statement lists and assume that the last\n // non-variable-declaration statement determines the completion.\n for (let i = paths.length - 1; i >= 0; i--) {\n const pathCompletions = _getCompletionRecords(paths[i], context);\n if (\n pathCompletions.length > 1 ||\n (pathCompletions.length === 1 &&\n !pathCompletions[0].path.isVariableDeclaration() &&\n !pathCompletions[0].path.isEmptyStatement())\n ) {\n completions.push(...pathCompletions);\n break;\n }\n }\n }\n return completions;\n}\n\nfunction _getCompletionRecords(\n path: NodePath,\n context: CompletionContext,\n): Completion[] {\n let records: Completion[] = [];\n if (path.isIfStatement()) {\n records = addCompletionRecords(path.get(\"consequent\"), records, context);\n records = addCompletionRecords(path.get(\"alternate\"), records, context);\n } else if (\n path.isDoExpression() ||\n path.isFor() ||\n path.isWhile() ||\n path.isLabeledStatement()\n ) {\n return addCompletionRecords(path.get(\"body\"), records, context);\n } else if (path.isProgram() || path.isBlockStatement()) {\n return getStatementListCompletion(path.get(\"body\"), context);\n } else if (path.isFunction()) {\n return _getCompletionRecords(path.get(\"body\"), context);\n } else if (path.isTryStatement()) {\n records = addCompletionRecords(path.get(\"block\"), records, context);\n records = addCompletionRecords(path.get(\"handler\"), records, context);\n } else if (path.isCatchClause()) {\n return addCompletionRecords(path.get(\"body\"), records, context);\n } else if (path.isSwitchStatement()) {\n return completionRecordForSwitch(path.get(\"cases\"), records, context);\n } else if (path.isSwitchCase()) {\n return getStatementListCompletion(path.get(\"consequent\"), {\n canHaveBreak: true,\n shouldPopulateBreak: false,\n inCaseClause: true,\n shouldPreserveBreak: context.shouldPreserveBreak,\n });\n } else if (path.isBreakStatement()) {\n records.push(BreakCompletion(path));\n } else {\n records.push(NormalCompletion(path));\n }\n\n return records;\n}\n\n/**\n * Retrieve the completion records of a given path.\n * Note: to ensure proper support on `break` statement, this method\n * will manipulate the AST around the break statement. Do not call the method\n * twice for the same path.\n *\n * @export\n * @param {NodePath} this\n * @param {boolean} [shouldPreserveBreak=false] Whether the `break` statement should be preserved.\n * @returns {NodePath[]} Completion records\n */\nexport function getCompletionRecords(\n this: NodePath,\n shouldPreserveBreak = false,\n): NodePath[] {\n const records = _getCompletionRecords(this, {\n canHaveBreak: false,\n shouldPopulateBreak: false,\n inCaseClause: false,\n shouldPreserveBreak,\n });\n return records.map(r => r.path);\n}\n\nexport function getSibling(this: NodePath, key: string | number): NodePath {\n return NodePath.get({\n parentPath: this.parentPath,\n parent: this.parent,\n container: this.container,\n listKey: this.listKey,\n key: key,\n }).setContext(this.context);\n}\n\nexport function getPrevSibling(this: NodePath): NodePath {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n return this.getSibling(this.key - 1);\n}\n\nexport function getNextSibling(this: NodePath): NodePath {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n return this.getSibling(this.key + 1);\n}\n\nexport function getAllNextSiblings(this: NodePath): NodePath[] {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n let _key: number = this.key;\n let sibling = this.getSibling(++_key);\n const siblings = [];\n while (sibling.node) {\n siblings.push(sibling);\n sibling = this.getSibling(++_key);\n }\n return siblings;\n}\n\nexport function getAllPrevSiblings(this: NodePath): NodePath[] {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n let _key: number = this.key;\n let sibling = this.getSibling(--_key);\n const siblings = [];\n while (sibling.node) {\n siblings.push(sibling);\n sibling = this.getSibling(--_key);\n }\n return siblings;\n}\n\n// convert \"1\" to 1 (string index to number index)\ntype MaybeToIndex<T extends string> = T extends `${bigint}` ? number : T;\n\ntype Pattern<Obj extends string, Prop extends string> = `${Obj}.${Prop}`;\n\n// split \"body.body.1\" to [\"body\", \"body\", 1]\ntype Split<P extends string> =\n P extends Pattern<infer O, infer U>\n ? [MaybeToIndex<O>, ...Split<U>]\n : [MaybeToIndex<P>];\n\n// traverse the Node with tuple path [\"body\", \"body\", 1]\n// Path should be created with Split\ntype Trav<\n Node extends t.Node | t.Node[],\n Path extends unknown[],\n> = Path extends [infer K, ...infer R]\n ? K extends keyof Node\n ? Node[K] extends t.Node | t.Node[]\n ? R extends []\n ? Node[K]\n : Trav<Node[K], R>\n : never\n : never\n : never;\n\ntype ToNodePath<T> =\n T extends Array<(infer U extends t.Node) | null | undefined>\n ? Array<NodePath<U> | null | undefined>\n : T extends (infer U extends t.Node) | null | undefined\n ? NodePath<U> | null | undefined\n : never;\n\nfunction get<T extends NodePath, K extends keyof T[\"node\"]>(\n this: T,\n key: K,\n context?: boolean | TraversalContext,\n): T extends any\n ? T[\"node\"][K] extends Array<(infer U extends t.Node) | null | undefined>\n ? Array<NodePath<U> | null | undefined>\n : T[\"node\"][K] extends (infer U extends t.Node) | null | undefined\n ? NodePath<U> | null | undefined\n : never\n : never;\n\nfunction get<T extends NodePath, K extends string>(\n this: T,\n key: K,\n context?: boolean | TraversalContext,\n): T extends any ? ToNodePath<Trav<T[\"node\"], Split<K>>> : never;\n\nfunction get(\n this: NodePath,\n key: string,\n context?: true | TraversalContext,\n): NodePath | NodePath[];\n\nfunction get(\n this: NodePath,\n key: string,\n context: true | TraversalContext = true,\n): NodePath | NodePath[] {\n if (context === true) context = this.context;\n const parts = key.split(\".\");\n if (parts.length === 1) {\n // \"foo\"\n // @ts-expect-error key may not index T\n return _getKey.call(this, key, context);\n } else {\n // \"foo.bar\"\n return _getPattern.call(this, parts, context);\n }\n}\n\nexport { get };\n\nexport function _getKey<T extends t.Node>(\n this: NodePath<T>,\n key: keyof T & string,\n context?: TraversalContext,\n): NodePath | NodePath[] {\n const node = this.node as T;\n const container = node[key];\n\n if (Array.isArray(container)) {\n // requested a container so give them all the paths\n return container.map((_, i) => {\n return NodePath.get({\n listKey: key,\n parentPath: this,\n parent: node,\n container: container,\n key: i,\n }).setContext(context);\n });\n } else {\n return NodePath.get({\n parentPath: this,\n parent: node,\n container: node,\n key: key,\n }).setContext(context);\n }\n}\n\nexport function _getPattern(\n this: NodePath,\n parts: string[],\n context?: TraversalContext,\n): NodePath | NodePath[] {\n let path: NodePath | NodePath[] = this;\n for (const part of parts) {\n if (part === \".\") {\n // @ts-expect-error todo(flow-ts): Can path be an array here?\n path = path.parentPath;\n } else {\n if (Array.isArray(path)) {\n // @ts-expect-error part may not index path\n path = path[part];\n } else {\n path = path.get(part, context);\n }\n }\n }\n return path;\n}\n\nexport function getAssignmentIdentifiers(this: NodePath) {\n return _getAssignmentIdentifiers(this.node);\n}\n\nfunction getBindingIdentifiers(\n duplicates: true,\n): Record<string, t.Identifier[]>;\nfunction getBindingIdentifiers(\n duplicates?: false,\n): Record<string, t.Identifier>;\nfunction getBindingIdentifiers(\n duplicates: boolean,\n): Record<string, t.Identifier[] | t.Identifier>;\n\nfunction getBindingIdentifiers(\n this: NodePath,\n duplicates?: boolean,\n): Record<string, t.Identifier[] | t.Identifier> {\n return _getBindingIdentifiers(this.node, duplicates);\n}\n\nexport { getBindingIdentifiers };\n\nfunction getOuterBindingIdentifiers(\n duplicates: true,\n): Record<string, t.Identifier[]>;\nfunction getOuterBindingIdentifiers(\n duplicates?: false,\n): Record<string, t.Identifier>;\nfunction getOuterBindingIdentifiers(\n duplicates: boolean,\n): Record<string, t.Identifier[] | t.Identifier>;\n\nfunction getOuterBindingIdentifiers(\n this: NodePath,\n duplicates?: boolean,\n): Record<string, t.Identifier[] | t.Identifier> {\n return _getOuterBindingIdentifiers(this.node, duplicates);\n}\n\nexport { getOuterBindingIdentifiers };\n\nfunction getBindingIdentifierPaths(\n duplicates: true,\n outerOnly?: boolean,\n): Record<string, NodePath<t.Identifier>[]>;\nfunction getBindingIdentifierPaths(\n duplicates: false,\n outerOnly?: boolean,\n): Record<string, NodePath<t.Identifier>>;\nfunction getBindingIdentifierPaths(\n duplicates?: boolean,\n outerOnly?: boolean,\n): Record<string, NodePath<t.Identifier> | NodePath<t.Identifier>[]>;\n\n// original source - https://github.com/babel/babel/blob/main/packages/babel-types/src/retrievers/getBindingIdentifiers.js\n// path.getBindingIdentifiers returns nodes where the following re-implementation returns paths\nfunction getBindingIdentifierPaths(\n this: NodePath,\n duplicates: boolean = false,\n outerOnly: boolean = false,\n): Record<string, NodePath<t.Identifier> | NodePath<t.Identifier>[]> {\n const path = this;\n const search = [path];\n const ids = Object.create(null);\n\n while (search.length) {\n const id = search.shift();\n if (!id) continue;\n if (!id.node) continue;\n\n const keys = _getBindingIdentifiers.keys[id.node.type];\n\n if (id.isIdentifier()) {\n if (duplicates) {\n const _ids = (ids[id.node.name] = ids[id.node.name] || []);\n _ids.push(id);\n } else {\n ids[id.node.name] = id;\n }\n continue;\n }\n\n if (id.isExportDeclaration()) {\n const declaration = id.get(\"declaration\");\n if (declaration.isDeclaration()) {\n search.push(declaration);\n }\n continue;\n }\n\n if (outerOnly) {\n if (id.isFunctionDeclaration()) {\n search.push(id.get(\"id\"));\n continue;\n }\n if (id.isFunctionExpression()) {\n continue;\n }\n }\n\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const child = id.get(key);\n if (Array.isArray(child)) {\n search.push(...child);\n } else if (child.node) {\n search.push(child);\n }\n }\n }\n }\n\n return ids;\n}\n\nexport { getBindingIdentifierPaths };\n\nfunction getOuterBindingIdentifierPaths(\n duplicates: true,\n): Record<string, NodePath<t.Identifier>[]>;\nfunction getOuterBindingIdentifierPaths(\n duplicates?: false,\n): Record<string, NodePath<t.Identifier>>;\nfunction getOuterBindingIdentifierPaths(\n duplicates?: boolean,\n): Record<string, NodePath<t.Identifier> | NodePath<t.Identifier>[]>;\n\nfunction getOuterBindingIdentifierPaths(\n this: NodePath,\n duplicates: boolean = false,\n) {\n return this.getBindingIdentifierPaths(duplicates, true);\n}\n\nexport { getOuterBindingIdentifierPaths };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,EAAA,GAAAD,OAAA;AAMsB;EALpBE,wBAAwB,EAAIC,yBAAyB;EACrDC,qBAAqB,EAAIC,sBAAsB;EAC/CC,0BAA0B,EAAIC,2BAA2B;EACzDC,cAAc;EACdC;AAAe,IAAAR,EAAA;AAIjB,MAAMS,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,gBAAgB,GAAG,CAAC;AAqB1B,SAASC,gBAAgBA,CAACC,IAAc,EAAc;EACpD,OAAO;IAAEC,IAAI,EAAEJ,iBAAiB;IAAEG;EAAK,CAAC;AAC1C;AAEA,SAASE,eAAeA,CAACF,IAAc,EAAc;EACnD,OAAO;IAAEC,IAAI,EAAEH,gBAAgB;IAAEE;EAAK,CAAC;AACzC;AAEO,SAASG,WAAWA,CAAA,EAAkC;EAC3D,IAAI,IAAI,CAACC,GAAG,KAAK,MAAM,EAAE;IACvB,OAAO,IAAI,CAACC,UAAU,CAAC,OAAO,CAAC;EACjC,CAAC,MAAM,IAAI,IAAI,CAACD,GAAG,KAAK,OAAO,EAAE;IAC/B,OAAO,IAAI,CAACC,UAAU,CAAC,MAAM,CAAC;EAChC;EACA,OAAO,IAAI;AACb;AAEA,SAASC,oBAAoBA,CAC3BN,IAAiC,EACjCO,OAAqB,EACrBC,OAA0B,EACZ;EACd,IAAIR,IAAI,EAAE;IACRO,OAAO,CAACE,IAAI,CAAC,GAAGC,qBAAqB,CAACV,IAAI,EAAEQ,OAAO,CAAC,CAAC;EACvD;EACA,OAAOD,OAAO;AAChB;AAEA,SAASI,yBAAyBA,CAChCC,KAA+B,EAC/BL,OAAqB,EACrBC,OAA0B,EACZ;EAEd,IAAIK,qBAAmC,GAAG,EAAE;EAC5C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IACrC,MAAME,QAAQ,GAAGJ,KAAK,CAACE,CAAC,CAAC;IACzB,MAAMG,eAAe,GAAGP,qBAAqB,CAACM,QAAQ,EAAER,OAAO,CAAC;IAChE,MAAMU,iBAAiB,GAAG,EAAE;IAC5B,MAAMC,gBAAgB,GAAG,EAAE;IAC3B,KAAK,MAAMC,CAAC,IAAIH,eAAe,EAAE;MAC/B,IAAIG,CAAC,CAACnB,IAAI,KAAKJ,iBAAiB,EAAE;QAChCqB,iBAAiB,CAACT,IAAI,CAACW,CAAC,CAAC;MAC3B;MACA,IAAIA,CAAC,CAACnB,IAAI,KAAKH,gBAAgB,EAAE;QAC/BqB,gBAAgB,CAACV,IAAI,CAACW,CAAC,CAAC;MAC1B;IACF;IACA,IAAIF,iBAAiB,CAACH,MAAM,EAAE;MAC5BF,qBAAqB,GAAGK,iBAAiB;IAC3C;IACAX,OAAO,CAACE,IAAI,CAAC,GAAGU,gBAAgB,CAAC;EACnC;EACAZ,OAAO,CAACE,IAAI,CAAC,GAAGI,qBAAqB,CAAC;EACtC,OAAON,OAAO;AAChB;AAEA,SAASc,uBAAuBA,CAACC,WAAyB,EAAE;EAC1DA,WAAW,CAACC,OAAO,CAACH,CAAC,IAAI;IACvBA,CAAC,CAACnB,IAAI,GAAGH,gBAAgB;EAC3B,CAAC,CAAC;AACJ;AAeA,SAAS0B,sCAAsCA,CAC7CF,WAAyB,EACzBG,SAAkB,EAClB;EACAH,WAAW,CAACC,OAAO,CAACH,CAAC,IAAI;IACvB,IAAIA,CAAC,CAACpB,IAAI,CAAC0B,gBAAgB,CAAC;MAAEC,KAAK,EAAE;IAAK,CAAC,CAAC,EAAE;MAC5C,IAAIF,SAAS,EAAE;QACbL,CAAC,CAACpB,IAAI,CAAC4B,WAAW,CAAChC,eAAe,CAAC,MAAM,EAAED,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;MAChE,CAAC,MAAM;QACLyB,CAAC,CAACpB,IAAI,CAAC6B,MAAM,CAAC,CAAC;MACjB;IACF;EACF,CAAC,CAAC;AACJ;AAEA,SAASC,0BAA0BA,CACjCC,KAAiB,EACjBvB,OAA0B,EACZ;EACd,MAAMc,WAAW,GAAG,EAAE;EACtB,IAAId,OAAO,CAACwB,YAAY,EAAE;IACxB,IAAInB,qBAAqB,GAAG,EAAE;IAC9B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiB,KAAK,CAAChB,MAAM,EAAED,CAAC,EAAE,EAAE;MACrC,MAAMd,IAAI,GAAG+B,KAAK,CAACjB,CAAC,CAAC;MACrB,MAAMmB,UAAU,GAAAC,MAAA,CAAAC,MAAA,KAAQ3B,OAAO;QAAE4B,YAAY,EAAE;MAAK,EAAE;MACtD,IACEpC,IAAI,CAACqC,gBAAgB,CAAC,CAAC,KACtB7B,OAAO,CAAC4B,YAAY,IACnB5B,OAAO,CAAC8B,mBAAmB,CAAC,EAC9B;QACAL,UAAU,CAACK,mBAAmB,GAAG,IAAI;MACvC,CAAC,MAAM;QACLL,UAAU,CAACK,mBAAmB,GAAG,KAAK;MACxC;MACA,MAAMC,oBAAoB,GAAG7B,qBAAqB,CAACV,IAAI,EAAEiC,UAAU,CAAC;MACpE,IACEM,oBAAoB,CAACxB,MAAM,GAAG,CAAC,IAO/BwB,oBAAoB,CAACC,KAAK,CAACpB,CAAC,IAAIA,CAAC,CAACnB,IAAI,KAAKH,gBAAgB,CAAC,EAC5D;QACA,IACEe,qBAAqB,CAACE,MAAM,GAAG,CAAC,IAChCwB,oBAAoB,CAACC,KAAK,CAACpB,CAAC,IAC1BA,CAAC,CAACpB,IAAI,CAAC0B,gBAAgB,CAAC;UAAEC,KAAK,EAAE;QAAK,CAAC,CACzC,CAAC,EACD;UAMAN,uBAAuB,CAACR,qBAAqB,CAAC;UAC9CS,WAAW,CAACb,IAAI,CAAC,GAAGI,qBAAqB,CAAC;UAG1C,IAAIA,qBAAqB,CAAC4B,IAAI,CAACrB,CAAC,IAAIA,CAAC,CAACpB,IAAI,CAAC0C,aAAa,CAAC,CAAC,CAAC,EAAE;YAC3DpB,WAAW,CAACb,IAAI,CAAC,GAAG8B,oBAAoB,CAAC;YACzC,IAAI,CAAC/B,OAAO,CAACmC,mBAAmB,EAAE;cAChCnB,sCAAsC,CACpCe,oBAAoB,EACJ,IAClB,CAAC;YACH;UACF;UACA,IAAI,CAAC/B,OAAO,CAACmC,mBAAmB,EAAE;YAChCnB,sCAAsC,CACpCe,oBAAoB,EACJ,KAClB,CAAC;UACH;QACF,CAAC,MAAM;UACLjB,WAAW,CAACb,IAAI,CAAC,GAAG8B,oBAAoB,CAAC;UACzC,IAAI,CAAC/B,OAAO,CAAC8B,mBAAmB,IAAI,CAAC9B,OAAO,CAACmC,mBAAmB,EAAE;YAChEnB,sCAAsC,CACpCe,oBAAoB,EACJ,IAClB,CAAC;UACH;QACF;QACA;MACF;MACA,IAAIzB,CAAC,KAAKiB,KAAK,CAAChB,MAAM,GAAG,CAAC,EAAE;QAC1BO,WAAW,CAACb,IAAI,CAAC,GAAG8B,oBAAoB,CAAC;MAC3C,CAAC,MAAM;QACL1B,qBAAqB,GAAG,EAAE;QAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyB,oBAAoB,CAACxB,MAAM,EAAED,CAAC,EAAE,EAAE;UACpD,MAAMM,CAAC,GAAGmB,oBAAoB,CAACzB,CAAC,CAAC;UACjC,IAAIM,CAAC,CAACnB,IAAI,KAAKH,gBAAgB,EAAE;YAC/BwB,WAAW,CAACb,IAAI,CAACW,CAAC,CAAC;UACrB;UACA,IAAIA,CAAC,CAACnB,IAAI,KAAKJ,iBAAiB,EAAE;YAChCgB,qBAAqB,CAACJ,IAAI,CAACW,CAAC,CAAC;UAC/B;QACF;MACF;IACF;EACF,CAAC,MAAM,IAAIW,KAAK,CAAChB,MAAM,EAAE;IAIvB,KAAK,IAAID,CAAC,GAAGiB,KAAK,CAAChB,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC1C,MAAM8B,eAAe,GAAGlC,qBAAqB,CAACqB,KAAK,CAACjB,CAAC,CAAC,EAAEN,OAAO,CAAC;MAChE,IACEoC,eAAe,CAAC7B,MAAM,GAAG,CAAC,IACzB6B,eAAe,CAAC7B,MAAM,KAAK,CAAC,IAC3B,CAAC6B,eAAe,CAAC,CAAC,CAAC,CAAC5C,IAAI,CAAC6C,qBAAqB,CAAC,CAAC,IAChD,CAACD,eAAe,CAAC,CAAC,CAAC,CAAC5C,IAAI,CAAC8C,gBAAgB,CAAC,CAAE,EAC9C;QACAxB,WAAW,CAACb,IAAI,CAAC,GAAGmC,eAAe,CAAC;QACpC;MACF;IACF;EACF;EACA,OAAOtB,WAAW;AACpB;AAEA,SAASZ,qBAAqBA,CAC5BV,IAAc,EACdQ,OAA0B,EACZ;EACd,IAAID,OAAqB,GAAG,EAAE;EAC9B,IAAIP,IAAI,CAAC+C,aAAa,CAAC,CAAC,EAAE;IACxBxC,OAAO,GAAGD,oBAAoB,CAACN,IAAI,CAACgD,GAAG,CAAC,YAAY,CAAC,EAAEzC,OAAO,EAAEC,OAAO,CAAC;IACxED,OAAO,GAAGD,oBAAoB,CAACN,IAAI,CAACgD,GAAG,CAAC,WAAW,CAAC,EAAEzC,OAAO,EAAEC,OAAO,CAAC;EACzE,CAAC,MAAM,IACLR,IAAI,CAACiD,cAAc,CAAC,CAAC,IACrBjD,IAAI,CAACkD,KAAK,CAAC,CAAC,IACZlD,IAAI,CAACmD,OAAO,CAAC,CAAC,IACdnD,IAAI,CAACoD,kBAAkB,CAAC,CAAC,EACzB;IACA,OAAO9C,oBAAoB,CAACN,IAAI,CAACgD,GAAG,CAAC,MAAM,CAAC,EAAEzC,OAAO,EAAEC,OAAO,CAAC;EACjE,CAAC,MAAM,IAAIR,IAAI,CAACqD,SAAS,CAAC,CAAC,IAAIrD,IAAI,CAACqC,gBAAgB,CAAC,CAAC,EAAE;IACtD,OAAOP,0BAA0B,CAAC9B,IAAI,CAACgD,GAAG,CAAC,MAAM,CAAC,EAAExC,OAAO,CAAC;EAC9D,CAAC,MAAM,IAAIR,IAAI,CAACsD,UAAU,CAAC,CAAC,EAAE;IAC5B,OAAO5C,qBAAqB,CAACV,IAAI,CAACgD,GAAG,CAAC,MAAM,CAAC,EAAExC,OAAO,CAAC;EACzD,CAAC,MAAM,IAAIR,IAAI,CAACuD,cAAc,CAAC,CAAC,EAAE;IAChChD,OAAO,GAAGD,oBAAoB,CAACN,IAAI,CAACgD,GAAG,CAAC,OAAO,CAAC,EAAEzC,OAAO,EAAEC,OAAO,CAAC;IACnED,OAAO,GAAGD,oBAAoB,CAACN,IAAI,CAACgD,GAAG,CAAC,SAAS,CAAC,EAAEzC,OAAO,EAAEC,OAAO,CAAC;EACvE,CAAC,MAAM,IAAIR,IAAI,CAACwD,aAAa,CAAC,CAAC,EAAE;IAC/B,OAAOlD,oBAAoB,CAACN,IAAI,CAACgD,GAAG,CAAC,MAAM,CAAC,EAAEzC,OAAO,EAAEC,OAAO,CAAC;EACjE,CAAC,MAAM,IAAIR,IAAI,CAACyD,iBAAiB,CAAC,CAAC,EAAE;IACnC,OAAO9C,yBAAyB,CAACX,IAAI,CAACgD,GAAG,CAAC,OAAO,CAAC,EAAEzC,OAAO,EAAEC,OAAO,CAAC;EACvE,CAAC,MAAM,IAAIR,IAAI,CAAC0D,YAAY,CAAC,CAAC,EAAE;IAC9B,OAAO5B,0BAA0B,CAAC9B,IAAI,CAACgD,GAAG,CAAC,YAAY,CAAC,EAAE;MACxDhB,YAAY,EAAE,IAAI;MAClBM,mBAAmB,EAAE,KAAK;MAC1BF,YAAY,EAAE,IAAI;MAClBO,mBAAmB,EAAEnC,OAAO,CAACmC;IAC/B,CAAC,CAAC;EACJ,CAAC,MAAM,IAAI3C,IAAI,CAAC0B,gBAAgB,CAAC,CAAC,EAAE;IAClCnB,OAAO,CAACE,IAAI,CAACP,eAAe,CAACF,IAAI,CAAC,CAAC;EACrC,CAAC,MAAM;IACLO,OAAO,CAACE,IAAI,CAACV,gBAAgB,CAACC,IAAI,CAAC,CAAC;EACtC;EAEA,OAAOO,OAAO;AAChB;AAaO,SAASoD,oBAAoBA,CAElChB,mBAAmB,GAAG,KAAK,EACf;EACZ,MAAMpC,OAAO,GAAGG,qBAAqB,CAAC,IAAI,EAAE;IAC1CsB,YAAY,EAAE,KAAK;IACnBM,mBAAmB,EAAE,KAAK;IAC1BF,YAAY,EAAE,KAAK;IACnBO;EACF,CAAC,CAAC;EACF,OAAOpC,OAAO,CAACqD,GAAG,CAACC,CAAC,IAAIA,CAAC,CAAC7D,IAAI,CAAC;AACjC;AAEO,SAASK,UAAUA,CAAiBD,GAAoB,EAAY;EACzE,OAAO0D,cAAQ,CAACd,GAAG,CAAC;IAClBe,UAAU,EAAE,IAAI,CAACA,UAAU;IAC3BC,MAAM,EAAE,IAAI,CAACA,MAAM;IACnBC,SAAS,EAAE,IAAI,CAACA,SAAS;IACzBC,OAAO,EAAE,IAAI,CAACA,OAAO;IACrB9D,GAAG,EAAEA;EACP,CAAC,CAAC,CAAC+D,UAAU,CAAC,IAAI,CAAC3D,OAAO,CAAC;AAC7B;AAEO,SAAS4D,cAAcA,CAAA,EAA2B;EAEvD,OAAO,IAAI,CAAC/D,UAAU,CAAC,IAAI,CAACD,GAAG,GAAG,CAAC,CAAC;AACtC;AAEO,SAASiE,cAAcA,CAAA,EAA2B;EAEvD,OAAO,IAAI,CAAChE,UAAU,CAAC,IAAI,CAACD,GAAG,GAAG,CAAC,CAAC;AACtC;AAEO,SAASkE,kBAAkBA,CAAA,EAA6B;EAE7D,IAAIC,IAAY,GAAG,IAAI,CAACnE,GAAG;EAC3B,IAAIoE,OAAO,GAAG,IAAI,CAACnE,UAAU,CAAC,EAAEkE,IAAI,CAAC;EACrC,MAAME,QAAQ,GAAG,EAAE;EACnB,OAAOD,OAAO,CAACE,IAAI,EAAE;IACnBD,QAAQ,CAAChE,IAAI,CAAC+D,OAAO,CAAC;IACtBA,OAAO,GAAG,IAAI,CAACnE,UAAU,CAAC,EAAEkE,IAAI,CAAC;EACnC;EACA,OAAOE,QAAQ;AACjB;AAEO,SAASE,kBAAkBA,CAAA,EAA6B;EAE7D,IAAIJ,IAAY,GAAG,IAAI,CAACnE,GAAG;EAC3B,IAAIoE,OAAO,GAAG,IAAI,CAACnE,UAAU,CAAC,EAAEkE,IAAI,CAAC;EACrC,MAAME,QAAQ,GAAG,EAAE;EACnB,OAAOD,OAAO,CAACE,IAAI,EAAE;IACnBD,QAAQ,CAAChE,IAAI,CAAC+D,OAAO,CAAC;IACtBA,OAAO,GAAG,IAAI,CAACnE,UAAU,CAAC,EAAEkE,IAAI,CAAC;EACnC;EACA,OAAOE,QAAQ;AACjB;AA2DA,SAASzB,GAAGA,CAEV5C,GAAW,EACXI,OAAgC,GAAG,IAAI,EAChB;EACvB,IAAIA,OAAO,KAAK,IAAI,EAAEA,OAAO,GAAG,IAAI,CAACA,OAAO;EAC5C,MAAMoE,KAAK,GAAGxE,GAAG,CAACyE,KAAK,CAAC,GAAG,CAAC;EAC5B,IAAID,KAAK,CAAC7D,MAAM,KAAK,CAAC,EAAE;IAGtB,OAAO+D,OAAO,CAACC,IAAI,CAAC,IAAI,EAAE3E,GAAG,EAAEI,OAAO,CAAC;EACzC,CAAC,MAAM;IAEL,OAAOwE,WAAW,CAACD,IAAI,CAAC,IAAI,EAAEH,KAAK,EAAEpE,OAAO,CAAC;EAC/C;AACF;AAIO,SAASsE,OAAOA,CAErB1E,GAAqB,EACrBI,OAA0B,EACH;EACvB,MAAMkE,IAAI,GAAG,IAAI,CAACA,IAAS;EAC3B,MAAMT,SAAS,GAAGS,IAAI,CAACtE,GAAG,CAAC;EAE3B,IAAI6E,KAAK,CAACC,OAAO,CAACjB,SAAS,CAAC,EAAE;IAE5B,OAAOA,SAAS,CAACL,GAAG,CAAC,CAACuB,CAAC,EAAErE,CAAC,KAAK;MAC7B,OAAOgD,cAAQ,CAACd,GAAG,CAAC;QAClBkB,OAAO,EAAE9D,GAAG;QACZ2D,UAAU,EAAE,IAAI;QAChBC,MAAM,EAAEU,IAAI;QACZT,SAAS,EAAEA,SAAS;QACpB7D,GAAG,EAAEU;MACP,CAAC,CAAC,CAACqD,UAAU,CAAC3D,OAAO,CAAC;IACxB,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,OAAOsD,cAAQ,CAACd,GAAG,CAAC;MAClBe,UAAU,EAAE,IAAI;MAChBC,MAAM,EAAEU,IAAI;MACZT,SAAS,EAAES,IAAI;MACftE,GAAG,EAAEA;IACP,CAAC,CAAC,CAAC+D,UAAU,CAAC3D,OAAO,CAAC;EACxB;AACF;AAEO,SAASwE,WAAWA,CAEzBJ,KAAe,EACfpE,OAA0B,EACH;EACvB,IAAIR,IAA2B,GAAG,IAAI;EACtC,KAAK,MAAMoF,IAAI,IAAIR,KAAK,EAAE;IACxB,IAAIQ,IAAI,KAAK,GAAG,EAAE;MAEhBpF,IAAI,GAAGA,IAAI,CAAC+D,UAAU;IACxB,CAAC,MAAM;MACL,IAAIkB,KAAK,CAACC,OAAO,CAAClF,IAAI,CAAC,EAAE;QAEvBA,IAAI,GAAGA,IAAI,CAACoF,IAAI,CAAC;MACnB,CAAC,MAAM;QACLpF,IAAI,GAAGA,IAAI,CAACgD,GAAG,CAACoC,IAAI,EAAE5E,OAAO,CAAC;MAChC;IACF;EACF;EACA,OAAOR,IAAI;AACb;AAEO,SAASX,wBAAwBA,CAAA,EAAiB;EACvD,OAAOC,yBAAyB,CAAC,IAAI,CAACoF,IAAI,CAAC;AAC7C;AAYA,SAASnF,qBAAqBA,CAE5B8F,UAAoB,EAC2B;EAC/C,OAAO7F,sBAAsB,CAAC,IAAI,CAACkF,IAAI,EAAEW,UAAU,CAAC;AACtD;AAcA,SAAS5F,0BAA0BA,CAEjC4F,UAAoB,EAC2B;EAC/C,OAAO3F,2BAA2B,CAAC,IAAI,CAACgF,IAAI,EAAEW,UAAU,CAAC;AAC3D;AAmBA,SAASC,yBAAyBA,CAEhCD,UAAmB,GAAG,KAAK,EAC3BE,SAAkB,GAAG,KAAK,EACyC;EACnE,MAAMvF,IAAI,GAAG,IAAI;EACjB,MAAMwF,MAAM,GAAG,CAACxF,IAAI,CAAC;EACrB,MAAMyF,GAAG,GAAGvD,MAAM,CAACwD,MAAM,CAAC,IAAI,CAAC;EAE/B,OAAOF,MAAM,CAACzE,MAAM,EAAE;IACpB,MAAM4E,EAAE,GAAGH,MAAM,CAACI,KAAK,CAAC,CAAC;IACzB,IAAI,CAACD,EAAE,EAAE;IACT,IAAI,CAACA,EAAE,CAACjB,IAAI,EAAE;IAEd,MAAMmB,IAAI,GAAGrG,sBAAsB,CAACqG,IAAI,CAACF,EAAE,CAACjB,IAAI,CAACzE,IAAI,CAAC;IAEtD,IAAI0F,EAAE,CAACG,YAAY,CAAC,CAAC,EAAE;MACrB,IAAIT,UAAU,EAAE;QACd,MAAMU,IAAI,GAAIN,GAAG,CAACE,EAAE,CAACjB,IAAI,CAACsB,IAAI,CAAC,GAAGP,GAAG,CAACE,EAAE,CAACjB,IAAI,CAACsB,IAAI,CAAC,IAAI,EAAG;QAC1DD,IAAI,CAACtF,IAAI,CAACkF,EAAE,CAAC;MACf,CAAC,MAAM;QACLF,GAAG,CAACE,EAAE,CAACjB,IAAI,CAACsB,IAAI,CAAC,GAAGL,EAAE;MACxB;MACA;IACF;IAEA,IAAIA,EAAE,CAACM,mBAAmB,CAAC,CAAC,EAAE;MAC5B,MAAMC,WAAW,GAAGP,EAAE,CAAC3C,GAAG,CAAC,aAAa,CAAC;MACzC,IAAIkD,WAAW,CAACxD,aAAa,CAAC,CAAC,EAAE;QAC/B8C,MAAM,CAAC/E,IAAI,CAACyF,WAAW,CAAC;MAC1B;MACA;IACF;IAEA,IAAIX,SAAS,EAAE;MACb,IAAII,EAAE,CAACQ,qBAAqB,CAAC,CAAC,EAAE;QAC9BX,MAAM,CAAC/E,IAAI,CAACkF,EAAE,CAAC3C,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB;MACF;MACA,IAAI2C,EAAE,CAACS,oBAAoB,CAAC,CAAC,EAAE;QAC7B;MACF;IACF;IAEA,IAAIP,IAAI,EAAE;MACR,KAAK,IAAI/E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+E,IAAI,CAAC9E,MAAM,EAAED,CAAC,EAAE,EAAE;QACpC,MAAMV,GAAG,GAAGyF,IAAI,CAAC/E,CAAC,CAAC;QACnB,MAAMuF,KAAK,GAAGV,EAAE,CAAC3C,GAAG,CAAC5C,GAAG,CAAC;QACzB,IAAI6E,KAAK,CAACC,OAAO,CAACmB,KAAK,CAAC,EAAE;UACxBb,MAAM,CAAC/E,IAAI,CAAC,GAAG4F,KAAK,CAAC;QACvB,CAAC,MAAM,IAAIA,KAAK,CAAC3B,IAAI,EAAE;UACrBc,MAAM,CAAC/E,IAAI,CAAC4F,KAAK,CAAC;QACpB;MACF;IACF;EACF;EAEA,OAAOZ,GAAG;AACZ;AAcA,SAASa,8BAA8BA,CAErCjB,UAAmB,GAAG,KAAK,EAC3B;EACA,OAAO,IAAI,CAACC,yBAAyB,CAACD,UAAU,EAAE,IAAI,CAAC;AACzD","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_index","require","_t","getAssignmentIdentifiers","_getAssignmentIdentifiers","getBindingIdentifiers","_getBindingIdentifiers","getOuterBindingIdentifiers","_getOuterBindingIdentifiers","numericLiteral","unaryExpression","NORMAL_COMPLETION","BREAK_COMPLETION","NormalCompletion","path","type","BreakCompletion","getOpposite","key","getSibling","addCompletionRecords","records","context","push","_getCompletionRecords","completionRecordForSwitch","cases","lastNormalCompletions","i","length","casePath","caseCompletions","normalCompletions","breakCompletions","c","normalCompletionToBreak","completions","forEach","replaceBreakStatementInBreakCompletion","reachable","isBreakStatement","label","replaceWith","remove","getStatementListCompletion","paths","canHaveBreak","newContext","Object","assign","inCaseClause","isBlockStatement","shouldPopulateBreak","statementCompletions","every","some","isDeclaration","shouldPreserveBreak","pathCompletions","isVariableDeclaration","isEmptyStatement","isIfStatement","get","isDoExpression","isFor","isWhile","isLabeledStatement","isProgram","isFunction","isTryStatement","isCatchClause","isSwitchStatement","isSwitchCase","getCompletionRecords","map","r","NodePath","parentPath","parent","container","listKey","setContext","getPrevSibling","getNextSibling","getAllNextSiblings","_key","sibling","siblings","node","getAllPrevSiblings","parts","split","_getKey","call","_getPattern","Array","isArray","_","part","duplicates","getBindingIdentifierPaths","outerOnly","search","ids","create","id","shift","keys","isIdentifier","_ids","name","isExportDeclaration","declaration","isFunctionDeclaration","isFunctionExpression","child","getOuterBindingIdentifierPaths"],"sources":["../../src/path/family.ts"],"sourcesContent":["// This file contains methods responsible for dealing with/retrieving children or siblings.\n\nimport type TraversalContext from \"../context.ts\";\nimport NodePath from \"./index.ts\";\nimport {\n getAssignmentIdentifiers as _getAssignmentIdentifiers,\n getBindingIdentifiers as _getBindingIdentifiers,\n getOuterBindingIdentifiers as _getOuterBindingIdentifiers,\n numericLiteral,\n unaryExpression,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nconst NORMAL_COMPLETION = 0;\nconst BREAK_COMPLETION = 1;\n\ntype Completion = {\n path: NodePath;\n type: 0 | 1;\n};\n\ntype CompletionContext = {\n // whether the current context allows `break` statement. When it allows, we have\n // to search all the statements for potential `break`\n canHaveBreak: boolean;\n // whether the statement is an immediate descendant of a switch case clause\n inCaseClause: boolean;\n // whether the `break` statement record should be populated to upper level\n // when a `break` statement is an immediate descendant of a block statement, e.g.\n // `{ break }`, it can influence the control flow in the upper levels.\n shouldPopulateBreak: boolean;\n // Whether the `break` statement should be preserved.\n shouldPreserveBreak: boolean;\n};\n\nfunction NormalCompletion(path: NodePath): Completion {\n return { type: NORMAL_COMPLETION, path };\n}\n\nfunction BreakCompletion(path: NodePath): Completion {\n return { type: BREAK_COMPLETION, path };\n}\n\nexport function getOpposite(this: NodePath): NodePath | null {\n if (this.key === \"left\") {\n return this.getSibling(\"right\");\n } else if (this.key === \"right\") {\n return this.getSibling(\"left\");\n }\n return null;\n}\n\nfunction addCompletionRecords(\n path: NodePath | null | undefined,\n records: Completion[],\n context: CompletionContext,\n): Completion[] {\n if (path) {\n records.push(..._getCompletionRecords(path, context));\n }\n return records;\n}\n\nfunction completionRecordForSwitch(\n cases: NodePath<t.SwitchCase>[],\n records: Completion[],\n context: CompletionContext,\n): Completion[] {\n // https://tc39.es/ecma262/#sec-runtime-semantics-caseblockevaluation\n let lastNormalCompletions: Completion[] = [];\n for (let i = 0; i < cases.length; i++) {\n const casePath = cases[i];\n const caseCompletions = _getCompletionRecords(casePath, context);\n const normalCompletions = [];\n const breakCompletions = [];\n for (const c of caseCompletions) {\n if (c.type === NORMAL_COMPLETION) {\n normalCompletions.push(c);\n }\n if (c.type === BREAK_COMPLETION) {\n breakCompletions.push(c);\n }\n }\n if (normalCompletions.length) {\n lastNormalCompletions = normalCompletions;\n }\n records.push(...breakCompletions);\n }\n records.push(...lastNormalCompletions);\n return records;\n}\n\nfunction normalCompletionToBreak(completions: Completion[]) {\n completions.forEach(c => {\n c.type = BREAK_COMPLETION;\n });\n}\n\n/**\n * Determine how we should handle the break statement for break completions\n *\n * @param {Completion[]} completions\n * @param {boolean} reachable Whether the break statement is reachable after\n we mark the normal completions _before_ the given break completions as the final\n completions. For example,\n `{ 0 }; break;` is transformed to `{ return 0 }; break;`, the `break` here is unreachable\n and thus can be removed without consequences. We may in the future reserve them instead since\n we do not consistently remove unreachable statements _after_ break\n `{ var x = 0 }; break;` is transformed to `{ var x = 0 }; return void 0;`, the `break` is reachable\n because we can not wrap variable declaration under a return statement\n */\nfunction replaceBreakStatementInBreakCompletion(\n completions: Completion[],\n reachable: boolean,\n) {\n completions.forEach(c => {\n if (c.path.isBreakStatement({ label: null })) {\n if (reachable) {\n c.path.replaceWith(unaryExpression(\"void\", numericLiteral(0)));\n } else {\n c.path.remove();\n }\n }\n });\n}\n\nfunction getStatementListCompletion(\n paths: NodePath[],\n context: CompletionContext,\n): Completion[] {\n const completions = [];\n if (context.canHaveBreak) {\n let lastNormalCompletions = [];\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n const newContext = { ...context, inCaseClause: false };\n if (\n path.isBlockStatement() &&\n (context.inCaseClause || // case test: { break }\n context.shouldPopulateBreak) // case test: { { break } }\n ) {\n newContext.shouldPopulateBreak = true;\n } else {\n newContext.shouldPopulateBreak = false;\n }\n const statementCompletions = _getCompletionRecords(path, newContext);\n if (\n statementCompletions.length > 0 &&\n // we can stop search `paths` when we have seen a `path` that is\n // effectively a `break` statement. Examples are\n // - `break`\n // - `if (true) { 1; break } else { 2; break }`\n // - `{ break }```\n // In other words, the paths after this `path` are unreachable\n statementCompletions.every(c => c.type === BREAK_COMPLETION)\n ) {\n if (\n lastNormalCompletions.length > 0 &&\n statementCompletions.every(c =>\n c.path.isBreakStatement({ label: null }),\n )\n ) {\n // when a break completion has a path as BreakStatement, it must be `{ break }`\n // whose completion value we can not determine, otherwise it would have been\n // replaced by `replaceBreakStatementInBreakCompletion`\n // When we have seen normal completions from the last statement\n // it is safe to stop populating break and mark normal completions as break\n normalCompletionToBreak(lastNormalCompletions);\n completions.push(...lastNormalCompletions);\n // Declarations have empty completion record, however they can not be nested\n // directly in return statement, i.e. `return (var a = 1)` is invalid.\n if (lastNormalCompletions.some(c => c.path.isDeclaration())) {\n completions.push(...statementCompletions);\n if (!context.shouldPreserveBreak) {\n replaceBreakStatementInBreakCompletion(\n statementCompletions,\n /* reachable */ true,\n );\n }\n }\n if (!context.shouldPreserveBreak) {\n replaceBreakStatementInBreakCompletion(\n statementCompletions,\n /* reachable */ false,\n );\n }\n } else {\n completions.push(...statementCompletions);\n if (!context.shouldPopulateBreak && !context.shouldPreserveBreak) {\n replaceBreakStatementInBreakCompletion(\n statementCompletions,\n /* reachable */ true,\n );\n }\n }\n break;\n }\n if (i === paths.length - 1) {\n completions.push(...statementCompletions);\n } else {\n lastNormalCompletions = [];\n for (let i = 0; i < statementCompletions.length; i++) {\n const c = statementCompletions[i];\n if (c.type === BREAK_COMPLETION) {\n completions.push(c);\n }\n if (c.type === NORMAL_COMPLETION) {\n lastNormalCompletions.push(c);\n }\n }\n }\n }\n } else if (paths.length) {\n // When we are in a context where `break` must not exist, we can skip linear\n // search on statement lists and assume that the last\n // non-variable-declaration statement determines the completion.\n for (let i = paths.length - 1; i >= 0; i--) {\n const pathCompletions = _getCompletionRecords(paths[i], context);\n if (\n pathCompletions.length > 1 ||\n (pathCompletions.length === 1 &&\n !pathCompletions[0].path.isVariableDeclaration() &&\n !pathCompletions[0].path.isEmptyStatement())\n ) {\n completions.push(...pathCompletions);\n break;\n }\n }\n }\n return completions;\n}\n\nfunction _getCompletionRecords(\n path: NodePath,\n context: CompletionContext,\n): Completion[] {\n let records: Completion[] = [];\n if (path.isIfStatement()) {\n records = addCompletionRecords(path.get(\"consequent\"), records, context);\n records = addCompletionRecords(path.get(\"alternate\"), records, context);\n } else if (\n path.isDoExpression() ||\n path.isFor() ||\n path.isWhile() ||\n path.isLabeledStatement()\n ) {\n return addCompletionRecords(path.get(\"body\"), records, context);\n } else if (path.isProgram() || path.isBlockStatement()) {\n return getStatementListCompletion(path.get(\"body\"), context);\n } else if (path.isFunction()) {\n return _getCompletionRecords(path.get(\"body\"), context);\n } else if (path.isTryStatement()) {\n records = addCompletionRecords(path.get(\"block\"), records, context);\n records = addCompletionRecords(path.get(\"handler\"), records, context);\n } else if (path.isCatchClause()) {\n return addCompletionRecords(path.get(\"body\"), records, context);\n } else if (path.isSwitchStatement()) {\n return completionRecordForSwitch(path.get(\"cases\"), records, context);\n } else if (path.isSwitchCase()) {\n return getStatementListCompletion(path.get(\"consequent\"), {\n canHaveBreak: true,\n shouldPopulateBreak: false,\n inCaseClause: true,\n shouldPreserveBreak: context.shouldPreserveBreak,\n });\n } else if (path.isBreakStatement()) {\n records.push(BreakCompletion(path));\n } else {\n records.push(NormalCompletion(path));\n }\n\n return records;\n}\n\n/**\n * Retrieve the completion records of a given path.\n * Note: to ensure proper support on `break` statement, this method\n * will manipulate the AST around the break statement. Do not call the method\n * twice for the same path.\n *\n * @export\n * @param {NodePath} this\n * @param {boolean} [shouldPreserveBreak=false] Whether the `break` statement should be preserved.\n * @returns {NodePath[]} Completion records\n */\nexport function getCompletionRecords(\n this: NodePath,\n shouldPreserveBreak = false,\n): NodePath[] {\n const records = _getCompletionRecords(this, {\n canHaveBreak: false,\n shouldPopulateBreak: false,\n inCaseClause: false,\n shouldPreserveBreak,\n });\n return records.map(r => r.path);\n}\n\nexport function getSibling(this: NodePath, key: string | number): NodePath {\n return NodePath.get({\n parentPath: this.parentPath,\n parent: this.parent,\n container: this.container!,\n listKey: this.listKey!,\n key: key,\n }).setContext(this.context);\n}\n\nexport function getPrevSibling(this: NodePath): NodePath {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n return this.getSibling(this.key - 1);\n}\n\nexport function getNextSibling(this: NodePath): NodePath {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n return this.getSibling(this.key + 1);\n}\n\nexport function getAllNextSiblings(this: NodePath): NodePath[] {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n let _key: number = this.key;\n let sibling = this.getSibling(++_key);\n const siblings = [];\n while (sibling.node) {\n siblings.push(sibling);\n sibling = this.getSibling(++_key);\n }\n return siblings;\n}\n\nexport function getAllPrevSiblings(this: NodePath): NodePath[] {\n // @ts-expect-error todo(flow->ts) this.key could be a string\n let _key: number = this.key;\n let sibling = this.getSibling(--_key);\n const siblings = [];\n while (sibling.node) {\n siblings.push(sibling);\n sibling = this.getSibling(--_key);\n }\n return siblings;\n}\n\n// convert \"1\" to 1 (string index to number index)\ntype MaybeToIndex<T extends string> = T extends `${bigint}` ? number : T;\n\ntype Pattern<Obj extends string, Prop extends string> = `${Obj}.${Prop}`;\n\n// split \"body.body.1\" to [\"body\", \"body\", 1]\ntype Split<P extends string> =\n P extends Pattern<infer O, infer U>\n ? [MaybeToIndex<O>, ...Split<U>]\n : [MaybeToIndex<P>];\n\n// traverse the Node with tuple path [\"body\", \"body\", 1]\n// Path should be created with Split\ntype Trav<\n Node extends t.Node | t.Node[],\n Path extends unknown[],\n> = Path extends [infer K, ...infer R]\n ? K extends keyof Node\n ? Node[K] extends t.Node | t.Node[]\n ? R extends []\n ? Node[K]\n : Trav<Node[K], R>\n : never\n : never\n : never;\n\ntype ToNodePath<T> = T extends\n | Array<infer U extends t.Node | null>\n | null\n | undefined\n ? Array<NodePath<U>>\n : T extends (infer U extends t.Node) | null | undefined\n ? NodePath<U>\n : never;\n\nfunction get<T extends NodePath, K extends keyof T[\"node\"]>(\n this: T,\n key: K,\n context?: boolean | TraversalContext,\n): T extends any\n ? T[\"node\"][K] extends Array<infer U extends t.Node | null> | null | undefined\n ? Array<NodePath<U>>\n : T[\"node\"][K] extends (infer U extends t.Node) | null | undefined\n ? NodePath<U>\n : never\n : never;\n\nfunction get<T extends NodePath<t.Node>, K extends string>(\n this: T,\n key: K,\n context?: boolean | TraversalContext,\n): T extends any ? ToNodePath<Trav<T[\"node\"], Split<K>>> : never;\n\nfunction get(\n this: NodePath,\n key: string,\n context?: true | TraversalContext,\n): NodePath | NodePath[];\n\nfunction get(\n this: NodePath,\n key: string,\n context: true | TraversalContext = true,\n): NodePath | NodePath[] {\n if (context === true) context = this.context;\n const parts = key.split(\".\");\n if (parts.length === 1) {\n // \"foo\"\n // @ts-expect-error key may not index T\n return _getKey.call(this, key, context);\n } else {\n // \"foo.bar\"\n return _getPattern.call(this, parts, context);\n }\n}\n\nexport { get };\n\nexport function _getKey<T extends t.Node>(\n this: NodePath<T>,\n key: keyof T & string,\n context?: TraversalContext,\n): NodePath | NodePath[] {\n const node = this.node as T;\n const container = node[key];\n\n if (Array.isArray(container)) {\n // requested a container so give them all the paths\n return container.map((_, i) => {\n return NodePath.get({\n listKey: key,\n parentPath: this,\n parent: node,\n container: container,\n key: i,\n }).setContext(context);\n });\n } else {\n return NodePath.get({\n parentPath: this,\n parent: node,\n container: node,\n key: key,\n }).setContext(context);\n }\n}\n\nexport function _getPattern(\n this: NodePath,\n parts: string[],\n context?: TraversalContext,\n): NodePath | NodePath[] {\n let path: NodePath | NodePath[] = this;\n for (const part of parts) {\n if (part === \".\") {\n // @ts-expect-error todo(flow-ts): Can path be an array here?\n path = path.parentPath;\n } else {\n if (Array.isArray(path)) {\n // @ts-expect-error part may not index path\n path = path[part];\n } else {\n path = path.get(part, context);\n }\n }\n }\n return path;\n}\n\nexport function getAssignmentIdentifiers(this: NodePath) {\n return _getAssignmentIdentifiers(this.node);\n}\n\nfunction getBindingIdentifiers(\n duplicates: true,\n): Record<string, t.Identifier[]>;\nfunction getBindingIdentifiers(\n duplicates?: false,\n): Record<string, t.Identifier>;\nfunction getBindingIdentifiers(\n duplicates: boolean,\n): Record<string, t.Identifier[] | t.Identifier>;\n\nfunction getBindingIdentifiers(\n this: NodePath,\n duplicates?: boolean,\n): Record<string, t.Identifier[] | t.Identifier> {\n return _getBindingIdentifiers(this.node, duplicates);\n}\n\nexport { getBindingIdentifiers };\n\nfunction getOuterBindingIdentifiers(\n duplicates: true,\n): Record<string, t.Identifier[]>;\nfunction getOuterBindingIdentifiers(\n duplicates?: false,\n): Record<string, t.Identifier>;\nfunction getOuterBindingIdentifiers(\n duplicates: boolean,\n): Record<string, t.Identifier[] | t.Identifier>;\n\nfunction getOuterBindingIdentifiers(\n this: NodePath,\n duplicates?: boolean,\n): Record<string, t.Identifier[] | t.Identifier> {\n return _getOuterBindingIdentifiers(this.node, duplicates);\n}\n\nexport { getOuterBindingIdentifiers };\n\nfunction getBindingIdentifierPaths(\n duplicates: true,\n outerOnly?: boolean,\n): Record<string, NodePath<t.Identifier>[]>;\nfunction getBindingIdentifierPaths(\n duplicates: false,\n outerOnly?: boolean,\n): Record<string, NodePath<t.Identifier>>;\nfunction getBindingIdentifierPaths(\n duplicates?: boolean,\n outerOnly?: boolean,\n): Record<string, NodePath<t.Identifier> | NodePath<t.Identifier>[]>;\n\n// original source - https://github.com/babel/babel/blob/main/packages/babel-types/src/retrievers/getBindingIdentifiers.js\n// path.getBindingIdentifiers returns nodes where the following re-implementation returns paths\nfunction getBindingIdentifierPaths(\n this: NodePath,\n duplicates: boolean = false,\n outerOnly: boolean = false,\n): Record<string, NodePath<t.Identifier> | NodePath<t.Identifier>[]> {\n const path = this;\n const search = [path];\n const ids = Object.create(null);\n\n while (search.length) {\n const id = search.shift();\n if (!id) continue;\n if (!id.node) continue;\n\n const keys = _getBindingIdentifiers.keys[id.node.type];\n\n if (id.isIdentifier()) {\n if (duplicates) {\n const _ids = (ids[id.node.name] = ids[id.node.name] || []);\n _ids.push(id);\n } else {\n ids[id.node.name] = id;\n }\n continue;\n }\n\n if (id.isExportDeclaration()) {\n const declaration = id.get(\"declaration\");\n if (declaration.isDeclaration()) {\n search.push(declaration);\n }\n continue;\n }\n\n if (outerOnly) {\n if (id.isFunctionDeclaration()) {\n search.push(id.get(\"id\"));\n continue;\n }\n if (id.isFunctionExpression()) {\n continue;\n }\n }\n\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const child = id.get(key);\n if (Array.isArray(child)) {\n search.push(...child);\n } else if (child.node) {\n search.push(child);\n }\n }\n }\n }\n\n return ids;\n}\n\nexport { getBindingIdentifierPaths };\n\nfunction getOuterBindingIdentifierPaths(\n duplicates: true,\n): Record<string, NodePath<t.Identifier>[]>;\nfunction getOuterBindingIdentifierPaths(\n duplicates?: false,\n): Record<string, NodePath<t.Identifier>>;\nfunction getOuterBindingIdentifierPaths(\n duplicates?: boolean,\n): Record<string, NodePath<t.Identifier> | NodePath<t.Identifier>[]>;\n\nfunction getOuterBindingIdentifierPaths(\n this: NodePath,\n duplicates: boolean = false,\n) {\n return this.getBindingIdentifierPaths(duplicates, true);\n}\n\nexport { getOuterBindingIdentifierPaths };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["virtualTypes","require","_debug","_index","_index2","_t","t","cache","_generator","NodePath_ancestry","NodePath_inference","NodePath_replacement","NodePath_evaluation","NodePath_conversion","NodePath_introspection","_context","NodePath_context","NodePath_removal","NodePath_modification","NodePath_family","NodePath_comments","NodePath_virtual_types_validator","validate","debug","buildDebug","REMOVED","exports","SHOULD_STOP","SHOULD_SKIP","NodePath_Final","default","NodePath","constructor","hub","parent","contexts","state","opts","_traverseFlags","skipKeys","parentPath","container","listKey","key","node","type","_store","data","context","scope","removed","v","shouldStop","shouldSkip","get","Error","targetNode","paths","getOrCreateCachedPaths","path","set","setup","call","getScope","isScope","Scope","setData","val","Object","create","getData","def","undefined","hasNode","buildCodeFrameError","msg","SyntaxError","buildError","traverse","visitor","getPathLocation","parts","inList","unshift","join","message","enabled","toString","generator","code","parentKey","methods","findParent","find","getFunctionParent","getStatementParent","getEarliestCommonAncestorFrom","getDeepestCommonAncestorFrom","getAncestry","isAncestor","isDescendant","inType","getTypeAnnotation","isBaseType","couldBeBaseType","baseTypeStrictlyMatches","isGenericType","replaceWithMultiple","replaceWithSourceString","replaceWith","replaceExpressionWithStatements","replaceInline","evaluateTruthy","evaluate","toComputedKey","ensureBlock","unwrapFunctionEnvironment","arrowFunctionToExpression","splitExportDeclaration","ensureFunctionName","matchesPattern","isStatic","isNodeType","canHaveVariableDeclarationOrExpression","canSwapBetweenExpressionAndStatement","isCompletionRecord","isStatementOrBlock","referencesImport","getSource","willIMaybeExecuteBefore","_guessExecutionStatusRelativeTo","resolve","isConstantExpression","isInStrictMode","isDenylisted","visit","skip","skipKey","stop","setContext","requeue","requeueComputedKeyAndDecorators","remove","insertBefore","insertAfter","unshiftContainer","pushContainer","getOpposite","getCompletionRecords","getSibling","getPrevSibling","getNextSibling","getAllNextSiblings","getAllPrevSiblings","getAssignmentIdentifiers","getBindingIdentifiers","getOuterBindingIdentifiers","getBindingIdentifierPaths","getOuterBindingIdentifierPaths","shareCommentsWithSiblings","addComment","addComments","assign","prototype","arrowFunctionToShadowed","String","has","is","isnt","equals","hoist","updateSiblingKeys","isBlacklisted","setScope","resync","popContext","pushContext","setKey","_guessExecutionStatusRelativeToDifferentFunctions","_getTypeAnnotation","_replaceWith","_resolve","_call","_resyncParent","_resyncKey","_resyncList","_resyncRemoved","_getQueueContexts","_removeFromScope","_callRemovalHooks","_remove","_markRemoved","_assertUnremoved","_containerInsert","_containerInsertBefore","_containerInsertAfter","_verifyNodeList","_getKey","_getPattern","TYPES","typeKey","fn","TypeError","keys","includes","push"],"sources":["../../src/path/index.ts"],"sourcesContent":["import type { HubInterface } from \"../hub.ts\";\nimport type TraversalContext from \"../context.ts\";\nimport type { ExplodedTraverseOptions } from \"../index.ts\";\nimport * as virtualTypes from \"./lib/virtual-types.ts\";\nimport buildDebug from \"debug\";\nimport traverse from \"../index.ts\";\nimport type { Visitor } from \"../types.ts\";\nimport Scope from \"../scope/index.ts\";\nimport { validate } from \"@babel/types\";\nimport * as t from \"@babel/types\";\nimport * as cache from \"../cache.ts\";\nimport generator from \"@babel/generator\";\n\n// NodePath is split across many files.\nimport * as NodePath_ancestry from \"./ancestry.ts\";\nimport * as NodePath_inference from \"./inference/index.ts\";\nimport * as NodePath_replacement from \"./replacement.ts\";\nimport * as NodePath_evaluation from \"./evaluation.ts\";\nimport * as NodePath_conversion from \"./conversion.ts\";\nimport * as NodePath_introspection from \"./introspection.ts\";\nimport * as NodePath_context from \"./context.ts\";\nimport * as NodePath_removal from \"./removal.ts\";\nimport * as NodePath_modification from \"./modification.ts\";\nimport * as NodePath_family from \"./family.ts\";\nimport * as NodePath_comments from \"./comments.ts\";\nimport * as NodePath_virtual_types_validator from \"./lib/virtual-types-validator.ts\";\nimport type { NodePathAssertions } from \"./generated/asserts.ts\";\nimport type { NodePathValidators } from \"./generated/validators.ts\";\nimport { setup } from \"./context.ts\";\n\nconst debug = buildDebug(\"babel\");\n\nexport const REMOVED = 1 << 0;\nexport const SHOULD_STOP = 1 << 1;\nexport const SHOULD_SKIP = 1 << 2;\n\ndeclare const bit: import(\"../../../../scripts/babel-plugin-bit-decorator/types.d.ts\").BitDecorator<\n NodePath_Final<t.Node>\n>;\n\nexport type NodePaths<T extends t.Node | t.Node[]> = T extends t.Node[]\n ? { [K in keyof T]: NodePath_Final<Extract<T[K], t.Node>> }\n : T extends t.Node\n ? [NodePath_Final<T>]\n : never;\n\nexport type NodeListType<N, K extends keyof N> =\n N[K] extends Array<infer P extends t.Node> ? P : never;\n\nexport type NodeOrNodeList<T extends t.Node> = T | NodeList<T>;\n\nexport type NodeList<T extends t.Node> = T[] | [T, ...T[]];\n\nconst NodePath_Final = class NodePath {\n constructor(hub: HubInterface, parent: t.Node | null) {\n this.parent = parent;\n this.hub = hub;\n this.data = null;\n\n this.context = null;\n this.scope = null;\n }\n\n declare parent: t.Node;\n declare hub: HubInterface;\n declare data: Record<string | symbol, unknown>;\n // TraversalContext is configured by setContext\n declare context: TraversalContext;\n declare scope: Scope;\n\n contexts: Array<TraversalContext> = [];\n state: any = null;\n opts: ExplodedTraverseOptions | null = null;\n\n @bit.storage _traverseFlags: number;\n @bit(REMOVED) accessor removed = false;\n @bit(SHOULD_STOP) accessor shouldStop = false;\n @bit(SHOULD_SKIP) accessor shouldSkip = false;\n\n skipKeys: Record<string, boolean> | null = null;\n parentPath: NodePath_Final = null;\n container: t.Node | Array<t.Node> | null = null;\n listKey: string | null = null;\n key: string | number | null = null;\n node: t.Node | null = null;\n type: t.Node[\"type\"] | null = null;\n _store: Map<t.Node, NodePath_Final> | null = null;\n\n static get({\n hub,\n parentPath,\n parent,\n container,\n listKey,\n key,\n }: {\n hub?: HubInterface;\n parentPath: NodePath_Final | null;\n parent: t.Node;\n container: t.Node | t.Node[];\n listKey?: string;\n key: string | number;\n }): NodePath_Final {\n if (!hub && parentPath) {\n hub = parentPath.hub;\n }\n\n if (!parent) {\n throw new Error(\"To get a node path the parent needs to exist\");\n }\n\n const targetNode =\n // @ts-expect-error key must present in container\n container[key];\n\n const paths = cache.getOrCreateCachedPaths(parent, parentPath);\n\n let path = paths.get(targetNode);\n if (!path) {\n path = new NodePath(hub, parent) as NodePath_Final;\n if (targetNode) paths.set(targetNode, path);\n }\n\n setup.call(path, parentPath, container, listKey, key);\n\n return path;\n }\n\n getScope(this: NodePath_Final, scope: Scope): Scope {\n return this.isScope() ? new Scope(this) : scope;\n }\n\n setData<T>(key: string | symbol, val: T): T {\n if (this.data == null) {\n this.data = Object.create(null);\n }\n return (this.data[key] = val);\n }\n\n getData(key: string | symbol, def?: any): any {\n if (this.data == null) {\n this.data = Object.create(null);\n }\n let val = this.data[key];\n if (val === undefined && def !== undefined) val = this.data[key] = def;\n return val;\n }\n\n hasNode(): boolean {\n return this.node != null;\n }\n\n buildCodeFrameError(\n msg: string,\n Error: new () => Error = SyntaxError,\n ): Error {\n return this.hub.buildError(this.node, msg, Error);\n }\n\n traverse<T>(this: NodePath_Final, visitor: Visitor<T>, state: T): void;\n traverse(this: NodePath_Final, visitor: Visitor): void;\n traverse(this: NodePath_Final, visitor: any, state?: any) {\n traverse(this.node, visitor, this.scope, state, this);\n }\n\n set(key: string, node: any) {\n validate(this.node, key, node);\n // @ts-expect-error key must present in this.node\n this.node[key] = node;\n }\n\n getPathLocation(this: NodePath_Final): string {\n const parts = [];\n let path: NodePath_Final = this;\n do {\n let key = path.key;\n if (path.inList) key = `${path.listKey}[${key}]`;\n parts.unshift(key);\n } while ((path = path.parentPath));\n return parts.join(\".\");\n }\n\n debug(this: NodePath_Final, message: string) {\n if (!debug.enabled) return;\n debug(`${this.getPathLocation()} ${this.type}: ${message}`);\n }\n\n toString() {\n return generator(this.node).code;\n }\n\n get inList() {\n return !!this.listKey;\n }\n\n set inList(inList) {\n if (!inList) {\n this.listKey = null;\n }\n // ignore inList = true as it should depend on `listKey`\n }\n\n get parentKey(): string {\n return (this.listKey || this.key) as string;\n }\n};\n\nconst methods = {\n // NodePath_ancestry\n findParent: NodePath_ancestry.findParent,\n find: NodePath_ancestry.find,\n getFunctionParent: NodePath_ancestry.getFunctionParent,\n getStatementParent: NodePath_ancestry.getStatementParent,\n getEarliestCommonAncestorFrom:\n NodePath_ancestry.getEarliestCommonAncestorFrom,\n getDeepestCommonAncestorFrom: NodePath_ancestry.getDeepestCommonAncestorFrom,\n getAncestry: NodePath_ancestry.getAncestry,\n isAncestor: NodePath_ancestry.isAncestor,\n isDescendant: NodePath_ancestry.isDescendant,\n inType: NodePath_ancestry.inType,\n\n // NodePath_inference\n getTypeAnnotation: NodePath_inference.getTypeAnnotation,\n isBaseType: NodePath_inference.isBaseType,\n couldBeBaseType: NodePath_inference.couldBeBaseType,\n baseTypeStrictlyMatches: NodePath_inference.baseTypeStrictlyMatches,\n isGenericType: NodePath_inference.isGenericType,\n\n // NodePath_replacement\n replaceWithMultiple: NodePath_replacement.replaceWithMultiple,\n replaceWithSourceString: NodePath_replacement.replaceWithSourceString,\n replaceWith: NodePath_replacement.replaceWith,\n replaceExpressionWithStatements:\n NodePath_replacement.replaceExpressionWithStatements,\n replaceInline: NodePath_replacement.replaceInline,\n\n // NodePath_evaluation\n evaluateTruthy: NodePath_evaluation.evaluateTruthy,\n evaluate: NodePath_evaluation.evaluate,\n\n // NodePath_conversion\n toComputedKey: NodePath_conversion.toComputedKey,\n ensureBlock: NodePath_conversion.ensureBlock,\n unwrapFunctionEnvironment: NodePath_conversion.unwrapFunctionEnvironment,\n arrowFunctionToExpression: NodePath_conversion.arrowFunctionToExpression,\n splitExportDeclaration: NodePath_conversion.splitExportDeclaration,\n ensureFunctionName: NodePath_conversion.ensureFunctionName,\n\n // NodePath_introspection\n matchesPattern: NodePath_introspection.matchesPattern,\n isStatic: NodePath_introspection.isStatic,\n isNodeType: NodePath_introspection.isNodeType,\n canHaveVariableDeclarationOrExpression:\n NodePath_introspection.canHaveVariableDeclarationOrExpression,\n canSwapBetweenExpressionAndStatement:\n NodePath_introspection.canSwapBetweenExpressionAndStatement,\n isCompletionRecord: NodePath_introspection.isCompletionRecord,\n isStatementOrBlock: NodePath_introspection.isStatementOrBlock,\n referencesImport: NodePath_introspection.referencesImport,\n getSource: NodePath_introspection.getSource,\n willIMaybeExecuteBefore: NodePath_introspection.willIMaybeExecuteBefore,\n _guessExecutionStatusRelativeTo:\n NodePath_introspection._guessExecutionStatusRelativeTo,\n resolve: NodePath_introspection.resolve,\n isConstantExpression: NodePath_introspection.isConstantExpression,\n isInStrictMode: NodePath_introspection.isInStrictMode,\n\n // NodePath_context\n isDenylisted: NodePath_context.isDenylisted,\n visit: NodePath_context.visit,\n skip: NodePath_context.skip,\n skipKey: NodePath_context.skipKey,\n stop: NodePath_context.stop,\n setContext: NodePath_context.setContext,\n requeue: NodePath_context.requeue,\n requeueComputedKeyAndDecorators:\n NodePath_context.requeueComputedKeyAndDecorators,\n\n // NodePath_removal\n remove: NodePath_removal.remove,\n\n // NodePath_modification\n insertBefore: NodePath_modification.insertBefore,\n insertAfter: NodePath_modification.insertAfter,\n unshiftContainer: NodePath_modification.unshiftContainer,\n pushContainer: NodePath_modification.pushContainer,\n\n // NodePath_family\n getOpposite: NodePath_family.getOpposite,\n getCompletionRecords: NodePath_family.getCompletionRecords,\n getSibling: NodePath_family.getSibling,\n getPrevSibling: NodePath_family.getPrevSibling,\n getNextSibling: NodePath_family.getNextSibling,\n getAllNextSiblings: NodePath_family.getAllNextSiblings,\n getAllPrevSiblings: NodePath_family.getAllPrevSiblings,\n get: NodePath_family.get,\n getAssignmentIdentifiers: NodePath_family.getAssignmentIdentifiers,\n getBindingIdentifiers: NodePath_family.getBindingIdentifiers,\n getOuterBindingIdentifiers: NodePath_family.getOuterBindingIdentifiers,\n getBindingIdentifierPaths: NodePath_family.getBindingIdentifierPaths,\n getOuterBindingIdentifierPaths:\n NodePath_family.getOuterBindingIdentifierPaths,\n\n // NodePath_comments\n shareCommentsWithSiblings: NodePath_comments.shareCommentsWithSiblings,\n addComment: NodePath_comments.addComment,\n addComments: NodePath_comments.addComments,\n};\n\nObject.assign(NodePath_Final.prototype, methods);\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n // String(x) is workaround for rollup\n\n // @ts-expect-error babel 7 only\n NodePath_Final.prototype.arrowFunctionToShadowed =\n // @ts-expect-error babel 7 only\n NodePath_conversion[String(\"arrowFunctionToShadowed\")];\n\n Object.assign(NodePath_Final.prototype, {\n // @ts-expect-error Babel 7 only\n has: NodePath_introspection[String(\"has\")],\n // @ts-expect-error Babel 7 only\n is: NodePath_introspection[String(\"is\")],\n // @ts-expect-error Babel 7 only\n isnt: NodePath_introspection[String(\"isnt\")],\n // @ts-expect-error Babel 7 only\n equals: NodePath_introspection[String(\"equals\")],\n // @ts-expect-error Babel 7 only\n hoist: NodePath_modification[String(\"hoist\")],\n updateSiblingKeys: NodePath_modification.updateSiblingKeys,\n call: NodePath_context.call,\n // @ts-expect-error Babel 7 only\n isBlacklisted: NodePath_context[String(\"isBlacklisted\")],\n setScope: NodePath_context.setScope,\n resync: NodePath_context.resync,\n popContext: NodePath_context.popContext,\n pushContext: NodePath_context.pushContext,\n setup: NodePath_context.setup,\n setKey: NodePath_context.setKey,\n });\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n // @ts-expect-error The original _guessExecutionStatusRelativeToDifferentFunctions only worked for paths in\n // different functions, but _guessExecutionStatusRelativeTo works as a replacement in those cases.\n NodePath_Final.prototype._guessExecutionStatusRelativeToDifferentFunctions =\n NodePath_introspection._guessExecutionStatusRelativeTo;\n\n // @ts-expect-error The original _guessExecutionStatusRelativeToDifferentFunctions only worked for paths in\n // different functions, but _guessExecutionStatusRelativeTo works as a replacement in those cases.\n NodePath_Final.prototype._guessExecutionStatusRelativeToDifferentFunctions =\n NodePath_introspection._guessExecutionStatusRelativeTo;\n\n Object.assign(NodePath_Final.prototype, {\n // NodePath_inference\n _getTypeAnnotation: NodePath_inference._getTypeAnnotation,\n\n // NodePath_replacement\n _replaceWith: NodePath_replacement._replaceWith,\n\n // NodePath_introspection\n _resolve: NodePath_introspection._resolve,\n\n // NodePath_context\n _call: NodePath_context._call,\n _resyncParent: NodePath_context._resyncParent,\n _resyncKey: NodePath_context._resyncKey,\n _resyncList: NodePath_context._resyncList,\n _resyncRemoved: NodePath_context._resyncRemoved,\n _getQueueContexts: NodePath_context._getQueueContexts,\n\n // NodePath_removal\n _removeFromScope: NodePath_removal._removeFromScope,\n _callRemovalHooks: NodePath_removal._callRemovalHooks,\n _remove: NodePath_removal._remove,\n _markRemoved: NodePath_removal._markRemoved,\n _assertUnremoved: NodePath_removal._assertUnremoved,\n\n // NodePath_modification\n _containerInsert: NodePath_modification._containerInsert,\n _containerInsertBefore: NodePath_modification._containerInsertBefore,\n _containerInsertAfter: NodePath_modification._containerInsertAfter,\n _verifyNodeList: NodePath_modification._verifyNodeList,\n\n // NodePath_family\n _getKey: NodePath_family._getKey,\n _getPattern: NodePath_family._getPattern,\n });\n}\n\n// we can not use `import { TYPES } from \"@babel/types\"` here\n// because the transformNamedBabelTypesImportToDestructuring plugin in babel.config.js\n// does not offer live bindings for `TYPES`\n// we can change to `import { TYPES }` when we are publishing ES modules only\nfor (const type of t.TYPES) {\n const typeKey = `is${type}`;\n // @ts-expect-error typeKey must present in t\n const fn = t[typeKey];\n // @ts-expect-error augmenting NodePath prototype\n NodePath_Final.prototype[typeKey] = function (opts: any) {\n return fn(this.node, opts);\n };\n\n // @ts-expect-error augmenting NodePath prototype\n NodePath_Final.prototype[`assert${type}`] = function (opts: any) {\n if (!fn(this.node, opts)) {\n throw new TypeError(`Expected node path of type ${type}`);\n }\n };\n}\n\n// Register virtual types validators after base types validators\nObject.assign(NodePath_Final.prototype, NodePath_virtual_types_validator);\n\nfor (const type of Object.keys(virtualTypes) as (keyof typeof virtualTypes)[]) {\n if (type[0] === \"_\") continue;\n if (!t.TYPES.includes(type)) t.TYPES.push(type);\n}\n\ninterface NodePathOverwrites {\n // We need to re-define these predicate and assertion\n // methods here, because we cannot refine `this` in\n // a function declaration.\n // See https://github.com/microsoft/TypeScript/issues/38150\n\n /**\n * NOTE: This assertion doesn't narrow the type on unions of\n * NodePaths, due to https://github.com/microsoft/TypeScript/issues/44212\n *\n * @see ./conversion.ts for implementation.\n */\n ensureBlock(\n this: NodePath_Final,\n ): asserts this is NodePath_Final<\n (\n | t.Loop\n | t.WithStatement\n | t.Function\n | t.LabeledStatement\n | t.CatchClause\n ) & { body: t.BlockStatement }\n >;\n /**\n * @see ./introspection.ts for implementation.\n */\n isStatementOrBlock(\n this: NodePath_Final,\n ): this is NodePath_Final<t.Statement | t.Block>;\n}\n\ntype NodePathMixins = Omit<typeof methods, keyof NodePathOverwrites>;\n\ninterface NodePath<T extends t.Node>\n extends InstanceType<typeof NodePath_Final>,\n NodePathAssertions,\n NodePathValidators,\n NodePathMixins,\n NodePathOverwrites {\n type: T[\"type\"] | null;\n node: T;\n // .parent is only null for File nodes, which are not traversed by @babel/traverse\n // You can technically create a path that contains one, but it's so rare that\n // we can ignore it to avoid having non-null assertions everywhere.\n parent: NonNullable<t.ParentMaps[T[\"type\"]]>;\n parentPath: NodePath_Final<NonNullable<t.ParentMaps[T[\"type\"]]>>;\n}\n\n// This trick is necessary so that\n// NodePath_Final<A | B> is the same as NodePath_Final<A> | NodePath_Final<B>\ntype NodePath_Final<T extends t.Node = t.Node> = T extends any\n ? NodePath<T>\n : never;\n\nexport { NodePath_Final as default, type NodePath as NodePath_Internal };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["virtualTypes","require","_debug","_index","_index2","_t","t","cache","_generator","NodePath_ancestry","NodePath_inference","NodePath_replacement","NodePath_evaluation","NodePath_conversion","NodePath_introspection","_context","NodePath_context","NodePath_removal","NodePath_modification","NodePath_family","NodePath_comments","NodePath_virtual_types_validator","validate","debug","buildDebug","REMOVED","exports","SHOULD_STOP","SHOULD_SKIP","NodePath_Final","default","NodePath","constructor","hub","parent","contexts","state","_traverseFlags","skipKeys","parentPath","container","listKey","key","node","type","_store","data","context","scope","removed","v","shouldStop","shouldSkip","get","Error","targetNode","paths","getOrCreateCachedPaths","path","set","setup","call","getScope","isScope","Scope","setData","val","Object","create","getData","def","undefined","hasNode","buildCodeFrameError","msg","SyntaxError","buildError","traverse","visitor","getPathLocation","parts","inList","unshift","join","message","enabled","toString","generator","code","parentKey","methods","findParent","find","getFunctionParent","getStatementParent","getEarliestCommonAncestorFrom","getDeepestCommonAncestorFrom","getAncestry","isAncestor","isDescendant","inType","getTypeAnnotation","isBaseType","couldBeBaseType","baseTypeStrictlyMatches","isGenericType","replaceWithMultiple","replaceWithSourceString","replaceWith","replaceExpressionWithStatements","replaceInline","evaluateTruthy","evaluate","toComputedKey","ensureBlock","unwrapFunctionEnvironment","arrowFunctionToExpression","splitExportDeclaration","ensureFunctionName","matchesPattern","isStatic","isNodeType","canHaveVariableDeclarationOrExpression","canSwapBetweenExpressionAndStatement","isCompletionRecord","isStatementOrBlock","referencesImport","getSource","willIMaybeExecuteBefore","_guessExecutionStatusRelativeTo","resolve","isConstantExpression","isInStrictMode","isDenylisted","visit","skip","skipKey","stop","setContext","requeue","requeueComputedKeyAndDecorators","remove","insertBefore","insertAfter","unshiftContainer","pushContainer","getOpposite","getCompletionRecords","getSibling","getPrevSibling","getNextSibling","getAllNextSiblings","getAllPrevSiblings","getAssignmentIdentifiers","getBindingIdentifiers","getOuterBindingIdentifiers","getBindingIdentifierPaths","getOuterBindingIdentifierPaths","shareCommentsWithSiblings","addComment","addComments","assign","prototype","arrowFunctionToShadowed","String","has","is","isnt","equals","hoist","updateSiblingKeys","isBlacklisted","setScope","resync","popContext","pushContext","setKey","_guessExecutionStatusRelativeToDifferentFunctions","_getTypeAnnotation","_replaceWith","_resolve","_call","_resyncParent","_resyncKey","_resyncList","_resyncRemoved","_getQueueContexts","_removeFromScope","_callRemovalHooks","_remove","_markRemoved","_assertUnremoved","_containerInsert","_containerInsertBefore","_containerInsertAfter","_verifyNodeList","_getKey","_getPattern","TYPES","typeKey","fn","opts","TypeError","keys","includes","push"],"sources":["../../src/path/index.ts"],"sourcesContent":["import type { HubInterface } from \"../hub.ts\";\nimport type TraversalContext from \"../context.ts\";\nimport type { ExplodedTraverseOptions } from \"../index.ts\";\nimport * as virtualTypes from \"./lib/virtual-types.ts\";\nimport buildDebug from \"debug\";\nimport traverse from \"../index.ts\";\nimport type { Visitor } from \"../types.ts\";\nimport Scope from \"../scope/index.ts\";\nimport { validate } from \"@babel/types\";\nimport * as t from \"@babel/types\";\nimport * as cache from \"../cache.ts\";\nimport generator from \"@babel/generator\";\n\n// NodePath is split across many files.\nimport * as NodePath_ancestry from \"./ancestry.ts\";\nimport * as NodePath_inference from \"./inference/index.ts\";\nimport * as NodePath_replacement from \"./replacement.ts\";\nimport * as NodePath_evaluation from \"./evaluation.ts\";\nimport * as NodePath_conversion from \"./conversion.ts\";\nimport * as NodePath_introspection from \"./introspection.ts\";\nimport * as NodePath_context from \"./context.ts\";\nimport * as NodePath_removal from \"./removal.ts\";\nimport * as NodePath_modification from \"./modification.ts\";\nimport * as NodePath_family from \"./family.ts\";\nimport * as NodePath_comments from \"./comments.ts\";\nimport * as NodePath_virtual_types_validator from \"./lib/virtual-types-validator.ts\";\nimport type { NodePathAssertions } from \"./generated/asserts.ts\";\nimport type { NodePathValidators } from \"./generated/validators.ts\";\nimport { setup } from \"./context.ts\";\n\nconst debug = buildDebug(\"babel\");\n\nexport const REMOVED = 1 << 0;\nexport const SHOULD_STOP = 1 << 1;\nexport const SHOULD_SKIP = 1 << 2;\n\ndeclare const bit: import(\"../../../../scripts/babel-plugin-bit-decorator/types.d.ts\").BitDecorator<\n NodePath_Final<t.Node>\n>;\n\nexport type NodePaths<T extends t.Node | t.Node[]> = T extends t.Node[]\n ? { [K in keyof T]: NodePath_Final<Extract<T[K], t.Node>> }\n : T extends t.Node\n ? [NodePath_Final<T>]\n : never;\n\nexport type NodeListType<N, K extends keyof N> =\n N[K] extends Array<infer P extends t.Node> ? P : never;\n\nexport type NodeOrNodeList<T extends t.Node> = T | NodeList<T>;\n\nexport type NodeList<T extends t.Node> = T[] | [T, ...T[]];\n\nconst NodePath_Final = class NodePath {\n constructor(hub: HubInterface | undefined, parent: t.Node) {\n this.parent = parent;\n this.hub = hub!;\n this.data = null;\n\n // @ts-expect-error Set it in setContext\n this.context = null;\n // @ts-expect-error Set it in setContext\n this.scope = null;\n }\n\n declare parent: t.Node;\n declare hub: HubInterface;\n declare data: Record<string | symbol, unknown> | null;\n // TraversalContext is configured by setContext\n declare context: TraversalContext;\n declare scope: Scope;\n\n contexts: Array<TraversalContext> = [];\n state: any = null;\n declare opts: ExplodedTraverseOptions;\n\n @bit.storage _traverseFlags: number = 0;\n @bit(REMOVED) accessor removed = false;\n @bit(SHOULD_STOP) accessor shouldStop = false;\n @bit(SHOULD_SKIP) accessor shouldSkip = false;\n\n skipKeys: Record<string, boolean> | null = null;\n parentPath: NodePath_Final | null = null;\n container: t.Node | Array<t.Node> | null = null;\n listKey: string | null | undefined = null;\n key: string | number | null = null;\n node: t.Node | null = null;\n type: t.Node[\"type\"] | null = null;\n _store: Map<t.Node, NodePath_Final> | null = null;\n\n static get({\n hub,\n parentPath,\n parent,\n container,\n listKey,\n key,\n }: {\n hub?: HubInterface;\n parentPath: NodePath_Final | null | undefined;\n parent: t.Node;\n container: t.Node | t.Node[];\n listKey?: string | null;\n key: string | number;\n }): NodePath_Final {\n if (!hub && parentPath) {\n hub = parentPath.hub;\n }\n\n if (!parent) {\n throw new Error(\"To get a node path the parent needs to exist\");\n }\n\n const targetNode =\n // @ts-expect-error key must present in container\n container[key];\n\n const paths = cache.getOrCreateCachedPaths(parent, parentPath);\n\n let path = paths.get(targetNode);\n if (!path) {\n path = new NodePath(hub, parent) as NodePath_Final;\n if (targetNode) paths.set(targetNode, path);\n }\n\n setup.call(path, parentPath, container, listKey, key);\n\n return path;\n }\n\n getScope(this: NodePath_Final, scope: Scope): Scope {\n return this.isScope() ? new Scope(this) : scope;\n }\n\n setData<T>(key: string | symbol, val: T): T {\n if (this.data == null) {\n this.data = Object.create(null);\n }\n return (this.data![key] = val);\n }\n\n getData(key: string | symbol, def?: any): any {\n if (this.data == null) {\n this.data = Object.create(null);\n }\n let val = this.data![key];\n if (val === undefined && def !== undefined) val = this.data![key] = def;\n return val;\n }\n\n hasNode(): boolean {\n return this.node != null;\n }\n\n buildCodeFrameError(\n msg: string,\n Error: new () => Error = SyntaxError,\n ): Error {\n return this.hub.buildError(this.node!, msg, Error);\n }\n\n traverse<T>(this: NodePath_Final, visitor: Visitor<T>, state: T): void;\n traverse(this: NodePath_Final, visitor: Visitor): void;\n traverse(this: NodePath_Final, visitor: any, state?: any) {\n traverse(this.node, visitor, this.scope, state, this);\n }\n\n set(key: string, node: any) {\n validate(this.node, key, node);\n // @ts-expect-error key must present in this.node\n this.node[key] = node;\n }\n\n getPathLocation(this: NodePath_Final): string {\n const parts = [];\n let path: NodePath_Final = this;\n do {\n let key = path.key;\n if (path.inList) key = `${path.listKey}[${key}]`;\n parts.unshift(key);\n } while ((path = path.parentPath));\n return parts.join(\".\");\n }\n\n debug(this: NodePath_Final, message: string) {\n if (!debug.enabled) return;\n debug(`${this.getPathLocation()} ${this.type}: ${message}`);\n }\n\n toString() {\n return generator(this.node!).code;\n }\n\n get inList() {\n return !!this.listKey;\n }\n\n set inList(inList) {\n if (!inList) {\n this.listKey = null;\n }\n // ignore inList = true as it should depend on `listKey`\n }\n\n get parentKey(): string {\n return (this.listKey || this.key) as string;\n }\n};\n\nconst methods = {\n // NodePath_ancestry\n findParent: NodePath_ancestry.findParent,\n find: NodePath_ancestry.find,\n getFunctionParent: NodePath_ancestry.getFunctionParent,\n getStatementParent: NodePath_ancestry.getStatementParent,\n getEarliestCommonAncestorFrom:\n NodePath_ancestry.getEarliestCommonAncestorFrom,\n getDeepestCommonAncestorFrom: NodePath_ancestry.getDeepestCommonAncestorFrom,\n getAncestry: NodePath_ancestry.getAncestry,\n isAncestor: NodePath_ancestry.isAncestor,\n isDescendant: NodePath_ancestry.isDescendant,\n inType: NodePath_ancestry.inType,\n\n // NodePath_inference\n getTypeAnnotation: NodePath_inference.getTypeAnnotation,\n isBaseType: NodePath_inference.isBaseType,\n couldBeBaseType: NodePath_inference.couldBeBaseType,\n baseTypeStrictlyMatches: NodePath_inference.baseTypeStrictlyMatches,\n isGenericType: NodePath_inference.isGenericType,\n\n // NodePath_replacement\n replaceWithMultiple: NodePath_replacement.replaceWithMultiple,\n replaceWithSourceString: NodePath_replacement.replaceWithSourceString,\n replaceWith: NodePath_replacement.replaceWith,\n replaceExpressionWithStatements:\n NodePath_replacement.replaceExpressionWithStatements,\n replaceInline: NodePath_replacement.replaceInline,\n\n // NodePath_evaluation\n evaluateTruthy: NodePath_evaluation.evaluateTruthy,\n evaluate: NodePath_evaluation.evaluate,\n\n // NodePath_conversion\n toComputedKey: NodePath_conversion.toComputedKey,\n ensureBlock: NodePath_conversion.ensureBlock,\n unwrapFunctionEnvironment: NodePath_conversion.unwrapFunctionEnvironment,\n arrowFunctionToExpression: NodePath_conversion.arrowFunctionToExpression,\n splitExportDeclaration: NodePath_conversion.splitExportDeclaration,\n ensureFunctionName: NodePath_conversion.ensureFunctionName,\n\n // NodePath_introspection\n matchesPattern: NodePath_introspection.matchesPattern,\n isStatic: NodePath_introspection.isStatic,\n isNodeType: NodePath_introspection.isNodeType,\n canHaveVariableDeclarationOrExpression:\n NodePath_introspection.canHaveVariableDeclarationOrExpression,\n canSwapBetweenExpressionAndStatement:\n NodePath_introspection.canSwapBetweenExpressionAndStatement,\n isCompletionRecord: NodePath_introspection.isCompletionRecord,\n isStatementOrBlock: NodePath_introspection.isStatementOrBlock,\n referencesImport: NodePath_introspection.referencesImport,\n getSource: NodePath_introspection.getSource,\n willIMaybeExecuteBefore: NodePath_introspection.willIMaybeExecuteBefore,\n _guessExecutionStatusRelativeTo:\n NodePath_introspection._guessExecutionStatusRelativeTo,\n resolve: NodePath_introspection.resolve,\n isConstantExpression: NodePath_introspection.isConstantExpression,\n isInStrictMode: NodePath_introspection.isInStrictMode,\n\n // NodePath_context\n isDenylisted: NodePath_context.isDenylisted,\n visit: NodePath_context.visit,\n skip: NodePath_context.skip,\n skipKey: NodePath_context.skipKey,\n stop: NodePath_context.stop,\n setContext: NodePath_context.setContext,\n requeue: NodePath_context.requeue,\n requeueComputedKeyAndDecorators:\n NodePath_context.requeueComputedKeyAndDecorators,\n\n // NodePath_removal\n remove: NodePath_removal.remove,\n\n // NodePath_modification\n insertBefore: NodePath_modification.insertBefore,\n insertAfter: NodePath_modification.insertAfter,\n unshiftContainer: NodePath_modification.unshiftContainer,\n pushContainer: NodePath_modification.pushContainer,\n\n // NodePath_family\n getOpposite: NodePath_family.getOpposite,\n getCompletionRecords: NodePath_family.getCompletionRecords,\n getSibling: NodePath_family.getSibling,\n getPrevSibling: NodePath_family.getPrevSibling,\n getNextSibling: NodePath_family.getNextSibling,\n getAllNextSiblings: NodePath_family.getAllNextSiblings,\n getAllPrevSiblings: NodePath_family.getAllPrevSiblings,\n get: NodePath_family.get,\n getAssignmentIdentifiers: NodePath_family.getAssignmentIdentifiers,\n getBindingIdentifiers: NodePath_family.getBindingIdentifiers,\n getOuterBindingIdentifiers: NodePath_family.getOuterBindingIdentifiers,\n getBindingIdentifierPaths: NodePath_family.getBindingIdentifierPaths,\n getOuterBindingIdentifierPaths:\n NodePath_family.getOuterBindingIdentifierPaths,\n\n // NodePath_comments\n shareCommentsWithSiblings: NodePath_comments.shareCommentsWithSiblings,\n addComment: NodePath_comments.addComment,\n addComments: NodePath_comments.addComments,\n};\n\nObject.assign(NodePath_Final.prototype, methods);\n\nif (!process.env.BABEL_8_BREAKING && !USE_ESM) {\n // String(x) is workaround for rollup\n\n // @ts-expect-error babel 7 only\n NodePath_Final.prototype.arrowFunctionToShadowed =\n // @ts-expect-error babel 7 only\n NodePath_conversion[String(\"arrowFunctionToShadowed\")];\n\n Object.assign(NodePath_Final.prototype, {\n // @ts-expect-error Babel 7 only\n has: NodePath_introspection[String(\"has\")],\n // @ts-expect-error Babel 7 only\n is: NodePath_introspection[String(\"is\")],\n // @ts-expect-error Babel 7 only\n isnt: NodePath_introspection[String(\"isnt\")],\n // @ts-expect-error Babel 7 only\n equals: NodePath_introspection[String(\"equals\")],\n // @ts-expect-error Babel 7 only\n hoist: NodePath_modification[String(\"hoist\")],\n updateSiblingKeys: NodePath_modification.updateSiblingKeys,\n call: NodePath_context.call,\n // @ts-expect-error Babel 7 only\n isBlacklisted: NodePath_context[String(\"isBlacklisted\")],\n setScope: NodePath_context.setScope,\n resync: NodePath_context.resync,\n popContext: NodePath_context.popContext,\n pushContext: NodePath_context.pushContext,\n setup: NodePath_context.setup,\n setKey: NodePath_context.setKey,\n });\n}\n\nif (!process.env.BABEL_8_BREAKING) {\n // @ts-expect-error The original _guessExecutionStatusRelativeToDifferentFunctions only worked for paths in\n // different functions, but _guessExecutionStatusRelativeTo works as a replacement in those cases.\n NodePath_Final.prototype._guessExecutionStatusRelativeToDifferentFunctions =\n NodePath_introspection._guessExecutionStatusRelativeTo;\n\n // @ts-expect-error The original _guessExecutionStatusRelativeToDifferentFunctions only worked for paths in\n // different functions, but _guessExecutionStatusRelativeTo works as a replacement in those cases.\n NodePath_Final.prototype._guessExecutionStatusRelativeToDifferentFunctions =\n NodePath_introspection._guessExecutionStatusRelativeTo;\n\n Object.assign(NodePath_Final.prototype, {\n // NodePath_inference\n _getTypeAnnotation: NodePath_inference._getTypeAnnotation,\n\n // NodePath_replacement\n _replaceWith: NodePath_replacement._replaceWith,\n\n // NodePath_introspection\n _resolve: NodePath_introspection._resolve,\n\n // NodePath_context\n _call: NodePath_context._call,\n _resyncParent: NodePath_context._resyncParent,\n _resyncKey: NodePath_context._resyncKey,\n _resyncList: NodePath_context._resyncList,\n _resyncRemoved: NodePath_context._resyncRemoved,\n _getQueueContexts: NodePath_context._getQueueContexts,\n\n // NodePath_removal\n _removeFromScope: NodePath_removal._removeFromScope,\n _callRemovalHooks: NodePath_removal._callRemovalHooks,\n _remove: NodePath_removal._remove,\n _markRemoved: NodePath_removal._markRemoved,\n _assertUnremoved: NodePath_removal._assertUnremoved,\n\n // NodePath_modification\n _containerInsert: NodePath_modification._containerInsert,\n _containerInsertBefore: NodePath_modification._containerInsertBefore,\n _containerInsertAfter: NodePath_modification._containerInsertAfter,\n _verifyNodeList: NodePath_modification._verifyNodeList,\n\n // NodePath_family\n _getKey: NodePath_family._getKey,\n _getPattern: NodePath_family._getPattern,\n });\n}\n\n// we can not use `import { TYPES } from \"@babel/types\"` here\n// because the transformNamedBabelTypesImportToDestructuring plugin in babel.config.js\n// does not offer live bindings for `TYPES`\n// we can change to `import { TYPES }` when we are publishing ES modules only\nfor (const type of t.TYPES) {\n const typeKey = `is${type}`;\n // @ts-expect-error typeKey must present in t\n const fn = t[typeKey];\n // @ts-expect-error augmenting NodePath prototype\n NodePath_Final.prototype[typeKey] = function (opts: any) {\n return fn(this.node, opts);\n };\n\n // @ts-expect-error augmenting NodePath prototype\n NodePath_Final.prototype[`assert${type}`] = function (opts: any) {\n if (!fn(this.node, opts)) {\n throw new TypeError(`Expected node path of type ${type}`);\n }\n };\n}\n\n// Register virtual types validators after base types validators\nObject.assign(NodePath_Final.prototype, NodePath_virtual_types_validator);\n\nfor (const type of Object.keys(virtualTypes) as (keyof typeof virtualTypes)[]) {\n if (type[0] === \"_\") continue;\n if (!t.TYPES.includes(type)) t.TYPES.push(type);\n}\n\ninterface NodePathOverwrites {\n // We need to re-define these predicate and assertion\n // methods here, because we cannot refine `this` in\n // a function declaration.\n // See https://github.com/microsoft/TypeScript/issues/38150\n\n /**\n * NOTE: This assertion doesn't narrow the type on unions of\n * NodePaths, due to https://github.com/microsoft/TypeScript/issues/44212\n *\n * @see ./conversion.ts for implementation.\n */\n ensureBlock(\n this: NodePath_Final,\n ): asserts this is NodePath_Final<\n (\n | t.Loop\n | t.WithStatement\n | t.Function\n | t.LabeledStatement\n | t.CatchClause\n ) & { body: t.BlockStatement }\n >;\n /**\n * @see ./introspection.ts for implementation.\n */\n isStatementOrBlock(\n this: NodePath_Final,\n ): this is NodePath_Final<t.Statement | t.Block>;\n}\n\ntype NodePathMixins = Omit<typeof methods, keyof NodePathOverwrites>;\n\ninterface NodePath<\n N extends t.Node | null,\n T extends t.Node[\"type\"] | null = N extends null\n ? null\n : NonNullable<N>[\"type\"],\n P extends t.Node = NonNullable<t.ParentMaps[NonNullable<T>]>,\n> extends InstanceType<typeof NodePath_Final>,\n NodePathAssertions,\n NodePathValidators,\n NodePathMixins,\n NodePathOverwrites {\n type: T;\n node: N;\n // .parent is only null for File nodes, which are not traversed by @babel/traverse\n // You can technically create a path that contains one, but it's so rare that\n // we can ignore it to avoid having non-null assertions everywhere.\n parent: P;\n parentPath: NodePath_Final<P>;\n}\n\n// This trick is necessary so that\n// NodePath_Final<A | B> is the same as NodePath_Final<A> | NodePath_Final<B>\ntype NodePath_Final<T extends t.Node | null = t.Node> = T extends any\n ? NodePath<T>\n : never;\n\nexport { NodePath_Final as default, type NodePath as NodePath_Internal };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -116,7 +116,7 @@ function getParentConditionalPath(binding, path, name) {
|
|
|
116
116
|
return parentPath;
|
|
117
117
|
}
|
|
118
118
|
if (parentPath.isFunction()) {
|
|
119
|
-
if (parentPath.parentPath.scope.getBinding(name) !== binding) return;
|
|
119
|
+
if (name == null || parentPath.parentPath.scope.getBinding(name) !== binding) return;
|
|
120
120
|
}
|
|
121
121
|
path = parentPath;
|
|
122
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_t","require","_util","BOOLEAN_NUMBER_BINARY_OPERATORS","createTypeAnnotationBasedOnTypeof","numberTypeAnnotation","voidTypeAnnotation","_default","node","isReferenced","binding","scope","getBinding","name","identifier","typeAnnotation","getTypeAnnotationBindingConstantViolations","path","types","functionConstantViolations","constantViolations","getConstantViolationsBefore","testType","getConditionalAnnotation","testConstantViolations","ifStatement","filter","includes","push","length","violation","getTypeAnnotation","createUnionType","functions","violations","slice","unshift","resolve","status","_guessExecutionStatusRelativeTo","inferAnnotationFromBinaryExpression","operator","right","get","left","target","isIdentifier","typeofPath","typePath","isUnaryExpression","isLiteral","typeValue","value","getParentConditionalPath","parentPath","isIfStatement","isConditionalExpression","key","isFunction","test","paths","i","isLogicalExpression","isBinaryExpression","type"],"sources":["../../../src/path/inference/inferer-reference.ts"],"sourcesContent":["import type NodePath from \"../index.ts\";\nimport {\n BOOLEAN_NUMBER_BINARY_OPERATORS,\n createTypeAnnotationBasedOnTypeof,\n numberTypeAnnotation,\n voidTypeAnnotation,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type Binding from \"../../scope/binding.ts\";\n\nimport { createUnionType } from \"./util.ts\";\n\nexport default function (this: NodePath<t.Identifier>, node: t.Identifier) {\n if (!this.isReferenced()) return;\n\n // check if a binding exists of this value and if so then return a union type of all\n // possible types that the binding could be\n const binding = this.scope.getBinding(node.name);\n if (binding) {\n if (binding.identifier.typeAnnotation) {\n return binding.identifier.typeAnnotation;\n } else {\n return getTypeAnnotationBindingConstantViolations(\n binding,\n this,\n node.name,\n );\n }\n }\n\n // built-in values\n if (node.name === \"undefined\") {\n return voidTypeAnnotation();\n } else if (node.name === \"NaN\" || node.name === \"Infinity\") {\n return numberTypeAnnotation();\n } else if (node.name === \"arguments\") {\n // todo\n }\n}\n\nfunction getTypeAnnotationBindingConstantViolations(\n binding: Binding,\n path: NodePath<t.Identifier>,\n name: string,\n) {\n const types = [];\n\n const functionConstantViolations: NodePath[] = [];\n let constantViolations = getConstantViolationsBefore(\n binding,\n path,\n functionConstantViolations,\n );\n\n const testType = getConditionalAnnotation(binding, path, name);\n if (testType) {\n const testConstantViolations = getConstantViolationsBefore(\n binding,\n testType.ifStatement,\n );\n\n // remove constant violations observed before the IfStatement\n constantViolations = constantViolations.filter(\n path => !testConstantViolations.includes(path),\n );\n\n // clear current types and add in observed test type\n types.push(testType.typeAnnotation);\n }\n\n if (constantViolations.length) {\n // pick one constant from each scope which will represent the last possible\n // control flow path that it could've taken/been\n /* This code is broken for the following problems:\n * It thinks that assignments can only happen in scopes.\n * What about conditionals, if statements without block,\n * or guarded assignments.\n * It also checks to see if one of the assignments is in the\n * same scope and uses that as the only \"violation\". However,\n * the binding is returned by `getConstantViolationsBefore` so we for\n * sure always going to return that as the only \"violation\".\n let rawConstantViolations = constantViolations.reverse();\n let visitedScopes = [];\n constantViolations = [];\n for (let violation of (rawConstantViolations: Array<NodePath>)) {\n let violationScope = violation.scope;\n if (visitedScopes.indexOf(violationScope) >= 0) continue;\n\n visitedScopes.push(violationScope);\n constantViolations.push(violation);\n\n if (violationScope === path.scope) {\n constantViolations = [violation];\n break;\n }\n }*/\n\n // add back on function constant violations since we can't track calls\n constantViolations.push(...functionConstantViolations);\n\n // push on inferred types of violated paths\n for (const violation of constantViolations) {\n types.push(violation.getTypeAnnotation());\n }\n }\n\n if (!types.length) {\n return;\n }\n\n return createUnionType(types);\n}\n\nfunction getConstantViolationsBefore(\n binding: Binding,\n path: NodePath,\n functions?: NodePath[],\n) {\n const violations = binding.constantViolations.slice();\n violations.unshift(binding.path);\n return violations.filter(violation => {\n violation = violation.resolve();\n const status = violation._guessExecutionStatusRelativeTo(path);\n if (functions && status === \"unknown\") functions.push(violation);\n return status === \"before\";\n });\n}\n\nfunction inferAnnotationFromBinaryExpression(\n name: string,\n path: NodePath<t.BinaryExpression>,\n) {\n const operator = path.node.operator;\n\n const right = path.get(\"right\").resolve();\n const left = path.get(\"left\").resolve();\n\n let target;\n if (left.isIdentifier({ name })) {\n target = right;\n } else if (right.isIdentifier({ name })) {\n target = left;\n }\n\n if (target) {\n if (operator === \"===\") {\n return target.getTypeAnnotation();\n }\n if (BOOLEAN_NUMBER_BINARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n }\n\n return;\n }\n\n if (operator !== \"===\" && operator !== \"==\") return;\n\n let typeofPath: NodePath<t.UnaryExpression>;\n let typePath: NodePath<t.Expression>;\n if (left.isUnaryExpression({ operator: \"typeof\" })) {\n typeofPath = left;\n typePath = right as NodePath<t.Expression>;\n } else if (right.isUnaryExpression({ operator: \"typeof\" })) {\n typeofPath = right;\n typePath = left as NodePath<t.Expression>;\n }\n\n if (!typeofPath) return;\n // and that the argument of the typeof path references us!\n if (!typeofPath.get(\"argument\").isIdentifier({ name })) return;\n\n // ensure that the type path is a Literal\n typePath = typePath.resolve() as NodePath<t.Expression>;\n if (!typePath.isLiteral()) return;\n\n // and that it's a string so we can infer it\n // @ts-expect-error todo(flow->ts): value is not defined for NullLiteral and some other\n const typeValue = typePath.node.value;\n if (typeof typeValue !== \"string\") return;\n\n // turn type value into a type annotation\n // @ts-expect-error todo(flow->ts): move validation from helper or relax type constraint to just a string\n return createTypeAnnotationBasedOnTypeof(typeValue);\n}\n\nfunction getParentConditionalPath(\n binding: Binding,\n path: NodePath,\n name: string,\n) {\n let parentPath;\n while ((parentPath = path.parentPath)) {\n if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) {\n if (path.key === \"test\") {\n return;\n }\n\n return parentPath as NodePath<t.IfStatement | t.ConditionalExpression>;\n }\n if (parentPath.isFunction()) {\n if (parentPath.parentPath.scope.getBinding(name) !== binding) return;\n }\n\n path = parentPath;\n }\n}\n\nfunction getConditionalAnnotation<T extends t.Node>(\n binding: Binding,\n path: NodePath<T>,\n name?: string,\n): {\n typeAnnotation: t.FlowType | t.TSType;\n ifStatement: NodePath<t.IfStatement | t.ConditionalExpression>;\n} {\n const ifStatement = getParentConditionalPath(binding, path, name);\n if (!ifStatement) return;\n\n const test = ifStatement.get(\"test\");\n const paths = [test];\n const types = [];\n\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n\n if (path.isLogicalExpression()) {\n if (path.node.operator === \"&&\") {\n paths.push(path.get(\"left\"));\n paths.push(path.get(\"right\"));\n }\n } else if (path.isBinaryExpression()) {\n const type = inferAnnotationFromBinaryExpression(name, path);\n if (type) types.push(type);\n }\n }\n\n if (types.length) {\n return {\n typeAnnotation: createUnionType(types),\n ifStatement,\n };\n }\n\n return getConditionalAnnotation(binding, ifStatement, name);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_t","require","_util","BOOLEAN_NUMBER_BINARY_OPERATORS","createTypeAnnotationBasedOnTypeof","numberTypeAnnotation","voidTypeAnnotation","_default","node","isReferenced","binding","scope","getBinding","name","identifier","typeAnnotation","getTypeAnnotationBindingConstantViolations","path","types","functionConstantViolations","constantViolations","getConstantViolationsBefore","testType","getConditionalAnnotation","testConstantViolations","ifStatement","filter","includes","push","length","violation","getTypeAnnotation","createUnionType","functions","violations","slice","unshift","resolve","status","_guessExecutionStatusRelativeTo","inferAnnotationFromBinaryExpression","operator","right","get","left","target","isIdentifier","typeofPath","typePath","isUnaryExpression","isLiteral","typeValue","value","getParentConditionalPath","parentPath","isIfStatement","isConditionalExpression","key","isFunction","test","paths","i","isLogicalExpression","isBinaryExpression","type"],"sources":["../../../src/path/inference/inferer-reference.ts"],"sourcesContent":["import type NodePath from \"../index.ts\";\nimport {\n BOOLEAN_NUMBER_BINARY_OPERATORS,\n createTypeAnnotationBasedOnTypeof,\n numberTypeAnnotation,\n voidTypeAnnotation,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type Binding from \"../../scope/binding.ts\";\n\nimport { createUnionType } from \"./util.ts\";\n\nexport default function (this: NodePath<t.Identifier>, node: t.Identifier) {\n if (!this.isReferenced()) return;\n\n // check if a binding exists of this value and if so then return a union type of all\n // possible types that the binding could be\n const binding = this.scope.getBinding(node.name);\n if (binding) {\n if (binding.identifier.typeAnnotation) {\n return binding.identifier.typeAnnotation;\n } else {\n return getTypeAnnotationBindingConstantViolations(\n binding,\n this,\n node.name,\n );\n }\n }\n\n // built-in values\n if (node.name === \"undefined\") {\n return voidTypeAnnotation();\n } else if (node.name === \"NaN\" || node.name === \"Infinity\") {\n return numberTypeAnnotation();\n } else if (node.name === \"arguments\") {\n // todo\n }\n}\n\nfunction getTypeAnnotationBindingConstantViolations(\n binding: Binding,\n path: NodePath<t.Identifier>,\n name: string,\n) {\n const types = [];\n\n const functionConstantViolations: NodePath[] = [];\n let constantViolations = getConstantViolationsBefore(\n binding,\n path,\n functionConstantViolations,\n );\n\n const testType = getConditionalAnnotation(binding, path, name);\n if (testType) {\n const testConstantViolations = getConstantViolationsBefore(\n binding,\n testType.ifStatement,\n );\n\n // remove constant violations observed before the IfStatement\n constantViolations = constantViolations.filter(\n path => !testConstantViolations.includes(path),\n );\n\n // clear current types and add in observed test type\n types.push(testType.typeAnnotation);\n }\n\n if (constantViolations.length) {\n // pick one constant from each scope which will represent the last possible\n // control flow path that it could've taken/been\n /* This code is broken for the following problems:\n * It thinks that assignments can only happen in scopes.\n * What about conditionals, if statements without block,\n * or guarded assignments.\n * It also checks to see if one of the assignments is in the\n * same scope and uses that as the only \"violation\". However,\n * the binding is returned by `getConstantViolationsBefore` so we for\n * sure always going to return that as the only \"violation\".\n let rawConstantViolations = constantViolations.reverse();\n let visitedScopes = [];\n constantViolations = [];\n for (let violation of (rawConstantViolations: Array<NodePath>)) {\n let violationScope = violation.scope;\n if (visitedScopes.indexOf(violationScope) >= 0) continue;\n\n visitedScopes.push(violationScope);\n constantViolations.push(violation);\n\n if (violationScope === path.scope) {\n constantViolations = [violation];\n break;\n }\n }*/\n\n // add back on function constant violations since we can't track calls\n constantViolations.push(...functionConstantViolations);\n\n // push on inferred types of violated paths\n for (const violation of constantViolations) {\n types.push(violation.getTypeAnnotation());\n }\n }\n\n if (!types.length) {\n return;\n }\n\n return createUnionType(types);\n}\n\nfunction getConstantViolationsBefore(\n binding: Binding,\n path: NodePath,\n functions?: NodePath[],\n) {\n const violations = binding.constantViolations.slice();\n violations.unshift(binding.path);\n return violations.filter(violation => {\n violation = violation.resolve();\n const status = violation._guessExecutionStatusRelativeTo(path);\n if (functions && status === \"unknown\") functions.push(violation);\n return status === \"before\";\n });\n}\n\nfunction inferAnnotationFromBinaryExpression(\n name: string | undefined,\n path: NodePath<t.BinaryExpression>,\n) {\n const operator = path.node.operator;\n\n const right = path.get(\"right\").resolve();\n const left = path.get(\"left\").resolve();\n\n let target;\n if (left.isIdentifier({ name })) {\n target = right;\n } else if (right.isIdentifier({ name })) {\n target = left;\n }\n\n if (target) {\n if (operator === \"===\") {\n return target.getTypeAnnotation();\n }\n if (BOOLEAN_NUMBER_BINARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n }\n\n return;\n }\n\n if (operator !== \"===\" && operator !== \"==\") return;\n\n let typeofPath: NodePath<t.UnaryExpression>;\n let typePath: NodePath<t.Expression>;\n if (left.isUnaryExpression({ operator: \"typeof\" })) {\n typeofPath = left;\n typePath = right as NodePath<t.Expression>;\n } else if (right.isUnaryExpression({ operator: \"typeof\" })) {\n typeofPath = right;\n typePath = left as NodePath<t.Expression>;\n }\n\n if (!typeofPath!) return;\n // and that the argument of the typeof path references us!\n if (!typeofPath.get(\"argument\").isIdentifier({ name })) return;\n\n // ensure that the type path is a Literal\n typePath = typePath!.resolve() as NodePath<t.Expression>;\n if (!typePath.isLiteral()) return;\n\n // and that it's a string so we can infer it\n // @ts-expect-error todo(flow->ts): value is not defined for NullLiteral and some other\n const typeValue = typePath.node.value;\n if (typeof typeValue !== \"string\") return;\n\n // turn type value into a type annotation\n // @ts-expect-error todo(flow->ts): move validation from helper or relax type constraint to just a string\n return createTypeAnnotationBasedOnTypeof(typeValue);\n}\n\nfunction getParentConditionalPath(\n binding: Binding,\n path: NodePath,\n name: string,\n) {\n let parentPath;\n while ((parentPath = path.parentPath)) {\n if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) {\n if (path.key === \"test\") {\n return;\n }\n\n return parentPath as NodePath<t.IfStatement | t.ConditionalExpression>;\n }\n if (parentPath.isFunction()) {\n if (\n name == null ||\n parentPath.parentPath.scope.getBinding(name) !== binding\n )\n return;\n }\n\n path = parentPath;\n }\n}\n\nfunction getConditionalAnnotation<T extends t.Node>(\n binding: Binding,\n path: NodePath<T>,\n name: string,\n):\n | {\n typeAnnotation: t.FlowType | t.TSType;\n ifStatement: NodePath<t.IfStatement | t.ConditionalExpression>;\n }\n | undefined {\n const ifStatement = getParentConditionalPath(binding, path, name);\n if (!ifStatement) return;\n\n const test = ifStatement.get(\"test\");\n const paths = [test];\n const types = [];\n\n for (let i = 0; i < paths.length; i++) {\n const path = paths[i];\n\n if (path.isLogicalExpression()) {\n if (path.node.operator === \"&&\") {\n paths.push(path.get(\"left\"));\n paths.push(path.get(\"right\"));\n }\n } else if (path.isBinaryExpression()) {\n const type = inferAnnotationFromBinaryExpression(name, path);\n if (type) types.push(type);\n }\n }\n\n if (types.length) {\n return {\n typeAnnotation: createUnionType(types)!,\n ifStatement,\n };\n }\n\n return getConditionalAnnotation(binding, ifStatement, name);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_t","require","_infererReference","_util","BOOLEAN_BINARY_OPERATORS","BOOLEAN_UNARY_OPERATORS","NUMBER_BINARY_OPERATORS","NUMBER_UNARY_OPERATORS","STRING_UNARY_OPERATORS","anyTypeAnnotation","arrayTypeAnnotation","booleanTypeAnnotation","buildMatchMemberExpression","genericTypeAnnotation","identifier","nullLiteralTypeAnnotation","numberTypeAnnotation","stringTypeAnnotation","tupleTypeAnnotation","unionTypeAnnotation","voidTypeAnnotation","isIdentifier","VariableDeclarator","get","getTypeAnnotation","TypeCastExpression","node","typeAnnotation","validParent","TSAsExpression","TSNonNullExpression","NewExpression","callee","type","TemplateLiteral","UnaryExpression","operator","includes","BinaryExpression","right","left","isBaseType","LogicalExpression","argumentTypes","createUnionType","ConditionalExpression","SequenceExpression","pop","ParenthesizedExpression","AssignmentExpression","UpdateExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","RegExpLiteral","ObjectExpression","ArrayExpression","RestElement","Func","isArrayFrom","isObjectKeys","isObjectValues","isObjectEntries","CallExpression","name","resolveCall","TaggedTemplateExpression","resolve","isFunction","async","generator","returnType"],"sources":["../../../src/path/inference/inferers.ts"],"sourcesContent":["import {\n BOOLEAN_BINARY_OPERATORS,\n BOOLEAN_UNARY_OPERATORS,\n NUMBER_BINARY_OPERATORS,\n NUMBER_UNARY_OPERATORS,\n STRING_UNARY_OPERATORS,\n anyTypeAnnotation,\n arrayTypeAnnotation,\n booleanTypeAnnotation,\n buildMatchMemberExpression,\n genericTypeAnnotation,\n identifier,\n nullLiteralTypeAnnotation,\n numberTypeAnnotation,\n stringTypeAnnotation,\n tupleTypeAnnotation,\n unionTypeAnnotation,\n voidTypeAnnotation,\n isIdentifier,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nexport { default as Identifier } from \"./inferer-reference.ts\";\n\nimport { createUnionType } from \"./util.ts\";\nimport type NodePath from \"../index.ts\";\n\nexport function VariableDeclarator(this: NodePath<t.VariableDeclarator>) {\n if (!this.get(\"id\").isIdentifier()) return;\n return this.get(\"init\").getTypeAnnotation();\n}\n\nexport function TypeCastExpression(node: t.TypeCastExpression) {\n return node.typeAnnotation;\n}\n\nTypeCastExpression.validParent = true;\n\nexport function TSAsExpression(node: t.TSAsExpression) {\n return node.typeAnnotation;\n}\n\nTSAsExpression.validParent = true;\n\nexport function TSNonNullExpression(this: NodePath<t.TSNonNullExpression>) {\n return this.get(\"expression\").getTypeAnnotation();\n}\n\nexport function NewExpression(\n this: NodePath<t.NewExpression>,\n node: t.NewExpression,\n) {\n if (node.callee.type === \"Identifier\") {\n // only resolve identifier callee\n return genericTypeAnnotation(node.callee);\n }\n}\n\nexport function TemplateLiteral() {\n return stringTypeAnnotation();\n}\n\nexport function UnaryExpression(node: t.UnaryExpression) {\n const operator = node.operator;\n\n if (operator === \"void\") {\n return voidTypeAnnotation();\n } else if (NUMBER_UNARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n } else if (STRING_UNARY_OPERATORS.includes(operator)) {\n return stringTypeAnnotation();\n } else if (BOOLEAN_UNARY_OPERATORS.includes(operator)) {\n return booleanTypeAnnotation();\n }\n}\n\nexport function BinaryExpression(\n this: NodePath<t.BinaryExpression>,\n node: t.BinaryExpression,\n) {\n const operator = node.operator;\n\n if (NUMBER_BINARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n } else if (BOOLEAN_BINARY_OPERATORS.includes(operator)) {\n return booleanTypeAnnotation();\n } else if (operator === \"+\") {\n const right = this.get(\"right\");\n const left = this.get(\"left\");\n\n if (left.isBaseType(\"number\") && right.isBaseType(\"number\")) {\n // both numbers so this will be a number\n return numberTypeAnnotation();\n } else if (left.isBaseType(\"string\") || right.isBaseType(\"string\")) {\n // one is a string so the result will be a string\n return stringTypeAnnotation();\n }\n\n // unsure if left and right are strings or numbers so stay on the safe side\n return unionTypeAnnotation([\n stringTypeAnnotation(),\n numberTypeAnnotation(),\n ]);\n }\n}\n\nexport function LogicalExpression(this: NodePath<t.LogicalExpression>) {\n const argumentTypes = [\n this.get(\"left\").getTypeAnnotation(),\n this.get(\"right\").getTypeAnnotation(),\n ];\n\n return createUnionType(argumentTypes);\n}\n\nexport function ConditionalExpression(this: NodePath<t.ConditionalExpression>) {\n const argumentTypes = [\n this.get(\"consequent\").getTypeAnnotation(),\n this.get(\"alternate\").getTypeAnnotation(),\n ];\n\n return createUnionType(argumentTypes);\n}\n\nexport function SequenceExpression(this: NodePath<t.SequenceExpression>) {\n return this.get(\"expressions\").pop().getTypeAnnotation();\n}\n\nexport function ParenthesizedExpression(\n this: NodePath<t.ParenthesizedExpression>,\n) {\n return this.get(\"expression\").getTypeAnnotation();\n}\n\nexport function AssignmentExpression(this: NodePath<t.AssignmentExpression>) {\n return this.get(\"right\").getTypeAnnotation();\n}\n\nexport function UpdateExpression(\n this: NodePath<t.UpdateExpression>,\n node: t.UpdateExpression,\n) {\n const operator = node.operator;\n if (operator === \"++\" || operator === \"--\") {\n return numberTypeAnnotation();\n }\n}\n\nexport function StringLiteral() {\n return stringTypeAnnotation();\n}\n\nexport function NumericLiteral() {\n return numberTypeAnnotation();\n}\n\nexport function BooleanLiteral() {\n return booleanTypeAnnotation();\n}\n\nexport function NullLiteral() {\n return nullLiteralTypeAnnotation();\n}\n\nexport function RegExpLiteral() {\n return genericTypeAnnotation(identifier(\"RegExp\"));\n}\n\nexport function ObjectExpression() {\n return genericTypeAnnotation(identifier(\"Object\"));\n}\n\nexport function ArrayExpression() {\n return genericTypeAnnotation(identifier(\"Array\"));\n}\n\nexport function RestElement() {\n return ArrayExpression();\n}\n\nRestElement.validParent = true;\n\nfunction Func() {\n return genericTypeAnnotation(identifier(\"Function\"));\n}\n\nexport {\n Func as FunctionExpression,\n Func as ArrowFunctionExpression,\n Func as FunctionDeclaration,\n Func as ClassExpression,\n Func as ClassDeclaration,\n};\n\nconst isArrayFrom = buildMatchMemberExpression(\"Array.from\");\nconst isObjectKeys = buildMatchMemberExpression(\"Object.keys\");\nconst isObjectValues = buildMatchMemberExpression(\"Object.values\");\nconst isObjectEntries = buildMatchMemberExpression(\"Object.entries\");\nexport function CallExpression(this: NodePath<t.CallExpression>) {\n const { callee } = this.node;\n if (isObjectKeys(callee)) {\n return arrayTypeAnnotation(stringTypeAnnotation());\n } else if (\n isArrayFrom(callee) ||\n isObjectValues(callee) ||\n // Detect \"var foo = Array()\" calls so we can optimize for arrays vs iterables.\n isIdentifier(callee, { name: \"Array\" })\n ) {\n return arrayTypeAnnotation(anyTypeAnnotation());\n } else if (isObjectEntries(callee)) {\n return arrayTypeAnnotation(\n tupleTypeAnnotation([stringTypeAnnotation(), anyTypeAnnotation()]),\n );\n }\n\n return resolveCall(this.get(\"callee\"));\n}\n\nexport function TaggedTemplateExpression(\n this: NodePath<t.TaggedTemplateExpression>,\n) {\n return resolveCall(this.get(\"tag\"));\n}\n\nfunction resolveCall(callee: NodePath) {\n callee = callee.resolve();\n\n if (callee.isFunction()) {\n const { node } = callee;\n if (node.async) {\n if (node.generator) {\n return genericTypeAnnotation(identifier(\"AsyncIterator\"));\n } else {\n return genericTypeAnnotation(identifier(\"Promise\"));\n }\n } else {\n if (node.generator) {\n return genericTypeAnnotation(identifier(\"Iterator\"));\n } else if (callee.node.returnType) {\n return callee.node.returnType;\n } else {\n // todo: get union type of all return arguments\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_t","require","_infererReference","_util","BOOLEAN_BINARY_OPERATORS","BOOLEAN_UNARY_OPERATORS","NUMBER_BINARY_OPERATORS","NUMBER_UNARY_OPERATORS","STRING_UNARY_OPERATORS","anyTypeAnnotation","arrayTypeAnnotation","booleanTypeAnnotation","buildMatchMemberExpression","genericTypeAnnotation","identifier","nullLiteralTypeAnnotation","numberTypeAnnotation","stringTypeAnnotation","tupleTypeAnnotation","unionTypeAnnotation","voidTypeAnnotation","isIdentifier","VariableDeclarator","get","getTypeAnnotation","TypeCastExpression","node","typeAnnotation","validParent","TSAsExpression","TSNonNullExpression","NewExpression","callee","type","TemplateLiteral","UnaryExpression","operator","includes","BinaryExpression","right","left","isBaseType","LogicalExpression","argumentTypes","createUnionType","ConditionalExpression","SequenceExpression","pop","ParenthesizedExpression","AssignmentExpression","UpdateExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","RegExpLiteral","ObjectExpression","ArrayExpression","RestElement","Func","isArrayFrom","isObjectKeys","isObjectValues","isObjectEntries","CallExpression","name","resolveCall","TaggedTemplateExpression","resolve","isFunction","async","generator","returnType"],"sources":["../../../src/path/inference/inferers.ts"],"sourcesContent":["import {\n BOOLEAN_BINARY_OPERATORS,\n BOOLEAN_UNARY_OPERATORS,\n NUMBER_BINARY_OPERATORS,\n NUMBER_UNARY_OPERATORS,\n STRING_UNARY_OPERATORS,\n anyTypeAnnotation,\n arrayTypeAnnotation,\n booleanTypeAnnotation,\n buildMatchMemberExpression,\n genericTypeAnnotation,\n identifier,\n nullLiteralTypeAnnotation,\n numberTypeAnnotation,\n stringTypeAnnotation,\n tupleTypeAnnotation,\n unionTypeAnnotation,\n voidTypeAnnotation,\n isIdentifier,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\n\nexport { default as Identifier } from \"./inferer-reference.ts\";\n\nimport { createUnionType } from \"./util.ts\";\nimport type NodePath from \"../index.ts\";\n\nexport function VariableDeclarator(this: NodePath<t.VariableDeclarator>) {\n if (!this.get(\"id\").isIdentifier()) return;\n return this.get(\"init\").getTypeAnnotation();\n}\n\nexport function TypeCastExpression(node: t.TypeCastExpression) {\n return node.typeAnnotation;\n}\n\nTypeCastExpression.validParent = true;\n\nexport function TSAsExpression(node: t.TSAsExpression) {\n return node.typeAnnotation;\n}\n\nTSAsExpression.validParent = true;\n\nexport function TSNonNullExpression(this: NodePath<t.TSNonNullExpression>) {\n return this.get(\"expression\").getTypeAnnotation();\n}\n\nexport function NewExpression(\n this: NodePath<t.NewExpression>,\n node: t.NewExpression,\n) {\n if (node.callee.type === \"Identifier\") {\n // only resolve identifier callee\n return genericTypeAnnotation(node.callee);\n }\n}\n\nexport function TemplateLiteral() {\n return stringTypeAnnotation();\n}\n\nexport function UnaryExpression(node: t.UnaryExpression) {\n const operator = node.operator;\n\n if (operator === \"void\") {\n return voidTypeAnnotation();\n } else if (NUMBER_UNARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n } else if (STRING_UNARY_OPERATORS.includes(operator)) {\n return stringTypeAnnotation();\n } else if (BOOLEAN_UNARY_OPERATORS.includes(operator)) {\n return booleanTypeAnnotation();\n }\n}\n\nexport function BinaryExpression(\n this: NodePath<t.BinaryExpression>,\n node: t.BinaryExpression,\n) {\n const operator = node.operator;\n\n if (NUMBER_BINARY_OPERATORS.includes(operator)) {\n return numberTypeAnnotation();\n } else if (BOOLEAN_BINARY_OPERATORS.includes(operator)) {\n return booleanTypeAnnotation();\n } else if (operator === \"+\") {\n const right = this.get(\"right\");\n const left = this.get(\"left\");\n\n if (left.isBaseType(\"number\") && right.isBaseType(\"number\")) {\n // both numbers so this will be a number\n return numberTypeAnnotation();\n } else if (left.isBaseType(\"string\") || right.isBaseType(\"string\")) {\n // one is a string so the result will be a string\n return stringTypeAnnotation();\n }\n\n // unsure if left and right are strings or numbers so stay on the safe side\n return unionTypeAnnotation([\n stringTypeAnnotation(),\n numberTypeAnnotation(),\n ]);\n }\n}\n\nexport function LogicalExpression(this: NodePath<t.LogicalExpression>) {\n const argumentTypes = [\n this.get(\"left\").getTypeAnnotation(),\n this.get(\"right\").getTypeAnnotation(),\n ];\n\n return createUnionType(argumentTypes);\n}\n\nexport function ConditionalExpression(this: NodePath<t.ConditionalExpression>) {\n const argumentTypes = [\n this.get(\"consequent\").getTypeAnnotation(),\n this.get(\"alternate\").getTypeAnnotation(),\n ];\n\n return createUnionType(argumentTypes);\n}\n\nexport function SequenceExpression(this: NodePath<t.SequenceExpression>) {\n return this.get(\"expressions\").pop()!.getTypeAnnotation();\n}\n\nexport function ParenthesizedExpression(\n this: NodePath<t.ParenthesizedExpression>,\n) {\n return this.get(\"expression\").getTypeAnnotation();\n}\n\nexport function AssignmentExpression(this: NodePath<t.AssignmentExpression>) {\n return this.get(\"right\").getTypeAnnotation();\n}\n\nexport function UpdateExpression(\n this: NodePath<t.UpdateExpression>,\n node: t.UpdateExpression,\n) {\n const operator = node.operator;\n if (operator === \"++\" || operator === \"--\") {\n return numberTypeAnnotation();\n }\n}\n\nexport function StringLiteral() {\n return stringTypeAnnotation();\n}\n\nexport function NumericLiteral() {\n return numberTypeAnnotation();\n}\n\nexport function BooleanLiteral() {\n return booleanTypeAnnotation();\n}\n\nexport function NullLiteral() {\n return nullLiteralTypeAnnotation();\n}\n\nexport function RegExpLiteral() {\n return genericTypeAnnotation(identifier(\"RegExp\"));\n}\n\nexport function ObjectExpression() {\n return genericTypeAnnotation(identifier(\"Object\"));\n}\n\nexport function ArrayExpression() {\n return genericTypeAnnotation(identifier(\"Array\"));\n}\n\nexport function RestElement() {\n return ArrayExpression();\n}\n\nRestElement.validParent = true;\n\nfunction Func() {\n return genericTypeAnnotation(identifier(\"Function\"));\n}\n\nexport {\n Func as FunctionExpression,\n Func as ArrowFunctionExpression,\n Func as FunctionDeclaration,\n Func as ClassExpression,\n Func as ClassDeclaration,\n};\n\nconst isArrayFrom = buildMatchMemberExpression(\"Array.from\");\nconst isObjectKeys = buildMatchMemberExpression(\"Object.keys\");\nconst isObjectValues = buildMatchMemberExpression(\"Object.values\");\nconst isObjectEntries = buildMatchMemberExpression(\"Object.entries\");\nexport function CallExpression(this: NodePath<t.CallExpression>) {\n const { callee } = this.node;\n if (isObjectKeys(callee)) {\n return arrayTypeAnnotation(stringTypeAnnotation());\n } else if (\n isArrayFrom(callee) ||\n isObjectValues(callee) ||\n // Detect \"var foo = Array()\" calls so we can optimize for arrays vs iterables.\n isIdentifier(callee, { name: \"Array\" })\n ) {\n return arrayTypeAnnotation(anyTypeAnnotation());\n } else if (isObjectEntries(callee)) {\n return arrayTypeAnnotation(\n tupleTypeAnnotation([stringTypeAnnotation(), anyTypeAnnotation()]),\n );\n }\n\n return resolveCall(this.get(\"callee\"));\n}\n\nexport function TaggedTemplateExpression(\n this: NodePath<t.TaggedTemplateExpression>,\n) {\n return resolveCall(this.get(\"tag\"));\n}\n\nfunction resolveCall(callee: NodePath) {\n callee = callee.resolve();\n\n if (callee.isFunction()) {\n const { node } = callee;\n if (node.async) {\n if (node.generator) {\n return genericTypeAnnotation(identifier(\"AsyncIterator\"));\n } else {\n return genericTypeAnnotation(identifier(\"Promise\"));\n }\n } else {\n if (node.generator) {\n return genericTypeAnnotation(identifier(\"Iterator\"));\n } else if (callee.node.returnType) {\n return callee.node.returnType;\n } else {\n // todo: get union type of all return arguments\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|