@twin.org/tools-models 0.0.3-next.16

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.
Files changed (144) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +21 -0
  3. package/dist/es/index.js +36 -0
  4. package/dist/es/index.js.map +1 -0
  5. package/dist/es/models/jsonSchema/IJsonSchema.js +4 -0
  6. package/dist/es/models/jsonSchema/IJsonSchema.js.map +1 -0
  7. package/dist/es/models/jsonSchema/jsonSchemaTagNames.js +58 -0
  8. package/dist/es/models/jsonSchema/jsonSchemaTagNames.js.map +1 -0
  9. package/dist/es/models/jsonSchema/jsonSchemaTypeNames.js +4 -0
  10. package/dist/es/models/jsonSchema/jsonSchemaTypeNames.js.map +1 -0
  11. package/dist/es/models/openApi/IOpenApi.js +2 -0
  12. package/dist/es/models/openApi/IOpenApi.js.map +1 -0
  13. package/dist/es/models/openApi/IOpenApiComponents.js +2 -0
  14. package/dist/es/models/openApi/IOpenApiComponents.js.map +1 -0
  15. package/dist/es/models/openApi/IOpenApiContact.js +4 -0
  16. package/dist/es/models/openApi/IOpenApiContact.js.map +1 -0
  17. package/dist/es/models/openApi/IOpenApiExample.js +4 -0
  18. package/dist/es/models/openApi/IOpenApiExample.js.map +1 -0
  19. package/dist/es/models/openApi/IOpenApiExternalDocumentation.js +4 -0
  20. package/dist/es/models/openApi/IOpenApiExternalDocumentation.js.map +1 -0
  21. package/dist/es/models/openApi/IOpenApiHeader.js +2 -0
  22. package/dist/es/models/openApi/IOpenApiHeader.js.map +1 -0
  23. package/dist/es/models/openApi/IOpenApiInfo.js +2 -0
  24. package/dist/es/models/openApi/IOpenApiInfo.js.map +1 -0
  25. package/dist/es/models/openApi/IOpenApiLicense.js +4 -0
  26. package/dist/es/models/openApi/IOpenApiLicense.js.map +1 -0
  27. package/dist/es/models/openApi/IOpenApiMediaType.js +2 -0
  28. package/dist/es/models/openApi/IOpenApiMediaType.js.map +1 -0
  29. package/dist/es/models/openApi/IOpenApiOAuthFlow.js +4 -0
  30. package/dist/es/models/openApi/IOpenApiOAuthFlow.js.map +1 -0
  31. package/dist/es/models/openApi/IOpenApiOAuthFlows.js +2 -0
  32. package/dist/es/models/openApi/IOpenApiOAuthFlows.js.map +1 -0
  33. package/dist/es/models/openApi/IOpenApiParameter.js +2 -0
  34. package/dist/es/models/openApi/IOpenApiParameter.js.map +1 -0
  35. package/dist/es/models/openApi/IOpenApiPathItem.js +2 -0
  36. package/dist/es/models/openApi/IOpenApiPathItem.js.map +1 -0
  37. package/dist/es/models/openApi/IOpenApiPathMethod.js +2 -0
  38. package/dist/es/models/openApi/IOpenApiPathMethod.js.map +1 -0
  39. package/dist/es/models/openApi/IOpenApiReference.js +4 -0
  40. package/dist/es/models/openApi/IOpenApiReference.js.map +1 -0
  41. package/dist/es/models/openApi/IOpenApiRequestBody.js +2 -0
  42. package/dist/es/models/openApi/IOpenApiRequestBody.js.map +1 -0
  43. package/dist/es/models/openApi/IOpenApiResponse.js +2 -0
  44. package/dist/es/models/openApi/IOpenApiResponse.js.map +1 -0
  45. package/dist/es/models/openApi/IOpenApiResponses.js +2 -0
  46. package/dist/es/models/openApi/IOpenApiResponses.js.map +1 -0
  47. package/dist/es/models/openApi/IOpenApiSecurityRequirement.js +4 -0
  48. package/dist/es/models/openApi/IOpenApiSecurityRequirement.js.map +1 -0
  49. package/dist/es/models/openApi/IOpenApiSecurityScheme.js +2 -0
  50. package/dist/es/models/openApi/IOpenApiSecurityScheme.js.map +1 -0
  51. package/dist/es/models/openApi/IOpenApiServer.js +2 -0
  52. package/dist/es/models/openApi/IOpenApiServer.js.map +1 -0
  53. package/dist/es/models/openApi/IOpenApiServerVariable.js +4 -0
  54. package/dist/es/models/openApi/IOpenApiServerVariable.js.map +1 -0
  55. package/dist/es/models/openApi/IOpenApiTag.js +2 -0
  56. package/dist/es/models/openApi/IOpenApiTag.js.map +1 -0
  57. package/dist/es/models/openApi/openApiConstants.js +12 -0
  58. package/dist/es/models/openApi/openApiConstants.js.map +1 -0
  59. package/dist/es/models/packageJson/IPackageJson.js +4 -0
  60. package/dist/es/models/packageJson/IPackageJson.js.map +1 -0
  61. package/dist/es/models/packageJson/IPackageJsonBugs.js +4 -0
  62. package/dist/es/models/packageJson/IPackageJsonBugs.js.map +1 -0
  63. package/dist/es/models/packageJson/IPackageJsonPerson.js +4 -0
  64. package/dist/es/models/packageJson/IPackageJsonPerson.js.map +1 -0
  65. package/dist/es/models/packageJson/IPackageJsonPublishConfig.js +4 -0
  66. package/dist/es/models/packageJson/IPackageJsonPublishConfig.js.map +1 -0
  67. package/dist/es/models/packageJson/IPackageJsonRepository.js +4 -0
  68. package/dist/es/models/packageJson/IPackageJsonRepository.js.map +1 -0
  69. package/dist/es/models/packageJson/IPackageJsonStringMap.js +4 -0
  70. package/dist/es/models/packageJson/IPackageJsonStringMap.js.map +1 -0
  71. package/dist/types/index.d.ts +33 -0
  72. package/dist/types/models/jsonSchema/IJsonSchema.d.ts +372 -0
  73. package/dist/types/models/jsonSchema/jsonSchemaTagNames.d.ts +4 -0
  74. package/dist/types/models/jsonSchema/jsonSchemaTypeNames.d.ts +4 -0
  75. package/dist/types/models/openApi/IOpenApi.d.ts +72 -0
  76. package/dist/types/models/openApi/IOpenApiComponents.d.ts +70 -0
  77. package/dist/types/models/openApi/IOpenApiContact.d.ts +21 -0
  78. package/dist/types/models/openApi/IOpenApiExample.d.ts +30 -0
  79. package/dist/types/models/openApi/IOpenApiExternalDocumentation.d.ts +14 -0
  80. package/dist/types/models/openApi/IOpenApiHeader.d.ts +50 -0
  81. package/dist/types/models/openApi/IOpenApiInfo.d.ts +43 -0
  82. package/dist/types/models/openApi/IOpenApiLicense.d.ts +21 -0
  83. package/dist/types/models/openApi/IOpenApiMediaType.d.ts +41 -0
  84. package/dist/types/models/openApi/IOpenApiOAuthFlow.d.ts +28 -0
  85. package/dist/types/models/openApi/IOpenApiOAuthFlows.d.ts +27 -0
  86. package/dist/types/models/openApi/IOpenApiParameter.d.ts +74 -0
  87. package/dist/types/models/openApi/IOpenApiPathItem.d.ts +72 -0
  88. package/dist/types/models/openApi/IOpenApiPathMethod.d.ts +75 -0
  89. package/dist/types/models/openApi/IOpenApiReference.d.ts +18 -0
  90. package/dist/types/models/openApi/IOpenApiRequestBody.d.ts +22 -0
  91. package/dist/types/models/openApi/IOpenApiResponse.d.ts +35 -0
  92. package/dist/types/models/openApi/IOpenApiResponses.d.ts +18 -0
  93. package/dist/types/models/openApi/IOpenApiSecurityRequirement.d.ts +7 -0
  94. package/dist/types/models/openApi/IOpenApiSecurityScheme.d.ts +33 -0
  95. package/dist/types/models/openApi/IOpenApiServer.d.ts +29 -0
  96. package/dist/types/models/openApi/IOpenApiServerVariable.d.ts +21 -0
  97. package/dist/types/models/openApi/IOpenApiTag.d.ts +31 -0
  98. package/dist/types/models/openApi/openApiConstants.d.ts +9 -0
  99. package/dist/types/models/packageJson/IPackageJson.d.ts +134 -0
  100. package/dist/types/models/packageJson/IPackageJsonBugs.d.ts +7 -0
  101. package/dist/types/models/packageJson/IPackageJsonPerson.d.ts +8 -0
  102. package/dist/types/models/packageJson/IPackageJsonPublishConfig.d.ts +6 -0
  103. package/dist/types/models/packageJson/IPackageJsonRepository.d.ts +8 -0
  104. package/dist/types/models/packageJson/IPackageJsonStringMap.d.ts +6 -0
  105. package/docs/changelog.md +10 -0
  106. package/docs/examples.md +85 -0
  107. package/docs/reference/classes/OpenApiConstants.md +21 -0
  108. package/docs/reference/index.md +48 -0
  109. package/docs/reference/interfaces/IJsonSchema.md +795 -0
  110. package/docs/reference/interfaces/IOpenApi.md +147 -0
  111. package/docs/reference/interfaces/IOpenApiComponents.md +115 -0
  112. package/docs/reference/interfaces/IOpenApiContact.md +43 -0
  113. package/docs/reference/interfaces/IOpenApiExample.md +55 -0
  114. package/docs/reference/interfaces/IOpenApiExternalDocumentation.md +23 -0
  115. package/docs/reference/interfaces/IOpenApiHeader.md +87 -0
  116. package/docs/reference/interfaces/IOpenApiInfo.md +91 -0
  117. package/docs/reference/interfaces/IOpenApiLicense.md +43 -0
  118. package/docs/reference/interfaces/IOpenApiMediaType.md +71 -0
  119. package/docs/reference/interfaces/IOpenApiOAuthFlow.md +51 -0
  120. package/docs/reference/interfaces/IOpenApiOAuthFlows.md +47 -0
  121. package/docs/reference/interfaces/IOpenApiParameter.md +119 -0
  122. package/docs/reference/interfaces/IOpenApiPathItem.md +131 -0
  123. package/docs/reference/interfaces/IOpenApiPathMethod.md +155 -0
  124. package/docs/reference/interfaces/IOpenApiReference.md +31 -0
  125. package/docs/reference/interfaces/IOpenApiRequestBody.md +35 -0
  126. package/docs/reference/interfaces/IOpenApiResponse.md +59 -0
  127. package/docs/reference/interfaces/IOpenApiResponses.md +29 -0
  128. package/docs/reference/interfaces/IOpenApiSecurityRequirement.md +11 -0
  129. package/docs/reference/interfaces/IOpenApiServer.md +59 -0
  130. package/docs/reference/interfaces/IOpenApiServerVariable.md +43 -0
  131. package/docs/reference/interfaces/IOpenApiTag.md +55 -0
  132. package/docs/reference/interfaces/IPackageJson.md +295 -0
  133. package/docs/reference/interfaces/IPackageJsonPublishConfig.md +7 -0
  134. package/docs/reference/interfaces/IPackageJsonStringMap.md +7 -0
  135. package/docs/reference/type-aliases/IOpenApiSecurityScheme.md +9 -0
  136. package/docs/reference/type-aliases/IPackageJsonBugs.md +5 -0
  137. package/docs/reference/type-aliases/IPackageJsonPerson.md +5 -0
  138. package/docs/reference/type-aliases/IPackageJsonRepository.md +5 -0
  139. package/docs/reference/type-aliases/JsonSchemaTypeNames.md +5 -0
  140. package/docs/reference/type-aliases/OpenApiParameterLocation.md +5 -0
  141. package/docs/reference/type-aliases/OpenApiParameterStyle.md +5 -0
  142. package/docs/reference/variables/JsonSchemaTagNames.md +5 -0
  143. package/locales/en.json +1 -0
  144. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOpenApiSecurityRequirement.js","sourceRoot":"","sources":["../../../../src/models/openApi/IOpenApiSecurityRequirement.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * An OpenAPI Security Requirement Object.\n * @see https://spec.openapis.org/oas/latest.html#security-requirement-object\n */\nexport interface IOpenApiSecurityRequirement {\n\t[name: string]: string[];\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOpenApiSecurityScheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOpenApiSecurityScheme.js","sourceRoot":"","sources":["../../../../src/models/openApi/IOpenApiSecurityScheme.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOpenApiOAuthFlows } from \"./IOpenApiOAuthFlows.js\";\n\n/**\n * An OpenAPI Security Scheme Object.\n * @see https://spec.openapis.org/oas/latest.html#security-scheme-object\n */\nexport type IOpenApiSecurityScheme =\n\t| {\n\t\t\ttype: \"apiKey\";\n\t\t\tdescription?: string;\n\t\t\tname: string;\n\t\t\tin: \"query\" | \"header\" | \"cookie\";\n\t\t\tdeprecated?: boolean;\n\t }\n\t| {\n\t\t\ttype: \"http\";\n\t\t\tdescription?: string;\n\t\t\tscheme: string;\n\t\t\tbearerFormat?: string;\n\t\t\tdeprecated?: boolean;\n\t }\n\t| {\n\t\t\ttype: \"mutualTLS\";\n\t\t\tdescription?: string;\n\t\t\tdeprecated?: boolean;\n\t }\n\t| {\n\t\t\ttype: \"oauth2\";\n\t\t\tdescription?: string;\n\t\t\tflows: IOpenApiOAuthFlows;\n\t\t\toauth2MetadataUrl?: string;\n\t\t\tdeprecated?: boolean;\n\t }\n\t| {\n\t\t\ttype: \"openIdConnect\";\n\t\t\tdescription?: string;\n\t\t\topenIdConnectUrl: string;\n\t\t\tdeprecated?: boolean;\n\t };\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOpenApiServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOpenApiServer.js","sourceRoot":"","sources":["../../../../src/models/openApi/IOpenApiServer.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOpenApiServerVariable } from \"./IOpenApiServerVariable.js\";\n\n/**\n * An OpenAPI Server Object.\n * @see https://spec.openapis.org/oas/latest.html#server-object\n */\nexport interface IOpenApiServer {\n\t/**\n\t * The target URL.\n\t * @see https://spec.openapis.org/oas/latest.html#fixed-fields-3\n\t */\n\turl: string;\n\n\t/**\n\t * A description of the server.\n\t * @see https://spec.openapis.org/oas/latest.html#fixed-fields-3\n\t */\n\tdescription?: string;\n\n\t/**\n\t * A unique server name.\n\t * @see https://spec.openapis.org/oas/latest.html#fixed-fields-3\n\t */\n\tname?: string;\n\n\t/**\n\t * URL template variables.\n\t * @see https://spec.openapis.org/oas/latest.html#fixed-fields-3\n\t */\n\tvariables?: {\n\t\t[name: string]: IOpenApiServerVariable;\n\t};\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IOpenApiServerVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOpenApiServerVariable.js","sourceRoot":"","sources":["../../../../src/models/openApi/IOpenApiServerVariable.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * An OpenAPI Server Variable Object.\n * @see https://spec.openapis.org/oas/latest.html#server-variable-object\n */\nexport interface IOpenApiServerVariable {\n\t/**\n\t * Allowed substitution values.\n\t * @see https://spec.openapis.org/oas/latest.html#fixed-fields-4\n\t */\n\tenum?: string[];\n\n\t/**\n\t * The default substitution value.\n\t * @see https://spec.openapis.org/oas/latest.html#fixed-fields-4\n\t */\n\tdefault: string;\n\n\t/**\n\t * A description of the variable.\n\t * @see https://spec.openapis.org/oas/latest.html#fixed-fields-4\n\t */\n\tdescription?: string;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IOpenApiTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOpenApiTag.js","sourceRoot":"","sources":["../../../../src/models/openApi/IOpenApiTag.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOpenApiExternalDocumentation } from \"./IOpenApiExternalDocumentation.js\";\n\n/**\n * An OpenAPI Tag Object.\n * @see https://spec.openapis.org/oas/latest.html#tag-object\n */\nexport interface IOpenApiTag {\n\t/**\n\t * The name of the tag.\n\t */\n\tname: string;\n\n\t/**\n\t * A short summary of the tag.\n\t */\n\tsummary?: string;\n\n\t/**\n\t * A description of the tag.\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Additional external documentation for the tag.\n\t */\n\texternalDocs?: IOpenApiExternalDocumentation;\n\n\t/**\n\t * Parent tag name.\n\t */\n\tparent?: string;\n\n\t/**\n\t * A machine-readable category for the tag.\n\t */\n\tkind?: string;\n}\n"]}
