@skmtc/core 0.16.2 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/context/GenerateContext.d.ts +3 -3
- package/esm/context/GenerateContext.d.ts.map +1 -1
- package/esm/context/GenerateContext.js +45 -32
- package/esm/context/ParseContext.d.ts +16 -0
- package/esm/context/ParseContext.d.ts.map +1 -1
- package/esm/context/ParseContext.js +26 -0
- package/esm/context/ParseIssue.d.ts +24 -4
- package/esm/context/ParseIssue.d.ts.map +1 -1
- package/esm/context/ParseIssue.js +12 -4
- package/esm/context/parseTypes.d.ts +23 -1
- package/esm/context/parseTypes.d.ts.map +1 -1
- package/esm/dsl/model/ModelDriver.d.ts.map +1 -1
- package/esm/dsl/model/ModelDriver.js +29 -0
- package/esm/dsl/model/toModelEntry.d.ts +9 -3
- package/esm/dsl/model/toModelEntry.d.ts.map +1 -1
- package/esm/dsl/model/toModelEntry.js +29 -1
- package/esm/dsl/model/toModelProjectionBase.d.ts +16 -3
- package/esm/dsl/model/toModelProjectionBase.d.ts.map +1 -1
- package/esm/dsl/model/toModelProjectionBase.js +3 -3
- package/esm/dsl/model/types.d.ts +46 -0
- package/esm/dsl/model/types.d.ts.map +1 -1
- package/esm/dsl/operation/gql/types.d.ts +6 -1
- package/esm/dsl/operation/gql/types.d.ts.map +1 -1
- package/esm/dsl/operation/oas/types.d.ts +6 -1
- package/esm/dsl/operation/oas/types.d.ts.map +1 -1
- package/esm/enrichments/validateConfig.d.ts +60 -0
- package/esm/enrichments/validateConfig.d.ts.map +1 -0
- package/esm/enrichments/validateConfig.js +176 -0
- package/esm/mod.d.ts +1 -0
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +1 -0
- package/esm/oas/operation/Operation.d.ts.map +1 -1
- package/esm/oas/operation/Operation.js +2 -11
- package/esm/oas/response/toPrimaryResponseCode.d.ts +19 -0
- package/esm/oas/response/toPrimaryResponseCode.d.ts.map +1 -0
- package/esm/oas/response/toPrimaryResponseCode.js +33 -0
- package/esm/oas/webhook/Webhook.d.ts.map +1 -1
- package/esm/oas/webhook/Webhook.js +2 -11
- package/esm/parse/v3-0/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/esm/parse/v3-0/_merge-all-of/decompose-union.js +8 -12
- package/esm/parse/v3-0/_merge-all-of/merge-union.d.ts.map +1 -1
- package/esm/parse/v3-0/_merge-all-of/merge-union.js +0 -8
- package/esm/parse/v3-0/integer/toInteger.js +4 -1
- package/esm/parse/v3-0/number/toNumber.js +4 -1
- package/esm/parse/v3-0/operation/toOperationsV3.d.ts.map +1 -1
- package/esm/parse/v3-0/operation/toOperationsV3.js +5 -1
- package/esm/parse/v3-0/schema/toSchemasV3.d.ts.map +1 -1
- package/esm/parse/v3-0/schema/toSchemasV3.js +35 -1
- package/esm/parse/v3-0/string/toString.d.ts.map +1 -1
- package/esm/parse/v3-0/string/toString.js +4 -11
- package/esm/parse/v3-1/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/esm/parse/v3-1/_merge-all-of/decompose-union.js +8 -12
- package/esm/parse/v3-1/_merge-all-of/merge-union.d.ts.map +1 -1
- package/esm/parse/v3-1/_merge-all-of/merge-union.js +0 -8
- package/esm/parse/v3-1/integer/toInteger.js +4 -1
- package/esm/parse/v3-1/number/toNumber.js +4 -1
- package/esm/parse/v3-1/operation/toOperationsV3.d.ts.map +1 -1
- package/esm/parse/v3-1/operation/toOperationsV3.js +5 -1
- package/esm/parse/v3-1/schema/toSchemasV3.d.ts.map +1 -1
- package/esm/parse/v3-1/schema/toSchemasV3.js +34 -7
- package/esm/parse/v3-1/string/toString.d.ts.map +1 -1
- package/esm/parse/v3-1/string/toString.js +4 -11
- package/esm/types/Manifest.d.ts.map +1 -1
- package/esm/types/Manifest.js +14 -0
- package/esm/types/Settings.d.ts +16 -3
- package/esm/types/Settings.d.ts.map +1 -1
- package/esm/types/Settings.js +19 -13
- package/package.json +1 -1
- package/script/context/GenerateContext.d.ts +3 -3
- package/script/context/GenerateContext.d.ts.map +1 -1
- package/script/context/GenerateContext.js +45 -32
- package/script/context/ParseContext.d.ts +16 -0
- package/script/context/ParseContext.d.ts.map +1 -1
- package/script/context/ParseContext.js +26 -0
- package/script/context/ParseIssue.d.ts +24 -4
- package/script/context/ParseIssue.d.ts.map +1 -1
- package/script/context/ParseIssue.js +12 -4
- package/script/context/parseTypes.d.ts +23 -1
- package/script/context/parseTypes.d.ts.map +1 -1
- package/script/dsl/model/ModelDriver.d.ts.map +1 -1
- package/script/dsl/model/ModelDriver.js +29 -0
- package/script/dsl/model/toModelEntry.d.ts +9 -3
- package/script/dsl/model/toModelEntry.d.ts.map +1 -1
- package/script/dsl/model/toModelEntry.js +65 -1
- package/script/dsl/model/toModelProjectionBase.d.ts +16 -3
- package/script/dsl/model/toModelProjectionBase.d.ts.map +1 -1
- package/script/dsl/model/toModelProjectionBase.js +3 -3
- package/script/dsl/model/types.d.ts +46 -0
- package/script/dsl/model/types.d.ts.map +1 -1
- package/script/dsl/operation/gql/types.d.ts +6 -1
- package/script/dsl/operation/gql/types.d.ts.map +1 -1
- package/script/dsl/operation/oas/types.d.ts +6 -1
- package/script/dsl/operation/oas/types.d.ts.map +1 -1
- package/script/enrichments/validateConfig.d.ts +60 -0
- package/script/enrichments/validateConfig.d.ts.map +1 -0
- package/script/enrichments/validateConfig.js +213 -0
- package/script/mod.d.ts +1 -0
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +1 -0
- package/script/oas/operation/Operation.d.ts.map +1 -1
- package/script/oas/operation/Operation.js +2 -11
- package/script/oas/response/toPrimaryResponseCode.d.ts +19 -0
- package/script/oas/response/toPrimaryResponseCode.d.ts.map +1 -0
- package/script/oas/response/toPrimaryResponseCode.js +37 -0
- package/script/oas/webhook/Webhook.d.ts.map +1 -1
- package/script/oas/webhook/Webhook.js +2 -11
- package/script/parse/v3-0/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/script/parse/v3-0/_merge-all-of/decompose-union.js +8 -12
- package/script/parse/v3-0/_merge-all-of/merge-union.d.ts.map +1 -1
- package/script/parse/v3-0/_merge-all-of/merge-union.js +0 -8
- package/script/parse/v3-0/integer/toInteger.js +4 -1
- package/script/parse/v3-0/number/toNumber.js +4 -1
- package/script/parse/v3-0/operation/toOperationsV3.d.ts.map +1 -1
- package/script/parse/v3-0/operation/toOperationsV3.js +5 -1
- package/script/parse/v3-0/schema/toSchemasV3.d.ts.map +1 -1
- package/script/parse/v3-0/schema/toSchemasV3.js +35 -1
- package/script/parse/v3-0/string/toString.d.ts.map +1 -1
- package/script/parse/v3-0/string/toString.js +3 -10
- package/script/parse/v3-1/_merge-all-of/decompose-union.d.ts.map +1 -1
- package/script/parse/v3-1/_merge-all-of/decompose-union.js +8 -12
- package/script/parse/v3-1/_merge-all-of/merge-union.d.ts.map +1 -1
- package/script/parse/v3-1/_merge-all-of/merge-union.js +0 -8
- package/script/parse/v3-1/integer/toInteger.js +4 -1
- package/script/parse/v3-1/number/toNumber.js +4 -1
- package/script/parse/v3-1/operation/toOperationsV3.d.ts.map +1 -1
- package/script/parse/v3-1/operation/toOperationsV3.js +5 -1
- package/script/parse/v3-1/schema/toSchemasV3.d.ts.map +1 -1
- package/script/parse/v3-1/schema/toSchemasV3.js +34 -7
- package/script/parse/v3-1/string/toString.d.ts.map +1 -1
- package/script/parse/v3-1/string/toString.js +3 -10
- package/script/types/Manifest.d.ts.map +1 -1
- package/script/types/Manifest.js +14 -0
- package/script/types/Settings.d.ts +16 -3
- package/script/types/Settings.d.ts.map +1 -1
- package/script/types/Settings.js +16 -10
package/esm/types/Settings.js
CHANGED
|
@@ -49,15 +49,15 @@
|
|
|
49
49
|
* @module Settings
|
|
50
50
|
*/
|
|
51
51
|
import "../_dnt.polyfills.js";
|
|
52
|
-
import { generatorEnrichments } from
|
|
53
|
-
import * as v from
|
|
54
|
-
import { method } from
|
|
52
|
+
import { generatorEnrichments, } from "./Enrichments.js";
|
|
53
|
+
import * as v from "valibot";
|
|
54
|
+
import { method } from "./Method.js";
|
|
55
55
|
/**
|
|
56
56
|
* Whether a relative path contains a `..` parent-reference segment.
|
|
57
57
|
* `..` is a parent reference only as a whole path segment — a
|
|
58
58
|
* directory name that merely contains dots is not flagged.
|
|
59
59
|
*/
|
|
60
|
-
const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment ===
|
|
60
|
+
const hasParentSegment = (path) => path.split(/[/\\]/).some((segment) => segment === "..");
|
|
61
61
|
/**
|
|
62
62
|
* Valibot schema for {@link ModulePackage}.
|
|
63
63
|
*
|
|
@@ -67,10 +67,10 @@ const hasParentSegment = (path) => path.split(/[/\\]/).some(segment => segment =
|
|
|
67
67
|
* that otherwise misplaces every artifact silently.
|
|
68
68
|
*/
|
|
69
69
|
export const modulePackage = v.object({
|
|
70
|
-
rootPath: v.pipe(v.string(), v.check(rootPath => !hasParentSegment(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
moduleName: v.optional(v.string())
|
|
70
|
+
rootPath: v.pipe(v.string(), v.check((rootPath) => !hasParentSegment(rootPath), 'package rootPath must be a forward path with no ".." segments — ' +
|
|
71
|
+
"set client.json basePath to a common ancestor of every package " +
|
|
72
|
+
"so each rootPath is written forward from it")),
|
|
73
|
+
moduleName: v.optional(v.string()),
|
|
74
74
|
});
|
|
75
75
|
/**
|
|
76
76
|
* Valibot schema for validating skip paths configuration.
|
|
@@ -100,7 +100,11 @@ export const skipModelRefs = v.record(v.string(), v.array(v.string()));
|
|
|
100
100
|
* models and variants by generator.
|
|
101
101
|
*/
|
|
102
102
|
export const skipModels = v.record(v.string(), skipModelRefs);
|
|
103
|
-
const skip = v.union([
|
|
103
|
+
const skip = v.union([
|
|
104
|
+
skipOperations,
|
|
105
|
+
skipModels,
|
|
106
|
+
v.string(),
|
|
107
|
+
]);
|
|
104
108
|
/**
|
|
105
109
|
* Valibot schema for {@link IncludePaths}. Structurally identical to
|
|
106
110
|
* {@link skipPaths} — both map a path to a `method → variant[]` record
|
|
@@ -128,7 +132,7 @@ export const includeModels = v.record(v.string(), includeModelRefs);
|
|
|
128
132
|
const include = v.union([
|
|
129
133
|
includeOperations,
|
|
130
134
|
includeModels,
|
|
131
|
-
v.string()
|
|
135
|
+
v.string(),
|
|
132
136
|
]);
|
|
133
137
|
/**
|
|
134
138
|
* Valibot schema for validating client settings configuration.
|
|
@@ -143,7 +147,7 @@ const include = v.union([
|
|
|
143
147
|
*/
|
|
144
148
|
export const anchorsSettings = v.object({
|
|
145
149
|
enabled: v.boolean(),
|
|
146
|
-
out: v.optional(v.string())
|
|
150
|
+
out: v.optional(v.string()),
|
|
147
151
|
});
|
|
148
152
|
export const clientSettings = v.object({
|
|
149
153
|
basePath: v.optional(v.string()),
|
|
@@ -152,7 +156,8 @@ export const clientSettings = v.object({
|
|
|
152
156
|
enrichments: v.optional(generatorEnrichments),
|
|
153
157
|
include: v.optional(v.array(include)),
|
|
154
158
|
skip: v.optional(v.array(skip)),
|
|
155
|
-
anchors: v.optional(anchorsSettings)
|
|
159
|
+
anchors: v.optional(anchorsSettings),
|
|
160
|
+
inputDirs: v.optional(v.array(v.string())),
|
|
156
161
|
});
|
|
157
162
|
/**
|
|
158
163
|
* Valibot schema for validating SKMTC client configuration.
|
|
@@ -163,6 +168,7 @@ export const clientSettings = v.object({
|
|
|
163
168
|
export const skmtcClientConfig = v.object({
|
|
164
169
|
serverUrl: v.optional(v.string()),
|
|
165
170
|
projectKey: v.optional(v.string()),
|
|
171
|
+
project: v.optional(v.string()),
|
|
166
172
|
source: v.optional(v.string()),
|
|
167
|
-
settings: clientSettings
|
|
173
|
+
settings: clientSettings,
|
|
168
174
|
});
|
package/package.json
CHANGED
|
@@ -165,9 +165,9 @@ export declare class GenerateContext implements GenerateContextType {
|
|
|
165
165
|
* Evaluate each generator's `isSupported` over the parsed document's subjects
|
|
166
166
|
* and report the subjects each generator supports — capability only, no
|
|
167
167
|
* transform and no render. Operation generators report the operations their
|
|
168
|
-
* `isSupported` accepts; model generators report
|
|
169
|
-
*
|
|
170
|
-
* other protocol reports nothing.
|
|
168
|
+
* `isSupported` accepts; model generators report the models theirs accepts
|
|
169
|
+
* (a generator that declares no `isSupported` defaults to every subject). A
|
|
170
|
+
* generator targeting the other protocol reports nothing.
|
|
171
171
|
*/
|
|
172
172
|
toSupportedSubjects(): SupportedSubjects;
|
|
173
173
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
|
-
var _GenerateContext_instances, _GenerateContext_files, _GenerateContext_previews, _GenerateContext_mappings, _GenerateContext_captureChannel,
|
|
16
|
+
var _GenerateContext_instances, _GenerateContext_files, _GenerateContext_previews, _GenerateContext_mappings, _GenerateContext_captureChannel, _GenerateContext_schemaRefNames, _GenerateContext_subjectDefaults, _GenerateContext_runOasOperationGenerator, _GenerateContext_runWebhookGenerator, _GenerateContext_runGqlOperationGenerator, _GenerateContext_runModelGenerator, _GenerateContext_addPreview, _GenerateContext_addMapping;
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.toModelSource = exports.toGqlOperationSource = exports.toWebhookSource = exports.toOasOperationSource = exports.GenerateContext = void 0;
|
|
19
19
|
const normalize_js_1 = require("../deps/jsr.io/@std/path/1.1.4/normalize.js");
|
|
@@ -238,9 +238,9 @@ class GenerateContext {
|
|
|
238
238
|
* Evaluate each generator's `isSupported` over the parsed document's subjects
|
|
239
239
|
* and report the subjects each generator supports — capability only, no
|
|
240
240
|
* transform and no render. Operation generators report the operations their
|
|
241
|
-
* `isSupported` accepts; model generators report
|
|
242
|
-
*
|
|
243
|
-
* other protocol reports nothing.
|
|
241
|
+
* `isSupported` accepts; model generators report the models theirs accepts
|
|
242
|
+
* (a generator that declares no `isSupported` defaults to every subject). A
|
|
243
|
+
* generator targeting the other protocol reports nothing.
|
|
244
244
|
*/
|
|
245
245
|
toSupportedSubjects() {
|
|
246
246
|
const generators = Object.values(this.toGeneratorConfigMap());
|
|
@@ -250,7 +250,8 @@ class GenerateContext {
|
|
|
250
250
|
case 'oasOperation': {
|
|
251
251
|
const operations = this.document.type === 'oas'
|
|
252
252
|
? this.document.value.operations
|
|
253
|
-
.filter(operation =>
|
|
253
|
+
.filter(operation => typeof generatorConfig.isSupported !== 'function' ||
|
|
254
|
+
generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))
|
|
254
255
|
.map(operation => ({ path: operation.path, method: operation.method }))
|
|
255
256
|
: [];
|
|
256
257
|
out[generatorConfig.id] = { type: 'oasOperation', operations };
|
|
@@ -259,7 +260,8 @@ class GenerateContext {
|
|
|
259
260
|
case 'webhook': {
|
|
260
261
|
const webhooks = this.document.type === 'oas'
|
|
261
262
|
? this.document.value.webhooks
|
|
262
|
-
.filter(webhook =>
|
|
263
|
+
.filter(webhook => typeof generatorConfig.isSupported !== 'function' ||
|
|
264
|
+
generatorConfig.isSupported({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))
|
|
263
265
|
.map(webhook => ({ name: webhook.name, method: webhook.method }))
|
|
264
266
|
: [];
|
|
265
267
|
out[generatorConfig.id] = { type: 'webhook', webhooks };
|
|
@@ -268,7 +270,8 @@ class GenerateContext {
|
|
|
268
270
|
case 'gqlOperation': {
|
|
269
271
|
const operations = this.document.type === 'gql'
|
|
270
272
|
? this.document.value.operations
|
|
271
|
-
.filter(operation =>
|
|
273
|
+
.filter(operation => typeof generatorConfig.isSupported !== 'function' ||
|
|
274
|
+
generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT }))
|
|
272
275
|
.map(operation => ({
|
|
273
276
|
rootKind: operation.rootKind,
|
|
274
277
|
fieldName: operation.fieldName
|
|
@@ -278,10 +281,9 @@ class GenerateContext {
|
|
|
278
281
|
break;
|
|
279
282
|
}
|
|
280
283
|
case 'model': {
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
out[generatorConfig.id] = { type: 'model', models: [...refNames] };
|
|
284
|
+
const models = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_schemaRefNames).call(this).filter(refName => typeof generatorConfig.isSupported !== 'function' ||
|
|
285
|
+
generatorConfig.isSupported({ refName, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
|
|
286
|
+
out[generatorConfig.id] = { type: 'model', models };
|
|
285
287
|
break;
|
|
286
288
|
}
|
|
287
289
|
default: {
|
|
@@ -317,7 +319,8 @@ class GenerateContext {
|
|
|
317
319
|
break;
|
|
318
320
|
const operations = {};
|
|
319
321
|
this.document.value.operations.forEach(operation => {
|
|
320
|
-
if (
|
|
322
|
+
if (typeof generatorConfig.isSupported === 'function' &&
|
|
323
|
+
!generatorConfig.isSupported({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT })) {
|
|
321
324
|
return;
|
|
322
325
|
}
|
|
323
326
|
const leaf = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_subjectDefaults).call(this, () => toDefaults({ operation, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
|
|
@@ -337,7 +340,8 @@ class GenerateContext {
|
|
|
337
340
|
break;
|
|
338
341
|
const webhooks = {};
|
|
339
342
|
this.document.value.webhooks.forEach(webhook => {
|
|
340
|
-
if (
|
|
343
|
+
if (typeof generatorConfig.isSupported === 'function' &&
|
|
344
|
+
!generatorConfig.isSupported({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT })) {
|
|
341
345
|
return;
|
|
342
346
|
}
|
|
343
347
|
const leaf = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_subjectDefaults).call(this, () => toDefaults({ webhook, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
|
|
@@ -355,14 +359,16 @@ class GenerateContext {
|
|
|
355
359
|
const toDefaults = generatorConfig.toEnrichmentDefaults;
|
|
356
360
|
if (!toDefaults)
|
|
357
361
|
break;
|
|
358
|
-
//
|
|
359
|
-
//
|
|
360
|
-
//
|
|
361
|
-
|
|
362
|
-
? (this.document.value.components?.toSchemasRefNames() ?? [])
|
|
363
|
-
: this.document.value.registry.toSchemasRefNames();
|
|
362
|
+
// Seed only the models the generator supports — mirrors the
|
|
363
|
+
// operation arm. A generator that declares no `isSupported`
|
|
364
|
+
// defaults to every model; the hook itself still returns
|
|
365
|
+
// `undefined` for schemas it doesn't seed.
|
|
364
366
|
const models = {};
|
|
365
|
-
for (const refName of
|
|
367
|
+
for (const refName of __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_schemaRefNames).call(this)) {
|
|
368
|
+
if (typeof generatorConfig.isSupported === 'function' &&
|
|
369
|
+
!generatorConfig.isSupported({ refName, context: this, variant: Variant_js_1.DEFAULT_VARIANT })) {
|
|
370
|
+
continue;
|
|
371
|
+
}
|
|
366
372
|
const leaf = __classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_subjectDefaults).call(this, () => toDefaults({ refName, context: this, variant: Variant_js_1.DEFAULT_VARIANT }));
|
|
367
373
|
if (leaf === undefined)
|
|
368
374
|
continue;
|
|
@@ -734,13 +740,16 @@ class GenerateContext {
|
|
|
734
740
|
}
|
|
735
741
|
}
|
|
736
742
|
exports.GenerateContext = GenerateContext;
|
|
737
|
-
_GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(), _GenerateContext_mappings = new WeakMap(), _GenerateContext_captureChannel = new WeakMap(), _GenerateContext_instances = new WeakSet(),
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
743
|
+
_GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(), _GenerateContext_mappings = new WeakMap(), _GenerateContext_captureChannel = new WeakMap(), _GenerateContext_instances = new WeakSet(), _GenerateContext_schemaRefNames = function _GenerateContext_schemaRefNames() {
|
|
744
|
+
switch (this.document.type) {
|
|
745
|
+
case 'oas':
|
|
746
|
+
return [...(this.document.value.components?.toSchemasRefNames() ?? [])];
|
|
747
|
+
case 'gql':
|
|
748
|
+
return [...this.document.value.registry.toSchemasRefNames()];
|
|
749
|
+
default: {
|
|
750
|
+
const _exhaustive = this.document;
|
|
751
|
+
throw new Error(`Unhandled document type: ${JSON.stringify(_exhaustive)}`);
|
|
752
|
+
}
|
|
744
753
|
}
|
|
745
754
|
}, _GenerateContext_subjectDefaults = function _GenerateContext_subjectDefaults(produce) {
|
|
746
755
|
try {
|
|
@@ -942,11 +951,15 @@ _GenerateContext_files = new WeakMap(), _GenerateContext_previews = new WeakMap(
|
|
|
942
951
|
variants.forEach(variant => {
|
|
943
952
|
refTrail.trace(`variant: ${variant}`, st => {
|
|
944
953
|
try {
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
954
|
+
if (typeof generatorConfig.isSupported === 'function' &&
|
|
955
|
+
!generatorConfig.isSupported({ refName, context: this, variant })) {
|
|
956
|
+
this.captureCurrentResult('notSupported', st);
|
|
957
|
+
return;
|
|
958
|
+
}
|
|
959
|
+
// Order: isSupported (capability) → include (allow) → skip
|
|
960
|
+
// (deny). Match is on `(refName, variant)`. An empty variant
|
|
961
|
+
// array on a refName means "every variant of this refName"; a
|
|
962
|
+
// populated array names the variants the entry applies to.
|
|
950
963
|
if (include !== undefined &&
|
|
951
964
|
!matchesRefFilter({ refs: include, refName, variant })) {
|
|
952
965
|
this.captureCurrentResult('skipped', st);
|
|
@@ -118,6 +118,22 @@ export declare class ParseContext {
|
|
|
118
118
|
* the parsed document. Symmetric across protocols: OAS prunes via
|
|
119
119
|
* `OasDocument.removeItem`, GQL via `GqlDocument.removeItem`. Each
|
|
120
120
|
* pruned consumer yields an `INVALID_DEPENDENCY_REF` issue.
|
|
121
|
+
*
|
|
122
|
+
* Pruning is deliberately **single-level** — only the direct
|
|
123
|
+
* consumers of a parse-errored schema are removed. Anything those
|
|
124
|
+
* removals leave with a dangling reference is left in place: if a
|
|
125
|
+
* generator never resolves it, it is harmless; if one does, that
|
|
126
|
+
* single artifact fails at generate time and is isolated there. We
|
|
127
|
+
* do not cascade transitively.
|
|
128
|
+
*
|
|
129
|
+
* Known coarseness, intentionally left as-is for now: a `paths:P:M:…`
|
|
130
|
+
* consumer trail resolves to the *whole operation*, so an operation
|
|
131
|
+
* that references a broken schema is pruned even when the reference
|
|
132
|
+
* is only through a response it does not generate from. A finer
|
|
133
|
+
* design — don't prune operations for response-position refs and let
|
|
134
|
+
* generate-time isolation handle the dangling ref — is deferred; the
|
|
135
|
+
* single-level + generate-time-isolation contract above keeps the
|
|
136
|
+
* dangling ref safe in the meantime.
|
|
121
137
|
*/
|
|
122
138
|
removeErroredItems(): void;
|
|
123
139
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,SAAS,CAAA;AAIzD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAMjD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC/D,YAAY,EACV,eAAe,EACf,SAAS,EACT,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,iBAAiB,CAAA;AAExB,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,KAAK,CAAA;IACX,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAA;IAClC,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,WAAW,CAAA;IACrB;;;;;;OAMG;IACH,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,eAAe,CAAA;CACzB,CAAA;AAED,KAAK,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAGxD,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,kBAAkB,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,eAAe,CAAA;KAAE,CAAA;CACpC,CAAA;AAED,qBAAa,YAAY;;IACvB,MAAM,EAAE,UAAU,EAAE,CAAK;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,aAAa,CAAA;IACvB;;;;;OAKG;IACH,iBAAiB,EAAE,UAAU,GAAG,SAAS,CAAA;gBAQ7B,EAAE,KAAK,EAAE,MAAM,EAAE,MAAa,EAAE,OAAO,EAAE,EAAE,eAAe;IAoCtE;;;;OAIG;IACH,IAAI,WAAW,IAAI,WAAW,CAK7B;IAED,kEAAkE;IAClE,IAAI,cAAc,IAAI,SAAS,CAAC,QAAQ,CAKvC;IAED,6DAA6D;IAC7D,IAAI,MAAM,IAAI,aAAa,CAK1B;IAED,6DAA6D;IAC7D,IAAI,QAAQ,IAAI,WAAW,CAK1B;IAED;;;;;OAKG;IACH,IAAI,WAAW,IAAI,WAAW,CAK7B;IAED;;;;;OAKG;IACH,IAAI,cAAc,IAAI,mBAAmB,CAWxC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,mBAAmB;IAoDlD
|
|
1
|
+
{"version":3,"file":"ParseContext.d.ts","sourceRoot":"","sources":["../../src/context/ParseContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,6 +237,22 @@ class ParseContext {
|
|
|
237
237
|
* the parsed document. Symmetric across protocols: OAS prunes via
|
|
238
238
|
* `OasDocument.removeItem`, GQL via `GqlDocument.removeItem`. Each
|
|
239
239
|
* pruned consumer yields an `INVALID_DEPENDENCY_REF` issue.
|
|
240
|
+
*
|
|
241
|
+
* Pruning is deliberately **single-level** — only the direct
|
|
242
|
+
* consumers of a parse-errored schema are removed. Anything those
|
|
243
|
+
* removals leave with a dangling reference is left in place: if a
|
|
244
|
+
* generator never resolves it, it is harmless; if one does, that
|
|
245
|
+
* single artifact fails at generate time and is isolated there. We
|
|
246
|
+
* do not cascade transitively.
|
|
247
|
+
*
|
|
248
|
+
* Known coarseness, intentionally left as-is for now: a `paths:P:M:…`
|
|
249
|
+
* consumer trail resolves to the *whole operation*, so an operation
|
|
250
|
+
* that references a broken schema is pruned even when the reference
|
|
251
|
+
* is only through a response it does not generate from. A finer
|
|
252
|
+
* design — don't prune operations for response-position refs and let
|
|
253
|
+
* generate-time isolation handle the dangling ref — is deferred; the
|
|
254
|
+
* single-level + generate-time-isolation contract above keeps the
|
|
255
|
+
* dangling ref safe in the meantime.
|
|
240
256
|
*/
|
|
241
257
|
removeErroredItems() {
|
|
242
258
|
switch (this.protocol.type) {
|
|
@@ -416,6 +432,16 @@ class ParseContext {
|
|
|
416
432
|
}, parent);
|
|
417
433
|
break;
|
|
418
434
|
}
|
|
435
|
+
case 'debug': {
|
|
436
|
+
this.logIssueAt({
|
|
437
|
+
protocol,
|
|
438
|
+
level: 'debug',
|
|
439
|
+
type,
|
|
440
|
+
location,
|
|
441
|
+
message: issue.message
|
|
442
|
+
}, parent);
|
|
443
|
+
break;
|
|
444
|
+
}
|
|
419
445
|
default: {
|
|
420
446
|
const _exhaustive = issue;
|
|
421
447
|
throw new Error(`Unhandled parse-issue level: ${JSON.stringify(_exhaustive)}`);
|
|
@@ -3,10 +3,18 @@
|
|
|
3
3
|
* GraphQL parsing. Each variant stands on its own — no shared base —
|
|
4
4
|
* so TypeScript narrows cleanly on `protocol` and `level`.
|
|
5
5
|
*
|
|
6
|
-
* `cause?: unknown` is only present on the error variants. Warnings
|
|
7
|
-
* synthesized by the parser with all the information
|
|
8
|
-
* `message`; errors usually wrap a thrown `Error`, which
|
|
9
|
-
* `cause` for debugging without forcing renderers to know
|
|
6
|
+
* `cause?: unknown` is only present on the error variants. Warnings and
|
|
7
|
+
* `debug` issues are synthesized by the parser with all the information
|
|
8
|
+
* needed for the `message`; errors usually wrap a thrown `Error`, which
|
|
9
|
+
* we keep in `cause` for debugging without forcing renderers to know
|
|
10
|
+
* about it.
|
|
11
|
+
*
|
|
12
|
+
* Three severities: `error` (broken — drives exit status), `warning` (a
|
|
13
|
+
* real deviation that was handled, e.g. a 3.0 schema missing `type`), and
|
|
14
|
+
* `debug` (informational — the parser handled the input gracefully and
|
|
15
|
+
* recorded what it assumed or dropped; spec-legal-but-lossy or
|
|
16
|
+
* dialect-benign cases live here). All three are recorded on the manifest;
|
|
17
|
+
* consumers filter `debug` out of the default view.
|
|
10
18
|
*
|
|
11
19
|
* `location` is the schema-level address of the issue: for OAS it's the
|
|
12
20
|
* stringified stack trail (e.g. `components.schemas.User.properties.email`);
|
|
@@ -63,6 +71,12 @@ export type ParseIssue = {
|
|
|
63
71
|
type: OasIssueType;
|
|
64
72
|
location: string;
|
|
65
73
|
message: string;
|
|
74
|
+
} | {
|
|
75
|
+
protocol: 'oas';
|
|
76
|
+
level: 'debug';
|
|
77
|
+
type: OasIssueType;
|
|
78
|
+
location: string;
|
|
79
|
+
message: string;
|
|
66
80
|
} | {
|
|
67
81
|
protocol: 'gql';
|
|
68
82
|
level: 'error';
|
|
@@ -76,5 +90,11 @@ export type ParseIssue = {
|
|
|
76
90
|
type: GqlIssueType;
|
|
77
91
|
location: string;
|
|
78
92
|
message: string;
|
|
93
|
+
} | {
|
|
94
|
+
protocol: 'gql';
|
|
95
|
+
level: 'debug';
|
|
96
|
+
type: GqlIssueType;
|
|
97
|
+
location: string;
|
|
98
|
+
message: string;
|
|
79
99
|
};
|
|
80
100
|
//# sourceMappingURL=ParseIssue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParseIssue.d.ts","sourceRoot":"","sources":["../../src/context/ParseIssue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ParseIssue.d.ts","sourceRoot":"","sources":["../../src/context/ParseIssue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,YAAY,GACpB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,yBAAyB,GACzB,iBAAiB,GACjB,yBAAyB,GACzB,wBAAwB,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,kYAQvB,CAAA;AAKF,MAAM,MAAM,UAAU,GAClB;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE,QAAQ,EAAE,KAAK,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA"}
|
|
@@ -4,10 +4,18 @@
|
|
|
4
4
|
* GraphQL parsing. Each variant stands on its own — no shared base —
|
|
5
5
|
* so TypeScript narrows cleanly on `protocol` and `level`.
|
|
6
6
|
*
|
|
7
|
-
* `cause?: unknown` is only present on the error variants. Warnings
|
|
8
|
-
* synthesized by the parser with all the information
|
|
9
|
-
* `message`; errors usually wrap a thrown `Error`, which
|
|
10
|
-
* `cause` for debugging without forcing renderers to know
|
|
7
|
+
* `cause?: unknown` is only present on the error variants. Warnings and
|
|
8
|
+
* `debug` issues are synthesized by the parser with all the information
|
|
9
|
+
* needed for the `message`; errors usually wrap a thrown `Error`, which
|
|
10
|
+
* we keep in `cause` for debugging without forcing renderers to know
|
|
11
|
+
* about it.
|
|
12
|
+
*
|
|
13
|
+
* Three severities: `error` (broken — drives exit status), `warning` (a
|
|
14
|
+
* real deviation that was handled, e.g. a 3.0 schema missing `type`), and
|
|
15
|
+
* `debug` (informational — the parser handled the input gracefully and
|
|
16
|
+
* recorded what it assumed or dropped; spec-legal-but-lossy or
|
|
17
|
+
* dialect-benign cases live here). All three are recorded on the manifest;
|
|
18
|
+
* consumers filter `debug` out of the default view.
|
|
11
19
|
*
|
|
12
20
|
* `location` is the schema-level address of the issue: for OAS it's the
|
|
13
21
|
* stringified stack trail (e.g. `components.schemas.User.properties.email`);
|
|
@@ -48,7 +48,17 @@ export type ParseWarningInput = {
|
|
|
48
48
|
level: 'warning';
|
|
49
49
|
message: string;
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Informational diagnostic — the parser handled the input gracefully and
|
|
53
|
+
* is recording what it assumed or dropped (a spec-legal-but-lossy or
|
|
54
|
+
* dialect-benign case). Recorded on the manifest but filtered out of the
|
|
55
|
+
* default view; never affects exit status.
|
|
56
|
+
*/
|
|
57
|
+
export type ParseDebugInput = {
|
|
58
|
+
level: 'debug';
|
|
59
|
+
message: string;
|
|
60
|
+
};
|
|
61
|
+
export type ParseIssueInput = ParseErrorInput | ParseWarningInput | ParseDebugInput;
|
|
52
62
|
/**
|
|
53
63
|
* Arguments accepted by `ParseContext.logIssue` (StackTrail-based
|
|
54
64
|
* location, computed via `stackTrail.trace(key, ...)`).
|
|
@@ -149,6 +159,12 @@ export type LogIssueAtArgs = {
|
|
|
149
159
|
type: OasIssueType;
|
|
150
160
|
location: string;
|
|
151
161
|
message: string;
|
|
162
|
+
} | {
|
|
163
|
+
protocol: 'oas';
|
|
164
|
+
level: 'debug';
|
|
165
|
+
type: OasIssueType;
|
|
166
|
+
location: string;
|
|
167
|
+
message: string;
|
|
152
168
|
} | {
|
|
153
169
|
protocol: 'gql';
|
|
154
170
|
level: 'error';
|
|
@@ -162,6 +178,12 @@ export type LogIssueAtArgs = {
|
|
|
162
178
|
type: GqlIssueType;
|
|
163
179
|
location: string;
|
|
164
180
|
message: string;
|
|
181
|
+
} | {
|
|
182
|
+
protocol: 'gql';
|
|
183
|
+
level: 'debug';
|
|
184
|
+
type: GqlIssueType;
|
|
185
|
+
location: string;
|
|
186
|
+
message: string;
|
|
165
187
|
};
|
|
166
188
|
/**
|
|
167
189
|
* Options accepted by the GQL parse phase. Passed through the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTypes.d.ts","sourceRoot":"","sources":["../../src/context/parseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAE3C;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"parseTypes.d.ts","sourceRoot":"","sources":["../../src/context/parseTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelDriver.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/ModelDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAMrD,KAAK,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc,IAAI;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAWD;;;;;;;;GAQG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;gBAEH,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EACf,OAAO,EACP,QAAQ,EACR,OAAO,EACR,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelDriver.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/ModelDriver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAMrD,KAAK,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc,IAAI;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAWD;;;;;;;;GAQG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,cAAc,EAAE,cAAc;IAC/D,OAAO,EAAE,mBAAmB,CAAA;IAC5B,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,eAAe,CAAC,cAAc,CAAC,CAAA;IACzC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;gBAEH,EACV,OAAO,EACP,UAAU,EACV,OAAO,EACP,eAAe,EACf,OAAO,EACP,QAAQ,EACR,OAAO,EACR,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC;IA0BrC,OAAO,CAAC,KAAK;IAoBb;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,gBAAgB;CAsBzB"}
|
|
@@ -87,6 +87,7 @@ class ModelDriver {
|
|
|
87
87
|
refName,
|
|
88
88
|
variant
|
|
89
89
|
});
|
|
90
|
+
assertPeerSupported({ context, projection, refName });
|
|
90
91
|
this.settings = this.context.toModelContentSettings({ refName, projection, variant });
|
|
91
92
|
this.definition = this.apply({ destinationPath });
|
|
92
93
|
this.context.modelDepth[`${projection.id}:${refName}`] = 0;
|
|
@@ -197,3 +198,31 @@ const assertPeerVariantExists = ({ context, generatorId, refName, variant }) =>
|
|
|
197
198
|
`Available variants: ${available}.`);
|
|
198
199
|
}
|
|
199
200
|
};
|
|
201
|
+
/**
|
|
202
|
+
* Guard the peer-capability invariant for model insertions.
|
|
203
|
+
*
|
|
204
|
+
* `insertModel` materialises a peer's Definition regardless of the peer's
|
|
205
|
+
* `skip` / `include` configuration — dependency edges are intentionally
|
|
206
|
+
* filter-blind. Capability is different: a peer's `isSupported` declares
|
|
207
|
+
* which models it can serve *at all*. Handing a peer a model it has declared
|
|
208
|
+
* unsupported would build a broken Definition or crash inside the peer's
|
|
209
|
+
* constructor.
|
|
210
|
+
*
|
|
211
|
+
* The Driver throws here instead. The throw unwinds into `GenerateContext`'s
|
|
212
|
+
* per-item `try/catch`, so the *calling* generator's item is recorded as
|
|
213
|
+
* `error` and the run continues — loud, isolated failure rather than silent
|
|
214
|
+
* broken output.
|
|
215
|
+
*
|
|
216
|
+
* A peer that exposes no static `isSupported` is treated as supporting every
|
|
217
|
+
* model: `toModelProjectionBase` defaults it to `() => true`, and a
|
|
218
|
+
* hand-rolled projection may omit it.
|
|
219
|
+
*/
|
|
220
|
+
const assertPeerSupported = ({ context, projection, refName }) => {
|
|
221
|
+
if (typeof projection.isSupported !== 'function') {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
if (!projection.isSupported({ refName, context })) {
|
|
225
|
+
throw new Error(`[${projection.id}] Cannot insert '${refName}' — peer generator ` +
|
|
226
|
+
`does not support this model (isSupported returned false).`);
|
|
227
|
+
}
|
|
228
|
+
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { RefName } from '../../types/RefName.js';
|
|
2
2
|
import type { EnrichmentRequest } from '../../types/EnrichmentRequest.js';
|
|
3
|
-
import type { TransformModelArgs, ToModelPreviewModuleArgs, ToModelMappingArgs, ToModelEnrichmentsArgs } from './types.js';
|
|
4
|
-
import
|
|
3
|
+
import type { TransformModelArgs, ToModelPreviewModuleArgs, ToModelMappingArgs, ToModelEnrichmentsArgs, IsSupportedModelArgs, IsSupportedModelConfigArgs } from './types.js';
|
|
4
|
+
import * as v from 'valibot';
|
|
5
5
|
import type { MappingModule, PreviewModule } from '../../types/Preview.js';
|
|
6
6
|
type ToModelEntryArgs<EnrichmentType = undefined> = {
|
|
7
7
|
id: string;
|
|
8
8
|
transform: ({ context, refName, variant }: TransformModelArgs) => void;
|
|
9
9
|
toEnrichmentSchema: () => v.GenericSchema<EnrichmentType>;
|
|
10
|
+
isSupported?: ({ context, refName }: IsSupportedModelConfigArgs<EnrichmentType>) => boolean;
|
|
10
11
|
toPreviewModule?: ({ context, refName, variant }: ToModelPreviewModuleArgs) => PreviewModule;
|
|
11
12
|
toMappingModule?: ({ context, refName, variant }: ToModelMappingArgs) => MappingModule;
|
|
12
13
|
toEnrichmentRequest?: <RequestedEnrichment extends EnrichmentType>(refName: RefName) => EnrichmentRequest<RequestedEnrichment> | undefined;
|
|
@@ -26,6 +27,10 @@ type ToModelEntryArgs<EnrichmentType = undefined> = {
|
|
|
26
27
|
* @param args - Configuration for the model entry
|
|
27
28
|
* @param args.id - Unique identifier for this model entry
|
|
28
29
|
* @param args.transform - Function to transform schemas into artifacts
|
|
30
|
+
* @param args.isSupported - Optional capability gate; a model whose predicate
|
|
31
|
+
* returns `false` is recorded `notSupported` and its `transform` is skipped.
|
|
32
|
+
* Resolve the schema inside the predicate when needed
|
|
33
|
+
* (`context.resolveSchemaRefOnce(refName, id)`). Defaults to supporting every model.
|
|
29
34
|
* @param args.toPreviewModule - Optional function to generate preview modules
|
|
30
35
|
* @param args.toMappingModule - Optional function to generate mapping modules
|
|
31
36
|
* @param args.toEnrichmentSchema - Optional function to provide enrichment validation
|
|
@@ -67,10 +72,11 @@ type ToModelEntryArgs<EnrichmentType = undefined> = {
|
|
|
67
72
|
* });
|
|
68
73
|
* ```
|
|
69
74
|
*/
|
|
70
|
-
export declare const toModelEntry: <EnrichmentType = undefined>({ id, transform, toPreviewModule, toMappingModule, toEnrichmentSchema, toEnrichmentRequest, toEnrichmentDefaults }: ToModelEntryArgs<EnrichmentType>) => {
|
|
75
|
+
export declare const toModelEntry: <EnrichmentType = undefined>({ id, transform, isSupported, toPreviewModule, toMappingModule, toEnrichmentSchema, toEnrichmentRequest, toEnrichmentDefaults }: ToModelEntryArgs<EnrichmentType>) => {
|
|
71
76
|
id: string;
|
|
72
77
|
type: "model";
|
|
73
78
|
transform: ({ context, refName, variant }: TransformModelArgs) => void;
|
|
79
|
+
isSupported: ({ context, refName }: IsSupportedModelArgs) => boolean;
|
|
74
80
|
toPreviewModule?: ({ context, refName, variant }: ToModelPreviewModuleArgs) => PreviewModule;
|
|
75
81
|
toMappingModule?: ({ context, refName, variant }: ToModelMappingArgs) => MappingModule;
|
|
76
82
|
toEnrichmentSchema: () => v.GenericSchema<EnrichmentType>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toModelEntry.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"toModelEntry.d.ts","sourceRoot":"","sources":["../../../src/dsl/model/toModelEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAK1E,KAAK,gBAAgB,CAAC,cAAc,GAAG,SAAS,IAAI;IAClD,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtE,kBAAkB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,0BAA0B,CAAC,cAAc,CAAC,KAAK,OAAO,CAAA;IAC3F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IAC5F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IACtF,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,oBAAoB,CAAC,EAAE,CAAC,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACR,EAAE,sBAAsB,KAAK,cAAc,GAAG,SAAS,CAAA;CACzD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,GAAG,SAAS,EAAE,iIAStD,gBAAgB,CAAC,cAAc,CAAC,KAAG;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,IAAI,CAAA;IACtE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,oBAAoB,KAAK,OAAO,CAAA;IACpE,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,wBAAwB,KAAK,aAAa,CAAA;IAC5F,eAAe,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,KAAK,aAAa,CAAA;IACtF,kBAAkB,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,mBAAmB,CAAC,EAAE,CAAC,mBAAmB,SAAS,cAAc,EAC/D,OAAO,EAAE,OAAO,KACb,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACvD,oBAAoB,CAAC,EAAE,CAAC,EACtB,OAAO,EACP,OAAO,EACP,OAAO,EACR,EAAE,sBAAsB,KAAK,cAAc,GAAG,SAAS,CAAA;CAmCzD,CAAA"}
|