openapi-typesafe 0.0.0 → 1.0.0-rc.1
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/LICENSE +22 -0
- package/README.md +71 -1
- package/bin/cli.js +4 -0
- package/dist/adapters/node-file-system/node-file-system.cjs +46 -0
- package/dist/adapters/node-file-system/node-file-system.cjs.map +1 -0
- package/dist/adapters/node-file-system/node-file-system.mjs +40 -0
- package/dist/adapters/node-file-system/node-file-system.mjs.map +1 -0
- package/dist/adapters/redocly-loader/alias-limit.cjs +16 -0
- package/dist/adapters/redocly-loader/alias-limit.cjs.map +1 -0
- package/dist/adapters/redocly-loader/alias-limit.mjs +14 -0
- package/dist/adapters/redocly-loader/alias-limit.mjs.map +1 -0
- package/dist/adapters/redocly-loader/allowed-hosts.cjs +42 -0
- package/dist/adapters/redocly-loader/allowed-hosts.cjs.map +1 -0
- package/dist/adapters/redocly-loader/allowed-hosts.mjs +40 -0
- package/dist/adapters/redocly-loader/allowed-hosts.mjs.map +1 -0
- package/dist/adapters/redocly-loader/bundled-ref-repair.cjs +53 -0
- package/dist/adapters/redocly-loader/bundled-ref-repair.cjs.map +1 -0
- package/dist/adapters/redocly-loader/bundled-ref-repair.mjs +51 -0
- package/dist/adapters/redocly-loader/bundled-ref-repair.mjs.map +1 -0
- package/dist/adapters/redocly-loader/malformed-refs.cjs +41 -0
- package/dist/adapters/redocly-loader/malformed-refs.cjs.map +1 -0
- package/dist/adapters/redocly-loader/malformed-refs.mjs +38 -0
- package/dist/adapters/redocly-loader/malformed-refs.mjs.map +1 -0
- package/dist/adapters/redocly-loader/redocly-config-source.cjs +61 -0
- package/dist/adapters/redocly-loader/redocly-config-source.cjs.map +1 -0
- package/dist/adapters/redocly-loader/redocly-config-source.mjs +54 -0
- package/dist/adapters/redocly-loader/redocly-config-source.mjs.map +1 -0
- package/dist/adapters/redocly-loader/redocly-schema-loader.cjs +179 -0
- package/dist/adapters/redocly-loader/redocly-schema-loader.cjs.map +1 -0
- package/dist/adapters/redocly-loader/redocly-schema-loader.mjs +177 -0
- package/dist/adapters/redocly-loader/redocly-schema-loader.mjs.map +1 -0
- package/dist/adapters/redocly-loader/ref-access.cjs +107 -0
- package/dist/adapters/redocly-loader/ref-access.cjs.map +1 -0
- package/dist/adapters/redocly-loader/ref-access.mjs +99 -0
- package/dist/adapters/redocly-loader/ref-access.mjs.map +1 -0
- package/dist/adapters/redocly-loader/ref-holders.cjs +31 -0
- package/dist/adapters/redocly-loader/ref-holders.cjs.map +1 -0
- package/dist/adapters/redocly-loader/ref-holders.mjs +29 -0
- package/dist/adapters/redocly-loader/ref-holders.mjs.map +1 -0
- package/dist/adapters/redocly-loader/remote-fetch.cjs +60 -0
- package/dist/adapters/redocly-loader/remote-fetch.cjs.map +1 -0
- package/dist/adapters/redocly-loader/remote-fetch.mjs +56 -0
- package/dist/adapters/redocly-loader/remote-fetch.mjs.map +1 -0
- package/dist/adapters/redocly-loader/schema-load-errors.cjs +87 -0
- package/dist/adapters/redocly-loader/schema-load-errors.cjs.map +1 -0
- package/dist/adapters/redocly-loader/schema-load-errors.mjs +77 -0
- package/dist/adapters/redocly-loader/schema-load-errors.mjs.map +1 -0
- package/dist/adapters/redocly-loader/schema-source.cjs +104 -0
- package/dist/adapters/redocly-loader/schema-source.cjs.map +1 -0
- package/dist/adapters/redocly-loader/schema-source.mjs +98 -0
- package/dist/adapters/redocly-loader/schema-source.mjs.map +1 -0
- package/dist/adapters/redocly-loader/unsupported-keys.cjs +62 -0
- package/dist/adapters/redocly-loader/unsupported-keys.cjs.map +1 -0
- package/dist/adapters/redocly-loader/unsupported-keys.mjs +58 -0
- package/dist/adapters/redocly-loader/unsupported-keys.mjs.map +1 -0
- package/dist/adapters/terminal-logger/terminal-logger.cjs +67 -0
- package/dist/adapters/terminal-logger/terminal-logger.cjs.map +1 -0
- package/dist/adapters/terminal-logger/terminal-logger.mjs +59 -0
- package/dist/adapters/terminal-logger/terminal-logger.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/footer-nodes.cjs +21 -0
- package/dist/adapters/type-ast-bridge/footer-nodes.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/footer-nodes.mjs +17 -0
- package/dist/adapters/type-ast-bridge/footer-nodes.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/ir-declarations-to-typescript.cjs +75 -0
- package/dist/adapters/type-ast-bridge/ir-declarations-to-typescript.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/ir-declarations-to-typescript.mjs +71 -0
- package/dist/adapters/type-ast-bridge/ir-declarations-to-typescript.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/ir-to-typescript.cjs +148 -0
- package/dist/adapters/type-ast-bridge/ir-to-typescript.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/ir-to-typescript.mjs +142 -0
- package/dist/adapters/type-ast-bridge/ir-to-typescript.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/lazy-node.cjs +23 -0
- package/dist/adapters/type-ast-bridge/lazy-node.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/lazy-node.mjs +21 -0
- package/dist/adapters/type-ast-bridge/lazy-node.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/load-typescript.cjs +57 -0
- package/dist/adapters/type-ast-bridge/load-typescript.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/load-typescript.mjs +51 -0
- package/dist/adapters/type-ast-bridge/load-typescript.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/print-typescript.cjs +21 -0
- package/dist/adapters/type-ast-bridge/print-typescript.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/print-typescript.mjs +19 -0
- package/dist/adapters/type-ast-bridge/print-typescript.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/typescript-raw-text.cjs +33 -0
- package/dist/adapters/type-ast-bridge/typescript-raw-text.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/typescript-raw-text.mjs +29 -0
- package/dist/adapters/type-ast-bridge/typescript-raw-text.mjs.map +1 -0
- package/dist/adapters/type-ast-bridge/typescript-to-ir.cjs +210 -0
- package/dist/adapters/type-ast-bridge/typescript-to-ir.cjs.map +1 -0
- package/dist/adapters/type-ast-bridge/typescript-to-ir.mjs +207 -0
- package/dist/adapters/type-ast-bridge/typescript-to-ir.mjs.map +1 -0
- package/dist/api/ast-to-string.cjs +39 -0
- package/dist/api/ast-to-string.cjs.map +1 -0
- package/dist/api/ast-to-string.mjs +37 -0
- package/dist/api/ast-to-string.mjs.map +1 -0
- package/dist/api/comment-header.cjs +11 -0
- package/dist/api/comment-header.cjs.map +1 -0
- package/dist/api/comment-header.mjs +9 -0
- package/dist/api/comment-header.mjs.map +1 -0
- package/dist/api/default-ports.cjs +38 -0
- package/dist/api/default-ports.cjs.map +1 -0
- package/dist/api/default-ports.mjs +28 -0
- package/dist/api/default-ports.mjs.map +1 -0
- package/dist/api/discriminator-conflict-warnings.cjs +25 -0
- package/dist/api/discriminator-conflict-warnings.cjs.map +1 -0
- package/dist/api/discriminator-conflict-warnings.mjs +23 -0
- package/dist/api/discriminator-conflict-warnings.mjs.map +1 -0
- package/dist/api/discriminator-enum-names.cjs +19 -0
- package/dist/api/discriminator-enum-names.cjs.map +1 -0
- package/dist/api/discriminator-enum-names.mjs +17 -0
- package/dist/api/discriminator-enum-names.mjs.map +1 -0
- package/dist/api/discriminator-enum-parent.cjs +59 -0
- package/dist/api/discriminator-enum-parent.cjs.map +1 -0
- package/dist/api/discriminator-enum-parent.mjs +57 -0
- package/dist/api/discriminator-enum-parent.mjs.map +1 -0
- package/dist/api/discriminator-enum.cjs +69 -0
- package/dist/api/discriminator-enum.cjs.map +1 -0
- package/dist/api/discriminator-enum.mjs +66 -0
- package/dist/api/discriminator-enum.mjs.map +1 -0
- package/dist/api/discriminator-other-owners.cjs +67 -0
- package/dist/api/discriminator-other-owners.cjs.map +1 -0
- package/dist/api/discriminator-other-owners.mjs +64 -0
- package/dist/api/discriminator-other-owners.mjs.map +1 -0
- package/dist/api/discriminator-patch.cjs +88 -0
- package/dist/api/discriminator-patch.cjs.map +1 -0
- package/dist/api/discriminator-patch.mjs +82 -0
- package/dist/api/discriminator-patch.mjs.map +1 -0
- package/dist/api/discriminator-scan.cjs +153 -0
- package/dist/api/discriminator-scan.cjs.map +1 -0
- package/dist/api/discriminator-scan.mjs +150 -0
- package/dist/api/discriminator-scan.mjs.map +1 -0
- package/dist/api/document-declarations.cjs +28 -0
- package/dist/api/document-declarations.cjs.map +1 -0
- package/dist/api/document-declarations.mjs +26 -0
- package/dist/api/document-declarations.mjs.map +1 -0
- package/dist/api/document-refs.cjs +53 -0
- package/dist/api/document-refs.cjs.map +1 -0
- package/dist/api/document-refs.mjs +50 -0
- package/dist/api/document-refs.mjs.map +1 -0
- package/dist/api/document-run.cjs +122 -0
- package/dist/api/document-run.cjs.map +1 -0
- package/dist/api/document-run.mjs +116 -0
- package/dist/api/document-run.mjs.map +1 -0
- package/dist/api/enum-values-warnings.cjs +16 -0
- package/dist/api/enum-values-warnings.cjs.map +1 -0
- package/dist/api/enum-values-warnings.mjs +14 -0
- package/dist/api/enum-values-warnings.mjs.map +1 -0
- package/dist/api/footer-entry.cjs +18 -0
- package/dist/api/footer-entry.cjs.map +1 -0
- package/dist/api/footer-entry.mjs +15 -0
- package/dist/api/footer-entry.mjs.map +1 -0
- package/dist/api/footer-sink.cjs +53 -0
- package/dist/api/footer-sink.cjs.map +1 -0
- package/dist/api/footer-sink.mjs +51 -0
- package/dist/api/footer-sink.mjs.map +1 -0
- package/dist/api/legacy-callback-warning.cjs +25 -0
- package/dist/api/legacy-callback-warning.cjs.map +1 -0
- package/dist/api/legacy-callback-warning.mjs +22 -0
- package/dist/api/legacy-callback-warning.mjs.map +1 -0
- package/dist/api/legacy-ts-helpers.cjs +203 -0
- package/dist/api/legacy-ts-helpers.cjs.map +1 -0
- package/dist/api/legacy-ts-helpers.mjs +187 -0
- package/dist/api/legacy-ts-helpers.mjs.map +1 -0
- package/dist/api/legacy-utils.cjs +65 -0
- package/dist/api/legacy-utils.cjs.map +1 -0
- package/dist/api/legacy-utils.mjs +50 -0
- package/dist/api/legacy-utils.mjs.map +1 -0
- package/dist/api/openapi-ts.cjs +40 -0
- package/dist/api/openapi-ts.cjs.map +1 -0
- package/dist/api/openapi-ts.mjs +34 -0
- package/dist/api/openapi-ts.mjs.map +1 -0
- package/dist/api/path-template-warnings.cjs +21 -0
- package/dist/api/path-template-warnings.cjs.map +1 -0
- package/dist/api/path-template-warnings.mjs +19 -0
- package/dist/api/path-template-warnings.mjs.map +1 -0
- package/dist/api/schema-callbacks.cjs +140 -0
- package/dist/api/schema-callbacks.cjs.map +1 -0
- package/dist/api/schema-callbacks.mjs +136 -0
- package/dist/api/schema-callbacks.mjs.map +1 -0
- package/dist/api/string-to-ast.cjs +21 -0
- package/dist/api/string-to-ast.cjs.map +1 -0
- package/dist/api/string-to-ast.mjs +18 -0
- package/dist/api/string-to-ast.mjs.map +1 -0
- package/dist/api/transform-context.cjs +84 -0
- package/dist/api/transform-context.cjs.map +1 -0
- package/dist/api/transform-context.mjs +67 -0
- package/dist/api/transform-context.mjs.map +1 -0
- package/dist/api/transform-schema.cjs +80 -0
- package/dist/api/transform-schema.cjs.map +1 -0
- package/dist/api/transform-schema.mjs +75 -0
- package/dist/api/transform-schema.mjs.map +1 -0
- package/dist/api/type-helpers.cjs +85 -0
- package/dist/api/type-helpers.cjs.map +1 -0
- package/dist/api/type-helpers.mjs +66 -0
- package/dist/api/type-helpers.mjs.map +1 -0
- package/dist/api/unsupported-feature-warnings.cjs +22 -0
- package/dist/api/unsupported-feature-warnings.cjs.map +1 -0
- package/dist/api/unsupported-feature-warnings.mjs +20 -0
- package/dist/api/unsupported-feature-warnings.mjs.map +1 -0
- package/dist/application/print/comment-writer.cjs +95 -0
- package/dist/application/print/comment-writer.cjs.map +1 -0
- package/dist/application/print/comment-writer.mjs +93 -0
- package/dist/application/print/comment-writer.mjs.map +1 -0
- package/dist/application/print/declaration-printer.cjs +83 -0
- package/dist/application/print/declaration-printer.cjs.map +1 -0
- package/dist/application/print/declaration-printer.mjs +81 -0
- package/dist/application/print/declaration-printer.mjs.map +1 -0
- package/dist/application/print/literal-text.cjs +52 -0
- package/dist/application/print/literal-text.cjs.map +1 -0
- package/dist/application/print/literal-text.mjs +48 -0
- package/dist/application/print/literal-text.mjs.map +1 -0
- package/dist/application/print/print-nodes.cjs +38 -0
- package/dist/application/print/print-nodes.cjs.map +1 -0
- package/dist/application/print/print-nodes.mjs +36 -0
- package/dist/application/print/print-nodes.mjs.map +1 -0
- package/dist/application/print/print-options.cjs +6 -0
- package/dist/application/print/print-options.cjs.map +1 -0
- package/dist/application/print/print-options.mjs +4 -0
- package/dist/application/print/print-options.mjs.map +1 -0
- package/dist/application/print/text-writer.cjs +63 -0
- package/dist/application/print/text-writer.cjs.map +1 -0
- package/dist/application/print/text-writer.mjs +60 -0
- package/dist/application/print/text-writer.mjs.map +1 -0
- package/dist/application/print/type-printer.cjs +219 -0
- package/dist/application/print/type-printer.cjs.map +1 -0
- package/dist/application/print/type-printer.mjs +215 -0
- package/dist/application/print/type-printer.mjs.map +1 -0
- package/dist/application/stack-overflow.cjs +36 -0
- package/dist/application/stack-overflow.cjs.map +1 -0
- package/dist/application/stack-overflow.mjs +31 -0
- package/dist/application/stack-overflow.mjs.map +1 -0
- package/dist/application/transform/document/assignability.cjs +144 -0
- package/dist/application/transform/document/assignability.cjs.map +1 -0
- package/dist/application/transform/document/assignability.mjs +138 -0
- package/dist/application/transform/document/assignability.mjs.map +1 -0
- package/dist/application/transform/document/components.cjs +104 -0
- package/dist/application/transform/document/components.cjs.map +1 -0
- package/dist/application/transform/document/components.mjs +102 -0
- package/dist/application/transform/document/components.mjs.map +1 -0
- package/dist/application/transform/document/declared-types.cjs +66 -0
- package/dist/application/transform/document/declared-types.cjs.map +1 -0
- package/dist/application/transform/document/declared-types.mjs +63 -0
- package/dist/application/transform/document/declared-types.mjs.map +1 -0
- package/dist/application/transform/document/defs-root.cjs +18 -0
- package/dist/application/transform/document/defs-root.cjs.map +1 -0
- package/dist/application/transform/document/defs-root.mjs +16 -0
- package/dist/application/transform/document/defs-root.mjs.map +1 -0
- package/dist/application/transform/document/document-member.cjs +13 -0
- package/dist/application/transform/document/document-member.cjs.map +1 -0
- package/dist/application/transform/document/document-member.mjs +11 -0
- package/dist/application/transform/document/document-member.mjs.map +1 -0
- package/dist/application/transform/document/document.cjs +109 -0
- package/dist/application/transform/document/document.cjs.map +1 -0
- package/dist/application/transform/document/document.mjs +106 -0
- package/dist/application/transform/document/document.mjs.map +1 -0
- package/dist/application/transform/document/exploded-query.cjs +46 -0
- package/dist/application/transform/document/exploded-query.cjs.map +1 -0
- package/dist/application/transform/document/exploded-query.mjs +43 -0
- package/dist/application/transform/document/exploded-query.mjs.map +1 -0
- package/dist/application/transform/document/global-type-references.cjs +63 -0
- package/dist/application/transform/document/global-type-references.cjs.map +1 -0
- package/dist/application/transform/document/global-type-references.mjs +61 -0
- package/dist/application/transform/document/global-type-references.mjs.map +1 -0
- package/dist/application/transform/document/header.cjs +27 -0
- package/dist/application/transform/document/header.cjs.map +1 -0
- package/dist/application/transform/document/header.mjs +25 -0
- package/dist/application/transform/document/header.mjs.map +1 -0
- package/dist/application/transform/document/kept-deprecated.cjs +96 -0
- package/dist/application/transform/document/kept-deprecated.cjs.map +1 -0
- package/dist/application/transform/document/kept-deprecated.mjs +94 -0
- package/dist/application/transform/document/kept-deprecated.mjs.map +1 -0
- package/dist/application/transform/document/list-assignability.cjs +54 -0
- package/dist/application/transform/document/list-assignability.cjs.map +1 -0
- package/dist/application/transform/document/list-assignability.mjs +52 -0
- package/dist/application/transform/document/list-assignability.mjs.map +1 -0
- package/dist/application/transform/document/media-type.cjs +42 -0
- package/dist/application/transform/document/media-type.cjs.map +1 -0
- package/dist/application/transform/document/media-type.mjs +38 -0
- package/dist/application/transform/document/media-type.mjs.map +1 -0
- package/dist/application/transform/document/operation.cjs +45 -0
- package/dist/application/transform/document/operation.cjs.map +1 -0
- package/dist/application/transform/document/operation.mjs +43 -0
- package/dist/application/transform/document/operation.mjs.map +1 -0
- package/dist/application/transform/document/parameter.cjs +25 -0
- package/dist/application/transform/document/parameter.cjs.map +1 -0
- package/dist/application/transform/document/parameter.mjs +23 -0
- package/dist/application/transform/document/parameter.mjs.map +1 -0
- package/dist/application/transform/document/parameters.cjs +146 -0
- package/dist/application/transform/document/parameters.cjs.map +1 -0
- package/dist/application/transform/document/parameters.mjs +144 -0
- package/dist/application/transform/document/parameters.mjs.map +1 -0
- package/dist/application/transform/document/path-item.cjs +82 -0
- package/dist/application/transform/document/path-item.cjs.map +1 -0
- package/dist/application/transform/document/path-item.mjs +80 -0
- package/dist/application/transform/document/path-item.mjs.map +1 -0
- package/dist/application/transform/document/path-key-overlaps.cjs +107 -0
- package/dist/application/transform/document/path-key-overlaps.cjs.map +1 -0
- package/dist/application/transform/document/path-key-overlaps.mjs +105 -0
- package/dist/application/transform/document/path-key-overlaps.mjs.map +1 -0
- package/dist/application/transform/document/path-template-replace.cjs +48 -0
- package/dist/application/transform/document/path-template-replace.cjs.map +1 -0
- package/dist/application/transform/document/path-template-replace.mjs +45 -0
- package/dist/application/transform/document/path-template-replace.mjs.map +1 -0
- package/dist/application/transform/document/paths-enum.cjs +75 -0
- package/dist/application/transform/document/paths-enum.cjs.map +1 -0
- package/dist/application/transform/document/paths-enum.mjs +72 -0
- package/dist/application/transform/document/paths-enum.mjs.map +1 -0
- package/dist/application/transform/document/paths.cjs +153 -0
- package/dist/application/transform/document/paths.cjs.map +1 -0
- package/dist/application/transform/document/paths.mjs +149 -0
- package/dist/application/transform/document/paths.mjs.map +1 -0
- package/dist/application/transform/document/request-body.cjs +36 -0
- package/dist/application/transform/document/request-body.cjs.map +1 -0
- package/dist/application/transform/document/request-body.mjs +34 -0
- package/dist/application/transform/document/request-body.mjs.map +1 -0
- package/dist/application/transform/document/response.cjs +59 -0
- package/dist/application/transform/document/response.cjs.map +1 -0
- package/dist/application/transform/document/response.mjs +57 -0
- package/dist/application/transform/document/response.mjs.map +1 -0
- package/dist/application/transform/document/responses.cjs +23 -0
- package/dist/application/transform/document/responses.cjs.map +1 -0
- package/dist/application/transform/document/responses.mjs +21 -0
- package/dist/application/transform/document/responses.mjs.map +1 -0
- package/dist/application/transform/document/root-type-aliases.cjs +70 -0
- package/dist/application/transform/document/root-type-aliases.cjs.map +1 -0
- package/dist/application/transform/document/root-type-aliases.mjs +67 -0
- package/dist/application/transform/document/root-type-aliases.mjs.map +1 -0
- package/dist/application/transform/document/template-key-match.cjs +128 -0
- package/dist/application/transform/document/template-key-match.cjs.map +1 -0
- package/dist/application/transform/document/template-key-match.mjs +125 -0
- package/dist/application/transform/document/template-key-match.mjs.map +1 -0
- package/dist/application/transform/document/type-assignability.cjs +192 -0
- package/dist/application/transform/document/type-assignability.cjs.map +1 -0
- package/dist/application/transform/document/type-assignability.mjs +190 -0
- package/dist/application/transform/document/type-assignability.mjs.map +1 -0
- package/dist/application/transform/document/type-key.cjs +70 -0
- package/dist/application/transform/document/type-key.cjs.map +1 -0
- package/dist/application/transform/document/type-key.mjs +68 -0
- package/dist/application/transform/document/type-key.mjs.map +1 -0
- package/dist/application/transform/document/type-resolution.cjs +131 -0
- package/dist/application/transform/document/type-resolution.cjs.map +1 -0
- package/dist/application/transform/document/type-resolution.mjs +125 -0
- package/dist/application/transform/document/type-resolution.mjs.map +1 -0
- package/dist/application/transform/document/webhooks.cjs +19 -0
- package/dist/application/transform/document/webhooks.cjs.map +1 -0
- package/dist/application/transform/document/webhooks.mjs +17 -0
- package/dist/application/transform/document/webhooks.mjs.map +1 -0
- package/dist/application/transform/document-entries.cjs +17 -0
- package/dist/application/transform/document-entries.cjs.map +1 -0
- package/dist/application/transform/document-entries.mjs +14 -0
- package/dist/application/transform/document-entries.mjs.map +1 -0
- package/dist/application/transform/footer/document-footer.cjs +150 -0
- package/dist/application/transform/footer/document-footer.cjs.map +1 -0
- package/dist/application/transform/footer/document-footer.mjs +148 -0
- package/dist/application/transform/footer/document-footer.mjs.map +1 -0
- package/dist/application/transform/footer/enum-naming.cjs +138 -0
- package/dist/application/transform/footer/enum-naming.cjs.map +1 -0
- package/dist/application/transform/footer/enum-naming.mjs +131 -0
- package/dist/application/transform/footer/enum-naming.mjs.map +1 -0
- package/dist/application/transform/footer/enum-values-check.cjs +129 -0
- package/dist/application/transform/footer/enum-values-check.cjs.map +1 -0
- package/dist/application/transform/footer/enum-values-check.mjs +127 -0
- package/dist/application/transform/footer/enum-values-check.mjs.map +1 -0
- package/dist/application/transform/footer/evaluation.cjs +33 -0
- package/dist/application/transform/footer/evaluation.cjs.map +1 -0
- package/dist/application/transform/footer/evaluation.mjs +26 -0
- package/dist/application/transform/footer/evaluation.mjs.map +1 -0
- package/dist/application/transform/footer/shared-enum-names.cjs +60 -0
- package/dist/application/transform/footer/shared-enum-names.cjs.map +1 -0
- package/dist/application/transform/footer/shared-enum-names.mjs +57 -0
- package/dist/application/transform/footer/shared-enum-names.mjs.map +1 -0
- package/dist/application/transform/footer/type-evaluation.cjs +246 -0
- package/dist/application/transform/footer/type-evaluation.cjs.map +1 -0
- package/dist/application/transform/footer/type-evaluation.mjs +244 -0
- package/dist/application/transform/footer/type-evaluation.mjs.map +1 -0
- package/dist/application/transform/footer/type-rules.cjs +172 -0
- package/dist/application/transform/footer/type-rules.cjs.map +1 -0
- package/dist/application/transform/footer/type-rules.mjs +166 -0
- package/dist/application/transform/footer/type-rules.mjs.map +1 -0
- package/dist/application/transform/helper-types.cjs +68 -0
- package/dist/application/transform/helper-types.cjs.map +1 -0
- package/dist/application/transform/helper-types.mjs +65 -0
- package/dist/application/transform/helper-types.mjs.map +1 -0
- package/dist/application/transform/literal-type.cjs +36 -0
- package/dist/application/transform/literal-type.cjs.map +1 -0
- package/dist/application/transform/literal-type.mjs +34 -0
- package/dist/application/transform/literal-type.mjs.map +1 -0
- package/dist/application/transform/numbered-names.cjs +18 -0
- package/dist/application/transform/numbered-names.cjs.map +1 -0
- package/dist/application/transform/numbered-names.mjs +16 -0
- package/dist/application/transform/numbered-names.mjs.map +1 -0
- package/dist/application/transform/ref-pointer/generated-location.cjs +138 -0
- package/dist/application/transform/ref-pointer/generated-location.cjs.map +1 -0
- package/dist/application/transform/ref-pointer/generated-location.mjs +136 -0
- package/dist/application/transform/ref-pointer/generated-location.mjs.map +1 -0
- package/dist/application/transform/ref-pointer/generated-shape.cjs +171 -0
- package/dist/application/transform/ref-pointer/generated-shape.cjs.map +1 -0
- package/dist/application/transform/ref-pointer/generated-shape.mjs +162 -0
- package/dist/application/transform/ref-pointer/generated-shape.mjs.map +1 -0
- package/dist/application/transform/ref-pointer/inline-cycles.cjs +44 -0
- package/dist/application/transform/ref-pointer/inline-cycles.cjs.map +1 -0
- package/dist/application/transform/ref-pointer/inline-cycles.mjs +42 -0
- package/dist/application/transform/ref-pointer/inline-cycles.mjs.map +1 -0
- package/dist/application/transform/ref-pointer/original-index.cjs +62 -0
- package/dist/application/transform/ref-pointer/original-index.cjs.map +1 -0
- package/dist/application/transform/ref-pointer/original-index.mjs +60 -0
- package/dist/application/transform/ref-pointer/original-index.mjs.map +1 -0
- package/dist/application/transform/ref-pointer/pointer-type.cjs +60 -0
- package/dist/application/transform/ref-pointer/pointer-type.cjs.map +1 -0
- package/dist/application/transform/ref-pointer/pointer-type.mjs +57 -0
- package/dist/application/transform/ref-pointer/pointer-type.mjs.map +1 -0
- package/dist/application/transform/ref-pointer/pointer-walk.cjs +66 -0
- package/dist/application/transform/ref-pointer/pointer-walk.cjs.map +1 -0
- package/dist/application/transform/ref-pointer/pointer-walk.mjs +56 -0
- package/dist/application/transform/ref-pointer/pointer-walk.mjs.map +1 -0
- package/dist/application/transform/ref-pointer/typed-walk.cjs +124 -0
- package/dist/application/transform/ref-pointer/typed-walk.cjs.map +1 -0
- package/dist/application/transform/ref-pointer/typed-walk.mjs +122 -0
- package/dist/application/transform/ref-pointer/typed-walk.mjs.map +1 -0
- package/dist/application/transform/ref-type.cjs +62 -0
- package/dist/application/transform/ref-type.cjs.map +1 -0
- package/dist/application/transform/ref-type.mjs +55 -0
- package/dist/application/transform/ref-type.mjs.map +1 -0
- package/dist/application/transform/schema/access-flags.cjs +38 -0
- package/dist/application/transform/schema/access-flags.cjs.map +1 -0
- package/dist/application/transform/schema/access-flags.mjs +36 -0
- package/dist/application/transform/schema/access-flags.mjs.map +1 -0
- package/dist/application/transform/schema/array-type.cjs +136 -0
- package/dist/application/transform/schema/array-type.cjs.map +1 -0
- package/dist/application/transform/schema/array-type.mjs +134 -0
- package/dist/application/transform/schema/array-type.mjs.map +1 -0
- package/dist/application/transform/schema/composition-type.cjs +142 -0
- package/dist/application/transform/schema/composition-type.cjs.map +1 -0
- package/dist/application/transform/schema/composition-type.mjs +140 -0
- package/dist/application/transform/schema/composition-type.mjs.map +1 -0
- package/dist/application/transform/schema/core-type.cjs +86 -0
- package/dist/application/transform/schema/core-type.cjs.map +1 -0
- package/dist/application/transform/schema/core-type.mjs +84 -0
- package/dist/application/transform/schema/core-type.mjs.map +1 -0
- package/dist/application/transform/schema/discriminated-union.cjs +30 -0
- package/dist/application/transform/schema/discriminated-union.cjs.map +1 -0
- package/dist/application/transform/schema/discriminated-union.mjs +27 -0
- package/dist/application/transform/schema/discriminated-union.mjs.map +1 -0
- package/dist/application/transform/schema/discriminator-property.cjs +22 -0
- package/dist/application/transform/schema/discriminator-property.cjs.map +1 -0
- package/dist/application/transform/schema/discriminator-property.mjs +20 -0
- package/dist/application/transform/schema/discriminator-property.mjs.map +1 -0
- package/dist/application/transform/schema/enum-rule.cjs +163 -0
- package/dist/application/transform/schema/enum-rule.cjs.map +1 -0
- package/dist/application/transform/schema/enum-rule.mjs +160 -0
- package/dist/application/transform/schema/enum-rule.mjs.map +1 -0
- package/dist/application/transform/schema/inherited-discriminator.cjs +29 -0
- package/dist/application/transform/schema/inherited-discriminator.cjs.map +1 -0
- package/dist/application/transform/schema/inherited-discriminator.mjs +26 -0
- package/dist/application/transform/schema/inherited-discriminator.mjs.map +1 -0
- package/dist/application/transform/schema/object-type.cjs +186 -0
- package/dist/application/transform/schema/object-type.cjs.map +1 -0
- package/dist/application/transform/schema/object-type.mjs +182 -0
- package/dist/application/transform/schema/object-type.mjs.map +1 -0
- package/dist/application/transform/schema/presence-members.cjs +59 -0
- package/dist/application/transform/schema/presence-members.cjs.map +1 -0
- package/dist/application/transform/schema/presence-members.mjs +57 -0
- package/dist/application/transform/schema/presence-members.mjs.map +1 -0
- package/dist/application/transform/schema/required-variants.cjs +45 -0
- package/dist/application/transform/schema/required-variants.cjs.map +1 -0
- package/dist/application/transform/schema/required-variants.mjs +42 -0
- package/dist/application/transform/schema/required-variants.mjs.map +1 -0
- package/dist/application/transform/schema/schema-transform.cjs +72 -0
- package/dist/application/transform/schema/schema-transform.cjs.map +1 -0
- package/dist/application/transform/schema/schema-transform.mjs +68 -0
- package/dist/application/transform/schema/schema-transform.mjs.map +1 -0
- package/dist/application/transform/schema/unevaluated-properties.cjs +61 -0
- package/dist/application/transform/schema/unevaluated-properties.cjs.map +1 -0
- package/dist/application/transform/schema/unevaluated-properties.mjs +59 -0
- package/dist/application/transform/schema/unevaluated-properties.mjs.map +1 -0
- package/dist/application/transform/schema-comment.cjs +130 -0
- package/dist/application/transform/schema-comment.cjs.map +1 -0
- package/dist/application/transform/schema-comment.mjs +125 -0
- package/dist/application/transform/schema-comment.mjs.map +1 -0
- package/dist/application/transform/shared-types.cjs +8 -0
- package/dist/application/transform/shared-types.cjs.map +1 -0
- package/dist/application/transform/shared-types.mjs +6 -0
- package/dist/application/transform/shared-types.mjs.map +1 -0
- package/dist/application/transform/type-combinators.cjs +49 -0
- package/dist/application/transform/type-combinators.cjs.map +1 -0
- package/dist/application/transform/type-combinators.mjs +42 -0
- package/dist/application/transform/type-combinators.mjs.map +1 -0
- package/dist/cli/cli-arguments.cjs +145 -0
- package/dist/cli/cli-arguments.cjs.map +1 -0
- package/dist/cli/cli-arguments.mjs +137 -0
- package/dist/cli/cli-arguments.mjs.map +1 -0
- package/dist/cli/cli-errors.cjs +81 -0
- package/dist/cli/cli-errors.cjs.map +1 -0
- package/dist/cli/cli-errors.mjs +77 -0
- package/dist/cli/cli-errors.mjs.map +1 -0
- package/dist/cli/cli-output.cjs +42 -0
- package/dist/cli/cli-output.cjs.map +1 -0
- package/dist/cli/cli-output.mjs +35 -0
- package/dist/cli/cli-output.mjs.map +1 -0
- package/dist/cli/docs-links.cjs +6 -0
- package/dist/cli/docs-links.cjs.map +1 -0
- package/dist/cli/docs-links.mjs +4 -0
- package/dist/cli/docs-links.mjs.map +1 -0
- package/dist/cli/fix-option.cjs +19 -0
- package/dist/cli/fix-option.cjs.map +1 -0
- package/dist/cli/fix-option.mjs +16 -0
- package/dist/cli/fix-option.mjs.map +1 -0
- package/dist/cli/help-text.cjs +44 -0
- package/dist/cli/help-text.cjs.map +1 -0
- package/dist/cli/help-text.mjs +42 -0
- package/dist/cli/help-text.mjs.map +1 -0
- package/dist/cli/main.cjs +67 -0
- package/dist/cli/main.cjs.map +1 -0
- package/dist/cli/main.d.cts +2 -0
- package/dist/cli/main.d.mts +2 -0
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.mjs +59 -0
- package/dist/cli/main.mjs.map +1 -0
- package/dist/cli/redocly-apis.cjs +69 -0
- package/dist/cli/redocly-apis.cjs.map +1 -0
- package/dist/cli/redocly-apis.mjs +66 -0
- package/dist/cli/redocly-apis.mjs.map +1 -0
- package/dist/cli/ref-limits.cjs +14 -0
- package/dist/cli/ref-limits.cjs.map +1 -0
- package/dist/cli/ref-limits.mjs +12 -0
- package/dist/cli/ref-limits.mjs.map +1 -0
- package/dist/cli/run-cli.cjs +113 -0
- package/dist/cli/run-cli.cjs.map +1 -0
- package/dist/cli/run-cli.mjs +111 -0
- package/dist/cli/run-cli.mjs.map +1 -0
- package/dist/domain/assert-never.cjs +8 -0
- package/dist/domain/assert-never.cjs.map +1 -0
- package/dist/domain/assert-never.mjs +6 -0
- package/dist/domain/assert-never.mjs.map +1 -0
- package/dist/domain/errors.cjs +52 -0
- package/dist/domain/errors.cjs.map +1 -0
- package/dist/domain/errors.mjs +48 -0
- package/dist/domain/errors.mjs.map +1 -0
- package/dist/domain/ir/constructors.cjs +93 -0
- package/dist/domain/ir/constructors.cjs.map +1 -0
- package/dist/domain/ir/constructors.mjs +74 -0
- package/dist/domain/ir/constructors.mjs.map +1 -0
- package/dist/domain/ir/identifier-text.cjs +29 -0
- package/dist/domain/ir/identifier-text.cjs.map +1 -0
- package/dist/domain/ir/identifier-text.mjs +25 -0
- package/dist/domain/ir/identifier-text.mjs.map +1 -0
- package/dist/domain/ir/newer-identifier-ranges.cjs +109 -0
- package/dist/domain/ir/newer-identifier-ranges.cjs.map +1 -0
- package/dist/domain/ir/newer-identifier-ranges.mjs +106 -0
- package/dist/domain/ir/newer-identifier-ranges.mjs.map +1 -0
- package/dist/domain/ir/normalize.cjs +32 -0
- package/dist/domain/ir/normalize.cjs.map +1 -0
- package/dist/domain/ir/normalize.mjs +29 -0
- package/dist/domain/ir/normalize.mjs.map +1 -0
- package/dist/domain/ir/property-name.cjs +19 -0
- package/dist/domain/ir/property-name.cjs.map +1 -0
- package/dist/domain/ir/property-name.mjs +16 -0
- package/dist/domain/ir/property-name.mjs.map +1 -0
- package/dist/domain/ir/raw-text-escapes.cjs +25 -0
- package/dist/domain/ir/raw-text-escapes.cjs.map +1 -0
- package/dist/domain/ir/raw-text-escapes.mjs +22 -0
- package/dist/domain/ir/raw-text-escapes.mjs.map +1 -0
- package/dist/domain/openapi/admitted-values.cjs +75 -0
- package/dist/domain/openapi/admitted-values.cjs.map +1 -0
- package/dist/domain/openapi/admitted-values.mjs +72 -0
- package/dist/domain/openapi/admitted-values.mjs.map +1 -0
- package/dist/domain/openapi/alias-expansion.cjs +50 -0
- package/dist/domain/openapi/alias-expansion.cjs.map +1 -0
- package/dist/domain/openapi/alias-expansion.mjs +45 -0
- package/dist/domain/openapi/alias-expansion.mjs.map +1 -0
- package/dist/domain/openapi/binary-content.cjs +48 -0
- package/dist/domain/openapi/binary-content.cjs.map +1 -0
- package/dist/domain/openapi/binary-content.mjs +45 -0
- package/dist/domain/openapi/binary-content.mjs.map +1 -0
- package/dist/domain/openapi/components-object.cjs +29 -0
- package/dist/domain/openapi/components-object.cjs.map +1 -0
- package/dist/domain/openapi/components-object.mjs +24 -0
- package/dist/domain/openapi/components-object.mjs.map +1 -0
- package/dist/domain/openapi/discriminated-union.cjs +68 -0
- package/dist/domain/openapi/discriminated-union.cjs.map +1 -0
- package/dist/domain/openapi/discriminated-union.mjs +62 -0
- package/dist/domain/openapi/discriminated-union.mjs.map +1 -0
- package/dist/domain/openapi/discriminator-conflicts.cjs +143 -0
- package/dist/domain/openapi/discriminator-conflicts.cjs.map +1 -0
- package/dist/domain/openapi/discriminator-conflicts.mjs +141 -0
- package/dist/domain/openapi/discriminator-conflicts.mjs.map +1 -0
- package/dist/domain/openapi/json-pointer.cjs +31 -0
- package/dist/domain/openapi/json-pointer.cjs.map +1 -0
- package/dist/domain/openapi/json-pointer.mjs +27 -0
- package/dist/domain/openapi/json-pointer.mjs.map +1 -0
- package/dist/domain/openapi/media-type-object.cjs +14 -0
- package/dist/domain/openapi/media-type-object.cjs.map +1 -0
- package/dist/domain/openapi/media-type-object.mjs +11 -0
- package/dist/domain/openapi/media-type-object.mjs.map +1 -0
- package/dist/domain/openapi/parameter-object.cjs +13 -0
- package/dist/domain/openapi/parameter-object.cjs.map +1 -0
- package/dist/domain/openapi/parameter-object.mjs +10 -0
- package/dist/domain/openapi/parameter-object.mjs.map +1 -0
- package/dist/domain/openapi/path-item-object.cjs +35 -0
- package/dist/domain/openapi/path-item-object.cjs.map +1 -0
- package/dist/domain/openapi/path-item-object.mjs +30 -0
- package/dist/domain/openapi/path-item-object.mjs.map +1 -0
- package/dist/domain/openapi/path-templates.cjs +23 -0
- package/dist/domain/openapi/path-templates.cjs.map +1 -0
- package/dist/domain/openapi/path-templates.mjs +21 -0
- package/dist/domain/openapi/path-templates.mjs.map +1 -0
- package/dist/domain/openapi/unsupported-features.cjs +87 -0
- package/dist/domain/openapi/unsupported-features.cjs.map +1 -0
- package/dist/domain/openapi/unsupported-features.mjs +84 -0
- package/dist/domain/openapi/unsupported-features.mjs.map +1 -0
- package/dist/domain/output-fixes.cjs +101 -0
- package/dist/domain/output-fixes.cjs.map +1 -0
- package/dist/domain/output-fixes.mjs +94 -0
- package/dist/domain/output-fixes.mjs.map +1 -0
- package/dist/domain/warnings.cjs +15 -0
- package/dist/domain/warnings.cjs.map +1 -0
- package/dist/domain/warnings.mjs +12 -0
- package/dist/domain/warnings.mjs.map +1 -0
- package/dist/index.cjs +98 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +841 -0
- package/dist/index.d.mts +841 -0
- package/dist/index.d.ts +841 -0
- package/dist/index.mjs +27 -0
- package/dist/index.mjs.map +1 -0
- package/dist/transform/components-object.cjs +15 -0
- package/dist/transform/components-object.cjs.map +1 -0
- package/dist/transform/components-object.mjs +11 -0
- package/dist/transform/components-object.mjs.map +1 -0
- package/dist/transform/header-object.cjs +12 -0
- package/dist/transform/header-object.cjs.map +1 -0
- package/dist/transform/header-object.mjs +10 -0
- package/dist/transform/header-object.mjs.map +1 -0
- package/dist/transform/media-type-object.cjs +12 -0
- package/dist/transform/media-type-object.cjs.map +1 -0
- package/dist/transform/media-type-object.mjs +10 -0
- package/dist/transform/media-type-object.mjs.map +1 -0
- package/dist/transform/operation-object.cjs +26 -0
- package/dist/transform/operation-object.cjs.map +1 -0
- package/dist/transform/operation-object.mjs +21 -0
- package/dist/transform/operation-object.mjs.map +1 -0
- package/dist/transform/parameter-object.cjs +12 -0
- package/dist/transform/parameter-object.cjs.map +1 -0
- package/dist/transform/parameter-object.mjs +10 -0
- package/dist/transform/parameter-object.mjs.map +1 -0
- package/dist/transform/path-item-object.cjs +12 -0
- package/dist/transform/path-item-object.cjs.map +1 -0
- package/dist/transform/path-item-object.mjs +10 -0
- package/dist/transform/path-item-object.mjs.map +1 -0
- package/dist/transform/paths-object.cjs +11 -0
- package/dist/transform/paths-object.cjs.map +1 -0
- package/dist/transform/paths-object.mjs +9 -0
- package/dist/transform/paths-object.mjs.map +1 -0
- package/dist/transform/request-body-object.cjs +12 -0
- package/dist/transform/request-body-object.cjs.map +1 -0
- package/dist/transform/request-body-object.mjs +10 -0
- package/dist/transform/request-body-object.mjs.map +1 -0
- package/dist/transform/response-object.cjs +12 -0
- package/dist/transform/response-object.cjs.map +1 -0
- package/dist/transform/response-object.mjs +10 -0
- package/dist/transform/response-object.mjs.map +1 -0
- package/dist/transform/responses-object.cjs +12 -0
- package/dist/transform/responses-object.cjs.map +1 -0
- package/dist/transform/responses-object.mjs +10 -0
- package/dist/transform/responses-object.mjs.map +1 -0
- package/dist/transform/schema-object.cjs +21 -0
- package/dist/transform/schema-object.cjs.map +1 -0
- package/dist/transform/schema-object.mjs +16 -0
- package/dist/transform/schema-object.mjs.map +1 -0
- package/package.json +115 -4
- package/src/adapters/node-file-system/node-file-system.ts +44 -0
- package/src/adapters/redocly-loader/alias-limit.ts +20 -0
- package/src/adapters/redocly-loader/allowed-hosts.ts +62 -0
- package/src/adapters/redocly-loader/bundled-ref-repair.ts +65 -0
- package/src/adapters/redocly-loader/malformed-refs.ts +61 -0
- package/src/adapters/redocly-loader/redocly-config-source.ts +78 -0
- package/src/adapters/redocly-loader/redocly-schema-loader.ts +262 -0
- package/src/adapters/redocly-loader/ref-access.ts +146 -0
- package/src/adapters/redocly-loader/ref-holders.ts +43 -0
- package/src/adapters/redocly-loader/remote-fetch.ts +104 -0
- package/src/adapters/redocly-loader/schema-load-errors.ts +124 -0
- package/src/adapters/redocly-loader/schema-source.ts +151 -0
- package/src/adapters/redocly-loader/unsupported-keys.ts +102 -0
- package/src/adapters/terminal-logger/terminal-logger.ts +98 -0
- package/src/adapters/type-ast-bridge/footer-nodes.ts +38 -0
- package/src/adapters/type-ast-bridge/ir-declarations-to-typescript.ts +100 -0
- package/src/adapters/type-ast-bridge/ir-to-typescript.ts +223 -0
- package/src/adapters/type-ast-bridge/lazy-node.ts +24 -0
- package/src/adapters/type-ast-bridge/load-typescript.ts +84 -0
- package/src/adapters/type-ast-bridge/print-typescript.ts +33 -0
- package/src/adapters/type-ast-bridge/typescript-raw-text.ts +49 -0
- package/src/adapters/type-ast-bridge/typescript-to-ir.ts +294 -0
- package/src/adapters/type-ast-bridge/typescript-types.ts +8 -0
- package/src/api/ast-to-string.ts +59 -0
- package/src/api/comment-header.ts +7 -0
- package/src/api/default-ports.ts +44 -0
- package/src/api/discriminator-conflict-warnings.ts +43 -0
- package/src/api/discriminator-enum-names.ts +26 -0
- package/src/api/discriminator-enum-parent.ts +129 -0
- package/src/api/discriminator-enum.ts +115 -0
- package/src/api/discriminator-other-owners.ts +97 -0
- package/src/api/discriminator-patch.ts +147 -0
- package/src/api/discriminator-scan.ts +260 -0
- package/src/api/document-declarations.ts +41 -0
- package/src/api/document-refs.ts +71 -0
- package/src/api/document-run.ts +177 -0
- package/src/api/enum-values-warnings.ts +21 -0
- package/src/api/footer-entry.ts +23 -0
- package/src/api/footer-sink.ts +67 -0
- package/src/api/legacy-callback-warning.ts +29 -0
- package/src/api/legacy-ts-helpers.ts +311 -0
- package/src/api/legacy-utils.ts +118 -0
- package/src/api/openapi-ts.ts +62 -0
- package/src/api/path-template-warnings.ts +27 -0
- package/src/api/schema-callbacks.ts +211 -0
- package/src/api/string-to-ast.ts +27 -0
- package/src/api/transform-context.ts +93 -0
- package/src/api/transform-schema.ts +123 -0
- package/src/api/type-helpers.ts +130 -0
- package/src/api/unsupported-feature-warnings.ts +33 -0
- package/src/application/ports/file-system.ts +12 -0
- package/src/application/ports/logger.ts +16 -0
- package/src/application/ports/redocly-config-source.ts +20 -0
- package/src/application/ports/schema-loader.ts +32 -0
- package/src/application/print/comment-writer.ts +91 -0
- package/src/application/print/declaration-printer.ts +100 -0
- package/src/application/print/literal-text.ts +62 -0
- package/src/application/print/print-nodes.ts +62 -0
- package/src/application/print/print-options.ts +11 -0
- package/src/application/print/text-writer.ts +83 -0
- package/src/application/print/type-printer.ts +287 -0
- package/src/application/stack-overflow.ts +54 -0
- package/src/application/transform/document/assignability.ts +203 -0
- package/src/application/transform/document/components.ts +189 -0
- package/src/application/transform/document/declared-types.ts +93 -0
- package/src/application/transform/document/defs-root.ts +25 -0
- package/src/application/transform/document/document-member.ts +20 -0
- package/src/application/transform/document/document.ts +215 -0
- package/src/application/transform/document/exploded-query.ts +91 -0
- package/src/application/transform/document/global-type-references.ts +78 -0
- package/src/application/transform/document/header.ts +34 -0
- package/src/application/transform/document/kept-deprecated.ts +135 -0
- package/src/application/transform/document/list-assignability.ts +87 -0
- package/src/application/transform/document/media-type.ts +78 -0
- package/src/application/transform/document/operation.ts +64 -0
- package/src/application/transform/document/parameter.ts +45 -0
- package/src/application/transform/document/parameters.ts +265 -0
- package/src/application/transform/document/path-item.ts +168 -0
- package/src/application/transform/document/path-key-overlaps.ts +201 -0
- package/src/application/transform/document/path-template-replace.ts +90 -0
- package/src/application/transform/document/paths-enum.ts +127 -0
- package/src/application/transform/document/paths.ts +273 -0
- package/src/application/transform/document/request-body.ts +50 -0
- package/src/application/transform/document/response.ts +109 -0
- package/src/application/transform/document/responses.ts +29 -0
- package/src/application/transform/document/root-type-aliases.ts +107 -0
- package/src/application/transform/document/template-key-match.ts +183 -0
- package/src/application/transform/document/type-assignability.ts +268 -0
- package/src/application/transform/document/type-key.ts +80 -0
- package/src/application/transform/document/type-resolution.ts +163 -0
- package/src/application/transform/document/webhooks.ts +22 -0
- package/src/application/transform/document-entries.ts +28 -0
- package/src/application/transform/footer/document-footer.ts +212 -0
- package/src/application/transform/footer/enum-naming.ts +210 -0
- package/src/application/transform/footer/enum-values-check.ts +171 -0
- package/src/application/transform/footer/evaluation.ts +47 -0
- package/src/application/transform/footer/shared-enum-names.ts +86 -0
- package/src/application/transform/footer/type-evaluation.ts +294 -0
- package/src/application/transform/footer/type-rules.ts +269 -0
- package/src/application/transform/helper-types.ts +92 -0
- package/src/application/transform/literal-type.ts +54 -0
- package/src/application/transform/numbered-names.ts +20 -0
- package/src/application/transform/ref-pointer/generated-location.ts +211 -0
- package/src/application/transform/ref-pointer/generated-shape.ts +275 -0
- package/src/application/transform/ref-pointer/inline-cycles.ts +56 -0
- package/src/application/transform/ref-pointer/original-index.ts +95 -0
- package/src/application/transform/ref-pointer/pointer-type.ts +92 -0
- package/src/application/transform/ref-pointer/pointer-walk.ts +96 -0
- package/src/application/transform/ref-pointer/typed-walk.ts +192 -0
- package/src/application/transform/ref-type.ts +102 -0
- package/src/application/transform/schema/access-flags.ts +63 -0
- package/src/application/transform/schema/array-type.ts +213 -0
- package/src/application/transform/schema/composition-type.ts +255 -0
- package/src/application/transform/schema/core-type.ts +119 -0
- package/src/application/transform/schema/discriminated-union.ts +58 -0
- package/src/application/transform/schema/discriminator-property.ts +33 -0
- package/src/application/transform/schema/enum-rule.ts +280 -0
- package/src/application/transform/schema/inherited-discriminator.ts +54 -0
- package/src/application/transform/schema/object-type.ts +289 -0
- package/src/application/transform/schema/presence-members.ts +96 -0
- package/src/application/transform/schema/required-variants.ts +88 -0
- package/src/application/transform/schema/schema-context.ts +136 -0
- package/src/application/transform/schema/schema-rule.ts +29 -0
- package/src/application/transform/schema/schema-transform.ts +99 -0
- package/src/application/transform/schema/unevaluated-properties.ts +105 -0
- package/src/application/transform/schema-comment.ts +196 -0
- package/src/application/transform/shared-types.ts +9 -0
- package/src/application/transform/transform-context.ts +51 -0
- package/src/application/transform/type-combinators.ts +57 -0
- package/src/cli/cli-arguments.ts +208 -0
- package/src/cli/cli-dependencies.ts +47 -0
- package/src/cli/cli-errors.ts +127 -0
- package/src/cli/cli-output.ts +67 -0
- package/src/cli/docs-links.ts +6 -0
- package/src/cli/fix-option.ts +29 -0
- package/src/cli/help-text.ts +52 -0
- package/src/cli/main.ts +73 -0
- package/src/cli/redocly-apis.ts +95 -0
- package/src/cli/ref-limits.ts +16 -0
- package/src/cli/run-cli.ts +131 -0
- package/src/domain/assert-never.ts +8 -0
- package/src/domain/errors.ts +76 -0
- package/src/domain/ir/constructors.ts +142 -0
- package/src/domain/ir/identifier-text.ts +49 -0
- package/src/domain/ir/newer-identifier-ranges.ts +109 -0
- package/src/domain/ir/nodes.ts +225 -0
- package/src/domain/ir/normalize.ts +51 -0
- package/src/domain/ir/property-name.ts +28 -0
- package/src/domain/ir/raw-text-escapes.ts +37 -0
- package/src/domain/openapi/admitted-values.ts +113 -0
- package/src/domain/openapi/alias-expansion.ts +72 -0
- package/src/domain/openapi/binary-content.ts +74 -0
- package/src/domain/openapi/components-object.ts +52 -0
- package/src/domain/openapi/discriminated-union.ts +109 -0
- package/src/domain/openapi/discriminator-conflicts.ts +251 -0
- package/src/domain/openapi/document-object.ts +12 -0
- package/src/domain/openapi/header-object.ts +9 -0
- package/src/domain/openapi/json-pointer.ts +46 -0
- package/src/domain/openapi/media-type-object.ts +26 -0
- package/src/domain/openapi/operation-object.ts +13 -0
- package/src/domain/openapi/parameter-object.ts +34 -0
- package/src/domain/openapi/path-item-object.ts +70 -0
- package/src/domain/openapi/path-templates.ts +31 -0
- package/src/domain/openapi/request-body-object.ts +7 -0
- package/src/domain/openapi/response-object.ts +14 -0
- package/src/domain/openapi/schema-object.ts +61 -0
- package/src/domain/openapi/unsupported-features.ts +139 -0
- package/src/domain/output-fixes.ts +136 -0
- package/src/domain/warnings.ts +20 -0
- package/src/index.ts +67 -0
- package/src/transform/components-object.ts +27 -0
- package/src/transform/header-object.ts +19 -0
- package/src/transform/media-type-object.ts +19 -0
- package/src/transform/operation-object.ts +36 -0
- package/src/transform/parameter-object.ts +19 -0
- package/src/transform/parameters-array.ts +19 -0
- package/src/transform/path-item-object.ts +22 -0
- package/src/transform/paths-enum.ts +8 -0
- package/src/transform/paths-object.ts +15 -0
- package/src/transform/request-body-object.ts +19 -0
- package/src/transform/response-object.ts +19 -0
- package/src/transform/responses-object.ts +19 -0
- package/src/transform/schema-object.ts +36 -0
- package/src/transform/webhooks-object.ts +15 -0
- package/src/types/generator-options.ts +278 -0
- package/src/types/openapi-common.ts +100 -0
- package/src/types/openapi-document.ts +196 -0
- package/src/types/openapi-path-item.ts +130 -0
- package/src/types/openapi-request.ts +209 -0
- package/src/types/openapi-response.ts +81 -0
- package/src/types/openapi-schema.ts +169 -0
- package/src/types/openapi-security.ts +116 -0
- package/src/types.ts +12 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const ERROR_CODES = {
|
|
2
|
+
SCHEMA_SOURCE_EMPTY: "SCHEMA_SOURCE_EMPTY",
|
|
3
|
+
SCHEMA_SOURCE_INVALID: "SCHEMA_SOURCE_INVALID",
|
|
4
|
+
SCHEMA_LOAD_FAILED: "SCHEMA_LOAD_FAILED",
|
|
5
|
+
SCHEMA_PARSE_FAILED: "SCHEMA_PARSE_FAILED",
|
|
6
|
+
SCHEMA_VERSION_UNSUPPORTED: "SCHEMA_VERSION_UNSUPPORTED",
|
|
7
|
+
SCHEMA_INVALID: "SCHEMA_INVALID",
|
|
8
|
+
SCHEMA_REF_INVALID: "SCHEMA_REF_INVALID",
|
|
9
|
+
SCHEMA_REF_FORBIDDEN: "SCHEMA_REF_FORBIDDEN",
|
|
10
|
+
SCHEMA_OBJECT_INVALID: "SCHEMA_OBJECT_INVALID",
|
|
11
|
+
SCHEMA_PROPERTY_INVALID: "SCHEMA_PROPERTY_INVALID",
|
|
12
|
+
SCHEMA_TOO_DEEP: "SCHEMA_TOO_DEEP",
|
|
13
|
+
SCHEMA_KEY_UNSUPPORTED: "SCHEMA_KEY_UNSUPPORTED",
|
|
14
|
+
ENUM_NAME_EMPTY: "ENUM_NAME_EMPTY",
|
|
15
|
+
CALLBACK_RESULT_UNREADABLE: "CALLBACK_RESULT_UNREADABLE",
|
|
16
|
+
OPTION_FIX_UNKNOWN: "OPTION_FIX_UNKNOWN",
|
|
17
|
+
TYPESCRIPT_NOT_FOUND: "TYPESCRIPT_NOT_FOUND",
|
|
18
|
+
CLI_FLAG_REMOVED: "CLI_FLAG_REMOVED",
|
|
19
|
+
CLI_GLOB_UNSUPPORTED: "CLI_GLOB_UNSUPPORTED",
|
|
20
|
+
CLI_CONFIG_NOT_FOUND: "CLI_CONFIG_NOT_FOUND",
|
|
21
|
+
CLI_CONFIG_INVALID: "CLI_CONFIG_INVALID",
|
|
22
|
+
CLI_CONFIG_OUTPUT_MISSING: "CLI_CONFIG_OUTPUT_MISSING",
|
|
23
|
+
CLI_CHECK_OUTPUT_MISSING: "CLI_CHECK_OUTPUT_MISSING",
|
|
24
|
+
CLI_INPUT_MISSING: "CLI_INPUT_MISSING",
|
|
25
|
+
OUTPUT_STALE: "OUTPUT_STALE",
|
|
26
|
+
OUTPUT_READ_FAILED: "OUTPUT_READ_FAILED",
|
|
27
|
+
OUTPUT_WRITE_FAILED: "OUTPUT_WRITE_FAILED"
|
|
28
|
+
};
|
|
29
|
+
class OpenAPITypesafeError extends Error {
|
|
30
|
+
code;
|
|
31
|
+
details;
|
|
32
|
+
constructor(init) {
|
|
33
|
+
super(init.message, init.cause === void 0 ? void 0 : { cause: init.cause });
|
|
34
|
+
this.name = "OpenAPITypesafeError";
|
|
35
|
+
this.code = init.code;
|
|
36
|
+
this.details = init.details ?? {};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function isOpenAPITypesafeError(value) {
|
|
40
|
+
if (value instanceof OpenAPITypesafeError) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
const code = value?.code;
|
|
44
|
+
return value instanceof Error && typeof code === "string" && Object.hasOwn(ERROR_CODES, code) && typeof value.details === "object";
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { ERROR_CODES, OpenAPITypesafeError, isOpenAPITypesafeError };
|
|
48
|
+
//# sourceMappingURL=errors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.mjs","sources":["../../src/domain/errors.ts"],"sourcesContent":["/**\n * Typed errors (ENGINEERING_PLAN 4.6, ADR-011). Every expected failure of the generator and the CLI\n * is an `OpenAPITypesafeError` with a stable machine-readable `code` and structured `details`. The\n * `message` is English text for people; programs and the CLI decide by `code`. A bug (a broken\n * invariant) is a plain `Error`, not one of these.\n */\n\n/** Every error code. The set is closed: a new code must be handled by the CLI exit-code table. */\nexport const ERROR_CODES = {\n SCHEMA_SOURCE_EMPTY: \"SCHEMA_SOURCE_EMPTY\",\n SCHEMA_SOURCE_INVALID: \"SCHEMA_SOURCE_INVALID\",\n SCHEMA_LOAD_FAILED: \"SCHEMA_LOAD_FAILED\",\n SCHEMA_PARSE_FAILED: \"SCHEMA_PARSE_FAILED\",\n SCHEMA_VERSION_UNSUPPORTED: \"SCHEMA_VERSION_UNSUPPORTED\",\n SCHEMA_INVALID: \"SCHEMA_INVALID\",\n SCHEMA_REF_INVALID: \"SCHEMA_REF_INVALID\",\n SCHEMA_REF_FORBIDDEN: \"SCHEMA_REF_FORBIDDEN\",\n SCHEMA_OBJECT_INVALID: \"SCHEMA_OBJECT_INVALID\",\n SCHEMA_PROPERTY_INVALID: \"SCHEMA_PROPERTY_INVALID\",\n SCHEMA_TOO_DEEP: \"SCHEMA_TOO_DEEP\",\n SCHEMA_KEY_UNSUPPORTED: \"SCHEMA_KEY_UNSUPPORTED\",\n ENUM_NAME_EMPTY: \"ENUM_NAME_EMPTY\",\n CALLBACK_RESULT_UNREADABLE: \"CALLBACK_RESULT_UNREADABLE\",\n OPTION_FIX_UNKNOWN: \"OPTION_FIX_UNKNOWN\",\n TYPESCRIPT_NOT_FOUND: \"TYPESCRIPT_NOT_FOUND\",\n CLI_FLAG_REMOVED: \"CLI_FLAG_REMOVED\",\n CLI_GLOB_UNSUPPORTED: \"CLI_GLOB_UNSUPPORTED\",\n CLI_CONFIG_NOT_FOUND: \"CLI_CONFIG_NOT_FOUND\",\n CLI_CONFIG_INVALID: \"CLI_CONFIG_INVALID\",\n CLI_CONFIG_OUTPUT_MISSING: \"CLI_CONFIG_OUTPUT_MISSING\",\n CLI_CHECK_OUTPUT_MISSING: \"CLI_CHECK_OUTPUT_MISSING\",\n CLI_INPUT_MISSING: \"CLI_INPUT_MISSING\",\n OUTPUT_STALE: \"OUTPUT_STALE\",\n OUTPUT_READ_FAILED: \"OUTPUT_READ_FAILED\",\n OUTPUT_WRITE_FAILED: \"OUTPUT_WRITE_FAILED\",\n} as const;\n\nexport type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];\n\n/** Structured, JSON-serializable facts about a failure, for programs and logs. */\nexport type ErrorDetails = Readonly<Record<string, unknown>>;\n\nexport interface OpenAPITypesafeErrorInit {\n readonly code: ErrorCode;\n readonly message: string;\n readonly details?: ErrorDetails;\n /** The lower-level error this one reports, if any (kept as the standard `cause`). */\n readonly cause?: unknown;\n}\n\n/** The base of every expected failure; check `code`, not the class or the message. */\nexport class OpenAPITypesafeError extends Error {\n readonly code: ErrorCode;\n readonly details: ErrorDetails;\n\n constructor(init: OpenAPITypesafeErrorInit) {\n super(init.message, init.cause === undefined ? undefined : { cause: init.cause });\n this.name = \"OpenAPITypesafeError\";\n this.code = init.code;\n this.details = init.details ?? {};\n }\n}\n\n/** Whether a thrown value is one of our typed errors (also across bundled copies of the class). */\nexport function isOpenAPITypesafeError(value: unknown): value is OpenAPITypesafeError {\n if (value instanceof OpenAPITypesafeError) {\n return true;\n }\n const code = (value as { code?: unknown } | null)?.code;\n return (\n value instanceof Error &&\n typeof code === \"string\" &&\n Object.hasOwn(ERROR_CODES, code) &&\n typeof (value as { details?: unknown }).details === \"object\"\n );\n}\n"],"names":[],"mappings":"AAQO,MAAM,WAAA,GAAc;AAAA,EACzB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,qBAAA,EAAuB,uBAAA;AAAA,EACvB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,mBAAA,EAAqB,qBAAA;AAAA,EACrB,0BAAA,EAA4B,4BAAA;AAAA,EAC5B,cAAA,EAAgB,gBAAA;AAAA,EAChB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,qBAAA,EAAuB,uBAAA;AAAA,EACvB,uBAAA,EAAyB,yBAAA;AAAA,EACzB,eAAA,EAAiB,iBAAA;AAAA,EACjB,sBAAA,EAAwB,wBAAA;AAAA,EACxB,eAAA,EAAiB,iBAAA;AAAA,EACjB,0BAAA,EAA4B,4BAAA;AAAA,EAC5B,kBAAA,EAAoB,oBAAA;AAAA,EACpB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,gBAAA,EAAkB,kBAAA;AAAA,EAClB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,oBAAA,EAAsB,sBAAA;AAAA,EACtB,kBAAA,EAAoB,oBAAA;AAAA,EACpB,yBAAA,EAA2B,2BAAA;AAAA,EAC3B,wBAAA,EAA0B,0BAAA;AAAA,EAC1B,iBAAA,EAAmB,mBAAA;AAAA,EACnB,YAAA,EAAc,cAAA;AAAA,EACd,kBAAA,EAAoB,oBAAA;AAAA,EACpB,mBAAA,EAAqB;AACvB;AAgBO,MAAM,6BAA6B,KAAA,CAAM;AAAA,EACrC,IAAA;AAAA,EACA,OAAA;AAAA,EAET,YAAY,IAAA,EAAgC;AAC1C,IAAA,KAAA,CAAM,IAAA,CAAK,OAAA,EAAS,IAAA,CAAK,KAAA,KAAU,MAAA,GAAY,SAAY,EAAE,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,CAAA;AAChF,IAAA,IAAA,CAAK,IAAA,GAAO,sBAAA;AACZ,IAAA,IAAA,CAAK,OAAO,IAAA,CAAK,IAAA;AACjB,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA,CAAK,OAAA,IAAW,EAAC;AAAA,EAClC;AACF;AAGO,SAAS,uBAAuB,KAAA,EAA+C;AACpF,EAAA,IAAI,iBAAiB,oBAAA,EAAsB;AACzC,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM,OAAQ,KAAA,EAAqC,IAAA;AACnD,EAAA,OACE,KAAA,YAAiB,KAAA,IACjB,OAAO,IAAA,KAAS,QAAA,IAChB,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,IAAI,CAAA,IAC/B,OAAQ,KAAA,CAAgC,OAAA,KAAY,QAAA;AAExD;;"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function irKeyword(keyword) {
|
|
4
|
+
return { kind: "keyword", keyword };
|
|
5
|
+
}
|
|
6
|
+
function irString(value, encoding) {
|
|
7
|
+
return { kind: "stringLiteral", value, encoding };
|
|
8
|
+
}
|
|
9
|
+
function irNumber(value) {
|
|
10
|
+
if (!Number.isFinite(value)) {
|
|
11
|
+
throw new RangeError(`A number literal type needs a finite number, got ${value}`);
|
|
12
|
+
}
|
|
13
|
+
return { kind: "numberLiteral", value };
|
|
14
|
+
}
|
|
15
|
+
function irBoolean(value) {
|
|
16
|
+
return { kind: "booleanLiteral", value };
|
|
17
|
+
}
|
|
18
|
+
function irReference(name, typeArguments = []) {
|
|
19
|
+
return { kind: "reference", name, typeArguments };
|
|
20
|
+
}
|
|
21
|
+
function irArray(element) {
|
|
22
|
+
return { kind: "array", element };
|
|
23
|
+
}
|
|
24
|
+
function irTuple(elements) {
|
|
25
|
+
return { kind: "tuple", elements };
|
|
26
|
+
}
|
|
27
|
+
function irTupleElement(type, isRest = false) {
|
|
28
|
+
return { type, isRest, isOptional: false };
|
|
29
|
+
}
|
|
30
|
+
function irOptionalTupleElement(type) {
|
|
31
|
+
return { type, isRest: false, isOptional: true };
|
|
32
|
+
}
|
|
33
|
+
function irUnion(types) {
|
|
34
|
+
return { kind: "union", types };
|
|
35
|
+
}
|
|
36
|
+
function irIntersection(types) {
|
|
37
|
+
return { kind: "intersection", types };
|
|
38
|
+
}
|
|
39
|
+
function irObject(members) {
|
|
40
|
+
return { kind: "object", members };
|
|
41
|
+
}
|
|
42
|
+
function irIndexedAccess(object, index) {
|
|
43
|
+
return { kind: "indexedAccess", object, index };
|
|
44
|
+
}
|
|
45
|
+
function irReadonly(type) {
|
|
46
|
+
return { kind: "readonly", type };
|
|
47
|
+
}
|
|
48
|
+
function irRaw(text, origin) {
|
|
49
|
+
return origin === void 0 ? { kind: "raw", text } : { kind: "raw", text, origin };
|
|
50
|
+
}
|
|
51
|
+
function irProperty(name, type, options = {}) {
|
|
52
|
+
return {
|
|
53
|
+
kind: "property",
|
|
54
|
+
name,
|
|
55
|
+
type,
|
|
56
|
+
isOptional: options.isOptional ?? false,
|
|
57
|
+
isReadonly: options.isReadonly ?? false,
|
|
58
|
+
comments: options.comments ?? []
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function irStringIndexSignature(parameterName, type, isReadonly = false) {
|
|
62
|
+
return {
|
|
63
|
+
kind: "indexSignature",
|
|
64
|
+
parameterName,
|
|
65
|
+
parameterType: irKeyword("string"),
|
|
66
|
+
type,
|
|
67
|
+
isReadonly,
|
|
68
|
+
comments: []
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function irRecord(key, value) {
|
|
72
|
+
return irReference("Record", [key, value]);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
exports.irArray = irArray;
|
|
76
|
+
exports.irBoolean = irBoolean;
|
|
77
|
+
exports.irIndexedAccess = irIndexedAccess;
|
|
78
|
+
exports.irIntersection = irIntersection;
|
|
79
|
+
exports.irKeyword = irKeyword;
|
|
80
|
+
exports.irNumber = irNumber;
|
|
81
|
+
exports.irObject = irObject;
|
|
82
|
+
exports.irOptionalTupleElement = irOptionalTupleElement;
|
|
83
|
+
exports.irProperty = irProperty;
|
|
84
|
+
exports.irRaw = irRaw;
|
|
85
|
+
exports.irReadonly = irReadonly;
|
|
86
|
+
exports.irRecord = irRecord;
|
|
87
|
+
exports.irReference = irReference;
|
|
88
|
+
exports.irString = irString;
|
|
89
|
+
exports.irStringIndexSignature = irStringIndexSignature;
|
|
90
|
+
exports.irTuple = irTuple;
|
|
91
|
+
exports.irTupleElement = irTupleElement;
|
|
92
|
+
exports.irUnion = irUnion;
|
|
93
|
+
//# sourceMappingURL=constructors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constructors.cjs","sources":["../../../src/domain/ir/constructors.ts"],"sourcesContent":["import type {\n IrArrayType,\n IrBooleanLiteralType,\n IrComment,\n IrIndexedAccessType,\n IrIndexSignature,\n IrIntersectionType,\n IrKeyword,\n IrKeywordType,\n IrMember,\n IrNumberLiteralType,\n IrObjectType,\n IrPropertyName,\n IrPropertySignature,\n IrRawType,\n IrReadonlyType,\n IrReferenceType,\n IrStringEncoding,\n IrStringLiteralType,\n IrTupleElement,\n IrTupleType,\n IrType,\n IrUnionType,\n} from \"./nodes.js\";\n\n/**\n * Constructors of IR nodes. They build exactly the node asked for: no flattening, de-duplication or\n * sorting happens here (ENGINEERING_PLAN §4.2). Callers that need those call the functions in\n * `normalize.ts` explicitly, at the same places the original generator does.\n */\n\nexport function irKeyword(keyword: IrKeyword): IrKeywordType {\n return { kind: \"keyword\", keyword };\n}\n\nexport function irString(value: string, encoding: IrStringEncoding): IrStringLiteralType {\n return { kind: \"stringLiteral\", value, encoding };\n}\n\n/** Throws on NaN and infinities: they have no literal type. */\nexport function irNumber(value: number): IrNumberLiteralType {\n if (!Number.isFinite(value)) {\n throw new RangeError(`A number literal type needs a finite number, got ${value}`);\n }\n return { kind: \"numberLiteral\", value };\n}\n\nexport function irBoolean(value: boolean): IrBooleanLiteralType {\n return { kind: \"booleanLiteral\", value };\n}\n\nexport function irReference(name: string, typeArguments: readonly IrType[] = []): IrReferenceType {\n return { kind: \"reference\", name, typeArguments };\n}\n\nexport function irArray(element: IrType): IrArrayType {\n return { kind: \"array\", element };\n}\n\nexport function irTuple(elements: readonly IrTupleElement[]): IrTupleType {\n return { kind: \"tuple\", elements };\n}\n\nexport function irTupleElement(type: IrType, isRest = false): IrTupleElement {\n return { type, isRest, isOptional: false };\n}\n\n/** `T?`: an element the tuple may end before. */\nexport function irOptionalTupleElement(type: IrType): IrTupleElement {\n return { type, isRest: false, isOptional: true };\n}\n\nexport function irUnion(types: readonly IrType[]): IrUnionType {\n return { kind: \"union\", types };\n}\n\nexport function irIntersection(types: readonly IrType[]): IrIntersectionType {\n return { kind: \"intersection\", types };\n}\n\nexport function irObject(members: readonly IrMember[]): IrObjectType {\n return { kind: \"object\", members };\n}\n\nexport function irIndexedAccess(object: IrType, index: IrType): IrIndexedAccessType {\n return { kind: \"indexedAccess\", object, index };\n}\n\nexport function irReadonly(type: IrType): IrReadonlyType {\n return { kind: \"readonly\", type };\n}\n\n/**\n * Type text printed as is. The original builds some types from text (template literal path keys,\n * root type aliases); keeping them as text keeps their exact spelling.\n */\nexport function irRaw(text: string, origin?: unknown): IrRawType {\n return origin === undefined ? { kind: \"raw\", text } : { kind: \"raw\", text, origin };\n}\n\n/** Options of a property signature; omitted flags are false and there are no comments. */\nexport interface IrPropertyOptions {\n readonly isOptional?: boolean;\n readonly isReadonly?: boolean;\n readonly comments?: readonly IrComment[];\n}\n\nexport function irProperty(\n name: IrPropertyName,\n type: IrType,\n options: IrPropertyOptions = {},\n): IrPropertySignature {\n return {\n kind: \"property\",\n name,\n type,\n isOptional: options.isOptional ?? false,\n isReadonly: options.isReadonly ?? false,\n comments: options.comments ?? [],\n };\n}\n\n/** `[name: string]: type` (a `string` key, the only kind the generator writes). */\nexport function irStringIndexSignature(\n parameterName: string,\n type: IrType,\n isReadonly = false,\n): IrIndexSignature {\n return {\n kind: \"indexSignature\",\n parameterName,\n parameterType: irKeyword(\"string\"),\n type,\n isReadonly,\n comments: [],\n };\n}\n\n/** `Record<key, value>`. */\nexport function irRecord(key: IrType, value: IrType): IrReferenceType {\n return irReference(\"Record\", [key, value]);\n}\n"],"names":[],"mappings":";;AA+BO,SAAS,UAAU,OAAA,EAAmC;AAC3D,EAAA,OAAO,EAAE,IAAA,EAAM,SAAA,EAAW,OAAA,EAAQ;AACpC;AAEO,SAAS,QAAA,CAAS,OAAe,QAAA,EAAiD;AACvF,EAAA,OAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAO,QAAA,EAAS;AAClD;AAGO,SAAS,SAAS,KAAA,EAAoC;AAC3D,EAAA,IAAI,CAAC,MAAA,CAAO,QAAA,CAAS,KAAK,CAAA,EAAG;AAC3B,IAAA,MAAM,IAAI,UAAA,CAAW,CAAA,iDAAA,EAAoD,KAAK,CAAA,CAAE,CAAA;AAAA,EAClF;AACA,EAAA,OAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAM;AACxC;AAEO,SAAS,UAAU,KAAA,EAAsC;AAC9D,EAAA,OAAO,EAAE,IAAA,EAAM,gBAAA,EAAkB,KAAA,EAAM;AACzC;AAEO,SAAS,WAAA,CAAY,IAAA,EAAc,aAAA,GAAmC,EAAC,EAAoB;AAChG,EAAA,OAAO,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,aAAA,EAAc;AAClD;AAEO,SAAS,QAAQ,OAAA,EAA8B;AACpD,EAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAQ;AAClC;AAEO,SAAS,QAAQ,QAAA,EAAkD;AACxE,EAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,QAAA,EAAS;AACnC;AAEO,SAAS,cAAA,CAAe,IAAA,EAAc,MAAA,GAAS,KAAA,EAAuB;AAC3E,EAAA,OAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAA,EAAY,KAAA,EAAM;AAC3C;AAGO,SAAS,uBAAuB,IAAA,EAA8B;AACnE,EAAA,OAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,YAAY,IAAA,EAAK;AACjD;AAEO,SAAS,QAAQ,KAAA,EAAuC;AAC7D,EAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAM;AAChC;AAEO,SAAS,eAAe,KAAA,EAA8C;AAC3E,EAAA,OAAO,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAM;AACvC;AAEO,SAAS,SAAS,OAAA,EAA4C;AACnE,EAAA,OAAO,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAQ;AACnC;AAEO,SAAS,eAAA,CAAgB,QAAgB,KAAA,EAAoC;AAClF,EAAA,OAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,MAAA,EAAQ,KAAA,EAAM;AAChD;AAEO,SAAS,WAAW,IAAA,EAA8B;AACvD,EAAA,OAAO,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAK;AAClC;AAMO,SAAS,KAAA,CAAM,MAAc,MAAA,EAA6B;AAC/D,EAAA,OAAO,MAAA,KAAW,MAAA,GAAY,EAAE,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK,GAAI,EAAE,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,MAAA,EAAO;AACpF;AASO,SAAS,UAAA,CACd,IAAA,EACA,IAAA,EACA,OAAA,GAA6B,EAAC,EACT;AACrB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,UAAA;AAAA,IACN,IAAA;AAAA,IACA,IAAA;AAAA,IACA,UAAA,EAAY,QAAQ,UAAA,IAAc,KAAA;AAAA,IAClC,UAAA,EAAY,QAAQ,UAAA,IAAc,KAAA;AAAA,IAClC,QAAA,EAAU,OAAA,CAAQ,QAAA,IAAY;AAAC,GACjC;AACF;AAGO,SAAS,sBAAA,CACd,aAAA,EACA,IAAA,EACA,UAAA,GAAa,KAAA,EACK;AAClB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,aAAA;AAAA,IACA,aAAA,EAAe,UAAU,QAAQ,CAAA;AAAA,IACjC,IAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAU;AAAC,GACb;AACF;AAGO,SAAS,QAAA,CAAS,KAAa,KAAA,EAAgC;AACpE,EAAA,OAAO,WAAA,CAAY,QAAA,EAAU,CAAC,GAAA,EAAK,KAAK,CAAC,CAAA;AAC3C;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
function irKeyword(keyword) {
|
|
2
|
+
return { kind: "keyword", keyword };
|
|
3
|
+
}
|
|
4
|
+
function irString(value, encoding) {
|
|
5
|
+
return { kind: "stringLiteral", value, encoding };
|
|
6
|
+
}
|
|
7
|
+
function irNumber(value) {
|
|
8
|
+
if (!Number.isFinite(value)) {
|
|
9
|
+
throw new RangeError(`A number literal type needs a finite number, got ${value}`);
|
|
10
|
+
}
|
|
11
|
+
return { kind: "numberLiteral", value };
|
|
12
|
+
}
|
|
13
|
+
function irBoolean(value) {
|
|
14
|
+
return { kind: "booleanLiteral", value };
|
|
15
|
+
}
|
|
16
|
+
function irReference(name, typeArguments = []) {
|
|
17
|
+
return { kind: "reference", name, typeArguments };
|
|
18
|
+
}
|
|
19
|
+
function irArray(element) {
|
|
20
|
+
return { kind: "array", element };
|
|
21
|
+
}
|
|
22
|
+
function irTuple(elements) {
|
|
23
|
+
return { kind: "tuple", elements };
|
|
24
|
+
}
|
|
25
|
+
function irTupleElement(type, isRest = false) {
|
|
26
|
+
return { type, isRest, isOptional: false };
|
|
27
|
+
}
|
|
28
|
+
function irOptionalTupleElement(type) {
|
|
29
|
+
return { type, isRest: false, isOptional: true };
|
|
30
|
+
}
|
|
31
|
+
function irUnion(types) {
|
|
32
|
+
return { kind: "union", types };
|
|
33
|
+
}
|
|
34
|
+
function irIntersection(types) {
|
|
35
|
+
return { kind: "intersection", types };
|
|
36
|
+
}
|
|
37
|
+
function irObject(members) {
|
|
38
|
+
return { kind: "object", members };
|
|
39
|
+
}
|
|
40
|
+
function irIndexedAccess(object, index) {
|
|
41
|
+
return { kind: "indexedAccess", object, index };
|
|
42
|
+
}
|
|
43
|
+
function irReadonly(type) {
|
|
44
|
+
return { kind: "readonly", type };
|
|
45
|
+
}
|
|
46
|
+
function irRaw(text, origin) {
|
|
47
|
+
return origin === void 0 ? { kind: "raw", text } : { kind: "raw", text, origin };
|
|
48
|
+
}
|
|
49
|
+
function irProperty(name, type, options = {}) {
|
|
50
|
+
return {
|
|
51
|
+
kind: "property",
|
|
52
|
+
name,
|
|
53
|
+
type,
|
|
54
|
+
isOptional: options.isOptional ?? false,
|
|
55
|
+
isReadonly: options.isReadonly ?? false,
|
|
56
|
+
comments: options.comments ?? []
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function irStringIndexSignature(parameterName, type, isReadonly = false) {
|
|
60
|
+
return {
|
|
61
|
+
kind: "indexSignature",
|
|
62
|
+
parameterName,
|
|
63
|
+
parameterType: irKeyword("string"),
|
|
64
|
+
type,
|
|
65
|
+
isReadonly,
|
|
66
|
+
comments: []
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function irRecord(key, value) {
|
|
70
|
+
return irReference("Record", [key, value]);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { irArray, irBoolean, irIndexedAccess, irIntersection, irKeyword, irNumber, irObject, irOptionalTupleElement, irProperty, irRaw, irReadonly, irRecord, irReference, irString, irStringIndexSignature, irTuple, irTupleElement, irUnion };
|
|
74
|
+
//# sourceMappingURL=constructors.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constructors.mjs","sources":["../../../src/domain/ir/constructors.ts"],"sourcesContent":["import type {\n IrArrayType,\n IrBooleanLiteralType,\n IrComment,\n IrIndexedAccessType,\n IrIndexSignature,\n IrIntersectionType,\n IrKeyword,\n IrKeywordType,\n IrMember,\n IrNumberLiteralType,\n IrObjectType,\n IrPropertyName,\n IrPropertySignature,\n IrRawType,\n IrReadonlyType,\n IrReferenceType,\n IrStringEncoding,\n IrStringLiteralType,\n IrTupleElement,\n IrTupleType,\n IrType,\n IrUnionType,\n} from \"./nodes.js\";\n\n/**\n * Constructors of IR nodes. They build exactly the node asked for: no flattening, de-duplication or\n * sorting happens here (ENGINEERING_PLAN §4.2). Callers that need those call the functions in\n * `normalize.ts` explicitly, at the same places the original generator does.\n */\n\nexport function irKeyword(keyword: IrKeyword): IrKeywordType {\n return { kind: \"keyword\", keyword };\n}\n\nexport function irString(value: string, encoding: IrStringEncoding): IrStringLiteralType {\n return { kind: \"stringLiteral\", value, encoding };\n}\n\n/** Throws on NaN and infinities: they have no literal type. */\nexport function irNumber(value: number): IrNumberLiteralType {\n if (!Number.isFinite(value)) {\n throw new RangeError(`A number literal type needs a finite number, got ${value}`);\n }\n return { kind: \"numberLiteral\", value };\n}\n\nexport function irBoolean(value: boolean): IrBooleanLiteralType {\n return { kind: \"booleanLiteral\", value };\n}\n\nexport function irReference(name: string, typeArguments: readonly IrType[] = []): IrReferenceType {\n return { kind: \"reference\", name, typeArguments };\n}\n\nexport function irArray(element: IrType): IrArrayType {\n return { kind: \"array\", element };\n}\n\nexport function irTuple(elements: readonly IrTupleElement[]): IrTupleType {\n return { kind: \"tuple\", elements };\n}\n\nexport function irTupleElement(type: IrType, isRest = false): IrTupleElement {\n return { type, isRest, isOptional: false };\n}\n\n/** `T?`: an element the tuple may end before. */\nexport function irOptionalTupleElement(type: IrType): IrTupleElement {\n return { type, isRest: false, isOptional: true };\n}\n\nexport function irUnion(types: readonly IrType[]): IrUnionType {\n return { kind: \"union\", types };\n}\n\nexport function irIntersection(types: readonly IrType[]): IrIntersectionType {\n return { kind: \"intersection\", types };\n}\n\nexport function irObject(members: readonly IrMember[]): IrObjectType {\n return { kind: \"object\", members };\n}\n\nexport function irIndexedAccess(object: IrType, index: IrType): IrIndexedAccessType {\n return { kind: \"indexedAccess\", object, index };\n}\n\nexport function irReadonly(type: IrType): IrReadonlyType {\n return { kind: \"readonly\", type };\n}\n\n/**\n * Type text printed as is. The original builds some types from text (template literal path keys,\n * root type aliases); keeping them as text keeps their exact spelling.\n */\nexport function irRaw(text: string, origin?: unknown): IrRawType {\n return origin === undefined ? { kind: \"raw\", text } : { kind: \"raw\", text, origin };\n}\n\n/** Options of a property signature; omitted flags are false and there are no comments. */\nexport interface IrPropertyOptions {\n readonly isOptional?: boolean;\n readonly isReadonly?: boolean;\n readonly comments?: readonly IrComment[];\n}\n\nexport function irProperty(\n name: IrPropertyName,\n type: IrType,\n options: IrPropertyOptions = {},\n): IrPropertySignature {\n return {\n kind: \"property\",\n name,\n type,\n isOptional: options.isOptional ?? false,\n isReadonly: options.isReadonly ?? false,\n comments: options.comments ?? [],\n };\n}\n\n/** `[name: string]: type` (a `string` key, the only kind the generator writes). */\nexport function irStringIndexSignature(\n parameterName: string,\n type: IrType,\n isReadonly = false,\n): IrIndexSignature {\n return {\n kind: \"indexSignature\",\n parameterName,\n parameterType: irKeyword(\"string\"),\n type,\n isReadonly,\n comments: [],\n };\n}\n\n/** `Record<key, value>`. */\nexport function irRecord(key: IrType, value: IrType): IrReferenceType {\n return irReference(\"Record\", [key, value]);\n}\n"],"names":[],"mappings":"AA+BO,SAAS,UAAU,OAAA,EAAmC;AAC3D,EAAA,OAAO,EAAE,IAAA,EAAM,SAAA,EAAW,OAAA,EAAQ;AACpC;AAEO,SAAS,QAAA,CAAS,OAAe,QAAA,EAAiD;AACvF,EAAA,OAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAO,QAAA,EAAS;AAClD;AAGO,SAAS,SAAS,KAAA,EAAoC;AAC3D,EAAA,IAAI,CAAC,MAAA,CAAO,QAAA,CAAS,KAAK,CAAA,EAAG;AAC3B,IAAA,MAAM,IAAI,UAAA,CAAW,CAAA,iDAAA,EAAoD,KAAK,CAAA,CAAE,CAAA;AAAA,EAClF;AACA,EAAA,OAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAM;AACxC;AAEO,SAAS,UAAU,KAAA,EAAsC;AAC9D,EAAA,OAAO,EAAE,IAAA,EAAM,gBAAA,EAAkB,KAAA,EAAM;AACzC;AAEO,SAAS,WAAA,CAAY,IAAA,EAAc,aAAA,GAAmC,EAAC,EAAoB;AAChG,EAAA,OAAO,EAAE,IAAA,EAAM,WAAA,EAAa,IAAA,EAAM,aAAA,EAAc;AAClD;AAEO,SAAS,QAAQ,OAAA,EAA8B;AACpD,EAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,OAAA,EAAQ;AAClC;AAEO,SAAS,QAAQ,QAAA,EAAkD;AACxE,EAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,QAAA,EAAS;AACnC;AAEO,SAAS,cAAA,CAAe,IAAA,EAAc,MAAA,GAAS,KAAA,EAAuB;AAC3E,EAAA,OAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAA,EAAY,KAAA,EAAM;AAC3C;AAGO,SAAS,uBAAuB,IAAA,EAA8B;AACnE,EAAA,OAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,KAAA,EAAO,YAAY,IAAA,EAAK;AACjD;AAEO,SAAS,QAAQ,KAAA,EAAuC;AAC7D,EAAA,OAAO,EAAE,IAAA,EAAM,OAAA,EAAS,KAAA,EAAM;AAChC;AAEO,SAAS,eAAe,KAAA,EAA8C;AAC3E,EAAA,OAAO,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAM;AACvC;AAEO,SAAS,SAAS,OAAA,EAA4C;AACnE,EAAA,OAAO,EAAE,IAAA,EAAM,QAAA,EAAU,OAAA,EAAQ;AACnC;AAEO,SAAS,eAAA,CAAgB,QAAgB,KAAA,EAAoC;AAClF,EAAA,OAAO,EAAE,IAAA,EAAM,eAAA,EAAiB,MAAA,EAAQ,KAAA,EAAM;AAChD;AAEO,SAAS,WAAW,IAAA,EAA8B;AACvD,EAAA,OAAO,EAAE,IAAA,EAAM,UAAA,EAAY,IAAA,EAAK;AAClC;AAMO,SAAS,KAAA,CAAM,MAAc,MAAA,EAA6B;AAC/D,EAAA,OAAO,MAAA,KAAW,MAAA,GAAY,EAAE,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK,GAAI,EAAE,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,MAAA,EAAO;AACpF;AASO,SAAS,UAAA,CACd,IAAA,EACA,IAAA,EACA,OAAA,GAA6B,EAAC,EACT;AACrB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,UAAA;AAAA,IACN,IAAA;AAAA,IACA,IAAA;AAAA,IACA,UAAA,EAAY,QAAQ,UAAA,IAAc,KAAA;AAAA,IAClC,UAAA,EAAY,QAAQ,UAAA,IAAc,KAAA;AAAA,IAClC,QAAA,EAAU,OAAA,CAAQ,QAAA,IAAY;AAAC,GACjC;AACF;AAGO,SAAS,sBAAA,CACd,aAAA,EACA,IAAA,EACA,UAAA,GAAa,KAAA,EACK;AAClB,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,gBAAA;AAAA,IACN,aAAA;AAAA,IACA,aAAA,EAAe,UAAU,QAAQ,CAAA;AAAA,IACjC,IAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAU;AAAC,GACb;AACF;AAGO,SAAS,QAAA,CAAS,KAAa,KAAA,EAAgC;AACpE,EAAA,OAAO,WAAA,CAAY,QAAA,EAAU,CAAC,GAAA,EAAK,KAAK,CAAC,CAAA;AAC3C;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const newerIdentifierRanges = require('./newer-identifier-ranges.cjs');
|
|
4
|
+
|
|
5
|
+
const IDENTIFIER_START_RE = new RegExp(
|
|
6
|
+
`^[[\\p{ID_Start}$_]--[${newerIdentifierRanges.NEWER_IDENTIFIER_START.join("")}]]`,
|
|
7
|
+
"v"
|
|
8
|
+
);
|
|
9
|
+
const INVALID_IDENTIFIER_PART_RE = new RegExp(
|
|
10
|
+
`[^[\\p{ID_Continue}$\\u{200C}\\u{200D}]--[${newerIdentifierRanges.NEWER_IDENTIFIER_PART.join("")}]]`,
|
|
11
|
+
"gv"
|
|
12
|
+
);
|
|
13
|
+
function hasIdentifierStart(text) {
|
|
14
|
+
return IDENTIFIER_START_RE.test(text);
|
|
15
|
+
}
|
|
16
|
+
function withIdentifierParts(text) {
|
|
17
|
+
return text.replace(INVALID_IDENTIFIER_PART_RE, "_");
|
|
18
|
+
}
|
|
19
|
+
const RESERVED_TYPE_NAMES = new Set(
|
|
20
|
+
"any as await bigint boolean break case catch class const continue debugger default delete do else enum export extends false finally for function if implements import in instanceof interface let never new null number object package private protected public return static string super switch symbol this throw true try typeof undefined unknown var void while with yield".split(" ")
|
|
21
|
+
);
|
|
22
|
+
function isReservedTypeName(text) {
|
|
23
|
+
return RESERVED_TYPE_NAMES.has(text);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.hasIdentifierStart = hasIdentifierStart;
|
|
27
|
+
exports.isReservedTypeName = isReservedTypeName;
|
|
28
|
+
exports.withIdentifierParts = withIdentifierParts;
|
|
29
|
+
//# sourceMappingURL=identifier-text.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier-text.cjs","sources":["../../../src/domain/ir/identifier-text.ts"],"sourcesContent":["import { NEWER_IDENTIFIER_PART, NEWER_IDENTIFIER_START } from \"./newer-identifier-ranges.js\";\n\n/**\n * Identifier rules of ECMAScript (Unicode `ID_Start` / `ID_Continue`, plus `$`, `_`, ZWNJ and\n * ZWJ), for names built from document text, without the characters that TypeScript's scanner\n * does not know yet. Node.js follows a newer Unicode version than TypeScript's identifier tables,\n * so a name such as `Name` (Unicode 17) passed here and failed to parse with \"Invalid\n * character\" (ADR-019). Removing the newer characters also gives the same names on every\n * supported Node.js version.\n */\n\nconst IDENTIFIER_START_RE = new RegExp(\n `^[[\\\\p{ID_Start}$_]--[${NEWER_IDENTIFIER_START.join(\"\")}]]`,\n \"v\",\n);\nconst INVALID_IDENTIFIER_PART_RE = new RegExp(\n `[^[\\\\p{ID_Continue}$\\\\u{200C}\\\\u{200D}]--[${NEWER_IDENTIFIER_PART.join(\"\")}]]`,\n \"gv\",\n);\n\n/** Whether the text starts with a character that may start an identifier. */\nexport function hasIdentifierStart(text: string): boolean {\n return IDENTIFIER_START_RE.test(text);\n}\n\n/** The text with each character that cannot be part of an identifier replaced by `_`. */\nexport function withIdentifierParts(text: string): string {\n return text.replace(INVALID_IDENTIFIER_PART_RE, \"_\");\n}\n\n/**\n * The names TypeScript does not accept as a type alias name: reserved words, strict mode and\n * module reserved words, and predefined type names (`void`, `string`, …). Checked with the\n * TypeScript 6.0 compiler on `export type <name> = 1;` in a module.\n */\nconst RESERVED_TYPE_NAMES: ReadonlySet<string> = new Set(\n (\n \"any as await bigint boolean break case catch class const continue debugger default delete \" +\n \"do else enum export extends false finally for function if implements import in instanceof \" +\n \"interface let never new null number object package private protected public return static \" +\n \"string super switch symbol this throw true try typeof undefined unknown var void while with \" +\n \"yield\"\n ).split(\" \"),\n);\n\n/** Whether TypeScript rejects the text as the name of a type alias. */\nexport function isReservedTypeName(text: string): boolean {\n return RESERVED_TYPE_NAMES.has(text);\n}\n"],"names":["NEWER_IDENTIFIER_START","NEWER_IDENTIFIER_PART"],"mappings":";;;;AAWA,MAAM,sBAAsB,IAAI,MAAA;AAAA,EAC9B,CAAA,sBAAA,EAAyBA,4CAAA,CAAuB,IAAA,CAAK,EAAE,CAAC,CAAA,EAAA,CAAA;AAAA,EACxD;AACF,CAAA;AACA,MAAM,6BAA6B,IAAI,MAAA;AAAA,EACrC,CAAA,0CAAA,EAA6CC,2CAAA,CAAsB,IAAA,CAAK,EAAE,CAAC,CAAA,EAAA,CAAA;AAAA,EAC3E;AACF,CAAA;AAGO,SAAS,mBAAmB,IAAA,EAAuB;AACxD,EAAA,OAAO,mBAAA,CAAoB,KAAK,IAAI,CAAA;AACtC;AAGO,SAAS,oBAAoB,IAAA,EAAsB;AACxD,EAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,0BAAA,EAA4B,GAAG,CAAA;AACrD;AAOA,MAAM,sBAA2C,IAAI,GAAA;AAAA,EAEjD,iXAAA,CAKA,MAAM,GAAG;AACb,CAAA;AAGO,SAAS,mBAAmB,IAAA,EAAuB;AACxD,EAAA,OAAO,mBAAA,CAAoB,IAAI,IAAI,CAAA;AACrC;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NEWER_IDENTIFIER_PART, NEWER_IDENTIFIER_START } from './newer-identifier-ranges.mjs';
|
|
2
|
+
|
|
3
|
+
const IDENTIFIER_START_RE = new RegExp(
|
|
4
|
+
`^[[\\p{ID_Start}$_]--[${NEWER_IDENTIFIER_START.join("")}]]`,
|
|
5
|
+
"v"
|
|
6
|
+
);
|
|
7
|
+
const INVALID_IDENTIFIER_PART_RE = new RegExp(
|
|
8
|
+
`[^[\\p{ID_Continue}$\\u{200C}\\u{200D}]--[${NEWER_IDENTIFIER_PART.join("")}]]`,
|
|
9
|
+
"gv"
|
|
10
|
+
);
|
|
11
|
+
function hasIdentifierStart(text) {
|
|
12
|
+
return IDENTIFIER_START_RE.test(text);
|
|
13
|
+
}
|
|
14
|
+
function withIdentifierParts(text) {
|
|
15
|
+
return text.replace(INVALID_IDENTIFIER_PART_RE, "_");
|
|
16
|
+
}
|
|
17
|
+
const RESERVED_TYPE_NAMES = new Set(
|
|
18
|
+
"any as await bigint boolean break case catch class const continue debugger default delete do else enum export extends false finally for function if implements import in instanceof interface let never new null number object package private protected public return static string super switch symbol this throw true try typeof undefined unknown var void while with yield".split(" ")
|
|
19
|
+
);
|
|
20
|
+
function isReservedTypeName(text) {
|
|
21
|
+
return RESERVED_TYPE_NAMES.has(text);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { hasIdentifierStart, isReservedTypeName, withIdentifierParts };
|
|
25
|
+
//# sourceMappingURL=identifier-text.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier-text.mjs","sources":["../../../src/domain/ir/identifier-text.ts"],"sourcesContent":["import { NEWER_IDENTIFIER_PART, NEWER_IDENTIFIER_START } from \"./newer-identifier-ranges.js\";\n\n/**\n * Identifier rules of ECMAScript (Unicode `ID_Start` / `ID_Continue`, plus `$`, `_`, ZWNJ and\n * ZWJ), for names built from document text, without the characters that TypeScript's scanner\n * does not know yet. Node.js follows a newer Unicode version than TypeScript's identifier tables,\n * so a name such as `Name` (Unicode 17) passed here and failed to parse with \"Invalid\n * character\" (ADR-019). Removing the newer characters also gives the same names on every\n * supported Node.js version.\n */\n\nconst IDENTIFIER_START_RE = new RegExp(\n `^[[\\\\p{ID_Start}$_]--[${NEWER_IDENTIFIER_START.join(\"\")}]]`,\n \"v\",\n);\nconst INVALID_IDENTIFIER_PART_RE = new RegExp(\n `[^[\\\\p{ID_Continue}$\\\\u{200C}\\\\u{200D}]--[${NEWER_IDENTIFIER_PART.join(\"\")}]]`,\n \"gv\",\n);\n\n/** Whether the text starts with a character that may start an identifier. */\nexport function hasIdentifierStart(text: string): boolean {\n return IDENTIFIER_START_RE.test(text);\n}\n\n/** The text with each character that cannot be part of an identifier replaced by `_`. */\nexport function withIdentifierParts(text: string): string {\n return text.replace(INVALID_IDENTIFIER_PART_RE, \"_\");\n}\n\n/**\n * The names TypeScript does not accept as a type alias name: reserved words, strict mode and\n * module reserved words, and predefined type names (`void`, `string`, …). Checked with the\n * TypeScript 6.0 compiler on `export type <name> = 1;` in a module.\n */\nconst RESERVED_TYPE_NAMES: ReadonlySet<string> = new Set(\n (\n \"any as await bigint boolean break case catch class const continue debugger default delete \" +\n \"do else enum export extends false finally for function if implements import in instanceof \" +\n \"interface let never new null number object package private protected public return static \" +\n \"string super switch symbol this throw true try typeof undefined unknown var void while with \" +\n \"yield\"\n ).split(\" \"),\n);\n\n/** Whether TypeScript rejects the text as the name of a type alias. */\nexport function isReservedTypeName(text: string): boolean {\n return RESERVED_TYPE_NAMES.has(text);\n}\n"],"names":[],"mappings":";;AAWA,MAAM,sBAAsB,IAAI,MAAA;AAAA,EAC9B,CAAA,sBAAA,EAAyB,sBAAA,CAAuB,IAAA,CAAK,EAAE,CAAC,CAAA,EAAA,CAAA;AAAA,EACxD;AACF,CAAA;AACA,MAAM,6BAA6B,IAAI,MAAA;AAAA,EACrC,CAAA,0CAAA,EAA6C,qBAAA,CAAsB,IAAA,CAAK,EAAE,CAAC,CAAA,EAAA,CAAA;AAAA,EAC3E;AACF,CAAA;AAGO,SAAS,mBAAmB,IAAA,EAAuB;AACxD,EAAA,OAAO,mBAAA,CAAoB,KAAK,IAAI,CAAA;AACtC;AAGO,SAAS,oBAAoB,IAAA,EAAsB;AACxD,EAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,0BAAA,EAA4B,GAAG,CAAA;AACrD;AAOA,MAAM,sBAA2C,IAAI,GAAA;AAAA,EAEjD,iXAAA,CAKA,MAAM,GAAG;AACb,CAAA;AAGO,SAAS,mBAAmB,IAAA,EAAuB;AACxD,EAAA,OAAO,mBAAA,CAAoB,IAAI,IAAI,CAAA;AACrC;;"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const NEWER_IDENTIFIER_START = [
|
|
4
|
+
"\\u{88F}",
|
|
5
|
+
"\\u{C5C}",
|
|
6
|
+
"\\u{CDC}",
|
|
7
|
+
"\\u{1C89}-\\u{1C8A}",
|
|
8
|
+
"\\u{A7CB}-\\u{A7CF}",
|
|
9
|
+
"\\u{A7D2}",
|
|
10
|
+
"\\u{A7D4}",
|
|
11
|
+
"\\u{A7DA}-\\u{A7DC}",
|
|
12
|
+
"\\u{A7F1}",
|
|
13
|
+
"\\u{105C0}-\\u{105F3}",
|
|
14
|
+
"\\u{10940}-\\u{10959}",
|
|
15
|
+
"\\u{10D4A}-\\u{10D65}",
|
|
16
|
+
"\\u{10D6F}-\\u{10D85}",
|
|
17
|
+
"\\u{10EC2}-\\u{10EC7}",
|
|
18
|
+
"\\u{11380}-\\u{11389}",
|
|
19
|
+
"\\u{1138B}",
|
|
20
|
+
"\\u{1138E}",
|
|
21
|
+
"\\u{11390}-\\u{113B5}",
|
|
22
|
+
"\\u{113B7}",
|
|
23
|
+
"\\u{113D1}",
|
|
24
|
+
"\\u{113D3}",
|
|
25
|
+
"\\u{11BC0}-\\u{11BE0}",
|
|
26
|
+
"\\u{11DB0}-\\u{11DDB}",
|
|
27
|
+
"\\u{13460}-\\u{143FA}",
|
|
28
|
+
"\\u{16100}-\\u{1611D}",
|
|
29
|
+
"\\u{16D40}-\\u{16D6C}",
|
|
30
|
+
"\\u{16EA0}-\\u{16EB8}",
|
|
31
|
+
"\\u{16EBB}-\\u{16ED3}",
|
|
32
|
+
"\\u{16FF2}-\\u{16FF6}",
|
|
33
|
+
"\\u{187F8}-\\u{187FF}",
|
|
34
|
+
"\\u{18CFF}",
|
|
35
|
+
"\\u{18D09}-\\u{18D1E}",
|
|
36
|
+
"\\u{18D80}-\\u{18DF2}",
|
|
37
|
+
"\\u{1E5D0}-\\u{1E5ED}",
|
|
38
|
+
"\\u{1E5F0}",
|
|
39
|
+
"\\u{1E6C0}-\\u{1E6DE}",
|
|
40
|
+
"\\u{1E6E0}-\\u{1E6E2}",
|
|
41
|
+
"\\u{1E6E4}-\\u{1E6E5}",
|
|
42
|
+
"\\u{1E6E7}-\\u{1E6ED}",
|
|
43
|
+
"\\u{1E6F0}-\\u{1E6F4}",
|
|
44
|
+
"\\u{1E6FE}-\\u{1E6FF}",
|
|
45
|
+
"\\u{2B73A}-\\u{2B73F}",
|
|
46
|
+
"\\u{2CEA2}-\\u{2CEAD}",
|
|
47
|
+
"\\u{323B0}-\\u{33479}"
|
|
48
|
+
];
|
|
49
|
+
const NEWER_IDENTIFIER_PART = [
|
|
50
|
+
"\\u{88F}",
|
|
51
|
+
"\\u{897}",
|
|
52
|
+
"\\u{C5C}",
|
|
53
|
+
"\\u{CDC}",
|
|
54
|
+
"\\u{1ACF}-\\u{1ADD}",
|
|
55
|
+
"\\u{1AE0}-\\u{1AEB}",
|
|
56
|
+
"\\u{1C89}-\\u{1C8A}",
|
|
57
|
+
"\\u{A7CB}-\\u{A7CF}",
|
|
58
|
+
"\\u{A7D2}",
|
|
59
|
+
"\\u{A7D4}",
|
|
60
|
+
"\\u{A7DA}-\\u{A7DC}",
|
|
61
|
+
"\\u{A7F1}",
|
|
62
|
+
"\\u{105C0}-\\u{105F3}",
|
|
63
|
+
"\\u{10940}-\\u{10959}",
|
|
64
|
+
"\\u{10D40}-\\u{10D65}",
|
|
65
|
+
"\\u{10D69}-\\u{10D6D}",
|
|
66
|
+
"\\u{10D6F}-\\u{10D85}",
|
|
67
|
+
"\\u{10EC2}-\\u{10EC7}",
|
|
68
|
+
"\\u{10EFA}-\\u{10EFC}",
|
|
69
|
+
"\\u{11380}-\\u{11389}",
|
|
70
|
+
"\\u{1138B}",
|
|
71
|
+
"\\u{1138E}",
|
|
72
|
+
"\\u{11390}-\\u{113B5}",
|
|
73
|
+
"\\u{113B7}-\\u{113C0}",
|
|
74
|
+
"\\u{113C2}",
|
|
75
|
+
"\\u{113C5}",
|
|
76
|
+
"\\u{113C7}-\\u{113CA}",
|
|
77
|
+
"\\u{113CC}-\\u{113D3}",
|
|
78
|
+
"\\u{113E1}-\\u{113E2}",
|
|
79
|
+
"\\u{116D0}-\\u{116E3}",
|
|
80
|
+
"\\u{11B60}-\\u{11B67}",
|
|
81
|
+
"\\u{11BC0}-\\u{11BE0}",
|
|
82
|
+
"\\u{11BF0}-\\u{11BF9}",
|
|
83
|
+
"\\u{11DB0}-\\u{11DDB}",
|
|
84
|
+
"\\u{11DE0}-\\u{11DE9}",
|
|
85
|
+
"\\u{11F5A}",
|
|
86
|
+
"\\u{13460}-\\u{143FA}",
|
|
87
|
+
"\\u{16100}-\\u{16139}",
|
|
88
|
+
"\\u{16D40}-\\u{16D6C}",
|
|
89
|
+
"\\u{16D70}-\\u{16D79}",
|
|
90
|
+
"\\u{16EA0}-\\u{16EB8}",
|
|
91
|
+
"\\u{16EBB}-\\u{16ED3}",
|
|
92
|
+
"\\u{16FF2}-\\u{16FF6}",
|
|
93
|
+
"\\u{187F8}-\\u{187FF}",
|
|
94
|
+
"\\u{18CFF}",
|
|
95
|
+
"\\u{18D09}-\\u{18D1E}",
|
|
96
|
+
"\\u{18D80}-\\u{18DF2}",
|
|
97
|
+
"\\u{1CCF0}-\\u{1CCF9}",
|
|
98
|
+
"\\u{1E5D0}-\\u{1E5FA}",
|
|
99
|
+
"\\u{1E6C0}-\\u{1E6DE}",
|
|
100
|
+
"\\u{1E6E0}-\\u{1E6F5}",
|
|
101
|
+
"\\u{1E6FE}-\\u{1E6FF}",
|
|
102
|
+
"\\u{2B73A}-\\u{2B73F}",
|
|
103
|
+
"\\u{2CEA2}-\\u{2CEAD}",
|
|
104
|
+
"\\u{323B0}-\\u{33479}"
|
|
105
|
+
];
|
|
106
|
+
|
|
107
|
+
exports.NEWER_IDENTIFIER_PART = NEWER_IDENTIFIER_PART;
|
|
108
|
+
exports.NEWER_IDENTIFIER_START = NEWER_IDENTIFIER_START;
|
|
109
|
+
//# sourceMappingURL=newer-identifier-ranges.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newer-identifier-ranges.cjs","sources":["../../../src/domain/ir/newer-identifier-ranges.ts"],"sourcesContent":["// Generated by scripts/identifier-ranges.ts (Node.js 26.0.0, Unicode\n// 17.0, TypeScript 5.9.3). Do not edit.\n\n/** `ID_Start` code points that TypeScript's scanner does not accept, as regex class items. */\nexport const NEWER_IDENTIFIER_START: readonly string[] = [\n \"\\\\u{88F}\",\n \"\\\\u{C5C}\",\n \"\\\\u{CDC}\",\n \"\\\\u{1C89}-\\\\u{1C8A}\",\n \"\\\\u{A7CB}-\\\\u{A7CF}\",\n \"\\\\u{A7D2}\",\n \"\\\\u{A7D4}\",\n \"\\\\u{A7DA}-\\\\u{A7DC}\",\n \"\\\\u{A7F1}\",\n \"\\\\u{105C0}-\\\\u{105F3}\",\n \"\\\\u{10940}-\\\\u{10959}\",\n \"\\\\u{10D4A}-\\\\u{10D65}\",\n \"\\\\u{10D6F}-\\\\u{10D85}\",\n \"\\\\u{10EC2}-\\\\u{10EC7}\",\n \"\\\\u{11380}-\\\\u{11389}\",\n \"\\\\u{1138B}\",\n \"\\\\u{1138E}\",\n \"\\\\u{11390}-\\\\u{113B5}\",\n \"\\\\u{113B7}\",\n \"\\\\u{113D1}\",\n \"\\\\u{113D3}\",\n \"\\\\u{11BC0}-\\\\u{11BE0}\",\n \"\\\\u{11DB0}-\\\\u{11DDB}\",\n \"\\\\u{13460}-\\\\u{143FA}\",\n \"\\\\u{16100}-\\\\u{1611D}\",\n \"\\\\u{16D40}-\\\\u{16D6C}\",\n \"\\\\u{16EA0}-\\\\u{16EB8}\",\n \"\\\\u{16EBB}-\\\\u{16ED3}\",\n \"\\\\u{16FF2}-\\\\u{16FF6}\",\n \"\\\\u{187F8}-\\\\u{187FF}\",\n \"\\\\u{18CFF}\",\n \"\\\\u{18D09}-\\\\u{18D1E}\",\n \"\\\\u{18D80}-\\\\u{18DF2}\",\n \"\\\\u{1E5D0}-\\\\u{1E5ED}\",\n \"\\\\u{1E5F0}\",\n \"\\\\u{1E6C0}-\\\\u{1E6DE}\",\n \"\\\\u{1E6E0}-\\\\u{1E6E2}\",\n \"\\\\u{1E6E4}-\\\\u{1E6E5}\",\n \"\\\\u{1E6E7}-\\\\u{1E6ED}\",\n \"\\\\u{1E6F0}-\\\\u{1E6F4}\",\n \"\\\\u{1E6FE}-\\\\u{1E6FF}\",\n \"\\\\u{2B73A}-\\\\u{2B73F}\",\n \"\\\\u{2CEA2}-\\\\u{2CEAD}\",\n \"\\\\u{323B0}-\\\\u{33479}\",\n];\n\n/** `ID_Continue` code points that TypeScript's scanner does not accept, as regex class items. */\nexport const NEWER_IDENTIFIER_PART: readonly string[] = [\n \"\\\\u{88F}\",\n \"\\\\u{897}\",\n \"\\\\u{C5C}\",\n \"\\\\u{CDC}\",\n \"\\\\u{1ACF}-\\\\u{1ADD}\",\n \"\\\\u{1AE0}-\\\\u{1AEB}\",\n \"\\\\u{1C89}-\\\\u{1C8A}\",\n \"\\\\u{A7CB}-\\\\u{A7CF}\",\n \"\\\\u{A7D2}\",\n \"\\\\u{A7D4}\",\n \"\\\\u{A7DA}-\\\\u{A7DC}\",\n \"\\\\u{A7F1}\",\n \"\\\\u{105C0}-\\\\u{105F3}\",\n \"\\\\u{10940}-\\\\u{10959}\",\n \"\\\\u{10D40}-\\\\u{10D65}\",\n \"\\\\u{10D69}-\\\\u{10D6D}\",\n \"\\\\u{10D6F}-\\\\u{10D85}\",\n \"\\\\u{10EC2}-\\\\u{10EC7}\",\n \"\\\\u{10EFA}-\\\\u{10EFC}\",\n \"\\\\u{11380}-\\\\u{11389}\",\n \"\\\\u{1138B}\",\n \"\\\\u{1138E}\",\n \"\\\\u{11390}-\\\\u{113B5}\",\n \"\\\\u{113B7}-\\\\u{113C0}\",\n \"\\\\u{113C2}\",\n \"\\\\u{113C5}\",\n \"\\\\u{113C7}-\\\\u{113CA}\",\n \"\\\\u{113CC}-\\\\u{113D3}\",\n \"\\\\u{113E1}-\\\\u{113E2}\",\n \"\\\\u{116D0}-\\\\u{116E3}\",\n \"\\\\u{11B60}-\\\\u{11B67}\",\n \"\\\\u{11BC0}-\\\\u{11BE0}\",\n \"\\\\u{11BF0}-\\\\u{11BF9}\",\n \"\\\\u{11DB0}-\\\\u{11DDB}\",\n \"\\\\u{11DE0}-\\\\u{11DE9}\",\n \"\\\\u{11F5A}\",\n \"\\\\u{13460}-\\\\u{143FA}\",\n \"\\\\u{16100}-\\\\u{16139}\",\n \"\\\\u{16D40}-\\\\u{16D6C}\",\n \"\\\\u{16D70}-\\\\u{16D79}\",\n \"\\\\u{16EA0}-\\\\u{16EB8}\",\n \"\\\\u{16EBB}-\\\\u{16ED3}\",\n \"\\\\u{16FF2}-\\\\u{16FF6}\",\n \"\\\\u{187F8}-\\\\u{187FF}\",\n \"\\\\u{18CFF}\",\n \"\\\\u{18D09}-\\\\u{18D1E}\",\n \"\\\\u{18D80}-\\\\u{18DF2}\",\n \"\\\\u{1CCF0}-\\\\u{1CCF9}\",\n \"\\\\u{1E5D0}-\\\\u{1E5FA}\",\n \"\\\\u{1E6C0}-\\\\u{1E6DE}\",\n \"\\\\u{1E6E0}-\\\\u{1E6F5}\",\n \"\\\\u{1E6FE}-\\\\u{1E6FF}\",\n \"\\\\u{2B73A}-\\\\u{2B73F}\",\n \"\\\\u{2CEA2}-\\\\u{2CEAD}\",\n \"\\\\u{323B0}-\\\\u{33479}\",\n];\n"],"names":[],"mappings":";;AAIO,MAAM,sBAAA,GAA4C;AAAA,EACvD,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACF;AAGO,MAAM,qBAAA,GAA2C;AAAA,EACtD,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACF;;;"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
const NEWER_IDENTIFIER_START = [
|
|
2
|
+
"\\u{88F}",
|
|
3
|
+
"\\u{C5C}",
|
|
4
|
+
"\\u{CDC}",
|
|
5
|
+
"\\u{1C89}-\\u{1C8A}",
|
|
6
|
+
"\\u{A7CB}-\\u{A7CF}",
|
|
7
|
+
"\\u{A7D2}",
|
|
8
|
+
"\\u{A7D4}",
|
|
9
|
+
"\\u{A7DA}-\\u{A7DC}",
|
|
10
|
+
"\\u{A7F1}",
|
|
11
|
+
"\\u{105C0}-\\u{105F3}",
|
|
12
|
+
"\\u{10940}-\\u{10959}",
|
|
13
|
+
"\\u{10D4A}-\\u{10D65}",
|
|
14
|
+
"\\u{10D6F}-\\u{10D85}",
|
|
15
|
+
"\\u{10EC2}-\\u{10EC7}",
|
|
16
|
+
"\\u{11380}-\\u{11389}",
|
|
17
|
+
"\\u{1138B}",
|
|
18
|
+
"\\u{1138E}",
|
|
19
|
+
"\\u{11390}-\\u{113B5}",
|
|
20
|
+
"\\u{113B7}",
|
|
21
|
+
"\\u{113D1}",
|
|
22
|
+
"\\u{113D3}",
|
|
23
|
+
"\\u{11BC0}-\\u{11BE0}",
|
|
24
|
+
"\\u{11DB0}-\\u{11DDB}",
|
|
25
|
+
"\\u{13460}-\\u{143FA}",
|
|
26
|
+
"\\u{16100}-\\u{1611D}",
|
|
27
|
+
"\\u{16D40}-\\u{16D6C}",
|
|
28
|
+
"\\u{16EA0}-\\u{16EB8}",
|
|
29
|
+
"\\u{16EBB}-\\u{16ED3}",
|
|
30
|
+
"\\u{16FF2}-\\u{16FF6}",
|
|
31
|
+
"\\u{187F8}-\\u{187FF}",
|
|
32
|
+
"\\u{18CFF}",
|
|
33
|
+
"\\u{18D09}-\\u{18D1E}",
|
|
34
|
+
"\\u{18D80}-\\u{18DF2}",
|
|
35
|
+
"\\u{1E5D0}-\\u{1E5ED}",
|
|
36
|
+
"\\u{1E5F0}",
|
|
37
|
+
"\\u{1E6C0}-\\u{1E6DE}",
|
|
38
|
+
"\\u{1E6E0}-\\u{1E6E2}",
|
|
39
|
+
"\\u{1E6E4}-\\u{1E6E5}",
|
|
40
|
+
"\\u{1E6E7}-\\u{1E6ED}",
|
|
41
|
+
"\\u{1E6F0}-\\u{1E6F4}",
|
|
42
|
+
"\\u{1E6FE}-\\u{1E6FF}",
|
|
43
|
+
"\\u{2B73A}-\\u{2B73F}",
|
|
44
|
+
"\\u{2CEA2}-\\u{2CEAD}",
|
|
45
|
+
"\\u{323B0}-\\u{33479}"
|
|
46
|
+
];
|
|
47
|
+
const NEWER_IDENTIFIER_PART = [
|
|
48
|
+
"\\u{88F}",
|
|
49
|
+
"\\u{897}",
|
|
50
|
+
"\\u{C5C}",
|
|
51
|
+
"\\u{CDC}",
|
|
52
|
+
"\\u{1ACF}-\\u{1ADD}",
|
|
53
|
+
"\\u{1AE0}-\\u{1AEB}",
|
|
54
|
+
"\\u{1C89}-\\u{1C8A}",
|
|
55
|
+
"\\u{A7CB}-\\u{A7CF}",
|
|
56
|
+
"\\u{A7D2}",
|
|
57
|
+
"\\u{A7D4}",
|
|
58
|
+
"\\u{A7DA}-\\u{A7DC}",
|
|
59
|
+
"\\u{A7F1}",
|
|
60
|
+
"\\u{105C0}-\\u{105F3}",
|
|
61
|
+
"\\u{10940}-\\u{10959}",
|
|
62
|
+
"\\u{10D40}-\\u{10D65}",
|
|
63
|
+
"\\u{10D69}-\\u{10D6D}",
|
|
64
|
+
"\\u{10D6F}-\\u{10D85}",
|
|
65
|
+
"\\u{10EC2}-\\u{10EC7}",
|
|
66
|
+
"\\u{10EFA}-\\u{10EFC}",
|
|
67
|
+
"\\u{11380}-\\u{11389}",
|
|
68
|
+
"\\u{1138B}",
|
|
69
|
+
"\\u{1138E}",
|
|
70
|
+
"\\u{11390}-\\u{113B5}",
|
|
71
|
+
"\\u{113B7}-\\u{113C0}",
|
|
72
|
+
"\\u{113C2}",
|
|
73
|
+
"\\u{113C5}",
|
|
74
|
+
"\\u{113C7}-\\u{113CA}",
|
|
75
|
+
"\\u{113CC}-\\u{113D3}",
|
|
76
|
+
"\\u{113E1}-\\u{113E2}",
|
|
77
|
+
"\\u{116D0}-\\u{116E3}",
|
|
78
|
+
"\\u{11B60}-\\u{11B67}",
|
|
79
|
+
"\\u{11BC0}-\\u{11BE0}",
|
|
80
|
+
"\\u{11BF0}-\\u{11BF9}",
|
|
81
|
+
"\\u{11DB0}-\\u{11DDB}",
|
|
82
|
+
"\\u{11DE0}-\\u{11DE9}",
|
|
83
|
+
"\\u{11F5A}",
|
|
84
|
+
"\\u{13460}-\\u{143FA}",
|
|
85
|
+
"\\u{16100}-\\u{16139}",
|
|
86
|
+
"\\u{16D40}-\\u{16D6C}",
|
|
87
|
+
"\\u{16D70}-\\u{16D79}",
|
|
88
|
+
"\\u{16EA0}-\\u{16EB8}",
|
|
89
|
+
"\\u{16EBB}-\\u{16ED3}",
|
|
90
|
+
"\\u{16FF2}-\\u{16FF6}",
|
|
91
|
+
"\\u{187F8}-\\u{187FF}",
|
|
92
|
+
"\\u{18CFF}",
|
|
93
|
+
"\\u{18D09}-\\u{18D1E}",
|
|
94
|
+
"\\u{18D80}-\\u{18DF2}",
|
|
95
|
+
"\\u{1CCF0}-\\u{1CCF9}",
|
|
96
|
+
"\\u{1E5D0}-\\u{1E5FA}",
|
|
97
|
+
"\\u{1E6C0}-\\u{1E6DE}",
|
|
98
|
+
"\\u{1E6E0}-\\u{1E6F5}",
|
|
99
|
+
"\\u{1E6FE}-\\u{1E6FF}",
|
|
100
|
+
"\\u{2B73A}-\\u{2B73F}",
|
|
101
|
+
"\\u{2CEA2}-\\u{2CEAD}",
|
|
102
|
+
"\\u{323B0}-\\u{33479}"
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
export { NEWER_IDENTIFIER_PART, NEWER_IDENTIFIER_START };
|
|
106
|
+
//# sourceMappingURL=newer-identifier-ranges.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newer-identifier-ranges.mjs","sources":["../../../src/domain/ir/newer-identifier-ranges.ts"],"sourcesContent":["// Generated by scripts/identifier-ranges.ts (Node.js 26.0.0, Unicode\n// 17.0, TypeScript 5.9.3). Do not edit.\n\n/** `ID_Start` code points that TypeScript's scanner does not accept, as regex class items. */\nexport const NEWER_IDENTIFIER_START: readonly string[] = [\n \"\\\\u{88F}\",\n \"\\\\u{C5C}\",\n \"\\\\u{CDC}\",\n \"\\\\u{1C89}-\\\\u{1C8A}\",\n \"\\\\u{A7CB}-\\\\u{A7CF}\",\n \"\\\\u{A7D2}\",\n \"\\\\u{A7D4}\",\n \"\\\\u{A7DA}-\\\\u{A7DC}\",\n \"\\\\u{A7F1}\",\n \"\\\\u{105C0}-\\\\u{105F3}\",\n \"\\\\u{10940}-\\\\u{10959}\",\n \"\\\\u{10D4A}-\\\\u{10D65}\",\n \"\\\\u{10D6F}-\\\\u{10D85}\",\n \"\\\\u{10EC2}-\\\\u{10EC7}\",\n \"\\\\u{11380}-\\\\u{11389}\",\n \"\\\\u{1138B}\",\n \"\\\\u{1138E}\",\n \"\\\\u{11390}-\\\\u{113B5}\",\n \"\\\\u{113B7}\",\n \"\\\\u{113D1}\",\n \"\\\\u{113D3}\",\n \"\\\\u{11BC0}-\\\\u{11BE0}\",\n \"\\\\u{11DB0}-\\\\u{11DDB}\",\n \"\\\\u{13460}-\\\\u{143FA}\",\n \"\\\\u{16100}-\\\\u{1611D}\",\n \"\\\\u{16D40}-\\\\u{16D6C}\",\n \"\\\\u{16EA0}-\\\\u{16EB8}\",\n \"\\\\u{16EBB}-\\\\u{16ED3}\",\n \"\\\\u{16FF2}-\\\\u{16FF6}\",\n \"\\\\u{187F8}-\\\\u{187FF}\",\n \"\\\\u{18CFF}\",\n \"\\\\u{18D09}-\\\\u{18D1E}\",\n \"\\\\u{18D80}-\\\\u{18DF2}\",\n \"\\\\u{1E5D0}-\\\\u{1E5ED}\",\n \"\\\\u{1E5F0}\",\n \"\\\\u{1E6C0}-\\\\u{1E6DE}\",\n \"\\\\u{1E6E0}-\\\\u{1E6E2}\",\n \"\\\\u{1E6E4}-\\\\u{1E6E5}\",\n \"\\\\u{1E6E7}-\\\\u{1E6ED}\",\n \"\\\\u{1E6F0}-\\\\u{1E6F4}\",\n \"\\\\u{1E6FE}-\\\\u{1E6FF}\",\n \"\\\\u{2B73A}-\\\\u{2B73F}\",\n \"\\\\u{2CEA2}-\\\\u{2CEAD}\",\n \"\\\\u{323B0}-\\\\u{33479}\",\n];\n\n/** `ID_Continue` code points that TypeScript's scanner does not accept, as regex class items. */\nexport const NEWER_IDENTIFIER_PART: readonly string[] = [\n \"\\\\u{88F}\",\n \"\\\\u{897}\",\n \"\\\\u{C5C}\",\n \"\\\\u{CDC}\",\n \"\\\\u{1ACF}-\\\\u{1ADD}\",\n \"\\\\u{1AE0}-\\\\u{1AEB}\",\n \"\\\\u{1C89}-\\\\u{1C8A}\",\n \"\\\\u{A7CB}-\\\\u{A7CF}\",\n \"\\\\u{A7D2}\",\n \"\\\\u{A7D4}\",\n \"\\\\u{A7DA}-\\\\u{A7DC}\",\n \"\\\\u{A7F1}\",\n \"\\\\u{105C0}-\\\\u{105F3}\",\n \"\\\\u{10940}-\\\\u{10959}\",\n \"\\\\u{10D40}-\\\\u{10D65}\",\n \"\\\\u{10D69}-\\\\u{10D6D}\",\n \"\\\\u{10D6F}-\\\\u{10D85}\",\n \"\\\\u{10EC2}-\\\\u{10EC7}\",\n \"\\\\u{10EFA}-\\\\u{10EFC}\",\n \"\\\\u{11380}-\\\\u{11389}\",\n \"\\\\u{1138B}\",\n \"\\\\u{1138E}\",\n \"\\\\u{11390}-\\\\u{113B5}\",\n \"\\\\u{113B7}-\\\\u{113C0}\",\n \"\\\\u{113C2}\",\n \"\\\\u{113C5}\",\n \"\\\\u{113C7}-\\\\u{113CA}\",\n \"\\\\u{113CC}-\\\\u{113D3}\",\n \"\\\\u{113E1}-\\\\u{113E2}\",\n \"\\\\u{116D0}-\\\\u{116E3}\",\n \"\\\\u{11B60}-\\\\u{11B67}\",\n \"\\\\u{11BC0}-\\\\u{11BE0}\",\n \"\\\\u{11BF0}-\\\\u{11BF9}\",\n \"\\\\u{11DB0}-\\\\u{11DDB}\",\n \"\\\\u{11DE0}-\\\\u{11DE9}\",\n \"\\\\u{11F5A}\",\n \"\\\\u{13460}-\\\\u{143FA}\",\n \"\\\\u{16100}-\\\\u{16139}\",\n \"\\\\u{16D40}-\\\\u{16D6C}\",\n \"\\\\u{16D70}-\\\\u{16D79}\",\n \"\\\\u{16EA0}-\\\\u{16EB8}\",\n \"\\\\u{16EBB}-\\\\u{16ED3}\",\n \"\\\\u{16FF2}-\\\\u{16FF6}\",\n \"\\\\u{187F8}-\\\\u{187FF}\",\n \"\\\\u{18CFF}\",\n \"\\\\u{18D09}-\\\\u{18D1E}\",\n \"\\\\u{18D80}-\\\\u{18DF2}\",\n \"\\\\u{1CCF0}-\\\\u{1CCF9}\",\n \"\\\\u{1E5D0}-\\\\u{1E5FA}\",\n \"\\\\u{1E6C0}-\\\\u{1E6DE}\",\n \"\\\\u{1E6E0}-\\\\u{1E6F5}\",\n \"\\\\u{1E6FE}-\\\\u{1E6FF}\",\n \"\\\\u{2B73A}-\\\\u{2B73F}\",\n \"\\\\u{2CEA2}-\\\\u{2CEAD}\",\n \"\\\\u{323B0}-\\\\u{33479}\",\n];\n"],"names":[],"mappings":"AAIO,MAAM,sBAAA,GAA4C;AAAA,EACvD,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACF;AAGO,MAAM,qBAAA,GAA2C;AAAA,EACtD,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,qBAAA;AAAA,EACA,WAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,YAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA,uBAAA;AAAA,EACA;AACF;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const DEDUPLICATED_KEYWORDS = /* @__PURE__ */ new Set([
|
|
4
|
+
"boolean",
|
|
5
|
+
"never",
|
|
6
|
+
"null",
|
|
7
|
+
"number",
|
|
8
|
+
"string",
|
|
9
|
+
"undefined"
|
|
10
|
+
]);
|
|
11
|
+
function dedupeTypes(types) {
|
|
12
|
+
const seenKeywords = /* @__PURE__ */ new Set();
|
|
13
|
+
const kept = [];
|
|
14
|
+
for (const type of types) {
|
|
15
|
+
if (type.kind === "keyword" && DEDUPLICATED_KEYWORDS.has(type.keyword)) {
|
|
16
|
+
if (seenKeywords.has(type.keyword)) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
seenKeywords.add(type.keyword);
|
|
20
|
+
}
|
|
21
|
+
kept.push(type);
|
|
22
|
+
}
|
|
23
|
+
return kept;
|
|
24
|
+
}
|
|
25
|
+
const ALPHABETIZE_COLLATOR = new Intl.Collator("en-us", { numeric: true });
|
|
26
|
+
function sortEntriesByKey(entries) {
|
|
27
|
+
return entries.map(([key, value]) => [key, value]).sort(([left], [right]) => ALPHABETIZE_COLLATOR.compare(left, right));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
exports.dedupeTypes = dedupeTypes;
|
|
31
|
+
exports.sortEntriesByKey = sortEntriesByKey;
|
|
32
|
+
//# sourceMappingURL=normalize.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.cjs","sources":["../../../src/domain/ir/normalize.ts"],"sourcesContent":["import type { IrKeyword, IrType } from \"./nodes.js\";\n\n/**\n * Keywords that `dedupeTypes` removes when repeated. The original (`tsDedupe`) treats these as\n * primitives; `unknown` is not one of them and is kept even when repeated.\n */\nconst DEDUPLICATED_KEYWORDS: ReadonlySet<IrKeyword> = new Set([\n \"boolean\",\n \"never\",\n \"null\",\n \"number\",\n \"string\",\n \"undefined\",\n]);\n\n/**\n * Remove repeated primitive keywords from a union or intersection member list, keeping the first\n * occurrence and the order. Literals, references and object types are never removed, even when\n * equal: this matches the original `tsDedupe`, which compares only node kinds of primitives.\n */\nexport function dedupeTypes(types: readonly IrType[]): IrType[] {\n const seenKeywords = new Set<IrKeyword>();\n const kept: IrType[] = [];\n for (const type of types) {\n if (type.kind === \"keyword\" && DEDUPLICATED_KEYWORDS.has(type.keyword)) {\n if (seenKeywords.has(type.keyword)) {\n continue;\n }\n seenKeywords.add(type.keyword);\n }\n kept.push(type);\n }\n return kept;\n}\n\n/**\n * The collation the original `getEntries` uses for `alphabetize`. Natural order: `a2` sorts before\n * `a10`. It is locale-based on purpose, to stay byte-compatible with the original output.\n */\nconst ALPHABETIZE_COLLATOR = new Intl.Collator(\"en-us\", { numeric: true });\n\n/**\n * Sort `[key, value]` entries by key like the original `alphabetize` option (ENGINEERING_PLAN 4.1\n * `sortMembers`). The original sorts source entries before it builds members, so transformers call\n * this on entries, not on finished IR members. The sort is stable and returns a new array.\n */\nexport function sortEntriesByKey<T>(entries: readonly (readonly [string, T])[]): [string, T][] {\n return entries\n .map(([key, value]): [string, T] => [key, value])\n .sort(([left], [right]) => ALPHABETIZE_COLLATOR.compare(left, right));\n}\n"],"names":[],"mappings":";;AAMA,MAAM,qBAAA,uBAAoD,GAAA,CAAI;AAAA,EAC5D,SAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAC,CAAA;AAOM,SAAS,YAAY,KAAA,EAAoC;AAC9D,EAAA,MAAM,YAAA,uBAAmB,GAAA,EAAe;AACxC,EAAA,MAAM,OAAiB,EAAC;AACxB,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,IAAA,IAAI,KAAK,IAAA,KAAS,SAAA,IAAa,sBAAsB,GAAA,CAAI,IAAA,CAAK,OAAO,CAAA,EAAG;AACtE,MAAA,IAAI,YAAA,CAAa,GAAA,CAAI,IAAA,CAAK,OAAO,CAAA,EAAG;AAClC,QAAA;AAAA,MACF;AACA,MAAA,YAAA,CAAa,GAAA,CAAI,KAAK,OAAO,CAAA;AAAA,IAC/B;AACA,IAAA,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA,EAChB;AACA,EAAA,OAAO,IAAA;AACT;AAMA,MAAM,oBAAA,GAAuB,IAAI,IAAA,CAAK,QAAA,CAAS,SAAS,EAAE,OAAA,EAAS,MAAM,CAAA;AAOlE,SAAS,iBAAoB,OAAA,EAA2D;AAC7F,EAAA,OAAO,OAAA,CACJ,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAmB,CAAC,GAAA,EAAK,KAAK,CAAC,CAAA,CAC/C,KAAK,CAAC,CAAC,IAAI,CAAA,EAAG,CAAC,KAAK,MAAM,oBAAA,CAAqB,OAAA,CAAQ,IAAA,EAAM,KAAK,CAAC,CAAA;AACxE;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const DEDUPLICATED_KEYWORDS = /* @__PURE__ */ new Set([
|
|
2
|
+
"boolean",
|
|
3
|
+
"never",
|
|
4
|
+
"null",
|
|
5
|
+
"number",
|
|
6
|
+
"string",
|
|
7
|
+
"undefined"
|
|
8
|
+
]);
|
|
9
|
+
function dedupeTypes(types) {
|
|
10
|
+
const seenKeywords = /* @__PURE__ */ new Set();
|
|
11
|
+
const kept = [];
|
|
12
|
+
for (const type of types) {
|
|
13
|
+
if (type.kind === "keyword" && DEDUPLICATED_KEYWORDS.has(type.keyword)) {
|
|
14
|
+
if (seenKeywords.has(type.keyword)) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
seenKeywords.add(type.keyword);
|
|
18
|
+
}
|
|
19
|
+
kept.push(type);
|
|
20
|
+
}
|
|
21
|
+
return kept;
|
|
22
|
+
}
|
|
23
|
+
const ALPHABETIZE_COLLATOR = new Intl.Collator("en-us", { numeric: true });
|
|
24
|
+
function sortEntriesByKey(entries) {
|
|
25
|
+
return entries.map(([key, value]) => [key, value]).sort(([left], [right]) => ALPHABETIZE_COLLATOR.compare(left, right));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { dedupeTypes, sortEntriesByKey };
|
|
29
|
+
//# sourceMappingURL=normalize.mjs.map
|