joist-graphql-codegen 2.4.0-next.5 → 2.4.0-next.50

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 (61) hide show
  1. package/build/generateEnumDetailResolvers.d.cts +1 -2
  2. package/build/generateEnumDetailResolvers.d.cts.map +1 -1
  3. package/build/generateEnumDetailResolvers.d.mts +1 -2
  4. package/build/generateEnumDetailResolvers.d.mts.map +1 -1
  5. package/build/generateEnumsGraphql.d.cts +1 -2
  6. package/build/generateEnumsGraphql.d.cts.map +1 -1
  7. package/build/generateEnumsGraphql.d.mts +1 -2
  8. package/build/generateEnumsGraphql.d.mts.map +1 -1
  9. package/build/generateGraphqlCodegen.d.cts +1 -2
  10. package/build/generateGraphqlCodegen.d.cts.map +1 -1
  11. package/build/generateGraphqlCodegen.d.mts +1 -2
  12. package/build/generateGraphqlCodegen.d.mts.map +1 -1
  13. package/build/generateGraphqlSchemaFiles.d.cts +1 -2
  14. package/build/generateGraphqlSchemaFiles.d.cts.map +1 -1
  15. package/build/generateGraphqlSchemaFiles.d.mts +1 -2
  16. package/build/generateGraphqlSchemaFiles.d.mts.map +1 -1
  17. package/build/generateObjectResolvers.d.cts +1 -2
  18. package/build/generateObjectResolvers.d.cts.map +1 -1
  19. package/build/generateObjectResolvers.d.mts +1 -2
  20. package/build/generateObjectResolvers.d.mts.map +1 -1
  21. package/build/generateQueryPageResolvers.d.cts +1 -2
  22. package/build/generateQueryPageResolvers.d.cts.map +1 -1
  23. package/build/generateQueryPageResolvers.d.mts +1 -2
  24. package/build/generateQueryPageResolvers.d.mts.map +1 -1
  25. package/build/generateQueryResolvers.d.cts +1 -2
  26. package/build/generateQueryResolvers.d.cts.map +1 -1
  27. package/build/generateQueryResolvers.d.mts +1 -2
  28. package/build/generateQueryResolvers.d.mts.map +1 -1
  29. package/build/generateResolverUtils.d.cts +1 -2
  30. package/build/generateResolverUtils.d.cts.map +1 -1
  31. package/build/generateResolverUtils.d.mts +1 -2
  32. package/build/generateResolverUtils.d.mts.map +1 -1
  33. package/build/generateSaveResolvers.d.cts +1 -2
  34. package/build/generateSaveResolvers.d.cts.map +1 -1
  35. package/build/generateSaveResolvers.d.mts +1 -2
  36. package/build/generateSaveResolvers.d.mts.map +1 -1
  37. package/build/graphqlUtils.d.cts +9 -10
  38. package/build/graphqlUtils.d.cts.map +1 -1
  39. package/build/graphqlUtils.d.mts +9 -10
  40. package/build/graphqlUtils.d.mts.map +1 -1
  41. package/build/history.d.cts +3 -4
  42. package/build/history.d.cts.map +1 -1
  43. package/build/history.d.mts +3 -4
  44. package/build/history.d.mts.map +1 -1
  45. package/build/index.d.cts +1 -2
  46. package/build/index.d.cts.map +1 -1
  47. package/build/index.d.mts +1 -2
  48. package/build/index.d.mts.map +1 -1
  49. package/build/testUtils.cjs +1 -0
  50. package/build/testUtils.cjs.map +1 -1
  51. package/build/testUtils.d.cts +8 -9
  52. package/build/testUtils.d.cts.map +1 -1
  53. package/build/testUtils.d.mts +8 -9
  54. package/build/testUtils.d.mts.map +1 -1
  55. package/build/testUtils.js +1 -0
  56. package/build/testUtils.js.map +1 -1
  57. package/build/utils.d.cts +5 -6
  58. package/build/utils.d.cts.map +1 -1
  59. package/build/utils.d.mts +5 -6
  60. package/build/utils.d.mts.map +1 -1
  61. package/package.json +9 -9
