neoorm 0.5.2 → 0.6.1

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 (101) hide show
  1. package/README.md +1 -1
  2. package/dist/codegen/diff-manifest.d.ts.map +1 -1
  3. package/dist/codegen/diff-manifest.js +3 -2
  4. package/dist/codegen/diff-manifest.js.map +1 -1
  5. package/dist/codegen/generate.d.ts +0 -2
  6. package/dist/codegen/generate.d.ts.map +1 -1
  7. package/dist/codegen/generate.js +3 -26
  8. package/dist/codegen/generate.js.map +1 -1
  9. package/dist/codegen/schema-to-manifest.d.ts +1 -2
  10. package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
  11. package/dist/codegen/schema-to-manifest.js +126 -65
  12. package/dist/codegen/schema-to-manifest.js.map +1 -1
  13. package/dist/dialect/postgres.d.ts.map +1 -1
  14. package/dist/dialect/postgres.js +2 -1
  15. package/dist/dialect/postgres.js.map +1 -1
  16. package/dist/dialect/sqlite.d.ts.map +1 -1
  17. package/dist/dialect/sqlite.js +2 -1
  18. package/dist/dialect/sqlite.js.map +1 -1
  19. package/dist/dialect/types.d.ts +2 -0
  20. package/dist/dialect/types.d.ts.map +1 -1
  21. package/dist/init/templates.d.ts.map +1 -1
  22. package/dist/init/templates.js +11 -13
  23. package/dist/init/templates.js.map +1 -1
  24. package/dist/introspect/pull.d.ts.map +1 -1
  25. package/dist/introspect/pull.js +74 -32
  26. package/dist/introspect/pull.js.map +1 -1
  27. package/dist/plugins/builtin.d.ts +3 -5
  28. package/dist/plugins/builtin.d.ts.map +1 -1
  29. package/dist/plugins/builtin.js +5 -7
  30. package/dist/plugins/builtin.js.map +1 -1
  31. package/dist/runtime/client.d.ts.map +1 -1
  32. package/dist/runtime/client.js +4 -0
  33. package/dist/runtime/client.js.map +1 -1
  34. package/dist/runtime/query/create.d.ts.map +1 -1
  35. package/dist/runtime/query/create.js +2 -1
  36. package/dist/runtime/query/create.js.map +1 -1
  37. package/dist/runtime/query/delete.d.ts.map +1 -1
  38. package/dist/runtime/query/delete.js +2 -1
  39. package/dist/runtime/query/delete.js.map +1 -1
  40. package/dist/runtime/query/find-or-create.js +2 -1
  41. package/dist/runtime/query/find-or-create.js.map +1 -1
  42. package/dist/runtime/query/find.d.ts.map +1 -1
  43. package/dist/runtime/query/find.js +2 -1
  44. package/dist/runtime/query/find.js.map +1 -1
  45. package/dist/runtime/query/group-by.d.ts.map +1 -1
  46. package/dist/runtime/query/group-by.js +2 -1
  47. package/dist/runtime/query/group-by.js.map +1 -1
  48. package/dist/runtime/query/map-row.d.ts +5 -0
  49. package/dist/runtime/query/map-row.d.ts.map +1 -0
  50. package/dist/runtime/query/map-row.js +13 -0
  51. package/dist/runtime/query/map-row.js.map +1 -0
  52. package/dist/runtime/query/relation-planner.d.ts.map +1 -1
  53. package/dist/runtime/query/relation-planner.js +2 -1
  54. package/dist/runtime/query/relation-planner.js.map +1 -1
  55. package/dist/runtime/query/strip.d.ts +6 -0
  56. package/dist/runtime/query/strip.d.ts.map +1 -0
  57. package/dist/runtime/query/strip.js +117 -0
  58. package/dist/runtime/query/strip.js.map +1 -0
  59. package/dist/runtime/query/table-index.d.ts +2 -0
  60. package/dist/runtime/query/table-index.d.ts.map +1 -1
  61. package/dist/runtime/query/table-index.js +4 -0
  62. package/dist/runtime/query/table-index.js.map +1 -1
  63. package/dist/runtime/query/update.d.ts.map +1 -1
  64. package/dist/runtime/query/update.js +2 -1
  65. package/dist/runtime/query/update.js.map +1 -1
  66. package/dist/runtime/query/upsert.js +2 -1
  67. package/dist/runtime/query/upsert.js.map +1 -1
  68. package/dist/runtime/types.d.ts +2 -2
  69. package/dist/runtime/types.d.ts.map +1 -1
  70. package/dist/schema/column-where.d.ts +8 -4
  71. package/dist/schema/column-where.d.ts.map +1 -1
  72. package/dist/schema/column.d.ts +51 -5
  73. package/dist/schema/column.d.ts.map +1 -1
  74. package/dist/schema/column.js +63 -8
  75. package/dist/schema/column.js.map +1 -1
  76. package/dist/schema/define-schema.d.ts.map +1 -1
  77. package/dist/schema/define-schema.js +34 -0
  78. package/dist/schema/define-schema.js.map +1 -1
  79. package/dist/schema/index.d.ts +7 -7
  80. package/dist/schema/index.d.ts.map +1 -1
  81. package/dist/schema/index.js +2 -2
  82. package/dist/schema/index.js.map +1 -1
  83. package/dist/schema/many-to-many.d.ts +2 -22
  84. package/dist/schema/many-to-many.d.ts.map +1 -1
  85. package/dist/schema/many-to-many.js +9 -43
  86. package/dist/schema/many-to-many.js.map +1 -1
  87. package/dist/schema/nested-relation-types.d.ts +4 -4
  88. package/dist/schema/nested-relation-types.d.ts.map +1 -1
  89. package/dist/schema/relation-types.d.ts +34 -10
  90. package/dist/schema/relation-types.d.ts.map +1 -1
  91. package/dist/schema/relation.d.ts +15 -19
  92. package/dist/schema/relation.d.ts.map +1 -1
  93. package/dist/schema/relation.js +54 -34
  94. package/dist/schema/relation.js.map +1 -1
  95. package/dist/schema/table.d.ts +16 -8
  96. package/dist/schema/table.d.ts.map +1 -1
  97. package/dist/schema/table.js +53 -13
  98. package/dist/schema/table.js.map +1 -1
  99. package/dist/schema/types.d.ts +1 -1
  100. package/dist/schema/types.d.ts.map +1 -1
  101. package/package.json +1 -1
