@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.
Files changed (133) hide show
  1. package/README.md +2 -2
  2. package/dist/es/index.js +20 -11
  3. package/dist/es/index.js.map +1 -1
  4. package/dist/es/models/ITypeScriptToSchemaContext.js +2 -0
  5. package/dist/es/models/ITypeScriptToSchemaContext.js.map +1 -0
  6. package/dist/es/models/ITypeScriptToSchemaDiagnostics.js +4 -0
  7. package/dist/es/models/ITypeScriptToSchemaDiagnostics.js.map +1 -0
  8. package/dist/es/models/ITypeScriptToSchemaOptions.js +4 -0
  9. package/dist/es/models/ITypeScriptToSchemaOptions.js.map +1 -0
  10. package/dist/es/utils/constants.js +43 -0
  11. package/dist/es/utils/constants.js.map +1 -0
  12. package/dist/es/utils/diagnosticReporter.js +32 -0
  13. package/dist/es/utils/diagnosticReporter.js.map +1 -0
  14. package/dist/es/utils/disallowedTypeGuard.js +151 -0
  15. package/dist/es/utils/disallowedTypeGuard.js.map +1 -0
  16. package/dist/es/utils/enum.js +152 -0
  17. package/dist/es/utils/enum.js.map +1 -0
  18. package/dist/es/utils/fileUtils.js +130 -0
  19. package/dist/es/utils/fileUtils.js.map +1 -0
  20. package/dist/es/utils/importTypeQuerySchemaResolver.js +328 -0
  21. package/dist/es/utils/importTypeQuerySchemaResolver.js.map +1 -0
  22. package/dist/es/utils/indexSignaturePatternResolver.js +94 -0
  23. package/dist/es/utils/indexSignaturePatternResolver.js.map +1 -0
  24. package/dist/es/utils/intersectionSchemaMerger.js +85 -0
  25. package/dist/es/utils/intersectionSchemaMerger.js.map +1 -0
  26. package/dist/es/utils/jsDoc.js +120 -0
  27. package/dist/es/utils/jsDoc.js.map +1 -0
  28. package/dist/es/utils/jsonSchemaBuilder.js +3373 -0
  29. package/dist/es/utils/jsonSchemaBuilder.js.map +1 -0
  30. package/dist/es/utils/mappedTypeSchemaResolver.js +231 -0
  31. package/dist/es/utils/mappedTypeSchemaResolver.js.map +1 -0
  32. package/dist/es/utils/objectTransformer.js +162 -0
  33. package/dist/es/utils/objectTransformer.js.map +1 -0
  34. package/dist/es/utils/regEx.js +128 -0
  35. package/dist/es/utils/regEx.js.map +1 -0
  36. package/dist/es/utils/resolver.js +164 -0
  37. package/dist/es/utils/resolver.js.map +1 -0
  38. package/dist/es/utils/templateLiteralPatternBuilder.js +94 -0
  39. package/dist/es/utils/templateLiteralPatternBuilder.js.map +1 -0
  40. package/dist/es/utils/typeScriptToSchema.js +112 -0
  41. package/dist/es/utils/typeScriptToSchema.js.map +1 -0
  42. package/dist/es/utils/utilityTypeSchemaMapper.js +412 -0
  43. package/dist/es/utils/utilityTypeSchemaMapper.js.map +1 -0
  44. package/dist/types/index.d.ts +20 -11
  45. package/dist/types/models/ITypeScriptToSchemaContext.d.ts +64 -0
  46. package/dist/types/models/ITypeScriptToSchemaDiagnostics.d.ts +31 -0
  47. package/dist/types/models/ITypeScriptToSchemaOptions.d.ts +22 -0
  48. package/dist/types/utils/constants.d.ts +13 -0
  49. package/dist/types/utils/diagnosticReporter.d.ts +17 -0
  50. package/dist/types/utils/disallowedTypeGuard.d.ts +16 -0
  51. package/dist/types/utils/enum.d.ts +42 -0
  52. package/dist/types/utils/fileUtils.d.ts +66 -0
  53. package/dist/types/utils/importTypeQuerySchemaResolver.d.ts +52 -0
  54. package/dist/types/utils/indexSignaturePatternResolver.d.ts +21 -0
  55. package/dist/types/utils/intersectionSchemaMerger.d.ts +16 -0
  56. package/dist/types/utils/jsDoc.d.ts +46 -0
  57. package/dist/types/utils/jsonSchemaBuilder.d.ts +747 -0
  58. package/dist/types/utils/mappedTypeSchemaResolver.d.ts +46 -0
  59. package/dist/types/utils/objectTransformer.d.ts +33 -0
  60. package/dist/types/utils/regEx.d.ts +24 -0
  61. package/dist/types/utils/resolver.d.ts +16 -0
  62. package/dist/types/utils/templateLiteralPatternBuilder.d.ts +12 -0
  63. package/dist/types/utils/typeScriptToSchema.d.ts +31 -0
  64. package/dist/types/utils/utilityTypeSchemaMapper.d.ts +92 -0
  65. package/docs/changelog.md +176 -1
  66. package/docs/examples.md +87 -1
  67. package/docs/reference/classes/Constants.md +29 -0
  68. package/docs/reference/classes/DiagnosticReporter.md +49 -0
  69. package/docs/reference/classes/DisallowedTypeGuard.md +35 -0
  70. package/docs/reference/classes/Enum.md +93 -0
  71. package/docs/reference/classes/FileUtils.md +237 -0
  72. package/docs/reference/classes/ImportTypeQuerySchemaResolver.md +87 -0
  73. package/docs/reference/classes/IndexSignaturePatternResolver.md +69 -0
  74. package/docs/reference/classes/IntersectionSchemaMerger.md +48 -0
  75. package/docs/reference/classes/JsDoc.md +141 -0
  76. package/docs/reference/classes/JsonSchemaBuilder.md +2870 -0
  77. package/docs/reference/classes/MappedTypeSchemaResolver.md +211 -0
  78. package/docs/reference/classes/ObjectTransformer.md +119 -0
  79. package/docs/reference/classes/RegEx.md +99 -0
  80. package/docs/reference/classes/Resolver.md +41 -0
  81. package/docs/reference/classes/TemplateLiteralPatternBuilder.md +35 -0
  82. package/docs/reference/classes/TypeScriptToSchema.md +91 -0
  83. package/docs/reference/classes/UtilityTypeSchemaMapper.md +341 -0
  84. package/docs/reference/index.md +20 -14
  85. package/docs/reference/interfaces/ITypeScriptToSchemaContext.md +113 -0
  86. package/docs/reference/interfaces/ITypeScriptToSchemaDiagnostics.md +55 -0
  87. package/docs/reference/interfaces/ITypeScriptToSchemaOptions.md +44 -0
  88. package/locales/en.json +32 -1
  89. package/package.json +4 -3
  90. package/dist/es/models/IJsonSchema.js +0 -2
  91. package/dist/es/models/IJsonSchema.js.map +0 -1
  92. package/dist/es/models/IOpenApi.js +0 -2
  93. package/dist/es/models/IOpenApi.js.map +0 -1
  94. package/dist/es/models/IOpenApiExample.js +0 -4
  95. package/dist/es/models/IOpenApiExample.js.map +0 -1
  96. package/dist/es/models/IOpenApiHeader.js +0 -4
  97. package/dist/es/models/IOpenApiHeader.js.map +0 -1
  98. package/dist/es/models/IOpenApiPathMethod.js +0 -2
  99. package/dist/es/models/IOpenApiPathMethod.js.map +0 -1
  100. package/dist/es/models/IOpenApiResponse.js +0 -2
  101. package/dist/es/models/IOpenApiResponse.js.map +0 -1
  102. package/dist/es/models/IOpenApiSecurityScheme.js +0 -4
  103. package/dist/es/models/IOpenApiSecurityScheme.js.map +0 -1
  104. package/dist/es/models/IPackageJson.js +0 -4
  105. package/dist/es/models/IPackageJson.js.map +0 -1
  106. package/dist/es/models/jsonTypeName.js +0 -2
  107. package/dist/es/models/jsonTypeName.js.map +0 -1
  108. package/dist/es/utils/jsonSchemaHelper.js +0 -258
  109. package/dist/es/utils/jsonSchemaHelper.js.map +0 -1
  110. package/dist/es/utils/openApiHelper.js +0 -12
  111. package/dist/es/utils/openApiHelper.js.map +0 -1
  112. package/dist/types/models/IJsonSchema.d.ts +0 -5
  113. package/dist/types/models/IOpenApi.d.ts +0 -54
  114. package/dist/types/models/IOpenApiExample.d.ts +0 -13
  115. package/dist/types/models/IOpenApiHeader.d.ts +0 -19
  116. package/dist/types/models/IOpenApiPathMethod.d.ts +0 -65
  117. package/dist/types/models/IOpenApiResponse.d.ts +0 -32
  118. package/dist/types/models/IOpenApiSecurityScheme.d.ts +0 -25
  119. package/dist/types/models/IPackageJson.d.ts +0 -15
  120. package/dist/types/models/jsonTypeName.d.ts +0 -5
  121. package/dist/types/utils/jsonSchemaHelper.d.ts +0 -78
  122. package/dist/types/utils/openApiHelper.d.ts +0 -9
  123. package/docs/reference/classes/JsonSchemaHelper.md +0 -233
  124. package/docs/reference/classes/OpenApiHelper.md +0 -21
  125. package/docs/reference/interfaces/IOpenApi.md +0 -103
  126. package/docs/reference/interfaces/IOpenApiExample.md +0 -19
  127. package/docs/reference/interfaces/IOpenApiHeader.md +0 -31
  128. package/docs/reference/interfaces/IOpenApiPathMethod.md +0 -119
  129. package/docs/reference/interfaces/IOpenApiResponse.md +0 -35
  130. package/docs/reference/interfaces/IOpenApiSecurityScheme.md +0 -43
  131. package/docs/reference/interfaces/IPackageJson.md +0 -23
  132. package/docs/reference/type-aliases/IJsonSchema.md +0 -5
  133. 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.