@@ -2,7 +2,6 @@ import { Config, EnumMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateEnumDetailResolvers.d.ts
4
4
  /** Generates a `src/resolvers/enumResolvers.ts` with a resolver for each of our domain's "enum detail" types. */
5
- declare function generateEnumDetailResolvers(config: Config, enums: EnumMetadata): CodegenFile;
5
+ export declare function generateEnumDetailResolvers(config: Config, enums: EnumMetadata): CodegenFile;
6
6
  //#endregion
7
- export { generateEnumDetailResolvers };
8
7
  //# sourceMappingURL=generateEnumDetailResolvers.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateEnumDetailResolvers.d.cts","names":[],"sources":["../src/generateEnumDetailResolvers.ts"],"mappings":";;;;iBAQgB,4BAA4B,QAAQ,QAAQ,OAAO,eAAe"}
1
+ {"version":3,"file":"generateEnumDetailResolvers.d.cts","names":[],"sources":["../src/generateEnumDetailResolvers.ts"],"mappings":";;;;wBAQgB,4BAA4B,QAAQ,QAAQ,OAAO,eAAe"}
@@ -2,7 +2,6 @@ import { Config, EnumMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateEnumDetailResolvers.d.ts
4
4
  /** Generates a `src/resolvers/enumResolvers.ts` with a resolver for each of our domain's "enum detail" types. */
5
- declare function generateEnumDetailResolvers(config: Config, enums: EnumMetadata): CodegenFile;
5
+ export declare function generateEnumDetailResolvers(config: Config, enums: EnumMetadata): CodegenFile;
6
6
  //#endregion
7
- export { generateEnumDetailResolvers };
8
7
  //# sourceMappingURL=generateEnumDetailResolvers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateEnumDetailResolvers.d.mts","names":[],"sources":["../src/generateEnumDetailResolvers.ts"],"mappings":";;;;iBAQgB,4BAA4B,QAAQ,QAAQ,OAAO,eAAe"}
1
+ {"version":3,"file":"generateEnumDetailResolvers.d.mts","names":[],"sources":["../src/generateEnumDetailResolvers.ts"],"mappings":";;;;wBAQgB,4BAA4B,QAAQ,QAAQ,OAAO,eAAe"}
@@ -2,7 +2,6 @@ import { EnumMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateEnumsGraphql.d.ts
4
4
  /** Generates a `schema/enums.graphql` with GQL enums that match all of our domain enums. */
5
- declare function generateEnumsGraphql(enums: EnumMetadata): Promise<CodegenFile>;
5
+ export declare function generateEnumsGraphql(enums: EnumMetadata): Promise<CodegenFile>;
6
6
  //#endregion
7
- export { generateEnumsGraphql };
8
7
  //# sourceMappingURL=generateEnumsGraphql.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateEnumsGraphql.d.cts","names":[],"sources":["../src/generateEnumsGraphql.ts"],"mappings":";;;;iBAYsB,qBAAqB,OAAO,eAAe,QAAQ"}
1
+ {"version":3,"file":"generateEnumsGraphql.d.cts","names":[],"sources":["../src/generateEnumsGraphql.ts"],"mappings":";;;;wBAYsB,qBAAqB,OAAO,eAAe,QAAQ"}
@@ -2,7 +2,6 @@ import { EnumMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateEnumsGraphql.d.ts
4
4
  /** Generates a `schema/enums.graphql` with GQL enums that match all of our domain enums. */
5
- declare function generateEnumsGraphql(enums: EnumMetadata): Promise<CodegenFile>;
5
+ export declare function generateEnumsGraphql(enums: EnumMetadata): Promise<CodegenFile>;
6
6
  //#endregion
7
- export { generateEnumsGraphql };
8
7
  //# sourceMappingURL=generateEnumsGraphql.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateEnumsGraphql.d.mts","names":[],"sources":["../src/generateEnumsGraphql.ts"],"mappings":";;;;iBAYsB,qBAAqB,OAAO,eAAe,QAAQ"}
1
+ {"version":3,"file":"generateEnumsGraphql.d.mts","names":[],"sources":["../src/generateEnumsGraphql.ts"],"mappings":";;;;wBAYsB,qBAAqB,OAAO,eAAe,QAAQ"}
@@ -2,7 +2,6 @@ import { Config, EntityDbMetadata, EnumMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateGraphqlCodegen.d.ts
4
4
  /** Generates a `graphql-codegen-joist.js` (or .mjs for ESM) with the auto-generated mapped type/enum value settings. */
5
- declare function generateGraphqlCodegen(config: Config, entities: EntityDbMetadata[], enums: EnumMetadata): CodegenFile;
5
+ export declare function generateGraphqlCodegen(config: Config, entities: EntityDbMetadata[], enums: EnumMetadata): CodegenFile;
6
6
  //#endregion
7
- export { generateGraphqlCodegen };
8
7
  //# sourceMappingURL=generateGraphqlCodegen.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateGraphqlCodegen.d.cts","names":[],"sources":["../src/generateGraphqlCodegen.ts"],"mappings":";;;;iBAMgB,uBAAuB,QAAQ,QAAQ,UAAU,oBAAoB,OAAO,eAAe"}
1
+ {"version":3,"file":"generateGraphqlCodegen.d.cts","names":[],"sources":["../src/generateGraphqlCodegen.ts"],"mappings":";;;;wBAMgB,uBAAuB,QAAQ,QAAQ,UAAU,oBAAoB,OAAO,eAAe"}
@@ -2,7 +2,6 @@ import { Config, EntityDbMetadata, EnumMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateGraphqlCodegen.d.ts
4
4
  /** Generates a `graphql-codegen-joist.js` (or .mjs for ESM) with the auto-generated mapped type/enum value settings. */
5
- declare function generateGraphqlCodegen(config: Config, entities: EntityDbMetadata[], enums: EnumMetadata): CodegenFile;
5
+ export declare function generateGraphqlCodegen(config: Config, entities: EntityDbMetadata[], enums: EnumMetadata): CodegenFile;
6
6
  //#endregion
7
- export { generateGraphqlCodegen };
8
7
  //# sourceMappingURL=generateGraphqlCodegen.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateGraphqlCodegen.d.mts","names":[],"sources":["../src/generateGraphqlCodegen.ts"],"mappings":";;;;iBAMgB,uBAAuB,QAAQ,QAAQ,UAAU,oBAAoB,OAAO,eAAe"}
1
+ {"version":3,"file":"generateGraphqlCodegen.d.mts","names":[],"sources":["../src/generateGraphqlCodegen.ts"],"mappings":";;;;wBAMgB,uBAAuB,QAAQ,QAAQ,UAAU,oBAAoB,OAAO,eAAe"}
@@ -9,7 +9,6 @@ import { Config, DbMetadata } from "joist-codegen";
9
9
  * and will only do them once, which allows programmers to manually add/edit/remove fields
10
10
  * without this stomping over their changes.
11
11
  */
12
- declare function generateGraphqlSchemaFiles(config: Config, fs: Fs, dbMeta: DbMetadata): Promise<void>;
12
+ export declare function generateGraphqlSchemaFiles(config: Config, fs: Fs, dbMeta: DbMetadata): Promise<void>;
13
13
  //#endregion
14
- export { generateGraphqlSchemaFiles };
15
14
  //# sourceMappingURL=generateGraphqlSchemaFiles.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateGraphqlSchemaFiles.d.cts","names":[],"sources":["../src/generateGraphqlSchemaFiles.ts"],"mappings":";;;;;;;;;;;iBAiBsB,2BAA2B,QAAQ,QAAQ,IAAI,IAAI,QAAQ,aAAa"}
1
+ {"version":3,"file":"generateGraphqlSchemaFiles.d.cts","names":[],"sources":["../src/generateGraphqlSchemaFiles.ts"],"mappings":";;;;;;;;;;;wBAiBsB,2BAA2B,QAAQ,QAAQ,IAAI,IAAI,QAAQ,aAAa"}
@@ -9,7 +9,6 @@ import { Config, DbMetadata } from "joist-codegen";
9
9
  * and will only do them once, which allows programmers to manually add/edit/remove fields
10
10
  * without this stomping over their changes.
11
11
  */
12
- declare function generateGraphqlSchemaFiles(config: Config, fs: Fs, dbMeta: DbMetadata): Promise<void>;
12
+ export declare function generateGraphqlSchemaFiles(config: Config, fs: Fs, dbMeta: DbMetadata): Promise<void>;
13
13
  //#endregion
14
- export { generateGraphqlSchemaFiles };
15
14
  //# sourceMappingURL=generateGraphqlSchemaFiles.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateGraphqlSchemaFiles.d.mts","names":[],"sources":["../src/generateGraphqlSchemaFiles.ts"],"mappings":";;;;;;;;;;;iBAiBsB,2BAA2B,QAAQ,QAAQ,IAAI,IAAI,QAAQ,aAAa"}
1
+ {"version":3,"file":"generateGraphqlSchemaFiles.d.mts","names":[],"sources":["../src/generateGraphqlSchemaFiles.ts"],"mappings":";;;;;;;;;;;wBAiBsB,2BAA2B,QAAQ,QAAQ,IAAI,IAAI,QAAQ,aAAa"}
@@ -11,7 +11,6 @@ import { CodegenFile } from "ts-poet";
11
11
  *
12
12
  * [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
13
13
  */
14
- declare function generateObjectResolvers(config: Config, entities: EntityDbMetadata[]): CodegenFile[];
14
+ export declare function generateObjectResolvers(config: Config, entities: EntityDbMetadata[]): CodegenFile[];
15
15
  //#endregion
16
- export { generateObjectResolvers };
17
16
  //# sourceMappingURL=generateObjectResolvers.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateObjectResolvers.d.cts","names":[],"sources":["../src/generateObjectResolvers.ts"],"mappings":";;;;;;;;;;;;;iBAoBgB,wBAAwB,QAAQ,QAAQ,UAAU,qBAAqB"}
1
+ {"version":3,"file":"generateObjectResolvers.d.cts","names":[],"sources":["../src/generateObjectResolvers.ts"],"mappings":";;;;;;;;;;;;;wBAoBgB,wBAAwB,QAAQ,QAAQ,UAAU,qBAAqB"}
@@ -11,7 +11,6 @@ import { CodegenFile } from "ts-poet";
11
11
  *
12
12
  * [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
13
13
  */
14
- declare function generateObjectResolvers(config: Config, entities: EntityDbMetadata[]): CodegenFile[];
14
+ export declare function generateObjectResolvers(config: Config, entities: EntityDbMetadata[]): CodegenFile[];
15
15
  //#endregion
16
- export { generateObjectResolvers };
17
16
  //# sourceMappingURL=generateObjectResolvers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateObjectResolvers.d.mts","names":[],"sources":["../src/generateObjectResolvers.ts"],"mappings":";;;;;;;;;;;;;iBAoBgB,wBAAwB,QAAQ,QAAQ,UAAU,qBAAqB"}
1
+ {"version":3,"file":"generateObjectResolvers.d.mts","names":[],"sources":["../src/generateObjectResolvers.ts"],"mappings":";;;;;;;;;;;;;wBAoBgB,wBAAwB,QAAQ,QAAQ,UAAU,qBAAqB"}
@@ -2,7 +2,6 @@ import { Config, DbMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateQueryPageResolvers.d.ts
4
4
  /** Generates paginated top-level query resolvers. */
5
- declare function generateQueryPageResolvers(config: Config, db: DbMetadata): CodegenFile[];
5
+ export declare function generateQueryPageResolvers(config: Config, db: DbMetadata): CodegenFile[];
6
6
  //#endregion
7
- export { generateQueryPageResolvers };
8
7
  //# sourceMappingURL=generateQueryPageResolvers.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateQueryPageResolvers.d.cts","names":[],"sources":["../src/generateQueryPageResolvers.ts"],"mappings":";;;;iBAWgB,2BAA2B,QAAQ,QAAQ,IAAI,aAAa"}
1
+ {"version":3,"file":"generateQueryPageResolvers.d.cts","names":[],"sources":["../src/generateQueryPageResolvers.ts"],"mappings":";;;;wBAWgB,2BAA2B,QAAQ,QAAQ,IAAI,aAAa"}
@@ -2,7 +2,6 @@ import { Config, DbMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateQueryPageResolvers.d.ts
4
4
  /** Generates paginated top-level query resolvers. */
5
- declare function generateQueryPageResolvers(config: Config, db: DbMetadata): CodegenFile[];
5
+ export declare function generateQueryPageResolvers(config: Config, db: DbMetadata): CodegenFile[];
6
6
  //#endregion
7
- export { generateQueryPageResolvers };
8
7
  //# sourceMappingURL=generateQueryPageResolvers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateQueryPageResolvers.d.mts","names":[],"sources":["../src/generateQueryPageResolvers.ts"],"mappings":";;;;iBAWgB,2BAA2B,QAAQ,QAAQ,IAAI,aAAa"}
1
+ {"version":3,"file":"generateQueryPageResolvers.d.mts","names":[],"sources":["../src/generateQueryPageResolvers.ts"],"mappings":";;;;wBAWgB,2BAA2B,QAAQ,QAAQ,IAAI,aAAa"}
@@ -4,7 +4,6 @@ import { CodegenFile } from "ts-poet";
4
4
  /**
5
5
  * Generates top-level query resolvers.
6
6
  */
7
- declare function generateQueryResolvers(config: Config, db: DbMetadata): CodegenFile[];
7
+ export declare function generateQueryResolvers(config: Config, db: DbMetadata): CodegenFile[];
8
8
  //#endregion
9
- export { generateQueryResolvers };
10
9
  //# sourceMappingURL=generateQueryResolvers.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateQueryResolvers.d.cts","names":[],"sources":["../src/generateQueryResolvers.ts"],"mappings":";;;;;;iBAYgB,uBAAuB,QAAQ,QAAQ,IAAI,aAAa"}
1
+ {"version":3,"file":"generateQueryResolvers.d.cts","names":[],"sources":["../src/generateQueryResolvers.ts"],"mappings":";;;;;;wBAYgB,uBAAuB,QAAQ,QAAQ,IAAI,aAAa"}
@@ -4,7 +4,6 @@ import { CodegenFile } from "ts-poet";
4
4
  /**
5
5
  * Generates top-level query resolvers.
6
6
  */
7
- declare function generateQueryResolvers(config: Config, db: DbMetadata): CodegenFile[];
7
+ export declare function generateQueryResolvers(config: Config, db: DbMetadata): CodegenFile[];
8
8
  //#endregion
9
- export { generateQueryResolvers };
10
9
  //# sourceMappingURL=generateQueryResolvers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateQueryResolvers.d.mts","names":[],"sources":["../src/generateQueryResolvers.ts"],"mappings":";;;;;;iBAYgB,uBAAuB,QAAQ,QAAQ,IAAI,aAAa"}
1
+ {"version":3,"file":"generateQueryResolvers.d.mts","names":[],"sources":["../src/generateQueryResolvers.ts"],"mappings":";;;;;;wBAYgB,uBAAuB,QAAQ,QAAQ,IAAI,aAAa"}
@@ -2,7 +2,6 @@ import { Config } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateResolverUtils.d.ts
4
4
  /** Generates project-level resolver utility exports. */
5
- declare function generateResolverUtils(config: Config): CodegenFile[];
5
+ export declare function generateResolverUtils(config: Config): CodegenFile[];
6
6
  //#endregion
7
- export { generateResolverUtils };
8
7
  //# sourceMappingURL=generateResolverUtils.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateResolverUtils.d.cts","names":[],"sources":["../src/generateResolverUtils.ts"],"mappings":";;;;iBAIgB,sBAAsB,QAAQ,SAAS"}
1
+ {"version":3,"file":"generateResolverUtils.d.cts","names":[],"sources":["../src/generateResolverUtils.ts"],"mappings":";;;;wBAIgB,sBAAsB,QAAQ,SAAS"}
@@ -2,7 +2,6 @@ import { Config } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/generateResolverUtils.d.ts
4
4
  /** Generates project-level resolver utility exports. */
5
- declare function generateResolverUtils(config: Config): CodegenFile[];
5
+ export declare function generateResolverUtils(config: Config): CodegenFile[];
6
6
  //#endregion
7
- export { generateResolverUtils };
8
7
  //# sourceMappingURL=generateResolverUtils.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateResolverUtils.d.mts","names":[],"sources":["../src/generateResolverUtils.ts"],"mappings":";;;;iBAIgB,sBAAsB,QAAQ,SAAS"}
1
+ {"version":3,"file":"generateResolverUtils.d.mts","names":[],"sources":["../src/generateResolverUtils.ts"],"mappings":";;;;wBAIgB,sBAAsB,QAAQ,SAAS"}
@@ -11,7 +11,6 @@ import { CodegenFile } from "ts-poet";
11
11
  *
12
12
  * [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
13
13
  */
14
- declare function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[];
14
+ export declare function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[];
15
15
  //#endregion
16
- export { generateSaveResolvers };
17
16
  //# sourceMappingURL=generateSaveResolvers.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateSaveResolvers.d.cts","names":[],"sources":["../src/generateSaveResolvers.ts"],"mappings":";;;;;;;;;;;;;iBAoBgB,sBAAsB,QAAQ,QAAQ,IAAI,aAAa"}
1
+ {"version":3,"file":"generateSaveResolvers.d.cts","names":[],"sources":["../src/generateSaveResolvers.ts"],"mappings":";;;;;;;;;;;;;wBAoBgB,sBAAsB,QAAQ,QAAQ,IAAI,aAAa"}
@@ -11,7 +11,6 @@ import { CodegenFile } from "ts-poet";
11
11
  *
12
12
  * [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
13
13
  */
14
- declare function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[];
14
+ export declare function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[];
15
15
  //#endregion
16
- export { generateSaveResolvers };
17
16
  //# sourceMappingURL=generateSaveResolvers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateSaveResolvers.d.mts","names":[],"sources":["../src/generateSaveResolvers.ts"],"mappings":";;;;;;;;;;;;;iBAoBgB,sBAAsB,QAAQ,QAAQ,IAAI,aAAa"}
1
+ {"version":3,"file":"generateSaveResolvers.d.mts","names":[],"sources":["../src/generateSaveResolvers.ts"],"mappings":";;;;;;;;;;;;;wBAoBgB,sBAAsB,QAAQ,QAAQ,IAAI,aAAa"}
@@ -3,7 +3,7 @@ import { PrimitiveField, PrimitiveTypescriptType } from "joist-codegen";
3
3
  import { Code, Import } from "ts-poet";
4
4
  //#region src/graphqlUtils.d.ts
5
5
  /** A type for the fields we want to add to `*.graphql` files. */
6
- type GqlField = {
6
+ export type GqlField = {
7
7
  file: string;
8
8
  objectType: "input" | "output";
9
9
  objectName: string;
@@ -12,20 +12,19 @@ type GqlField = {
12
12
  argsString?: string;
13
13
  extends?: boolean;
14
14
  };
15
- type GqlUnion = {
15
+ export type GqlUnion = {
16
16
  file: string;
17
17
  objectName: string;
18
18
  objectType: "union";
19
19
  types: string[];
20
20
  };
21
- type GqlEntry = GqlField | GqlUnion;
21
+ export type GqlEntry = GqlField | GqlUnion;
22
22
  /** Given a `file` and `fields` to go in it (for potentially different objects), upserts into the existing types. */
23
- declare function upsertIntoFile(fs: Fs, file: string, fields: GqlEntry[]): Promise<void>;
24
- declare function formatGraphQL(content: string): Promise<string>;
25
- type GraphQLType = "BigInt" | "Boolean" | "String" | "Int" | "Date" | "DateTime" | string;
26
- type SupportedTypescriptTypes = Exclude<PrimitiveTypescriptType, "Object" | Import>;
27
- declare function mapTypescriptTypeToGraphQLType(fieldName: string, type: PrimitiveTypescriptType | Import | Code): GraphQLType | undefined;
28
- declare function isJsonbColumn(p: PrimitiveField): boolean;
23
+ export declare function upsertIntoFile(fs: Fs, file: string, fields: GqlEntry[]): Promise<void>;
24
+ export declare function formatGraphQL(content: string): Promise<string>;
25
+ export type GraphQLType = "BigInt" | "Boolean" | "String" | "Int" | "Date" | "DateTime" | string;
26
+ export type SupportedTypescriptTypes = Exclude<PrimitiveTypescriptType, "Object" | Import>;
27
+ export declare function mapTypescriptTypeToGraphQLType(fieldName: string, type: PrimitiveTypescriptType | Import | Code): GraphQLType | undefined;
28
+ export declare function isJsonbColumn(p: PrimitiveField): boolean;
29
29
  //#endregion
30
- export { GqlEntry, GqlField, GqlUnion, GraphQLType, SupportedTypescriptTypes, formatGraphQL, isJsonbColumn, mapTypescriptTypeToGraphQLType, upsertIntoFile };
31
30
  //# sourceMappingURL=graphqlUtils.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlUtils.d.cts","names":[],"sources":["../src/graphqlUtils.ts"],"mappings":";;;;;KAkBY;EACV;EACA;EACA;EACA;EACA;EAEA;EACA;;KAGU;EAAa;EAAc;EAAoB;EAAqB;;KAEpE,WAAW,WAAW;;iBAGZ,eAAe,IAAI,IAAI,cAAc,QAAQ,aAAa;iBAyB1D,cAAc,kBAAkB;KA+J1C;KAEA,2BAA2B,QAAQ,oCAAoC;iBAEnE,+BACd,mBACA,MAAM,0BAA0B,SAAS,OACxC;iBAoCa,cAAc,GAAG"}
1
+ {"version":3,"file":"graphqlUtils.d.cts","names":[],"sources":["../src/graphqlUtils.ts"],"mappings":";;;;;YAkBY;EACV;EACA;EACA;EACA;EACA;EAEA;EACA;;YAGU;EAAa;EAAc;EAAoB;EAAqB;;YAEpE,WAAW,WAAW;;wBAGZ,eAAe,IAAI,IAAI,cAAc,QAAQ,aAAa;wBAyB1D,cAAc,kBAAkB;YA+J1C;YAEA,2BAA2B,QAAQ,oCAAoC;wBAEnE,+BACd,mBACA,MAAM,0BAA0B,SAAS,OACxC;wBAoCa,cAAc,GAAG"}
@@ -3,7 +3,7 @@ import { PrimitiveField, PrimitiveTypescriptType } from "joist-codegen";
3
3
  import { Code, Import } from "ts-poet";
4
4
  //#region src/graphqlUtils.d.ts
5
5
  /** A type for the fields we want to add to `*.graphql` files. */
6
- type GqlField = {
6
+ export type GqlField = {
7
7
  file: string;
8
8
  objectType: "input" | "output";
9
9
  objectName: string;
@@ -12,20 +12,19 @@ type GqlField = {
12
12
  argsString?: string;
13
13
  extends?: boolean;
14
14
  };
15
- type GqlUnion = {
15
+ export type GqlUnion = {
16
16
  file: string;
17
17
  objectName: string;
18
18
  objectType: "union";
19
19
  types: string[];
20
20
  };
21
- type GqlEntry = GqlField | GqlUnion;
21
+ export type GqlEntry = GqlField | GqlUnion;
22
22
  /** Given a `file` and `fields` to go in it (for potentially different objects), upserts into the existing types. */
23
- declare function upsertIntoFile(fs: Fs, file: string, fields: GqlEntry[]): Promise<void>;
24
- declare function formatGraphQL(content: string): Promise<string>;
25
- type GraphQLType = "BigInt" | "Boolean" | "String" | "Int" | "Date" | "DateTime" | string;
26
- type SupportedTypescriptTypes = Exclude<PrimitiveTypescriptType, "Object" | Import>;
27
- declare function mapTypescriptTypeToGraphQLType(fieldName: string, type: PrimitiveTypescriptType | Import | Code): GraphQLType | undefined;
28
- declare function isJsonbColumn(p: PrimitiveField): boolean;
23
+ export declare function upsertIntoFile(fs: Fs, file: string, fields: GqlEntry[]): Promise<void>;
24
+ export declare function formatGraphQL(content: string): Promise<string>;
25
+ export type GraphQLType = "BigInt" | "Boolean" | "String" | "Int" | "Date" | "DateTime" | string;
26
+ export type SupportedTypescriptTypes = Exclude<PrimitiveTypescriptType, "Object" | Import>;
27
+ export declare function mapTypescriptTypeToGraphQLType(fieldName: string, type: PrimitiveTypescriptType | Import | Code): GraphQLType | undefined;
28
+ export declare function isJsonbColumn(p: PrimitiveField): boolean;
29
29
  //#endregion
30
- export { GqlEntry, GqlField, GqlUnion, GraphQLType, SupportedTypescriptTypes, formatGraphQL, isJsonbColumn, mapTypescriptTypeToGraphQLType, upsertIntoFile };
31
30
  //# sourceMappingURL=graphqlUtils.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlUtils.d.mts","names":[],"sources":["../src/graphqlUtils.ts"],"mappings":";;;;;KAkBY;EACV;EACA;EACA;EACA;EACA;EAEA;EACA;;KAGU;EAAa;EAAc;EAAoB;EAAqB;;KAEpE,WAAW,WAAW;;iBAGZ,eAAe,IAAI,IAAI,cAAc,QAAQ,aAAa;iBAyB1D,cAAc,kBAAkB;KA+J1C;KAEA,2BAA2B,QAAQ,oCAAoC;iBAEnE,+BACd,mBACA,MAAM,0BAA0B,SAAS,OACxC;iBAoCa,cAAc,GAAG"}
1
+ {"version":3,"file":"graphqlUtils.d.mts","names":[],"sources":["../src/graphqlUtils.ts"],"mappings":";;;;;YAkBY;EACV;EACA;EACA;EACA;EACA;EAEA;EACA;;YAGU;EAAa;EAAc;EAAoB;EAAqB;;YAEpE,WAAW,WAAW;;wBAGZ,eAAe,IAAI,IAAI,cAAc,QAAQ,aAAa;wBAyB1D,cAAc,kBAAkB;YA+J1C;YAEA,2BAA2B,QAAQ,oCAAoC;wBAEnE,+BACd,mBACA,MAAM,0BAA0B,SAAS,OACxC;wBAoCa,cAAc,GAAG"}
@@ -1,9 +1,8 @@
1
1
  import { Fs } from "./utils.cjs";
2
2
  //#region src/history.d.ts
3
3
  /** A map from GraphQL object type name -> its field names that have already been scaffolded. */
4
- type History = Record<string, string[]>;
5
- declare function loadHistory(fs: Fs): Promise<History>;
6
- declare function writeHistory(fs: Fs, history: History): Promise<void>;
4
+ export type History = Record<string, string[]>;
5
+ export declare function loadHistory(fs: Fs): Promise<History>;
6
+ export declare function writeHistory(fs: Fs, history: History): Promise<void>;
7
7
  //#endregion
8
- export { History, loadHistory, writeHistory };
9
8
  //# sourceMappingURL=history.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.cts","names":[],"sources":["../src/history.ts"],"mappings":";;;KAQY,UAAU;iBAKA,YAAY,IAAI,KAAK,QAAQ;iBAK7B,aAAa,IAAI,IAAI,SAAS,UAAU"}
1
+ {"version":3,"file":"history.d.cts","names":[],"sources":["../src/history.ts"],"mappings":";;;YAQY,UAAU;wBAKA,YAAY,IAAI,KAAK,QAAQ;wBAK7B,aAAa,IAAI,IAAI,SAAS,UAAU"}
@@ -1,9 +1,8 @@
1
1
  import { Fs } from "./utils.mjs";
2
2
  //#region src/history.d.ts
3
3
  /** A map from GraphQL object type name -> its field names that have already been scaffolded. */
4
- type History = Record<string, string[]>;
5
- declare function loadHistory(fs: Fs): Promise<History>;
6
- declare function writeHistory(fs: Fs, history: History): Promise<void>;
4
+ export type History = Record<string, string[]>;
5
+ export declare function loadHistory(fs: Fs): Promise<History>;
6
+ export declare function writeHistory(fs: Fs, history: History): Promise<void>;
7
7
  //#endregion
8
- export { History, loadHistory, writeHistory };
9
8
  //# sourceMappingURL=history.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.mts","names":[],"sources":["../src/history.ts"],"mappings":";;;KAQY,UAAU;iBAKA,YAAY,IAAI,KAAK,QAAQ;iBAK7B,aAAa,IAAI,IAAI,SAAS,UAAU"}
1
+ {"version":3,"file":"history.d.mts","names":[],"sources":["../src/history.ts"],"mappings":";;;YAQY,UAAU;wBAKA,YAAY,IAAI,KAAK,QAAQ;wBAK7B,aAAa,IAAI,IAAI,SAAS,UAAU"}
package/build/index.d.cts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { Config, DbMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/index.d.ts
4
- declare function run(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
4
+ export declare function run(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
5
5
  //#endregion
6
- export { run };
7
6
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;iBAesB,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;wBAesB,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
package/build/index.d.mts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { Config, DbMetadata } from "joist-codegen";
2
2
  import { CodegenFile } from "ts-poet";
3
3
  //#region src/index.d.ts
4
- declare function run(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
4
+ export declare function run(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
5
5
  //#endregion
6
- export { run };
7
6
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;iBAesB,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;wBAesB,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
@@ -124,6 +124,7 @@ function newEnumField(fieldName, opts = {}) {
124
124
  enumRows: [],
125
125
  isArray: false,
126
126
  hasConfigDefault: false,
127
+ hasTransitions: false,
127
128
  ...opts
128
129
  };
129
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.cjs","names":["keyBy","makeEntity","snakeCase","imp","pascalCase","getImportExtension"],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n ignoredColumns: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.cjs","names":["keyBy","makeEntity","snakeCase","imp","pascalCase","getImportExtension"],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n ignoredColumns: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n hasTransitions: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":";;;;;;;;;;AAiBA,MAAM,EAAE,WAAW,UAAA;AAEnB,SAAgB,MAAM,OAAmC;CACvD,OAAO;EACL,QAAQ,OAAO,aAAa,CAAC,CAAC,MAAM;EACpC,MAAM,OAAO,aAAa,MAAM;EAChC,MAAM,OAAO,UAAU,YAAY;GACjC,MAAM,YAAY;EACpB;CACF;AACF;AAEA,SAAgB,UAAU,KAA2D;CACnF,MAAM,WAAW,MAAM,QAAQ,GAAG,IAAI,MAAO,IAAI,YAAY,CAAC;CAC9D,MAAM,kBAAA,GAAiBA,YAAAA,MAAAA,CAAM,UAAU,MAAM;CAE7C,KAAK,MAAM,UAAU,UACnB,IAAI,OAAO,eAAe;EACxB,MAAM,WAAW,eAAe,OAAO;EACvC,OAAO,WAAW;EAClB,SAAS,SAAS,KAAK,MAAM;CAC/B;CAEF,OAAO;EACL;EACA,OAAO,CAAC;EACR,SAAS,CAAC;EACV,YAAY,CAAC;EACb,aAAa,CAAC;EACd,aAAa;EACb;CACF;AACF;AAEA,SAAgB,kBAAkB,WAAmB,OAAgC,CAAC,GAAmB;CACvG,OAAO;EACL,MAAM;EACN,cAAA,GAAaC,cAAAA,WAAAA,CAAW,QAAQ;EAChC;EACA,aAAA,GAAYC,YAAAA,UAAAA,CAAU,SAAS;EAC/B,iBAAiB;EACjB,YAAY;EACZ,WAAW;EACX,cAAc;EACd,SAAS;EACT,SAAS;EACT,WAAW;EACX,QAAQ;EACR,eAAe;EACf,eAAe,KAAK,WAAW;EAC/B,aAAa,KAAA;EACb,WAAW,KAAA;EACX,aAAa,KAAA;EACb,SAAS;EACT,kBAAkB;EAClB,GAAG;CACL;AACF;AAEA,SAAgB,kBAAkB,MAAc,OAAkC,CAAC,GAAqB;CACtG,OAAO;EACL;EACA,SAAA,GAAQD,cAAAA,WAAAA,CAAW,IAAI;EACvB,YAAY,kBAAkB,MAAM;GAAE,YAAY;GAAO,WAAW;GAAU,cAAc;EAAS,CAAC;EACtG,YAAY,CAAC;EACb,gBAAgB,CAAC;EACjB,OAAO,CAAC;EACR,SAAS,CAAC;EACV,YAAY,CAAC;EACb,YAAY,CAAC;EACb,iBAAiB,CAAC;EAClB,aAAa,CAAC;EACd,kBAAkB,CAAC;EACnB,iBAAiB,CAAC;EAClB,WAAW,CAAC;EACZ,cAAc,CAAC;EACf,YAAA,GAAWC,YAAAA,UAAAA,CAAU,OAAO,IAAI,CAAC;EACjC,SAAS;EACT,WAAW,KAAA;EACX,WAAW,KAAA;EACX,WAAW,KAAA;EACX,eAAe,KAAA;EACf,UAAU,KAAA;EACV,UAAU,CAAC;EACX,iBAAiB,KAAA;EACjB,UAAU;EACV,oBAAoB;EACpB,IAAI,iBAAiB;GACnB,OAAO,CAAC;EACV;EACA,IAAI,2BAA2B;GAC7B,OAAO,CAAC;EACV;EACA,GAAG;CACL;AACF;AAEA,SAAgB,aAAa,WAAmB,OAA2B,CAAC,GAAc;CACxF,MAAM,WAAW,KAAK,YAAY;CAClC,MAAM,YAAA,GAAWC,QAAAA,IAAAA,CAAI,GAAG,SAAS,YAAY;CAC7C,MAAM,kBAAA,GAAiBA,QAAAA,IAAAA,CAAI,GAAG,OAAO,QAAQ,EAAE,YAAY;CAC3D,MAAM,mBAAA,GAAkBA,QAAAA,IAAAA,CAAI,GAAG,SAAS,mBAAmB;CAC3D,OAAO;EACL,MAAM;EACN,cAAA,GAAaF,cAAAA,WAAAA,CAAW,QAAQ;EAChC;EACA,aAAA,GAAYC,YAAAA,UAAAA,CAAU,SAAS;EAC/B,iBAAiB;EACjB,YAAY;EACZ,eAAe;EACf,eAAe,KAAK,WAAW;EAC/B,SAAS;EACT;EACA;EACA;EACA;EACA,SAAS;EACT,UAAU,CAAC;EACX,SAAS;EACT,kBAAkB;EAClB,gBAAgB;EAChB,GAAG;CACL;AACF;AAEA,SAAgB,kBACd,WACA,aACA,OAAgC,CAAC,GACjB;CAChB,OAAO;EACL,MAAM;EACN,cAAA,GAAaD,cAAAA,WAAAA,CAAW,QAAQ;EAChC;EACA,aAAA,GAAYC,YAAAA,UAAAA,CAAU,SAAS;EAC/B,iBAAiB;EACjB,eAAe,KAAK,WAAW;EAC/B,SAAS;EACT,SAAS;EACT,kBAAkB;EAClB,QAAQ;EACR,gBAAgB,QAAQ;EACxB,cAAA,GAAaD,cAAAA,WAAAA,CAAW,WAAW;EACnC,yBAAyB;EACzB,gBAAgB;EAChB,UAAU;EACV,GAAG;CACL;AACF;;AAGA,SAAgB,oBACd,WACA,YACA,OAAkC,CAAC,GACjB;CAClB,OAAO;EACL,MAAM;EACN;EACA,WAAW,IAAA,GAAGG,YAAAA,WAAAA,CAAW,SAAS,EAAE;EACpC,SAAS;EACT,kBAAkB;EAClB,YAAY,WAAW,KAAK,eAAe;GACzC,YAAY,IAAA,GAAGF,YAAAA,UAAAA,CAAU,SAAS,EAAE,IAAA,GAAGA,YAAAA,UAAAA,CAAU,SAAS,EAAE;GAC5D,cAAA,GAAaD,cAAAA,WAAAA,CAAW,QAAQ;GAChC,gBAAgB;GAChB,cAAA,GAAaA,cAAAA,WAAAA,CAAW,SAAS;GACjC,yBAAyB;GACzB,gBAAgB;GAChB,SAAS;EACX,EAAE;EACF,GAAG;CACL;AACF;;;;;AAMA,SAAgB,kBAAkB,MAAmB,QAAwB;CAC3E,MAAM,SAASI,cAAAA,mBAAmB,MAAM;CACxC,IAAI,OAAO,KAAK,aAAa,UAC3B,OAAO,KAAK;CAEd,OAAO,KAAK,SAAS,SAAS;EAC5B,MAAM,KAAK;EACX,kBAAkB,UAAU;CAC9B,CAAC;AACH"}
@@ -2,19 +2,18 @@ import { Fs } from "./utils.cjs";
2
2
  import { Config, DbMetadata, EntityDbMetadata, EnumField, ManyToOneField, PolymorphicField, PrimitiveField } from "joist-codegen";
3
3
  import { CodegenFile } from "ts-poet";
4
4
  //#region src/testUtils.d.ts
5
- declare function newFs(files: Record<string, string>): Fs;
6
- declare function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata;
7
- declare function newPrimitiveField(fieldName: string, opts?: Partial<PrimitiveField>): PrimitiveField;
8
- declare function newEntityMetadata(name: string, opts?: Partial<EntityDbMetadata>): EntityDbMetadata;
9
- declare function newEnumField(fieldName: string, opts?: Partial<EnumField>): EnumField;
10
- declare function newManyToOneField(fieldName: string, otherEntity: string, opts?: Partial<ManyToOneField>): ManyToOneField;
5
+ export declare function newFs(files: Record<string, string>): Fs;
6
+ export declare function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata;
7
+ export declare function newPrimitiveField(fieldName: string, opts?: Partial<PrimitiveField>): PrimitiveField;
8
+ export declare function newEntityMetadata(name: string, opts?: Partial<EntityDbMetadata>): EntityDbMetadata;
9
+ export declare function newEnumField(fieldName: string, opts?: Partial<EnumField>): EnumField;
10
+ export declare function newManyToOneField(fieldName: string, otherEntity: string, opts?: Partial<ManyToOneField>): ManyToOneField;
11
11
  /** Creates a polymorphic field for tests. */
12
- declare function newPolymorphicField(fieldName: string, components: string[], opts?: Partial<PolymorphicField>): PolymorphicField;
12
+ export declare function newPolymorphicField(fieldName: string, components: string[], opts?: Partial<PolymorphicField>): PolymorphicField;
13
13
  /**
14
14
  * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.
15
15
  * This reproduces the same logic used in production when saving files.
16
16
  */
17
- declare function renderCodegenFile(file: CodegenFile, config: Config): string;
17
+ export declare function renderCodegenFile(file: CodegenFile, config: Config): string;
18
18
  //#endregion
19
- export { newDbMeta, newEntityMetadata, newEnumField, newFs, newManyToOneField, newPolymorphicField, newPrimitiveField, renderCodegenFile };
20
19
  //# sourceMappingURL=testUtils.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.cts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;iBAmBgB,MAAM,OAAO,yBAAyB;iBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;iBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;iBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAsCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA2BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
1
+ {"version":3,"file":"testUtils.d.cts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;wBAmBgB,MAAM,OAAO,yBAAyB;wBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;wBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;wBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;wBAsCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;wBA4BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;wBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;wBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
@@ -2,19 +2,18 @@ import { Fs } from "./utils.mjs";
2
2
  import { Config, DbMetadata, EntityDbMetadata, EnumField, ManyToOneField, PolymorphicField, PrimitiveField } from "joist-codegen";
3
3
  import { CodegenFile } from "ts-poet";
4
4
  //#region src/testUtils.d.ts
5
- declare function newFs(files: Record<string, string>): Fs;
6
- declare function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata;
7
- declare function newPrimitiveField(fieldName: string, opts?: Partial<PrimitiveField>): PrimitiveField;
8
- declare function newEntityMetadata(name: string, opts?: Partial<EntityDbMetadata>): EntityDbMetadata;
9
- declare function newEnumField(fieldName: string, opts?: Partial<EnumField>): EnumField;
10
- declare function newManyToOneField(fieldName: string, otherEntity: string, opts?: Partial<ManyToOneField>): ManyToOneField;
5
+ export declare function newFs(files: Record<string, string>): Fs;
6
+ export declare function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata;
7
+ export declare function newPrimitiveField(fieldName: string, opts?: Partial<PrimitiveField>): PrimitiveField;
8
+ export declare function newEntityMetadata(name: string, opts?: Partial<EntityDbMetadata>): EntityDbMetadata;
9
+ export declare function newEnumField(fieldName: string, opts?: Partial<EnumField>): EnumField;
10
+ export declare function newManyToOneField(fieldName: string, otherEntity: string, opts?: Partial<ManyToOneField>): ManyToOneField;
11
11
  /** Creates a polymorphic field for tests. */
12
- declare function newPolymorphicField(fieldName: string, components: string[], opts?: Partial<PolymorphicField>): PolymorphicField;
12
+ export declare function newPolymorphicField(fieldName: string, components: string[], opts?: Partial<PolymorphicField>): PolymorphicField;
13
13
  /**
14
14
  * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.
15
15
  * This reproduces the same logic used in production when saving files.
16
16
  */
17
- declare function renderCodegenFile(file: CodegenFile, config: Config): string;
17
+ export declare function renderCodegenFile(file: CodegenFile, config: Config): string;
18
18
  //#endregion
19
- export { newDbMeta, newEntityMetadata, newEnumField, newFs, newManyToOneField, newPolymorphicField, newPrimitiveField, renderCodegenFile };
20
19
  //# sourceMappingURL=testUtils.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.mts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;iBAmBgB,MAAM,OAAO,yBAAyB;iBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;iBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;iBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;iBAsCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;iBA2BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;iBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;iBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
1
+ {"version":3,"file":"testUtils.d.mts","names":[],"sources":["../src/testUtils.ts"],"mappings":";;;;wBAmBgB,MAAM,OAAO,yBAAyB;wBAUtC,UAAU,KAAK,qBAAqB,QAAQ,cAAc;wBAsB1D,kBAAkB,mBAAmB,OAAM,QAAQ,kBAAuB;wBAyB1E,kBAAkB,cAAc,OAAM,QAAQ,oBAAyB;wBAsCvE,aAAa,mBAAmB,OAAM,QAAQ,aAAkB;wBA4BhE,kBACd,mBACA,qBACA,OAAM,QAAQ,kBACb;;wBAsBa,oBACd,mBACA,sBACA,OAAM,QAAQ,oBACb;;;;;wBAwBa,kBAAkB,MAAM,aAAa,QAAQ"}
@@ -121,6 +121,7 @@ function newEnumField(fieldName, opts = {}) {
121
121
  enumRows: [],
122
122
  isArray: false,
123
123
  hasConfigDefault: false,
124
+ hasTransitions: false,
124
125
  ...opts
125
126
  };
126
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","names":[],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n ignoredColumns: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.js","names":[],"sources":["../src/testUtils.ts"],"sourcesContent":["import { pascalCase, snakeCase } from \"change-case\";\nimport {\n type Config,\n type DbMetadata,\n type EntityDbMetadata,\n type EnumField,\n type ManyToOneField,\n type PolymorphicField,\n type PrimitiveField,\n makeEntity,\n} from \"joist-codegen\";\nimport { keyBy } from \"joist-utils\";\nimport pluralize from \"pluralize\";\nimport { type CodegenFile, imp } from \"ts-poet\";\n\nimport { type Fs, getImportExtension } from \"./utils.ts\";\n\nconst { plural } = pluralize;\n\nexport function newFs(files: Record<string, string>): Fs {\n return {\n exists: async (fileName) => !!files[fileName],\n load: async (fileName) => files[fileName],\n save: async (fileName, content) => {\n files[fileName] = content;\n },\n };\n}\n\nexport function newDbMeta(opt: EntityDbMetadata[] | Partial<DbMetadata>): DbMetadata {\n const entities = Array.isArray(opt) ? opt : (opt.entities ?? []);\n const entitiesByName = keyBy(entities, \"name\");\n // Hook up baseType/subTypes\n for (const entity of entities) {\n if (entity.baseClassName) {\n const baseType = entitiesByName[entity.baseClassName];\n entity.baseType = baseType;\n baseType.subTypes.push(entity);\n }\n }\n return {\n entities,\n enums: {},\n pgEnums: {},\n joinTables: [],\n otherTables: [],\n totalTables: 10,\n entitiesByName,\n };\n}\n\nexport function newPrimitiveField(fieldName: string, opts: Partial<PrimitiveField> = {}): PrimitiveField {\n return {\n kind: \"primitive\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"varchar\",\n fieldType: \"string\",\n rawFieldType: \"string\",\n derived: false,\n notNull: true,\n protected: false,\n unique: false,\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n superstruct: undefined,\n zodSchema: undefined,\n customSerde: undefined,\n isArray: false,\n hasConfigDefault: false,\n ...opts,\n };\n}\n\nexport function newEntityMetadata(name: string, opts: Partial<EntityDbMetadata> = {}): EntityDbMetadata {\n return {\n name,\n entity: makeEntity(name),\n primaryKey: newPrimitiveField(\"id\", { columnType: \"int\", fieldType: \"number\", rawFieldType: \"number\" }),\n primitives: [],\n ignoredColumns: [],\n enums: [],\n pgEnums: [],\n manyToOnes: [],\n oneToManys: [],\n largeOneToManys: [],\n manyToManys: [],\n largeManyToManys: [],\n manyToManyEnums: [],\n oneToOnes: [],\n polymorphics: [],\n tableName: snakeCase(plural(name)),\n tagName: name,\n updatedAt: undefined,\n createdAt: undefined,\n deletedAt: undefined,\n baseClassName: undefined,\n baseType: undefined,\n subTypes: [],\n inheritanceType: undefined,\n abstract: false,\n nonDeferredFkOrder: 0,\n get nonDeferredFks() {\n return [];\n },\n get nonDeferredManyToManyFks() {\n return [];\n },\n ...opts,\n };\n}\n\nexport function newEnumField(fieldName: string, opts: Partial<EnumField> = {}): EnumField {\n const enumName = opts.enumName || \"Color\";\n const enumType = imp(`${enumName}@./entities`);\n const enumDetailType = imp(`${plural(enumName)}@./entities`);\n const enumDetailsType = imp(`${enumName}Details@./entities`);\n return {\n kind: \"enum\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnType: \"int\",\n columnDefault: null,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n enumName,\n enumType,\n enumDetailType,\n enumDetailsType,\n notNull: true,\n enumRows: [],\n isArray: false,\n hasConfigDefault: false,\n hasTransitions: false,\n ...opts,\n };\n}\n\nexport function newManyToOneField(\n fieldName: string,\n otherEntity: string,\n opts: Partial<ManyToOneField> = {},\n): ManyToOneField {\n return {\n kind: \"m2o\",\n columnOwner: makeEntity(\"Author\"),\n fieldName,\n columnName: snakeCase(fieldName),\n columnGenerated: false,\n columnNotNull: opts.notNull ?? true,\n derived: false,\n notNull: true,\n hasConfigDefault: false,\n dbType: \"int\",\n otherFieldName: `other${fieldName}`,\n otherEntity: makeEntity(otherEntity),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n onDelete: \"NO ACTION\" as any,\n ...opts,\n };\n}\n\n/** Creates a polymorphic field for tests. */\nexport function newPolymorphicField(\n fieldName: string,\n components: string[],\n opts: Partial<PolymorphicField> = {},\n): PolymorphicField {\n return {\n kind: \"poly\",\n fieldName,\n fieldType: `${pascalCase(fieldName)}Parent`,\n notNull: true,\n hasConfigDefault: false,\n components: components.map((component) => ({\n columnName: `${snakeCase(fieldName)}_${snakeCase(component)}_id`,\n columnOwner: makeEntity(\"Author\"),\n otherFieldName: fieldName,\n otherEntity: makeEntity(component),\n isDeferredAndDeferrable: true,\n constraintName: \"\",\n notNull: false as const,\n })),\n ...opts,\n } satisfies PolymorphicField;\n}\n\n/**\n * Mimics the contentToString flow from packages/codegen/src/index.ts to test import extension handling.\n * This reproduces the same logic used in production when saving files.\n */\nexport function renderCodegenFile(file: CodegenFile, config: Config): string {\n const esmExt = getImportExtension(config);\n if (typeof file.contents === \"string\") {\n return file.contents;\n }\n return file.contents.toString({\n path: file.name,\n importExtensions: esmExt || false,\n });\n}\n"],"mappings":"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"}
package/build/utils.d.cts CHANGED
@@ -1,16 +1,15 @@
1
1
  import { Config } from "joist-codegen";
2
2
  //#region src/utils.d.ts
3
3
  /** A super-simple file system abstraction for testing. */
4
- interface Fs {
4
+ export interface Fs {
5
5
  load(fileName: string): Promise<string | undefined>;
6
6
  save(fileName: string, content: string): Promise<void>;
7
7
  exists(fileName: string): Promise<boolean>;
8
8
  }
9
9
  /** A real implementation of `Fs` that writes to the `prefix` directory. */
10
- declare function newFsImpl(prefix: string): Fs;
11
- declare function sortKeys<T extends object>(o: T): T;
12
- declare function getImportExtension(config: Config): "ts" | "js" | null;
13
- declare function getEntitiesImportPath(config: Config): string;
10
+ export declare function newFsImpl(prefix: string): Fs;
11
+ export declare function sortKeys<T extends object>(o: T): T;
12
+ export declare function getImportExtension(config: Config): "ts" | "js" | null;
13
+ export declare function getEntitiesImportPath(config: Config): string;
14
14
  //#endregion
15
- export { Fs, getEntitiesImportPath, getImportExtension, newFsImpl, sortKeys };
16
15
  //# sourceMappingURL=utils.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.cts","names":[],"sources":["../src/utils.ts"],"mappings":";;;UAOiB;EACf,KAAK,mBAAmB;EACxB,KAAK,kBAAkB,kBAAkB;EACzC,OAAO,mBAAmB;;;iBAIZ,UAAU,iBAAiB;iBA2B3B,SAAS,kBAAkB,GAAG,IAAI;iBAmBlC,mBAAmB,QAAQ;iBAI3B,sBAAsB,QAAQ"}
1
+ {"version":3,"file":"utils.d.cts","names":[],"sources":["../src/utils.ts"],"mappings":";;;iBAOiB;EACf,KAAK,mBAAmB;EACxB,KAAK,kBAAkB,kBAAkB;EACzC,OAAO,mBAAmB;;;wBAIZ,UAAU,iBAAiB;wBA2B3B,SAAS,kBAAkB,GAAG,IAAI;wBAmBlC,mBAAmB,QAAQ;wBAI3B,sBAAsB,QAAQ"}
package/build/utils.d.mts CHANGED
@@ -1,16 +1,15 @@
1
1
  import { Config } from "joist-codegen";
2
2
  //#region src/utils.d.ts
3
3
  /** A super-simple file system abstraction for testing. */
4
- interface Fs {
4
+ export interface Fs {
5
5
  load(fileName: string): Promise<string | undefined>;
6
6
  save(fileName: string, content: string): Promise<void>;
7
7
  exists(fileName: string): Promise<boolean>;
8
8
  }
9
9
  /** A real implementation of `Fs` that writes to the `prefix` directory. */
10
- declare function newFsImpl(prefix: string): Fs;
11
- declare function sortKeys<T extends object>(o: T): T;
12
- declare function getImportExtension(config: Config): "ts" | "js" | null;
13
- declare function getEntitiesImportPath(config: Config): string;
10
+ export declare function newFsImpl(prefix: string): Fs;
11
+ export declare function sortKeys<T extends object>(o: T): T;
12
+ export declare function getImportExtension(config: Config): "ts" | "js" | null;
13
+ export declare function getEntitiesImportPath(config: Config): string;
14
14
  //#endregion
15
- export { Fs, getEntitiesImportPath, getImportExtension, newFsImpl, sortKeys };
16
15
  //# sourceMappingURL=utils.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.mts","names":[],"sources":["../src/utils.ts"],"mappings":";;;UAOiB;EACf,KAAK,mBAAmB;EACxB,KAAK,kBAAkB,kBAAkB;EACzC,OAAO,mBAAmB;;;iBAIZ,UAAU,iBAAiB;iBA2B3B,SAAS,kBAAkB,GAAG,IAAI;iBAmBlC,mBAAmB,QAAQ;iBAI3B,sBAAsB,QAAQ"}
1
+ {"version":3,"file":"utils.d.mts","names":[],"sources":["../src/utils.ts"],"mappings":";;;iBAOiB;EACf,KAAK,mBAAmB;EACxB,KAAK,kBAAkB,kBAAkB;EACzC,OAAO,mBAAmB;;;wBAIZ,UAAU,iBAAiB;wBA2B3B,SAAS,kBAAkB,GAAG,IAAI;wBAmBlC,mBAAmB,QAAQ;wBAI3B,sBAAsB,QAAQ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-graphql-codegen",
3
- "version": "2.4.0-next.5",
3
+ "version": "2.4.0-next.50",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -39,24 +39,24 @@
39
39
  "build"
40
40
  ],
41
41
  "peerDependencies": {
42
- "joist-codegen": "2.4.0-next.5",
43
- "joist-utils": "2.4.0-next.5",
42
+ "joist-codegen": "2.4.0-next.50",
43
+ "joist-utils": "2.4.0-next.50",
44
44
  "pg-types": "^4.1.0"
45
45
  },
46
46
  "dependencies": {
47
- "@dprint/formatter": "^0.5.1",
48
- "@dprint/json": "^0.21.3",
49
- "change-case": "^4.1.2",
47
+ "@dprint/formatter": "^0.6.0",
48
+ "@dprint/json": "^0.25.2",
49
+ "change-case": "^5.4.4",
50
50
  "graphql": "^17.0.2",
51
51
  "pluralize": "^8.0.0",
52
- "prettier": "^3.9.6",
52
+ "prettier": "^3.9.10",
53
53
  "ts-poet": "^6.12.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@swc/core": "^1.16.1",
56
+ "@swc/core": "1.16.18",
57
57
  "@swc/jest": "^0.2.39",
58
58
  "@types/jest": "^30.0.0",
59
- "@types/node": "^26.2.0",
59
+ "@types/node": "^26.6.5",
60
60
  "jest": "30.4.2",
61
61
  "tsconfig-paths": "^4.2.0",
62
62
  "typescript": "7.0.2"