@twin.org/tools-core 0.0.3-next.2 → 0.0.3-next.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/es/index.js +20 -11
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/ITypeScriptToSchemaContext.js +2 -0
- package/dist/es/models/ITypeScriptToSchemaContext.js.map +1 -0
- package/dist/es/models/ITypeScriptToSchemaDiagnostics.js +4 -0
- package/dist/es/models/ITypeScriptToSchemaDiagnostics.js.map +1 -0
- package/dist/es/models/ITypeScriptToSchemaOptions.js +4 -0
- package/dist/es/models/ITypeScriptToSchemaOptions.js.map +1 -0
- package/dist/es/utils/constants.js +43 -0
- package/dist/es/utils/constants.js.map +1 -0
- package/dist/es/utils/diagnosticReporter.js +32 -0
- package/dist/es/utils/diagnosticReporter.js.map +1 -0
- package/dist/es/utils/disallowedTypeGuard.js +151 -0
- package/dist/es/utils/disallowedTypeGuard.js.map +1 -0
- package/dist/es/utils/enum.js +152 -0
- package/dist/es/utils/enum.js.map +1 -0
- package/dist/es/utils/fileUtils.js +130 -0
- package/dist/es/utils/fileUtils.js.map +1 -0
- package/dist/es/utils/importTypeQuerySchemaResolver.js +328 -0
- package/dist/es/utils/importTypeQuerySchemaResolver.js.map +1 -0
- package/dist/es/utils/indexSignaturePatternResolver.js +94 -0
- package/dist/es/utils/indexSignaturePatternResolver.js.map +1 -0
- package/dist/es/utils/intersectionSchemaMerger.js +85 -0
- package/dist/es/utils/intersectionSchemaMerger.js.map +1 -0
- package/dist/es/utils/jsDoc.js +120 -0
- package/dist/es/utils/jsDoc.js.map +1 -0
- package/dist/es/utils/jsonSchemaBuilder.js +3373 -0
- package/dist/es/utils/jsonSchemaBuilder.js.map +1 -0
- package/dist/es/utils/mappedTypeSchemaResolver.js +231 -0
- package/dist/es/utils/mappedTypeSchemaResolver.js.map +1 -0
- package/dist/es/utils/objectTransformer.js +162 -0
- package/dist/es/utils/objectTransformer.js.map +1 -0
- package/dist/es/utils/regEx.js +128 -0
- package/dist/es/utils/regEx.js.map +1 -0
- package/dist/es/utils/resolver.js +164 -0
- package/dist/es/utils/resolver.js.map +1 -0
- package/dist/es/utils/templateLiteralPatternBuilder.js +94 -0
- package/dist/es/utils/templateLiteralPatternBuilder.js.map +1 -0
- package/dist/es/utils/typeScriptToSchema.js +112 -0
- package/dist/es/utils/typeScriptToSchema.js.map +1 -0
- package/dist/es/utils/utilityTypeSchemaMapper.js +412 -0
- package/dist/es/utils/utilityTypeSchemaMapper.js.map +1 -0
- package/dist/types/index.d.ts +20 -11
- package/dist/types/models/ITypeScriptToSchemaContext.d.ts +64 -0
- package/dist/types/models/ITypeScriptToSchemaDiagnostics.d.ts +31 -0
- package/dist/types/models/ITypeScriptToSchemaOptions.d.ts +22 -0
- package/dist/types/utils/constants.d.ts +13 -0
- package/dist/types/utils/diagnosticReporter.d.ts +17 -0
- package/dist/types/utils/disallowedTypeGuard.d.ts +16 -0
- package/dist/types/utils/enum.d.ts +42 -0
- package/dist/types/utils/fileUtils.d.ts +66 -0
- package/dist/types/utils/importTypeQuerySchemaResolver.d.ts +52 -0
- package/dist/types/utils/indexSignaturePatternResolver.d.ts +21 -0
- package/dist/types/utils/intersectionSchemaMerger.d.ts +16 -0
- package/dist/types/utils/jsDoc.d.ts +46 -0
- package/dist/types/utils/jsonSchemaBuilder.d.ts +747 -0
- package/dist/types/utils/mappedTypeSchemaResolver.d.ts +46 -0
- package/dist/types/utils/objectTransformer.d.ts +33 -0
- package/dist/types/utils/regEx.d.ts +24 -0
- package/dist/types/utils/resolver.d.ts +16 -0
- package/dist/types/utils/templateLiteralPatternBuilder.d.ts +12 -0
- package/dist/types/utils/typeScriptToSchema.d.ts +31 -0
- package/dist/types/utils/utilityTypeSchemaMapper.d.ts +92 -0
- package/docs/changelog.md +176 -1
- package/docs/examples.md +87 -1
- package/docs/reference/classes/Constants.md +29 -0
- package/docs/reference/classes/DiagnosticReporter.md +49 -0
- package/docs/reference/classes/DisallowedTypeGuard.md +35 -0
- package/docs/reference/classes/Enum.md +93 -0
- package/docs/reference/classes/FileUtils.md +237 -0
- package/docs/reference/classes/ImportTypeQuerySchemaResolver.md +87 -0
- package/docs/reference/classes/IndexSignaturePatternResolver.md +69 -0
- package/docs/reference/classes/IntersectionSchemaMerger.md +48 -0
- package/docs/reference/classes/JsDoc.md +141 -0
- package/docs/reference/classes/JsonSchemaBuilder.md +2870 -0
- package/docs/reference/classes/MappedTypeSchemaResolver.md +211 -0
- package/docs/reference/classes/ObjectTransformer.md +119 -0
- package/docs/reference/classes/RegEx.md +99 -0
- package/docs/reference/classes/Resolver.md +41 -0
- package/docs/reference/classes/TemplateLiteralPatternBuilder.md +35 -0
- package/docs/reference/classes/TypeScriptToSchema.md +91 -0
- package/docs/reference/classes/UtilityTypeSchemaMapper.md +341 -0
- package/docs/reference/index.md +20 -14
- package/docs/reference/interfaces/ITypeScriptToSchemaContext.md +113 -0
- package/docs/reference/interfaces/ITypeScriptToSchemaDiagnostics.md +55 -0
- package/docs/reference/interfaces/ITypeScriptToSchemaOptions.md +44 -0
- package/locales/en.json +32 -1
- package/package.json +4 -3
- package/dist/es/models/IJsonSchema.js +0 -2
- package/dist/es/models/IJsonSchema.js.map +0 -1
- package/dist/es/models/IOpenApi.js +0 -2
- package/dist/es/models/IOpenApi.js.map +0 -1
- package/dist/es/models/IOpenApiExample.js +0 -4
- package/dist/es/models/IOpenApiExample.js.map +0 -1
- package/dist/es/models/IOpenApiHeader.js +0 -4
- package/dist/es/models/IOpenApiHeader.js.map +0 -1
- package/dist/es/models/IOpenApiPathMethod.js +0 -2
- package/dist/es/models/IOpenApiPathMethod.js.map +0 -1
- package/dist/es/models/IOpenApiResponse.js +0 -2
- package/dist/es/models/IOpenApiResponse.js.map +0 -1
- package/dist/es/models/IOpenApiSecurityScheme.js +0 -4
- package/dist/es/models/IOpenApiSecurityScheme.js.map +0 -1
- package/dist/es/models/IPackageJson.js +0 -4
- package/dist/es/models/IPackageJson.js.map +0 -1
- package/dist/es/models/jsonTypeName.js +0 -2
- package/dist/es/models/jsonTypeName.js.map +0 -1
- package/dist/es/utils/jsonSchemaHelper.js +0 -258
- package/dist/es/utils/jsonSchemaHelper.js.map +0 -1
- package/dist/es/utils/openApiHelper.js +0 -12
- package/dist/es/utils/openApiHelper.js.map +0 -1
- package/dist/types/models/IJsonSchema.d.ts +0 -5
- package/dist/types/models/IOpenApi.d.ts +0 -54
- package/dist/types/models/IOpenApiExample.d.ts +0 -13
- package/dist/types/models/IOpenApiHeader.d.ts +0 -19
- package/dist/types/models/IOpenApiPathMethod.d.ts +0 -65
- package/dist/types/models/IOpenApiResponse.d.ts +0 -32
- package/dist/types/models/IOpenApiSecurityScheme.d.ts +0 -25
- package/dist/types/models/IPackageJson.d.ts +0 -15
- package/dist/types/models/jsonTypeName.d.ts +0 -5
- package/dist/types/utils/jsonSchemaHelper.d.ts +0 -78
- package/dist/types/utils/openApiHelper.d.ts +0 -9
- package/docs/reference/classes/JsonSchemaHelper.md +0 -233
- package/docs/reference/classes/OpenApiHelper.md +0 -21
- package/docs/reference/interfaces/IOpenApi.md +0 -103
- package/docs/reference/interfaces/IOpenApiExample.md +0 -19
- package/docs/reference/interfaces/IOpenApiHeader.md +0 -31
- package/docs/reference/interfaces/IOpenApiPathMethod.md +0 -119
- package/docs/reference/interfaces/IOpenApiResponse.md +0 -35
- package/docs/reference/interfaces/IOpenApiSecurityScheme.md +0 -43
- package/docs/reference/interfaces/IPackageJson.md +0 -23
- package/docs/reference/type-aliases/IJsonSchema.md +0 -5
- package/docs/reference/type-aliases/JsonTypeName.md +0 -5
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Class: MappedTypeSchemaResolver
|
|
2
|
+
|
|
3
|
+
Static mapped-type schema transformation helpers.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new MappedTypeSchemaResolver**(): `MappedTypeSchemaResolver`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`MappedTypeSchemaResolver`
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
### resolveMappedTypePropertyEntries() {#resolvemappedtypepropertyentries}
|
|
18
|
+
|
|
19
|
+
> `static` **resolveMappedTypePropertyEntries**(`context`, `typeNode`, `mappedKeys`, `mappedTypeParameterName`): `object`[] \| `undefined`
|
|
20
|
+
|
|
21
|
+
Resolve mapped type output keys, including remapped key names via `as`.
|
|
22
|
+
|
|
23
|
+
#### Parameters
|
|
24
|
+
|
|
25
|
+
##### context
|
|
26
|
+
|
|
27
|
+
[`ITypeScriptToSchemaContext`](../interfaces/ITypeScriptToSchemaContext.md)
|
|
28
|
+
|
|
29
|
+
##### typeNode
|
|
30
|
+
|
|
31
|
+
`MappedTypeNode`
|
|
32
|
+
|
|
33
|
+
##### mappedKeys
|
|
34
|
+
|
|
35
|
+
`string`[]
|
|
36
|
+
|
|
37
|
+
##### mappedTypeParameterName
|
|
38
|
+
|
|
39
|
+
`string`
|
|
40
|
+
|
|
41
|
+
#### Returns
|
|
42
|
+
|
|
43
|
+
`object`[] \| `undefined`
|
|
44
|
+
|
|
45
|
+
***
|
|
46
|
+
|
|
47
|
+
### resolveMappedTypeRemappedKey() {#resolvemappedtyperemappedkey}
|
|
48
|
+
|
|
49
|
+
> `static` **resolveMappedTypeRemappedKey**(`context`, `nameTypeNode`, `sourceKey`, `mappedTypeParameterName`): `string` \| `null` \| `undefined`
|
|
50
|
+
|
|
51
|
+
Resolve a remapped mapped-type key expression for a concrete source key.
|
|
52
|
+
|
|
53
|
+
#### Parameters
|
|
54
|
+
|
|
55
|
+
##### context
|
|
56
|
+
|
|
57
|
+
[`ITypeScriptToSchemaContext`](../interfaces/ITypeScriptToSchemaContext.md)
|
|
58
|
+
|
|
59
|
+
##### nameTypeNode
|
|
60
|
+
|
|
61
|
+
`TypeNode`
|
|
62
|
+
|
|
63
|
+
##### sourceKey
|
|
64
|
+
|
|
65
|
+
`string`
|
|
66
|
+
|
|
67
|
+
##### mappedTypeParameterName
|
|
68
|
+
|
|
69
|
+
`string`
|
|
70
|
+
|
|
71
|
+
#### Returns
|
|
72
|
+
|
|
73
|
+
`string` \| `null` \| `undefined`
|
|
74
|
+
|
|
75
|
+
***
|
|
76
|
+
|
|
77
|
+
### evaluateMappedKeyExtendsCondition() {#evaluatemappedkeyextendscondition}
|
|
78
|
+
|
|
79
|
+
> `static` **evaluateMappedKeyExtendsCondition**(`context`, `sourceKey`, `extendsTypeNode`): `boolean` \| `undefined`
|
|
80
|
+
|
|
81
|
+
Evaluate whether a concrete mapped key satisfies an `extends` condition.
|
|
82
|
+
|
|
83
|
+
#### Parameters
|
|
84
|
+
|
|
85
|
+
##### context
|
|
86
|
+
|
|
87
|
+
[`ITypeScriptToSchemaContext`](../interfaces/ITypeScriptToSchemaContext.md)
|
|
88
|
+
|
|
89
|
+
##### sourceKey
|
|
90
|
+
|
|
91
|
+
`string`
|
|
92
|
+
|
|
93
|
+
##### extendsTypeNode
|
|
94
|
+
|
|
95
|
+
`TypeNode`
|
|
96
|
+
|
|
97
|
+
#### Returns
|
|
98
|
+
|
|
99
|
+
`boolean` \| `undefined`
|
|
100
|
+
|
|
101
|
+
***
|
|
102
|
+
|
|
103
|
+
### buildMappedTypeFallbackSchema() {#buildmappedtypefallbackschema}
|
|
104
|
+
|
|
105
|
+
> `static` **buildMappedTypeFallbackSchema**(`context`, `typeNode`, `mappedKeys`, `mappedTypeParameterName`, `sourceObjectSchema?`): `IJsonSchema`
|
|
106
|
+
|
|
107
|
+
Build a conservative fallback schema for mapped types whose key remapping cannot be resolved.
|
|
108
|
+
|
|
109
|
+
#### Parameters
|
|
110
|
+
|
|
111
|
+
##### context
|
|
112
|
+
|
|
113
|
+
[`ITypeScriptToSchemaContext`](../interfaces/ITypeScriptToSchemaContext.md)
|
|
114
|
+
|
|
115
|
+
##### typeNode
|
|
116
|
+
|
|
117
|
+
`MappedTypeNode`
|
|
118
|
+
|
|
119
|
+
##### mappedKeys
|
|
120
|
+
|
|
121
|
+
`string`[]
|
|
122
|
+
|
|
123
|
+
##### mappedTypeParameterName
|
|
124
|
+
|
|
125
|
+
`string`
|
|
126
|
+
|
|
127
|
+
##### sourceObjectSchema?
|
|
128
|
+
|
|
129
|
+
`IJsonSchema`
|
|
130
|
+
|
|
131
|
+
#### Returns
|
|
132
|
+
|
|
133
|
+
`IJsonSchema`
|
|
134
|
+
|
|
135
|
+
***
|
|
136
|
+
|
|
137
|
+
### buildMappedTypeFallbackAdditionalProperties() {#buildmappedtypefallbackadditionalproperties}
|
|
138
|
+
|
|
139
|
+
> `static` **buildMappedTypeFallbackAdditionalProperties**(`context`, `typeNode`, `mappedKeys`, `mappedTypeParameterName`, `sourceObjectSchema?`): `IJsonSchema` \| `undefined`
|
|
140
|
+
|
|
141
|
+
Build fallback additionalProperties for unresolved mapped key remapping.
|
|
142
|
+
|
|
143
|
+
#### Parameters
|
|
144
|
+
|
|
145
|
+
##### context
|
|
146
|
+
|
|
147
|
+
[`ITypeScriptToSchemaContext`](../interfaces/ITypeScriptToSchemaContext.md)
|
|
148
|
+
|
|
149
|
+
##### typeNode
|
|
150
|
+
|
|
151
|
+
`MappedTypeNode`
|
|
152
|
+
|
|
153
|
+
##### mappedKeys
|
|
154
|
+
|
|
155
|
+
`string`[]
|
|
156
|
+
|
|
157
|
+
##### mappedTypeParameterName
|
|
158
|
+
|
|
159
|
+
`string`
|
|
160
|
+
|
|
161
|
+
##### sourceObjectSchema?
|
|
162
|
+
|
|
163
|
+
`IJsonSchema`
|
|
164
|
+
|
|
165
|
+
#### Returns
|
|
166
|
+
|
|
167
|
+
`IJsonSchema` \| `undefined`
|
|
168
|
+
|
|
169
|
+
***
|
|
170
|
+
|
|
171
|
+
### mergeMappedTypePropertySchemas() {#mergemappedtypepropertyschemas}
|
|
172
|
+
|
|
173
|
+
> `static` **mergeMappedTypePropertySchemas**(`existingSchema`, `nextSchema`): `IJsonSchema`
|
|
174
|
+
|
|
175
|
+
Merge mapped property schemas when multiple source keys remap to the same output key.
|
|
176
|
+
|
|
177
|
+
#### Parameters
|
|
178
|
+
|
|
179
|
+
##### existingSchema
|
|
180
|
+
|
|
181
|
+
`IJsonSchema`
|
|
182
|
+
|
|
183
|
+
##### nextSchema
|
|
184
|
+
|
|
185
|
+
`IJsonSchema`
|
|
186
|
+
|
|
187
|
+
#### Returns
|
|
188
|
+
|
|
189
|
+
`IJsonSchema`
|
|
190
|
+
|
|
191
|
+
***
|
|
192
|
+
|
|
193
|
+
### resolveMappedTypeSourceRequiredPropertyKeys() {#resolvemappedtypesourcerequiredpropertykeys}
|
|
194
|
+
|
|
195
|
+
> `static` **resolveMappedTypeSourceRequiredPropertyKeys**(`mappedEntries`, `sourceObjectSchema`): `string`[] \| `undefined`
|
|
196
|
+
|
|
197
|
+
Resolve required remapped keys from the source object's required key set.
|
|
198
|
+
|
|
199
|
+
#### Parameters
|
|
200
|
+
|
|
201
|
+
##### mappedEntries
|
|
202
|
+
|
|
203
|
+
`object`[]
|
|
204
|
+
|
|
205
|
+
##### sourceObjectSchema
|
|
206
|
+
|
|
207
|
+
`IJsonSchema`
|
|
208
|
+
|
|
209
|
+
#### Returns
|
|
210
|
+
|
|
211
|
+
`string`[] \| `undefined`
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Class: ObjectTransformer
|
|
2
|
+
|
|
3
|
+
Applies common object-schema transformations used by the builder.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new ObjectTransformer**(): `ObjectTransformer`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`ObjectTransformer`
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
### resolvePropertySchemaFromObjectSchema() {#resolvepropertyschemafromobjectschema}
|
|
18
|
+
|
|
19
|
+
> `static` **resolvePropertySchemaFromObjectSchema**(`baseSchema`, `propertyKey`): `IJsonSchema` \| `undefined`
|
|
20
|
+
|
|
21
|
+
Resolve a property schema from an object schema by property key.
|
|
22
|
+
|
|
23
|
+
#### Parameters
|
|
24
|
+
|
|
25
|
+
##### baseSchema
|
|
26
|
+
|
|
27
|
+
`IJsonSchema`
|
|
28
|
+
|
|
29
|
+
The source object schema.
|
|
30
|
+
|
|
31
|
+
##### propertyKey
|
|
32
|
+
|
|
33
|
+
`string`
|
|
34
|
+
|
|
35
|
+
The property key to resolve.
|
|
36
|
+
|
|
37
|
+
#### Returns
|
|
38
|
+
|
|
39
|
+
`IJsonSchema` \| `undefined`
|
|
40
|
+
|
|
41
|
+
The resolved property schema.
|
|
42
|
+
|
|
43
|
+
***
|
|
44
|
+
|
|
45
|
+
### omitKeysFromObjectSchema() {#omitkeysfromobjectschema}
|
|
46
|
+
|
|
47
|
+
> `static` **omitKeysFromObjectSchema**(`baseSchema`, `omittedKeys`): `IJsonSchema`
|
|
48
|
+
|
|
49
|
+
Remove keys from an object schema.
|
|
50
|
+
|
|
51
|
+
#### Parameters
|
|
52
|
+
|
|
53
|
+
##### baseSchema
|
|
54
|
+
|
|
55
|
+
`IJsonSchema`
|
|
56
|
+
|
|
57
|
+
The source object schema.
|
|
58
|
+
|
|
59
|
+
##### omittedKeys
|
|
60
|
+
|
|
61
|
+
`string`[]
|
|
62
|
+
|
|
63
|
+
The keys to remove.
|
|
64
|
+
|
|
65
|
+
#### Returns
|
|
66
|
+
|
|
67
|
+
`IJsonSchema`
|
|
68
|
+
|
|
69
|
+
The transformed object schema.
|
|
70
|
+
|
|
71
|
+
***
|
|
72
|
+
|
|
73
|
+
### pickKeysFromObjectSchema() {#pickkeysfromobjectschema}
|
|
74
|
+
|
|
75
|
+
> `static` **pickKeysFromObjectSchema**(`baseSchema`, `pickedKeys`): `IJsonSchema`
|
|
76
|
+
|
|
77
|
+
Keep only keys from an object schema.
|
|
78
|
+
|
|
79
|
+
#### Parameters
|
|
80
|
+
|
|
81
|
+
##### baseSchema
|
|
82
|
+
|
|
83
|
+
`IJsonSchema`
|
|
84
|
+
|
|
85
|
+
The source object schema.
|
|
86
|
+
|
|
87
|
+
##### pickedKeys
|
|
88
|
+
|
|
89
|
+
`string`[]
|
|
90
|
+
|
|
91
|
+
The keys to keep.
|
|
92
|
+
|
|
93
|
+
#### Returns
|
|
94
|
+
|
|
95
|
+
`IJsonSchema`
|
|
96
|
+
|
|
97
|
+
The transformed object schema.
|
|
98
|
+
|
|
99
|
+
***
|
|
100
|
+
|
|
101
|
+
### normalizeSchemaDescriptions() {#normalizeschemadescriptions}
|
|
102
|
+
|
|
103
|
+
> `static` **normalizeSchemaDescriptions**(`schema`): `IJsonSchema`
|
|
104
|
+
|
|
105
|
+
Normalize schema description whitespace while preserving intentional line breaks.
|
|
106
|
+
|
|
107
|
+
#### Parameters
|
|
108
|
+
|
|
109
|
+
##### schema
|
|
110
|
+
|
|
111
|
+
`IJsonSchema`
|
|
112
|
+
|
|
113
|
+
The schema to normalize.
|
|
114
|
+
|
|
115
|
+
#### Returns
|
|
116
|
+
|
|
117
|
+
`IJsonSchema`
|
|
118
|
+
|
|
119
|
+
The normalized schema.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Class: RegEx
|
|
2
|
+
|
|
3
|
+
Utility methods for pattern matching and regex construction.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new RegEx**(): `RegEx`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`RegEx`
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
### isReferencePatternMatch() {#isreferencepatternmatch}
|
|
18
|
+
|
|
19
|
+
> `static` **isReferencePatternMatch**(`pattern`, `packageName`, `typeName`, `schemaTitle`): `boolean`
|
|
20
|
+
|
|
21
|
+
Determine whether a reference mapping pattern matches an external reference.
|
|
22
|
+
|
|
23
|
+
#### Parameters
|
|
24
|
+
|
|
25
|
+
##### pattern
|
|
26
|
+
|
|
27
|
+
`string`
|
|
28
|
+
|
|
29
|
+
The mapping pattern.
|
|
30
|
+
|
|
31
|
+
##### packageName
|
|
32
|
+
|
|
33
|
+
`string`
|
|
34
|
+
|
|
35
|
+
The external package name.
|
|
36
|
+
|
|
37
|
+
##### typeName
|
|
38
|
+
|
|
39
|
+
`string`
|
|
40
|
+
|
|
41
|
+
The imported type name.
|
|
42
|
+
|
|
43
|
+
##### schemaTitle
|
|
44
|
+
|
|
45
|
+
`string`
|
|
46
|
+
|
|
47
|
+
The derived schema title.
|
|
48
|
+
|
|
49
|
+
#### Returns
|
|
50
|
+
|
|
51
|
+
`boolean`
|
|
52
|
+
|
|
53
|
+
True if matched.
|
|
54
|
+
|
|
55
|
+
***
|
|
56
|
+
|
|
57
|
+
### applyReferencePatternReplacement() {#applyreferencepatternreplacement}
|
|
58
|
+
|
|
59
|
+
> `static` **applyReferencePatternReplacement**(`pattern`, `replacement`, `packageName`, `typeName`, `schemaTitle`): `string` \| `undefined`
|
|
60
|
+
|
|
61
|
+
Apply a reference mapping replacement to the first matching candidate.
|
|
62
|
+
|
|
63
|
+
#### Parameters
|
|
64
|
+
|
|
65
|
+
##### pattern
|
|
66
|
+
|
|
67
|
+
`string`
|
|
68
|
+
|
|
69
|
+
The mapping pattern.
|
|
70
|
+
|
|
71
|
+
##### replacement
|
|
72
|
+
|
|
73
|
+
`string`
|
|
74
|
+
|
|
75
|
+
The replacement template.
|
|
76
|
+
|
|
77
|
+
##### packageName
|
|
78
|
+
|
|
79
|
+
`string`
|
|
80
|
+
|
|
81
|
+
The external package name.
|
|
82
|
+
|
|
83
|
+
##### typeName
|
|
84
|
+
|
|
85
|
+
`string`
|
|
86
|
+
|
|
87
|
+
The imported type name.
|
|
88
|
+
|
|
89
|
+
##### schemaTitle
|
|
90
|
+
|
|
91
|
+
`string`
|
|
92
|
+
|
|
93
|
+
The derived schema title.
|
|
94
|
+
|
|
95
|
+
#### Returns
|
|
96
|
+
|
|
97
|
+
`string` \| `undefined`
|
|
98
|
+
|
|
99
|
+
The replaced value if a candidate matches.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Class: Resolver
|
|
2
|
+
|
|
3
|
+
Resolve TypeScript type declarations from package names.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new Resolver**(): `Resolver`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`Resolver`
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
### resolveTypeDeclarationAst() {#resolvetypedeclarationast}
|
|
18
|
+
|
|
19
|
+
> `static` **resolveTypeDeclarationAst**(`packageName`, `typeName`): \{ `sourceFile`: `SourceFile`; `declaration`: `InterfaceDeclaration` \| `TypeAliasDeclaration`; \} \| `undefined`
|
|
20
|
+
|
|
21
|
+
Resolve a type declaration AST from a package and type name.
|
|
22
|
+
|
|
23
|
+
#### Parameters
|
|
24
|
+
|
|
25
|
+
##### packageName
|
|
26
|
+
|
|
27
|
+
`string`
|
|
28
|
+
|
|
29
|
+
The package to inspect.
|
|
30
|
+
|
|
31
|
+
##### typeName
|
|
32
|
+
|
|
33
|
+
`string`
|
|
34
|
+
|
|
35
|
+
The type to resolve.
|
|
36
|
+
|
|
37
|
+
#### Returns
|
|
38
|
+
|
|
39
|
+
\{ `sourceFile`: `SourceFile`; `declaration`: `InterfaceDeclaration` \| `TypeAliasDeclaration`; \} \| `undefined`
|
|
40
|
+
|
|
41
|
+
The resolved declaration AST.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Class: TemplateLiteralPatternBuilder
|
|
2
|
+
|
|
3
|
+
Builds regex patterns for TypeScript template literal types.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new TemplateLiteralPatternBuilder**(): `TemplateLiteralPatternBuilder`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`TemplateLiteralPatternBuilder`
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
### buildTemplateLiteralPattern() {#buildtemplateliteralpattern}
|
|
18
|
+
|
|
19
|
+
> `static` **buildTemplateLiteralPattern**(`typeNode`): `string` \| `undefined`
|
|
20
|
+
|
|
21
|
+
Build a regular-expression pattern for a template literal type.
|
|
22
|
+
|
|
23
|
+
#### Parameters
|
|
24
|
+
|
|
25
|
+
##### typeNode
|
|
26
|
+
|
|
27
|
+
`TemplateLiteralTypeNode`
|
|
28
|
+
|
|
29
|
+
The template literal type node.
|
|
30
|
+
|
|
31
|
+
#### Returns
|
|
32
|
+
|
|
33
|
+
`string` \| `undefined`
|
|
34
|
+
|
|
35
|
+
The regex pattern, or undefined if a safe pattern cannot be derived.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Class: TypeScriptToSchema
|
|
2
|
+
|
|
3
|
+
Class for converting TypeScript types to JSON Schema.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new TypeScriptToSchema**(): `TypeScriptToSchema`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`TypeScriptToSchema`
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
### generateSchema() {#generateschema}
|
|
18
|
+
|
|
19
|
+
> **generateSchema**(`namespace`, `packageName`, `schemas`, `sourceFileOrTypeName`, `options?`): `Promise`\<\{\[`id`: `string`\]: `IJsonSchema`; \}\>
|
|
20
|
+
|
|
21
|
+
Generates a JSON schema from a TypeScript source file or type name.
|
|
22
|
+
|
|
23
|
+
#### Parameters
|
|
24
|
+
|
|
25
|
+
##### namespace
|
|
26
|
+
|
|
27
|
+
`string`
|
|
28
|
+
|
|
29
|
+
The schema namespace.
|
|
30
|
+
|
|
31
|
+
##### packageName
|
|
32
|
+
|
|
33
|
+
`string`
|
|
34
|
+
|
|
35
|
+
The package name.
|
|
36
|
+
|
|
37
|
+
##### schemas
|
|
38
|
+
|
|
39
|
+
The package schema map.
|
|
40
|
+
|
|
41
|
+
##### sourceFileOrTypeName
|
|
42
|
+
|
|
43
|
+
`string`
|
|
44
|
+
|
|
45
|
+
The source file to process or type name to resolve.
|
|
46
|
+
|
|
47
|
+
##### options?
|
|
48
|
+
|
|
49
|
+
[`ITypeScriptToSchemaOptions`](../interfaces/ITypeScriptToSchemaOptions.md)
|
|
50
|
+
|
|
51
|
+
Additional generation options.
|
|
52
|
+
|
|
53
|
+
#### Returns
|
|
54
|
+
|
|
55
|
+
`Promise`\<\{\[`id`: `string`\]: `IJsonSchema`; \}\>
|
|
56
|
+
|
|
57
|
+
The generated JSON schemas indexed by title.
|
|
58
|
+
|
|
59
|
+
***
|
|
60
|
+
|
|
61
|
+
### isDiagnosticFromPackage() {#isdiagnosticfrompackage}
|
|
62
|
+
|
|
63
|
+
> **isDiagnosticFromPackage**(`path`, `fileName`, `packageName`): `boolean`
|
|
64
|
+
|
|
65
|
+
Determine if a diagnostic originates from a specific package.
|
|
66
|
+
|
|
67
|
+
#### Parameters
|
|
68
|
+
|
|
69
|
+
##### path
|
|
70
|
+
|
|
71
|
+
`string`
|
|
72
|
+
|
|
73
|
+
The schema or source path associated with the diagnostic.
|
|
74
|
+
|
|
75
|
+
##### fileName
|
|
76
|
+
|
|
77
|
+
`string` \| `undefined`
|
|
78
|
+
|
|
79
|
+
The source filename associated with the diagnostic.
|
|
80
|
+
|
|
81
|
+
##### packageName
|
|
82
|
+
|
|
83
|
+
`string`
|
|
84
|
+
|
|
85
|
+
The package name to check, e.g. jose.
|
|
86
|
+
|
|
87
|
+
#### Returns
|
|
88
|
+
|
|
89
|
+
`boolean`
|
|
90
|
+
|
|
91
|
+
True if the diagnostic originated from the package.
|