@nikovirtala/projen-constructs 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1406 -66
- package/docs/api/.nojekyll +1 -0
- package/docs/api/assets/hierarchy.js +1 -0
- package/docs/api/assets/highlight.css +99 -0
- package/docs/api/assets/icons.js +18 -0
- package/docs/api/assets/icons.svg +1 -0
- package/docs/api/assets/main.js +60 -0
- package/docs/api/assets/navigation.js +1 -0
- package/docs/api/assets/search.js +1 -0
- package/docs/api/assets/style.css +1633 -0
- package/docs/api/classes/AwsCdkConstructLibraryProject.html +308 -0
- package/docs/api/classes/AwsCdkTypeScriptAppProject.html +306 -0
- package/docs/api/classes/JsiiProject.html +294 -0
- package/docs/api/classes/ProjectGenerator.html +38 -0
- package/docs/api/classes/TypeDoc.html +37 -0
- package/docs/api/classes/TypeScriptProject.html +294 -0
- package/docs/api/classes/Vitest.html +38 -0
- package/docs/api/enums/CommentStyle.html +11 -0
- package/docs/api/enums/CoverageProvider.html +7 -0
- package/docs/api/enums/CoverageReporter.html +11 -0
- package/docs/api/enums/EntryPointStrategy.html +11 -0
- package/docs/api/enums/Environment.html +12 -0
- package/docs/api/enums/LogLevel.html +13 -0
- package/docs/api/enums/Pool.html +17 -0
- package/docs/api/enums/ProjectType.html +47 -0
- package/docs/api/enums/Visibility.html +9 -0
- package/docs/api/functions/applyDefaults.html +1 -0
- package/docs/api/functions/toJson_TypeDocConfiguration.html +2 -0
- package/docs/api/hierarchy.html +1 -0
- package/docs/api/index.html +86 -0
- package/docs/api/interfaces/AwsCdkConstructLibraryProjectOptions.html +1075 -0
- package/docs/api/interfaces/AwsCdkTypeScriptAppProjectOptions.html +1026 -0
- package/docs/api/interfaces/Component.html +13 -0
- package/docs/api/interfaces/ComponentOptions.html +8 -0
- package/docs/api/interfaces/JsiiProjectOptions.html +1003 -0
- package/docs/api/interfaces/ProjectGeneratorOptions.html +49 -0
- package/docs/api/interfaces/TypeDocConfiguration.html +141 -0
- package/docs/api/interfaces/TypeDocOptions.html +9 -0
- package/docs/api/interfaces/TypeScriptProjectOptions.html +899 -0
- package/docs/api/interfaces/ValidationOptions.html +9 -0
- package/docs/api/interfaces/VitestConfigOptions.html +111 -0
- package/docs/api/interfaces/VitestOptions.html +13 -0
- package/docs/api/modules.html +1 -0
- package/docs/api/variables/defaultOptions.html +1 -0
- package/docs/api/variables/defaults.html +1 -0
- package/docs/api/variables/projectDefaultOptions.html +1 -0
- package/lib/components/typedoc.js +5 -1
- package/lib/components/vitest.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/project-generator.js +1 -1
- package/lib/projects/awscdk-construct-library.generated.js +1 -1
- package/lib/projects/awscdk-typescript-app.generated.js +1 -1
- package/lib/projects/jsii-options.generated.d.ts +11 -1
- package/lib/projects/jsii-options.generated.js +1 -1
- package/lib/projects/jsii.generated.js +5 -4
- package/lib/projects/typescript.generated.js +1 -1
- package/node_modules/@jsii/spec/LICENSE +202 -0
- package/node_modules/@jsii/spec/NOTICE +2 -0
- package/node_modules/@jsii/spec/README.md +13 -0
- package/node_modules/@jsii/spec/jest.config.mjs +9 -0
- package/node_modules/@jsii/spec/lib/assembly-utils.d.ts +59 -0
- package/node_modules/@jsii/spec/lib/assembly-utils.js +158 -0
- package/node_modules/@jsii/spec/lib/assembly.d.ts +920 -0
- package/node_modules/@jsii/spec/lib/assembly.js +203 -0
- package/node_modules/@jsii/spec/lib/configuration.d.ts +147 -0
- package/node_modules/@jsii/spec/lib/configuration.js +3 -0
- package/node_modules/@jsii/spec/lib/index.d.ts +7 -0
- package/node_modules/@jsii/spec/lib/index.js +23 -0
- package/node_modules/@jsii/spec/lib/name-tree.d.ts +60 -0
- package/node_modules/@jsii/spec/lib/name-tree.js +84 -0
- package/node_modules/@jsii/spec/lib/redirect.d.ts +33 -0
- package/node_modules/@jsii/spec/lib/redirect.js +46 -0
- package/node_modules/@jsii/spec/lib/validate-assembly.d.ts +4 -0
- package/node_modules/@jsii/spec/lib/validate-assembly.js +29 -0
- package/node_modules/@jsii/spec/package.json +41 -0
- package/node_modules/@jsii/spec/schema/assembly-redirect.schema.json +29 -0
- package/node_modules/@jsii/spec/schema/jsii-spec.schema.json +1110 -0
- package/node_modules/@mrgrain/jsii-struct-builder/LICENSE +202 -0
- package/node_modules/@mrgrain/jsii-struct-builder/README.md +387 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/builder/index.d.ts +1 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/builder/index.js +18 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/builder/struct.d.ts +144 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/builder/struct.js +163 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/index.d.ts +3 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/index.js +20 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/private/assembly.d.ts +2 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/private/assembly.js +76 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/private/index.d.ts +2 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/private/index.js +19 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/private/utils.d.ts +2 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/private/utils.js +14 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/projen/index.d.ts +2 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/projen/index.js +19 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/projen/projen-struct.d.ts +90 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/projen/projen-struct.js +112 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/projen/ts-interface.d.ts +15 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/projen/ts-interface.js +18 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/renderer/index.d.ts +1 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/renderer/index.js +18 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/renderer/typescript.d.ts +53 -0
- package/node_modules/@mrgrain/jsii-struct-builder/lib/renderer/typescript.js +194 -0
- package/node_modules/@mrgrain/jsii-struct-builder/package.json +116 -0
- package/node_modules/ajv/.runkit_example.js +23 -0
- package/node_modules/ajv/LICENSE +22 -0
- package/node_modules/ajv/README.md +207 -0
- package/node_modules/ajv/dist/2019.d.ts +19 -0
- package/node_modules/ajv/dist/2019.js +61 -0
- package/node_modules/ajv/dist/2019.js.map +1 -0
- package/node_modules/ajv/dist/2020.d.ts +19 -0
- package/node_modules/ajv/dist/2020.js +55 -0
- package/node_modules/ajv/dist/2020.js.map +1 -0
- package/node_modules/ajv/dist/ajv.d.ts +18 -0
- package/node_modules/ajv/dist/ajv.js +50 -0
- package/node_modules/ajv/dist/ajv.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
- package/node_modules/ajv/dist/compile/codegen/code.js +156 -0
- package/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
- package/node_modules/ajv/dist/compile/codegen/index.js +697 -0
- package/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
- package/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/node_modules/ajv/dist/compile/errors.d.ts +13 -0
- package/node_modules/ajv/dist/compile/errors.js +123 -0
- package/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/node_modules/ajv/dist/compile/index.d.ts +80 -0
- package/node_modules/ajv/dist/compile/index.js +242 -0
- package/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
- package/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
- package/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.js +229 -0
- package/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
- package/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
- package/node_modules/ajv/dist/compile/jtd/types.js +14 -0
- package/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
- package/node_modules/ajv/dist/compile/names.d.ts +20 -0
- package/node_modules/ajv/dist/compile/names.js +28 -0
- package/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
- package/node_modules/ajv/dist/compile/ref_error.js +12 -0
- package/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
- package/node_modules/ajv/dist/compile/resolve.js +155 -0
- package/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/node_modules/ajv/dist/compile/rules.d.ts +28 -0
- package/node_modules/ajv/dist/compile/rules.js +26 -0
- package/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/node_modules/ajv/dist/compile/util.d.ts +40 -0
- package/node_modules/ajv/dist/compile/util.js +178 -0
- package/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
- package/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
- package/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
- package/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
- package/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
- package/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
- package/node_modules/ajv/dist/compile/validate/index.js +520 -0
- package/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
- package/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
- package/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
- package/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
- package/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/node_modules/ajv/dist/core.d.ts +173 -0
- package/node_modules/ajv/dist/core.js +618 -0
- package/node_modules/ajv/dist/core.js.map +1 -0
- package/node_modules/ajv/dist/jtd.d.ts +47 -0
- package/node_modules/ajv/dist/jtd.js +72 -0
- package/node_modules/ajv/dist/jtd.js.map +1 -0
- package/node_modules/ajv/dist/refs/data.json +13 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
- package/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
- package/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
- package/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
- package/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
- package/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/equal.js +7 -0
- package/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
- package/node_modules/ajv/dist/runtime/parseJson.js +185 -0
- package/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
- package/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/quote.js +30 -0
- package/node_modules/ajv/dist/runtime/quote.js.map +1 -0
- package/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/re2.js +6 -0
- package/node_modules/ajv/dist/runtime/re2.js.map +1 -0
- package/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/timestamp.js +42 -0
- package/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
- package/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
- package/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
- package/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
- package/node_modules/ajv/dist/runtime/uri.js +6 -0
- package/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
- package/node_modules/ajv/dist/runtime/validation_error.js +11 -0
- package/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/node_modules/ajv/dist/standalone/index.d.ts +6 -0
- package/node_modules/ajv/dist/standalone/index.js +90 -0
- package/node_modules/ajv/dist/standalone/index.js.map +1 -0
- package/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
- package/node_modules/ajv/dist/standalone/instance.js +35 -0
- package/node_modules/ajv/dist/standalone/instance.js.map +1 -0
- package/node_modules/ajv/dist/types/index.d.ts +183 -0
- package/node_modules/ajv/dist/types/index.js +3 -0
- package/node_modules/ajv/dist/types/index.js.map +1 -0
- package/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
- package/node_modules/ajv/dist/types/json-schema.js +3 -0
- package/node_modules/ajv/dist/types/json-schema.js.map +1 -0
- package/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
- package/node_modules/ajv/dist/types/jtd-schema.js +3 -0
- package/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
- package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
- package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
- package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
- package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
- package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
- package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
- package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
- package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
- package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
- package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
- package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
- package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
- package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
- package/node_modules/ajv/dist/vocabularies/code.js +131 -0
- package/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
- package/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
- package/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
- package/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
- package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
- package/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
- package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/errors.js +3 -0
- package/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
- package/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
- package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
- package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
- package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
- package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
- package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
- package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
- package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
- package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
- package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
- package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
- package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
- package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
- package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
- package/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/next.js +8 -0
- package/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
- package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
- package/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
- package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
- package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
- package/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
- package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
- package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
- package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
- package/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
- package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/node_modules/ajv/lib/2019.ts +81 -0
- package/node_modules/ajv/lib/2020.ts +75 -0
- package/node_modules/ajv/lib/ajv.ts +70 -0
- package/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
- package/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
- package/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
- package/node_modules/ajv/lib/compile/errors.ts +184 -0
- package/node_modules/ajv/lib/compile/index.ts +324 -0
- package/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
- package/node_modules/ajv/lib/compile/jtd/serialize.ts +266 -0
- package/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
- package/node_modules/ajv/lib/compile/names.ts +27 -0
- package/node_modules/ajv/lib/compile/ref_error.ts +13 -0
- package/node_modules/ajv/lib/compile/resolve.ts +149 -0
- package/node_modules/ajv/lib/compile/rules.ts +50 -0
- package/node_modules/ajv/lib/compile/util.ts +213 -0
- package/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
- package/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
- package/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
- package/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
- package/node_modules/ajv/lib/compile/validate/index.ts +582 -0
- package/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
- package/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
- package/node_modules/ajv/lib/core.ts +891 -0
- package/node_modules/ajv/lib/jtd.ts +132 -0
- package/node_modules/ajv/lib/refs/data.json +13 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
- package/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
- package/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
- package/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
- package/node_modules/ajv/lib/runtime/equal.ts +7 -0
- package/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
- package/node_modules/ajv/lib/runtime/quote.ts +31 -0
- package/node_modules/ajv/lib/runtime/re2.ts +6 -0
- package/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
- package/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
- package/node_modules/ajv/lib/runtime/uri.ts +6 -0
- package/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
- package/node_modules/ajv/lib/standalone/index.ts +100 -0
- package/node_modules/ajv/lib/standalone/instance.ts +36 -0
- package/node_modules/ajv/lib/types/index.ts +244 -0
- package/node_modules/ajv/lib/types/json-schema.ts +187 -0
- package/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
- package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
- package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
- package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
- package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
- package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
- package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
- package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
- package/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
- package/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
- package/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
- package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
- package/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
- package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
- package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
- package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
- package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
- package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
- package/node_modules/ajv/lib/vocabularies/code.ts +168 -0
- package/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
- package/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
- package/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
- package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
- package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
- package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
- package/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
- package/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
- package/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
- package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
- package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
- package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
- package/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
- package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
- package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
- package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
- package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
- package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
- package/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
- package/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
- package/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
- package/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
- package/node_modules/ajv/lib/vocabularies/next.ts +8 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
- package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
- package/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
- package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
- package/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
- package/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
- package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
- package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
- package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
- package/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
- package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
- package/node_modules/ajv/package.json +126 -0
- package/node_modules/fast-deep-equal/LICENSE +21 -0
- package/node_modules/fast-deep-equal/README.md +96 -0
- package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/node_modules/fast-deep-equal/index.d.ts +4 -0
- package/node_modules/fast-deep-equal/index.js +46 -0
- package/node_modules/fast-deep-equal/package.json +61 -0
- package/node_modules/fast-deep-equal/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/react.js +53 -0
- package/node_modules/fast-uri/.gitattributes +2 -0
- package/node_modules/fast-uri/.github/.stale.yml +21 -0
- package/node_modules/fast-uri/.github/dependabot.yml +13 -0
- package/node_modules/fast-uri/.github/tests_checker.yml +8 -0
- package/node_modules/fast-uri/.github/workflows/ci.yml +101 -0
- package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +24 -0
- package/node_modules/fast-uri/LICENSE +32 -0
- package/node_modules/fast-uri/README.md +143 -0
- package/node_modules/fast-uri/benchmark/benchmark.mjs +159 -0
- package/node_modules/fast-uri/benchmark/equal.mjs +51 -0
- package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +22 -0
- package/node_modules/fast-uri/benchmark/package.json +17 -0
- package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +24 -0
- package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +65 -0
- package/node_modules/fast-uri/eslint.config.js +6 -0
- package/node_modules/fast-uri/index.js +340 -0
- package/node_modules/fast-uri/lib/schemes.js +267 -0
- package/node_modules/fast-uri/lib/utils.js +336 -0
- package/node_modules/fast-uri/package.json +69 -0
- package/node_modules/fast-uri/test/ajv.test.js +43 -0
- package/node_modules/fast-uri/test/equal.test.js +108 -0
- package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +501 -0
- package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +120 -0
- package/node_modules/fast-uri/test/parse.test.js +318 -0
- package/node_modules/fast-uri/test/resolve.test.js +78 -0
- package/node_modules/fast-uri/test/rfc-3986.test.js +90 -0
- package/node_modules/fast-uri/test/serialize.test.js +151 -0
- package/node_modules/fast-uri/test/uri-js-compatibility.test.js +33 -0
- package/node_modules/fast-uri/test/uri-js.test.js +912 -0
- package/node_modules/fast-uri/test/util.test.js +38 -0
- package/node_modules/fast-uri/tsconfig.json +9 -0
- package/node_modules/fast-uri/types/index.d.ts +60 -0
- package/node_modules/fast-uri/types/index.test-d.ts +17 -0
- package/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
- package/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
- package/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
- package/node_modules/json-schema-traverse/LICENSE +21 -0
- package/node_modules/json-schema-traverse/README.md +95 -0
- package/node_modules/json-schema-traverse/index.d.ts +40 -0
- package/node_modules/json-schema-traverse/index.js +93 -0
- package/node_modules/json-schema-traverse/package.json +43 -0
- package/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/node_modules/require-from-string/index.js +34 -0
- package/node_modules/require-from-string/license +21 -0
- package/node_modules/require-from-string/package.json +28 -0
- package/node_modules/require-from-string/readme.md +56 -0
- package/package.json +5 -2
- package/typedoc.jsonc +10 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { InterfaceType, Property } from '@jsii/spec';
|
|
2
|
+
/**
|
|
3
|
+
* Something that has jsii properties.
|
|
4
|
+
*/
|
|
5
|
+
export interface HasProperties {
|
|
6
|
+
/**
|
|
7
|
+
* The list of properties of the thing.
|
|
8
|
+
*/
|
|
9
|
+
readonly properties?: Property[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Something that has a fully-qualified-name.
|
|
13
|
+
*/
|
|
14
|
+
export interface HasFullyQualifiedName {
|
|
15
|
+
/**
|
|
16
|
+
* The fully-qualified-name of the thing.
|
|
17
|
+
*/
|
|
18
|
+
readonly fqn: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Something that has a fully-qualified-name.
|
|
22
|
+
*/
|
|
23
|
+
export interface HasStructSpec {
|
|
24
|
+
/**
|
|
25
|
+
* Get the current spec of the builder.
|
|
26
|
+
*/
|
|
27
|
+
readonly spec: InterfaceType;
|
|
28
|
+
}
|
|
29
|
+
export interface IStructBuilder {
|
|
30
|
+
/**
|
|
31
|
+
* Add properties.
|
|
32
|
+
*
|
|
33
|
+
* In the same call, the first defined properties take priority.
|
|
34
|
+
* However later calls will overwrite existing properties.
|
|
35
|
+
*/
|
|
36
|
+
add(...props: Property[]): IStructBuilder;
|
|
37
|
+
/**
|
|
38
|
+
* Mix the properties of these sources into the struct.
|
|
39
|
+
*
|
|
40
|
+
* In the same call, the first defined sources and properties take priority.
|
|
41
|
+
* However later calls will overwrite existing properties.
|
|
42
|
+
*/
|
|
43
|
+
mixin(...sources: HasProperties[]): IStructBuilder;
|
|
44
|
+
/**
|
|
45
|
+
* Replaces an existing property with a new spec.
|
|
46
|
+
*/
|
|
47
|
+
replace(name: string, replacement: Property): IStructBuilder;
|
|
48
|
+
/**
|
|
49
|
+
* Calls a defined callback function on each property, and replaces the property with the returned property.
|
|
50
|
+
*
|
|
51
|
+
* @param callbackfn — A function that accepts a property spec as an argument. The map method calls the callbackfn function one time for each property.
|
|
52
|
+
*/
|
|
53
|
+
map(callbackfn: (prop: Property) => Property): IStructBuilder;
|
|
54
|
+
/**
|
|
55
|
+
* Update an existing property.
|
|
56
|
+
*/
|
|
57
|
+
update(name: string, update: Partial<Property>): IStructBuilder;
|
|
58
|
+
/**
|
|
59
|
+
* Calls a defined callback function on each property, and merges the property with the returned property partial.
|
|
60
|
+
*
|
|
61
|
+
* @param callbackfn — A function that accepts a property spec as an argument. The map method calls the callbackfn function one time for each property.
|
|
62
|
+
*/
|
|
63
|
+
updateEvery(callbackfn: (prop: Property) => Partial<Property>): IStructBuilder;
|
|
64
|
+
/**
|
|
65
|
+
* Update all existing properties.
|
|
66
|
+
*/
|
|
67
|
+
updateAll(update: Partial<Property>): IStructBuilder;
|
|
68
|
+
/**
|
|
69
|
+
* Rename a property.
|
|
70
|
+
*
|
|
71
|
+
* If another property with the new name exists, it will be overridden.
|
|
72
|
+
*/
|
|
73
|
+
rename(from: string, to: string): IStructBuilder;
|
|
74
|
+
/**
|
|
75
|
+
* Mark all properties as optional.
|
|
76
|
+
*/
|
|
77
|
+
allOptional(): IStructBuilder;
|
|
78
|
+
/**
|
|
79
|
+
* Keep only the properties that meet the condition specified in the callback function.
|
|
80
|
+
*/
|
|
81
|
+
filter(predicate: (prop: Property) => boolean): IStructBuilder;
|
|
82
|
+
/**
|
|
83
|
+
* Only keep these properties.
|
|
84
|
+
*/
|
|
85
|
+
only(...keep: string[]): IStructBuilder;
|
|
86
|
+
/**
|
|
87
|
+
* Omit these properties.
|
|
88
|
+
*/
|
|
89
|
+
omit(...remove: string[]): IStructBuilder;
|
|
90
|
+
/**
|
|
91
|
+
* Remove all deprecated properties.
|
|
92
|
+
*/
|
|
93
|
+
withoutDeprecated(): IStructBuilder;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build a jsii struct
|
|
97
|
+
*/
|
|
98
|
+
export declare class Struct implements IStructBuilder, HasProperties, HasFullyQualifiedName, HasStructSpec {
|
|
99
|
+
/**
|
|
100
|
+
* Create a builder from an jsii spec
|
|
101
|
+
*/
|
|
102
|
+
static fromSpec(spec: InterfaceType): Struct;
|
|
103
|
+
/**
|
|
104
|
+
* Create a builder from a jsii FQN
|
|
105
|
+
*
|
|
106
|
+
* @param fqn The jsii fqn of the source spec.
|
|
107
|
+
* @param mergeParents Merge parent interfaces into the spec. Defaults to `true`.
|
|
108
|
+
*/
|
|
109
|
+
static fromFqn(fqn: string, mergeParents?: boolean): Struct;
|
|
110
|
+
/**
|
|
111
|
+
* Create an empty builder
|
|
112
|
+
*
|
|
113
|
+
* Note that the behavior of `builder.spec` is undefined when using this method.
|
|
114
|
+
*/
|
|
115
|
+
static empty(fqn?: string): Struct;
|
|
116
|
+
private _base;
|
|
117
|
+
private _properties;
|
|
118
|
+
private constructor();
|
|
119
|
+
add(...props: Property[]): this;
|
|
120
|
+
mixin(...sources: HasProperties[]): this;
|
|
121
|
+
replace(name: string, replacement: Property): this;
|
|
122
|
+
map(callbackfn: (prop: Property) => Property): this;
|
|
123
|
+
update(name: string, update: Partial<Property>): this;
|
|
124
|
+
updateEvery(callbackfn: (prop: Property) => Partial<Property>): this;
|
|
125
|
+
updateAll(update: Partial<Property>): this;
|
|
126
|
+
rename(from: string, to: string): this;
|
|
127
|
+
allOptional(): this;
|
|
128
|
+
filter(predicate: (prop: Property) => boolean): this;
|
|
129
|
+
only(...keep: string[]): this;
|
|
130
|
+
omit(...remove: string[]): this;
|
|
131
|
+
withoutDeprecated(): this;
|
|
132
|
+
/**
|
|
133
|
+
* Get the current state of the builder
|
|
134
|
+
*/
|
|
135
|
+
get spec(): InterfaceType;
|
|
136
|
+
/**
|
|
137
|
+
* Get the current properties of the builder
|
|
138
|
+
*/
|
|
139
|
+
get properties(): Property[];
|
|
140
|
+
/**
|
|
141
|
+
* Get the FQN for the builder
|
|
142
|
+
*/
|
|
143
|
+
get fqn(): string;
|
|
144
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Struct = void 0;
|
|
4
|
+
const spec_1 = require("@jsii/spec");
|
|
5
|
+
const private_1 = require("../private");
|
|
6
|
+
/**
|
|
7
|
+
* Build a jsii struct
|
|
8
|
+
*/
|
|
9
|
+
class Struct {
|
|
10
|
+
/**
|
|
11
|
+
* Create a builder from an jsii spec
|
|
12
|
+
*/
|
|
13
|
+
static fromSpec(spec) {
|
|
14
|
+
return new Struct(spec);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a builder from a jsii FQN
|
|
18
|
+
*
|
|
19
|
+
* @param fqn The jsii fqn of the source spec.
|
|
20
|
+
* @param mergeParents Merge parent interfaces into the spec. Defaults to `true`.
|
|
21
|
+
*/
|
|
22
|
+
static fromFqn(fqn, mergeParents = true) {
|
|
23
|
+
const source = (0, private_1.findInterface)(fqn, mergeParents);
|
|
24
|
+
return new Struct(source);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create an empty builder
|
|
28
|
+
*
|
|
29
|
+
* Note that the behavior of `builder.spec` is undefined when using this method.
|
|
30
|
+
*/
|
|
31
|
+
static empty(fqn = '<<empty>>.<<empty>>') {
|
|
32
|
+
return new Struct({
|
|
33
|
+
assembly: fqn.split('.').at(0) ?? '<<empty>>',
|
|
34
|
+
fqn,
|
|
35
|
+
name: fqn.split('.').at(-1) ?? '<<empty>>',
|
|
36
|
+
kind: spec_1.TypeKind.Interface,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
constructor(base) {
|
|
40
|
+
this._base = structuredClone(base);
|
|
41
|
+
this._properties = new Map(base.properties?.map((p) => [p.name, structuredClone(p)]));
|
|
42
|
+
}
|
|
43
|
+
add(...props) {
|
|
44
|
+
for (const prop of props.reverse()) {
|
|
45
|
+
this._properties.set(prop.name, prop);
|
|
46
|
+
}
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
mixin(...sources) {
|
|
50
|
+
for (const source of sources.reverse()) {
|
|
51
|
+
this.add(...(source.properties || []));
|
|
52
|
+
}
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
replace(name, replacement) {
|
|
56
|
+
const current = this._properties.get(name);
|
|
57
|
+
if (!current) {
|
|
58
|
+
throw `Unable to replace property '${name}' in '${this._base.fqn}: Property does not exists, please use \`add\`.'`;
|
|
59
|
+
}
|
|
60
|
+
if (replacement.name !== name) {
|
|
61
|
+
this.omit(name);
|
|
62
|
+
}
|
|
63
|
+
return this.add(replacement);
|
|
64
|
+
}
|
|
65
|
+
map(callbackfn) {
|
|
66
|
+
const keys = this._properties.keys();
|
|
67
|
+
for (const propertyKey of keys) {
|
|
68
|
+
const current = structuredClone(this._properties.get(propertyKey));
|
|
69
|
+
this.replace(propertyKey, callbackfn(current));
|
|
70
|
+
}
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
update(name, update) {
|
|
74
|
+
const old = this._properties.get(name);
|
|
75
|
+
if (!old) {
|
|
76
|
+
throw `Unable to update property '${name}' in '${this._base.fqn}: Property does not exists, please use \`add\`.'`;
|
|
77
|
+
}
|
|
78
|
+
const updatedProp = {
|
|
79
|
+
...old,
|
|
80
|
+
...update,
|
|
81
|
+
docs: {
|
|
82
|
+
...old?.docs,
|
|
83
|
+
...update?.docs,
|
|
84
|
+
custom: {
|
|
85
|
+
...old?.docs?.custom,
|
|
86
|
+
...update?.docs?.custom,
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
if (updatedProp.name !== name) {
|
|
91
|
+
this.omit(name);
|
|
92
|
+
}
|
|
93
|
+
return this.add(updatedProp);
|
|
94
|
+
}
|
|
95
|
+
updateEvery(callbackfn) {
|
|
96
|
+
const keys = this._properties.keys();
|
|
97
|
+
for (const propertyKey of keys) {
|
|
98
|
+
const current = structuredClone(this._properties.get(propertyKey));
|
|
99
|
+
this.update(current.name, callbackfn(current) ?? {});
|
|
100
|
+
}
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
updateAll(update) {
|
|
104
|
+
for (const propertyKey of this._properties.keys()) {
|
|
105
|
+
this.update(propertyKey, update);
|
|
106
|
+
}
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
rename(from, to) {
|
|
110
|
+
return this.update(from, { name: to });
|
|
111
|
+
}
|
|
112
|
+
allOptional() {
|
|
113
|
+
this.map((property) => {
|
|
114
|
+
property.optional = true;
|
|
115
|
+
return property;
|
|
116
|
+
});
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
filter(predicate) {
|
|
120
|
+
for (const propertyKey of this._properties.keys()) {
|
|
121
|
+
if (!predicate(this._properties.get(propertyKey))) {
|
|
122
|
+
this._properties.delete(propertyKey);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
only(...keep) {
|
|
128
|
+
return this.filter((prop) => keep.includes(prop.name));
|
|
129
|
+
}
|
|
130
|
+
omit(...remove) {
|
|
131
|
+
for (const prop of remove) {
|
|
132
|
+
this._properties.delete(prop);
|
|
133
|
+
}
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
withoutDeprecated() {
|
|
137
|
+
return this.filter((prop) => null == prop.docs?.deprecated);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get the current state of the builder
|
|
141
|
+
*/
|
|
142
|
+
get spec() {
|
|
143
|
+
const properties = Array.from(this._properties.values());
|
|
144
|
+
return {
|
|
145
|
+
...structuredClone(this._base),
|
|
146
|
+
properties,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Get the current properties of the builder
|
|
151
|
+
*/
|
|
152
|
+
get properties() {
|
|
153
|
+
return this.spec.properties ?? [];
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get the FQN for the builder
|
|
157
|
+
*/
|
|
158
|
+
get fqn() {
|
|
159
|
+
return this._base.fqn;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.Struct = Struct;
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWxkZXIvc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFDQUFzQztBQUN0Qyx3Q0FBMkM7QUErRzNDOztHQUVHO0FBQ0gsTUFBYSxNQUFNO0lBQ2pCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFtQjtRQUN4QyxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBVyxFQUFFLGVBQXdCLElBQUk7UUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBQSx1QkFBYSxFQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcscUJBQXFCO1FBQzdDLE9BQU8sSUFBSSxNQUFNLENBQUM7WUFDaEIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVc7WUFDN0MsR0FBRztZQUNILElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVc7WUFDMUMsSUFBSSxFQUFFLGVBQVEsQ0FBQyxTQUFTO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFLRCxZQUFvQixJQUFtQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENB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ZW50IjpbImltcG9ydCB0eXBlIHsgSW50ZXJmYWNlVHlwZSwgUHJvcGVydHkgfSBmcm9tICdAanNpaS9zcGVjJztcbmltcG9ydCB7IFR5cGVLaW5kIH0gZnJvbSAnQGpzaWkvc3BlYyc7XG5pbXBvcnQgeyBmaW5kSW50ZXJmYWNlIH0gZnJvbSAnLi4vcHJpdmF0ZSc7XG5cbi8qKlxuICogU29tZXRoaW5nIHRoYXQgaGFzIGpzaWkgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHByb3BlcnRpZXMgb2YgdGhlIHRoaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IFByb3BlcnR5W107XG59XG5cbi8qKlxuICogU29tZXRoaW5nIHRoYXQgaGFzIGEgZnVsbHktcXVhbGlmaWVkLW5hbWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGFzRnVsbHlRdWFsaWZpZWROYW1lIHtcbiAgLyoqXG4gICAqIFRoZSBmdWxseS1xdWFsaWZpZWQtbmFtZSBvZiB0aGUgdGhpbmcuXG4gICAqL1xuICByZWFkb25seSBmcW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBTb21ldGhpbmcgdGhhdCBoYXMgYSBmdWxseS1xdWFsaWZpZWQtbmFtZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNTdHJ1Y3RTcGVjIHtcbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzcGVjIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc3BlYzogSW50ZXJmYWNlVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3RydWN0QnVpbGRlciB7XG4gIC8qKlxuICAgKiBBZGQgcHJvcGVydGllcy5cbiAgICpcbiAgICogSW4gdGhlIHNhbWUgY2FsbCwgdGhlIGZpcnN0IGRlZmluZWQgcHJvcGVydGllcyB0YWtlIHByaW9yaXR5LlxuICAgKiBIb3dldmVyIGxhdGVyIGNhbGxzIHdpbGwgb3ZlcndyaXRlIGV4aXN0aW5nIHByb3BlcnRpZXMuXG4gICAqL1xuICBhZGQoLi4ucHJvcHM6IFByb3BlcnR5W10pOiBJU3RydWN0QnVpbGRlcjtcblxuICAvKipcbiAgICogTWl4IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZXNlIHNvdXJjZXMgaW50byB0aGUgc3RydWN0LlxuICAgKlxuICAgKiBJbiB0aGUgc2FtZSBjYWxsLCB0aGUgZmlyc3QgZGVmaW5lZCBzb3VyY2VzIGFuZCBwcm9wZXJ0aWVzIHRha2UgcHJpb3JpdHkuXG4gICAqIEhvd2V2ZXIgbGF0ZXIgY2FsbHMgd2lsbCBvdmVyd3JpdGUgZXhpc3RpbmcgcHJvcGVydGllcy5cbiAgICovXG4gIG1peGluKC4uLnNvdXJjZXM6IEhhc1Byb3BlcnRpZXNbXSk6IElTdHJ1Y3RCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBhbiBleGlzdGluZyBwcm9wZXJ0eSB3aXRoIGEgbmV3IHNwZWMuXG4gICAqL1xuICByZXBsYWNlKG5hbWU6IHN0cmluZywgcmVwbGFjZW1lbnQ6IFByb3BlcnR5KTogSVN0cnVjdEJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIENhbGxzIGEgZGVmaW5lZCBjYWxsYmFjayBmdW5jdGlvbiBvbiBlYWNoIHByb3BlcnR5LCBhbmQgcmVwbGFjZXMgdGhlIHByb3BlcnR5IHdpdGggdGhlIHJldHVybmVkIHByb3BlcnR5LlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2tmbiDigJQgQSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgYSBwcm9wZXJ0eSBzcGVjIGFzIGFuIGFyZ3VtZW50LiBUaGUgbWFwIG1ldGhvZCBjYWxscyB0aGUgY2FsbGJhY2tmbiBmdW5jdGlvbiBvbmUgdGltZSBmb3IgZWFjaCBwcm9wZXJ0eS5cbiAgICovXG4gIG1hcChjYWxsYmFja2ZuOiAocHJvcDogUHJvcGVydHkpID0+IFByb3BlcnR5KTogSVN0cnVjdEJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhbiBleGlzdGluZyBwcm9wZXJ0eS5cbiAgICovXG4gIHVwZGF0ZShuYW1lOiBzdHJpbmcsIHVwZGF0ZTogUGFydGlhbDxQcm9wZXJ0eT4pOiBJU3RydWN0QnVpbGRlcjtcblxuICAvKipcbiAgICogQ2FsbHMgYSBkZWZpbmVkIGNhbGxiYWNrIGZ1bmN0aW9uIG9uIGVhY2ggcHJvcGVydHksIGFuZCBtZXJnZXMgdGhlIHByb3BlcnR5IHdpdGggdGhlIHJldHVybmVkIHByb3BlcnR5IHBhcnRpYWwuXG4gICAqXG4gICAqIEBwYXJhbSBjYWxsYmFja2ZuIOKAlCBBIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBhIHByb3BlcnR5IHNwZWMgYXMgYW4gYXJndW1lbnQuIFRoZSBtYXAgbWV0aG9kIGNhbGxzIHRoZSBjYWxsYmFja2ZuIGZ1bmN0aW9uIG9uZSB0aW1lIGZvciBlYWNoIHByb3BlcnR5LlxuICAgKi9cbiAgdXBkYXRlRXZlcnkoY2FsbGJhY2tmbjogKHByb3A6IFByb3BlcnR5KSA9PiBQYXJ0aWFsPFByb3BlcnR5Pik6IElTdHJ1Y3RCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgYWxsIGV4aXN0aW5nIHByb3BlcnRpZXMuXG4gICAqL1xuICB1cGRhdGVBbGwodXBkYXRlOiBQYXJ0aWFsPFByb3BlcnR5Pik6IElTdHJ1Y3RCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBSZW5hbWUgYSBwcm9wZXJ0eS5cbiAgICpcbiAgICogSWYgYW5vdGhlciBwcm9wZXJ0eSB3aXRoIHRoZSBuZXcgbmFtZSBleGlzdHMsIGl0IHdpbGwgYmUgb3ZlcnJpZGRlbi5cbiAgICovXG4gIHJlbmFtZShmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiBJU3RydWN0QnVpbGRlcjtcblxuICAvKipcbiAgICogTWFyayBhbGwgcHJvcGVydGllcyBhcyBvcHRpb25hbC5cbiAgICovXG4gIGFsbE9wdGlvbmFsKCk6IElTdHJ1Y3RCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBLZWVwIG9ubHkgdGhlIHByb3BlcnRpZXMgdGhhdCBtZWV0IHRoZSBjb25kaXRpb24gc3BlY2lmaWVkIGluIHRoZSBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICovXG4gIGZpbHRlcihwcmVkaWNhdGU6IChwcm9wOiBQcm9wZXJ0eSkgPT4gYm9vbGVhbik6IElTdHJ1Y3RCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBPbmx5IGtlZXAgdGhlc2UgcHJvcGVydGllcy5cbiAgICovXG4gIG9ubHkoLi4ua2VlcDogc3RyaW5nW10pOiBJU3RydWN0QnVpbGRlcjtcblxuICAvKipcbiAgICogT21pdCB0aGVzZSBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgb21pdCguLi5yZW1vdmU6IHN0cmluZ1tdKTogSVN0cnVjdEJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgZGVwcmVjYXRlZCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgd2l0aG91dERlcHJlY2F0ZWQoKTogSVN0cnVjdEJ1aWxkZXI7XG59XG5cbi8qKlxuICogQnVpbGQgYSBqc2lpIHN0cnVjdFxuICovXG5leHBvcnQgY2xhc3MgU3RydWN0IGltcGxlbWVudHMgSVN0cnVjdEJ1aWxkZXIsIEhhc1Byb3BlcnRpZXMsIEhhc0Z1bGx5UXVhbGlmaWVkTmFtZSwgSGFzU3RydWN0U3BlYyB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBidWlsZGVyIGZyb20gYW4ganNpaSBzcGVjXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21TcGVjKHNwZWM6IEludGVyZmFjZVR5cGUpIHtcbiAgICByZXR1cm4gbmV3IFN0cnVjdChzcGVjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBidWlsZGVyIGZyb20gYSBqc2lpIEZRTlxuICAgKlxuICAgKiBAcGFyYW0gZnFuIFRoZSBqc2lpIGZxbiBvZiB0aGUgc291cmNlIHNwZWMuXG4gICAqIEBwYXJhbSBtZXJnZVBhcmVudHMgTWVyZ2UgcGFyZW50IGludGVyZmFjZXMgaW50byB0aGUgc3BlYy4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRnFuKGZxbjogc3RyaW5nLCBtZXJnZVBhcmVudHM6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3Qgc291cmNlID0gZmluZEludGVyZmFjZShmcW4sIG1lcmdlUGFyZW50cyk7XG4gICAgcmV0dXJuIG5ldyBTdHJ1Y3Qoc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gZW1wdHkgYnVpbGRlclxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIGJlaGF2aW9yIG9mIGBidWlsZGVyLnNwZWNgIGlzIHVuZGVmaW5lZCB3aGVuIHVzaW5nIHRoaXMgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbXB0eShmcW4gPSAnPDxlbXB0eT4+Ljw8ZW1wdHk+PicpIHtcbiAgICByZXR1cm4gbmV3IFN0cnVjdCh7XG4gICAgICBhc3NlbWJseTogZnFuLnNwbGl0KCcuJykuYXQoMCkgPz8gJzw8ZW1wdHk+PicsXG4gICAgICBmcW4sXG4gICAgICBuYW1lOiBmcW4uc3BsaXQoJy4nKS5hdCgtMSkgPz8gJzw8ZW1wdHk+PicsXG4gICAgICBraW5kOiBUeXBlS2luZC5JbnRlcmZhY2UsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9iYXNlOiBJbnRlcmZhY2VUeXBlO1xuICBwcml2YXRlIF9wcm9wZXJ0aWVzOiBNYXA8c3RyaW5nLCBQcm9wZXJ0eT47XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihiYXNlOiBJbnRlcmZhY2VUeXBlKSB7XG4gICAgdGhpcy5fYmFzZSA9IHN0cnVjdHVyZWRDbG9uZShiYXNlKTtcbiAgICB0aGlzLl9wcm9wZXJ0aWVzID0gbmV3IE1hcChcbiAgICAgIGJhc2UucHJvcGVydGllcz8ubWFwKChwKSA9PiBbcC5uYW1lLCBzdHJ1Y3R1cmVkQ2xvbmUocCldKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFkZCguLi5wcm9wczogUHJvcGVydHlbXSk6IHRoaXMge1xuICAgIGZvciAoY29uc3QgcHJvcCBvZiBwcm9wcy5yZXZlcnNlKCkpIHtcbiAgICAgIHRoaXMuX3Byb3BlcnRpZXMuc2V0KHByb3AubmFtZSwgcHJvcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbWl4aW4oLi4uc291cmNlczogSGFzUHJvcGVydGllc1tdKTogdGhpcyB7XG4gICAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc291cmNlcy5yZXZlcnNlKCkpIHtcbiAgICAgIHRoaXMuYWRkKC4uLihzb3VyY2UucHJvcGVydGllcyB8fCBbXSkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHJlcGxhY2UobmFtZTogc3RyaW5nLCByZXBsYWNlbWVudDogUHJvcGVydHkpOiB0aGlzIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5fcHJvcGVydGllcy5nZXQobmFtZSk7XG5cbiAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgIHRocm93IGBVbmFibGUgdG8gcmVwbGFjZSBwcm9wZXJ0eSAnJHtuYW1lfScgaW4gJyR7dGhpcy5fYmFzZS5mcW59OiBQcm9wZXJ0eSBkb2VzIG5vdCBleGlzdHMsIHBsZWFzZSB1c2UgXFxgYWRkXFxgLidgO1xuICAgIH1cblxuICAgIGlmIChyZXBsYWNlbWVudC5uYW1lICE9PSBuYW1lKSB7XG4gICAgICB0aGlzLm9taXQobmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWRkKHJlcGxhY2VtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBtYXAoY2FsbGJhY2tmbjogKHByb3A6IFByb3BlcnR5KSA9PiBQcm9wZXJ0eSk6IHRoaXMge1xuICAgIGNvbnN0IGtleXMgPSB0aGlzLl9wcm9wZXJ0aWVzLmtleXMoKTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5S2V5IG9mIGtleXMpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5fcHJvcGVydGllcy5nZXQocHJvcGVydHlLZXkpISk7XG4gICAgICB0aGlzLnJlcGxhY2UocHJvcGVydHlLZXksIGNhbGxiYWNrZm4oY3VycmVudCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZShuYW1lOiBzdHJpbmcsIHVwZGF0ZTogUGFydGlhbDxQcm9wZXJ0eT4pOiB0aGlzIHtcbiAgICBjb25zdCBvbGQgPSB0aGlzLl9wcm9wZXJ0aWVzLmdldChuYW1lKTtcblxuICAgIGlmICghb2xkKSB7XG4gICAgICB0aHJvdyBgVW5hYmxlIHRvIHVwZGF0ZSBwcm9wZXJ0eSAnJHtuYW1lfScgaW4gJyR7dGhpcy5fYmFzZS5mcW59OiBQcm9wZXJ0eSBkb2VzIG5vdCBleGlzdHMsIHBsZWFzZSB1c2UgXFxgYWRkXFxgLidgO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZWRQcm9wID0ge1xuICAgICAgLi4ub2xkLFxuICAgICAgLi4udXBkYXRlLFxuICAgICAgZG9jczoge1xuICAgICAgICAuLi5vbGQ/LmRvY3MsXG4gICAgICAgIC4uLnVwZGF0ZT8uZG9jcyxcbiAgICAgICAgY3VzdG9tOiB7XG4gICAgICAgICAgLi4ub2xkPy5kb2NzPy5jdXN0b20sXG4gICAgICAgICAgLi4udXBkYXRlPy5kb2NzPy5jdXN0b20sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBpZiAodXBkYXRlZFByb3AubmFtZSAhPT0gbmFtZSkge1xuICAgICAgdGhpcy5vbWl0KG5hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFkZCh1cGRhdGVkUHJvcCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRXZlcnkoY2FsbGJhY2tmbjogKHByb3A6IFByb3BlcnR5KSA9PiBQYXJ0aWFsPFByb3BlcnR5Pik6IHRoaXMge1xuICAgIGNvbnN0IGtleXMgPSB0aGlzLl9wcm9wZXJ0aWVzLmtleXMoKTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5S2V5IG9mIGtleXMpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5fcHJvcGVydGllcy5nZXQocHJvcGVydHlLZXkpISk7XG4gICAgICB0aGlzLnVwZGF0ZShjdXJyZW50Lm5hbWUsIGNhbGxiYWNrZm4oY3VycmVudCkgPz8ge30pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFsbCh1cGRhdGU6IFBhcnRpYWw8UHJvcGVydHk+KTogdGhpcyB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eUtleSBvZiB0aGlzLl9wcm9wZXJ0aWVzLmtleXMoKSkge1xuICAgICAgdGhpcy51cGRhdGUocHJvcGVydHlLZXksIHVwZGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHJlbmFtZShmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy51cGRhdGUoZnJvbSwgeyBuYW1lOiB0byB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhbGxPcHRpb25hbCgpOiB0aGlzIHtcbiAgICB0aGlzLm1hcCgocHJvcGVydHkpID0+IHtcbiAgICAgIHByb3BlcnR5Lm9wdGlvbmFsID0gdHJ1ZTtcbiAgICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihwcmVkaWNhdGU6IChwcm9wOiBQcm9wZXJ0eSkgPT4gYm9vbGVhbik6IHRoaXMge1xuICAgIGZvciAoY29uc3QgcHJvcGVydHlLZXkgb2YgdGhpcy5fcHJvcGVydGllcy5rZXlzKCkpIHtcbiAgICAgIGlmICghcHJlZGljYXRlKHRoaXMuX3Byb3BlcnRpZXMuZ2V0KHByb3BlcnR5S2V5KSEpKSB7XG4gICAgICAgIHRoaXMuX3Byb3BlcnRpZXMuZGVsZXRlKHByb3BlcnR5S2V5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBvbmx5KC4uLmtlZXA6IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyKChwcm9wKSA9PiBrZWVwLmluY2x1ZGVzKHByb3AubmFtZSkpO1xuICB9XG5cbiAgcHVibGljIG9taXQoLi4ucmVtb3ZlOiBzdHJpbmdbXSk6IHRoaXMge1xuICAgIGZvciAoY29uc3QgcHJvcCBvZiByZW1vdmUpIHtcbiAgICAgIHRoaXMuX3Byb3BlcnRpZXMuZGVsZXRlKHByb3ApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhvdXREZXByZWNhdGVkKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcigocHJvcCkgPT4gbnVsbCA9PSBwcm9wLmRvY3M/LmRlcHJlY2F0ZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgYnVpbGRlclxuICAgKi9cbiAgcHVibGljIGdldCBzcGVjKCk6IEludGVyZmFjZVR5cGUge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBBcnJheS5mcm9tKHRoaXMuX3Byb3BlcnRpZXMudmFsdWVzKCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0cnVjdHVyZWRDbG9uZSh0aGlzLl9iYXNlKSxcbiAgICAgIHByb3BlcnRpZXMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgcHJvcGVydGllcyBvZiB0aGUgYnVpbGRlclxuICAgKi9cbiAgcHVibGljIGdldCBwcm9wZXJ0aWVzKCk6IFByb3BlcnR5W10ge1xuICAgIHJldHVybiB0aGlzLnNwZWMucHJvcGVydGllcyA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIEZRTiBmb3IgdGhlIGJ1aWxkZXJcbiAgICovXG4gIHB1YmxpYyBnZXQgZnFuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Jhc2UuZnFuO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./builder"), exports);
|
|
18
|
+
__exportStar(require("./projen"), exports);
|
|
19
|
+
__exportStar(require("./renderer"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvamVuJztcbmV4cG9ydCAqIGZyb20gJy4vcmVuZGVyZXInO1xuIl19
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findInterface = findInterface;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const spec_1 = require("@jsii/spec");
|
|
6
|
+
const DOT_JSII = '.jsii';
|
|
7
|
+
const assemblies = {};
|
|
8
|
+
function assemblyPath(asm) {
|
|
9
|
+
return (0, node_path_1.dirname)(require.resolve((0, node_path_1.join)(asm, DOT_JSII)));
|
|
10
|
+
}
|
|
11
|
+
function loadAssemblyByName(asm) {
|
|
12
|
+
return loadAssemblyFromDirectory(asm, assemblyPath(asm));
|
|
13
|
+
}
|
|
14
|
+
function loadAssemblyFromDirectory(asm, dir) {
|
|
15
|
+
const assembly = (0, spec_1.loadAssemblyFromPath)(dir, false, ['intersection-types', 'class-covariant-overrides']);
|
|
16
|
+
if (assembly.name !== asm) {
|
|
17
|
+
throw `jsii assembly ${asm} not found in ${(0, node_path_1.join)(dir, DOT_JSII)}, got: ${assembly.name}`;
|
|
18
|
+
}
|
|
19
|
+
return assembly;
|
|
20
|
+
}
|
|
21
|
+
function loadAssembly(asm) {
|
|
22
|
+
if (!assemblies[asm]) {
|
|
23
|
+
try {
|
|
24
|
+
assemblies[asm] = loadAssemblyByName(asm);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
try {
|
|
28
|
+
assemblies[asm] = loadAssemblyFromDirectory(asm, process.cwd());
|
|
29
|
+
}
|
|
30
|
+
catch (errorLocal) {
|
|
31
|
+
throw new AggregateError([error, errorLocal], `jsii assembly ${asm} not found`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return assemblies[asm];
|
|
36
|
+
}
|
|
37
|
+
function loadInterface(fqn) {
|
|
38
|
+
const asm = loadAssembly(fqn.split('.').at(0));
|
|
39
|
+
const candidate = asm.types?.[fqn];
|
|
40
|
+
if (!candidate) {
|
|
41
|
+
throw `Type ${fqn} not found in jsii assembly ${asm}`;
|
|
42
|
+
}
|
|
43
|
+
if (candidate?.kind !== spec_1.TypeKind.Interface) {
|
|
44
|
+
throw `Expected ${fqn} to be an interface, but got: ${candidate?.kind}`;
|
|
45
|
+
}
|
|
46
|
+
return structuredClone(candidate);
|
|
47
|
+
}
|
|
48
|
+
function findInterface(fqn, mergeInherited = true) {
|
|
49
|
+
const spec = loadInterface(fqn);
|
|
50
|
+
if (!mergeInherited || !spec.interfaces) {
|
|
51
|
+
return spec;
|
|
52
|
+
}
|
|
53
|
+
const props = new Map();
|
|
54
|
+
const methods = new Map();
|
|
55
|
+
for (const parent of spec.interfaces) {
|
|
56
|
+
const parentSpec = findInterface(parent, true);
|
|
57
|
+
parentSpec.properties?.forEach((p) => {
|
|
58
|
+
props.set(p.name, p);
|
|
59
|
+
});
|
|
60
|
+
parentSpec.methods?.forEach((m) => {
|
|
61
|
+
methods.set(m.name, m);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
spec.properties?.forEach((p) => {
|
|
65
|
+
props.set(p.name, p);
|
|
66
|
+
});
|
|
67
|
+
spec.methods?.forEach((m) => {
|
|
68
|
+
methods.set(m.name, m);
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
...spec,
|
|
72
|
+
methods: Array.from(methods.values()),
|
|
73
|
+
properties: Array.from(props.values()),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZW1ibHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9hc3NlbWJseS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlFQSxzQ0FtQ0M7QUFwR0QseUNBQTBDO0FBTzFDLHFDQUdvQjtBQUVwQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUM7QUFFekIsTUFBTSxVQUFVLEdBQTZCLEVBQUUsQ0FBQztBQUVoRCxTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQy9CLE9BQU8sSUFBQSxtQkFBTyxFQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBQSxnQkFBSSxFQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsR0FBVztJQUNyQyxPQUFPLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsU0FBUyx5QkFBeUIsQ0FBQyxHQUFXLEVBQUUsR0FBVztJQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFBLDJCQUFvQixFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLENBQUM7SUFDdkcsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzFCLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLElBQUEsZ0JBQUksRUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFGLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsR0FBVztJQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDO1lBQ0gsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixD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QVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUN2QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHR5cGUge1xuICBBc3NlbWJseSxcbiAgSW50ZXJmYWNlVHlwZSxcbiAgTWV0aG9kLFxuICBQcm9wZXJ0eSxcbn0gZnJvbSAnQGpzaWkvc3BlYyc7XG5pbXBvcnQge1xuICBsb2FkQXNzZW1ibHlGcm9tUGF0aCxcbiAgVHlwZUtpbmQsXG59IGZyb20gJ0Bqc2lpL3NwZWMnO1xuXG5jb25zdCBET1RfSlNJSSA9ICcuanNpaSc7XG5cbmNvbnN0IGFzc2VtYmxpZXM6IFJlY29yZDxzdHJpbmcsIEFzc2VtYmx5PiA9IHt9O1xuXG5mdW5jdGlvbiBhc3NlbWJseVBhdGgoYXNtOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gZGlybmFtZShyZXF1aXJlLnJlc29sdmUoam9pbihhc20sIERPVF9KU0lJKSkpO1xufVxuXG5mdW5jdGlvbiBsb2FkQXNzZW1ibHlCeU5hbWUoYXNtOiBzdHJpbmcpOiBBc3NlbWJseSB7XG4gIHJldHVybiBsb2FkQXNzZW1ibHlGcm9tRGlyZWN0b3J5KGFzbSwgYXNzZW1ibHlQYXRoKGFzbSkpO1xufVxuXG5mdW5jdGlvbiBsb2FkQXNzZW1ibHlGcm9tRGlyZWN0b3J5KGFzbTogc3RyaW5nLCBkaXI6IHN0cmluZyk6IEFzc2VtYmx5IHtcbiAgY29uc3QgYXNzZW1ibHkgPSBsb2FkQXNzZW1ibHlGcm9tUGF0aChkaXIsIGZhbHNlLCBbJ2ludGVyc2VjdGlvbi10eXBlcycsICdjbGFzcy1jb3ZhcmlhbnQtb3ZlcnJpZGVzJ10pO1xuICBpZiAoYXNzZW1ibHkubmFtZSAhPT0gYXNtKSB7XG4gICAgdGhyb3cgYGpzaWkgYXNzZW1ibHkgJHthc219IG5vdCBmb3VuZCBpbiAke2pvaW4oZGlyLCBET1RfSlNJSSl9LCBnb3Q6ICR7YXNzZW1ibHkubmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIGFzc2VtYmx5O1xufVxuXG5mdW5jdGlvbiBsb2FkQXNzZW1ibHkoYXNtOiBzdHJpbmcpOiBBc3NlbWJseSB7XG4gIGlmICghYXNzZW1ibGllc1thc21dKSB7XG4gICAgdHJ5IHtcbiAgICAgIGFzc2VtYmxpZXNbYXNtXSA9IGxvYWRBc3NlbWJseUJ5TmFtZShhc20pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhc3NlbWJsaWVzW2FzbV0gPSBsb2FkQXNzZW1ibHlGcm9tRGlyZWN0b3J5KGFzbSwgcHJvY2Vzcy5jd2QoKSk7XG4gICAgICB9IGNhdGNoIChlcnJvckxvY2FsKSB7XG4gICAgICAgIHRocm93IG5ldyBBZ2dyZWdhdGVFcnJvcihbZXJyb3IsIGVycm9yTG9jYWxdLCBganNpaSBhc3NlbWJseSAke2FzbX0gbm90IGZvdW5kYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFzc2VtYmxpZXNbYXNtXTtcbn1cblxuZnVuY3Rpb24gbG9hZEludGVyZmFjZShmcW46IHN0cmluZykge1xuICBjb25zdCBhc20gPSBsb2FkQXNzZW1ibHkoZnFuLnNwbGl0KCcuJykuYXQoMCkhKTtcblxuICBjb25zdCBjYW5kaWRhdGUgPSBhc20udHlwZXM/LltmcW5dO1xuXG4gIGlmICghY2FuZGlkYXRlKSB7XG4gICAgdGhyb3cgYFR5cGUgJHtmcW59IG5vdCBmb3VuZCBpbiBqc2lpIGFzc2VtYmx5ICR7YXNtfWA7XG4gIH1cblxuICBpZiAoY2FuZGlkYXRlPy5raW5kICE9PSBUeXBlS2luZC5JbnRlcmZhY2UpIHtcbiAgICB0aHJvdyBgRXhwZWN0ZWQgJHtmcW59IHRvIGJlIGFuIGludGVyZmFjZSwgYnV0IGdvdDogJHtjYW5kaWRhdGU/LmtpbmR9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJ1Y3R1cmVkQ2xvbmUoY2FuZGlkYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRJbnRlcmZhY2UoXG4gIGZxbjogc3RyaW5nLFxuICBtZXJnZUluaGVyaXRlZDogYm9vbGVhbiA9IHRydWUsXG4pOiBJbnRlcmZhY2VUeXBlIHtcbiAgY29uc3Qgc3BlYyA9IGxvYWRJbnRlcmZhY2UoZnFuKTtcblxuICBpZiAoIW1lcmdlSW5oZXJpdGVkIHx8ICFzcGVjLmludGVyZmFjZXMpIHtcbiAgICByZXR1cm4gc3BlYztcbiAgfVxuXG4gIGNvbnN0IHByb3BzID0gbmV3IE1hcDxzdHJpbmcsIFByb3BlcnR5PigpO1xuICBjb25zdCBtZXRob2RzID0gbmV3IE1hcDxzdHJpbmcsIE1ldGhvZD4oKTtcblxuICBmb3IgKGNvbnN0IHBhcmVudCBvZiBzcGVjLmludGVyZmFjZXMpIHtcbiAgICBjb25zdCBwYXJlbnRTcGVjID0gZmluZEludGVyZmFjZShwYXJlbnQsIHRydWUpO1xuICAgIHBhcmVudFNwZWMucHJvcGVydGllcz8uZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcHJvcHMuc2V0KHAubmFtZSwgcCk7XG4gICAgfSk7XG4gICAgcGFyZW50U3BlYy5tZXRob2RzPy5mb3JFYWNoKChtKSA9PiB7XG4gICAgICBtZXRob2RzLnNldChtLm5hbWUsIG0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3BlYy5wcm9wZXJ0aWVzPy5mb3JFYWNoKChwKSA9PiB7XG4gICAgcHJvcHMuc2V0KHAubmFtZSwgcCk7XG4gIH0pO1xuICBzcGVjLm1ldGhvZHM/LmZvckVhY2goKG0pID0+IHtcbiAgICBtZXRob2RzLnNldChtLm5hbWUsIG0pO1xuICB9KTtcblxuICByZXR1cm4ge1xuICAgIC4uLnNwZWMsXG4gICAgbWV0aG9kczogQXJyYXkuZnJvbShtZXRob2RzLnZhbHVlcygpKSxcbiAgICBwcm9wZXJ0aWVzOiBBcnJheS5mcm9tKHByb3BzLnZhbHVlcygpKSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./assembly"), exports);
|
|
18
|
+
__exportStar(require("./utils"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDBDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXNzZW1ibHknO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareLowerCase = compareLowerCase;
|
|
4
|
+
exports.comparePath = comparePath;
|
|
5
|
+
function compareLowerCase(a, b) {
|
|
6
|
+
return a.localeCompare(b, undefined, { sensitivity: 'base' });
|
|
7
|
+
}
|
|
8
|
+
function comparePath(a, b) {
|
|
9
|
+
if (a[0] < b[0]) {
|
|
10
|
+
return 1;
|
|
11
|
+
}
|
|
12
|
+
return compareLowerCase(a, b);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDRDQUVDO0FBRUQsa0NBS0M7QUFURCxTQUFnQixnQkFBZ0IsQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUNuRCxPQUFPLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxTQUFnQixXQUFXLENBQUMsQ0FBUyxFQUFFLENBQVM7SUFDOUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjb21wYXJlTG93ZXJDYXNlKGE6IHN0cmluZywgYjogc3RyaW5nKSB7XG4gIHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYiwgdW5kZWZpbmVkLCB7IHNlbnNpdGl2aXR5OiAnYmFzZScgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlUGF0aChhOiBzdHJpbmcsIGI6IHN0cmluZykge1xuICBpZiAoYVswXSA8IGJbMF0pIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICByZXR1cm4gY29tcGFyZUxvd2VyQ2FzZShhLCBiKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./projen-struct"), exports);
|
|
18
|
+
__exportStar(require("./ts-interface"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVuL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFDaEMsaURBQStCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm9qZW4tc3RydWN0JztcbmV4cG9ydCAqIGZyb20gJy4vdHMtaW50ZXJmYWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { Docs, Property } from '@jsii/spec';
|
|
2
|
+
import type { typescript } from 'projen';
|
|
3
|
+
import { Component } from 'projen';
|
|
4
|
+
import type { TypeScriptInterfaceFileOptions } from './ts-interface';
|
|
5
|
+
import type { HasProperties, IStructBuilder, HasFullyQualifiedName, HasStructSpec } from '../builder';
|
|
6
|
+
export interface ProjenStructOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The name of the new struct
|
|
9
|
+
*/
|
|
10
|
+
readonly name: string;
|
|
11
|
+
/**
|
|
12
|
+
* Doc string for the struct
|
|
13
|
+
*
|
|
14
|
+
* Just does the summary
|
|
15
|
+
* If you want to add a full description, use `docs` instead.
|
|
16
|
+
* This will not be used if `docs` is provided.
|
|
17
|
+
*
|
|
18
|
+
* @default - struct name
|
|
19
|
+
*/
|
|
20
|
+
readonly description?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Docs for the struct
|
|
23
|
+
*
|
|
24
|
+
* Use this to add a full description.
|
|
25
|
+
* If you only want to add a summary, use `description` instead.
|
|
26
|
+
*
|
|
27
|
+
* @default - none, use `description` if provided
|
|
28
|
+
*/
|
|
29
|
+
readonly docs?: Docs;
|
|
30
|
+
/**
|
|
31
|
+
* The fqn of the struct
|
|
32
|
+
*
|
|
33
|
+
* Used to auto-add imports.
|
|
34
|
+
* All referenced types are loaded based on the fqn hierarchy.
|
|
35
|
+
*
|
|
36
|
+
* See `importLocations` for customization options.
|
|
37
|
+
*
|
|
38
|
+
* @default `${project.name}.${options.name}`
|
|
39
|
+
*/
|
|
40
|
+
readonly fqn?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Output file path
|
|
43
|
+
* @default - inside `srcdir` or `outdir` with the fqn turned into a path
|
|
44
|
+
*/
|
|
45
|
+
readonly filePath?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The module locations assemblies should be imported from
|
|
48
|
+
*
|
|
49
|
+
* All types are imported from the top-level of the module.
|
|
50
|
+
* This map can be used to overwrite the default import locations.
|
|
51
|
+
*
|
|
52
|
+
* For local imports, the import traverse up a number of levels equivalent to the number of fqn parts of the rendered type.
|
|
53
|
+
* E.g. if the the rendered type is `pkg.interface`, it is assumed to be at the top-level and imports from the same assembly would be from `./`.
|
|
54
|
+
* If the rendered type is `pkg.nested.sub.interface` a local import will be from `../../`.
|
|
55
|
+
*
|
|
56
|
+
* @default - uses the assembly name for external packages
|
|
57
|
+
* local imports traverse up a number of levels equivalent to the number of fqn parts
|
|
58
|
+
*/
|
|
59
|
+
readonly importLocations?: Record<string, string>;
|
|
60
|
+
/**
|
|
61
|
+
* Options for the created output `TypeScriptInterfaceFile`
|
|
62
|
+
*/
|
|
63
|
+
readonly outputFileOptions?: Omit<TypeScriptInterfaceFileOptions, 'importLocations'>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A component generating a jsii-compatible struct
|
|
67
|
+
*/
|
|
68
|
+
export declare class ProjenStruct extends Component implements IStructBuilder, HasProperties, HasFullyQualifiedName, HasStructSpec {
|
|
69
|
+
private tsProject;
|
|
70
|
+
private options;
|
|
71
|
+
private builder;
|
|
72
|
+
constructor(tsProject: typescript.TypeScriptProject, options: ProjenStructOptions);
|
|
73
|
+
preSynthesize(): void;
|
|
74
|
+
get spec(): import("@jsii/spec").InterfaceType;
|
|
75
|
+
add(...props: Property[]): this;
|
|
76
|
+
mixin(...sources: HasProperties[]): this;
|
|
77
|
+
replace(name: string, replacement: Property): IStructBuilder;
|
|
78
|
+
map(callbackfn: (prop: Property) => Property): this;
|
|
79
|
+
update(name: string, update: Partial<Property>): this;
|
|
80
|
+
updateEvery(callbackfn: (prop: Property) => Partial<Property>): this;
|
|
81
|
+
updateAll(update: Partial<Property>): this;
|
|
82
|
+
rename(from: string, to: string): this;
|
|
83
|
+
allOptional(): this;
|
|
84
|
+
filter(predicate: (prop: Property) => boolean): this;
|
|
85
|
+
only(...keep: string[]): this;
|
|
86
|
+
omit(...remove: string[]): this;
|
|
87
|
+
withoutDeprecated(): this;
|
|
88
|
+
get properties(): Property[];
|
|
89
|
+
get fqn(): string;
|
|
90
|
+
}
|