joist-codegen 1.1.5 → 1.2.0

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.
@@ -19,7 +19,7 @@ export declare type Entity = {
19
19
  configConst: Import;
20
20
  optsType: Import;
21
21
  };
22
- export declare type DatabaseColumnType = "boolean" | "int" | "uuid" | "numeric" | "text" | "citext" | "character varying" | "varchar" | "timestamp with time zone" | "date" | "jsonb";
22
+ export declare type DatabaseColumnType = "boolean" | "int" | "uuid" | "numeric" | "text" | "citext" | "character varying" | "varchar" | "timestamp with time zone" | "timestamp without time zone" | "date" | "jsonb";
23
23
  /**
24
24
  * A logical entity field.
25
25
  *
@@ -127,6 +127,8 @@ export declare class EntityDbMetadata {
127
127
  polymorphics: PolymorphicField[];
128
128
  tableName: string;
129
129
  tagName: string;
130
+ createdAt: PrimitiveField | undefined;
131
+ updatedAt: PrimitiveField | undefined;
130
132
  constructor(config: Config, table: Table, enums?: EnumMetadata);
131
133
  get name(): string;
132
134
  }
@@ -19,7 +19,7 @@ class EntityDbMetadata {
19
19
  .filter((f) => !f.ignore);
20
20
  this.enums = [
21
21
  ...table.m2oRelations
22
- .filter((r) => (0, utils_1.isEnumTable)(r.targetTable))
22
+ .filter((r) => (0, utils_1.isEnumTable)(config, r.targetTable))
23
23
  .map((r) => newEnumField(config, this.entity, r, enums))
24
24
  .filter((f) => !f.ignore),
25
25
  ...table.columns
@@ -34,7 +34,7 @@ class EntityDbMetadata {
34
34
  .filter((f) => !f.ignore),
35
35
  ];
36
36
  this.manyToOnes = table.m2oRelations
37
- .filter((r) => !(0, utils_1.isEnumTable)(r.targetTable))
37
+ .filter((r) => !(0, utils_1.isEnumTable)(config, r.targetTable))
38
38
  .filter((r) => !isMultiColumnForeignKey(r))
39
39
  .filter((r) => !isComponentOfPolymorphicRelation(config, r))
40
40
  .map((r) => newManyToOneField(config, this.entity, r))
@@ -42,7 +42,7 @@ class EntityDbMetadata {
42
42
  // We split these into regular/large...
43
43
  const allOneToManys = table.o2mRelations
44
44
  // ManyToMany join tables also show up as OneToMany tables in pg-structure
45
- .filter((r) => !(0, utils_1.isJoinTable)(r.targetTable))
45
+ .filter((r) => !(0, utils_1.isJoinTable)(config, r.targetTable))
46
46
  .filter((r) => !isMultiColumnForeignKey(r))
47
47
  .filter((r) => !isOneToOneRelation(r))
48
48
  .map((r) => newOneToMany(config, this.entity, r))
@@ -51,7 +51,7 @@ class EntityDbMetadata {
51
51
  this.largeOneToManys = allOneToManys.filter((f) => f.isLargeCollection);
52
52
  this.oneToOnes = table.o2mRelations
53
53
  // ManyToMany join tables also show up as OneToMany tables in pg-structure
54
- .filter((r) => !(0, utils_1.isJoinTable)(r.targetTable))
54
+ .filter((r) => !(0, utils_1.isJoinTable)(config, r.targetTable))
55
55
  .filter((r) => !isMultiColumnForeignKey(r))
56
56
  .filter((r) => isOneToOneRelation(r))
57
57
  .map((r) => newOneToOne(config, this.entity, r))
@@ -62,7 +62,7 @@ class EntityDbMetadata {
62
62
  // that has a foreign key to us, and a foreign key to something else, is automatically
63
63
  // considered as a join table/m2m between "us" and "something else". Filter these out
64
64
  // by looking for only true join tables, i.e. tables with only id, fk1, and fk2.
65
- .filter((r) => (0, utils_1.isJoinTable)(r.joinTable))
65
+ .filter((r) => (0, utils_1.isJoinTable)(config, r.joinTable))
66
66
  .filter((r) => !isMultiColumnForeignKey(r))
67
67
  .map((r) => newManyToManyField(config, this.entity, r))
68
68
  .filter((f) => !f.ignore);
@@ -71,6 +71,9 @@ class EntityDbMetadata {
71
71
  this.polymorphics = polymorphicRelations(config, table).map((rc) => newPolymorphicField(config, table, this.entity, rc));
72
72
  this.tableName = table.name;
73
73
  this.tagName = config.entities[this.entity.name]?.tag;
74
+ const { createdAtConf, updatedAtConf } = (0, config_1.getTimestampConfig)(config);
75
+ this.createdAt = this.primitives.find((f) => createdAtConf.names.includes(f.columnName));
76
+ this.updatedAt = this.primitives.find((f) => updatedAtConf.names.includes(f.columnName));
74
77
  }
75
78
  get name() {
76
79
  return this.entity.name;
@@ -273,7 +276,7 @@ function newPolymorphicField(config, table, entity, rc) {
273
276
  const { polymorphic, name } = rc;
274
277
  const fieldName = name;
275
278
  const components = table.m2oRelations
276
- .filter((r) => !(0, utils_1.isEnumTable)(r.targetTable))
279
+ .filter((r) => !(0, utils_1.isEnumTable)(config, r.targetTable))
277
280
  .filter((r) => !isMultiColumnForeignKey(r))
278
281
  .filter((r) => polymorphicFieldName(config, r) === fieldName)
279
282
  .map((r) => newPolymorphicFieldComponent(config, entity, r));
@@ -1 +1 @@
1
- {"version":3,"file":"EntityDbMetadata.js","sourceRoot":"","sources":["../src/EntityDbMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityDbMetadata.js","sourceRoot":"","sources":["../src/EntityDbMetadata.ts"],"names":[],"mappings":";;;AAAA,6CAA+D;AAC/D,+CAA8F;AAC9F,yCAA6C;AAC7C,qCAAsC;AACtC,qCAYkB;AAElB,mCAA6G;AAyI7G,oFAAoF;AACpF,MAAa,gBAAgB;IAmB3B,YAAY,MAAc,EAAE,KAAY,EAAE,QAAsB,EAAE;QAChE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAA,YAAI,GAAE,CAAC;QAEtG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;aACjE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,KAAK,CAAC,YAAY;iBAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;iBACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;iBACvD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3B,GAAG,KAAK,CAAC,OAAO;iBACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBAC7B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;iBACtE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAC5B,CAAC;QACF,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,KAAK,CAAC,OAAO;iBACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC1B,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;iBACnE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAC5B,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,gCAAgC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACrD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE5B,uCAAuC;QACvC,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY;YACtC,0EAA0E;aACzE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAExE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY;YACjC,0EAA0E;aACzE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE5B,oCAAoC;QACpC,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY;YACvC,wFAAwF;YACxF,sFAAsF;YACtF,qFAAqF;YACrF,gFAAgF;aAC/E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAE1E,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACjE,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CACpD,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAEtD,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAA,2BAAkB,EAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AApGD,4CAoGC;AAED,SAAS,uBAAuB,CAAC,CAA0C;IACzE,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAc;IACxC,4DAA4D;IAC5D,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,8GAA8G;IAC9G,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,aAAa,IAAI,EAAE,CAAC;IACnG,yEAAyE;IACzE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,KAAY;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;SAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,CAA4B;IACxE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,CAAC,YAAY,0BAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACvE,OAAO,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAA,uBAAS,EAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AAC3G,CAAC;AAED,SAAS,gCAAgC,CAAC,MAAc,EAAE,CAAc;IACtE,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,KAAY;IAChF,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAuB,CAAC;IACrF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAA,0BAAiB,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,SAAS,KAAK,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,UAAU;QACV,UAAU;QACV,SAAS,EAAE,aAAa;QACxB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QAChD,SAAS,EAAE,IAAA,oBAAW,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;QACjD,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;QAC1F,WAAW,EAAE,SAAS,KAAK,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1F,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,SAAiB;IACrE,IAAI,4BAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3C,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,IAAA,kBAAS,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAC/C,OAAO,MAAM,CAAC;KACf;SAAM,IAAI,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QACpD,OAAO,OAAO,CAAC;KAChB;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,CAAc,EAAE,KAAmB;IACvF,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAA,aAAG,EAAC,GAAG,QAAQ,aAAa,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC,GAAG,IAAA,kBAAM,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,aAAG,EAAC,GAAG,QAAQ,oBAAoB,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC3F,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,UAAU;QACV,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,QAAQ;QACR,QAAQ;QACR,cAAc;QACd,eAAe;QACf,OAAO;QACP,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI;QACxC,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,KAAmB;IAC5F,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,yGAAyG;IACzG,MAAM,SAAS,GAAG,MAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAA,YAAI,EAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,MAAM,QAAQ,GAAG,IAAA,aAAG,EAAC,GAAG,QAAQ,aAAa,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC,GAAG,IAAA,kBAAM,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,aAAG,EAAC,GAAG,QAAQ,oBAAoB,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC3F,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,SAAS;QACT,UAAU;QACV,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,QAAQ;QACR,QAAQ;QACR,cAAc;QACd,eAAe;QACf,OAAO;QACP,MAAM;QACN,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI;QAC/B,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,KAAY;IAClF,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAA,wBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,aAAG,EAAC,GAAG,QAAQ,aAAa,CAAC,CAAC;IAC/C,OAAO;QACL,IAAI,EAAE,SAAS;QACf,SAAS;QACT,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,UAAU,EAAG,MAAM,CAAC,IAAiB,CAAC,MAAM;QAC5C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,CAAc;IACvE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAU,CAAC;IACvD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;IAC1F,MAAM,cAAc,GAAG,UAAU;QAC/B,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC3F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,CAAc;IAClE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,gEAAgE;IAChE,mEAAmE;IACnE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,KAAK;QACX,SAAS;QACT,YAAY;QACZ,WAAW;QACX,cAAc;QACd,eAAe,EAAE,MAAM,CAAC,IAAI;QAC5B,kBAAkB,EAAE,MAAM,CAAC,OAAO;QAClC,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,IAAA,uBAAc,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC;QACxG,iBAAiB,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,MAAc,EAAE,CAAc;IACjE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,gEAAgE;IAChE,mEAAmE;IACnE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;IACpC,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,IAAA,uBAAc,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAChH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC;AAC9G,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAc,EAAE,CAAc;IACxE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,UAAU,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,IAAA,qBAAY,EAC5B,MAAM,EACN,MAAM,EACN,IAAA,uBAAS,EAAC,IAAA,kBAAM,EAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CACvE,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,qBAAY,EACjC,MAAM,EACN,WAAW,EACX,IAAA,uBAAS,EAAC,IAAA,kBAAM,EAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CACjE,CAAC;IACF,OAAO;QACL,IAAI,EAAE,KAAK;QACX,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI;QAC/B,SAAS;QACT,YAAY,EAAE,IAAA,oBAAQ,EAAC,SAAS,CAAC;QACjC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QACtC,WAAW;QACX,cAAc;QACd,eAAe,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QACjD,MAAM,EAAE,IAAA,uBAAc,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,IAAA,uBAAc,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC;QACxG,iBAAiB,EAAE,IAAA,0BAAiB,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,KAAY,EAAE,MAAc,EAAE,EAAkB;IAC3F,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAK,CAAC;IACxB,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;SAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;SAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/D,OAAO;QACL,SAAS;QACT,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,IAAA,wBAAU,EAAC,SAAS,CAAC,EAAE;QACnD,OAAO,EAAE,WAAW,KAAK,SAAS;QAClC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAc,EAAE,MAAc,EAAE,CAAc;IAClF,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAA,yBAAiB,EAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;IAC1F,MAAM,cAAc,GAAG,UAAU;QAC/B,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AACrD,CAAC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,WAAmB;IAC9E,OAAO,IAAA,qBAAY,EAAC,MAAM,EAAE,MAAM,EAAE,IAAA,uBAAS,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC;AAED,SAAgB,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,CAA4B;IACxF,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/F,OAAO,IAAA,qBAAY,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AAJD,sCAIC;AAED,SAAS,aAAa,CAAC,UAAkB;IACvC,OAAO,IAAA,uBAAS,EAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,OAAO,IAAA,uBAAS,EAAC,UAAU,CAAC,CAAC;AAC/B,CAAC;AAED,uFAAuF;AACvF,SAAgB,cAAc,CAC5B,MAAc,EACd,MAAc,EACd,WAAmB,EACnB,CAA4B;IAE5B,iCAAiC;IACjC,gEAAgE;IAChE,IAAI,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;IACjC,0FAA0F;IAC1F,MAAM,WAAW,GAAG,CAAC,YAAY,0BAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7E,MAAM,WAAW,GAAG,CAAC,YAAY,0BAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7E,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACpF,SAAS,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;KAC/E;IACD,8DAA8D;IAC9D,IAAI,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QACzC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KAChD;IAED,oBAAoB;IACpB,IAAI,YAAY,GAAG,IAAA,uBAAS,EAAC,SAAS,CAAC,CAAC;IACxC,SAAS,GAAG,IAAA,uBAAS,EAAC,IAAA,kBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;IAEzC,+DAA+D;IAC/D,MAAM,mBAAmB,GAAG,IAAA,qBAAY,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,mBAAmB,KAAK,SAAS,EAAE;QACrC,YAAY,GAAG,IAAA,oBAAQ,EAAC,mBAAmB,CAAC,CAAC;QAC7C,SAAS,GAAG,mBAAmB,CAAC;KACjC;IAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC;AAhCD,wCAgCC;AAED,SAAgB,UAAU,CAAC,UAAkB;IAC3C,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC9B,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC9B,MAAM,EAAE,IAAA,aAAG,EAAC,GAAG,UAAU,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,UAAU,SAAS,EAAE,CAAC;QAClF,SAAS,EAAE,IAAA,aAAG,EAAC,GAAG,UAAU,kBAAkB,EAAE,EAAE,SAAS,EAAE,KAAK,UAAU,SAAS,EAAE,CAAC;QACxF,QAAQ,EAAE,IAAA,aAAG,EAAC,GAAG,UAAU,iBAAiB,EAAE,EAAE,SAAS,EAAE,KAAK,UAAU,SAAS,EAAE,CAAC;QACtF,WAAW,EAAE,IAAA,aAAG,EAAC,GAAG,IAAA,uBAAS,EAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,UAAU,SAAS,EAAE,CAAC;KACvG,CAAC;AACJ,CAAC;AAXD,gCAWC;AAED,SAAS,QAAQ,CAAC,UAAkB;IAClC,OAAO,GAAG,IAAA,uBAAS,EAAC,UAAU,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,UAAkB;IAClC,OAAO,IAAA,aAAG,EAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IACpC,OAAO,IAAA,aAAG,EAAC,GAAG,UAAU,aAAa,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,OAAO,CAAC,SAAiB,EAAE,UAAkB,EAAE,YAAgC;IACtF,OAAO,IAAA,uCAA+B,EAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,IAAI,YAAY,uBAAQ,CAAC;AACpC,CAAC;AAED,SAAS,eAAe,CAAC,CAAS;IAChC,gDAAgD;IAChD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,gBAAM,CAAC,IAAI,CAAC,GAAG,IAAA,wBAAU,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC"}
package/build/config.d.ts CHANGED
@@ -16,11 +16,38 @@ export interface EntityConfig {
16
16
  fields?: Record<string, FieldConfig>;
17
17
  relations?: Record<string, RelationConfig>;
18
18
  }
19
+ export interface TimestampConfig {
20
+ /** The names to check for this timestamp, i.e. `created_at` `created`, etc. */
21
+ names: string[];
22
+ /** Whether this timestamp column is required to consider a table an entity, defaults to `false`. */
23
+ optional?: boolean;
24
+ }
19
25
  export interface Config {
20
26
  contextType?: string;
27
+ /**
28
+ * Allows the user to specify the `updated_at` / `created_at` column names to look up, and if they're optional.
29
+ *
30
+ * We default to looking for `updated_at`, `updatedAt`, `created_at`, `createdAt`, and optional to true,
31
+ * e.g. tables are not required to have both timestamp columns to be considered entities.
32
+ *
33
+ * These defaults are the most lenient, to facilitate running Joist against an existing schema and
34
+ * seeing all of your entities, regardless of your previous conventions.
35
+ */
36
+ timestampColumns?: {
37
+ createdAt?: TimestampConfig;
38
+ updatedAt?: TimestampConfig;
39
+ };
40
+ /**
41
+ * By default, we create a `flush_database` function for super fast testing.
42
+ *
43
+ * However, if you don't want to use this, or you have your own bespoke function like we do
44
+ * that is more application-aware, then you can disable Joist's out-of-the-box one.
45
+ */
46
+ createFlushFunction?: boolean;
21
47
  entitiesDirectory: string;
22
48
  codegenPlugins: string[];
23
49
  entities: Record<string, EntityConfig>;
50
+ ignoredTables?: string[];
24
51
  __tableToEntityName?: Record<string, string>;
25
52
  }
