neoorm 0.5.0 → 0.5.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 (72) hide show
  1. package/README.md +5 -5
  2. package/dist/bin/neoorm.js +35 -5
  3. package/dist/bin/neoorm.js.map +1 -1
  4. package/dist/codegen/generate.d.ts.map +1 -1
  5. package/dist/codegen/generate.js +14 -1
  6. package/dist/codegen/generate.js.map +1 -1
  7. package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
  8. package/dist/codegen/schema-to-manifest.js +209 -30
  9. package/dist/codegen/schema-to-manifest.js.map +1 -1
  10. package/dist/dialect/postgres.d.ts.map +1 -1
  11. package/dist/dialect/postgres.js +1 -6
  12. package/dist/dialect/postgres.js.map +1 -1
  13. package/dist/dialect/sqlite.d.ts.map +1 -1
  14. package/dist/dialect/sqlite.js +1 -6
  15. package/dist/dialect/sqlite.js.map +1 -1
  16. package/dist/dialect/types.d.ts +1 -0
  17. package/dist/dialect/types.d.ts.map +1 -1
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/init/templates.d.ts.map +1 -1
  23. package/dist/init/templates.js +16 -6
  24. package/dist/init/templates.js.map +1 -1
  25. package/dist/migrate/runner.d.ts +5 -3
  26. package/dist/migrate/runner.d.ts.map +1 -1
  27. package/dist/migrate/runner.js +46 -19
  28. package/dist/migrate/runner.js.map +1 -1
  29. package/dist/runtime/driver.d.ts.map +1 -1
  30. package/dist/runtime/driver.js +53 -29
  31. package/dist/runtime/driver.js.map +1 -1
  32. package/dist/runtime/errors.d.ts +21 -0
  33. package/dist/runtime/errors.d.ts.map +1 -1
  34. package/dist/runtime/errors.js +64 -0
  35. package/dist/runtime/errors.js.map +1 -1
  36. package/dist/runtime/schema-error.d.ts +18 -0
  37. package/dist/runtime/schema-error.d.ts.map +1 -0
  38. package/dist/runtime/schema-error.js +72 -0
  39. package/dist/runtime/schema-error.js.map +1 -0
  40. package/dist/schema/column-where.d.ts +2 -2
  41. package/dist/schema/column-where.d.ts.map +1 -1
  42. package/dist/schema/column.d.ts +4 -0
  43. package/dist/schema/column.d.ts.map +1 -1
  44. package/dist/schema/column.js +3 -0
  45. package/dist/schema/column.js.map +1 -1
  46. package/dist/schema/index.d.ts +4 -3
  47. package/dist/schema/index.d.ts.map +1 -1
  48. package/dist/schema/index.js +1 -0
  49. package/dist/schema/index.js.map +1 -1
  50. package/dist/schema/many-to-many.d.ts +30 -0
  51. package/dist/schema/many-to-many.d.ts.map +1 -1
  52. package/dist/schema/many-to-many.js +19 -1
  53. package/dist/schema/many-to-many.js.map +1 -1
  54. package/dist/schema/nested-relation-types.d.ts +3 -3
  55. package/dist/schema/nested-relation-types.d.ts.map +1 -1
  56. package/dist/schema/relation-types.d.ts +82 -25
  57. package/dist/schema/relation-types.d.ts.map +1 -1
  58. package/dist/schema/relation.d.ts +26 -4
  59. package/dist/schema/relation.d.ts.map +1 -1
  60. package/dist/schema/relation.js +56 -5
  61. package/dist/schema/relation.js.map +1 -1
  62. package/dist/schema/table-registry.d.ts +8 -0
  63. package/dist/schema/table-registry.d.ts.map +1 -0
  64. package/dist/schema/table-registry.js +26 -0
  65. package/dist/schema/table-registry.js.map +1 -0
  66. package/dist/schema/table.d.ts +36 -4
  67. package/dist/schema/table.d.ts.map +1 -1
  68. package/dist/schema/table.js +27 -1
  69. package/dist/schema/table.js.map +1 -1
  70. package/dist/schema/types.d.ts +9 -9
  71. package/dist/schema/types.d.ts.map +1 -1
  72. package/package.json +1 -1
@@ -7,7 +7,25 @@ function registry() {
7
7
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
8
  return (globalThis[REGISTRY_KEY] ??= []);
9
9
  }
