@atomic-ehr/codegen 0.0.1-canary.20251106152808.f4530b9 → 0.0.1-canary.20251107091824.7605d36

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/index.js CHANGED
@@ -1715,8 +1715,10 @@ var mkField = (register, fhirSchema, path, element, logger) => {
1715
1715
  enumValues = buildEnum(register, fhirSchema, element, logger);
1716
1716
  }
1717
1717
  }
1718
+ const fieldType = buildFieldType(register, fhirSchema, path, element, logger);
1719
+ if (!fieldType) logger?.warn(`Field type not found for ${path.join(".")}`);
1718
1720
  return {
1719
- type: buildFieldType(register, fhirSchema, path, element, logger),
1721
+ type: fieldType,
1720
1722
  required: isRequired(register, fhirSchema, path),
1721
1723
  excluded: isExcluded(register, fhirSchema, path),
1722
1724
  reference: buildReferences(register, fhirSchema, element),
@@ -4162,7 +4164,7 @@ var BaseGenerator = class {
4162
4164
  * This is the main method that orchestrates the entire generation process
4163
4165
  * @param schemas - Array of TypeSchema documents
4164
4166
  */
4165
- async generate(schemas) {
4167
+ async generate({ schemas }) {
4166
4168
  return this.errorBoundary.withErrorBoundary(
4167
4169
  async () => {
4168
4170
  this.generationStartTime = performance.now();
@@ -4202,7 +4204,7 @@ var BaseGenerator = class {
4202
4204
  return result;
4203
4205
  };
4204
4206
  try {
4205
- const result = await this.generate(schemas);
4207
+ const result = await this.generate({ schemas, index: null });
4206
4208
  result.forEach((file) => {
4207
4209
  const mockResult = mockWriteResults.get(file.filename);
4208
4210
  if (mockResult) {
@@ -5510,10 +5512,10 @@ ${nestedInterfaces}`;
5510
5512
  /**
5511
5513
  * Override generate to clean directory first
5512
5514
  */
5513
- async generate(schemas) {
5515
+ async generate(input) {
5514
5516
  await this.fileManager.cleanDirectory();
5515
5517
  this.logger.debug("Cleaned output directory before generation");
5516
- return super.generate(schemas);
5518
+ return super.generate(input);
5517
5519
  }
5518
5520
  /**
5519
5521
  * Run post-generation hooks - generate utility files
@@ -6077,16 +6079,12 @@ var writerToGenerator = (writerGen) => {
6077
6079
  });
6078
6080
  };
6079
6081
  return {
6080
- generate: async (schemas) => {
6081
- const tsIndex = mkTypeSchemaIndex(schemas);
6082
- if (writerGen.opts.writeTypeTree) {
6083
- await tsIndex.exportTree(writerGen.opts.writeTypeTree);
6084
- }
6082
+ generate: async ({ index: tsIndex }) => {
6085
6083
  writerGen.generate(tsIndex);
6086
6084
  return getGeneratedFiles();
6087
6085
  },
6088
6086
  setOutputDir: (outputDir) => writerGen.opts.outputDir = outputDir,
6089
- build: async (_schemas) => getGeneratedFiles()
6087
+ build: async (_input) => getGeneratedFiles()
6090
6088
  };
6091
6089
  };
6092
6090
  var normalizeFileName = (str) => {
@@ -6131,24 +6129,18 @@ var APIBuilder = class {
6131
6129
  this.packages.push(packageMetaToNpm({ name: packageName, version: version || "latest" }));
6132
6130
  return this;
6133
6131
  }
6134
- /**
6135
- * Load TypeSchema from files
6136
- */
6137
6132
  fromFiles(...filePaths) {
6138
6133
  this.logger.debug(`Loading from ${filePaths.length} TypeSchema files`);
6139
6134
  const operation = this.loadFromFiles(filePaths);
6140
6135
  this.pendingOperations.push(operation);
6141
6136
  return this;
6142
6137
  }
6143
- /**
6144
- * Load TypeSchema from TypeSchema objects
6145
- */
6146
6138
  fromSchemas(schemas) {
6147
6139
  this.logger.debug(`Adding ${schemas.length} TypeSchemas to generation`);
6148
6140
  this.schemas = [...this.schemas, ...schemas];
6149
6141
  return this;
6150
6142
  }
6151
- typescript(options = {}) {
6143
+ typescriptDepricated(options = {}) {
6152
6144
  const typesOutputDir = `${this.options.outputDir}/types`;
6153
6145
  const generator = new TypeScriptGenerator({
6154
6146
  outputDir: typesOutputDir,
@@ -6173,7 +6165,7 @@ var APIBuilder = class {
6173
6165
  this.logger.debug(`Configured TypeScript generator (${options.moduleFormat || "esm"})`);
6174
6166
  return this;
6175
6167
  }
6176
- typescript2(opts) {
6168
+ typescript(opts) {
6177
6169
  const writerOpts = {
6178
6170
  outputDir: Path4.join(this.options.outputDir, "/types"),
6179
6171
  tabSize: 4,
@@ -6347,8 +6339,10 @@ var APIBuilder = class {
6347
6339
  });
6348
6340
  const typeSchemas = await generateTypeSchemas(register, this.logger);
6349
6341
  await this.tryWriteTypeSchema(typeSchemas);
6342
+ const tsIndex = mkTypeSchemaIndex(typeSchemas);
6343
+ if (this.options.exportTypeTree) await tsIndex.exportTree(this.options.exportTypeTree);
6350
6344
  this.logger.debug(`Executing ${this.generators.size} generators`);
6351
- await this.executeGenerators(result, typeSchemas);
6345
+ await this.executeGenerators(result, { schemas: typeSchemas, index: tsIndex });
6352
6346
  this.logger.info("Generation completed successfully");
6353
6347
  result.success = result.errors.length === 0;
6354
6348
  this.logger.debug(`Generation completed: ${result.filesGenerated.length} files`);
@@ -6415,11 +6409,11 @@ var APIBuilder = class {
6415
6409
  this.cache.setMany(schemas);
6416
6410
  }
6417
6411
  }
6418
- async executeGenerators(result, typeSchemas) {
6412
+ async executeGenerators(result, input) {
6419
6413
  for (const [type, generator] of this.generators.entries()) {
6420
6414
  this.logger.info(`Generating ${type}...`);
6421
6415
  try {
6422
- const files = await generator.generate(typeSchemas);
6416
+ const files = await generator.generate(input);
6423
6417
  result.filesGenerated.push(...files.map((f) => f.path || f.filename));
6424
6418
  this.logger.info(`Generating ${type} finished successfully`);
6425
6419
  } catch (error) {
@@ -6452,7 +6446,7 @@ function createAPIFromConfig(config) {
6452
6446
  builder.fromFiles(...config.files);
6453
6447
  }
6454
6448
  if (config.typescript) {
6455
- builder.typescript(config.typescript);
6449
+ builder.typescriptDepricated(config.typescript);
6456
6450
  }
6457
6451
  return builder;
6458
6452
  }
@@ -6460,13 +6454,13 @@ async function generateTypesFromPackage(packageName, outputDir, options = {}) {
6460
6454
  return createAPI({
6461
6455
  outputDir,
6462
6456
  verbose: options.verbose
6463
- }).fromPackage(packageName, options.version).typescript().generate();
6457
+ }).fromPackage(packageName, options.version).typescriptDepricated().generate();
6464
6458
  }
6465
6459
  async function generateTypesFromFiles(inputFiles, outputDir, options = {}) {
6466
6460
  return createAPI({
6467
6461
  outputDir,
6468
6462
  verbose: options.verbose
6469
- }).fromFiles(...inputFiles).typescript().generate();
6463
+ }).fromFiles(...inputFiles).typescriptDepricated().generate();
6470
6464
  }
6471
6465
  var DEFAULT_CONFIG = {
6472
6466
  outputDir: "./generated",