26
53
  export declare const defaultConfig: Config;
@@ -40,3 +67,8 @@ export declare function loadConfig(): Promise<Config>;
40
67
  * such that no changes to the config show up as noops to the scm.
41
68
  */
42
69
  export declare function writeConfig(config: Config): Promise<void>;
70
+ /** Applies defaults to the timestamp config. */
71
+ export declare function getTimestampConfig(config: Config): {
72
+ updatedAtConf: Required<TimestampConfig>;
73
+ createdAtConf: Required<TimestampConfig>;
74
+ };
package/build/config.js CHANGED
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.writeConfig = exports.loadConfig = exports.relationName = exports.isFieldIgnored = exports.isLargeCollection = exports.superstructConfig = exports.isProtected = exports.isAsyncDerived = exports.isDerived = exports.ormMaintainedFields = exports.defaultConfig = void 0;
22
+ exports.getTimestampConfig = exports.writeConfig = exports.loadConfig = exports.relationName = exports.isFieldIgnored = exports.isLargeCollection = exports.superstructConfig = exports.isProtected = exports.isAsyncDerived = exports.isDerived = exports.ormMaintainedFields = exports.defaultConfig = void 0;
23
23
  const fs_1 = require("fs");
24
24
  const prettier_1 = __importStar(require("prettier"));
