@atomic-ehr/codegen 0.0.1-canary.20250811234617.ea1d6c1 → 0.0.1-canary.20250811235950.67a72a5
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/dist/api/builder.d.ts +1 -6
- package/dist/api/builder.d.ts.map +1 -1
- package/dist/api/generators/typescript.d.ts +0 -16
- package/dist/api/generators/typescript.d.ts.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/index.js +1 -3
- package/dist/config.d.ts +0 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/{index-ts25e982.js → index-m60p8fkc.js} +0 -208
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/api/builder.d.ts
CHANGED
|
@@ -64,7 +64,7 @@ export declare class APIBuilder {
|
|
|
64
64
|
*/
|
|
65
65
|
fromSchemas(schemas: TypeSchema[]): APIBuilder;
|
|
66
66
|
/**
|
|
67
|
-
* Configure TypeScript generation
|
|
67
|
+
* Configure TypeScript generation
|
|
68
68
|
*/
|
|
69
69
|
typescript(options?: {
|
|
70
70
|
moduleFormat?: "esm" | "cjs";
|
|
@@ -73,11 +73,6 @@ export declare class APIBuilder {
|
|
|
73
73
|
namingConvention?: "PascalCase" | "camelCase";
|
|
74
74
|
includeExtensions?: boolean;
|
|
75
75
|
includeProfiles?: boolean;
|
|
76
|
-
generateValidators?: boolean;
|
|
77
|
-
generateGuards?: boolean;
|
|
78
|
-
generateBuilders?: boolean;
|
|
79
|
-
strictValidation?: boolean;
|
|
80
|
-
includePerformanceMetrics?: boolean;
|
|
81
76
|
}): APIBuilder;
|
|
82
77
|
/**
|
|
83
78
|
* Configure REST client generation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/api/builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,KAAK,UAAU,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACZ,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAKb;IACF,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,KAAK,CAAC,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,gBAAgB,CAAC,CAAmB;gBAEhC,OAAO,GAAE,iBAAsB;IAyB3C;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU;IAS9D;;OAEG;IACH,SAAS,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU;IAO7C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU;IAM9C;;OAEG;IACH,UAAU,CACT,OAAO,GAAE;QACR,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;QAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,gBAAgB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;QAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/api/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -174,18 +174,6 @@ export declare class TypeScriptAPIGenerator {
|
|
|
174
174
|
* Generate TypeScript for a profile field with constraints
|
|
175
175
|
*/
|
|
176
176
|
private generateProfileField;
|
|
177
|
-
/**
|
|
178
|
-
* Generate profile validator function
|
|
179
|
-
*/
|
|
180
|
-
private generateProfileValidator;
|
|
181
|
-
/**
|
|
182
|
-
* Generate TypeScript field with profile constraints applied
|
|
183
|
-
*/
|
|
184
|
-
private generateConstrainedProfileField;
|
|
185
|
-
/**
|
|
186
|
-
* Generate validation logic for a specific constraint
|
|
187
|
-
*/
|
|
188
|
-
private generateConstraintValidation;
|
|
189
177
|
/**
|
|
190
178
|
* Generate an enum type for a field with enumerated values
|
|
191
179
|
*/
|
|
@@ -198,9 +186,5 @@ export declare class TypeScriptAPIGenerator {
|
|
|
198
186
|
* Convert string to PascalCase
|
|
199
187
|
*/
|
|
200
188
|
private toPascalCase;
|
|
201
|
-
/**
|
|
202
|
-
* Generate profile type guard function
|
|
203
|
-
*/
|
|
204
|
-
private generateProfileTypeGuard;
|
|
205
189
|
}
|
|
206
190
|
//# sourceMappingURL=typescript.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/api/generators/typescript.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/api/generators/typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,UAAU,YAAa,SAAQ,OAAO;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,UAAU,YAAa,SAAQ,OAAO;IACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACjD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,YAAY,CAyN3D,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
step,
|
|
18
18
|
success,
|
|
19
19
|
warn
|
|
20
|
-
} from "../index-
|
|
20
|
+
} from "../index-m60p8fkc.js";
|
|
21
21
|
|
|
22
22
|
// node_modules/emoji-regex/index.js
|
|
23
23
|
var require_emoji_regex = __commonJS((exports, module) => {
|
|
@@ -8419,8 +8419,6 @@ var generateCommand = {
|
|
|
8419
8419
|
generateIndex: argv["generate-index"] ?? config.typescript?.generateIndex ?? true,
|
|
8420
8420
|
includeDocuments: argv["include-docs"] ?? config.typescript?.includeDocuments ?? false,
|
|
8421
8421
|
namingConvention: argv["naming-convention"] || config.typescript?.namingConvention || "PascalCase",
|
|
8422
|
-
generateValidators: config.typescript?.generateValidators ?? true,
|
|
8423
|
-
generateGuards: config.typescript?.generateGuards ?? true,
|
|
8424
8422
|
includeProfiles: config.typescript?.includeProfiles ?? false
|
|
8425
8423
|
});
|
|
8426
8424
|
}
|
package/dist/config.d.ts
CHANGED
|
@@ -50,8 +50,6 @@ export interface TypeScriptGeneratorConfig {
|
|
|
50
50
|
includeDocuments?: boolean;
|
|
51
51
|
namingConvention?: "PascalCase" | "camelCase";
|
|
52
52
|
strictMode?: boolean;
|
|
53
|
-
generateValidators?: boolean;
|
|
54
|
-
generateGuards?: boolean;
|
|
55
53
|
includeProfiles?: boolean;
|
|
56
54
|
includeExtensions?: boolean;
|
|
57
55
|
includeValueSets?: boolean;
|
|
@@ -64,7 +62,6 @@ export interface TypeScriptGeneratorConfig {
|
|
|
64
62
|
generateKind?: "interface" | "type" | "both";
|
|
65
63
|
includeConstraints?: boolean;
|
|
66
64
|
includeDocumentation?: boolean;
|
|
67
|
-
generateValidators?: boolean;
|
|
68
65
|
strictMode?: boolean;
|
|
69
66
|
subfolder?: string;
|
|
70
67
|
};
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sCAAsC;IACtC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mCAAmC;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5732,12 +5732,6 @@ ${result.content}` : result.content;
|
|
|
5732
5732
|
} else {
|
|
5733
5733
|
lines.push("}");
|
|
5734
5734
|
}
|
|
5735
|
-
if (this.options.includeProfiles) {
|
|
5736
|
-
lines.push("");
|
|
5737
|
-
lines.push(this.generateProfileValidator(interfaceName, schema));
|
|
5738
|
-
}
|
|
5739
|
-
lines.push("");
|
|
5740
|
-
lines.push(this.generateProfileTypeGuard(interfaceName, schema));
|
|
5741
5735
|
return lines.join(`
|
|
5742
5736
|
`);
|
|
5743
5737
|
}
|
|
@@ -5792,145 +5786,6 @@ ${result.content}` : result.content;
|
|
|
5792
5786
|
const arrayType = array ? "[]" : "";
|
|
5793
5787
|
return `${fieldName}${optional}: ${typeString}${arrayType};`;
|
|
5794
5788
|
}
|
|
5795
|
-
generateProfileValidator(interfaceName, schema) {
|
|
5796
|
-
const lines = [];
|
|
5797
|
-
const validatorName = `validate${interfaceName}`;
|
|
5798
|
-
lines.push("/**");
|
|
5799
|
-
lines.push(` * Validate a resource against the ${interfaceName} profile`);
|
|
5800
|
-
lines.push(" */");
|
|
5801
|
-
lines.push(`export function ${validatorName}(resource: unknown): ValidationResult {`);
|
|
5802
|
-
lines.push("\tconst errors: string[] = [];");
|
|
5803
|
-
lines.push("");
|
|
5804
|
-
const baseInterface = this.getBaseInterface(schema);
|
|
5805
|
-
if (baseInterface && !baseInterface.isPrimitive && baseInterface.baseIdentifier) {
|
|
5806
|
-
const importPath = this.calculateImportPath(schema, baseInterface.baseIdentifier);
|
|
5807
|
-
this.imports.set(`is${baseInterface.value}`, importPath);
|
|
5808
|
-
lines.push(` // Validate base resource`);
|
|
5809
|
-
lines.push(` if (!is${baseInterface.value}(resource)) {`);
|
|
5810
|
-
lines.push(` return { valid: false, errors: ['Not a valid ${baseInterface.value} resource'] };`);
|
|
5811
|
-
lines.push("\t}");
|
|
5812
|
-
lines.push("");
|
|
5813
|
-
lines.push(` const typed = resource as ${baseInterface.value};`);
|
|
5814
|
-
lines.push("");
|
|
5815
|
-
}
|
|
5816
|
-
if (schema.constraints) {
|
|
5817
|
-
lines.push("\t// Profile constraint validation");
|
|
5818
|
-
for (const [path9, constraint] of Object.entries(schema.constraints)) {
|
|
5819
|
-
this.generateConstraintValidation(lines, path9, constraint);
|
|
5820
|
-
}
|
|
5821
|
-
lines.push("");
|
|
5822
|
-
}
|
|
5823
|
-
if (schema.constraints) {
|
|
5824
|
-
const mustSupportFields = [];
|
|
5825
|
-
for (const [path9, constraint] of Object.entries(schema.constraints)) {
|
|
5826
|
-
if (constraint.mustSupport) {
|
|
5827
|
-
mustSupportFields.push(path9);
|
|
5828
|
-
}
|
|
5829
|
-
}
|
|
5830
|
-
if (mustSupportFields.length > 0) {
|
|
5831
|
-
lines.push("\t// Must Support elements validation");
|
|
5832
|
-
for (const field of mustSupportFields) {
|
|
5833
|
-
lines.push(` // Must support: ${field}`);
|
|
5834
|
-
lines.push(` // Note: Must Support validation is context-dependent`);
|
|
5835
|
-
}
|
|
5836
|
-
lines.push("");
|
|
5837
|
-
}
|
|
5838
|
-
}
|
|
5839
|
-
lines.push("\treturn {");
|
|
5840
|
-
lines.push("\t\tvalid: errors.length === 0,");
|
|
5841
|
-
lines.push("\t\terrors");
|
|
5842
|
-
lines.push("\t};");
|
|
5843
|
-
lines.push("}");
|
|
5844
|
-
this.imports.set("ValidationResult", "../../types");
|
|
5845
|
-
return lines.join(`
|
|
5846
|
-
`);
|
|
5847
|
-
}
|
|
5848
|
-
generateConstrainedProfileField(path9, constraint, schema) {
|
|
5849
|
-
const fieldPath = path9.includes(".") ? path9.split(".").pop() : path9;
|
|
5850
|
-
if (!fieldPath)
|
|
5851
|
-
return "";
|
|
5852
|
-
let typeString = "any";
|
|
5853
|
-
let required = false;
|
|
5854
|
-
let array = false;
|
|
5855
|
-
if (constraint.min !== undefined && constraint.min > 0) {
|
|
5856
|
-
required = true;
|
|
5857
|
-
}
|
|
5858
|
-
if (constraint.max === "*") {
|
|
5859
|
-
array = true;
|
|
5860
|
-
}
|
|
5861
|
-
switch (fieldPath) {
|
|
5862
|
-
case "status":
|
|
5863
|
-
typeString = "string";
|
|
5864
|
-
break;
|
|
5865
|
-
case "category":
|
|
5866
|
-
typeString = "CodeableConcept";
|
|
5867
|
-
array = true;
|
|
5868
|
-
this.imports.set("CodeableConcept", "../CodeableConcept");
|
|
5869
|
-
break;
|
|
5870
|
-
case "code":
|
|
5871
|
-
typeString = "CodeableConcept";
|
|
5872
|
-
this.imports.set("CodeableConcept", "../CodeableConcept");
|
|
5873
|
-
break;
|
|
5874
|
-
case "subject":
|
|
5875
|
-
typeString = "Reference";
|
|
5876
|
-
this.imports.set("Reference", "../Reference");
|
|
5877
|
-
break;
|
|
5878
|
-
case "effective":
|
|
5879
|
-
case "effectiveDateTime":
|
|
5880
|
-
typeString = "string";
|
|
5881
|
-
break;
|
|
5882
|
-
case "effectivePeriod":
|
|
5883
|
-
typeString = "Period";
|
|
5884
|
-
this.imports.set("Period", "../Period");
|
|
5885
|
-
break;
|
|
5886
|
-
case "dataAbsentReason":
|
|
5887
|
-
typeString = "CodeableConcept";
|
|
5888
|
-
this.imports.set("CodeableConcept", "../CodeableConcept");
|
|
5889
|
-
break;
|
|
5890
|
-
case "component":
|
|
5891
|
-
typeString = "any";
|
|
5892
|
-
array = true;
|
|
5893
|
-
break;
|
|
5894
|
-
default:
|
|
5895
|
-
if (constraint.binding && constraint.binding.strength === "required") {
|
|
5896
|
-
typeString = "string";
|
|
5897
|
-
}
|
|
5898
|
-
}
|
|
5899
|
-
if (constraint.fixedValue !== undefined) {
|
|
5900
|
-
if (typeof constraint.fixedValue === "string") {
|
|
5901
|
-
typeString = `'${constraint.fixedValue}'`;
|
|
5902
|
-
} else {
|
|
5903
|
-
typeString = JSON.stringify(constraint.fixedValue);
|
|
5904
|
-
}
|
|
5905
|
-
}
|
|
5906
|
-
const optional = !required ? "?" : "";
|
|
5907
|
-
const arrayType = array ? "[]" : "";
|
|
5908
|
-
return `${fieldPath}${optional}: ${typeString}${arrayType};`;
|
|
5909
|
-
}
|
|
5910
|
-
generateConstraintValidation(lines, path9, constraint) {
|
|
5911
|
-
const fieldPath = path9.includes(".") ? path9.split(".").pop() : path9;
|
|
5912
|
-
if (constraint.min !== undefined && constraint.min > 0) {
|
|
5913
|
-
if (constraint.min === 1) {
|
|
5914
|
-
lines.push(` if (!typed.${fieldPath}) {`);
|
|
5915
|
-
lines.push(` errors.push('${fieldPath} is required for this profile');`);
|
|
5916
|
-
lines.push("\t}");
|
|
5917
|
-
} else {
|
|
5918
|
-
lines.push(` if (!typed.${fieldPath} || (Array.isArray(typed.${fieldPath}) && typed.${fieldPath}.length < ${constraint.min})) {`);
|
|
5919
|
-
lines.push(` errors.push('${fieldPath} must have at least ${constraint.min} item(s)');`);
|
|
5920
|
-
lines.push("\t}");
|
|
5921
|
-
}
|
|
5922
|
-
}
|
|
5923
|
-
if (constraint.fixedValue !== undefined) {
|
|
5924
|
-
const fixedValue = typeof constraint.fixedValue === "string" ? `'${constraint.fixedValue}'` : JSON.stringify(constraint.fixedValue);
|
|
5925
|
-
lines.push(` if (typed.${fieldPath} !== ${fixedValue}) {`);
|
|
5926
|
-
lines.push(` errors.push('${fieldPath} must have fixed value ${fixedValue}');`);
|
|
5927
|
-
lines.push("\t}");
|
|
5928
|
-
}
|
|
5929
|
-
if (constraint.binding && constraint.binding.strength === "required") {
|
|
5930
|
-
lines.push(` // Required binding validation for ${fieldPath}`);
|
|
5931
|
-
lines.push(` // Note: Full value set validation requires external value set service`);
|
|
5932
|
-
}
|
|
5933
|
-
}
|
|
5934
5789
|
generateEnumType(fieldName, enumValues, baseName) {
|
|
5935
5790
|
const prefix = baseName || this.currentSchemaName || "";
|
|
5936
5791
|
const enumTypeName = `${prefix}${this.toPascalCase(fieldName)}Values`;
|
|
@@ -5971,63 +5826,6 @@ ${result.content}` : result.content;
|
|
|
5971
5826
|
toPascalCase(str) {
|
|
5972
5827
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
5973
5828
|
}
|
|
5974
|
-
generateProfileTypeGuard(interfaceName, schema) {
|
|
5975
|
-
const lines = [];
|
|
5976
|
-
const guardName = `is${interfaceName}`;
|
|
5977
|
-
lines.push("/**");
|
|
5978
|
-
lines.push(` * Type guard for ${interfaceName} profile`);
|
|
5979
|
-
lines.push(" */");
|
|
5980
|
-
lines.push(`export function ${guardName}(resource: unknown): resource is ${interfaceName} {`);
|
|
5981
|
-
const baseInterface = this.getBaseInterface(schema);
|
|
5982
|
-
if (baseInterface && !baseInterface.isPrimitive && baseInterface.baseIdentifier) {
|
|
5983
|
-
const importPath = this.calculateImportPath(schema, baseInterface.baseIdentifier);
|
|
5984
|
-
this.imports.set(`is${baseInterface.value}`, importPath);
|
|
5985
|
-
lines.push(` if (!is${baseInterface.value}(resource)) return false;`);
|
|
5986
|
-
lines.push("");
|
|
5987
|
-
lines.push(` const typed = resource as ${baseInterface.value};`);
|
|
5988
|
-
} else {
|
|
5989
|
-
lines.push(` if (!resource || typeof resource !== 'object') return false;`);
|
|
5990
|
-
lines.push("");
|
|
5991
|
-
lines.push("\tconst typed = resource as any;");
|
|
5992
|
-
}
|
|
5993
|
-
if (schema.constraints) {
|
|
5994
|
-
lines.push("\t// Profile constraint checks");
|
|
5995
|
-
let hasRequiredChecks = false;
|
|
5996
|
-
for (const [path9, constraint] of Object.entries(schema.constraints)) {
|
|
5997
|
-
const fieldPath = path9.includes(".") ? path9.split(".").pop() : path9;
|
|
5998
|
-
if (constraint.min !== undefined && constraint.min > 0) {
|
|
5999
|
-
hasRequiredChecks = true;
|
|
6000
|
-
if (constraint.min === 1) {
|
|
6001
|
-
lines.push(` if (!typed.${fieldPath}) return false;`);
|
|
6002
|
-
} else {
|
|
6003
|
-
lines.push(` if (!typed.${fieldPath} || (Array.isArray(typed.${fieldPath}) && typed.${fieldPath}.length < ${constraint.min})) return false;`);
|
|
6004
|
-
}
|
|
6005
|
-
}
|
|
6006
|
-
if (constraint.fixedValue !== undefined) {
|
|
6007
|
-
hasRequiredChecks = true;
|
|
6008
|
-
const fixedValue = typeof constraint.fixedValue === "string" ? `'${constraint.fixedValue}'` : JSON.stringify(constraint.fixedValue);
|
|
6009
|
-
lines.push(` if (typed.${fieldPath} !== ${fixedValue}) return false;`);
|
|
6010
|
-
}
|
|
6011
|
-
}
|
|
6012
|
-
if (hasRequiredChecks) {
|
|
6013
|
-
lines.push("");
|
|
6014
|
-
}
|
|
6015
|
-
}
|
|
6016
|
-
if (schema.extensions && schema.extensions.length > 0) {
|
|
6017
|
-
lines.push("\t// Extension presence checks (simplified)");
|
|
6018
|
-
for (const ext of schema.extensions) {
|
|
6019
|
-
if (ext.min && ext.min > 0) {
|
|
6020
|
-
lines.push(` // Required extension: ${ext.profile}`);
|
|
6021
|
-
lines.push(` // Note: Full extension validation requires examining extension array`);
|
|
6022
|
-
}
|
|
6023
|
-
}
|
|
6024
|
-
lines.push("");
|
|
6025
|
-
}
|
|
6026
|
-
lines.push("\treturn true;");
|
|
6027
|
-
lines.push("}");
|
|
6028
|
-
return lines.join(`
|
|
6029
|
-
`);
|
|
6030
|
-
}
|
|
6031
5829
|
}
|
|
6032
5830
|
|
|
6033
5831
|
// src/api/builder.ts
|
|
@@ -6335,8 +6133,6 @@ var DEFAULT_CONFIG = {
|
|
|
6335
6133
|
includeDocuments: false,
|
|
6336
6134
|
namingConvention: "PascalCase",
|
|
6337
6135
|
strictMode: true,
|
|
6338
|
-
generateValidators: true,
|
|
6339
|
-
generateGuards: true,
|
|
6340
6136
|
includeProfiles: true,
|
|
6341
6137
|
includeExtensions: false,
|
|
6342
6138
|
includeValueSets: true,
|
|
@@ -6349,7 +6145,6 @@ var DEFAULT_CONFIG = {
|
|
|
6349
6145
|
generateKind: "interface",
|
|
6350
6146
|
includeConstraints: true,
|
|
6351
6147
|
includeDocumentation: true,
|
|
6352
|
-
generateValidators: true,
|
|
6353
6148
|
strictMode: false,
|
|
6354
6149
|
subfolder: "profiles"
|
|
6355
6150
|
},
|
|
@@ -6543,8 +6338,6 @@ class ConfigValidator {
|
|
|
6543
6338
|
"generateIndex",
|
|
6544
6339
|
"includeDocuments",
|
|
6545
6340
|
"strictMode",
|
|
6546
|
-
"generateValidators",
|
|
6547
|
-
"generateGuards",
|
|
6548
6341
|
"includeProfiles",
|
|
6549
6342
|
"includeExtensions"
|
|
6550
6343
|
];
|
|
@@ -6745,7 +6538,6 @@ class ConfigValidator {
|
|
|
6745
6538
|
const booleanFields = [
|
|
6746
6539
|
"includeConstraints",
|
|
6747
6540
|
"includeDocumentation",
|
|
6748
|
-
"generateValidators",
|
|
6749
6541
|
"strictMode"
|
|
6750
6542
|
];
|
|
6751
6543
|
for (const field of booleanFields) {
|
package/dist/index.js
CHANGED
package/package.json
CHANGED