@casekit/orm2-schema 1.0.0 → 1.0.2

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 (86) hide show
  1. package/{src/Config.ts → build/Config.d.ts} +1 -7
  2. package/build/Config.js +1 -0
  3. package/build/Logger.js +1 -0
  4. package/{src/definition/FieldDefinition.ts → build/definition/FieldDefinition.d.ts} +5 -18
  5. package/build/definition/FieldDefinition.js +1 -0
  6. package/build/definition/ForeignKeyDefinition.js +1 -0
  7. package/{src/definition/ModelDefinition.ts → build/definition/ModelDefinition.d.ts} +0 -7
  8. package/build/definition/ModelDefinition.js +1 -0
  9. package/{src/definition/ModelDefinitions.ts → build/definition/ModelDefinitions.d.ts} +0 -1
  10. package/build/definition/ModelDefinitions.js +1 -0
  11. package/{src/definition/OperatorDefinitions.ts → build/definition/OperatorDefinitions.d.ts} +0 -1
  12. package/build/definition/OperatorDefinitions.js +1 -0
  13. package/{src/definition/PostgresDataTypes.ts → build/definition/PostgresDataTypes.d.ts} +0 -3
  14. package/build/definition/PostgresDataTypes.js +1 -0
  15. package/{src/definition/RelationDefinition.ts → build/definition/RelationDefinition.d.ts} +1 -7
  16. package/build/definition/RelationDefinition.js +1 -0
  17. package/{src/definition/RelationDefinitions.ts → build/definition/RelationDefinitions.d.ts} +0 -1
  18. package/build/definition/RelationDefinitions.js +1 -0
  19. package/{src/definition/UniqueConstraintDefinition.ts → build/definition/UniqueConstraintDefinition.d.ts} +0 -1
  20. package/build/definition/UniqueConstraintDefinition.js +1 -0
  21. package/build/definition/WhereOperator.d.ts +5 -0
  22. package/build/definition/WhereOperator.js +1 -0
  23. package/build/helper/DefaultFieldType.d.ts +7 -0
  24. package/build/helper/DefaultFieldType.js +1 -0
  25. package/build/helper/DefaultFieldType.test-d.d.ts +1 -0
  26. package/build/helper/DefaultFieldType.test-d.js +57 -0
  27. package/{src/helper/FieldName.ts → build/helper/FieldName.d.ts} +0 -1
  28. package/build/helper/FieldName.js +1 -0
  29. package/build/helper/FieldName.test-d.d.ts +1 -0
  30. package/{src/helper/FieldName.test-d.ts → build/helper/FieldName.test-d.js} +2 -9
  31. package/build/helper/FieldType.d.ts +5 -0
  32. package/build/helper/FieldType.js +1 -0
  33. package/build/helper/FieldType.test-d.d.ts +1 -0
  34. package/build/helper/FieldType.test-d.js +59 -0
  35. package/{src/helper/FieldWithDefault.ts → build/helper/FieldWithDefault.d.ts} +1 -6
  36. package/build/helper/FieldWithDefault.js +1 -0
  37. package/build/helper/FieldWithDefault.test-d.d.ts +1 -0
  38. package/{src/helper/FieldWithDefault.test-d.ts → build/helper/FieldWithDefault.test-d.js} +6 -17
  39. package/{src/helper/ModelName.ts → build/helper/ModelName.d.ts} +1 -5
  40. package/build/helper/ModelName.js +1 -0
  41. package/build/helper/ModelName.test-d.d.ts +1 -0
  42. package/{src/helper/ModelName.test-d.ts → build/helper/ModelName.test-d.js} +2 -9
  43. package/{src/helper/ModelType.ts → build/helper/ModelType.d.ts} +0 -2
  44. package/build/helper/ModelType.js +1 -0
  45. package/build/helper/ModelType.test-d.d.ts +1 -0
  46. package/{src/helper/ModelType.test-d.ts → build/helper/ModelType.test-d.js} +2 -17
  47. package/{src/helper/NullableField.ts → build/helper/NullableField.d.ts} +1 -4
  48. package/build/helper/NullableField.js +1 -0
  49. package/build/helper/NullableField.test-d.d.ts +1 -0
  50. package/{src/helper/NullableField.test-d.ts → build/helper/NullableField.test-d.js} +6 -17
  51. package/{src/helper/OptionalField.ts → build/helper/OptionalField.d.ts} +1 -5
  52. package/build/helper/OptionalField.js +1 -0
  53. package/build/helper/OptionalField.test-d.d.ts +1 -0
  54. package/{src/helper/OptionalField.test-d.ts → build/helper/OptionalField.test-d.js} +6 -21
  55. package/{src/helper/ProvidedField.ts → build/helper/ProvidedField.d.ts} +1 -4
  56. package/build/helper/ProvidedField.js +1 -0
  57. package/build/helper/ProvidedField.test-d.d.ts +1 -0
  58. package/{src/helper/ProvidedField.test-d.ts → build/helper/ProvidedField.test-d.js} +6 -17
  59. package/build/helper/RelationModel.d.ts +4 -0
  60. package/build/helper/RelationModel.js +1 -0
  61. package/build/helper/RelationModel.test-d.d.ts +1 -0
  62. package/{src/helper/RelationModel.test-d.ts → build/helper/RelationModel.test-d.js} +6 -27
  63. package/build/helper/RelationName.d.ts +2 -0
  64. package/build/helper/RelationName.js +1 -0
  65. package/build/helper/RelationName.test-d.d.ts +1 -0
  66. package/{src/helper/RelationName.test-d.ts → build/helper/RelationName.test-d.js} +4 -14
  67. package/{src/helper/RequiredField.ts → build/helper/RequiredField.d.ts} +1 -8
  68. package/build/helper/RequiredField.js +1 -0
  69. package/build/helper/RequiredField.test-d.d.ts +1 -0
  70. package/{src/helper/RequiredField.test-d.ts → build/helper/RequiredField.test-d.js} +6 -19
  71. package/{src/helper/SerialField.ts → build/helper/SerialField.d.ts} +1 -7
  72. package/build/helper/SerialField.js +1 -0
  73. package/build/helper/SerialField.test-d.d.ts +1 -0
  74. package/{src/helper/SerialField.test-d.ts → build/helper/SerialField.test-d.js} +8 -23
  75. package/{src/index.ts → build/index.d.ts} +1 -8
  76. package/build/index.js +1 -0
  77. package/package.json +8 -8
  78. package/src/definition/WhereOperator.ts +0 -6
  79. package/src/helper/DefaultFieldType.test-d.ts +0 -60
  80. package/src/helper/DefaultFieldType.ts +0 -99
  81. package/src/helper/FieldType.test-d.ts +0 -81
  82. package/src/helper/FieldType.ts +0 -16
  83. package/src/helper/RelationModel.ts +0 -9
  84. package/src/helper/RelationName.ts +0 -4
  85. /package/{src/Logger.ts → build/Logger.d.ts} +0 -0
  86. /package/{src/definition/ForeignKeyDefinition.ts → build/definition/ForeignKeyDefinition.d.ts} +0 -0