25
25
  const utils_1 = require("./utils");
@@ -90,4 +90,20 @@ async function writeConfig(config) {
90
90
  await fs_1.promises.writeFile(configPath, content);
91
91
  }
92
92
  exports.writeConfig = writeConfig;
93
+ /** Applies defaults to the timestamp config. */
94
+ function getTimestampConfig(config) {
95
+ return {
96
+ createdAtConf: {
97
+ names: ["created_at", "createdAt"],
98
+ optional: true,
99
+ ...config?.timestampColumns?.createdAt,
100
+ },
101
+ updatedAtConf: {
102
+ names: ["updated_at", "updatedAt"],
103
+ optional: true,
104
+ ...config?.timestampColumns?.updatedAt,
105
+ },
106
+ };
107
+ }
108
+ exports.getTimestampConfig = getTimestampConfig;
93
109
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,2BAAoC;AACpC,qDAAmD;AACnD,mCAAyD;AA2D5C,QAAA,aAAa,GAAW;IACnC,iBAAiB,EAAE,gBAAgB;IACnC,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,mBAAmB,EAAE,EAAE;CACxB,CAAC;AAEW,QAAA,mBAAmB,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAE9D,SAAgB,SAAS,CAAC,MAAc,EAAE,MAAc,EAAE,SAAiB;IACzE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;AAC/E,CAAC;AAFD,8BAEC;AAED,SAAgB,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,SAAiB;IAC9E,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;AAChF,CAAC;AAFD,wCAEC;AAED,SAAgB,WAAW,CAAC,MAAc,EAAE,MAAc,EAAE,SAAiB;IAC3E,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;AAC/E,CAAC;AAFD,kCAEC;AAED,SAAgB,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,SAAiB;IACjF,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;AACxE,CAAC;AAFD,8CAEC;AAED,SAAgB,iBAAiB,CAAC,MAAc,EAAE,MAAc,EAAE,SAAiB;IACjF,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAC9E,CAAC;AAFD,8CAEC;AAED,SAAgB,cAAc,CAC5B,MAAc,EACd,MAAc,EACd,SAAiB,EACjB,UAAmB,KAAK,EACxB,aAAsB,KAAK;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClF,IAAI,MAAM,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE;QACpC,IAAA,YAAI,EACF,iBAAiB,MAAM,CAAC,IAAI,IAAI,SAAS,mGAAmG,CAC7I,CAAC;KACH;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAdD,wCAcC;AAED,SAAgB,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,YAAoB;IAC/E,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,YAAY,CAAC;AACzF,CAAC;AAFD,oCAEC;AAED,MAAM,UAAU,GAAG,sBAAsB,CAAC;AACnC,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAc,EAAC,aAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM,EAAE;QACV,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO;YACL,GAAG,qBAAa;YAChB,GAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAY;SAC9C,CAAC;KACH;IACD,OAAO,qBAAa,CAAC;AACvB,CAAC;AAVD,gCAUC;AAED;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,MAAc;IAC9C,MAAM,cAAc,GAAG,MAAM,IAAA,wBAAa,EAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,mBAAmB,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,kBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;IACrF,MAAM,aAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAPD,kCAOC;AAED,gDAAgD;AAChD,SAAgB,kBAAkB,CAAC,MAAc;IAI/C,OAAO;QACL,aAAa,EAAE;YACb,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;YAClC,QAAQ,EAAE,IAAI;YACd,GAAG,MAAM,EAAE,gBAAgB,EAAE,SAAS;SACvC;QACD,aAAa,EAAE;YACb,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;YAClC,QAAQ,EAAE,IAAI;YACd,GAAG,MAAM,EAAE,gBAAgB,EAAE,SAAS;SACvC;KACF,CAAC;AACJ,CAAC;AAhBD,gDAgBC"}
@@ -0,0 +1,5 @@
1
+ import { Client } from "pg";
2
+ import { Db } from "pg-structure";
3
+ import { Config } from "./config";
4
+ /** Creates a `flush_database` stored procedure to truncate all of the tables between tests. */
5
+ export declare function createFlushFunction(db: Db, client: Client, config: Config): Promise<void>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFlushFunction = void 0;
4
+ const utils_1 = require("./utils");
5
+ /** Creates a `flush_database` stored procedure to truncate all of the tables between tests. */
6
+ async function createFlushFunction(db, client, config) {
7
+ await client.query(generateFlushFunction(config, db));
8
+ }
9
+ exports.createFlushFunction = createFlushFunction;
10
+ function generateFlushFunction(config, db) {
11
+ const tables = db.tables.filter((t) => (0, utils_1.isEntityTable)(config, t) || (0, utils_1.isJoinTable)(config, t)).map((t) => t.name);
12
+ // Note that, for whatever reason, doing DELETEs + ALTER SEQUENCEs is dramatically faster than TRUNCATEs.
13
+ // On even a 40-table schema, TRUNCATEs (either 1 per table or even a single TRUNCATE with all tables) takes
14
+ // 100s of milliseconds, where as DELETEs takes single-digit milliseconds and DELETEs + ALTER SEQUENCEs is
15
+ // 10s of milliseconds.
16
+ //
17
+ // One cute idea would be to use a single sequence for all tables when running locally. That would
18
+ // mean our flush_database function could reset a single sequence. Plus it would reduce bugs where
19
+ // something "works" but only b/c in the test database, all entities have id = 1.
20
+ const statements = tables
21
+ .map((t) => `DELETE FROM "${t}"; ALTER SEQUENCE IF EXISTS "${t}_id_seq" RESTART WITH 1 INCREMENT BY 1;`)
22
+ .join("\n");
23
+ return `CREATE OR REPLACE FUNCTION flush_database() RETURNS void AS $$
24
+ BEGIN
25
+ ${statements}
26
+ END;
27
+ $$ LANGUAGE
28
+ 'plpgsql'`;
29
+ }
30
+ //# sourceMappingURL=generateFlushFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateFlushFunction.js","sourceRoot":"","sources":["../src/generateFlushFunction.ts"],"names":[],"mappings":";;;AAGA,mCAAqD;AAErD,+FAA+F;AACxF,KAAK,UAAU,mBAAmB,CAAC,EAAM,EAAE,MAAc,EAAE,MAAc;IAC9E,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAFD,kDAEC;AAED,SAAS,qBAAqB,CAAC,MAAc,EAAE,EAAM;IACnD,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAa,EAAC,MAAM,EAAE,CAAC,CAAC,IAAI,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9G,yGAAyG;IACzG,4GAA4G;IAC5G,0GAA0G;IAC1G,uBAAuB;IACvB,EAAE;IACF,kGAAkG;IAClG,kGAAkG;IAClG,iFAAiF;IACjF,MAAM,UAAU,GAAG,MAAM;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,yCAAyC,CAAC;SACvG,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;;MAEH,UAAU;;;cAGF,CAAC;AACf,CAAC"}
@@ -1,4 +1,5 @@
1
+ import { DbMetadata } from "index";
1
2
  import { Code } from "ts-poet";
