@mrnafisia/type-query 1.1.2 → 1.2.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 (74) hide show
  1. package/dist/U.d.ts +3 -0
  2. package/dist/U.d.ts.map +1 -0
  3. package/dist/U.js +29 -0
  4. package/dist/U.js.map +1 -0
  5. package/dist/context.d.ts +587 -60
  6. package/dist/context.d.ts.map +1 -1
  7. package/dist/context.js +18 -41
  8. package/dist/context.js.map +1 -1
  9. package/dist/dictionary.d.ts +8 -91
  10. package/dist/dictionary.d.ts.map +1 -1
  11. package/dist/dictionary.js +164 -132
  12. package/dist/dictionary.js.map +1 -1
  13. package/dist/entity.d.ts +2493 -697
  14. package/dist/entity.d.ts.map +1 -1
  15. package/dist/entity.js +190 -164
  16. package/dist/entity.js.map +1 -1
  17. package/dist/index.d.ts +16 -17
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +15 -54
  20. package/dist/index.js.map +1 -1
  21. package/dist/model.d.ts +1006 -0
  22. package/dist/model.d.ts.map +1 -0
  23. package/dist/{createModelUtils.js → model.js} +13 -16
  24. package/dist/model.js.map +1 -0
  25. package/dist/parser.d.ts +1 -1
  26. package/dist/parser.d.ts.map +1 -1
  27. package/dist/parser.js +1 -1
  28. package/dist/parser.js.map +1 -1
  29. package/dist/pool.d.ts +5 -9
  30. package/dist/pool.d.ts.map +1 -1
  31. package/dist/pool.js +26 -1
  32. package/dist/pool.js.map +1 -1
  33. package/dist/schema.d.ts +8 -20
  34. package/dist/schema.d.ts.map +1 -1
  35. package/dist/schema.js +176 -169
  36. package/dist/schema.js.map +1 -1
  37. package/dist/testUtil.d.ts +1 -25
  38. package/dist/testUtil.d.ts.map +1 -1
  39. package/dist/testUtil.js +2 -8
  40. package/dist/testUtil.js.map +1 -1
  41. package/dist/types/Context.d.ts +29 -30
  42. package/dist/types/Context.d.ts.map +1 -1
  43. package/dist/types/Entity.d.ts +27 -20
  44. package/dist/types/Entity.d.ts.map +1 -1
  45. package/dist/types/Json.d.ts +2 -2
  46. package/dist/types/Model.d.ts +19 -7
  47. package/dist/types/Model.d.ts.map +1 -1
  48. package/dist/types/Table.d.ts +5 -5
  49. package/dist/types/Table.d.ts.map +1 -1
  50. package/dist/types/pool.d.ts +19 -0
  51. package/dist/types/pool.d.ts.map +1 -0
  52. package/dist/types/{TypeMapper.js → pool.js} +1 -1
  53. package/dist/types/pool.js.map +1 -0
  54. package/dist/types/postgres.d.ts +6 -3
  55. package/dist/types/postgres.d.ts.map +1 -1
  56. package/dist/types/testUtil.d.ts +27 -0
  57. package/dist/types/testUtil.d.ts.map +1 -0
  58. package/dist/types/testUtil.js +3 -0
  59. package/dist/types/testUtil.js.map +1 -0
  60. package/dist/utils.d.ts +64 -36
  61. package/dist/utils.d.ts.map +1 -1
  62. package/dist/utils.js +171 -48
  63. package/dist/utils.js.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/createModelUtils.d.ts +0 -503
  66. package/dist/createModelUtils.d.ts.map +0 -1
  67. package/dist/createModelUtils.js.map +0 -1
  68. package/dist/hook.d.ts +0 -15
  69. package/dist/hook.d.ts.map +0 -1
  70. package/dist/hook.js +0 -30
  71. package/dist/hook.js.map +0 -1
  72. package/dist/types/TypeMapper.d.ts +0 -14
  73. package/dist/types/TypeMapper.d.ts.map +0 -1
  74. package/dist/types/TypeMapper.js.map +0 -1
@@ -1,53 +1,52 @@
1
1
  import Decimal from 'decimal.js';
2
- import type { Json } from './Json';
2
+ import type { JSON } from './Json';
3
3
  import type { Table } from './Table';