@@ -11,26 +11,81 @@ export function createColumnBuilder(meta) {
11
11
  index() {
12
12
  return createColumnBuilder({ ...meta, index: true });
13
13
  },
14
+ hidden() {
15
+ return createColumnBuilder({ ...meta, hidden: true });
16
+ },
14
17
  default(value) {
15
18
  return createColumnBuilder({ ...meta, defaultValue: value });
16
19
  },
20
+ primary() {
21
+ return createColumnBuilder({ ...meta, primary: true, nullable: false });
22
+ },
23
+ map(name) {
24
+ return createColumnBuilder({ ...meta, mapName: name });
25
+ },
26
+ check(expression) {
27
+ return createColumnBuilder({ ...meta, checkExpression: expression });
28
+ },
29
+ };
30
+ return builder;
31
+ }
32
+ export function createTimestampColumnBuilder(meta) {
33
+ const builder = {
34
+ _type: undefined,
35
+ _meta: meta,
36
+ notNull() {
37
+ return createTimestampColumnBuilder({ ...meta, nullable: false });
38
+ },
39
+ unique() {
40
+ return createTimestampColumnBuilder({ ...meta, unique: true });
41
+ },
42
+ index() {
43
+ return createTimestampColumnBuilder({ ...meta, index: true });
44
+ },
45
+ hidden() {
46
+ return createTimestampColumnBuilder({ ...meta, hidden: true });
47
+ },
48
+ default(value) {
49
+ return createTimestampColumnBuilder({ ...meta, defaultValue: value });
50
+ },
51
+ primary() {
52
+ return createTimestampColumnBuilder({ ...meta, primary: true });
53
+ },
54
+ map(name) {
55
+ return createTimestampColumnBuilder({ ...meta, mapName: name });
56
+ },
57
+ check(expression) {
58
+ return createTimestampColumnBuilder({ ...meta, checkExpression: expression });
59
+ },
17
60
  defaultNow() {
18
- return createColumnBuilder({ ...meta, defaultNow: true });
61
+ return createTimestampColumnBuilder({ ...meta, defaultNow: true });
19
62
  },
20
63
  updatedAt() {
21
- return createColumnBuilder({
64
+ return createTimestampColumnBuilder({
22
65
  ...meta,
23
66
  updatedAt: true,
24
67
  });
25
68
  },
26
- primary() {
27
- return createColumnBuilder({ ...meta, primary: true, nullable: false });
28
- },
29
- map(name) {
30
- return createColumnBuilder({ ...meta, mapName: name });
31
- },
32
69
  };
33
70
  return builder;
34
71
  }
72
+ export function timestamps() {
73
+ const createdAt = createTimestampColumnBuilder({
74
+ kind: "timestamp",
75
+ nullable: false,
76
+ unique: false,
77
+ primary: false,
78
+ defaultNow: true,
79
+ });
80
+ const updatedAt = createTimestampColumnBuilder({
81
+ kind: "timestamp",
82
+ nullable: false,
83
+ unique: false,
84
+ primary: false,
85
+ defaultNow: true,
86
+ updatedAt: true,
87
+ });
88
+ return { createdAt, updatedAt };
89
+ }
35
90
  export { bool, bigint, bytea, citext, decimal, enumType, id, int, intArray, json, jsonb, numeric, serial, text, textArray, timestamp, uuid, } from "../plugins/builtin.js";
36
91
  //# sourceMappingURL=column.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"column.js","sourceRoot":"","sources":["../../src/schema/column.ts"],"names":[],"mappings":"AA8DA,MAAM,UAAU,mBAAmB,CAClC,IAAW;IAEX,MAAM,OAAO,GAAiC;QAC7C,KAAK,EAAE,SAA8B;QACrC,KAAK,EAAE,IAAI;QACX,OAAO;YACN,OAAO,mBAAmB,CAGxB,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAE3B,CAAC,CAAC;QACJ,CAAC;QACD,MAAM;YACL,OAAO,mBAAmB,CAGxB,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAExB,CAAC,CAAC;QACJ,CAAC;QACD,KAAK;YACJ,OAAO,mBAAmB,CAGxB,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAEvB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,KAAa;YACpB,OAAO,mBAAmB,CAGxB,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,KAAK,EAGJ,CAAC,CAAC;QAC/B,CAAC;QACD,UAAU;YACT,OAAO,mBAAmB,CAGxB,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAE5B,CAAC,CAAC;QACJ,CAAC;QACD,SAAS;YACR,OAAO,mBAAmB,CAAgC;gBACzD,GAAG,IAAI;gBACP,SAAS,EAAE,IAAI;aACU,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO;YACN,OAAO,mBAAmB,CAGxB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAK1C,CAAC,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAY;YACf,OAAO,mBAAmB,CAGxB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAEzB,CAAC,CAAC;QACJ,CAAC;KACD,CAAC;IACF,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,OAAO,EACN,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,EAAE,EACF,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,SAAS,EACT,IAAI,GACJ,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"column.js","sourceRoot":"","sources":["../../src/schema/column.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-schema.d.ts","sourceRoot":"","sources":["../../src/schema/define-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;IACjE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,GAAG,OAAO,CAAC;AAEZ,wBAAgB,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpE,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,aAAkB,GACzB,SAAS,CAAC,OAAO,CAAC,CAWpB"}
1
+ {"version":3,"file":"define-schema.d.ts","sourceRoot":"","sources":["../../src/schema/define-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;IACjE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,GAAG,OAAO,CAAC;AA0CZ,wBAAgB,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpE,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,aAAkB,GACzB,SAAS,CAAC,OAAO,CAAC,CAepB"}
@@ -1,4 +1,38 @@
1
+ function findPrimaryKeyColumn(table) {
2
+ for (const [tsName, col] of Object.entries(table._columns)) {
3
+ if (typeof col === "object" &&
4
+ col !== null &&
5
+ "_meta" in col &&
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ col._meta?.primary === true) {
8
+ return tsName;
9
+ }
10
+ }
11
+ for (const [tsName, col] of Object.entries(table._columns)) {
12
+ if (typeof col === "object" &&
13
+ col !== null &&
14
+ "_meta" in col &&
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ col._meta?.kind === "id") {
17
+ return tsName;
18
+ }
19
+ }
20
+ return undefined;
21
+ }
22
+ function assignTableAccessor(table, accessor) {
23
+ const sqlName = table._tableName || accessor;
24
+ const pkColumnName = findPrimaryKeyColumn(table);
25
+ const targetRef = pkColumnName ? `${sqlName}.${pkColumnName}` : `${sqlName}.`;
26
+ Object.assign(table, {
27
+ _tableName: sqlName,
28
+ _accessor: accessor,
29
+ _targetRef: targetRef,
30
+ });
31
+ }
1
32
  export function defineSchema(tables, options = {}) {
33
+ for (const [accessor, tableDef] of Object.entries(tables)) {
34
+ assignTableAccessor(tableDef, accessor);
35
+ }
2
36
  const base = {
3
37
  _tables: tables,
4
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"define-schema.js","sourceRoot":"","sources":["../../src/schema/define-schema.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,YAAY,CAC3B,MAAe,EACf,OAAO,GAAkB,EAAE;IAE3B,MAAM,IAAI,GAA4B;QACrC,OAAO,EAAE,MAAM;KACf,CAAC;IACF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAuB,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"define-schema.js","sourceRoot":"","sources":["../../src/schema/define-schema.ts"],"names":[],"mappings":"AAaA,SAAS,oBAAoB,CAC5B,KAAe;IAEf,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,IACC,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG,KAAK,IAAI;YACZ,OAAO,IAAI,GAAG;YACd,8DAA8D;YAC7D,GAAW,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EACnC,CAAC;YACF,OAAO,MAAM,CAAC;QACf,CAAC;IACF,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,IACC,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG,KAAK,IAAI;YACZ,OAAO,IAAI,GAAG;YACd,8DAA8D;YAC7D,GAAW,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,EAChC,CAAC;YACF,OAAO,MAAM,CAAC;QACf,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe,EAAE,QAAgB;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC;IAC7C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IAE9E,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACpB,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,SAAS;KACrB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,MAAe,EACf,OAAO,GAAkB,EAAE;IAE3B,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,GAA4B;QACrC,OAAO,EAAE,MAAM;KACf,CAAC;IACF,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAuB,CAAC;AAC1D,CAAC"}
@@ -1,15 +1,15 @@
1
1
  export type { DecimalOptions, EnumTypeOptions, UuidOptions, } from "../plugins/builtin.js";
2
- export type { ColumnBuilder, ColumnKind, ColumnMeta } from "./column.js";
3
- export { bigint, bool, bytea, citext, decimal, enumType, id, int, intArray, json, jsonb, numeric, serial, text, textArray, timestamp, uuid, } from "./column.js";
2
+ export type { ColumnBuilder, ColumnKind, ColumnMeta, TimestampColumnBuilder, } from "./column.js";
3
+ export { bigint, bool, bytea, citext, decimal, enumType, id, int, intArray, json, jsonb, numeric, serial, text, textArray, timestamp, timestamps, uuid, } from "./column.js";
4
4
  export type { SchemaDef, SchemaOptions } from "./define-schema.js";
5
5
  export { defineSchema } from "./define-schema.js";
6
- export type { InlineManyToManyOptions, ManyToManyDef, ManyToManyExtra, } from "./many-to-many.js";
7
- export { clearManyToManyRegistry, getManyToManyRegistry, manyToMany, } from "./many-to-many.js";
6
+ export type { InlineManyToManyOptions, ManyToManyExtra, } from "./many-to-many.js";
7
+ export { manyToMany } from "./many-to-many.js";
8
8
  export { clearTableRegistry } from "./table-registry.js";
9
- export type { FkBuilder, FkMeta, FkOptions, OnDeleteAction, } from "./relation.js";
9
+ export type { FkBuilder, FkMeta, OnDeleteAction, } from "./relation.js";
10
10
  export { fk } from "./relation.js";
11
11
  export type { InlineM2MInverseRelations, InlineM2MInverseWhereMap, InlineM2MInverseWriteMap, InlineM2MRelations, InlineM2MWhereMap, InlineM2MWriteMap, InverseRelations, JunctionM2MRelations, NestedCreateInput, OutgoingFkRelations, RelationCreateMap, RelationUpdateMap, SqlNameToAccessor, } from "./relation-types.js";
12
- export type { ColumnDef, ColumnNaming, ColumnRefs, IndexDef, PrimaryKeyDef, ScalarColumnKeys, TableDef, TableExtra, TableOptions, } from "./table.js";
12
+ export type { ColumnDef, ColumnNaming, ColumnRefs, IndexDef, IndexWherePredicate, PrimaryKeyDef, ScalarColumnKeys, TableDef, TableExtra, TableOptions, } from "./table.js";
13
13
  export { index, primaryKey, table, unique } from "./table.js";
14
- export type { AggregateArgs, ApplyOmit, ApplySelect, ColumnWhereInput, ConnectInput, ConnectOrCreateItem, CountArgs, CountSelect, CreateArgs, CreateInput, CreateManyAndReturnArgs, CreateManyArgs, CreateManyInput, CursorInput, DeleteArgs, DeleteManyAndReturnArgs, DeleteManyArgs, ExistsArgs, FindByIdArgs, FindFirstArgs, FindManyArgs, FindOrCreateArgs, FindOrCreateResult, FindUniqueArgs, GroupByArgs, GroupByHaving, GroupByOrderBy, InferAggregateResult, InferCountResult, InferFindResult, InferGroupByResult, InferInsertRow, InferSelectRow, InferWithResult, LogicalWhereInput, ManyRelationFilter, NumericHaving, NumericUpdateOps, OmitInput, OrderByInput, OrderDirection, PaginateArgs, PaginateResult, QueryMode, RelationAccessors, RelationCountInput, RelationWhereMap, RelationWriteInput, ScalarPkName, ScalarSetOp, SchemaTables, SelectInput, UpdateArgs, UpdateInput, UpdateManyAndReturnArgs, UpdateManyArgs, UpsertArgs, WhereInput, WhereOperators, WithInclude, WithInput, WithInputMap, WithRelationOptions, } from "./types.js";
14
+ export type { AggregateArgs, ApplyOmit, ApplySelect, ColumnWhereInput, ConnectInput, ConnectOrCreateItem, CountArgs, CountSelect, CreateArgs, CreateInput, CreateManyAndReturnArgs, CreateManyArgs, CreateManyInput, CursorInput, DeleteArgs, DeleteManyAndReturnArgs, DeleteManyArgs, ExistsArgs, FindByIdArgs, FindFirstArgs, FindManyArgs, FindOrCreateArgs, FindOrCreateResult, FindUniqueArgs, GroupByArgs, GroupByHaving, GroupByOrderBy, InferAggregateResult, InferCountResult, InferFindResult, InferGroupByResult, InferInsertRow, InferSelectRow, InferWithResult, LogicalWhereInput, ManyRelationFilter, NumericHaving, NumericUpdateOps, OmitInput, OrderByInput, OrderDirection, PaginateArgs, PaginateResult, QueryMode, RelationAccessors, RelationCountInput, RelationWhereMap, RelationWriteInput, ScalarPkName, ScalarSetOp, SchemaTables, SelectInput, HiddenKeys, StripOmitKeys, StripResult, StripCapable, UpdateArgs, UpdateInput, UpdateManyAndReturnArgs, UpdateManyArgs, UpsertArgs, WhereInput, WhereOperators, WithInclude, WithInput, WithInputMap, WithRelationOptions, } from "./types.js";
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,cAAc,EACd,eAAe,EACf,WAAW,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,EAAE,EACF,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,SAAS,EACT,IAAI,GACJ,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACX,uBAAuB,EACvB,aAAa,EACb,eAAe,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EACX,SAAS,EACT,MAAM,EACN,SAAS,EACT,cAAc,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,YAAY,EACX,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,YAAY,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,mBAAmB,GACnB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,cAAc,EACd,eAAe,EACf,WAAW,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,sBAAsB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,EAAE,EACF,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,SAAS,EACT,UAAU,EACV,IAAI,GACJ,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACX,uBAAuB,EACvB,eAAe,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EACX,SAAS,EACT,MAAM,EACN,cAAc,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,YAAY,EACX,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,YAAY,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC9D,YAAY,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,WAAW,EACX,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,mBAAmB,GACnB,MAAM,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
- export { bigint, bool, bytea, citext, decimal, enumType, id, int, intArray, json, jsonb, numeric, serial, text, textArray, timestamp, uuid, } from "./column.js";
1
+ export { bigint, bool, bytea, citext, decimal, enumType, id, int, intArray, json, jsonb, numeric, serial, text, textArray, timestamp, timestamps, uuid, } from "./column.js";
2
2
  export { defineSchema } from "./define-schema.js";
3
- export { clearManyToManyRegistry, getManyToManyRegistry, manyToMany, } from "./many-to-many.js";
3
+ export { manyToMany } from "./many-to-many.js";
4
4
  export { clearTableRegistry } from "./table-registry.js";
5
5
  export { fk } from "./relation.js";
6
6
  export { index, primaryKey, table, unique } from "./table.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,EAAE,EACF,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,SAAS,EACT,IAAI,GACJ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EACN,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAOzD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AA2BnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,EAAE,EACF,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,EACJ,SAAS,EACT,SAAS,EACT,UAAU,EACV,IAAI,GACJ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAMzD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AA4BnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
@@ -1,15 +1,14 @@
1
- import type { TableDef } from "./table.js";
2
1
  export type ManyToManyExtra<TTarget extends string = string, TAs extends string = string, TInverse extends string = string> = {
3
2
  kind: "manyToMany";
4
3
  /** Target table accessor name (e.g. "tags"). */
5
4
  target: TTarget;
6
- /** Junction table SQL name. When omitted, a junction table is generated. */
5
+ /** Junction table accessor. When omitted, a junction table is generated. */
7
6
  through?: string;
8
7
  /** Junction column (TS name) referencing the source table. */
9
8
  leftKey?: string;
10
9
  /** Junction column (TS name) referencing the target table. */
11
10
  rightKey?: string;
12
- /** Relation name on the source table. Defaults to the column/extras key. */
11
+ /** Relation name on the source table. Defaults to the column key. */
13
12
  as: TAs;
14
13
  /** Relation name on the target table. Defaults to the source accessor. */
15
14
  inverse: TInverse;
@@ -27,25 +26,6 @@ type ManyToManyAsOf<T extends InlineManyToManyOptions> = T extends {
27
26
  type ManyToManyInverseOf<T extends InlineManyToManyOptions> = T extends {
28
27
  inverse: infer Inv extends string;
29
28
  } ? Inv : "";
30
- export type ManyToManyDef = {
31
- kind: "manyToMany";
32
- leftKey: string;
33
- rightKey: string;
34
- throughKey: string;
35
- leftRelation: string;
36
- rightRelation: string;
37
- as: string;
38
- inverse: string;
39
- };
40
29
  export declare function manyToMany<const TTarget extends string, const TOptions extends InlineManyToManyOptions = {}>(target: TTarget, options?: TOptions): ManyToManyExtra<TTarget, ManyToManyAsOf<TOptions>, ManyToManyInverseOf<TOptions>>;
41
- export declare function manyToMany<TLeft extends TableDef, TRight extends TableDef, TThrough extends TableDef>(left: TLeft, right: TRight, options: {
42
- through: TThrough;
43
- left: string;
44
- right: string;
45
- as: string;
46
- inverse: string;
47
- }): void;
48
- export declare function getManyToManyRegistry(): readonly ManyToManyDef[];
49
- export declare function clearManyToManyRegistry(): void;
50
30
  export {};
51
31
  //# sourceMappingURL=many-to-many.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"many-to-many.d.ts","sourceRoot":"","sources":["../../src/schema/many-to-many.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,eAAe,CAC1B,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,QAAQ,SAAS,MAAM,GAAG,MAAM,IAC7B;IACH,IAAI,EAAE,YAAY,CAAC;IACnB,gDAAgD;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,EAAE,EAAE,GAAG,CAAC;IACR,0EAA0E;IAC1E,OAAO,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,SAAS,uBAAuB,IAAI,CAAC,SAAS;IAClE,EAAE,EAAE,MAAM,EAAE,SAAS,MAAM,CAAC;CAC5B,GACE,EAAE,GACF,EAAE,CAAC;AAEN,KAAK,mBAAmB,CAAC,CAAC,SAAS,uBAAuB,IAAI,CAAC,SAAS;IACvE,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,CAAC;CAClC,GACE,GAAG,GACH,EAAE,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAaF,wBAAgB,UAAU,CACzB,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,KAAK,CAAC,QAAQ,SAAS,uBAAuB,GAAG,EAAE,EAEnD,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,QAAQ,GAChB,eAAe,CACjB,OAAO,EACP,cAAc,CAAC,QAAQ,CAAC,EACxB,mBAAmB,CAAC,QAAQ,CAAC,CAC7B,CAAC;AACF,wBAAgB,UAAU,CACzB,KAAK,SAAS,QAAQ,EACtB,MAAM,SAAS,QAAQ,EACvB,QAAQ,SAAS,QAAQ,EAEzB,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACR,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CAChB,GACC,IAAI,CAAC;AAwCR,wBAAgB,qBAAqB,IAAI,SAAS,aAAa,EAAE,CAEhE;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"many-to-many.d.ts","sourceRoot":"","sources":["../../src/schema/many-to-many.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,CAC1B,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,QAAQ,SAAS,MAAM,GAAG,MAAM,IAC7B;IACH,IAAI,EAAE,YAAY,CAAC;IACnB,gDAAgD;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,EAAE,EAAE,GAAG,CAAC;IACR,0EAA0E;IAC1E,OAAO,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,SAAS,uBAAuB,IAAI,CAAC,SAAS;IAClE,EAAE,EAAE,MAAM,EAAE,SAAS,MAAM,CAAC;CAC5B,GACE,EAAE,GACF,EAAE,CAAC;AAEN,KAAK,mBAAmB,CAAC,CAAC,SAAS,uBAAuB,IAAI,CAAC,SAAS;IACvE,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,CAAC;CAClC,GACE,GAAG,GACH,EAAE,CAAC;AAEN,wBAAgB,UAAU,CACzB,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,KAAK,CAAC,QAAQ,SAAS,uBAAuB,GAAG,EAAE,EAEnD,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,QAAQ,GAChB,eAAe,CACjB,OAAO,EACP,cAAc,CAAC,QAAQ,CAAC,EACxB,mBAAmB,CAAC,QAAQ,CAAC,CAC7B,CAUA"}
@@ -1,46 +1,12 @@
1
- // The registry lives on globalThis so every module instance (src vs dist,
2
- // tsx tsImport vs Node import) shares the same array — a schema module loaded
3
- // through tsImport evaluates its DSL imports in an isolated module graph, so a
4
- // module-local array would never be visible to the codegen process reading it.
5
- const REGISTRY_KEY = Symbol.for("neoorm.manyToManyRegistry");
6
- function registry() {
7
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- return (globalThis[REGISTRY_KEY] ??= []);
9
- }
10
- export function manyToMany(
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- ...args) {
13
- const [first, second, third] = args;
14
- if (typeof first === "string") {
15
- const options = second;
16
- return {
17
- kind: "manyToMany",
18
- target: first,
19
- ...(options?.through ? { through: options.through } : {}),
20
- ...(options?.leftKey ? { leftKey: options.leftKey } : {}),
21
- ...(options?.rightKey ? { rightKey: options.rightKey } : {}),
22
- as: options?.as ?? "",
23
- inverse: options?.inverse ?? "",
24
- };
25
- }
26
- const left = first;
27
- const right = second;
28
- const options = third;
29
- registry().push({
1
+ export function manyToMany(target, options) {
2
+ return {
30
3
  kind: "manyToMany",
31
- leftKey: left._tableName,
32
- rightKey: right._tableName,
33
- throughKey: options.through._tableName,
34
- leftRelation: options.left,
35
- rightRelation: options.right,
36
- as: options.as,
37
- inverse: options.inverse,
38
- });
39
- }
40
- export function getManyToManyRegistry() {
41
- return registry();
42
- }
43
- export function clearManyToManyRegistry() {
44
- registry().length = 0;
4
+ target,
5
+ ...(options?.through ? { through: options.through } : {}),
6
+ ...(options?.leftKey ? { leftKey: options.leftKey } : {}),
7
+ ...(options?.rightKey ? { rightKey: options.rightKey } : {}),
8
+ as: (options?.as ?? ""),
9
+ inverse: (options?.inverse ?? ""),
10
+ };
45
11
  }
46
12
  //# sourceMappingURL=many-to-many.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"many-to-many.js","sourceRoot":"","sources":["../../src/schema/many-to-many.ts"],"names":[],"mappings":"AAqDA,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAE7D,SAAS,QAAQ;IAChB,8DAA8D;IAC9D,OAAO,CAAE,UAAkB,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AA4BD,MAAM,UAAU,UAAU;AACzB,8DAA8D;AAC9D,GAAG,IAAW;IAEd,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAA6C,CAAC;QAC9D,OAAO;YACN,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,KAAK;YACb,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE;YACrB,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;SAC/B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC;IACnB,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,OAAO,GAAG,KAMf,CAAC;IACF,QAAQ,EAAE,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI,CAAC,UAAU;QACxB,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;QACtC,YAAY,EAAE,OAAO,CAAC,IAAI;QAC1B,aAAa,EAAE,OAAO,CAAC,KAAK;QAC5B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC,OAAO;KACxB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACpC,OAAO,QAAQ,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,uBAAuB;IACtC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"many-to-many.js","sourceRoot":"","sources":["../../src/schema/many-to-many.ts"],"names":[],"mappings":"AAwCA,MAAM,UAAU,UAAU,CAIzB,MAAe,EACf,OAAkB;IAMlB,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,MAAM;QACN,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAA6B;QACnD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAkC;KAClE,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ColumnBuilder } from "./column.js";
2
2
  import type { FkBuilder, FkMeta } from "./relation.js";
3
- import type { ConnectInput, FkInverseName, FkRelationName, InferInsertRow, SqlNameToAccessor } from "./relation-types.js";
3
+ import type { ConnectInput, FkInverseName, FkRelationName, InferInsertRow } from "./relation-types.js";
4
4
  import type { ColumnDef, TableDef } from "./table.js";
5
5
  type Expand<T> = T extends infer O ? {
6
6
  [K in keyof O]: O[K];
@@ -20,7 +20,7 @@ type HasPrimaryIdColumn<TColumns extends Record<string, ColumnDef>> = {
20
20
  type IsThroughTable<TColumns extends Record<string, ColumnDef>> = [
21
21
  HasPrimaryIdColumn<TColumns>
22
22
  ] extends [never] ? HasExactlyTwoFks<TColumns> : false;
23
- type FkTargetMatchesAccessor<TSchema extends Record<string, TableDef>, TTarget extends string, TAccessor extends keyof TSchema & string> = [TTarget] extends [`${TSchema[TAccessor]["_tableName"]}.${string}`] ? true : false;
23
+ type FkTargetMatchesAccessor<TSchema extends Record<string, TableDef>, TTarget extends string, TAccessor extends keyof TSchema & string> = [TTarget] extends [`${TAccessor}.${string}`] ? true : [TTarget] extends [TAccessor] ? true : false;
24
24
  type DisconnectWriteForFk<C extends ColumnDef> = C extends FkBuilder ? C["_meta"] extends {
25
25
  nullable: true;
26
26
  } ? {
@@ -30,11 +30,11 @@ type ShallowToOneRelationWriteForAccessor<TSchema extends Record<string, TableDe
30
30
  connect?: ConnectInput<TSchema[TAccessor]["_columns"], TSchema>;
31
31
  create?: InferInsertRow<TSchema[TAccessor]["_columns"], TSchema>;
32
32
  } & DisconnectWriteForFk<TFkColumn> : never;
33
+ type FkTargetAccessor<TSchema extends Record<string, TableDef>, TTarget extends string> = TTarget extends `${infer Acc}.${string}` ? Acc extends keyof TSchema & string ? Acc : never : TTarget extends keyof TSchema & string ? TTarget : never;
33
34
  type ShallowOutgoingFkRelationWriteMap<TSchema extends Record<string, TableDef>, TColumns extends Record<string, ColumnDef>> = {
34
35
  [K in keyof TColumns & string as TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? TColumns[K]["_meta"] extends {
35
36
  as: infer As extends string;
36
- target: `${infer Sql}.${string}`;
37
- } ? SqlNameToAccessor<TSchema, Sql> extends keyof TSchema & string ? FkRelationName<As, K> : never : never : never : never]?: TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? TColumns[K]["_meta"]["target"] extends `${infer Sql}.${string}` ? SqlNameToAccessor<TSchema, Sql> extends infer Acc extends keyof TSchema & string ? Acc extends keyof TSchema & string ? ShallowToOneRelationWriteForAccessor<TSchema, Acc, TColumns[K]> : never : never : never : never : never;
37
+ } ? FkTargetAccessor<TSchema, TColumns[K]["_meta"]["target"]> extends keyof TSchema & string ? FkRelationName<As, K> : never : never : never : never]?: TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? FkTargetAccessor<TSchema, TColumns[K]["_meta"]["target"]> extends infer Acc extends keyof TSchema & string ? ShallowToOneRelationWriteForAccessor<TSchema, Acc, TColumns[K]> : never : never : never;
38
38
  };
39
39
  type ParentFkColumnOnChild<TSchema extends Record<string, TableDef>, TParentAccessor extends keyof TSchema & string, TChildAccessor extends keyof TSchema & string> = {
40
40
  [K in FkColumnNames<TSchema[TChildAccessor]["_columns"]>]: FkMetaOf<TSchema[TChildAccessor]["_columns"][K]> extends {
@@ -1 +1 @@
1
- {"version":3,"file":"nested-relation-types.d.ts","sourceRoot":"","sources":["../../src/schema/nested-relation-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nested-relation-types.d.ts","sourceRoot":"","sources":["../../src/schema/nested-relation-types.ts"],"names":[],"mappings":"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"}
@@ -99,9 +99,11 @@ export type SqlNameToAccessor<TSchema extends Record<string, TableDef>, TSqlName
99
99
  type OutgoingFkRelationEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef, K extends string> = FkMetaOf<C> extends {
100
100
  target: infer TTarget extends string;
101
101
  as: infer As extends string;
102
- } ? TTarget extends `${infer Sql}.${string}` ? SqlNameToAccessor<TSchema, Sql> extends infer Acc extends keyof TSchema & string ? IsThroughTable<TSchema[Acc]["_columns"]> extends true ? never : {
102
+ } ? TTarget extends `${infer Acc}.${string}` ? Acc extends keyof TSchema & string ? IsThroughTable<TSchema[Acc]["_columns"]> extends true ? never : {
103
103
  [P in FkRelationName<As, K>]: Acc;
104
- } : never : never : never;
104
+ } : never : TTarget extends keyof TSchema & string ? IsThroughTable<TSchema[TTarget]["_columns"]> extends true ? never : {
105
+ [P in FkRelationName<As, K>]: TTarget;
106
+ } : never : never;
105
107
  export type OutgoingFkRelations<TSchema extends Record<string, TableDef>, TColumns extends Record<string, ColumnDef>> = MergeRelationUnion<{
106
108
  [K in keyof TColumns]: OutgoingFkRelationEntry<TSchema, TColumns[K], K & string>;
107
109
  }[keyof TColumns]>;
@@ -110,9 +112,11 @@ export type InverseRelationEntryForSource<TSchema extends Record<string, TableDe
110
112
  target: infer TTarget extends string;
111
113
  inverse: infer Inv extends string;
112
114
  } ? [TTarget] extends [
113
- `${TSchema[TTargetAccessor]["_tableName"]}.${string}`
115
+ `${TTargetAccessor & string}.${string}`
114
116
  ] ? {
115
117
  [P in FkInverseName<Inv, K>]: TSourceAccessor;
118
+ } : [TTarget] extends [TTargetAccessor] ? {
119
+ [P in FkInverseName<Inv, K>]: TSourceAccessor;
116
120
  } : never : never;
117
121
  export type InverseRelationEntriesForTable<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string> = {
118
122
  [K in FkColumnNames<TSchema[TSourceAccessor]["_columns"]>]: InverseRelationEntryForSource<TSchema, TAccessor, TSourceAccessor, TSchema[TSourceAccessor]["_columns"][K], K>;
@@ -120,10 +124,10 @@ export type InverseRelationEntriesForTable<TSchema extends Record<string, TableD
120
124
  export type InverseRelations<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeInverseRelationUnion<{
121
125
  [K in keyof TSchema & string]: MergeInverseRelationUnion<InverseRelationEntriesForTable<TSchema, TAccessor, K>>;
122
126
  }[keyof TSchema & string]>;
123
- type FkTargetMatchesAccessor<TSchema extends Record<string, TableDef>, TTarget extends string, TAccessor extends keyof TSchema & string> = [TTarget] extends [`${TSchema[TAccessor]["_tableName"]}.${string}`] ? true : false;
127
+ type FkTargetMatchesAccessor<TSchema extends Record<string, TableDef>, TTarget extends string, TAccessor extends keyof TSchema & string> = [TTarget] extends [`${TAccessor}.${string}`] ? true : [TTarget] extends [TAccessor] ? true : false;
124
128
  type OtherFkTarget<TSchema extends Record<string, TableDef>, TThroughAccessor extends keyof TSchema & string, TCurrentAccessor extends keyof TSchema & string, TFkCol extends FkColumnNames<TSchema[TThroughAccessor]["_columns"]>> = FkMetaOf<TSchema[TThroughAccessor]["_columns"][TFkCol]> extends {
125
129
  target: infer TTarget extends string;
126
- } ? FkTargetMatchesAccessor<TSchema, TTarget, TCurrentAccessor> extends true ? never : TTarget extends `${infer Sql}.${string}` ? SqlNameToAccessor<TSchema, Sql> : never : never;
130
+ } ? FkTargetMatchesAccessor<TSchema, TTarget, TCurrentAccessor> extends true ? never : TTarget extends `${infer Acc}.${string}` ? Acc extends keyof TSchema & string ? Acc : never : TTarget extends keyof TSchema & string ? TTarget : never : never;
127
131
  /** M2M via junction tables: relation name = target table accessor */
128
132
  type JunctionM2MEntry<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TThroughAccessor extends keyof TSchema & string> = MergeRelationUnion<{
129
133
  [C in FkColumnNames<TSchema[TThroughAccessor]["_columns"]>]: OtherFkTarget<TSchema, TThroughAccessor, TAccessor, C> extends infer Target extends keyof TSchema & string ? {
@@ -200,8 +204,24 @@ export type RelationCountInput<TSchema extends Record<string, TableDef>, TAccess
200
204
  type SelectKeys<S> = S extends readonly (infer K extends PropertyKey)[] ? K : S extends Record<string, unknown> ? {
201
205
  [K in keyof S]: S[K] extends true ? K : never;
202
206
  }[keyof S] : never;
207
+ /** Keys removed by `strip()` — schema `.hidden()` columns plus optional extra omit. */
208
+ export type StripOmitKeys<TColumns extends Record<string, ColumnDef>, O = undefined> = HiddenKeys<TColumns> | (O extends undefined ? never : SelectKeys<O>);
203
209
  export type ApplySelect<Row extends Record<string, unknown>, S> = Pick<Row, SelectKeys<S> & keyof Row>;
204
210
  export type ApplyOmit<Row extends Record<string, unknown>, O> = Omit<Row, SelectKeys<O> & keyof Row>;
211
+ /** Column names marked `.hidden()` in the schema. */
212
+ export type HiddenKeys<TColumns extends Record<string, ColumnDef>> = {
213
+ [K in ScalarColumnKeys<TColumns>]: TColumns[K] extends {
214
+ readonly _meta: infer M;
215
+ } ? M extends {
216
+ hidden: true;
217
+ } ? K : never : never;
218
+ }[ScalarColumnKeys<TColumns>];
219
+ /** Result of `strip()` — removes hidden and extra omitted keys; preserves null/undefined and maps arrays. */
220
+ export type StripResult<T, Keys extends PropertyKey = never> = T extends null | undefined ? T : T extends readonly (infer Item extends Record<string, unknown>)[] ? Array<StripResult<Item, Keys>> : T extends Record<string, unknown> ? Omit<T, Keys> : T;
221
+ /** Row payload with `.strip()` — removes `.hidden()` columns and optional extra fields. */
222
+ export type StripCapable<TColumns extends Record<string, ColumnDef>, TRow extends Record<string, unknown>> = TRow & {
223
+ strip<const O extends OmitInput<TColumns> | undefined = undefined>(omit?: O): StripResult<TRow, StripOmitKeys<TColumns, O>>;
224
+ };
205
225
  type RelationTargetModel<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string> = InferSelectRow<TSchema[TTargetAccessor]["_columns"], TSchema>;
206
226
  type InferNestedWithResult<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string, TInclude, TModel extends Record<string, unknown>> = TInclude extends {
207
227
  select?: infer S;
@@ -241,16 +261,20 @@ export type ManyRelationFilter<TSchema extends Record<string, TableDef>, TTarget
241
261
  type OutgoingFkRelationWhereEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef, K extends string> = FkMetaOf<C> extends {
242
262
  target: infer TTarget extends string;
243
263
  as: infer As extends string;
244
- } ? TTarget extends `${infer Sql}.${string}` ? SqlNameToAccessor<TSchema, Sql> extends infer Acc extends keyof TSchema & string ? IsThroughTable<TSchema[Acc]["_columns"]> extends true ? never : {
264
+ } ? TTarget extends `${infer Acc}.${string}` ? Acc extends keyof TSchema & string ? IsThroughTable<TSchema[Acc]["_columns"]> extends true ? never : {
245
265
  [P in FkRelationName<As, K>]?: WhereInput<TSchema[Acc]["_columns"], TSchema, Acc>;
246
- } : never : never : never;
266
+ } : never : TTarget extends keyof TSchema & string ? IsThroughTable<TSchema[TTarget]["_columns"]> extends true ? never : {
267
+ [P in FkRelationName<As, K>]?: WhereInput<TSchema[TTarget]["_columns"], TSchema, TTarget>;
268
+ } : never : never;
247
269
  type InverseRelationWhereEntry<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string, C extends ColumnDef, K extends string> = IsThroughTable<TSchema[TSourceAccessor]["_columns"]> extends true ? never : FkMetaOf<C> extends {
248
270
  target: infer TTarget extends string;
249
271
  inverse: infer Inv extends string;
250
272
  } ? [TTarget] extends [
251
- `${TSchema[TTargetAccessor]["_tableName"]}.${string}`
273
+ `${TTargetAccessor & string}.${string}`
252
274
  ] ? {
253
275
  [P in FkInverseName<Inv, K>]?: ManyRelationFilter<TSchema, TSourceAccessor>;
276
+ } : [TTarget] extends [TTargetAccessor] ? {
277
+ [P in FkInverseName<Inv, K>]?: ManyRelationFilter<TSchema, TSourceAccessor>;
254
278
  } : never : never;
255
279
  type JunctionM2MWhereEntry<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TThroughAccessor extends keyof TSchema & string> = MergeRelationUnion<{
256
280
  [C in FkColumnNames<TSchema[TThroughAccessor]["_columns"]>]: OtherFkTarget<TSchema, TThroughAccessor, TAccessor, C> extends infer Target extends keyof TSchema & string ? {
@@ -296,11 +320,11 @@ type ToOneRelationWriteForAccessor<TSchema extends Record<string, TableDef>, TAc
296
320
  connect?: ConnectInput<TSchema[TAccessor]["_columns"], TSchema>;
297
321
  create?: InferInsertRow<TSchema[TAccessor]["_columns"], TSchema>;
298
322
  } & DisconnectWriteForFk<TFkColumn> : never;
323
+ type FkTargetAccessor<TSchema extends Record<string, TableDef>, TTarget extends string> = TTarget extends `${infer Acc}.${string}` ? Acc extends keyof TSchema & string ? Acc : never : TTarget extends keyof TSchema & string ? TTarget : never;
299
324
  type OutgoingFkRelationWriteMap<TSchema extends Record<string, TableDef>, TColumns extends Record<string, ColumnDef>> = {
300
325
  [K in keyof TColumns & string as TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? TColumns[K]["_meta"] extends {
301
326
  as: infer As extends string;
302
- target: `${infer Sql}.${string}`;
303
- } ? SqlNameToAccessor<TSchema, Sql> extends keyof TSchema & string ? FkRelationName<As, K> : never : never : never : never]?: TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? TColumns[K]["_meta"]["target"] extends `${infer Sql}.${string}` ? SqlNameToAccessor<TSchema, Sql> extends infer Acc extends keyof TSchema & string ? Acc extends keyof TSchema & string ? ToOneRelationWriteForAccessor<TSchema, Acc, TColumns[K]> : never : never : never : never : never;
327
+ } ? FkTargetAccessor<TSchema, TColumns[K]["_meta"]["target"]> extends keyof TSchema & string ? FkRelationName<As, K> : never : never : never : never]?: TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? FkTargetAccessor<TSchema, TColumns[K]["_meta"]["target"]> extends infer Acc extends keyof TSchema & string ? ToOneRelationWriteForAccessor<TSchema, Acc, TColumns[K]> : never : never : never;
304
328
  };
305
329
  type M2MRelationWriteForAccessor<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string> = TTargetAccessor extends keyof TSchema & string ? {
306
330
  connect?: ConnectInput<TSchema[TTargetAccessor]["_columns"], TSchema>[];