@casekit/orm 0.0.1-alpha.8 → 0.0.1-alpha.9
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.
- package/lib/queries/clauses/ReturningClause.d.ts +2 -3
- package/lib/queries/clauses/ReturningClause.d.ts.map +1 -1
- package/lib/queries/clauses/SelectClause.d.ts +2 -3
- package/lib/queries/clauses/SelectClause.d.ts.map +1 -1
- package/lib/queries/clauses/WhereClause.d.ts +1 -1
- package/lib/queries/clauses/WhereClause.d.ts.map +1 -1
- package/lib/queries/clauses/helpers/OptionalColumn.d.ts +4 -5
- package/lib/queries/clauses/helpers/OptionalColumn.d.ts.map +1 -1
- package/lib/queries/clauses/helpers/OptionalParams.d.ts +2 -2
- package/lib/queries/clauses/helpers/OptionalParams.d.ts.map +1 -1
- package/lib/queries/clauses/helpers/RequiredColumn.d.ts +2 -3
- package/lib/queries/clauses/helpers/RequiredColumn.d.ts.map +1 -1
- package/lib/queries/clauses/helpers/RequiredParams.d.ts +2 -2
- package/lib/queries/clauses/helpers/RequiredParams.d.ts.map +1 -1
- package/lib/queries/clauses/where/types/WhereClauseValue.d.ts +1 -1
- package/lib/queries/clauses/where/types/WhereClauseValue.d.ts.map +1 -1
- package/lib/queries/create/types/CreateManyParams.d.ts +1 -1
- package/lib/queries/create/types/CreateManyParams.d.ts.map +1 -1
- package/lib/queries/create/types/CreateManyResult.d.ts +1 -1
- package/lib/queries/create/types/CreateManyResult.d.ts.map +1 -1
- package/lib/queries/create/types/CreateOneParams.d.ts +1 -1
- package/lib/queries/create/types/CreateOneParams.d.ts.map +1 -1
- package/lib/queries/create/types/CreateOneResult.d.ts +1 -1
- package/lib/queries/create/types/CreateOneResult.d.ts.map +1 -1
- package/lib/queries/delete/types/DeleteManyResult.d.ts +1 -1
- package/lib/queries/delete/types/DeleteManyResult.d.ts.map +1 -1
- package/lib/queries/delete/types/DeleteOneResult.d.ts +1 -1
- package/lib/queries/delete/types/DeleteOneResult.d.ts.map +1 -1
- package/lib/queries/delete/types/DeleteParams.d.ts +1 -1
- package/lib/queries/delete/types/DeleteParams.d.ts.map +1 -1
- package/lib/queries/find/types/FindManyParams.d.ts +2 -2
- package/lib/queries/find/types/FindManyParams.d.ts.map +1 -1
- package/lib/queries/find/types/FindOneParams.d.ts +1 -1
- package/lib/queries/find/types/FindOneParams.d.ts.map +1 -1
- package/lib/queries/update/types/UpdateManyResult.d.ts +1 -1
- package/lib/queries/update/types/UpdateManyResult.d.ts.map +1 -1
- package/lib/queries/update/types/UpdateOneResult.d.ts +1 -1
- package/lib/queries/update/types/UpdateOneResult.d.ts.map +1 -1
- package/lib/queries/update/types/UpdateParams.d.ts +1 -1
- package/lib/queries/update/types/UpdateParams.d.ts.map +1 -1
- package/lib/queries/update/types/UpdateValues.d.ts +1 -1
- package/lib/queries/update/types/UpdateValues.d.ts.map +1 -1
- package/lib/schema/types/helpers/ColumnName.d.ts +2 -3
- package/lib/schema/types/helpers/ColumnName.d.ts.map +1 -1
- package/lib/schema/types/helpers/ColumnType.d.ts +2 -2
- package/lib/schema/types/helpers/ColumnType.d.ts.map +1 -1
- package/lib/schema/types/helpers/Columns.d.ts +2 -3
- package/lib/schema/types/helpers/Columns.d.ts.map +1 -1
- package/lib/schema/types/helpers/HasDefault.d.ts +2 -3
- package/lib/schema/types/helpers/HasDefault.d.ts.map +1 -1
- package/lib/schema/types/helpers/IsNullable.d.ts +2 -3
- package/lib/schema/types/helpers/IsNullable.d.ts.map +1 -1
- package/lib/schema/types/helpers/IsProvided.d.ts +2 -3
- package/lib/schema/types/helpers/IsProvided.d.ts.map +1 -1
- package/lib/schema/types/helpers/IsSerial.d.ts +2 -3
- package/lib/schema/types/helpers/IsSerial.d.ts.map +1 -1
- package/lib/schema/types/relations/ManyToManyRelation.d.ts +2 -2
- package/lib/schema/types/relations/ManyToManyRelation.d.ts.map +1 -1
- package/lib/schema/types/relations/ManyToOneRelation.d.ts +1 -1
- package/lib/schema/types/relations/ManyToOneRelation.d.ts.map +1 -1
- package/lib/schema/types/relations/OneToManyRelation.d.ts +1 -1
- package/lib/schema/types/relations/OneToManyRelation.d.ts.map +1 -1
- package/lib/types/ModelType.d.ts +10 -3
- package/lib/types/ModelType.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/queries/clauses/ReturningClause.ts +4 -6
- package/src/queries/clauses/SelectClause.ts +4 -6
- package/src/queries/clauses/WhereClause.ts +1 -1
- package/src/queries/clauses/helpers/OptionalColumn.ts +7 -11
- package/src/queries/clauses/helpers/OptionalParams.ts +2 -2
- package/src/queries/clauses/helpers/RequiredColumn.ts +5 -6
- package/src/queries/clauses/helpers/RequiredParams.ts +2 -2
- package/src/queries/clauses/where/types/WhereClauseValue.ts +1 -1
- package/src/queries/create/types/CreateManyParams.ts +1 -1
- package/src/queries/create/types/CreateManyResult.ts +1 -1
- package/src/queries/create/types/CreateOneParams.ts +1 -1
- package/src/queries/create/types/CreateOneResult.ts +1 -1
- package/src/queries/delete/types/DeleteManyResult.ts +1 -1
- package/src/queries/delete/types/DeleteOneResult.ts +1 -1
- package/src/queries/delete/types/DeleteParams.ts +1 -1
- package/src/queries/find/types/FindManyParams.ts +2 -2
- package/src/queries/find/types/FindOneParams.ts +1 -1
- package/src/queries/update/types/UpdateManyResult.ts +1 -1
- package/src/queries/update/types/UpdateOneResult.ts +1 -1
- package/src/queries/update/types/UpdateParams.ts +1 -1
- package/src/queries/update/types/UpdateValues.ts +1 -1
- package/src/schema/types/helpers/ColumnName.ts +5 -6
- package/src/schema/types/helpers/ColumnType.ts +2 -2
- package/src/schema/types/helpers/Columns.ts +2 -6
- package/src/schema/types/helpers/HasDefault.ts +5 -7
- package/src/schema/types/helpers/IsNullable.ts +4 -6
- package/src/schema/types/helpers/IsProvided.ts +4 -6
- package/src/schema/types/helpers/IsSerial.ts +4 -6
- package/src/schema/types/relations/ManyToManyRelation.ts +2 -2
- package/src/schema/types/relations/ManyToOneRelation.ts +1 -1
- package/src/schema/types/relations/OneToManyRelation.ts +1 -1
- package/src/types/ModelType.ts +16 -3
- package/lib/queries/clauses/helpers/ModelValues.d.ts +0 -8
- package/lib/queries/clauses/helpers/ModelValues.d.ts.map +0 -1
- package/lib/queries/clauses/helpers/ModelValues.js +0 -2
- package/lib/queries/clauses/helpers/ModelValues.js.map +0 -1
- package/src/queries/clauses/helpers/ModelValues.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneToManyRelation.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/relations/OneToManyRelation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,qBAAqB,IAAI;KACjE,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG;QACvB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,KAAK,CAAC;QACZ,UAAU,EAAE,UAAU,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"OneToManyRelation.d.ts","sourceRoot":"","sources":["../../../../src/schema/types/relations/OneToManyRelation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,qBAAqB,IAAI;KACjE,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG;QACvB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,KAAK,CAAC;QACZ,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB;CACJ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
package/lib/types/ModelType.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import { IsNullable } from "../schema/types/helpers/IsNullable";
|
|
1
2
|
import { LooseModelDefinition } from "../schema/types/loose/LooseModelDefinition";
|
|
2
3
|
import { ColumnName } from "./ColumnName";
|
|
3
4
|
import { ColumnType } from "./ColumnType";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { Simplify } from "./util/Simplify";
|
|
6
|
+
export type NullableColumn<Model extends LooseModelDefinition> = {
|
|
7
|
+
[C in ColumnName<Model>]: IsNullable<Model, C> extends true ? C : never;
|
|
8
|
+
}[ColumnName<Model>];
|
|
9
|
+
export type ModelType<Model extends LooseModelDefinition> = Simplify<{
|
|
10
|
+
[C in Exclude<ColumnName<Model>, NullableColumn<Model>>]: ColumnType<Model, C>;
|
|
11
|
+
} & {
|
|
12
|
+
[C in NullableColumn<Model>]?: ColumnType<Model, C>;
|
|
13
|
+
}>;
|
|
7
14
|
//# sourceMappingURL=ModelType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelType.d.ts","sourceRoot":"","sources":["../../src/types/ModelType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelType.d.ts","sourceRoot":"","sources":["../../src/types/ModelType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,oBAAoB,IAAI;KAC5D,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK;CAC1E,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAErB,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,oBAAoB,IAAI,QAAQ,CAChE;KACK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAChE,KAAK,EACL,CAAC,CACJ;CACJ,GAAG;KACC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;CACtD,CACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ColumnName } from "../../schema/types/helpers/ColumnName";
|
|
2
|
-
import {
|
|
3
|
-
import { LooseModelDefinitions } from "../../schema/types/loose/LooseModelDefinitions";
|
|
2
|
+
import { LooseModelDefinition } from "../../schema/types/loose/LooseModelDefinition";
|
|
4
3
|
import { NonEmptyArray } from "../../types/util/NonEmptyArray";
|
|
5
4
|
|
|
6
|
-
export type ReturningClause<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
> = NonEmptyArray<ColumnName<Models, M>>;
|
|
5
|
+
export type ReturningClause<Model extends LooseModelDefinition> = NonEmptyArray<
|
|
6
|
+
ColumnName<Model>
|
|
7
|
+
>;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ColumnName } from "../../schema/types/helpers/ColumnName";
|
|
2
|
-
import {
|
|
3
|
-
import { LooseModelDefinitions } from "../../schema/types/loose/LooseModelDefinitions";
|
|
2
|
+
import { LooseModelDefinition } from "../../schema/types/loose/LooseModelDefinition";
|
|
4
3
|
import { NonEmptyArray } from "../../types/util/NonEmptyArray";
|
|
5
4
|
|
|
6
|
-
export type SelectClause<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
> = NonEmptyArray<ColumnName<Models, M>>;
|
|
5
|
+
export type SelectClause<Model extends LooseModelDefinition> = NonEmptyArray<
|
|
6
|
+
ColumnName<Model>
|
|
7
|
+
>;
|
|
@@ -8,7 +8,7 @@ export type WhereClause<
|
|
|
8
8
|
Models extends LooseModelDefinitions,
|
|
9
9
|
M extends ModelName<Models>,
|
|
10
10
|
> = {
|
|
11
|
-
[C in ColumnName<Models
|
|
11
|
+
[C in ColumnName<Models[M]>]?: WhereClauseValue<Models, M, C>;
|
|
12
12
|
} & {
|
|
13
13
|
[$and]?: WhereClause<Models, M>[];
|
|
14
14
|
[$or]?: WhereClause<Models, M>[];
|
|
@@ -3,20 +3,16 @@ import { HasDefault } from "../../../schema/types/helpers/HasDefault";
|
|
|
3
3
|
import { IsNullable } from "../../../schema/types/helpers/IsNullable";
|
|
4
4
|
import { IsProvided } from "../../../schema/types/helpers/IsProvided";
|
|
5
5
|
import { IsSerial } from "../../../schema/types/helpers/IsSerial";
|
|
6
|
-
import {
|
|
7
|
-
import { LooseModelDefinitions } from "../../../schema/types/loose/LooseModelDefinitions";
|
|
6
|
+
import { LooseModelDefinition } from "../../../schema/types/loose/LooseModelDefinition";
|
|
8
7
|
|
|
9
|
-
export type OptionalColumn<
|
|
10
|
-
|
|
11
|
-
M extends ModelName<Models>,
|
|
12
|
-
> = {
|
|
13
|
-
[C in ColumnName<Models, M>]: IsNullable<Models, M, C> extends true
|
|
8
|
+
export type OptionalColumn<Model extends LooseModelDefinition> = {
|
|
9
|
+
[C in ColumnName<Model>]: IsNullable<Model, C> extends true
|
|
14
10
|
? C
|
|
15
|
-
: IsSerial<
|
|
11
|
+
: IsSerial<Model, C> extends true
|
|
16
12
|
? C
|
|
17
|
-
: HasDefault<
|
|
13
|
+
: HasDefault<Model, C> extends true
|
|
18
14
|
? C
|
|
19
|
-
: IsProvided<
|
|
15
|
+
: IsProvided<Model, C> extends true
|
|
20
16
|
? C
|
|
21
17
|
: never;
|
|
22
|
-
}[ColumnName<
|
|
18
|
+
}[ColumnName<Model>];
|
|
@@ -7,8 +7,8 @@ export type OptionalParams<
|
|
|
7
7
|
Models extends LooseModelDefinitions,
|
|
8
8
|
M extends ModelName<Models>,
|
|
9
9
|
> =
|
|
10
|
-
OptionalColumn<Models
|
|
10
|
+
OptionalColumn<Models[M]> extends never
|
|
11
11
|
? unknown
|
|
12
12
|
: {
|
|
13
|
-
[C in OptionalColumn<Models
|
|
13
|
+
[C in OptionalColumn<Models[M]>]?: ColumnType<Models, M, C>;
|
|
14
14
|
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { ColumnName } from "../../../schema/types/helpers/ColumnName";
|
|
2
|
-
import {
|
|
3
|
-
import { LooseModelDefinitions } from "../../../schema/types/loose/LooseModelDefinitions";
|
|
2
|
+
import { LooseModelDefinition } from "../../../schema/types/loose/LooseModelDefinition";
|
|
4
3
|
import { OptionalColumn } from "./OptionalColumn";
|
|
5
4
|
|
|
6
|
-
export type RequiredColumn<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
export type RequiredColumn<Model extends LooseModelDefinition> = Exclude<
|
|
6
|
+
ColumnName<Model>,
|
|
7
|
+
OptionalColumn<Model>
|
|
8
|
+
>;
|
|
@@ -7,8 +7,8 @@ export type RequiredParams<
|
|
|
7
7
|
Models extends LooseModelDefinitions,
|
|
8
8
|
M extends ModelName<Models>,
|
|
9
9
|
> =
|
|
10
|
-
RequiredColumn<Models
|
|
10
|
+
RequiredColumn<Models[M]> extends never
|
|
11
11
|
? unknown
|
|
12
12
|
: {
|
|
13
|
-
[C in RequiredColumn<Models
|
|
13
|
+
[C in RequiredColumn<Models[M]>]: ColumnType<Models, M, C>;
|
|
14
14
|
};
|
|
@@ -10,7 +10,7 @@ export type CreateManyResult<
|
|
|
10
10
|
M extends ModelName<Models>,
|
|
11
11
|
P extends CreateOneParams<Models, M> | CreateManyParams<Models, M>,
|
|
12
12
|
> =
|
|
13
|
-
P["returning"] extends ReturningClause<Models
|
|
13
|
+
P["returning"] extends ReturningClause<Models[M]>
|
|
14
14
|
? Readonly<{
|
|
15
15
|
[C in P["returning"][number]]: ColumnType<Models, M, C>;
|
|
16
16
|
}>[]
|
|
@@ -10,7 +10,7 @@ export type CreateOneResult<
|
|
|
10
10
|
M extends ModelName<Models>,
|
|
11
11
|
P extends CreateOneParams<Models, M> | CreateManyParams<Models, M>,
|
|
12
12
|
> =
|
|
13
|
-
P["returning"] extends SelectClause<Models
|
|
13
|
+
P["returning"] extends SelectClause<Models[M]>
|
|
14
14
|
? Readonly<{
|
|
15
15
|
[C in P["returning"][number]]: ColumnType<Models, M, C>;
|
|
16
16
|
}>
|
|
@@ -9,7 +9,7 @@ export type DeleteManyResult<
|
|
|
9
9
|
M extends ModelName<Models>,
|
|
10
10
|
P extends DeleteParams<Models, M>,
|
|
11
11
|
> =
|
|
12
|
-
P["returning"] extends ReturningClause<Models
|
|
12
|
+
P["returning"] extends ReturningClause<Models[M]>
|
|
13
13
|
? Readonly<{
|
|
14
14
|
[C in P["returning"][number]]: ColumnType<Models, M, C>;
|
|
15
15
|
}>[]
|
|
@@ -9,7 +9,7 @@ export type DeleteOneResult<
|
|
|
9
9
|
M extends ModelName<Models>,
|
|
10
10
|
P extends DeleteParams<Models, M>,
|
|
11
11
|
> =
|
|
12
|
-
P["returning"] extends ReturningClause<Models
|
|
12
|
+
P["returning"] extends ReturningClause<Models[M]>
|
|
13
13
|
? Readonly<{
|
|
14
14
|
[C in P["returning"][number]]: ColumnType<Models, M, C>;
|
|
15
15
|
}>
|
|
@@ -12,12 +12,12 @@ export type FindManyParams<
|
|
|
12
12
|
Relations extends LooseRelationsDefinitions<Models>,
|
|
13
13
|
M extends ModelName<Models>,
|
|
14
14
|
> = {
|
|
15
|
-
select: SelectClause<Models
|
|
15
|
+
select: SelectClause<Models[M]>;
|
|
16
16
|
include?: IncludeClause<Models, Relations, M>;
|
|
17
17
|
where?: WhereClause<Models, M>;
|
|
18
18
|
limit?: number;
|
|
19
19
|
offset?: number;
|
|
20
20
|
orderBy?: NonEmptyArray<
|
|
21
|
-
ColumnName<Models
|
|
21
|
+
ColumnName<Models[M]> | [ColumnName<Models[M]>, "asc" | "desc"]
|
|
22
22
|
>;
|
|
23
23
|
};
|
|
@@ -10,7 +10,7 @@ export type FindOneParams<
|
|
|
10
10
|
Relations extends LooseRelationsDefinitions<Models>,
|
|
11
11
|
M extends ModelName<Models>,
|
|
12
12
|
> = {
|
|
13
|
-
select: SelectClause<Models
|
|
13
|
+
select: SelectClause<Models[M]>;
|
|
14
14
|
where?: WhereClause<Models, M>;
|
|
15
15
|
include?: IncludeClause<Models, Relations, M>;
|
|
16
16
|
};
|
|
@@ -9,7 +9,7 @@ export type UpdateManyResult<
|
|
|
9
9
|
M extends ModelName<Models>,
|
|
10
10
|
P extends UpdateParams<Models, M>,
|
|
11
11
|
> =
|
|
12
|
-
P["returning"] extends ReturningClause<Models
|
|
12
|
+
P["returning"] extends ReturningClause<Models[M]>
|
|
13
13
|
? Readonly<{
|
|
14
14
|
[C in P["returning"][number]]: ColumnType<Models, M, C>;
|
|
15
15
|
}>[]
|
|
@@ -9,7 +9,7 @@ export type UpdateOneResult<
|
|
|
9
9
|
M extends ModelName<Models>,
|
|
10
10
|
P extends UpdateParams<Models, M>,
|
|
11
11
|
> =
|
|
12
|
-
P["returning"] extends ReturningClause<Models
|
|
12
|
+
P["returning"] extends ReturningClause<Models[M]>
|
|
13
13
|
? Readonly<{
|
|
14
14
|
[C in P["returning"][number]]: ColumnType<Models, M, C>;
|
|
15
15
|
}>
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModelName } from "./ModelName";
|
|
1
|
+
import { LooseModelDefinition } from "../loose/LooseModelDefinition";
|
|
3
2
|
|
|
4
|
-
export type ColumnName<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
export type ColumnName<Model extends LooseModelDefinition> = Extract<
|
|
4
|
+
keyof Model["columns"],
|
|
5
|
+
string
|
|
6
|
+
>;
|
|
@@ -8,7 +8,7 @@ import { ModelName } from "./ModelName";
|
|
|
8
8
|
type NonNullableColumnType<
|
|
9
9
|
Models extends LooseModelDefinitions,
|
|
10
10
|
M extends ModelName<Models>,
|
|
11
|
-
C extends ColumnName<Models
|
|
11
|
+
C extends ColumnName<Models[M]>,
|
|
12
12
|
> =
|
|
13
13
|
Models[M]["columns"][C]["zodSchema"] extends z.ZodType<unknown>
|
|
14
14
|
? z.infer<Models[M]["columns"][C]["zodSchema"]>
|
|
@@ -17,7 +17,7 @@ type NonNullableColumnType<
|
|
|
17
17
|
export type ColumnType<
|
|
18
18
|
Models extends LooseModelDefinitions,
|
|
19
19
|
M extends ModelName<Models>,
|
|
20
|
-
C extends ColumnName<Models
|
|
20
|
+
C extends ColumnName<Models[M]>,
|
|
21
21
|
> = Models[M]["columns"][C]["nullable"] extends true
|
|
22
22
|
? NonNullableColumnType<Models, M, C> | null
|
|
23
23
|
: NonNullableColumnType<Models, M, C>;
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModelName } from "./ModelName";
|
|
1
|
+
import { LooseModelDefinition } from "../loose/LooseModelDefinition";
|
|
3
2
|
|
|
4
|
-
export type Columns<
|
|
5
|
-
Models extends LooseModelDefinitions,
|
|
6
|
-
M extends ModelName<Models>,
|
|
7
|
-
> = Models[M]["columns"];
|
|
3
|
+
export type Columns<Model extends LooseModelDefinition> = Model["columns"];
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LooseModelDefinition } from "../loose/LooseModelDefinition";
|
|
2
2
|
import { Columns } from "./Columns";
|
|
3
|
-
import { ModelName } from "./ModelName";
|
|
4
3
|
|
|
5
4
|
export type HasDefault<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
> = null extends Columns<Models, M>[C]["default"]
|
|
5
|
+
Model extends LooseModelDefinition,
|
|
6
|
+
C extends keyof Columns<Model>,
|
|
7
|
+
> = null extends Columns<Model>[C]["default"]
|
|
10
8
|
? false
|
|
11
|
-
: undefined extends Columns<
|
|
9
|
+
: undefined extends Columns<Model>[C]["default"]
|
|
12
10
|
? false
|
|
13
11
|
: true;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LooseModelDefinition } from "../loose/LooseModelDefinition";
|
|
2
2
|
import { Columns } from "./Columns";
|
|
3
|
-
import { ModelName } from "./ModelName";
|
|
4
3
|
|
|
5
4
|
export type IsNullable<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
> = Columns<Models, M>[C]["nullable"] extends true ? true : false;
|
|
5
|
+
Model extends LooseModelDefinition,
|
|
6
|
+
C extends keyof Columns<Model>,
|
|
7
|
+
> = Columns<Model>[C]["nullable"] extends true ? true : false;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LooseModelDefinition } from "../loose/LooseModelDefinition";
|
|
2
2
|
import { ColumnName } from "./ColumnName";
|
|
3
3
|
import { Columns } from "./Columns";
|
|
4
|
-
import { ModelName } from "./ModelName";
|
|
5
4
|
|
|
6
5
|
export type IsProvided<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
> = Columns<Models, M>[C]["provided"];
|
|
6
|
+
Model extends LooseModelDefinition,
|
|
7
|
+
C extends ColumnName<Model>,
|
|
8
|
+
> = Columns<Model>[C]["provided"];
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LooseModelDefinition } from "../loose/LooseModelDefinition";
|
|
2
2
|
import { ColumnName } from "./ColumnName";
|
|
3
3
|
import { Columns } from "./Columns";
|
|
4
|
-
import { ModelName } from "./ModelName";
|
|
5
4
|
|
|
6
5
|
export type IsSerial<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
> = Columns<Models, M>[C]["type"] extends "serial" | "bigserial" | "smallserial"
|
|
6
|
+
Model extends LooseModelDefinition,
|
|
7
|
+
C extends ColumnName<Model>,
|
|
8
|
+
> = Columns<Model>[C]["type"] extends "serial" | "bigserial" | "smallserial"
|
|
11
9
|
? true
|
|
12
10
|
: false;
|
|
@@ -8,8 +8,8 @@ export type ManyToManyRelation<Models extends LooseModelDefinitions> = {
|
|
|
8
8
|
model: M2;
|
|
9
9
|
through: J;
|
|
10
10
|
type: "N:N";
|
|
11
|
-
foreignKey: ColumnName<Models
|
|
12
|
-
otherKey: ColumnName<Models
|
|
11
|
+
foreignKey: ColumnName<Models[J]> | ColumnName<Models[J]>[];
|
|
12
|
+
otherKey: ColumnName<Models[J]> | ColumnName<Models[J]>[];
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
}[ModelName<Models>][ModelName<Models>];
|
|
@@ -6,7 +6,7 @@ export type OneToManyRelation<Models extends LooseModelDefinitions> = {
|
|
|
6
6
|
[M2 in ModelName<Models>]: {
|
|
7
7
|
model: M2;
|
|
8
8
|
type: "1:N";
|
|
9
|
-
foreignKey: ColumnName<Models
|
|
9
|
+
foreignKey: ColumnName<Models[M2]> | ColumnName<Models[M2]>[];
|
|
10
10
|
optional?: boolean;
|
|
11
11
|
};
|
|
12
12
|
}[ModelName<Models>];
|
package/src/types/ModelType.ts
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
|
+
import { IsNullable } from "../schema/types/helpers/IsNullable";
|
|
1
2
|
import { LooseModelDefinition } from "../schema/types/loose/LooseModelDefinition";
|
|
2
3
|
import { ColumnName } from "./ColumnName";
|
|
3
4
|
import { ColumnType } from "./ColumnType";
|
|
5
|
+
import { Simplify } from "./util/Simplify";
|
|
4
6
|
|
|
5
|
-
export type
|
|
6
|
-
[C in ColumnName<Model>]:
|
|
7
|
-
};
|
|
7
|
+
export type NullableColumn<Model extends LooseModelDefinition> = {
|
|
8
|
+
[C in ColumnName<Model>]: IsNullable<Model, C> extends true ? C : never;
|
|
9
|
+
}[ColumnName<Model>];
|
|
10
|
+
|
|
11
|
+
export type ModelType<Model extends LooseModelDefinition> = Simplify<
|
|
12
|
+
{
|
|
13
|
+
[C in Exclude<ColumnName<Model>, NullableColumn<Model>>]: ColumnType<
|
|
14
|
+
Model,
|
|
15
|
+
C
|
|
16
|
+
>;
|
|
17
|
+
} & {
|
|
18
|
+
[C in NullableColumn<Model>]?: ColumnType<Model, C>;
|
|
19
|
+
}
|
|
20
|
+
>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ColumnName } from "../../../schema/types/helpers/ColumnName";
|
|
2
|
-
import { ColumnType } from "../../../schema/types/helpers/ColumnType";
|
|
3
|
-
import { ModelName } from "../../../schema/types/helpers/ModelName";
|
|
4
|
-
import { LooseModelDefinitions } from "../../../schema/types/loose/LooseModelDefinitions";
|
|
5
|
-
export type ModelValues<Models extends LooseModelDefinitions, M extends ModelName<Models>> = {
|
|
6
|
-
[C in ColumnName<Models, M>]: ColumnType<Models, M, C>;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=ModelValues.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelValues.d.ts","sourceRoot":"","sources":["../../../../src/queries/clauses/helpers/ModelValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAE1F,MAAM,MAAM,WAAW,CACnB,MAAM,SAAS,qBAAqB,EACpC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,IAC3B;KAAG,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;CAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModelValues.js","sourceRoot":"","sources":["../../../../src/queries/clauses/helpers/ModelValues.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ColumnName } from "../../../schema/types/helpers/ColumnName";
|
|
2
|
-
import { ColumnType } from "../../../schema/types/helpers/ColumnType";
|
|
3
|
-
import { ModelName } from "../../../schema/types/helpers/ModelName";
|
|
4
|
-
import { LooseModelDefinitions } from "../../../schema/types/loose/LooseModelDefinitions";
|
|
5
|
-
|
|
6
|
-
export type ModelValues<
|
|
7
|
-
Models extends LooseModelDefinitions,
|
|
8
|
-
M extends ModelName<Models>,
|
|
9
|
-
> = { [C in ColumnName<Models, M>]: ColumnType<Models, M, C> };
|