joist-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 (184) hide show
  1. package/build/EntityDbMetadata.cjs +21 -3
  2. package/build/EntityDbMetadata.cjs.map +1 -1
  3. package/build/EntityDbMetadata.d.cts +28 -25
  4. package/build/EntityDbMetadata.d.cts.map +1 -1
  5. package/build/EntityDbMetadata.d.mts +28 -25
  6. package/build/EntityDbMetadata.d.mts.map +1 -1
  7. package/build/EntityDbMetadata.js +21 -3
  8. package/build/EntityDbMetadata.js.map +1 -1
  9. package/build/assignTags.d.cts +1 -2
  10. package/build/assignTags.d.cts.map +1 -1
  11. package/build/assignTags.d.mts +1 -2
  12. package/build/assignTags.d.mts.map +1 -1
  13. package/build/codemods/Codemod.d.cts +1 -2
  14. package/build/codemods/Codemod.d.cts.map +1 -1
  15. package/build/codemods/Codemod.d.mts +1 -2
  16. package/build/codemods/Codemod.d.mts.map +1 -1
  17. package/build/codemods/JscodeshiftMod.d.cts +1 -2
  18. package/build/codemods/JscodeshiftMod.d.cts.map +1 -1
  19. package/build/codemods/JscodeshiftMod.d.mts +1 -2
  20. package/build/codemods/JscodeshiftMod.d.mts.map +1 -1
  21. package/build/codemods/codemod_0001-rename_has_async_property.d.cts +2 -2
  22. package/build/codemods/codemod_0001-rename_has_async_property.d.cts.map +1 -1
  23. package/build/codemods/codemod_0001-rename_has_async_property.d.mts +2 -2
  24. package/build/codemods/codemod_0001-rename_has_async_property.d.mts.map +1 -1
  25. package/build/codemods/codemod_0002-rename_async_query_fields.d.cts +2 -2
  26. package/build/codemods/codemod_0002-rename_async_query_fields.d.cts.map +1 -1
  27. package/build/codemods/codemod_0002-rename_async_query_fields.d.mts +2 -2
  28. package/build/codemods/codemod_0002-rename_async_query_fields.d.mts.map +1 -1
  29. package/build/codemods/codemod_0003-rename_find_paginated.d.cts +2 -2
  30. package/build/codemods/codemod_0003-rename_find_paginated.d.cts.map +1 -1
  31. package/build/codemods/codemod_0003-rename_find_paginated.d.mts +2 -2
  32. package/build/codemods/codemod_0003-rename_find_paginated.d.mts.map +1 -1
  33. package/build/codemods/index.d.cts +3 -4
  34. package/build/codemods/index.d.cts.map +1 -1
  35. package/build/codemods/index.d.mts +3 -4
  36. package/build/codemods/index.d.mts.map +1 -1
  37. package/build/config.cjs +8 -3
  38. package/build/config.cjs.map +1 -1
  39. package/build/config.d.cts +30 -27
  40. package/build/config.d.cts.map +1 -1
  41. package/build/config.d.mts +30 -27
  42. package/build/config.d.mts.map +1 -1
  43. package/build/config.js +8 -3
  44. package/build/config.js.map +1 -1
  45. package/build/docs/cache.cjs.map +1 -1
  46. package/build/docs/cache.d.cts +2 -3
  47. package/build/docs/cache.d.cts.map +1 -1
  48. package/build/docs/cache.d.mts +2 -3
  49. package/build/docs/cache.d.mts.map +1 -1
  50. package/build/docs/cache.js.map +1 -1
  51. package/build/docs/generate-metadata-docs.d.cts +1 -2
  52. package/build/docs/generate-metadata-docs.d.cts.map +1 -1
  53. package/build/docs/generate-metadata-docs.d.mts +1 -2
  54. package/build/docs/generate-metadata-docs.d.mts.map +1 -1
  55. package/build/docs/index.d.cts +3 -3
  56. package/build/docs/index.d.cts.map +1 -1
  57. package/build/docs/index.d.mts +3 -3
  58. package/build/docs/index.d.mts.map +1 -1
  59. package/build/docs/markdown.d.cts +8 -8
  60. package/build/docs/markdown.d.cts.map +1 -1
  61. package/build/docs/markdown.d.mts +8 -8
  62. package/build/docs/markdown.d.mts.map +1 -1
  63. package/build/docs/parsing.d.cts +9 -9
  64. package/build/docs/parsing.d.cts.map +1 -1
  65. package/build/docs/parsing.d.mts +9 -9
  66. package/build/docs/parsing.d.mts.map +1 -1
  67. package/build/findEntityScopes.d.cts +3 -4
  68. package/build/findEntityScopes.d.cts.map +1 -1
  69. package/build/findEntityScopes.d.mts +3 -4
  70. package/build/findEntityScopes.d.mts.map +1 -1
  71. package/build/foreignKeyOrdering.d.cts +1 -2
  72. package/build/foreignKeyOrdering.d.cts.map +1 -1
  73. package/build/foreignKeyOrdering.d.mts +1 -2
  74. package/build/foreignKeyOrdering.d.mts.map +1 -1
  75. package/build/generate.d.cts +3 -4
  76. package/build/generate.d.cts.map +1 -1
  77. package/build/generate.d.mts +3 -4
  78. package/build/generate.d.mts.map +1 -1
  79. package/build/generateEntitiesFile.d.cts +1 -2
  80. package/build/generateEntitiesFile.d.cts.map +1 -1
  81. package/build/generateEntitiesFile.d.mts +1 -2
  82. package/build/generateEntitiesFile.d.mts.map +1 -1
  83. package/build/generateEntityCodegenFile.cjs +5 -3
  84. package/build/generateEntityCodegenFile.cjs.map +1 -1
  85. package/build/generateEntityCodegenFile.d.cts +3 -4
  86. package/build/generateEntityCodegenFile.d.cts.map +1 -1
  87. package/build/generateEntityCodegenFile.d.mts +3 -4
  88. package/build/generateEntityCodegenFile.d.mts.map +1 -1
  89. package/build/generateEntityCodegenFile.js +5 -3
  90. package/build/generateEntityCodegenFile.js.map +1 -1
  91. package/build/generateEntityFile.d.cts +1 -2
  92. package/build/generateEntityFile.d.cts.map +1 -1
  93. package/build/generateEntityFile.d.mts +1 -2
  94. package/build/generateEntityFile.d.mts.map +1 -1
  95. package/build/generateEntityTestFile.d.cts +1 -2
  96. package/build/generateEntityTestFile.d.cts.map +1 -1
  97. package/build/generateEntityTestFile.d.mts +1 -2
  98. package/build/generateEntityTestFile.d.mts.map +1 -1
  99. package/build/generateEnumFile.d.cts +1 -2
  100. package/build/generateEnumFile.d.cts.map +1 -1
  101. package/build/generateEnumFile.d.mts +1 -2
  102. package/build/generateEnumFile.d.mts.map +1 -1
  103. package/build/generateFactoriesFiles.d.cts +1 -2
  104. package/build/generateFactoriesFiles.d.cts.map +1 -1
  105. package/build/generateFactoriesFiles.d.mts +1 -2
  106. package/build/generateFactoriesFiles.d.mts.map +1 -1
  107. package/build/generateFlushFunction.d.cts +3 -4
  108. package/build/generateFlushFunction.d.cts.map +1 -1
  109. package/build/generateFlushFunction.d.mts +3 -4
  110. package/build/generateFlushFunction.d.mts.map +1 -1
  111. package/build/generateMetadataFile.cjs +30 -1
  112. package/build/generateMetadataFile.cjs.map +1 -1
  113. package/build/generateMetadataFile.d.cts +2 -3
  114. package/build/generateMetadataFile.d.cts.map +1 -1
  115. package/build/generateMetadataFile.d.mts +2 -3
  116. package/build/generateMetadataFile.d.mts.map +1 -1
  117. package/build/generateMetadataFile.js +31 -2
  118. package/build/generateMetadataFile.js.map +1 -1
  119. package/build/generatePgEnumFile.d.cts +1 -2
  120. package/build/generatePgEnumFile.d.cts.map +1 -1
  121. package/build/generatePgEnumFile.d.mts +1 -2
  122. package/build/generatePgEnumFile.d.mts.map +1 -1
  123. package/build/index.d.cts +4 -4
  124. package/build/index.d.cts.map +1 -1
  125. package/build/index.d.mts +4 -4
  126. package/build/index.d.mts.map +1 -1
  127. package/build/inheritance.d.cts +3 -3
  128. package/build/inheritance.d.cts.map +1 -1
  129. package/build/inheritance.d.mts +3 -3
  130. package/build/inheritance.d.mts.map +1 -1
  131. package/build/installSkills.d.cts +1 -2
  132. package/build/installSkills.d.cts.map +1 -1
  133. package/build/installSkills.d.mts +1 -2
  134. package/build/installSkills.d.mts.map +1 -1
  135. package/build/keywords.d.cts +1 -2
  136. package/build/keywords.d.cts.map +1 -1
  137. package/build/keywords.d.mts +1 -2
  138. package/build/keywords.d.mts.map +1 -1
  139. package/build/loadMetadata.d.cts +7 -8
  140. package/build/loadMetadata.d.cts.map +1 -1
  141. package/build/loadMetadata.d.mts +7 -8
  142. package/build/loadMetadata.d.mts.map +1 -1
  143. package/build/logger.d.cts +3 -4
  144. package/build/logger.d.cts.map +1 -1
  145. package/build/logger.d.mts +3 -4
  146. package/build/logger.d.mts.map +1 -1
  147. package/build/pgMetadata.d.cts +13 -14
  148. package/build/pgMetadata.d.cts.map +1 -1
  149. package/build/pgMetadata.d.mts +13 -14
  150. package/build/pgMetadata.d.mts.map +1 -1
  151. package/build/scanEntityFiles.cjs +6 -1
  152. package/build/scanEntityFiles.cjs.map +1 -1
  153. package/build/scanEntityFiles.d.cts +2 -3
  154. package/build/scanEntityFiles.d.cts.map +1 -1
  155. package/build/scanEntityFiles.d.mts +2 -3
  156. package/build/scanEntityFiles.d.mts.map +1 -1
  157. package/build/scanEntityFiles.js +6 -1
  158. package/build/scanEntityFiles.js.map +1 -1
  159. package/build/sortForeignKeys.d.cts +1 -2
  160. package/build/sortForeignKeys.d.cts.map +1 -1
  161. package/build/sortForeignKeys.d.mts +1 -2
  162. package/build/sortForeignKeys.d.mts.map +1 -1
  163. package/build/symbols.cjs +2 -0
  164. package/build/symbols.cjs.map +1 -1
  165. package/build/symbols.d.cts +117 -117
  166. package/build/symbols.d.cts.map +1 -1
  167. package/build/symbols.d.mts +117 -117
  168. package/build/symbols.d.mts.map +1 -1
  169. package/build/symbols.js +2 -1
  170. package/build/symbols.js.map +1 -1
  171. package/build/tsdoc.d.cts +1 -2
  172. package/build/tsdoc.d.cts.map +1 -1
  173. package/build/tsdoc.d.mts +1 -2
  174. package/build/tsdoc.d.mts.map +1 -1
  175. package/build/utils.cjs +1 -0
  176. package/build/utils.cjs.map +1 -1
  177. package/build/utils.d.cts +21 -22
  178. package/build/utils.d.cts.map +1 -1
  179. package/build/utils.d.mts +21 -22
  180. package/build/utils.d.mts.map +1 -1
  181. package/build/utils.js +1 -0
  182. package/build/utils.js.map +1 -1
  183. package/package.json +10 -10
  184. package/skills/joist-test-factories/SKILL.md +93 -6