2
3
  import { Config } from "./config";
3
4
  import { EntityDbMetadata } from "./EntityDbMetadata";
4
- export declare function generateMetadataFile(config: Config, dbMetadata: EntityDbMetadata): Code;
5
+ export declare function generateMetadataFile(config: Config, dbMeta: DbMetadata, meta: EntityDbMetadata): Code;
@@ -3,18 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateMetadataFile = void 0;
4
4
  const ts_poet_1 = require("ts-poet");
5
5
  const symbols_1 = require("./symbols");
6
- function generateMetadataFile(config, dbMetadata) {
7
- const { entity } = dbMetadata;
8
- const fields = generateFields(config, dbMetadata);
6
+ const utils_1 = require("./utils");
7
+ function generateMetadataFile(config, dbMeta, meta) {
8
+ const { entity, createdAt, updatedAt } = meta;
9
+ const fields = generateFields(config, meta);
9
10
  Object.values(fields).forEach((code) => code.asOneline());
10
11
  return (0, ts_poet_1.code) `
11
12
  export const ${entity.metaName}: ${symbols_1.EntityMetadata}<${entity.type}> = {
12
13
  cstr: ${entity.type},
13
14
  type: "${entity.name}",
14
- idType: "${dbMetadata.idDbType}",
15
- tagName: "${dbMetadata.tagName}",
16
- tableName: "${dbMetadata.tableName}",
15
+ idType: "${meta.idDbType}",
16
+ tagName: "${meta.tagName}",
17
+ tableName: "${meta.tableName}",
17
18
  fields: ${fields},
19
+ timestampFields: { createdAt: ${(0, utils_1.q)(createdAt?.fieldName)}, updatedAt: ${(0, utils_1.q)(updatedAt?.fieldName)} },
18
20
  config: ${entity.configConst},
19
21
  factory: ${(0, ts_poet_1.imp)(`new${entity.name}@./entities`)},
20
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateMetadataFile.js","sourceRoot":"","sources":["../src/generateMetadataFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateMetadataFile.js","sourceRoot":"","sources":["../src/generateMetadataFile.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -35,6 +35,7 @@ const generateEntitiesFile_1 = require("./generateEntitiesFile");
35
35
  const generateEntityCodegenFile_1 = require("./generateEntityCodegenFile");
36
36
  const generateEnumFile_1 = require("./generateEnumFile");
37
37
  const generateFactoriesFiles_1 = require("./generateFactoriesFiles");
38
+ const generateFlushFunction_1 = require("./generateFlushFunction");
38
39
  const generateInitialEntityFile_1 = require("./generateInitialEntityFile");
39
40
  const generateMetadataFile_1 = require("./generateMetadataFile");
40
41
  const generatePgEnumFile_1 = require("./generatePgEnumFile");
@@ -112,7 +113,7 @@ async function generateFiles(config, dbMeta) {
112
113
  return e.em as EntityManager;
113
114
  }
114
115
 
115
- ${entities.map((meta) => (0, generateMetadataFile_1.generateMetadataFile)(config, meta))}
116
+ ${entities.map((meta) => (0, generateMetadataFile_1.generateMetadataFile)(config, dbMeta, meta))}
116
117
 
117
118
  export const allMetadata = [${entities.map((meta) => meta.entity.metaName).join(", ")}];
118
119
  ${symbols_1.configureMetadata}(allMetadata);
@@ -152,7 +153,9 @@ async function generateFiles(config, dbMeta) {
152
153
  }
153
154
  exports.generateFiles = generateFiles;
154
155
  async function loadEnumMetadata(db, client, config) {
155
- const promises = db.tables.filter(utils_1.isEnumTable).mapToArray(async (table) => {
156
+ const promises = db.tables
157
+ .filter((t) => (0, utils_1.isEnumTable)(config, t))
158
+ .mapToArray(async (table) => {
156
159
  const result = await client.query(`SELECT * FROM ${table.name} ORDER BY id`);
157
160
  const rows = result.rows.map((row) => row);
158
161
  // We're not really an entity, but appropriate EntityDbMetadata's `primitives` filtering
@@ -205,10 +208,16 @@ if (require.main === module) {
205
208
  await client.connect();
206
209
  const enums = await loadEnumMetadata(db, client, config);
207
210
  const pgEnums = await loadPgEnumMetadata(db, client, config);
208
- await client.end();
209
- const entityTables = db.tables.filter(utils_1.isEntityTable).sortBy("name");
211
+ const entityTables = db.tables.filter((t) => (0, utils_1.isEntityTable)(config, t)).sortBy("name");
210
212
  const entities = entityTables.map((table) => new EntityDbMetadata_1.EntityDbMetadata(config, table, enums));
211
213
  const dbMetadata = { entityTables, entities, enums, pgEnums };
214
+ console.log(`Found ${db.tables.length} total tables, ${entityTables.length} entity tables, ${Object.entries(enums).length} enum tables`);
215
+ // In graphql-service we have our own custom flush function, so allow skipping this
216
+ if (config.createFlushFunction !== false) {
217
+ console.log("Creating flush_database function");
218
+ await (0, generateFlushFunction_1.createFlushFunction)(db, client, config);
219
+ }
220
+ await client.end();
212
221
  (0, assignTags_1.assignTags)(config, dbMetadata);
213
222
  await (0, config_1.writeConfig)(config);
214
223
  await generateAndSaveFiles(config, dbMetadata);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/build/utils.d.ts CHANGED
@@ -2,9 +2,9 @@ import { Table } from "pg-structure";
2
2
  import { Config } from "./config";
3
3
  import { DatabaseColumnType, PrimitiveTypescriptType } from "./EntityDbMetadata";
4
4
  export declare function assertNever(x: never): never;
5
- export declare function isEntityTable(t: Table): boolean;
6
- export declare function isEnumTable(t: Table): boolean;
7
- export declare function isJoinTable(t: Table): boolean;
5
+ export declare function isEntityTable(config: Config, t: Table): boolean;
6
+ export declare function isEnumTable(config: Config, t: Table): boolean;
7
+ export declare function isJoinTable(config: Config, t: Table): boolean;
8
8
  /** Converts `projects` to `Project`. */
9
9
  export declare function tableToEntityName(config: Config, table: Table): string;
10
10
  /** Maps db types, i.e. `int`, to JS types, i.e. `number`. */
@@ -14,3 +14,4 @@ export declare function merge<T>(a: T[], b: T[]): T[];
14
14
  export declare function trueIfResolved(p: Promise<unknown>): Promise<boolean>;
15
15
  export declare function fail(message?: string): never;
16
16
  export declare function sortKeys<T extends object>(o: T): T;
17
+ export declare function q(s: string | undefined): string | undefined;
package/build/utils.js CHANGED
@@ -3,25 +3,47 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sortKeys = exports.fail = exports.trueIfResolved = exports.merge = exports.mapSimpleDbTypeToTypescriptType = exports.tableToEntityName = exports.isJoinTable = exports.isEnumTable = exports.isEntityTable = exports.assertNever = void 0;
6
+ exports.q = exports.sortKeys = exports.fail = exports.trueIfResolved = exports.merge = exports.mapSimpleDbTypeToTypescriptType = exports.tableToEntityName = exports.isJoinTable = exports.isEnumTable = exports.isEntityTable = exports.assertNever = void 0;
7
7
  const change_case_1 = require("change-case");
8
8
  const is_plain_object_1 = __importDefault(require("is-plain-object"));
9
9
  const pluralize_1 = __importDefault(require("pluralize"));
10
+ const config_1 = require("./config");
10
11
  function assertNever(x) {
11
12
  throw new Error("Unexpected object: " + x);
12
13
  }
13
14
  exports.assertNever = assertNever;
14
- function isEntityTable(t) {
15
+ function isEntityTable(config, t) {
16
+ if (isIgnored(config, t) || isJoinTable(config, t)) {
17
+ return false;
18
+ }
19
+ // Depending on the config settings, we may/may not require the presence of timestamp
20
+ // fields to determine whether a table is an entity.
15
21
  const columnNames = t.columns.map((c) => c.name);
16
- return includesAllOf(columnNames, ["id", "created_at", "updated_at"]);
22
+ const { updatedAtConf, createdAtConf } = (0, config_1.getTimestampConfig)(config);
23
+ const hasCreatedAt = createdAtConf.names.some((c) => columnNames.includes(c));
24
+ const hasUpdatedAt = updatedAtConf.names.some((c) => columnNames.includes(c));
25
+ // If we have no timestamp columns, but do have `name` and `code`, we're probably an enum.
26
+ const idMatch = columnNames.includes("id");
27
+ if (idMatch && !hasCreatedAt && !hasUpdatedAt) {
28
+ if (["name", "code"].every((c) => columnNames.includes(c))) {
29
+ return false;
30
+ }
31
+ }
32
+ return idMatch && (hasCreatedAt || createdAtConf.optional) && (hasUpdatedAt || updatedAtConf.optional);
17
33
  }
18
34
  exports.isEntityTable = isEntityTable;
19
- function isEnumTable(t) {
35
+ function isEnumTable(config, t) {
36
+ if (isIgnored(config, t)) {
37
+ return false;
38
+ }
20
39
  const columnNames = t.columns.map((c) => c.name);
21
- return includesAllOf(columnNames, ["id", "code", "name"]) && !isEntityTable(t);
40
+ return ["id", "code", "name"].every((c) => columnNames.includes(c)) && !isEntityTable(config, t);
22
41
  }
23
42
  exports.isEnumTable = isEnumTable;
24
- function isJoinTable(t) {
43
+ function isJoinTable(config, t) {
44
+ if (isIgnored(config, t)) {
45
+ return false;
46
+ }
25
47
  const { columns } = t;
26
48
  const hasOnePk = columns.filter((c) => c.isPrimaryKey).length === 1;
27
49
  const hasTwoFks = columns.filter((c) => c.isForeignKey).length === 2;
@@ -30,9 +52,6 @@ function isJoinTable(t) {
30
52
  return hasOnePk && hasTwoFks && (hasThreeColumns || hasFourColumnsOneIsCreatedAt);
31
53
  }
32
54
  exports.isJoinTable = isJoinTable;
33
- function includesAllOf(set, subset) {
34
- return subset.find((e) => !set.includes(e)) === undefined;
35
- }
36
55
  /** Converts `projects` to `Project`. */
37
56
  function tableToEntityName(config, table) {
38
57
  let entityName = config.__tableToEntityName?.[table.name];
@@ -61,6 +80,7 @@ function mapSimpleDbTypeToTypescriptType(dbType) {
61
80
  case "uuid":
62
81
  return "string";
63
82
  case "timestamp with time zone":
83
+ case "timestamp without time zone":
64
84
  case "date":
65
85
  return "Date";
66
86
  case "jsonb":
@@ -94,4 +114,11 @@ function sortKeys(o) {
94
114
  }, {});
95
115
  }
96
116
  exports.sortKeys = sortKeys;
117
+ function q(s) {
118
+ return s === undefined ? undefined : `"${s}"`;
119
+ }
120
+ exports.q = q;
121
+ function isIgnored(config, t) {
122
+ return (config.ignoredTables || ["migrations", "pgmigrations"]).includes(t.name);
123
+ }
97
124
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "joist-codegen",
3
- "version": "1.1.5",
3
+ "version": "1.2.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  "@types/pluralize": "0.0.29",
20
20
  "change-case": "^4.1.1",
21
21
  "is-plain-object": "^3.0.1",
22
- "joist-utils": "1.1.5",
22
+ "joist-utils": "1.2.0",
23
23
  "knex": "^0.95.9",
24
24
  "pg": "^8.7.1",
25
25
  "pg-structure": "^7.13.0",