10
- export function manyToMany(left, right, options) {
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;
11
29
  registry().push({
12
30
  kind: "manyToMany",
13
31
  leftKey: left._tableName,
@@ -1 +1 @@
1
- {"version":3,"file":"many-to-many.js","sourceRoot":"","sources":["../../src/schema/many-to-many.ts"],"names":[],"mappings":"AAaA,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;AAED,MAAM,UAAU,UAAU,CAKzB,IAAW,EACX,KAAa,EACb,OAMC;IAED,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":"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,6 +1,6 @@
1
1
  import type { ColumnBuilder } from "./column.js";
2
2
  import type { FkBuilder, FkMeta } from "./relation.js";
3
- import type { ConnectInput, InferInsertRow, SqlNameToAccessor } from "./relation-types.js";
3
+ import type { ConnectInput, FkInverseName, FkRelationName, InferInsertRow, SqlNameToAccessor } 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];
@@ -34,7 +34,7 @@ type ShallowOutgoingFkRelationWriteMap<TSchema extends Record<string, TableDef>,
34
34
  [K in keyof TColumns & string as TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? TColumns[K]["_meta"] extends {
35
35
  as: infer As extends string;
36
36
  target: `${infer Sql}.${string}`;
37
- } ? SqlNameToAccessor<TSchema, Sql> extends keyof TSchema & string ? As : 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
+ } ? 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;
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 {
@@ -56,7 +56,7 @@ type ToManyRelationWrite<TSchema extends Record<string, TableDef>, TParentAccess
56
56
  set?: ConnectInput<TSchema[TChildAccessor]["_columns"]>[];
57
57
  };
58
58
  type InverseRelationWriteEntriesForTable<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string> = IsThroughTable<TSchema[TSourceAccessor]["_columns"]> extends true ? never : {
59
- [K in FkColumnNames<TSchema[TSourceAccessor]["_columns"]> as TSchema[TSourceAccessor]["_columns"][K] extends FkBuilder<infer TTarget extends string, infer _As, infer Inv extends string> ? FkTargetMatchesAccessor<TSchema, TTarget, TAccessor> extends true ? Inv : never : never]?: TSchema[TSourceAccessor]["_columns"][K] extends FkBuilder ? TSchema[TSourceAccessor]["_columns"][K]["_meta"] extends {
59
+ [K in FkColumnNames<TSchema[TSourceAccessor]["_columns"]> as TSchema[TSourceAccessor]["_columns"][K] extends FkBuilder<infer TTarget extends string, infer _As, infer Inv extends string> ? FkTargetMatchesAccessor<TSchema, TTarget, TAccessor> extends true ? FkInverseName<Inv, K> : never : never]?: TSchema[TSourceAccessor]["_columns"][K] extends FkBuilder ? TSchema[TSourceAccessor]["_columns"][K]["_meta"] extends {
60
60
  unique: true;
61
61
  } ? ToOneRelationWrite<TSchema, TAccessor, TSourceAccessor> : ToManyRelationWrite<TSchema, TAccessor, TSourceAccessor> : never;
62
62
  };
@@ -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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"}
@@ -1,7 +1,8 @@
1
1
  import type { ColumnBuilder } from "./column.js";
2
2
  import type { ColumnWhereInput, InferColumnValue } from "./column-where.js";
3
+ import type { ManyToManyExtra } from "./many-to-many.js";
3
4
  import type { FkBuilder, FkMeta } from "./relation.js";
4
- import type { ColumnDef, TableDef } from "./table.js";
5
+ import type { ColumnDef, ScalarColumnKeys, TableDef } from "./table.js";
5
6
  type IsPrimary<T> = T extends ColumnBuilder<unknown, infer M> ? M extends {
6
7
  primary: true;
7
8
  } ? true : false : false;
@@ -21,12 +22,12 @@ type IsRequired<T> = T extends ColumnBuilder<unknown, infer M> ? M extends {
21
22
  nullable: false;
22
23
  } ? true : false : false;
23
24
  export type InferSelectRow<TColumns extends Record<string, ColumnDef>> = {
24
- [K in keyof TColumns]: InferColumnValue<TColumns[K]>;
25
+ [K in ScalarColumnKeys<TColumns>]: InferColumnValue<TColumns[K]>;
25
26
  };
26
27
  export type InferInsertRow<TColumns extends Record<string, ColumnDef>> = {
27
- [K in keyof TColumns as IsPrimary<TColumns[K]> extends true ? never : IsGenerated<TColumns[K]> extends true ? never : K]?: InferColumnValue<TColumns[K]>;
28
+ [K in ScalarColumnKeys<TColumns> as IsPrimary<TColumns[K]> extends true ? never : IsGenerated<TColumns[K]> extends true ? never : K]?: InferColumnValue<TColumns[K]>;
28
29
  } & {
29
- [K in keyof TColumns as IsRequired<TColumns[K]> extends true ? K : never]: InferColumnValue<TColumns[K]>;
30
+ [K in ScalarColumnKeys<TColumns> as IsRequired<TColumns[K]> extends true ? K : never]: InferColumnValue<TColumns[K]>;
30
31
  };
31
32
  type PrimaryIdValue<TColumns extends Record<string, ColumnDef>> = {
32
33
  [K in keyof TColumns]: TColumns[K] extends ColumnBuilder<unknown, infer M> ? M extends {
@@ -42,7 +43,7 @@ export type ConnectOrCreateItem<TColumns extends Record<string, ColumnDef>> = {
42
43
  };
43
44
  export type OrderDirection = "asc" | "desc";
44
45
  export type OrderByInput<TColumns extends Record<string, ColumnDef>> = {
45
- [K in keyof TColumns]?: OrderDirection;
46
+ [K in ScalarColumnKeys<TColumns>]?: OrderDirection;
46
47
  };
47
48
  export type ScalarPkName<TColumns extends Record<string, ColumnDef>> = {
48
49
  [K in keyof TColumns]: TColumns[K] extends ColumnBuilder<unknown, infer M> ? M extends {
@@ -50,7 +51,7 @@ export type ScalarPkName<TColumns extends Record<string, ColumnDef>> = {
50
51
  } ? K : never : never;
51
52
  }[keyof TColumns & string];
52
53
  export type PrimaryKeyColumns<TColumns extends Record<string, ColumnDef>> = ScalarPkName<TColumns>;
53
- export type CursorInput<TColumns extends Record<string, ColumnDef>, TOrderBy extends OrderByInput<TColumns>> = Pick<InferSelectRow<TColumns>, (keyof TOrderBy & keyof TColumns) | ScalarPkName<TColumns>>;
54
+ export type CursorInput<TColumns extends Record<string, ColumnDef>, TOrderBy extends OrderByInput<TColumns>> = Pick<InferSelectRow<TColumns>, (keyof TOrderBy & keyof TColumns & ScalarColumnKeys<TColumns>) | ScalarPkName<TColumns>>;
54
55
  /** Expands mapped types so IDEs surface keys for autocomplete */
55
56
  type Expand<T> = T extends infer O ? {
56
57
  [K in keyof O]: O[K];
@@ -70,6 +71,13 @@ type MergeInverseRelationUnion<U> = {
70
71
  }>[K];
71
72
  };
72
73
  type FkMetaOf<C> = C extends FkBuilder<infer TTarget, infer TAs, infer TInverse> ? FkMeta<TTarget, TAs, TInverse> : never;
74
+ /** Mirrors runtime `inferFkAs`: strips a trailing `Id`/`_id` suffix. */
75
+ type InferFkAs<C extends string> = C extends `${infer B}Id` ? B : C extends `${infer B}_id` ? B : C;
76
+ /** Basic pluralizer matching the runtime default for omitted inverses. */
77
+ type Pluralize<S extends string> = S extends `${infer B}${"ch" | "sh"}` ? `${S}es` : S extends `${infer B}${"s" | "x" | "z"}` ? `${S}es` : S extends `${infer B}y` ? B extends `${string}${"a" | "e" | "i" | "o" | "u"}` ? `${S}s` : `${B}ies` : `${S}s`;
78
+ type InferFkInverse<C extends string> = Pluralize<InferFkAs<C>>;
79
+ export type FkRelationName<As extends string, K extends string> = As extends "" ? InferFkAs<K> : As;
80
+ export type FkInverseName<Inv extends string, K extends string> = Inv extends "" ? InferFkInverse<K> : Inv;
73
81
  type FkColumnNames<TColumns extends Record<string, ColumnDef>> = {
74
82
  [K in keyof TColumns]: TColumns[K] extends FkBuilder ? K : never;
75
83
  }[keyof TColumns & string];
@@ -90,26 +98,26 @@ export type SqlNameToAccessor<TSchema extends Record<string, TableDef>, TSqlName
90
98
  [K in keyof TSchema & string]: TSchema[K]["_tableName"] extends TSqlName ? K : never;
91
99
  }[keyof TSchema & string];
92
100
  /** FK relations defined on this table's columns (as name -> target accessor) */
93
- type OutgoingFkRelationEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef> = FkMetaOf<C> extends {
101
+ type OutgoingFkRelationEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef, K extends string> = FkMetaOf<C> extends {
94
102
  target: infer TTarget extends string;
95
103
  as: infer As extends string;
96
104
  } ? TTarget extends `${infer Sql}.${string}` ? SqlNameToAccessor<TSchema, Sql> extends infer Acc extends keyof TSchema & string ? IsThroughTable<TSchema[Acc]["_columns"]> extends true ? never : {
97
- [P in As]: Acc;
105
+ [P in FkRelationName<As, K>]: Acc;
98
106
  } : never : never : never;
99
107
  export type OutgoingFkRelations<TSchema extends Record<string, TableDef>, TColumns extends Record<string, ColumnDef>> = MergeRelationUnion<{
100
- [K in keyof TColumns]: OutgoingFkRelationEntry<TSchema, TColumns[K]>;
108
+ [K in keyof TColumns]: OutgoingFkRelationEntry<TSchema, TColumns[K], K & string>;
101
109
  }[keyof TColumns]>;
102
110
  /** Inverse relations from other tables pointing at this table (inverse name -> source accessor) */
103
- export type InverseRelationEntryForSource<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string, C extends ColumnDef> = IsThroughTable<TSchema[TSourceAccessor]["_columns"]> extends true ? never : FkMetaOf<C> extends {
111
+ export type InverseRelationEntryForSource<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 {
104
112
  target: infer TTarget extends string;
105
113
  inverse: infer Inv extends string;
106
114
  } ? [TTarget] extends [
107
115
  `${TSchema[TTargetAccessor]["_tableName"]}.${string}`
108
116
  ] ? {
109
- [P in Inv]: TSourceAccessor;
117
+ [P in FkInverseName<Inv, K>]: TSourceAccessor;
110
118
  } : never : never;
111
119
  export type InverseRelationEntriesForTable<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string> = {
112
- [K in FkColumnNames<TSchema[TSourceAccessor]["_columns"]>]: InverseRelationEntryForSource<TSchema, TAccessor, TSourceAccessor, TSchema[TSourceAccessor]["_columns"][K]>;
120
+ [K in FkColumnNames<TSchema[TSourceAccessor]["_columns"]>]: InverseRelationEntryForSource<TSchema, TAccessor, TSourceAccessor, TSchema[TSourceAccessor]["_columns"][K], K>;
113
121
  }[FkColumnNames<TSchema[TSourceAccessor]["_columns"]>];
114
122
  export type InverseRelations<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeInverseRelationUnion<{
115
123
  [K in keyof TSchema & string]: MergeInverseRelationUnion<InverseRelationEntriesForTable<TSchema, TAccessor, K>>;
@@ -133,9 +141,30 @@ type HasFkTo<TSchema extends Record<string, TableDef>, TThroughAccessor extends
133
141
  export type JunctionM2MRelations<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeRelationUnion<{
134
142
  [K in keyof TSchema & string]: K extends TAccessor ? never : IsThroughTable<TSchema[K]["_columns"]> extends true ? HasFkTo<TSchema, K, TAccessor> extends true ? JunctionM2MEntry<TSchema, TAccessor, K> : never : never;
135
143
  }[keyof TSchema & string]>;
144
+ type M2MTargetOf<C> = C extends ManyToManyExtra<infer TTarget, infer _AAs, infer _AInv> ? TTarget : never;
145
+ /** Relation name for an inline m2m on the source table (defaults to the column key). */
146
+ type M2MNameOf<K extends string, C> = C extends ManyToManyExtra<infer _TTarget, infer AAs, infer _AInv> ? AAs extends "" ? K : AAs : K;
147
+ /** Relation name for an inline m2m on the target table (defaults to the source accessor). */
148
+ type M2MInverseOf<TSource extends string, C> = C extends ManyToManyExtra<infer _TTarget, infer _AAs, infer AInv> ? AInv extends "" ? TSource : AInv : TSource;
149
+ type InlineM2MRelationEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef, K extends string> = [C] extends [ManyToManyExtra] ? M2MTargetOf<C> extends infer TTarget extends keyof TSchema & string ? {
150
+ [P in M2MNameOf<K, C>]: TTarget;
151
+ } : never : never;
152
+ /** Forward inline m2m relations (virtual manyToMany columns) on the source table. */
153
+ export type InlineM2MRelations<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeInverseRelationUnion<{
154
+ [K in keyof TSchema[TAccessor]["_columns"]]: InlineM2MRelationEntry<TSchema, TSchema[TAccessor]["_columns"][K], K & string>;
155
+ }[keyof TSchema[TAccessor]["_columns"]]>;
156
+ type InlineM2MInverseRelationEntry<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string, C extends ColumnDef, K extends string> = [C] extends [ManyToManyExtra] ? M2MTargetOf<C> extends TAccessor ? {
157
+ [P in M2MInverseOf<TSourceAccessor, C>]: TSourceAccessor;
158
+ } : never : never;
159
+ /** Inverse inline m2m relations on the target table (name defaults to the source accessor). */
160
+ export type InlineM2MInverseRelations<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeInverseRelationUnion<{
161
+ [S in keyof TSchema & string]: {
162
+ [K in keyof TSchema[S]["_columns"]]: InlineM2MInverseRelationEntry<TSchema, TAccessor, S, TSchema[S]["_columns"][K], K & string>;
163
+ }[keyof TSchema[S]["_columns"]];
164
+ }[keyof TSchema & string]>;
136
165
  /** All relation names on a table -> target schema accessor */
137
- export type RelationAccessors<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = OutgoingFkRelations<TSchema, TSchema[TAccessor]["_columns"]> & InverseRelations<TSchema, TAccessor> & JunctionM2MRelations<TSchema, TAccessor>;
138
- export type ColumnNames<TColumns extends Record<string, ColumnDef>> = keyof TColumns & string;
166
+ export type RelationAccessors<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = OutgoingFkRelations<TSchema, TSchema[TAccessor]["_columns"]> & InverseRelations<TSchema, TAccessor> & JunctionM2MRelations<TSchema, TAccessor> & InlineM2MRelations<TSchema, TAccessor> & InlineM2MInverseRelations<TSchema, TAccessor>;
167
+ export type ColumnNames<TColumns extends Record<string, ColumnDef>> = ScalarColumnKeys<TColumns>;
139
168
  /** Target schema accessor for a relation name on a table */
140
169
  export type RelationTarget<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TRelation extends keyof RelationAccessors<TSchema, TAccessor> & string> = RelationAccessors<TSchema, TAccessor>[TRelation];
141
170
  type TargetColumns<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string> = TSchema[TTargetAccessor]["_columns"];
@@ -190,7 +219,7 @@ export type InferRelationIncludeResult<TSchema extends Record<string, TableDef>,
190
219
  take?: unknown;
191
220
  skip?: unknown;
192
221
  } ? InferNestedWithResult<TSchema, TTarget, TInclude, RelationTargetModel<TSchema, TTarget>> : TInclude extends true ? RelationTargetModel<TSchema, TTarget> : TInclude extends false | undefined ? never : RelationTargetModel<TSchema, TTarget> : never : never;
193
- type IsManyRelation<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TRelation extends keyof RelationAccessors<TSchema, TAccessor> & string> = TRelation extends keyof InverseRelations<TSchema, TAccessor> ? true : TRelation extends keyof JunctionM2MRelations<TSchema, TAccessor> ? true : false;
222
+ type IsManyRelation<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TRelation extends keyof RelationAccessors<TSchema, TAccessor> & string> = TRelation extends keyof InverseRelations<TSchema, TAccessor> ? true : TRelation extends keyof JunctionM2MRelations<TSchema, TAccessor> ? true : TRelation extends keyof InlineM2MRelations<TSchema, TAccessor> ? true : TRelation extends keyof InlineM2MInverseRelations<TSchema, TAccessor> ? true : false;
194
223
  type InferWithRelations<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, W> = {
195
224
  [R in keyof W & keyof RelationAccessors<TSchema, TAccessor> & string]: [
196
225
  NonNullable<RelationAccessors<TSchema, TAccessor>[R]>
@@ -211,19 +240,19 @@ export type ManyRelationFilter<TSchema extends Record<string, TableDef>, TTarget
211
240
  every?: WhereInput<TSchema[TTargetAccessor]["_columns"], TSchema, TTargetAccessor>;
212
241
  none?: WhereInput<TSchema[TTargetAccessor]["_columns"], TSchema, TTargetAccessor>;
213
242
  };
214
- type OutgoingFkRelationWhereEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef> = FkMetaOf<C> extends {
243
+ type OutgoingFkRelationWhereEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef, K extends string> = FkMetaOf<C> extends {
215
244
  target: infer TTarget extends string;
216
245
  as: infer As extends string;
217
246
  } ? TTarget extends `${infer Sql}.${string}` ? SqlNameToAccessor<TSchema, Sql> extends infer Acc extends keyof TSchema & string ? IsThroughTable<TSchema[Acc]["_columns"]> extends true ? never : {
218
- [P in As]?: WhereInput<TSchema[Acc]["_columns"], TSchema, Acc>;
247
+ [P in FkRelationName<As, K>]?: WhereInput<TSchema[Acc]["_columns"], TSchema, Acc>;
219
248
  } : never : never : never;
220
- type InverseRelationWhereEntry<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string, C extends ColumnDef> = IsThroughTable<TSchema[TSourceAccessor]["_columns"]> extends true ? never : FkMetaOf<C> extends {
249
+ 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 {
221
250
  target: infer TTarget extends string;
222
251
  inverse: infer Inv extends string;
223
252
  } ? [TTarget] extends [
224
253
  `${TSchema[TTargetAccessor]["_tableName"]}.${string}`
225
254
  ] ? {
226
- [P in Inv]?: ManyRelationFilter<TSchema, TSourceAccessor>;
255
+ [P in FkInverseName<Inv, K>]?: ManyRelationFilter<TSchema, TSourceAccessor>;
227
256
  } : never : never;
228
257
  type JunctionM2MWhereEntry<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TThroughAccessor extends keyof TSchema & string> = MergeRelationUnion<{
229
258
  [C in FkColumnNames<TSchema[TThroughAccessor]["_columns"]>]: OtherFkTarget<TSchema, TThroughAccessor, TAccessor, C> extends infer Target extends keyof TSchema & string ? {
@@ -231,15 +260,29 @@ type JunctionM2MWhereEntry<TSchema extends Record<string, TableDef>, TAccessor e
231
260
  } : never;
232
261
  }[FkColumnNames<TSchema[TThroughAccessor]["_columns"]>]>;
233
262
  type InverseRelationWhereEntriesForTable<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string> = {
234
- [K in FkColumnNames<TSchema[TSourceAccessor]["_columns"]>]: InverseRelationWhereEntry<TSchema, TAccessor, TSourceAccessor, TSchema[TSourceAccessor]["_columns"][K]>;
263
+ [K in FkColumnNames<TSchema[TSourceAccessor]["_columns"]>]: InverseRelationWhereEntry<TSchema, TAccessor, TSourceAccessor, TSchema[TSourceAccessor]["_columns"][K], K>;
235
264
  }[FkColumnNames<TSchema[TSourceAccessor]["_columns"]>];
265
+ type InlineM2MWhereRelationEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef, K extends string> = [C] extends [ManyToManyExtra] ? M2MTargetOf<C> extends infer TTarget extends keyof TSchema & string ? {
266
+ [P in M2MNameOf<K, C>]?: ManyRelationFilter<TSchema, TTarget>;
267
+ } : never : never;
268
+ export type InlineM2MWhereMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeRelationUnion<{
269
+ [K in keyof TSchema[TAccessor]["_columns"]]: InlineM2MWhereRelationEntry<TSchema, TSchema[TAccessor]["_columns"][K], K & string>;
270
+ }[keyof TSchema[TAccessor]["_columns"]]>;
271
+ type InlineM2MInverseWhereRelationEntry<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string, C extends ColumnDef, K extends string> = [C] extends [ManyToManyExtra] ? M2MTargetOf<C> extends TAccessor ? {
272
+ [P in M2MInverseOf<TSourceAccessor, C>]?: ManyRelationFilter<TSchema, TSourceAccessor>;
273
+ } : never : never;
274
+ export type InlineM2MInverseWhereMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeRelationUnion<{
275
+ [S in keyof TSchema & string]: MergeRelationUnion<{
276
+ [K in keyof TSchema[S]["_columns"]]: InlineM2MInverseWhereRelationEntry<TSchema, TAccessor, S, TSchema[S]["_columns"][K], K & string>;
277
+ }[keyof TSchema[S]["_columns"]]>;
278
+ }[keyof TSchema & string]>;
236
279
  export type RelationWhereMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeRelationUnion<{
237
- [K in keyof TSchema[TAccessor]["_columns"]]: OutgoingFkRelationWhereEntry<TSchema, TSchema[TAccessor]["_columns"][K]>;
280
+ [K in keyof TSchema[TAccessor]["_columns"]]: OutgoingFkRelationWhereEntry<TSchema, TSchema[TAccessor]["_columns"][K], K & string>;
238
281
  }[keyof TSchema[TAccessor]["_columns"]]> & MergeRelationUnion<{
239
282
  [K in keyof TSchema & string]: MergeRelationUnion<InverseRelationWhereEntriesForTable<TSchema, TAccessor, K>>;
240
283
  }[keyof TSchema & string]> & MergeRelationUnion<{
241
284
  [K in keyof TSchema & string]: K extends TAccessor ? never : IsThroughTable<TSchema[K]["_columns"]> extends true ? HasFkTo<TSchema, K, TAccessor> extends true ? JunctionM2MWhereEntry<TSchema, TAccessor, K> : never : never;
242
- }[keyof TSchema & string]>;
285
+ }[keyof TSchema & string]> & InlineM2MWhereMap<TSchema, TAccessor> & InlineM2MInverseWhereMap<TSchema, TAccessor>;
243
286
  export type LogicalWhereInput<TColumns extends Record<string, ColumnDef>, TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = {
244
287
  AND?: WhereInput<TColumns, TSchema, TAccessor>[];
245
288
  OR?: WhereInput<TColumns, TSchema, TAccessor>[];
@@ -259,7 +302,7 @@ type OutgoingFkRelationWriteMap<TSchema extends Record<string, TableDef>, TColum
259
302
  [K in keyof TColumns & string as TColumns[K] extends FkBuilder ? TColumns[K]["_meta"] extends FkMeta ? TColumns[K]["_meta"] extends {
260
303
  as: infer As extends string;
261
304
  target: `${infer Sql}.${string}`;
262
- } ? SqlNameToAccessor<TSchema, Sql> extends keyof TSchema & string ? As : 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;
305
+ } ? 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;
263
306
  };
264
307
  type M2MRelationWriteForAccessor<TSchema extends Record<string, TableDef>, TTargetAccessor extends keyof TSchema & string> = TTargetAccessor extends keyof TSchema & string ? {
265
308
  connect?: ConnectInput<TSchema[TTargetAccessor]["_columns"]>[];
@@ -268,6 +311,20 @@ type M2MRelationWriteForAccessor<TSchema extends Record<string, TableDef>, TTarg
268
311
  set?: ConnectInput<TSchema[TTargetAccessor]["_columns"]>[];
269
312
  connectOrCreate?: ConnectOrCreateItem<TSchema[TTargetAccessor]["_columns"]>[];
270
313
  } : never;
314
+ type InlineM2MWriteRelationEntry<TSchema extends Record<string, TableDef>, C extends ColumnDef, K extends string> = [C] extends [ManyToManyExtra] ? M2MTargetOf<C> extends infer TTarget extends keyof TSchema & string ? {
315
+ [P in M2MNameOf<K, C>]?: M2MRelationWriteForAccessor<TSchema, TTarget>;
316
+ } : never : never;
317
+ export type InlineM2MWriteMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeRelationUnion<{
318
+ [K in keyof TSchema[TAccessor]["_columns"]]: InlineM2MWriteRelationEntry<TSchema, TSchema[TAccessor]["_columns"][K], K & string>;
319
+ }[keyof TSchema[TAccessor]["_columns"]]>;
320
+ type InlineM2MInverseWriteRelationEntry<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TSourceAccessor extends keyof TSchema & string, C extends ColumnDef, K extends string> = [C] extends [ManyToManyExtra] ? M2MTargetOf<C> extends TAccessor ? {
321
+ [P in M2MInverseOf<TSourceAccessor, C>]?: M2MRelationWriteForAccessor<TSchema, TSourceAccessor>;
322
+ } : never : never;
323
+ export type InlineM2MInverseWriteMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = MergeRelationUnion<{
324
+ [S in keyof TSchema & string]: MergeRelationUnion<{
325
+ [K in keyof TSchema[S]["_columns"]]: InlineM2MInverseWriteRelationEntry<TSchema, TAccessor, S, TSchema[S]["_columns"][K], K & string>;
326
+ }[keyof TSchema[S]["_columns"]]>;
327
+ }[keyof TSchema & string]>;
271
328
  type JunctionM2MWriteEntryForFk<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string, TThroughAccessor extends keyof TSchema & string, TFkCol extends FkColumnNames<TSchema[TThroughAccessor]["_columns"]>> = OtherFkTarget<TSchema, TThroughAccessor, TAccessor, TFkCol> extends infer Target extends keyof TSchema & string ? {
272
329
  [P in Target]?: M2MRelationWriteForAccessor<TSchema, Target>;
273
330
  } : never;
@@ -278,8 +335,8 @@ type JunctionM2MRelationWriteMap<TSchema extends Record<string, TableDef>, TAcce
278
335
  [K in keyof TSchema & string]: K extends TAccessor ? never : [IsThroughTable<TSchema[K]["_columns"]>] extends [true] ? [HasFkTo<TSchema, K, TAccessor>] extends [true] ? JunctionM2MWriteEntry<TSchema, TAccessor, K> : never : never;
279
336
  }[keyof TSchema & string]>;
280
337
  /** Typed relation writes for create. */
281
- export type RelationCreateMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = Expand<OutgoingFkRelationWriteMap<TSchema, TSchema[TAccessor]["_columns"]> & import("./nested-relation-types.js").InverseRelationWriteMap<TSchema, TAccessor> & JunctionM2MRelationWriteMap<TSchema, TAccessor>>;
338
+ export type RelationCreateMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = Expand<OutgoingFkRelationWriteMap<TSchema, TSchema[TAccessor]["_columns"]> & import("./nested-relation-types.js").InverseRelationWriteMap<TSchema, TAccessor> & JunctionM2MRelationWriteMap<TSchema, TAccessor> & InlineM2MWriteMap<TSchema, TAccessor> & InlineM2MInverseWriteMap<TSchema, TAccessor>>;
282
339
  /** Typed relation writes for update. */
283
- export type RelationUpdateMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = Expand<OutgoingFkRelationWriteMap<TSchema, TSchema[TAccessor]["_columns"]> & import("./nested-relation-types.js").InverseRelationWriteMap<TSchema, TAccessor> & JunctionM2MRelationWriteMap<TSchema, TAccessor>>;
340
+ export type RelationUpdateMap<TSchema extends Record<string, TableDef>, TAccessor extends keyof TSchema & string> = Expand<OutgoingFkRelationWriteMap<TSchema, TSchema[TAccessor]["_columns"]> & import("./nested-relation-types.js").InverseRelationWriteMap<TSchema, TAccessor> & JunctionM2MRelationWriteMap<TSchema, TAccessor> & InlineM2MWriteMap<TSchema, TAccessor> & InlineM2MInverseWriteMap<TSchema, TAccessor>>;
284
341
  export type { NestedCreateInput } from "./nested-relation-types.js";
285
342
  //# sourceMappingURL=relation-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-types.d.ts","sourceRoot":"","sources":["../../src/schema/relation-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-types.d.ts","sourceRoot":"","sources":["../../src/schema/relation-types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { ColumnMeta } from "./column.js";
1
+ import type { ColumnBuilder, ColumnMeta } from "./column.js";
2
+ import type { TableDef } from "./table.js";
2
3
  export type OnDeleteAction = "cascade" | "restrict" | "set null" | "no action";
3
4
  export type FkMeta<TTarget extends string = string, TAs extends string = string, TInverse extends string = string, TUnique extends boolean = boolean> = ColumnMeta & {
4
5
  kind: "fk";
@@ -13,14 +14,35 @@ export type FkBuilder<TTarget extends string = string, TAs extends string = stri
13
14
  readonly _meta: FkMeta<TTarget, TAs, TInverse, TUnique>;
14
15
  notNull(): FkBuilder<TTarget, TAs, TInverse, TUnique>;
15
16
  unique(): FkBuilder<TTarget, TAs, TInverse, true>;
17
+ primary(): FkBuilder<TTarget, TAs, TInverse, TUnique>;
18
+ index(): FkBuilder<TTarget, TAs, TInverse, TUnique>;
16
19
  map(name: string): FkBuilder<TTarget, TAs, TInverse, TUnique>;
17
20
  };
18
21
  export type FkOptions<TAs extends string = string, TInverse extends string = string, TUnique extends boolean = boolean> = {
19
- as: TAs;
20
- inverse: TInverse;
22
+ as?: TAs;
23
+ inverse?: TInverse;
21
24
  unique?: TUnique;
22
25
  nullable?: boolean;
23
26
  onDelete?: OnDeleteAction;
24
27
  };
25
- export declare function fk<const TTarget extends string, const TAs extends string, const TInverse extends string, const TUnique extends boolean = false>(target: TTarget, options: FkOptions<TAs, TInverse, TUnique>): FkBuilder<TTarget, TAs, TInverse, TUnique>;
28
+ /** SQL target ref (`table.column`) for an owned column reference. */
29
+ type ColumnTargetOf<C extends ColumnBuilder<unknown>> = C extends ColumnBuilder<unknown, infer M> ? M extends {
30
+ tableName: infer T extends string;
31
+ columnName: infer CN extends string;
32
+ } ? `${T}.${CN}` : string : string;
33
+ type FkAsOfOptions<T extends FkOptions> = T extends {
34
+ as: infer As extends string;
35
+ } ? As : "";
36
+ type FkInverseOfOptions<T extends FkOptions> = T extends {
37
+ inverse: infer Inv extends string;
38
+ } ? Inv : "";
39
+ type FkUniqueOfOptions<T extends FkOptions> = T extends {
40
+ nullable: false;
41
+ } ? true : T extends {
42
+ unique: true;
43
+ } ? true : false;
44
+ export declare function fk<const TTarget extends string, const TAs extends string = "", const TInverse extends string = "", const TUnique extends boolean = false>(target: TTarget, options?: FkOptions<TAs, TInverse, TUnique>): FkBuilder<TTarget, TAs, TInverse, TUnique>;
45
+ export declare function fk<TT extends TableDef, const TAs extends string = "", const TInverse extends string = "", const TUnique extends boolean = false>(target: TT, options?: FkOptions<TAs, TInverse, TUnique>): FkBuilder<TT["_targetRef"] extends string ? TT["_targetRef"] : string, TAs, TInverse, TUnique>;
46
+ export declare function fk<TC extends ColumnBuilder<unknown>, const TOptions extends FkOptions<string, string, boolean> = {}>(target: TC, options?: TOptions): FkBuilder<ColumnTargetOf<TC>, FkAsOfOptions<TOptions>, FkInverseOfOptions<TOptions>, FkUniqueOfOptions<TOptions>>;
47
+ export {};
26
48
  //# sourceMappingURL=relation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/schema/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAE/E,MAAM,MAAM,MAAM,CACjB,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,OAAO,SAAS,OAAO,GAAG,OAAO,IAC9B,UAAU,GAAG;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,CACpB,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,OAAO,SAAS,OAAO,GAAG,OAAO,IAC9B;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;CAC9D,CAAC;AAEF,MAAM,MAAM,SAAS,CACpB,GAAG,SAAS,MAAM,GAAG,MAAM,EAC3B,QAAQ,SAAS,MAAM,GAAG,MAAM,EAChC,OAAO,SAAS,OAAO,GAAG,OAAO,IAC9B;IACH,EAAE,EAAE,GAAG,CAAC;IACR,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,wBAAgB,EAAE,CACjB,KAAK,CAAC,OAAO,SAAS,MAAM,EAC5B,KAAK,CAAC,GAAG,SAAS,MAAM,EACxB,KAAK,CAAC,QAAQ,SAAS,MAAM,EAC7B,KAAK,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,EAErC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,GACxC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAkC5C"}
1
+ {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/schema/relation.ts"],"names":[],"mappings":"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"}