arkormx 2.0.0-next.4 → 2.0.0-next.5

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/cli.mjs CHANGED
@@ -3,10 +3,10 @@ import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync
3
3
  import { dirname, extname, join, resolve } from "node:path";
4
4
  import { spawnSync } from "node:child_process";
5
5
  import { str } from "@h3ravel/support";
6
- import { createHash } from "node:crypto";
7
6
  import path, { dirname as dirname$1, extname as extname$1, join as join$1, relative } from "path";
8
7
  import { copyFileSync, existsSync as existsSync$1, mkdirSync as mkdirSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, rmSync as rmSync$1, writeFileSync as writeFileSync$1 } from "fs";
9
8
  import { AsyncLocalStorage } from "async_hooks";
9
+ import { createHash } from "node:crypto";
10
10
  import { createJiti } from "@rexxars/jiti";
11
11
  import { pathToFileURL } from "node:url";
12
12
  import { createRequire } from "module";
@@ -1686,9 +1686,6 @@ const getPersistedTableMetadata = (table, options = {}) => {
1686
1686
  }, {})
1687
1687
  };
1688
1688
  };
1689
- const getPersistedEnumMap = (table, options = {}) => {
1690
- return getPersistedTableMetadata(table, options).enums;
1691
- };
1692
1689
  const applyMappedColumn = (tableColumns, column, features, table) => {
1693
1690
  if (typeof column.map === "string" && column.map.trim().length > 0 && column.map !== column.name) {
1694
1691
  if (!features.persistedColumnMappings) throw buildPersistedFeatureDisabledError("persistedColumnMappings", table);
@@ -2544,21 +2541,30 @@ var CliApp = class {
2544
2541
  skipped
2545
2542
  };
2546
2543
  }
2547
- applyPersistedEnumMetadata(structure) {
2548
- const persistedEnums = getPersistedEnumMap(structure.table, {
2544
+ applyPersistedFieldMetadata(structure) {
2545
+ const persistedMetadata = getPersistedTableMetadata(structure.table, {
2549
2546
  features: resolvePersistedMetadataFeatures(this.getConfig("features")),
2550
2547
  strict: true
2551
2548
  });
2552
- if (Object.keys(persistedEnums).length === 0) return structure;
2549
+ if (Object.keys(persistedMetadata.columns).length === 0 && Object.keys(persistedMetadata.enums).length === 0) return structure;
2550
+ const attributesByColumn = Object.entries(persistedMetadata.columns).reduce((all, [attribute, column]) => {
2551
+ all[column] = attribute;
2552
+ return all;
2553
+ }, {});
2553
2554
  return {
2554
2555
  ...structure,
2555
2556
  fields: structure.fields.map((field) => {
2556
- const enumValues = persistedEnums[field.name];
2557
- if (!enumValues || enumValues.length === 0) return field;
2557
+ const logicalName = attributesByColumn[field.name] ?? field.name;
2558
+ const enumValues = persistedMetadata.enums[logicalName] ?? persistedMetadata.enums[field.name];
2559
+ if (!enumValues || enumValues.length === 0) return {
2560
+ ...field,
2561
+ name: logicalName
2562
+ };
2558
2563
  const enumType = getPersistedEnumTsType(enumValues);
2559
2564
  const isArray = /^Array<.+>$/.test(field.type);
2560
2565
  return {
2561
2566
  ...field,
2567
+ name: logicalName,
2562
2568
  type: isArray ? `Array<${enumType}>` : enumType
2563
2569
  };
2564
2570
  })
@@ -2723,7 +2729,7 @@ var CliApp = class {
2723
2729
  }, /* @__PURE__ */ new Map());
2724
2730
  const discovered = await adapter.introspectModels({ tables: [...new Set([...sources.values()].map((source) => source.table))] });
2725
2731
  const structuresByTable = new Map(discovered.map((model) => {
2726
- const enriched = this.applyPersistedEnumMetadata(model);
2732
+ const enriched = this.applyPersistedFieldMetadata(model);
2727
2733
  return [enriched.table, enriched];
2728
2734
  }));
2729
2735
  const result = this.syncModelFiles(modelFiles, (filePath) => {
package/dist/index.cjs CHANGED
@@ -4193,21 +4193,30 @@ var CliApp = class {
4193
4193
  skipped
4194
4194
  };
4195
4195
  }
4196
- applyPersistedEnumMetadata(structure) {
4197
- const persistedEnums = getPersistedEnumMap(structure.table, {
4196
+ applyPersistedFieldMetadata(structure) {
4197
+ const persistedMetadata = getPersistedTableMetadata(structure.table, {
4198
4198
  features: resolvePersistedMetadataFeatures(this.getConfig("features")),
4199
4199
  strict: true
4200
4200
  });
4201
- if (Object.keys(persistedEnums).length === 0) return structure;
4201
+ if (Object.keys(persistedMetadata.columns).length === 0 && Object.keys(persistedMetadata.enums).length === 0) return structure;
4202
+ const attributesByColumn = Object.entries(persistedMetadata.columns).reduce((all, [attribute, column]) => {
4203
+ all[column] = attribute;
4204
+ return all;
4205
+ }, {});
4202
4206
  return {
4203
4207
  ...structure,
4204
4208
  fields: structure.fields.map((field) => {
4205
- const enumValues = persistedEnums[field.name];
4206
- if (!enumValues || enumValues.length === 0) return field;
4209
+ const logicalName = attributesByColumn[field.name] ?? field.name;
4210
+ const enumValues = persistedMetadata.enums[logicalName] ?? persistedMetadata.enums[field.name];
4211
+ if (!enumValues || enumValues.length === 0) return {
4212
+ ...field,
4213
+ name: logicalName
4214
+ };
4207
4215
  const enumType = getPersistedEnumTsType(enumValues);
4208
4216
  const isArray = /^Array<.+>$/.test(field.type);
4209
4217
  return {
4210
4218
  ...field,
4219
+ name: logicalName,
4211
4220
  type: isArray ? `Array<${enumType}>` : enumType
4212
4221
  };
4213
4222
  })
@@ -4372,7 +4381,7 @@ var CliApp = class {
4372
4381
  }, /* @__PURE__ */ new Map());
4373
4382
  const discovered = await adapter.introspectModels({ tables: [...new Set([...sources.values()].map((source) => source.table))] });
4374
4383
  const structuresByTable = new Map(discovered.map((model) => {
4375
- const enriched = this.applyPersistedEnumMetadata(model);
4384
+ const enriched = this.applyPersistedFieldMetadata(model);
4376
4385
  return [enriched.table, enriched];
4377
4386
  }));
4378
4387
  const result = this.syncModelFiles(modelFiles, (filePath) => {
package/dist/index.d.cts CHANGED
@@ -3324,13 +3324,13 @@ declare class CliApp {
3324
3324
  private syncPrismaEnumImports;
3325
3325
  private parseModelSyncSource;
3326
3326
  private syncModelFiles;
3327
- private applyPersistedEnumMetadata;
3327
+ private applyPersistedFieldMetadata;
3328
3328
  /**
3329
3329
  * Parse Prisma enum definitions from a schema and return their member names.
3330
3330
  *
3331
3331
  * @param schema The Prisma schema source.
3332
3332
  * @returns A map of enum names to their declared member names.
3333
- */
3333
+ */
3334
3334
  private parsePrismaEnums;
3335
3335
  /**
3336
3336
  * Resolve the generated TypeScript declaration type for a Prisma field.
package/dist/index.d.mts CHANGED
@@ -3324,13 +3324,13 @@ declare class CliApp {
3324
3324
  private syncPrismaEnumImports;
3325
3325
  private parseModelSyncSource;
3326
3326
  private syncModelFiles;
3327
- private applyPersistedEnumMetadata;
3327
+ private applyPersistedFieldMetadata;
3328
3328
  /**
3329
3329
  * Parse Prisma enum definitions from a schema and return their member names.
3330
3330
  *
3331
3331
  * @param schema The Prisma schema source.
3332
3332
  * @returns A map of enum names to their declared member names.
3333
- */
3333
+ */
3334
3334
  private parsePrismaEnums;
3335
3335
  /**
3336
3336
  * Resolve the generated TypeScript declaration type for a Prisma field.
package/dist/index.mjs CHANGED
@@ -4164,21 +4164,30 @@ var CliApp = class {
4164
4164
  skipped
4165
4165
  };
4166
4166
  }
4167
- applyPersistedEnumMetadata(structure) {
4168
- const persistedEnums = getPersistedEnumMap(structure.table, {
4167
+ applyPersistedFieldMetadata(structure) {
4168
+ const persistedMetadata = getPersistedTableMetadata(structure.table, {
4169
4169
  features: resolvePersistedMetadataFeatures(this.getConfig("features")),
4170
4170
  strict: true
4171
4171
  });
4172
- if (Object.keys(persistedEnums).length === 0) return structure;
4172
+ if (Object.keys(persistedMetadata.columns).length === 0 && Object.keys(persistedMetadata.enums).length === 0) return structure;
4173
+ const attributesByColumn = Object.entries(persistedMetadata.columns).reduce((all, [attribute, column]) => {
4174
+ all[column] = attribute;
4175
+ return all;
4176
+ }, {});
4173
4177
  return {
4174
4178
  ...structure,
4175
4179
  fields: structure.fields.map((field) => {
4176
- const enumValues = persistedEnums[field.name];
4177
- if (!enumValues || enumValues.length === 0) return field;
4180
+ const logicalName = attributesByColumn[field.name] ?? field.name;
4181
+ const enumValues = persistedMetadata.enums[logicalName] ?? persistedMetadata.enums[field.name];
4182
+ if (!enumValues || enumValues.length === 0) return {
4183
+ ...field,
4184
+ name: logicalName
4185
+ };
4178
4186
  const enumType = getPersistedEnumTsType(enumValues);
4179
4187
  const isArray = /^Array<.+>$/.test(field.type);
4180
4188
  return {
4181
4189
  ...field,
4190
+ name: logicalName,
4182
4191
  type: isArray ? `Array<${enumType}>` : enumType
4183
4192
  };
4184
4193
  })
@@ -4343,7 +4352,7 @@ var CliApp = class {
4343
4352
  }, /* @__PURE__ */ new Map());
4344
4353
  const discovered = await adapter.introspectModels({ tables: [...new Set([...sources.values()].map((source) => source.table))] });
4345
4354
  const structuresByTable = new Map(discovered.map((model) => {
4346
- const enriched = this.applyPersistedEnumMetadata(model);
4355
+ const enriched = this.applyPersistedFieldMetadata(model);
4347
4356
  return [enriched.table, enriched];
4348
4357
  }));
4349
4358
  const result = this.syncModelFiles(modelFiles, (filePath) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkormx",
3
- "version": "2.0.0-next.4",
3
+ "version": "2.0.0-next.5",
4
4
  "description": "Modern TypeScript-first ORM for Node.js.",
5
5
  "keywords": [
6
6
  "orm",