@@ -1,8 +1,4 @@
1
1
  import { describe, expectTypeOf, test } from "vitest";
2
-
3
- import type { ModelDefinition } from "../definition/ModelDefinition.js";
4
- import type { NullableField } from "./NullableField.js";
5
-
6
2
  describe("NullableField", () => {
7
3
  test("extracts just the nullable fields from the model", () => {
8
4
  const user = {
@@ -12,13 +8,9 @@ describe("NullableField", () => {
12
8
  email: { type: "text", nullable: true },
13
9
  age: { type: "integer", nullable: false },
14
10
  },
15
- } as const satisfies ModelDefinition;
16
-
17
- expectTypeOf<NullableField<typeof user>>().toEqualTypeOf<
18
- "name" | "email"
19
- >();
11
+ };
12
+ expectTypeOf().toEqualTypeOf();
20
13
  });
21
-
22
14
  test("returns never if there are no nullable fields", () => {
23
15
  const user = {
24
16
  fields: {
@@ -26,11 +18,9 @@ describe("NullableField", () => {
26
18
  name: { type: "text", nullable: false },
27
19
  age: { type: "integer", nullable: false },
28
20
  },
29
- } as const satisfies ModelDefinition;
30
-
31
- expectTypeOf<NullableField<typeof user>>().toEqualTypeOf<never>();
21
+ };
22
+ expectTypeOf().toEqualTypeOf();
32
23
  });
33
-
34
24
  test("treats fields without nullable property as non-nullable", () => {
35
25
  const user = {
36
26
  fields: {
@@ -38,8 +28,7 @@ describe("NullableField", () => {
38
28
  name: { type: "text", nullable: true },
39
29
  age: { type: "integer" },
40
30
  },
41
- } as const satisfies ModelDefinition;
42
-
43
- expectTypeOf<NullableField<typeof user>>().toEqualTypeOf<"name">();
31
+ };
32
+ expectTypeOf().toEqualTypeOf();
44
33
  });
45
34
  });
@@ -1,8 +1,4 @@
1
1
  import { ModelDefinition } from "#definition/ModelDefinition.js";
2
2
  import { FieldName } from "./FieldName.js";
3
3
  import { RequiredField } from "./RequiredField.js";
4
-
5
- export type OptionalField<Model extends ModelDefinition> = Exclude<
6
- FieldName<Model>,
7
- RequiredField<Model>
8
- >;
4
+ export type OptionalField<Model extends ModelDefinition> = Exclude<FieldName<Model>, RequiredField<Model>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,4 @@
1
1
  import { describe, expectTypeOf, test } from "vitest";
2
-
3
- import type { ModelDefinition } from "../definition/ModelDefinition.js";
4
- import type { OptionalField } from "./OptionalField.js";
5
-
6
2
  describe("OptionalField", () => {
7
3
  test("extracts fields that are optional for insert", () => {
8
4
  const user = {
@@ -13,13 +9,9 @@ describe("OptionalField", () => {
13
9
  age: { type: "integer", nullable: false, default: 18 },
14
10
  role: { type: "text", nullable: false, provided: true },
15
11
  },
16
- } as const satisfies ModelDefinition;
17
-
18
- expectTypeOf<OptionalField<typeof user>>().toEqualTypeOf<
19
- "id" | "age" | "role"
20
- >();
12
+ };
13
+ expectTypeOf().toEqualTypeOf();
21
14
  });
22
-
23
15
  test("returns all fields if none are required", () => {
24
16
  const user = {
25
17
  fields: {
@@ -28,13 +20,9 @@ describe("OptionalField", () => {
28
20
  age: { type: "integer", default: 18 },
29
21
  role: { type: "text", provided: true },
30
22
  },
31
- } as const satisfies ModelDefinition;
32
-
33
- expectTypeOf<OptionalField<typeof user>>().toEqualTypeOf<
34
- "id" | "name" | "age" | "role"
35
- >();
23
+ };
24
+ expectTypeOf().toEqualTypeOf();
36
25
  });
37
-
38
26
  test("includes fields with defaults, serial fields, nullable fields and provided fields", () => {
39
27
  const user = {
40
28
  fields: {
@@ -45,10 +33,7 @@ describe("OptionalField", () => {
45
33
  role: { type: "text", provided: true },
46
34
  score: { type: "integer", nullable: false },
47
35
  },
48
- } as const satisfies ModelDefinition;
49
-
50
- expectTypeOf<OptionalField<typeof user>>().toEqualTypeOf<
51
- "id" | "email" | "age" | "role"
52
- >();
36
+ };
37
+ expectTypeOf().toEqualTypeOf();
53
38
  });
54
39
  });
@@ -1,7 +1,4 @@
1
1
  import { ModelDefinition } from "../definition/ModelDefinition.js";
2
-
3
2
  export type ProvidedField<Model extends ModelDefinition> = {
4
- [K in keyof Model["fields"]]: Model["fields"][K]["provided"] extends true
5
- ? K
6
- : never;
3
+ [K in keyof Model["fields"]]: Model["fields"][K]["provided"] extends true ? K : never;
7
4
  }[keyof Model["fields"]];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,4 @@
1
1
  import { describe, expectTypeOf, test } from "vitest";
2
-
3
- import type { ModelDefinition } from "../definition/ModelDefinition.js";
4
- import type { ProvidedField } from "./ProvidedField.js";
5
-
6
2
  describe("ProvidedField", () => {
7
3
  test("extracts just the provided fields from the model", () => {
8
4
  const user = {
@@ -12,13 +8,9 @@ describe("ProvidedField", () => {
12
8
  updatedAt: { type: "timestamp", provided: true },
13
9
  name: { type: "text", provided: false },
14
10
  },
15
- } as const satisfies ModelDefinition;
16
-
17
- expectTypeOf<ProvidedField<typeof user>>().toEqualTypeOf<
18
- "createdAt" | "updatedAt"
19
- >();
11
+ };
12
+ expectTypeOf().toEqualTypeOf();
20
13
  });
21
-
22
14
  test("returns never if there are no provided fields", () => {
23
15
  const user = {
24
16
  fields: {
@@ -26,11 +18,9 @@ describe("ProvidedField", () => {
26
18
  name: { type: "text", provided: false },
27
19
  age: { type: "integer", provided: false },
28
20
  },
29
- } as const satisfies ModelDefinition;
30
-
31
- expectTypeOf<ProvidedField<typeof user>>().toEqualTypeOf<never>();
21
+ };
22
+ expectTypeOf().toEqualTypeOf();
32
23
  });
33
-
34
24
  test("treats fields without provided property as non-provided", () => {
35
25
  const user = {
36
26
  fields: {
@@ -38,8 +28,7 @@ describe("ProvidedField", () => {
38
28
  createdAt: { type: "timestamp", provided: true },
39
29
  name: { type: "text" },
40
30
  },
41
- } as const satisfies ModelDefinition;
42
-
43
- expectTypeOf<ProvidedField<typeof user>>().toEqualTypeOf<"createdAt">();
31
+ };
32
+ expectTypeOf().toEqualTypeOf();
44
33
  });
45
34
  });
@@ -0,0 +1,4 @@
1
+ import { ModelDefinitions } from "#definition/ModelDefinitions.js";
2
+ import { ModelName } from "./ModelName.js";
3
+ import { RelationName } from "./RelationName.js";
4
+ export type RelationModel<Models extends ModelDefinitions, M extends ModelName<Models>, R extends RelationName<Models[M]>> = Models[NonNullable<Models[M]["relations"]>[R]["model"]];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,4 @@
1
1
  import { describe, expectTypeOf, test } from "vitest";
2
-
3
- import { ModelDefinitions } from "../definition/ModelDefinitions.js";
4
- import { RelationModel } from "./RelationModel.js";
5
-
6
2
  describe("RelationModel", () => {
7
3
  const models = {
8
4
  user: {
@@ -43,39 +39,22 @@ describe("RelationModel", () => {
43
39
  },
44
40
  },
45
41
  like: { fields: {} },
46
- } as const satisfies ModelDefinitions;
47
-
42
+ };
48
43
  test("looks up the correct relation model in the schema for N:1 relations", () => {
49
- expectTypeOf<RelationModel<typeof models, "post", "author">>().toExtend<
50
- typeof models.user
51
- >();
44
+ expectTypeOf().toExtend();
52
45
  });
53
-
54
46
  test("looks up the correct relation model in the schema for 1:N relations", () => {
55
- expectTypeOf<RelationModel<typeof models, "post", "likes">>().toExtend<
56
- typeof models.like
57
- >();
47
+ expectTypeOf().toExtend();
58
48
  });
59
-
60
49
  test("looks up the correct relation model in the schema for N:N relations", () => {
61
- expectTypeOf<
62
- RelationModel<typeof models, "user", "likedPosts">
63
- >().toExtend<typeof models.post>();
50
+ expectTypeOf().toExtend();
64
51
  });
65
-
66
52
  describe("errors", () => {
67
53
  test("looking up a non-existing relation causes an error", () => {
68
- expectTypeOf<
69
- // @ts-expect-error relation does not exist
70
- RelationModel<typeof models, "post", "posts">
71
- >().not.toExtend<typeof models.post>();
54
+ expectTypeOf().not.toExtend();
72
55
  });
73
-
74
56
  test("looking up a relation for a model that doesn't exist causes an error", () => {
75
- expectTypeOf<
76
- // @ts-expect-error model does not exist
77
- RelationModel<typeof models, "postx", "posts">
78
- >().not.toExtend<typeof models.post>();
57
+ expectTypeOf().not.toExtend();
79
58
  });
80
59
  });
81
60
  });
@@ -0,0 +1,2 @@
1
+ import { ModelDefinition } from "#definition/ModelDefinition.js";
2
+ export type RelationName<Model extends ModelDefinition> = keyof Model["relations"];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,4 @@
1
1
  import { describe, expectTypeOf, test } from "vitest";
2
-
3
- import { ModelDefinition } from "../definition/ModelDefinition.js";
4
- import { RelationName } from "./RelationName.js";
5
-
6
2
  describe("RelationName", () => {
7
3
  test("it evaluates to a string union of the names of the model's relations", () => {
8
4
  const user = {
@@ -24,12 +20,8 @@ describe("RelationName", () => {
24
20
  },
25
21
  },
26
22
  },
27
- } as const satisfies ModelDefinition;
28
-
29
- expectTypeOf<RelationName<typeof user>>().toEqualTypeOf<
30
- "posts" | "friends"
31
- >();
32
-
23
+ };
24
+ expectTypeOf().toEqualTypeOf();
33
25
  const post = {
34
26
  fields: { id: { type: "serial" } },
35
27
  relations: {
@@ -46,9 +38,7 @@ describe("RelationName", () => {
46
38
  toField: "postId",
47
39
  },
48
40
  },
49
- } as const satisfies ModelDefinition;
50
- expectTypeOf<RelationName<typeof post>>().toEqualTypeOf<
51
- "author" | "likes"
52
- >();
41
+ };
42
+ expectTypeOf().toEqualTypeOf();
53
43
  });
54
44
  });
@@ -4,11 +4,4 @@ import { FieldWithDefault } from "./FieldWithDefault.js";
4
4
  import { NullableField } from "./NullableField.js";
5
5
  import { ProvidedField } from "./ProvidedField.js";
6
6
  import { SerialField } from "./SerialField.js";
7
-
8
- export type RequiredField<Model extends ModelDefinition> = Exclude<
9
- FieldName<Model>,
10
- | NullableField<Model>
11
- | FieldWithDefault<Model>
12
- | SerialField<Model>
13
- | ProvidedField<Model>
14
- >;
7
+ export type RequiredField<Model extends ModelDefinition> = Exclude<FieldName<Model>, NullableField<Model> | FieldWithDefault<Model> | SerialField<Model> | ProvidedField<Model>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,4 @@
1
1
  import { describe, expectTypeOf, test } from "vitest";
2
-
3
- import type { ModelDefinition } from "../definition/ModelDefinition.js";
4
- import type { RequiredField } from "./RequiredField.js";
5
-
6
2
  describe("RequiredField", () => {
7
3
  test("extracts fields that are required for insert", () => {
8
4
  const user = {
@@ -13,13 +9,9 @@ describe("RequiredField", () => {
13
9
  age: { type: "integer", nullable: false, default: 18 },
14
10
  role: { type: "text", nullable: false, provided: true },
15
11
  },
16
- } as const satisfies ModelDefinition;
17
-
18
- expectTypeOf<RequiredField<typeof user>>().toEqualTypeOf<
19
- "name" | "email"
20
- >();
12
+ };
13
+ expectTypeOf().toEqualTypeOf();
21
14
  });
22
-
23
15
  test("returns never if all fields are optional", () => {
24
16
  const user = {
25
17
  fields: {
@@ -28,11 +20,9 @@ describe("RequiredField", () => {
28
20
  age: { type: "integer", default: 18 },
29
21
  role: { type: "text", provided: true },
30
22
  },
31
- } as const satisfies ModelDefinition;
32
-
33
- expectTypeOf<RequiredField<typeof user>>().toEqualTypeOf<never>();
23
+ };
24
+ expectTypeOf().toEqualTypeOf();
34
25
  });
35
-
36
26
  test("excludes fields with defaults, serial fields, nullable fields and provided fields", () => {
37
27
  const user = {
38
28
  fields: {
@@ -43,10 +33,7 @@ describe("RequiredField", () => {
43
33
  role: { type: "text", provided: true },
44
34
  score: { type: "integer", nullable: false },
45
35
  },
46
- } as const satisfies ModelDefinition;
47
-
48
- expectTypeOf<RequiredField<typeof user>>().toEqualTypeOf<
49
- "name" | "score"
50
- >();
36
+ };
37
+ expectTypeOf().toEqualTypeOf();
51
38
  });
52
39
  });
@@ -1,10 +1,4 @@
1
1
  import { ModelDefinition } from "../definition/ModelDefinition.js";
2
-
3
2
  export type SerialField<Model extends ModelDefinition> = {
4
- [K in keyof Model["fields"]]: Uppercase<Model["fields"][K]["type"]> extends
5
- | "SMALLSERIAL"
6
- | "SERIAL"
7
- | "BIGSERIAL"
8
- ? K
9
- : never;
3
+ [K in keyof Model["fields"]]: Uppercase<Model["fields"][K]["type"]> extends "SMALLSERIAL" | "SERIAL" | "BIGSERIAL" ? K : never;
10
4
  }[keyof Model["fields"]];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,4 @@
1
1
  import { describe, expectTypeOf, test } from "vitest";
2
-
3
- import type { ModelDefinition } from "../definition/ModelDefinition.js";
4
- import type { SerialField } from "./SerialField.js";
5
-
6
2
  describe("SerialField", () => {
7
3
  test("extracts just the fields with a SERIAL datatype from the model", () => {
8
4
  const user = {
@@ -13,13 +9,9 @@ describe("SerialField", () => {
13
9
  name: { type: "text" },
14
10
  age: { type: "integer" },
15
11
  },
16
- } as const satisfies ModelDefinition;
17
-
18
- expectTypeOf<SerialField<typeof user>>().toEqualTypeOf<
19
- "id" | "smallId" | "bigId"
20
- >();
12
+ };
13
+ expectTypeOf().toEqualTypeOf();
21
14
  });
22
-
23
15
  test("works for both lower and uppercase field types", () => {
24
16
  const user = {
25
17
  fields: {
@@ -29,24 +21,18 @@ describe("SerialField", () => {
29
21
  name: { type: "TEXT" },
30
22
  age: { type: "INTEGER" },
31
23
  },
32
- } as const satisfies ModelDefinition;
33
-
34
- expectTypeOf<SerialField<typeof user>>().toEqualTypeOf<
35
- "id" | "smallId" | "bigId"
36
- >();
24
+ };
25
+ expectTypeOf().toEqualTypeOf();
37
26
  });
38
-
39
27
  test("returns never if there are no SERIAL fields", () => {
40
28
  const user = {
41
29
  fields: {
42
30
  name: { type: "text" },
43
31
  age: { type: "integer" },
44
32
  },
45
- } as const satisfies ModelDefinition;
46
-
47
- expectTypeOf<SerialField<typeof user>>().toEqualTypeOf<never>();
33
+ };
34
+ expectTypeOf().toEqualTypeOf();
48
35
  });
49
-
50
36
  test("does not include fields with a type that end with serial but isn't a serial type", () => {
51
37
  const user = {
52
38
  fields: {
@@ -54,8 +40,7 @@ describe("SerialField", () => {
54
40
  name: { type: "text" },
55
41
  age: { type: "integer" },
56
42
  },
57
- } as const satisfies ModelDefinition;
58
-
59
- expectTypeOf<SerialField<typeof user>>().toEqualTypeOf<"id">();
43
+ };
44
+ expectTypeOf().toEqualTypeOf();
60
45
  });
61
46
  });
@@ -4,16 +4,10 @@ export type { ModelDefinition } from "./definition/ModelDefinition.js";
4
4
  export type { ModelDefinitions } from "./definition/ModelDefinitions.js";
5
5
  export type { OperatorDefinitions } from "./definition/OperatorDefinitions.js";
6
6
  export type { PostgresDataTypes } from "./definition/PostgresDataTypes.js";
7
- export type {
8
- ManyToManyRelationDefinition,
9
- ManyToOneRelationDefinition,
10
- OneToManyRelationDefinition,
11
- RelationDefinition,
12
- } from "./definition/RelationDefinition.js";
7
+ export type { ManyToManyRelationDefinition, ManyToOneRelationDefinition, OneToManyRelationDefinition, RelationDefinition, } from "./definition/RelationDefinition.js";
13
8
  export type { RelationDefinitions } from "./definition/RelationDefinitions.js";
14
9
  export type { UniqueConstraintDefinition } from "./definition/UniqueConstraintDefinition.js";
15
10
  export type { WhereOperatorDefinition as OperatorDefinition } from "./definition/WhereOperator.js";
16
-
17
11
  export type { DefaultFieldType } from "./helper/DefaultFieldType.js";
18
12
  export type { FieldName } from "./helper/FieldName.js";
19
13
  export type { FieldType } from "./helper/FieldType.js";
@@ -27,6 +21,5 @@ export type { RelationModel } from "./helper/RelationModel.js";
27
21
  export type { RelationName } from "./helper/RelationName.js";
28
22
  export type { RequiredField } from "./helper/RequiredField.js";
29
23
  export type { SerialField } from "./helper/SerialField.js";
30
-
31
24
  export type { Config } from "./Config.js";
32
25
  export type { Logger } from "./Logger.js";
package/build/index.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@casekit/orm2-schema",
3
3
  "description": "",
4
- "version": "1.0.0",
4
+ "version": "1.0.2",
5
5
  "author": "",
6
6
  "dependencies": {
7
- "@casekit/sql": "1.0.0",
8
- "@casekit/toolbox": "1.0.0"
7
+ "@casekit/toolbox": "1.0.2",
8
+ "@casekit/sql": "1.0.2"
9
9
  },
10
10
  "devDependencies": {
11
11
  "@trivago/prettier-plugin-sort-imports": "^5.2.2",
@@ -18,17 +18,17 @@
18
18
  "typescript-eslint": "^8.34.1",
19
19
  "vite-tsconfig-paths": "^5.1.4",
20
20
  "vitest": "^3.2.4",
21
- "@casekit/prettier-config": "1.0.0",
22
- "@casekit/tsconfig": "1.0.0"
21
+ "@casekit/tsconfig": "1.0.2",
22
+ "@casekit/prettier-config": "1.0.2"
23
23
  },
24
24
  "exports": {
25
- ".": "./src/index.ts"
25
+ ".": "./build/index.js"
26
26
  },
27
27
  "files": [
28
- "/src"
28
+ "/build"
29
29
  ],
30
30
  "imports": {
31
- "#*": "./src/*"
31
+ "#*": "./build/*"
32
32
  },
33
33
  "keywords": [],
34
34
  "license": "ISC",
@@ -1,6 +0,0 @@
1
- import { SQLStatement } from "@casekit/sql";
2
-
3
- export type WhereOperatorDefinition = (
4
- meta: { table: SQLStatement; column: SQLStatement },
5
- value: unknown,
6
- ) => SQLStatement;
@@ -1,60 +0,0 @@
1
- import { expectTypeOf, test } from "vitest";
2
-
3
- import { DefaultFieldType } from "./DefaultFieldType.js";
4
-
5
- test("DefaultFieldType", () => {
6
- expectTypeOf<DefaultFieldType<"bigint">>().toBeBigInt();
7
- expectTypeOf<DefaultFieldType<"integer">>().toBeNumber();
8
- expectTypeOf<DefaultFieldType<"double precision">>().toBeNumber();
9
- expectTypeOf<DefaultFieldType<"oid">>().toBeNumber();
10
- expectTypeOf<DefaultFieldType<"real">>().toBeNumber();
11
- expectTypeOf<DefaultFieldType<"smallint">>().toBeNumber();
12
- expectTypeOf<DefaultFieldType<"smallserial">>().toBeNumber();
13
- expectTypeOf<DefaultFieldType<"serial">>().toBeNumber();
14
- expectTypeOf<DefaultFieldType<"text">>().toBeString();
15
- expectTypeOf<DefaultFieldType<"uuid">>().toBeString();
16
- expectTypeOf<DefaultFieldType<"bytea">>().toEqualTypeOf<Buffer>();
17
- // expectTypeOf<DefaultFieldType<"circle">>().toEqualTypeOf<{
18
- // x: number;
19
- // y: number;
20
- // radius: number;
21
- // }>();
22
- // expectTypeOf<DefaultFieldType<"point">>().toEqualTypeOf<{
23
- // x: number;
24
- // y: number;
25
- // }>();
26
- expectTypeOf<DefaultFieldType<"json">>().toBeUnknown();
27
- expectTypeOf<DefaultFieldType<"jsonb">>().toBeUnknown();
28
- expectTypeOf<DefaultFieldType<"boolean">>().toBeBoolean();
29
- expectTypeOf<DefaultFieldType<"date">>().toEqualTypeOf<Date>();
30
- expectTypeOf<DefaultFieldType<"timestamp">>().toEqualTypeOf<Date>();
31
- // expectTypeOf<DefaultFieldType<"interval">>().toEqualTypeOf<{
32
- // years?: number;
33
- // months?: number;
34
- // days?: number;
35
- // hours?: number;
36
- // minutes?: number;
37
- // seconds?: number;
38
- // milliseconds?: number;
39
- // }>();
40
- expectTypeOf<DefaultFieldType<"time">>().toEqualTypeOf<string>();
41
- expectTypeOf<DefaultFieldType<"timetz">>().toEqualTypeOf<string>();
42
- expectTypeOf<DefaultFieldType<"timestamptz">>().toEqualTypeOf<Date>();
43
- expectTypeOf<DefaultFieldType<"varchar">>().toBeString();
44
- expectTypeOf<DefaultFieldType<"char">>().toBeString();
45
- expectTypeOf<DefaultFieldType<"numeric">>().toBeString();
46
- expectTypeOf<DefaultFieldType<"decimal">>().toBeString();
47
- expectTypeOf<DefaultFieldType<"money">>().toBeString();
48
- expectTypeOf<DefaultFieldType<"bit">>().toBeString();
49
- expectTypeOf<DefaultFieldType<"box">>().toBeString();
50
- expectTypeOf<DefaultFieldType<"line">>().toBeString();
51
- expectTypeOf<DefaultFieldType<"lseg">>().toBeString();
52
- expectTypeOf<DefaultFieldType<"path">>().toBeString();
53
- expectTypeOf<DefaultFieldType<"polygon">>().toBeString();
54
- expectTypeOf<DefaultFieldType<"cidr">>().toBeString();
55
- expectTypeOf<DefaultFieldType<"inet">>().toBeString();
56
- expectTypeOf<DefaultFieldType<"macaddr">>().toBeString();
57
- expectTypeOf<DefaultFieldType<"tsquery">>().toBeString();
58
- expectTypeOf<DefaultFieldType<"tsvector">>().toBeString();
59
- expectTypeOf<DefaultFieldType<"xml">>().toBeString();
60
- });