4
- import { ColumnTypeByColumns, ColumnTypeWithoutCustomTypeWithoutNullByColumns, ColumnTypeWithoutNullByColumns, CustomTypeMap } from './TypeMapper';
5
- type Context<Columns extends Table['columns'], CTypeMap extends CustomTypeMap<Columns>> = {
6
- col: <columnKey extends keyof Columns & string>(column: columnKey, alias?: string) => ColumnTypeByColumns<Columns, columnKey, CTypeMap>;
7
- colNull: <columnKey extends keyof Columns & string>(column: columnKey, op: true extends Columns[columnKey]['nullable'] ? NullOperator : never, alias?: string) => boolean;
8
- colBool: <columnKey extends keyof Columns & string>(column: columnKey, op: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends boolean ? BooleanOperator : never, alias?: string) => boolean;
9
- colCmp: <columnKey extends keyof Columns & string>(column: columnKey, op: CompareOperatorCompatible<ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>, CompareOperator, never>, v: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>, alias?: string) => boolean;
10
- colList: <columnKey extends keyof Columns & string>(column: columnKey, op: ListOperatorCompatible<ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>, ListOperator, never>, v: readonly ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>[], alias?: string) => boolean;
11
- colLike: <columnKey extends keyof Columns & string, Op extends ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends string ? LikeOperator : never>(column: columnKey, op: Op, v: Op extends 'like' ? ColumnTypeWithoutCustomTypeWithoutNullByColumns<Columns, columnKey> : readonly ColumnTypeWithoutCustomTypeWithoutNullByColumns<Columns, columnKey>[], alias?: string) => boolean;
12
- colJson: <columnKey extends keyof Columns & string, Op extends ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends Json ? JsonOperator : never>(column: columnKey, op: Op, v: Op extends '@>' | '<@' ? ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> : Op extends '?' ? string : Op extends '?&' | '?|' ? readonly string[] : never, alias?: string) => boolean;
13
- colsAnd: ContextScope<Columns, CTypeMap>;
14
- colsOr: ContextScope<Columns, CTypeMap>;
4
+ import type { ColumnTypeByColumns } from './postgres';
5
+ import type { Expression, ValueExpression } from './Entity';
6
+ type Context<Columns extends Table['columns']> = {
7
+ col: <columnKey extends keyof Columns & string>(column: columnKey, alias?: string) => ValueExpression<ColumnTypeByColumns<Columns, columnKey>>;
8
+ colNull: <columnKey extends keyof Columns & string>(column: columnKey, op: null extends ColumnTypeByColumns<Columns, columnKey> ? NullOperator : never, alias?: string) => ValueExpression<boolean>;
9
+ colBool: <columnKey extends keyof Columns & string>(column: columnKey, op: boolean extends ColumnTypeByColumns<Columns, columnKey> ? BooleanOperator : never, alias?: string) => ValueExpression<boolean>;
10
+ colCmp: <columnKey extends keyof Columns & string>(column: columnKey, op: CompareOperatorCompatible<ColumnTypeByColumns<Columns, columnKey>, CompareOperator, never>, v: Expression<ColumnTypeByColumns<Columns, columnKey>>, alias?: string) => ValueExpression<boolean>;
11
+ colList: <columnKey extends keyof Columns & string>(column: columnKey, op: ListOperatorCompatible<ColumnTypeByColumns<Columns, columnKey>, ListOperator, never>, v: readonly Expression<ColumnTypeByColumns<Columns, columnKey>>[] | undefined, alias?: string) => ValueExpression<boolean>;
12
+ colLike: <columnKey extends keyof Columns & string, Op extends string extends ColumnTypeByColumns<Columns, columnKey> ? LikeOperator : never>(column: columnKey, op: Op, v: Op extends 'like' ? Expression<ColumnTypeByColumns<Columns, columnKey>> : readonly Expression<ColumnTypeByColumns<Columns, columnKey>>[] | undefined, alias?: string) => ValueExpression<boolean>;
13
+ colJson: <columnKey extends keyof Columns & string, Op extends JSON extends ColumnTypeByColumns<Columns, columnKey> ? JsonOperator : never>(column: columnKey, op: Op, v: Op extends '@>' | '<@' ? Expression<ColumnTypeByColumns<Columns, columnKey>> : Op extends '?' ? Expression<string> : Op extends '?&' | '?|' ? readonly Expression<string>[] | undefined : never, alias?: string) => ValueExpression<boolean>;
14
+ colsAnd: ContextScope<Columns>;
15
+ colsOr: ContextScope<Columns>;
15
16
  };
16
- type ContextScope<Columns extends Table['columns'], CTypeMap extends CustomTypeMap<Columns>> = (rules: {
17
- [columnKey in keyof Columns]?: [op: true extends Columns[columnKey]['nullable'] ? NullOperator : never] | [
18
- op: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends boolean ? BooleanOperator : never
17
+ type ContextScope<Columns extends Table['columns']> = (rules: {
18
+ [columnKey in keyof Columns]?: [op: null extends ColumnTypeByColumns<Columns, columnKey> ? NullOperator : never] | [op: ColumnTypeByColumns<Columns, columnKey> extends boolean ? BooleanOperator : never] | [
19
+ op: CompareOperatorCompatible<ColumnTypeByColumns<Columns, columnKey>, CompareOperator, never>,
20
+ v: Expression<ColumnTypeByColumns<Columns, columnKey>>
19
21
  ] | [
20
- op: CompareOperatorCompatible<ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>, CompareOperator, never>,
21
- v: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>
22
- ] | [
23
- op: ListOperatorCompatible<ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>, ListOperator, never>,
24
- v: readonly ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap>[]
22
+ op: ListOperatorCompatible<ColumnTypeByColumns<Columns, columnKey>, ListOperator, never>,
23
+ v: readonly Expression<ColumnTypeByColumns<Columns, columnKey>>[] | undefined
25
24
  ] | [
26
25
  op: Extract<LikeOperator, 'like'>,
27
- v: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends string ? ColumnTypeWithoutCustomTypeWithoutNullByColumns<Columns, columnKey> : never
26
+ v: ColumnTypeByColumns<Columns, columnKey> extends string ? Expression<ColumnTypeByColumns<Columns, columnKey>> : never
28
27
  ] | [
29
28
  op: Extract<LikeOperator, 'like some' | 'like all'>,
30
- v: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends string ? readonly ColumnTypeWithoutCustomTypeWithoutNullByColumns<Columns, columnKey>[] : never
29
+ v: ColumnTypeByColumns<Columns, columnKey> extends string ? readonly Expression<ColumnTypeByColumns<Columns, columnKey>>[] | undefined : never
31
30
  ] | [
32
31
  op: Extract<JsonOperator, '@>' | '<@'>,
33
- v: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends Json ? ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> : never
32
+ v: ColumnTypeByColumns<Columns, columnKey> extends JSON ? Expression<ColumnTypeByColumns<Columns, columnKey>> : never
34
33
  ] | [
35
34
  op: Extract<JsonOperator, '?'>,
36
- v: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends Json ? string : never
35
+ v: ColumnTypeByColumns<Columns, columnKey> extends JSON ? Expression<string> : never
37
36
  ] | [
38
37
  op: Extract<JsonOperator, '?&' | '?|'>,
39
- v: ColumnTypeWithoutNullByColumns<Columns, columnKey, CTypeMap> extends Json ? readonly string[] : never
38
+ v: ColumnTypeByColumns<Columns, columnKey> extends JSON ? readonly Expression<string>[] | undefined : never
40
39
  ];
41
- }, alias?: string) => boolean;
42
- type CompareOperatorCompatible<T, True, False> = T extends number ? True : T extends bigint ? True : T extends Decimal ? True : T extends string ? True : T extends Date ? True : False;
43
- type ListOperatorCompatible<T, True, False> = T extends number ? True : T extends bigint ? True : T extends Decimal ? True : T extends string ? True : T extends Date ? True : False;
40
+ }, alias?: string) => ValueExpression<boolean>;
41
+ type CompareOperatorCompatible<T, True, False> = number extends T ? True : bigint extends T ? True : Decimal extends T ? True : string extends T ? True : Date extends T ? True : False;
42
+ type ListOperatorCompatible<T, True, False> = number extends T ? True : bigint extends T ? True : Decimal extends T ? True : string extends T ? True : Date extends T ? True : False;
43
+ type ArithmeticOperator = '+' | '-' | '*' | '/' | '**';
44
44
  type NullOperator = '= null' | '!= null';
45
45
  type BooleanOperator = '= true' | '= false';
46
46
  type CompareOperator = '=' | '!=' | '>' | '>=' | '<' | '<=';
47
47
  type ListOperator = 'in' | 'not in';
48
48
  type LikeOperator = 'like' | 'like all' | 'like some';
49
49
  type JsonOperator = '?' | '@>' | '<@' | '?|' | '?&';
50
- type ArithmeticOperator = '+' | '-' | '*' | '/' | '**';
51
50
  export type { Context, CompareOperatorCompatible, ListOperatorCompatible, ContextScope };
52
- export type { NullOperator, BooleanOperator, CompareOperator, ListOperator, LikeOperator, JsonOperator, ArithmeticOperator };
51
+ export type { ArithmeticOperator, NullOperator, BooleanOperator, CompareOperator, ListOperator, LikeOperator, JsonOperator };
53
52
  //# sourceMappingURL=Context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/types/Context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/types/Context.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import { Json } from './Json';
1
+ import { JSON } from './Json';
2
2
  import Decimal from 'decimal.js';
3
- import { Context } from './Context';
4
3
  import type { Table } from './Table';
4
+ import { Context } from './Context';
5
5
  import type { ClientBase } from 'pg';
6
6
  import type { Result } from 'never-catch';
7
- import { ColumnTypeByColumns, CustomTypeMap } from './TypeMapper';
8
- type Expression = null | boolean | number | bigint | Decimal | string | Date | Json;
7
+ import type { ColumnTypeByColumns } from './postgres';
9
8
  type JoinType = 'inner' | 'left' | 'right' | 'full';
10
9
  type Param = number | bigint | string;
11
10
  type QueryData = {
@@ -18,19 +17,19 @@ type TableWithAlias = {
18
17
  };
19
18
  type JoinData = {
20
19
  joinType: JoinType;
21
- on: boolean | ((contexts: {
22
- [k: string]: Context<Table['columns'], CustomTypeMap<any>>;
23
- }) => boolean);
20
+ on: Expression<boolean> | ((contexts: {
21
+ [k: string]: Context<Table['columns']>;
22
+ }) => Expression<boolean>);
24
23
  };
25
24
  type Mode = [] | ['count', number] | ['get', 'one' | number];
26
- type CustomColumn<Exp extends Expression, As extends string> = {
25
+ type CustomColumn<Exp extends Expression<ExpressionTypes>, As extends string> = {
27
26
  exp: Exp;
28
27
  as: As;
29
28
  };
30
29
  type NullableAndDefaultColumns<Columns extends Table['columns']> = {
31
30
  [columnKey in keyof Columns as true extends Columns[columnKey]['nullable'] ? columnKey : false extends Columns[columnKey]['default'] ? never : columnKey]: true extends Columns[columnKey]['nullable'] ? Columns[columnKey] : false extends Columns[columnKey]['default'] ? never : Columns[columnKey];
32
31
  };
33
- type AliasedColumns<Columns extends Record<string, unknown>, Alias extends string> = {
32
+ type AliasedColumns<Columns extends Table['columns'], Alias extends string> = {
34
33
  [key in keyof Columns as `${Alias}_${key & string}`]: Columns[key];
35
34
  };
36
35
  type TablesColumnsKeys<Tables extends {
@@ -40,25 +39,33 @@ type TablesColumnsKeys<Tables extends {
40
39
  }[keyof {
41
40
  [tableKey in keyof Tables & string]: undefined;
42
41
  }];
43
- type InsertValue<Columns extends Table['columns'], NullableAndDefaultCols extends readonly (keyof NullableAndDefaultColumns<Columns>)[], CTypeMap extends CustomTypeMap<Columns>> = {
44
- [columnKey in Exclude<keyof Columns, keyof NullableAndDefaultColumns<Columns>>]: ColumnTypeByColumns<Columns, columnKey, CTypeMap>;
42
+ type ExpressionTypes = null | boolean | number | bigint | Decimal | string | Date | JSON;
43
+ type Expression<ExpType extends ExpressionTypes> = ExpType | undefined | ValueExpression<ExpType> | QueryExpression<ExpType>;
44
+ type ValueExpression<ExpType extends ExpressionTypes> = ['val', ExpType | undefined];
45
+ type QueryExpression<ExpType extends ExpressionTypes> = ['qry', ExpType];
46
+ type InsertValue<Columns extends Table['columns'], NullableAndDefaultCols extends readonly (keyof NullableAndDefaultColumns<Columns>)[]> = {
47
+ [columnKey in Exclude<keyof Columns, keyof NullableAndDefaultColumns<Columns>>]: Expression<ColumnTypeByColumns<Columns, columnKey>>;
45
48
  } & {
46
- [columnKey in Exclude<keyof NullableAndDefaultCols, keyof unknown[]> as NullableAndDefaultCols[columnKey] & string]?: ColumnTypeByColumns<Columns, NullableAndDefaultCols[columnKey] & string, CTypeMap>;
49
+ [columnKey in Exclude<keyof NullableAndDefaultCols, keyof unknown[]> as NullableAndDefaultCols[columnKey] & string]?: Expression<ColumnTypeByColumns<Columns, NullableAndDefaultCols[columnKey] & string>>;
47
50
  };
48
- type UpdateSets<Columns extends Table['columns'], CTypeMap extends CustomTypeMap<Columns>> = {
49
- [columnKey in keyof Columns & string]?: ColumnTypeByColumns<Columns, columnKey, CTypeMap>;
51
+ type UpdateSets<Columns extends Table['columns']> = {
52
+ [columnKey in keyof Columns & string]?: Expression<ColumnTypeByColumns<Columns, columnKey>>;
50
53
  };
51
- type Query<Columns extends Table['columns'], Returning extends readonly (keyof Columns | CustomColumn<Expression, string>)[], CTypeMap extends CustomTypeMap<Columns>> = {
54
+ type Query<Columns extends Table['columns'], Returning extends readonly (keyof Columns | CustomColumn<Expression<ExpressionTypes>, string>)[]> = {
52
55
  getData: (params?: Param[]) => Result<QueryData, string>;
53
- exec: <M extends Mode>(client: ClientBase, mode: M, params?: Param[]) => Promise<Result<QueryResult<Columns, Returning, CTypeMap, M>, unknown>>;
56
+ exec: <M extends Mode>(client: ClientBase, mode: M, params?: Param[]) => Promise<Result<QueryResult<Columns, Returning, M>, unknown>>;
54
57
  };
55
- type QueryResult<Columns extends Table['columns'], Returning extends readonly (keyof Columns | CustomColumn<Expression, string>)[], CTypeMap extends CustomTypeMap<Columns>, M extends Mode> = M extends ['get', 'one'] ? QueryResultRow<Columns, Returning, CTypeMap> : M extends ['get', number] | [] ? QueryResultRow<Columns, Returning, CTypeMap>[] : M extends ['count', number] ? undefined : never;
56
- type QueryResultRow<Columns extends Table['columns'], Returning extends readonly (keyof Columns | CustomColumn<Expression, string>)[], CTypeMap extends CustomTypeMap<Columns>> = {
57
- [key in Exclude<keyof Returning, keyof unknown[]> as Returning[key] extends CustomColumn<Expression, infer As> ? As : Returning[key] & string]: Returning[key] extends CustomColumn<infer Exp, string> ? Exp : ColumnTypeByColumns<Columns, Returning[key] & keyof Columns, CTypeMap>;
58
+ type QueryResult<Columns extends Table['columns'], Returning extends readonly (keyof Columns | CustomColumn<Expression<ExpressionTypes>, string>)[], M extends Mode> = M extends ['get', 'one'] ? QueryResultRow<Columns, Returning> : M extends ['get', number] | [] ? QueryResultRow<Columns, Returning>[] : M extends ['count', number] ? undefined : never;
59
+ type QueryResultRow<Columns extends Table['columns'], Returning extends readonly (keyof Columns | CustomColumn<Expression<ExpressionTypes>, string>)[]> = {
60
+ [key in Exclude<keyof Returning, keyof unknown[]> as Returning[key] extends CustomColumn<Expression<ExpressionTypes>, infer As> ? As : Returning[key] & string]: Returning[key] extends CustomColumn<infer Exp, string> ? Exp extends Expression<infer ExpType> ? ExpType : Exp : ColumnTypeByColumns<Columns, Returning[key] & keyof Columns>;
58
61
  };
59
62
  type PartialQuery = {
60
63
  text: string;
61
64
  params: Param[];
62
65
  };
63
- export type { Expression, JoinType, Param, QueryData, TableWithAlias, JoinData, Mode, CustomColumn, NullableAndDefaultColumns, AliasedColumns, TablesColumnsKeys, InsertValue, UpdateSets, Query, QueryResult, QueryResultRow, PartialQuery };
66
+ export type { JoinType, Param, QueryData, TableWithAlias, JoinData, Mode };
67
+ export type { CustomColumn, NullableAndDefaultColumns, AliasedColumns, TablesColumnsKeys };
68
+ export type { ExpressionTypes, Expression, ValueExpression, QueryExpression };
69
+ export type { InsertValue, UpdateSets };
70
+ export type { Query, QueryResult, QueryResultRow, PartialQuery };
64
71
  //# sourceMappingURL=Entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/types/Entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/types/Entity.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import Decimal from 'decimal.js';
2
- type Json = JsonObject | JsonArray;
2
+ type JSON = JsonObject | JsonArray;
3
3
  type JsonObject = {
4
4
  [key: string]: BaseJsonValue;
5
5
  };
6
6
  type JsonArray = BaseJsonValue[];
7
7
  type BaseJsonValue = null | boolean | number | bigint | Decimal | string | Date | JsonObject | JsonArray;
8
- export type { Json, JsonObject, JsonArray, BaseJsonValue };
8
+ export type { JSON, JsonObject, JsonArray, BaseJsonValue };
9
9
  //# sourceMappingURL=Json.d.ts.map
@@ -1,12 +1,24 @@
1
1
  import type { Table } from './Table';
2
- import { ColumnTypeByColumns, CustomTypeMap } from './TypeMapper';
3
- type SimpleModel<Columns extends Table['columns'], CTypeMap extends CustomTypeMap<Columns>> = {
4
- [col in keyof Columns]: ColumnTypeByColumns<Columns, col, CTypeMap>;
2
+ import type { ColumnTypeByColumns } from './postgres';
3
+ import { Result } from 'never-catch';
4
+ type SimpleModel<Columns extends Table['columns']> = {
5
+ [col in keyof Columns & string]: ColumnTypeByColumns<Columns, col>;
5
6
  };
6
- type Model<Columns extends Table['columns'], Requires extends readonly (keyof Columns)[], Optionals extends readonly (keyof Columns)[], CTypeMap extends CustomTypeMap<Columns>> = {
7
- [key in Exclude<keyof Requires, keyof unknown[]> as Requires[key] & string]: ColumnTypeByColumns<Columns, Requires[key] & keyof Columns, CTypeMap>;
7
+ type Model<Columns extends Table['columns'], Requires extends readonly (keyof Columns)[], Optionals extends readonly (keyof Columns)[]> = {
8
+ [key in Exclude<keyof Requires, keyof unknown[]> as Requires[key] & string]: ColumnTypeByColumns<Columns, Requires[key] & keyof Columns>;
8
9
  } & {
9
- [key in Exclude<keyof Optionals, keyof unknown[]> as Optionals[key] & string]?: ColumnTypeByColumns<Columns, Optionals[key] & keyof Columns, CTypeMap>;
10
+ [key in Exclude<keyof Optionals, keyof unknown[]> as Optionals[key] & string]?: ColumnTypeByColumns<Columns, Optionals[key] & keyof Columns>;
10
11
  };
11
- export type { SimpleModel, Model };
12
+ type ModelUtils<Columns extends Table['columns']> = {
13
+ Parse: <Requires extends readonly (keyof Columns)[], Optionals extends readonly (keyof Columns)[]>(data: {
14
+ [key: string]: unknown;
15
+ }, requires: Requires, optional: Optionals, validate?: boolean) => Result<Model<Columns, Requires, Optionals>, Requires[Exclude<keyof Requires, keyof unknown[]>] | Optionals[Exclude<keyof Optionals, keyof unknown[]>]>;
16
+ Validate: <D extends Partial<SimpleModel<Columns>>>(data: D) => Result<undefined, keyof D>;
17
+ } & {
18
+ [key in keyof Columns]: {
19
+ Parse: (v: unknown, validate?: boolean) => ColumnTypeByColumns<Columns, key> | undefined;
20
+ Validate: (v: ColumnTypeByColumns<Columns, key>) => boolean;
21
+ };
22
+ };
23
+ export type { SimpleModel, Model, ModelUtils };
12
24
  //# sourceMappingURL=Model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/types/Model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,KAAK,WAAW,CAAC,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,EAAE,QAAQ,SAAS,aAAa,CAAC,OAAO,CAAC,IAAI;KACzF,GAAG,IAAI,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC;CACtE,CAAC;AAEF,KAAK,KAAK,CACN,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,EAChC,QAAQ,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,EAC3C,SAAS,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,EAC5C,QAAQ,SAAS,aAAa,CAAC,OAAO,CAAC,IACvC;KACC,GAAG,IAAI,OAAO,CAAC,MAAM,QAAQ,EAAE,MAAM,OAAO,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,mBAAmB,CAC5F,OAAO,EACP,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,EAC7B,QAAQ,CACX;CACJ,GAAG;KACC,GAAG,IAAI,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAC/F,OAAO,EACP,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,EAC9B,QAAQ,CACX;CACJ,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../src/types/Model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,KAAK,WAAW,CAAC,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,IAAI;KAChD,GAAG,IAAI,MAAM,OAAO,GAAG,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC;CACrE,CAAC;AAEF,KAAK,KAAK,CACN,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,EAChC,QAAQ,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,EAC3C,SAAS,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,IAC5C;KACC,GAAG,IAAI,OAAO,CAAC,MAAM,QAAQ,EAAE,MAAM,OAAO,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,mBAAmB,CAC5F,OAAO,EACP,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CAChC;CACJ,GAAG;KACC,GAAG,IAAI,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAC/F,OAAO,EACP,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,OAAO,CACjC;CACJ,CAAC;AAEF,KAAK,UAAU,CAAC,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,IAAI;IAChD,KAAK,EAAE,CAAC,QAAQ,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,EAAE,SAAS,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,EAAE,EAC7F,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,SAAS,EACnB,QAAQ,CAAC,EAAE,OAAO,KACjB,MAAM,CACP,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,EACnC,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC,CAC5G,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CAC9F,GAAG;KACC,GAAG,IAAI,MAAM,OAAO,GAAG;QACpB,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;QACzF,QAAQ,EAAE,CAAC,CAAC,EAAE,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;KAC/D;CACJ,CAAC;AAEF,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import Decimal from 'decimal.js';
2
- import type { Json } from './Json';
2
+ import type { JSON } from './Json';
3
3
  import { PostgresType } from './postgres';
4
4
  type ReferenceActions = 'no-action' | 'restrict' | 'set-null' | 'set-Default' | 'cascade';
5
5
  type Base = {
@@ -37,7 +37,7 @@ type Types = {
37
37
  min?: Decimal;
38
38
  max?: Decimal;
39
39
  } | {
40
- type: 'character' | 'character varying';
40
+ type: 'character' | 'character varying' | 'uuid';
41
41
  minLength?: number;
42
42
  maxLength?: number;
43
43
  regex?: RegExp;
@@ -213,7 +213,7 @@ type Default = {
213
213
  } | {
214
214
  default: 'value';
215
215
  type: 'json' | 'jsonb';
216
- value: Json;
216
+ value: JSON;
217
217
  });
218
218
  type Column = Base & Primary & Types & Default;
219
219
  type Table = {
@@ -227,8 +227,8 @@ type TableCheck = {
227
227
  schema: string;
228
228
  title: string;
229
229
  columns: {
230
- [key: string]: Column & ReferenceCheck<Table, keyof Table['columns']>;
230
+ [key: string]: Base & Primary & Types & Default & ReferenceCheck<Table, keyof Table['columns']>;
231
231
  };
232
232
  };
233
- export type { ReferenceActions, Base, Primary, Types, ReferenceCheck, Default, Column, Table, TableCheck };
233
+ export type { Table, ReferenceActions, Column, TableCheck };
234
234
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/types/Table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/types/Table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Param } from './Entity';
2
+ import { Result } from 'never-catch';
3
+ import type { Pool as PgPool, PoolClient } from 'pg';
4
+ type TransactionIsolationLevel = 'read-uncommitted' | 'read-committed' | 'repeatable-read' | 'serializable';
5
+ type Pool = {
6
+ $: PgPool;
7
+ transaction: <R extends Result<unknown, unknown>>(callback: (client: PoolClient) => Promise<R>, isolationLevel?: TransactionIsolationLevel, readOnly?: boolean) => Promise<R>;
8
+ };
9
+ type OnSendQueryHook = (query: string, params: Param[]) => void;
10
+ type AddHook = (hookAndEvent: {
11
+ event: 'on-send-query';
12
+ hook: OnSendQueryHook;
13
+ }) => void;
14
+ type RemoveHook = (hookAndEvent: {
15
+ event: 'on-send-query';
16
+ hook: OnSendQueryHook;
17
+ }) => void;
18
+ export type { TransactionIsolationLevel, Pool, OnSendQueryHook, AddHook, RemoveHook };
19
+ //# sourceMappingURL=pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/types/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErD,KAAK,yBAAyB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAE5G,KAAK,IAAI,GAAG;IACR,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EAC5C,cAAc,CAAC,EAAE,yBAAyB,EAC1C,QAAQ,CAAC,EAAE,OAAO,KACjB,OAAO,CAAC,CAAC,CAAC,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;AAChE,KAAK,OAAO,GAAG,CAAC,YAAY,EAAE;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,KAAK,IAAI,CAAC;AACzF,KAAK,UAAU,GAAG,CAAC,YAAY,EAAE;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,KAAK,IAAI,CAAC;AAE5F,YAAY,EAAE,yBAAyB,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TypeMapper.js.map
3
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/types/pool.ts"],"names":[],"mappings":""}
@@ -1,7 +1,10 @@
1
1
  import Decimal from 'decimal.js';
2
- import type { Json } from './Json';
2
+ import type { Table } from './Table';
3
+ import type { JSON } from './Json';
3
4
  type OrderDirection = 'asc' | 'desc';
4
5
  type PostgresType = 'boolean' | 'smallint' | 'integer' | 'bigint' | 'real' | 'double precision' | 'numeric' | 'character' | 'character varying' | 'text' | 'uuid' | 'date' | 'timestamp without time zone' | 'timestamp with time zone' | 'json' | 'jsonb';
5
- type PostgresTypeMapper<Type extends PostgresType = PostgresType> = Type extends 'boolean' ? boolean : Type extends 'smallint' | 'integer' | 'real' | 'double precision' ? number : Type extends 'bigint' ? bigint : Type extends 'numeric' ? Decimal : Type extends 'character' | 'character varying' | 'text' | 'uuid' ? string : Type extends 'date' | 'timestamp without time zone' | 'timestamp with time zone' ? Date : Type extends 'json' | 'jsonb' ? Json : never;
6
- export type { OrderDirection, PostgresType, PostgresTypeMapper };
6
+ type PostgresTypeMapper<Type extends PostgresType, Nullable extends boolean> = Type extends 'boolean' ? (true extends Nullable ? null : never) | boolean : Type extends 'smallint' | 'integer' | 'real' | 'double precision' ? (true extends Nullable ? null : never) | number : Type extends 'bigint' ? (true extends Nullable ? null : never) | bigint : Type extends 'numeric' ? (true extends Nullable ? null : never) | Decimal : Type extends 'character' | 'character varying' | 'text' | 'uuid' ? (true extends Nullable ? null : never) | string : Type extends 'date' | 'timestamp without time zone' | 'timestamp with time zone' ? (true extends Nullable ? null : never) | Date : Type extends 'json' | 'jsonb' ? (true extends Nullable ? null : never) | JSON : never;
7
+ type ColumnTypeByColumns<Columns extends Table['columns'], columnKey extends keyof Columns> = PostgresTypeMapper<Columns[columnKey]['type'], Columns[columnKey]['nullable']>;
8
+ type ColumnTypeByTable<T extends Table, columnKey extends keyof T['columns']> = PostgresTypeMapper<T['columns'][columnKey]['type'], T['columns'][columnKey]['nullable']>;
9
+ export type { OrderDirection, PostgresType, PostgresTypeMapper, ColumnTypeByColumns, ColumnTypeByTable };
7
10
  //# sourceMappingURL=postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/types/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAErC,KAAK,YAAY,GACX,SAAS,GAET,UAAU,GACV,SAAS,GACT,QAAQ,GACR,MAAM,GACN,kBAAkB,GAClB,SAAS,GAET,WAAW,GACX,mBAAmB,GACnB,MAAM,GACN,MAAM,GAEN,MAAM,GACN,6BAA6B,GAC7B,0BAA0B,GAE1B,MAAM,GACN,OAAO,CAAC;AAEd,KAAK,kBAAkB,CAAC,IAAI,SAAS,YAAY,GAAG,YAAY,IAAI,IAAI,SAAS,SAAS,GACpF,OAAO,GACP,IAAI,SAAS,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,kBAAkB,GACjE,MAAM,GACN,IAAI,SAAS,QAAQ,GACrB,MAAM,GACN,IAAI,SAAS,SAAS,GACtB,OAAO,GACP,IAAI,SAAS,WAAW,GAAG,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAChE,MAAM,GACN,IAAI,SAAS,MAAM,GAAG,6BAA6B,GAAG,0BAA0B,GAChF,IAAI,GACJ,IAAI,SAAS,MAAM,GAAG,OAAO,GAC7B,IAAI,GACJ,KAAK,CAAC;AAEZ,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/types/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,KAAK,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAErC,KAAK,YAAY,GACX,SAAS,GAET,UAAU,GACV,SAAS,GACT,QAAQ,GACR,MAAM,GACN,kBAAkB,GAClB,SAAS,GAET,WAAW,GACX,mBAAmB,GACnB,MAAM,GACN,MAAM,GAEN,MAAM,GACN,6BAA6B,GAC7B,0BAA0B,GAE1B,MAAM,GACN,OAAO,CAAC;AAEd,KAAK,kBAAkB,CAAC,IAAI,SAAS,YAAY,EAAE,QAAQ,SAAS,OAAO,IAAI,IAAI,SAAS,SAAS,GAC/F,CAAC,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAChD,IAAI,SAAS,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,kBAAkB,GACjE,CAAC,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,GAC/C,IAAI,SAAS,QAAQ,GACrB,CAAC,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,GAC/C,IAAI,SAAS,SAAS,GACtB,CAAC,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,GAChD,IAAI,SAAS,WAAW,GAAG,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAChE,CAAC,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,GAC/C,IAAI,SAAS,MAAM,GAAG,6BAA6B,GAAG,0BAA0B,GAChF,CAAC,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAC7C,IAAI,SAAS,MAAM,GAAG,OAAO,GAC7B,CAAC,IAAI,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,GAC7C,KAAK,CAAC;AAEZ,KAAK,mBAAmB,CAAC,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,SAAS,MAAM,OAAO,IAAI,kBAAkB,CAC5G,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CACjC,CAAC;AACF,KAAK,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAAE,SAAS,SAAS,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAC9F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC/B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CACtC,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Table } from './Table';
2
+ import { PoolClient } from 'pg';
3
+ import { Result } from 'never-catch';
4
+ import { SimpleModel } from './Model';
5
+ import { ColumnTypeByColumns } from './postgres';
6
+ import { NullableAndDefaultColumns } from './Entity';
7
+ import { Pool, TransactionIsolationLevel } from './pool';
8
+ type TestTableData<T extends Table> = {
9
+ table: T;
10
+ startData: ({
11
+ [columnKey in Exclude<keyof T['columns'], keyof NullableAndDefaultColumns<T['columns']>>]: ColumnTypeByColumns<T['columns'], columnKey>;
12
+ } & {
13
+ [columnKey in keyof NullableAndDefaultColumns<T['columns']>]?: ColumnTypeByColumns<T['columns'], columnKey & string>;
14
+ })[];
15
+ finalData: ((rows: SimpleModel<T['columns']>[]) => Result<any, any> | Promise<Result<any, any>>) | {
16
+ row: {
17
+ [columnKey in keyof T['columns']]: ((cell: ColumnTypeByColumns<T['columns'], columnKey>, row: SimpleModel<T['columns']>, rows: SimpleModel<T['columns']>[]) => Result<any, any> | Promise<Result<any, any>>) | ColumnTypeByColumns<T['columns'], columnKey>;
18
+ };
19
+ useTime?: ['equal', number] | ['moreThanEqual', number] | ['lessThanEqual', number] | undefined;
20
+ }[];
21
+ skipIt?: ((row: SimpleModel<T['columns']>) => Result<any, any> | Promise<Result<any, any>>) | undefined;
22
+ lengthCheck?: ((rows: SimpleModel<T['columns']>[]) => Result<any, any> | Promise<Result<any, any>>) | number | undefined;
23
+ };
24
+ type TestTransaction = (data: TestTableData<any>[], callback: (client: PoolClient) => void, pool: Pool, isolationLevel?: TransactionIsolationLevel, rollback?: boolean) => Promise<undefined>;
25
+ type CreateTestTableData = <T extends Table>(table: T, startData: TestTableData<T>['startData'], finalData: TestTableData<T>['finalData'], skipIt?: TestTableData<T>['skipIt'], lengthCheck?: TestTableData<T>['lengthCheck']) => TestTableData<T>;
26
+ export type { TestTableData, TestTransaction, CreateTestTableData };
27
+ //# sourceMappingURL=testUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtil.d.ts","sourceRoot":"","sources":["../../src/types/testUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=testUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtil.js","sourceRoot":"","sources":["../../src/types/testUtil.ts"],"names":[],"mappings":""}