@@ -1 +1 @@
1
- {"version":3,"file":"parsing.d.cts","names":[],"sources":["../../src/docs/parsing.ts"],"mappings":";;;KAKK,eAAe,WAAW,eAAe,WAAW,cAAc,WAAW,QAAQ,WAAW;EACnG;EACA;;KAGG,YAAY;EACf,WAAW;EACX;EACA;EACA,MAAM,WAAW;;KAGP;UAEK;EACf,MAAM;EACN;EACA;EACA,MAAM;;UAGS;EACf;EACA;EACA;;;iBAIc,kBAAkB;;;;;;;;;;;;iBAuDlB,eAAe,MAAM,WAAW,eAAe;;iBAW/C,WAAW,gBAAgB,OAAO;;iBAUlC,gBAAgB,cAAc;;iBAQ9B,aAAa"}
1
+ {"version":3,"file":"parsing.d.cts","names":[],"sources":["../../src/docs/parsing.ts"],"mappings":";;;KAKK,eAAe,WAAW,eAAe,WAAW,cAAc,WAAW,QAAQ,WAAW;EACnG;EACA;;KAGG,YAAY;EACf,WAAW;EACX;EACA;EACA,MAAM,WAAW;;YAGP;iBAEK;EACf,MAAM;EACN;EACA;EACA,MAAM;;iBAGS;EACf;EACA;EACA;;;wBAIc,kBAAkB;;;;;;;;;;;;wBAuDlB,eAAe,MAAM,WAAW,eAAe;;wBAW/C,WAAW,gBAAgB,OAAO;;wBAUlC,gBAAgB,cAAc;;wBAQ9B,aAAa"}
@@ -11,20 +11,20 @@ type Commented = ASTNode & {
11
11
  end?: number;
12
12
  loc?: namedTypes.SourceLocation | null;
13
13
  };