@@ -0,0 +1,12 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ /**
4
+ * Constants for OpenAPI processing.
5
+ */
6
+ export class OpenApiConstants {
7
+ /**
8
+ * The OpenAPI version used.
9
+ */
10
+ static API_VERSION = "3.1.1";
11
+ }
12
+ //# sourceMappingURL=openApiConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openApiConstants.js","sourceRoot":"","sources":["../../../../src/models/openApi/openApiConstants.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC5B;;OAEG;IACI,MAAM,CAAU,WAAW,GAAG,OAAO,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Constants for OpenAPI processing.\n */\nexport class OpenApiConstants {\n\t/**\n\t * The OpenAPI version used.\n\t */\n\tpublic static readonly API_VERSION = \"3.1.1\";\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IPackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPackageJson.js","sourceRoot":"","sources":["../../../../src/models/packageJson/IPackageJson.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\nimport type { IPackageJsonBugs } from \"./IPackageJsonBugs.js\";\nimport type { IPackageJsonPerson } from \"./IPackageJsonPerson.js\";\nimport type { IPackageJsonPublishConfig } from \"./IPackageJsonPublishConfig.js\";\nimport type { IPackageJsonRepository } from \"./IPackageJsonRepository.js\";\nimport type { IPackageJsonStringMap } from \"./IPackageJsonStringMap.js\";\n\n/**\n * Configuration for each individual package.\n * @see https://docs.npmjs.com/creating-a-package-json-file\n * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json\n */\nexport interface IPackageJson {\n\t/**\n\t * The name of the package.\n\t * @see https://docs.npmjs.com/creating-a-package-json-file#required-name-and-version-fields\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#name\n\t */\n\tname: string;\n\n\t/**\n\t * The semantic version for the package.\n\t * @see https://docs.npmjs.com/creating-a-package-json-file#required-name-and-version-fields\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#version\n\t */\n\tversion?: string;\n\n\t/**\n\t * The short description for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#description\n\t */\n\tdescription?: string;\n\n\t/**\n\t * Search keywords for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#keywords\n\t */\n\tkeywords?: string[];\n\n\t/**\n\t * The package author.\n\t * @see https://docs.npmjs.com/creating-a-package-json-file#author-field\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#people-fields-author-contributors\n\t */\n\tauthor?: IPackageJsonPerson;\n\n\t/**\n\t * The contributors for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#people-fields-author-contributors\n\t */\n\tcontributors?: IPackageJsonPerson[];\n\n\t/**\n\t * The project homepage.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#homepage\n\t */\n\thomepage?: string;\n\n\t/**\n\t * The source repository for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#repository\n\t */\n\trepository?: IPackageJsonRepository;\n\n\t/**\n\t * The issue tracker for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bugs\n\t */\n\tbugs?: IPackageJsonBugs;\n\n\t/**\n\t * The SPDX license expression for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#license\n\t */\n\tlicense?: string;\n\n\t/**\n\t * Whether the package is private and should not be published.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#private\n\t */\n\tprivate?: boolean;\n\n\t/**\n\t * The module system for .js files in the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#type\n\t */\n\ttype?: \"commonjs\" | \"module\";\n\n\t/**\n\t * The primary package entry point.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#main\n\t */\n\tmain?: string;\n\n\t/**\n\t * The TypeScript declaration entry point.\n\t */\n\ttypes?: string;\n\n\t/**\n\t * The executable entry points for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin\n\t */\n\tbin?: string | IPackageJsonStringMap;\n\n\t/**\n\t * The files to include when the package is packed or published.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#files\n\t */\n\tfiles?: string[];\n\n\t/**\n\t * The lifecycle scripts for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#scripts\n\t */\n\tscripts?: IPackageJsonStringMap;\n\n\t/**\n\t * The dependencies for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#dependencies\n\t */\n\tdependencies?: IPackageJsonStringMap;\n\n\t/**\n\t * The development-only dependencies for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#devdependencies\n\t */\n\tdevDependencies?: IPackageJsonStringMap;\n\n\t/**\n\t * The peer dependencies for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#peerdependencies\n\t */\n\tpeerDependencies?: IPackageJsonStringMap;\n\n\t/**\n\t * The optional dependencies for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#optionaldependencies\n\t */\n\toptionalDependencies?: IPackageJsonStringMap;\n\n\t/**\n\t * Runtime engine constraints for the package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#engines\n\t */\n\tengines?: IPackageJsonStringMap;\n\n\t/**\n\t * Publish-time npm configuration.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#publishconfig\n\t */\n\tpublishConfig?: IPackageJsonPublishConfig;\n\n\t/**\n\t * Workspace globs for a monorepo root package.\n\t * @see https://docs.npmjs.com/cli/v11/configuring-npm/package-json#workspaces\n\t */\n\tworkspaces?: string[];\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IPackageJsonBugs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPackageJsonBugs.js","sourceRoot":"","sources":["../../../../src/models/packageJson/IPackageJsonBugs.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * A package bugs field.\n */\nexport type IPackageJsonBugs =\n\t| string\n\t| {\n\t\t\turl?: string;\n\t\t\temail?: string;\n\t };\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IPackageJsonPerson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPackageJsonPerson.js","sourceRoot":"","sources":["../../../../src/models/packageJson/IPackageJsonPerson.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * A package person field.\n */\nexport type IPackageJsonPerson =\n\t| string\n\t| {\n\t\t\tname: string;\n\t\t\temail?: string;\n\t\t\turl?: string;\n\t };\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IPackageJsonPublishConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPackageJsonPublishConfig.js","sourceRoot":"","sources":["../../../../src/models/packageJson/IPackageJsonPublishConfig.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Publish-time npm configuration.\n */\nexport interface IPackageJsonPublishConfig {\n\t[id: string]: string | boolean;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IPackageJsonRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPackageJsonRepository.js","sourceRoot":"","sources":["../../../../src/models/packageJson/IPackageJsonRepository.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * A package repository field.\n */\nexport type IPackageJsonRepository =\n\t| string\n\t| {\n\t\t\ttype?: string;\n\t\t\turl: string;\n\t\t\tdirectory?: string;\n\t };\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IPackageJsonStringMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPackageJsonStringMap.js","sourceRoot":"","sources":["../../../../src/models/packageJson/IPackageJsonStringMap.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * A map of package names to version specifiers.\n */\nexport interface IPackageJsonStringMap {\n\t[id: string]: string;\n}\n"]}
@@ -0,0 +1,33 @@
1
+ export * from "./models/jsonSchema/IJsonSchema.js";
2
+ export * from "./models/jsonSchema/jsonSchemaTagNames.js";
3
+ export * from "./models/jsonSchema/jsonSchemaTypeNames.js";
4
+ export * from "./models/openApi/IOpenApi.js";
5
+ export * from "./models/openApi/IOpenApiComponents.js";
6
+ export * from "./models/openApi/IOpenApiContact.js";
7
+ export * from "./models/openApi/IOpenApiExample.js";
8
+ export * from "./models/openApi/IOpenApiExternalDocumentation.js";
9
+ export * from "./models/openApi/IOpenApiHeader.js";
10
+ export * from "./models/openApi/IOpenApiInfo.js";
11
+ export * from "./models/openApi/IOpenApiLicense.js";
12
+ export * from "./models/openApi/IOpenApiMediaType.js";
13
+ export * from "./models/openApi/IOpenApiOAuthFlow.js";
14
+ export * from "./models/openApi/IOpenApiOAuthFlows.js";
15
+ export * from "./models/openApi/IOpenApiParameter.js";
16
+ export * from "./models/openApi/IOpenApiPathItem.js";
17
+ export * from "./models/openApi/IOpenApiPathMethod.js";
18
+ export * from "./models/openApi/IOpenApiReference.js";
19
+ export * from "./models/openApi/IOpenApiRequestBody.js";
20
+ export * from "./models/openApi/IOpenApiResponse.js";
21
+ export * from "./models/openApi/IOpenApiResponses.js";
22
+ export * from "./models/openApi/IOpenApiSecurityRequirement.js";
23
+ export * from "./models/openApi/IOpenApiSecurityScheme.js";
24
+ export * from "./models/openApi/IOpenApiServer.js";
25
+ export * from "./models/openApi/IOpenApiServerVariable.js";
26
+ export * from "./models/openApi/IOpenApiTag.js";
27
+ export * from "./models/openApi/openApiConstants.js";
28
+ export * from "./models/packageJson/IPackageJson.js";
29
+ export * from "./models/packageJson/IPackageJsonBugs.js";
30
+ export * from "./models/packageJson/IPackageJsonPerson.js";
31
+ export * from "./models/packageJson/IPackageJsonPublishConfig.js";
32
+ export * from "./models/packageJson/IPackageJsonRepository.js";
33
+ export * from "./models/packageJson/IPackageJsonStringMap.js";
@@ -0,0 +1,372 @@
1
+ /**
2
+ * JSON schema representation used by the TypeScript conversion utilities.
3
+ * @see https://json-schema.org/draft/2020-12/json-schema-core
4
+ */
5
+ export interface IJsonSchema {
6
+ /**
7
+ * Dialect URI for the schema document.
8
+ * @see https://www.learnjsonschema.com/2020-12/core/schema/
9
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.1.1
10
+ */
11
+ $schema?: string;
12
+ /**
13
+ * Canonical identifier for the schema resource.
14
+ * @see https://www.learnjsonschema.com/2020-12/core/id/
15
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.2.1
16
+ */
17
+ $id?: string;
18
+ /**
19
+ * Reference to another schema resource.
20
+ * @see https://www.learnjsonschema.com/2020-12/core/ref/
21
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.2.3.1
22
+ */
23
+ $ref?: string;
24
+ /**
25
+ * Location-independent identifier fragment.
26
+ * @see https://www.learnjsonschema.com/2020-12/core/anchor/
27
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.2.2
28
+ */
29
+ $anchor?: string;
30
+ /**
31
+ * Runtime-resolved dynamic schema reference.
32
+ * @see https://www.learnjsonschema.com/2020-12/core/dynamicref/
33
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.2.3.2
34
+ */
35
+ $dynamicRef?: string;
36
+ /**
37
+ * Dynamic extension point anchor.
38
+ * @see https://www.learnjsonschema.com/2020-12/core/dynamicanchor/
39
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.2.2
40
+ */
41
+ $dynamicAnchor?: string;
42
+ /**
43
+ * Declares vocabularies for a meta-schema dialect.
44
+ * @see https://www.learnjsonschema.com/2020-12/core/vocabulary/
45
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.1.2
46
+ */
47
+ $vocabulary?: {
48
+ [uri: string]: boolean;
49
+ };
50
+ /**
51
+ * Maintainer comment for tools.
52
+ * @see https://www.learnjsonschema.com/2020-12/core/comment/
53
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.3
54
+ */
55
+ $comment?: string;
56
+ /**
57
+ * Reusable inlined schema definitions.
58
+ * @see https://www.learnjsonschema.com/2020-12/core/defs/
59
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-8.2.4
60
+ */
61
+ $defs?: {
62
+ [id: string]: IJsonSchema;
63
+ };
64
+ /**
65
+ * Human-friendly schema title.
66
+ * @see https://www.learnjsonschema.com/2020-12/meta-data/title/
67
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-9.1
68
+ */
69
+ title?: string;
70
+ /**
71
+ * Human-friendly schema description.
72
+ * @see https://www.learnjsonschema.com/2020-12/meta-data/description/
73
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-9.1
74
+ */
75
+ description?: string;
76
+ /**
77
+ * Constrain allowed JSON value types.
78
+ * @see https://www.learnjsonschema.com/2020-12/validation/type/
79
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.1.1
80
+ */
81
+ type?: string | string[];
82
+ /**
83
+ * Property schemas for object members.
84
+ * @see https://www.learnjsonschema.com/2020-12/applicator/properties/
85
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.3.2.1
86
+ */
87
+ properties?: {
88
+ [id: string]: IJsonSchema;
89
+ };
90
+ /**
91
+ * Property schemas selected by regex on property names.
92
+ * @see https://www.learnjsonschema.com/2020-12/applicator/patternproperties/
93
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.3.2.2
94
+ */
95
+ patternProperties?: {
96
+ [pattern: string]: IJsonSchema;
97
+ };
98
+ /**
99
+ * Object property names that must be present.
100
+ * @see https://www.learnjsonschema.com/2020-12/validation/required/
101
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.5.3
102
+ */
103
+ required?: string[];
104
+ /**
105
+ * Property-level schema dependencies.
106
+ * @see https://www.learnjsonschema.com/2020-12/applicator/dependentschemas/
107
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.2.4
108
+ */
109
+ dependentSchemas?: {
110
+ [property: string]: IJsonSchema;
111
+ };
112
+ /**
113
+ * Property-level required-key dependencies.
114
+ * @see https://www.learnjsonschema.com/2020-12/validation/dependentrequired/
115
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.5.4
116
+ */
117
+ dependentRequired?: {
118
+ [property: string]: string[];
119
+ };
120
+ /**
121
+ * Schema for array items (or boolean form).
122
+ * @see https://www.learnjsonschema.com/2020-12/applicator/items/
123
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.3.1.2
124
+ */
125
+ items?: IJsonSchema | boolean;
126
+ /**
127
+ * Tuple-style schemas for leading array positions.
128
+ * @see https://www.learnjsonschema.com/2020-12/applicator/prefixitems/
129
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.3.1.1
130
+ */
131
+ prefixItems?: IJsonSchema[];
132
+ /**
133
+ * Schema for properties not listed in properties/patternProperties.
134
+ * @see https://www.learnjsonschema.com/2020-12/applicator/additionalproperties/
135
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.3.2.3
136
+ */
137
+ additionalProperties?: IJsonSchema | boolean;
138
+ /**
139
+ * Union where at least one branch schema must match.
140
+ * @see https://www.learnjsonschema.com/2020-12/applicator/anyof/
141
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.1.2
142
+ */
143
+ anyOf?: IJsonSchema[];
144
+ /**
145
+ * Intersection where all branch schemas must match.
146
+ * @see https://www.learnjsonschema.com/2020-12/applicator/allof/
147
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.1.1
148
+ */
149
+ allOf?: IJsonSchema[];
150
+ /**
151
+ * Exactly one branch schema must match.
152
+ * @see https://www.learnjsonschema.com/2020-12/applicator/oneof/
153
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.1.3
154
+ */
155
+ oneOf?: IJsonSchema[];
156
+ /**
157
+ * Negated schema condition.
158
+ * @see https://www.learnjsonschema.com/2020-12/applicator/not/
159
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.1.4
160
+ */
161
+ not?: IJsonSchema;
162
+ /**
163
+ * Condition schema for conditional application.
164
+ * @see https://www.learnjsonschema.com/2020-12/applicator/if/
165
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.2.1
166
+ */
167
+ if?: IJsonSchema;
168
+ /**
169
+ * Schema applied when if matches.
170
+ * @see https://www.learnjsonschema.com/2020-12/applicator/then/
171
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.2.2
172
+ */
173
+ then?: IJsonSchema;
174
+ /**
175
+ * Schema applied when if does not match.
176
+ * @see https://www.learnjsonschema.com/2020-12/applicator/else/
177
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.2.2.3
178
+ */
179
+ else?: IJsonSchema;
180
+ /**
181
+ * Array must contain at least one matching item.
182
+ * @see https://www.learnjsonschema.com/2020-12/applicator/contains/
183
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.3.1.3
184
+ */
185
+ contains?: IJsonSchema;
186
+ /**
187
+ * Schema for validating object property names.
188
+ * @see https://www.learnjsonschema.com/2020-12/applicator/propertynames/
189
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-10.3.2.4
190
+ */
191
+ propertyNames?: IJsonSchema;
192
+ /**
193
+ * Single fixed value constraint.
194
+ * @see https://www.learnjsonschema.com/2020-12/validation/const/
195
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.1.3
196
+ */
197
+ const?: unknown;
198
+ /**
199
+ * Enumerated set of allowed values.
200
+ * @see https://www.learnjsonschema.com/2020-12/validation/enum/
201
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.1.2
202
+ */
203
+ enum?: unknown[];
204
+ /**
205
+ * Example instances for documentation tooling.
206
+ * @see https://www.learnjsonschema.com/2020-12/meta-data/examples/
207
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-9.5
208
+ */
209
+ examples?: unknown[];
210
+ /**
211
+ * Suggested default instance value.
212
+ * @see https://www.learnjsonschema.com/2020-12/meta-data/default/
213
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-9.2
214
+ */
215
+ default?: unknown;
216
+ /**
217
+ * Semantic format annotation.
218
+ * @see https://www.learnjsonschema.com/2020-12/format-annotation/format/
219
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-7.1
220
+ */
221
+ format?: string;
222
+ /**
223
+ * Regular expression that strings must match.
224
+ * @see https://www.learnjsonschema.com/2020-12/validation/pattern/
225
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.3.3
226
+ */
227
+ pattern?: string;
228
+ /**
229
+ * Content encoding annotation for string instances.
230
+ * @see https://www.learnjsonschema.com/2020-12/content/contentencoding/
231
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-8.3
232
+ */
233
+ contentEncoding?: string;
234
+ /**
235
+ * Media type annotation for string content.
236
+ * @see https://www.learnjsonschema.com/2020-12/content/contentmediatype/
237
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-8.4
238
+ */
239
+ contentMediaType?: string;
240
+ /**
241
+ * Schema for the decoded content payload.
242
+ * @see https://www.learnjsonschema.com/2020-12/content/contentschema/
243
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-8.5
244
+ */
245
+ contentSchema?: IJsonSchema;
246
+ /**
247
+ * Annotation indicating read-only semantics.
248
+ * @see https://www.learnjsonschema.com/2020-12/meta-data/readonly/
249
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-9.4
250
+ */
251
+ readOnly?: boolean;
252
+ /**
253
+ * Annotation indicating write-only semantics.
254
+ * @see https://www.learnjsonschema.com/2020-12/meta-data/writeonly/
255
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-9.4
256
+ */
257
+ writeOnly?: boolean;
258
+ /**
259
+ * Annotation indicating deprecation.
260
+ * @see https://www.learnjsonschema.com/2020-12/meta-data/deprecated/
261
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-9.3
262
+ */
263
+ deprecated?: boolean;
264
+ /**
265
+ * Non-standard extension used by some tooling ecosystems.
266
+ */
267
+ discriminator?: {
268
+ propertyName: string;
269
+ };
270
+ /**
271
+ * Minimum length for strings.
272
+ * @see https://www.learnjsonschema.com/2020-12/validation/minlength/
273
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.3.2
274
+ */
275
+ minLength?: number;
276
+ /**
277
+ * Maximum length for strings.
278
+ * @see https://www.learnjsonschema.com/2020-12/validation/maxlength/
279
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.3.1
280
+ */
281
+ maxLength?: number;
282
+ /**
283
+ * Inclusive lower numeric bound.
284
+ * @see https://www.learnjsonschema.com/2020-12/validation/minimum/
285
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.2.4
286
+ */
287
+ minimum?: number;
288
+ /**
289
+ * Inclusive upper numeric bound.
290
+ * @see https://www.learnjsonschema.com/2020-12/validation/maximum/
291
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.2.2
292
+ */
293
+ maximum?: number;
294
+ /**
295
+ * Exclusive lower numeric bound.
296
+ * @see https://www.learnjsonschema.com/2020-12/validation/exclusiveminimum/
297
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.2.5
298
+ */
299
+ exclusiveMinimum?: number;
300
+ /**
301
+ * Exclusive upper numeric bound.
302
+ * @see https://www.learnjsonschema.com/2020-12/validation/exclusivemaximum/
303
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.2.3
304
+ */
305
+ exclusiveMaximum?: number;
306
+ /**
307
+ * Numeric divisor constraint.
308
+ * @see https://www.learnjsonschema.com/2020-12/validation/multipleof/
309
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.2.1
310
+ */
311
+ multipleOf?: number;
312
+ /**
313
+ * Minimum array length.
314
+ * @see https://www.learnjsonschema.com/2020-12/validation/minitems/
315
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.4.2
316
+ */
317
+ minItems?: number;
318
+ /**
319
+ * Maximum array length.
320
+ * @see https://www.learnjsonschema.com/2020-12/validation/maxitems/
321
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.4.1
322
+ */
323
+ maxItems?: number;
324
+ /**
325
+ * Require array elements to be unique.
326
+ * @see https://www.learnjsonschema.com/2020-12/validation/uniqueitems/
327
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.4.3
328
+ */
329
+ uniqueItems?: boolean;
330
+ /**
331
+ * Minimum number of object properties.
332
+ * @see https://www.learnjsonschema.com/2020-12/validation/minproperties/
333
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.5.2
334
+ */
335
+ minProperties?: number;
336
+ /**
337
+ * Maximum number of object properties.
338
+ * @see https://www.learnjsonschema.com/2020-12/validation/maxproperties/
339
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.5.1
340
+ */
341
+ maxProperties?: number;
342
+ /**
343
+ * Minimum number of contains matches.
344
+ * @see https://www.learnjsonschema.com/2020-12/validation/mincontains/
345
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.4.5
346
+ */
347
+ minContains?: number;
348
+ /**
349
+ * Maximum number of contains matches.
350
+ * @see https://www.learnjsonschema.com/2020-12/validation/maxcontains/
351
+ * @see https://json-schema.org/draft/2020-12/json-schema-validation#section-6.4.4
352
+ */
353
+ maxContains?: number;
354
+ /**
355
+ * Schema applied to array items not yet evaluated by adjacent applicators.
356
+ * @see https://www.learnjsonschema.com/2020-12/unevaluated/unevaluateditems/
357
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-11.2
358
+ */
359
+ unevaluatedItems?: IJsonSchema | boolean;
360
+ /**
361
+ * Schema applied to object properties not yet evaluated by adjacent applicators.
362
+ * @see https://www.learnjsonschema.com/2020-12/unevaluated/unevaluatedproperties/
363
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-11.3
364
+ */
365
+ unevaluatedProperties?: IJsonSchema | boolean;
366
+ /**
367
+ * Allow additional extension keywords.
368
+ * @see https://www.learnjsonschema.com/2020-12/
369
+ * @see https://json-schema.org/draft/2020-12/json-schema-core#section-4.3.1
370
+ */
371
+ [key: string]: unknown;
372
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Supported @json-schema tag keys (after alias mapping).
3
+ */
4
+ export declare const JsonSchemaTagNames: string[];
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Default schema type names.
3
+ */
4
+ export type JsonSchemaTypeNames = "string" | "number" | "integer" | "boolean" | "null" | "object" | "array";
@@ -0,0 +1,72 @@
1
+ import type { IOpenApiComponents } from "./IOpenApiComponents.js";
2
+ import type { IOpenApiExternalDocumentation } from "./IOpenApiExternalDocumentation.js";
3
+ import type { IOpenApiInfo } from "./IOpenApiInfo.js";
4
+ import type { IOpenApiPathItem } from "./IOpenApiPathItem.js";
5
+ import type { IOpenApiSecurityRequirement } from "./IOpenApiSecurityRequirement.js";
6
+ import type { IOpenApiServer } from "./IOpenApiServer.js";
7
+ import type { IOpenApiTag } from "./IOpenApiTag.js";
8
+ /**
9
+ * The OpenAPI document definition.
10
+ * @see https://spec.openapis.org/oas/latest.html#openapi-object
11
+ */
12
+ export interface IOpenApi {
13
+ /**
14
+ * The OpenAPI specification version.
15
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
16
+ */
17
+ openapi: string;
18
+ /**
19
+ * The self-assigned URI of the document.
20
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
21
+ */
22
+ $self?: string;
23
+ /**
24
+ * The metadata for the API.
25
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
26
+ */
27
+ info: IOpenApiInfo;
28
+ /**
29
+ * The default JSON Schema dialect URI.
30
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
31
+ */
32
+ jsonSchemaDialect?: string;
33
+ /**
34
+ * Connectivity information for target servers.
35
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
36
+ */
37
+ servers?: IOpenApiServer[];
38
+ /**
39
+ * Available paths and operations.
40
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
41
+ */
42
+ paths?: {
43
+ [path: string]: IOpenApiPathItem;
44
+ };
45
+ /**
46
+ * Incoming webhooks keyed by name.
47
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
48
+ */
49
+ webhooks?: {
50
+ [name: string]: IOpenApiPathItem;
51
+ };
52
+ /**
53
+ * Reusable components.
54
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
55
+ */
56
+ components?: IOpenApiComponents;
57
+ /**
58
+ * API-wide security requirements.
59
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
60
+ */
61
+ security?: IOpenApiSecurityRequirement[];
62
+ /**
63
+ * Tags used by the API description.
64
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
65
+ */
66
+ tags?: IOpenApiTag[];
67
+ /**
68
+ * Additional external documentation.
69
+ * @see https://spec.openapis.org/oas/latest.html#fixed-fields
70
+ */
71
+ externalDocs?: IOpenApiExternalDocumentation;
72
+ }