14
- type MemberKind = "property" | "getter" | "setter" | "method";
15
- interface MemberInfo {
14
+ export type MemberKind = "property" | "getter" | "setter" | "method";
15
+ export interface MemberInfo {
16
16
  kind: MemberKind;
17
17
  name: string;
18
18
  doc: string | undefined;
19
19
  node: Commented;
20
20
  }
21
- interface SourceEdit {
21
+ export interface SourceEdit {
22
22
  start: number;
23
23
  end: number;
24
24
  text: string;
25
25
  }
26
26
  /** Parse an entity .ts file and extract class + member JSDoc. */
27
- declare function parseEntityJSDocs(source: string): {
27
+ export declare function parseEntityJSDocs(source: string): {
28
28
  classDoc: string | undefined;
29
29
  classNode: Commented | undefined;
30
30
  members: MemberInfo[];
@@ -36,13 +36,13 @@ declare function parseEntityJSDocs(source: string): {
36
36
  * (This is bizarre, but this `SourceEdit` + `applyEdits` leaves all existing formatting
37
37
  * alone better than doing a `node.toSource()` or other AST-based updates. :grimmacing:)
38
38
  */
39
- declare function buildJSDocEdit(node: Commented, text: string): SourceEdit;
39
+ export declare function buildJSDocEdit(node: Commented, text: string): SourceEdit;
40
40
  /** Apply edits to source by splicing in reverse order. */
41
- declare function applyEdits(source: string, edits: SourceEdit[]): string;
41
+ export declare function applyEdits(source: string, edits: SourceEdit[]): string;
42
42
  /** Build a JSDoc block comment string from plain text. */
43
- declare function buildJSDocBlock(text: string, indent: number): string;
43
+ export declare function buildJSDocBlock(text: string, indent: number): string;
44
44
  /** The `@generated Entity.md` marker, i.e. so readers know a JSDoc is sourced from (and edited in) the `.md`. */
45
- declare function generatedTag(entityName: string): string;
45
+ export declare function generatedTag(entityName: string): string;
46
46
  //#endregion
47
- export { MemberInfo, MemberKind, SourceEdit, applyEdits, buildJSDocBlock, buildJSDocEdit, generatedTag, parseEntityJSDocs };
47
+ export {};
48
48
  //# sourceMappingURL=parsing.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsing.d.mts","names":[],"sources":["../../src/docs/parsing.ts"],"mappings":";;;KAKK,eAAe,WAAW,eAAe,WAAW,cAAc,WAAW,QAAQ,WAAW;EACnG;EACA;;KAGG,YAAY;EACf,WAAW;EACX;EACA;EACA,MAAM,WAAW;;KAGP;UAEK;EACf,MAAM;EACN;EACA;EACA,MAAM;;UAGS;EACf;EACA;EACA;;;iBAIc,kBAAkB;;;;;;;;;;;;iBAuDlB,eAAe,MAAM,WAAW,eAAe;;iBAW/C,WAAW,gBAAgB,OAAO;;iBAUlC,gBAAgB,cAAc;;iBAQ9B,aAAa"}
1
+ {"version":3,"file":"parsing.d.mts","names":[],"sources":["../../src/docs/parsing.ts"],"mappings":";;;KAKK,eAAe,WAAW,eAAe,WAAW,cAAc,WAAW,QAAQ,WAAW;EACnG;EACA;;KAGG,YAAY;EACf,WAAW;EACX;EACA;EACA,MAAM,WAAW;;YAGP;iBAEK;EACf,MAAM;EACN;EACA;EACA,MAAM;;iBAGS;EACf;EACA;EACA;;;wBAIc,kBAAkB;;;;;;;;;;;;wBAuDlB,eAAe,MAAM,WAAW,eAAe;;wBAW/C,WAAW,gBAAgB,OAAO;;wBAUlC,gBAAgB,cAAc;;wBAQ9B,aAAa"}
@@ -2,13 +2,12 @@ import { Config } from "./config.cjs";
2
2
  import { Entity } from "./EntityDbMetadata.cjs";
3
3
  //#region src/findEntityScopes.d.ts
4
4
  /** Each `static active = ...` scope in an entity. */
5
- interface ScopeMember {
5
+ export interface ScopeMember {
6
6
  name: string;
7
7
  type: string;
8
8
  }
9
- type ScopeMembersByEntity = Record<string, ScopeMember[]>;
9
+ export type ScopeMembersByEntity = Record<string, ScopeMember[]>;
10
10
  /** Finds static scope declarations for all entity files. */
11
- declare function findAllEntityScopes(config: Config, entities: Entity[]): Promise<ScopeMembersByEntity>;
11
+ export declare function findAllEntityScopes(config: Config, entities: Entity[]): Promise<ScopeMembersByEntity>;
12
12
  //#endregion
13
- export { ScopeMember, ScopeMembersByEntity, findAllEntityScopes };
14
13
  //# sourceMappingURL=findEntityScopes.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findEntityScopes.d.cts","names":[],"sources":["../src/findEntityScopes.ts"],"mappings":";;;;UAiBiB;EAEf;EAEA;;KAGU,uBAAuB,eAAe;;iBAG5B,oBAAoB,QAAQ,QAAQ,UAAU,WAAW,QAAQ"}
1
+ {"version":3,"file":"findEntityScopes.d.cts","names":[],"sources":["../src/findEntityScopes.ts"],"mappings":";;;;iBAiBiB;EAEf;EAEA;;YAGU,uBAAuB,eAAe;;wBAG5B,oBAAoB,QAAQ,QAAQ,UAAU,WAAW,QAAQ"}
@@ -2,13 +2,12 @@ import { Config } from "./config.mjs";
2
2
  import { Entity } from "./EntityDbMetadata.mjs";
3
3
  //#region src/findEntityScopes.d.ts
4
4
  /** Each `static active = ...` scope in an entity. */
5
- interface ScopeMember {
5
+ export interface ScopeMember {
6
6
  name: string;
7
7
  type: string;
8
8
  }
9
- type ScopeMembersByEntity = Record<string, ScopeMember[]>;
9
+ export type ScopeMembersByEntity = Record<string, ScopeMember[]>;
10
10
  /** Finds static scope declarations for all entity files. */
11
- declare function findAllEntityScopes(config: Config, entities: Entity[]): Promise<ScopeMembersByEntity>;
11
+ export declare function findAllEntityScopes(config: Config, entities: Entity[]): Promise<ScopeMembersByEntity>;
12
12
  //#endregion
13
- export { ScopeMember, ScopeMembersByEntity, findAllEntityScopes };
14
13
  //# sourceMappingURL=findEntityScopes.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"findEntityScopes.d.mts","names":[],"sources":["../src/findEntityScopes.ts"],"mappings":";;;;UAiBiB;EAEf;EAEA;;KAGU,uBAAuB,eAAe;;iBAG5B,oBAAoB,QAAQ,QAAQ,UAAU,WAAW,QAAQ"}
1
+ {"version":3,"file":"findEntityScopes.d.mts","names":[],"sources":["../src/findEntityScopes.ts"],"mappings":";;;;iBAiBiB;EAEf;EAEA;;YAGU,uBAAuB,eAAe;;wBAG5B,oBAAoB,QAAQ,QAAQ,UAAU,WAAW,QAAQ"}
@@ -2,7 +2,6 @@ import { Config } from "./config.cjs";
2
2
  import "./index.cjs";
3
3
  import { EntityDbMetadata } from "./EntityDbMetadata.cjs";
4
4
  //#region src/foreignKeyOrdering.d.ts
5
- declare function maybeSetForeignKeyOrdering(config: Config, entities: EntityDbMetadata[]): Promise<void>;
5
+ export declare function maybeSetForeignKeyOrdering(config: Config, entities: EntityDbMetadata[]): Promise<void>;
6
6
  //#endregion
7
- export { maybeSetForeignKeyOrdering };
8
7
  //# sourceMappingURL=foreignKeyOrdering.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"foreignKeyOrdering.d.cts","names":[],"sources":["../src/foreignKeyOrdering.ts"],"mappings":";;;;iBAQsB,2BAA2B,QAAQ,QAAQ,UAAU,qBAAqB"}
1
+ {"version":3,"file":"foreignKeyOrdering.d.cts","names":[],"sources":["../src/foreignKeyOrdering.ts"],"mappings":";;;;wBAQsB,2BAA2B,QAAQ,QAAQ,UAAU,qBAAqB"}
@@ -2,7 +2,6 @@ import { Config } from "./config.mjs";
2
2
  import "./index.mjs";
3
3
  import { EntityDbMetadata } from "./EntityDbMetadata.mjs";
4
4
  //#region src/foreignKeyOrdering.d.ts
5
- declare function maybeSetForeignKeyOrdering(config: Config, entities: EntityDbMetadata[]): Promise<void>;
5
+ export declare function maybeSetForeignKeyOrdering(config: Config, entities: EntityDbMetadata[]): Promise<void>;
6
6
  //#endregion
7
- export { maybeSetForeignKeyOrdering };
8
7
  //# sourceMappingURL=foreignKeyOrdering.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"foreignKeyOrdering.d.mts","names":[],"sources":["../src/foreignKeyOrdering.ts"],"mappings":";;;;iBAQsB,2BAA2B,QAAQ,QAAQ,UAAU,qBAAqB"}
1
+ {"version":3,"file":"foreignKeyOrdering.d.mts","names":[],"sources":["../src/foreignKeyOrdering.ts"],"mappings":";;;;wBAQsB,2BAA2B,QAAQ,QAAQ,UAAU,qBAAqB"}
@@ -3,15 +3,14 @@ import "./index.cjs";
3
3
  import { DbMetadata } from "./EntityDbMetadata.cjs";
4
4
  import { CodegenFile } from "ts-poet";
5
5
  //#region src/generate.d.ts
6
- type DPrintOptions = Record<string, unknown>;
6
+ export type DPrintOptions = Record<string, unknown>;
7
7
  /**
8
8
  * Provides an API for hooking into the codegen build step.
9
9
  */
10
- interface CodegenPlugin {
10
+ export interface CodegenPlugin {
11
11
  run(config: Config, dbMeta: DbMetadata): Promise<CodegenFile>;
12
12
  }
13
13
  /** Generates our `${Entity}` and `${Entity}Codegen` files based on the `db` schema. */
14
- declare function generateFiles(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
14
+ export declare function generateFiles(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
15
15
  //#endregion
16
- export { CodegenPlugin, DPrintOptions, generateFiles };
17
16
  //# sourceMappingURL=generate.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.cts","names":[],"sources":["../src/generate.ts"],"mappings":";;;;;KAqBY,gBAAgB;;;;UAKX;EACf,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ;;;iBAI7B,cAAc,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
1
+ {"version":3,"file":"generate.d.cts","names":[],"sources":["../src/generate.ts"],"mappings":";;;;;YAqBY,gBAAgB;;;;iBAKX;EACf,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ;;;wBAI7B,cAAc,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
@@ -3,15 +3,14 @@ import "./index.mjs";
3
3
  import { DbMetadata } from "./EntityDbMetadata.mjs";
4
4
  import { CodegenFile } from "ts-poet";
5
5
  //#region src/generate.d.ts
6
- type DPrintOptions = Record<string, unknown>;
6
+ export type DPrintOptions = Record<string, unknown>;
7
7
  /**
8
8
  * Provides an API for hooking into the codegen build step.
9
9
  */
10
- interface CodegenPlugin {
10
+ export interface CodegenPlugin {
11
11
  run(config: Config, dbMeta: DbMetadata): Promise<CodegenFile>;
12
12
  }
13
13
  /** Generates our `${Entity}` and `${Entity}Codegen` files based on the `db` schema. */
14
- declare function generateFiles(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
14
+ export declare function generateFiles(config: Config, dbMeta: DbMetadata): Promise<CodegenFile[]>;
15
15
  //#endregion
16
- export { CodegenPlugin, DPrintOptions, generateFiles };
17
16
  //# sourceMappingURL=generate.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.mts","names":[],"sources":["../src/generate.ts"],"mappings":";;;;;KAqBY,gBAAgB;;;;UAKX;EACf,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ;;;iBAI7B,cAAc,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
1
+ {"version":3,"file":"generate.d.mts","names":[],"sources":["../src/generate.ts"],"mappings":";;;;;YAqBY,gBAAgB;;;;iBAKX;EACf,IAAI,QAAQ,QAAQ,QAAQ,aAAa,QAAQ;;;wBAI7B,cAAc,QAAQ,QAAQ,QAAQ,aAAa,QAAQ"}
@@ -5,7 +5,6 @@ import { PgEnumData } from "./loadMetadata.cjs";
5
5
  import { EntityDbMetadata } from "./EntityDbMetadata.cjs";
6
6
  import { Code } from "ts-poet";
7
7
  //#region src/generateEntitiesFile.d.ts
8
- declare function generateEntitiesFile(config: Config, entities: EntityDbMetadata[], enums: Table[], pgEnums: PgEnumData[]): Code;
8
+ export declare function generateEntitiesFile(config: Config, entities: EntityDbMetadata[], enums: Table[], pgEnums: PgEnumData[]): Code;
9
9
  //#endregion
10
- export { generateEntitiesFile };
11
10
  //# sourceMappingURL=generateEntitiesFile.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateEntitiesFile.d.cts","names":[],"sources":["../src/generateEntitiesFile.ts"],"mappings":";;;;;;;iBAQgB,qBACd,QAAQ,QACR,UAAU,oBACV,OAAO,SACP,SAAS,eACR"}
1
+ {"version":3,"file":"generateEntitiesFile.d.cts","names":[],"sources":["../src/generateEntitiesFile.ts"],"mappings":";;;;;;;wBAQgB,qBACd,QAAQ,QACR,UAAU,oBACV,OAAO,SACP,SAAS,eACR"}
@@ -5,7 +5,6 @@ import { PgEnumData } from "./loadMetadata.mjs";
5
5
  import { EntityDbMetadata } from "./EntityDbMetadata.mjs";
6
6
  import { Code } from "ts-poet";
7
7
  //#region src/generateEntitiesFile.d.ts
8
- declare function generateEntitiesFile(config: Config, entities: EntityDbMetadata[], enums: Table[], pgEnums: PgEnumData[]): Code;
8
+ export declare function generateEntitiesFile(config: Config, entities: EntityDbMetadata[], enums: Table[], pgEnums: PgEnumData[]): Code;
9
9
  //#endregion
10
- export { generateEntitiesFile };
11
10
  //# sourceMappingURL=generateEntitiesFile.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateEntitiesFile.d.mts","names":[],"sources":["../src/generateEntitiesFile.ts"],"mappings":";;;;;;;iBAQgB,qBACd,QAAQ,QACR,UAAU,oBACV,OAAO,SACP,SAAS,eACR"}
1
+ {"version":3,"file":"generateEntitiesFile.d.mts","names":[],"sources":["../src/generateEntitiesFile.ts"],"mappings":";;;;;;;wBAQgB,qBACd,QAAQ,QACR,UAAU,oBACV,OAAO,SACP,SAAS,eACR"}
@@ -68,6 +68,7 @@ function generateEntityCodegenFile(config, dbMeta, meta, scopeMembers = [], docs
68
68
  const maybeBaseFilter = baseEntity ? ts_poet.code`extends ${(0, ts_poet.imp)("t:" + baseEntity.entity.filterName + "@./entities.ts")}` : "";
69
69
  const maybeBaseGqlFilter = baseEntity ? ts_poet.code`extends ${(0, ts_poet.imp)("t:" + baseEntity.entity.graphqlFilterName + "@./entities.ts")}` : "";
70
70
  const maybeBaseOrder = baseEntity ? ts_poet.code`extends ${baseEntity.entity.orderType}` : "";
71
+ const maybeBaseFactoryExtras = baseEntity ? ts_poet.code`extends ${(0, ts_poet.imp)("t:" + baseEntity.entity.factoryExtrasName + "@./entities.ts")}` : "";
71
72
  meta.abstract && ts_poet.code`
72
73
  if (this.constructor === ${entity.type} && !(em as any).fakeInstance) {
73
74
  throw new Error(\`${entity.type} must be instantiated via a subtype\`);
@@ -111,7 +112,7 @@ function generateEntityCodegenFile(config, dbMeta, meta, scopeMembers = [], docs
111
112
  ${generateOrderFields(meta)}
112
113
  }
113
114
 
114
- export interface ${entity.factoryExtrasName} {
115
+ export interface ${entity.factoryExtrasName} ${maybeBaseFactoryExtras} {
115
116
  ${generateFactoryExtrasType(meta)}
116
117
  }
117
118
 
@@ -355,8 +356,9 @@ function generateFieldsType(meta, idType) {
355
356
  return ts_poet.code`${fieldName}: { kind: "primitive"; type: ${fieldType}; unique: ${unique}; nullable: ${undefinedOrNever(notNull)}, derived: ${derived !== false}; };`;
356
357
  });
357
358
  const enums = meta.enums.map((field) => {
358
- const { fieldName, enumType, notNull, isArray } = field;
359
+ const { fieldName, enumType, notNull, isArray, hasTransitions } = field;
359
360
  if (isArray) return ts_poet.code`${fieldName}: { kind: "enum"; type: ${enumType}[]; nullable: never; };`;
361
+ else if (hasTransitions) return ts_poet.code`${fieldName}: { kind: "enum"; type: ${enumType}; nullable: ${undefinedOrNever(notNull)}; accessors: keyof typeof ${enumType}; };`;
360
362
  else return ts_poet.code`${fieldName}: { kind: "enum"; type: ${enumType}; nullable: ${undefinedOrNever(notNull)}; };`;
361
363
  });
362
364
  const pgEnums = meta.pgEnums.map((field) => {
@@ -599,7 +601,7 @@ function generateFactoryExtrasType(meta) {
599
601
  const { fieldName, fieldType, notNull } = field;
600
602
  return ts_poet.code`${withName(fieldName)}?: ${fieldType}${maybeUnionNull(notNull)};`;
601
603
  });
602
- const enums = meta.enums.filter((f) => f.derived === "async").map((field) => {
604
+ const enums = meta.enums.filter((f) => f.derived === "async" || f.hasTransitions).map((field) => {
603
605
  const { fieldName, enumType, notNull, isArray } = field;
604
606
  if (isArray) return ts_poet.code`${withName(fieldName)}?: ${enumType}[];`;
605
607
  else return ts_poet.code`${withName(fieldName)}?: ${enumType}${maybeUnionNull(notNull)};`;