@snowtop/ent 0.1.0-alpha16 → 0.1.0-alpha160-test2

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 (176) hide show
  1. package/action/action.d.ts +25 -14
  2. package/action/action.js +22 -7
  3. package/action/executor.d.ts +16 -3
  4. package/action/executor.js +89 -28
  5. package/action/experimental_action.d.ts +25 -16
  6. package/action/experimental_action.js +34 -14
  7. package/action/index.d.ts +4 -1
  8. package/action/index.js +7 -1
  9. package/action/operations.d.ts +126 -0
  10. package/action/operations.js +686 -0
  11. package/action/orchestrator.d.ts +43 -12
  12. package/action/orchestrator.js +461 -101
  13. package/action/relative_value.d.ts +47 -0
  14. package/action/relative_value.js +125 -0
  15. package/action/transaction.d.ts +10 -0
  16. package/action/transaction.js +23 -0
  17. package/auth/auth.d.ts +1 -1
  18. package/core/base.d.ts +56 -23
  19. package/core/base.js +7 -1
  20. package/core/clause.d.ts +103 -39
  21. package/core/clause.js +430 -66
  22. package/core/config.d.ts +13 -3
  23. package/core/config.js +10 -1
  24. package/core/const.d.ts +3 -0
  25. package/core/const.js +6 -0
  26. package/core/context.d.ts +6 -3
  27. package/core/context.js +22 -3
  28. package/core/convert.d.ts +1 -1
  29. package/core/date.js +1 -5
  30. package/core/db.d.ts +12 -8
  31. package/core/db.js +21 -9
  32. package/core/ent.d.ts +99 -95
  33. package/core/ent.js +550 -602
  34. package/core/global_schema.d.ts +7 -0
  35. package/core/global_schema.js +51 -0
  36. package/core/loaders/assoc_count_loader.d.ts +5 -2
  37. package/core/loaders/assoc_count_loader.js +19 -3
  38. package/core/loaders/assoc_edge_loader.d.ts +2 -3
  39. package/core/loaders/assoc_edge_loader.js +23 -17
  40. package/core/loaders/index.d.ts +1 -2
  41. package/core/loaders/index.js +1 -5
  42. package/core/loaders/loader.d.ts +3 -3
  43. package/core/loaders/loader.js +4 -21
  44. package/core/loaders/object_loader.d.ts +30 -9
  45. package/core/loaders/object_loader.js +226 -79
  46. package/core/loaders/query_loader.d.ts +7 -13
  47. package/core/loaders/query_loader.js +60 -24
  48. package/core/loaders/raw_count_loader.d.ts +1 -0
  49. package/core/loaders/raw_count_loader.js +8 -3
  50. package/core/logger.d.ts +1 -1
  51. package/core/logger.js +1 -0
  52. package/core/privacy.d.ts +26 -16
  53. package/core/privacy.js +68 -51
  54. package/core/query/assoc_query.d.ts +3 -2
  55. package/core/query/assoc_query.js +10 -2
  56. package/core/query/custom_clause_query.d.ts +29 -0
  57. package/core/query/custom_clause_query.js +105 -0
  58. package/core/query/custom_query.d.ts +19 -2
  59. package/core/query/custom_query.js +111 -13
  60. package/core/query/index.d.ts +1 -0
  61. package/core/query/index.js +3 -1
  62. package/core/query/query.d.ts +18 -4
  63. package/core/query/query.js +135 -58
  64. package/core/query/shared_assoc_test.d.ts +2 -1
  65. package/core/query/shared_assoc_test.js +186 -55
  66. package/core/query/shared_test.d.ts +9 -2
  67. package/core/query/shared_test.js +529 -236
  68. package/core/query_impl.d.ts +8 -0
  69. package/core/query_impl.js +28 -0
  70. package/core/viewer.d.ts +2 -0
  71. package/core/viewer.js +3 -1
  72. package/graphql/graphql.d.ts +108 -22
  73. package/graphql/graphql.js +183 -137
  74. package/graphql/graphql_field_helpers.d.ts +9 -3
  75. package/graphql/graphql_field_helpers.js +22 -2
  76. package/graphql/index.d.ts +2 -2
  77. package/graphql/index.js +5 -5
  78. package/graphql/query/connection_type.d.ts +9 -9
  79. package/graphql/query/shared_assoc_test.js +1 -1
  80. package/graphql/query/shared_edge_connection.js +1 -19
  81. package/graphql/scalars/orderby_direction.d.ts +2 -0
  82. package/graphql/scalars/orderby_direction.js +15 -0
  83. package/imports/dataz/example1/_auth.js +128 -47
  84. package/imports/dataz/example1/_viewer.js +87 -39
  85. package/imports/index.d.ts +7 -2
  86. package/imports/index.js +20 -5
  87. package/index.d.ts +23 -5
  88. package/index.js +35 -10
  89. package/package.json +20 -19
  90. package/parse_schema/parse.d.ts +33 -9
  91. package/parse_schema/parse.js +182 -33
  92. package/schema/base_schema.d.ts +13 -3
  93. package/schema/base_schema.js +13 -0
  94. package/schema/field.d.ts +78 -21
  95. package/schema/field.js +232 -72
  96. package/schema/index.d.ts +2 -2
  97. package/schema/index.js +7 -2
  98. package/schema/json_field.d.ts +16 -4
  99. package/schema/json_field.js +32 -2
  100. package/schema/schema.d.ts +109 -20
  101. package/schema/schema.js +42 -53
  102. package/schema/struct_field.d.ts +15 -3
  103. package/schema/struct_field.js +117 -22
  104. package/schema/union_field.d.ts +1 -1
  105. package/scripts/custom_compiler.js +12 -8
  106. package/scripts/custom_graphql.js +167 -64
  107. package/scripts/migrate_v0.1.js +36 -0
  108. package/scripts/move_types.js +120 -0
  109. package/scripts/read_schema.js +22 -7
  110. package/testutils/action/complex_schemas.d.ts +69 -0
  111. package/testutils/action/complex_schemas.js +405 -0
  112. package/testutils/builder.d.ts +37 -41
  113. package/testutils/builder.js +66 -46
  114. package/testutils/db/fixture.d.ts +10 -0
  115. package/testutils/db/fixture.js +26 -0
  116. package/testutils/db/{test_db.d.ts → temp_db.d.ts} +32 -8
  117. package/testutils/db/{test_db.js → temp_db.js} +251 -48
  118. package/testutils/db/value.d.ts +7 -0
  119. package/testutils/db/value.js +251 -0
  120. package/testutils/db_mock.d.ts +16 -4
  121. package/testutils/db_mock.js +52 -9
  122. package/testutils/db_time_zone.d.ts +4 -0
  123. package/testutils/db_time_zone.js +41 -0
  124. package/testutils/ent-graphql-tests/index.d.ts +7 -1
  125. package/testutils/ent-graphql-tests/index.js +56 -26
  126. package/testutils/fake_comms.js +1 -1
  127. package/testutils/fake_data/const.d.ts +2 -1
  128. package/testutils/fake_data/const.js +3 -0
  129. package/testutils/fake_data/fake_contact.d.ts +7 -3
  130. package/testutils/fake_data/fake_contact.js +13 -7
  131. package/testutils/fake_data/fake_event.d.ts +4 -1
  132. package/testutils/fake_data/fake_event.js +7 -6
  133. package/testutils/fake_data/fake_tag.d.ts +36 -0
  134. package/testutils/fake_data/fake_tag.js +89 -0
  135. package/testutils/fake_data/fake_user.d.ts +8 -5
  136. package/testutils/fake_data/fake_user.js +31 -19
  137. package/testutils/fake_data/index.js +5 -1
  138. package/testutils/fake_data/internal.d.ts +2 -0
  139. package/testutils/fake_data/internal.js +7 -1
  140. package/testutils/fake_data/tag_query.d.ts +13 -0
  141. package/testutils/fake_data/tag_query.js +48 -0
  142. package/testutils/fake_data/test_helpers.d.ts +14 -6
  143. package/testutils/fake_data/test_helpers.js +31 -15
  144. package/testutils/fake_data/user_query.d.ts +16 -6
  145. package/testutils/fake_data/user_query.js +72 -23
  146. package/testutils/fake_log.js +1 -1
  147. package/testutils/parse_sql.d.ts +6 -0
  148. package/testutils/parse_sql.js +16 -2
  149. package/testutils/test_edge_global_schema.d.ts +15 -0
  150. package/testutils/test_edge_global_schema.js +62 -0
  151. package/testutils/write.d.ts +2 -2
  152. package/testutils/write.js +33 -7
  153. package/tsc/ast.d.ts +15 -3
  154. package/tsc/ast.js +114 -23
  155. package/tsc/compilerOptions.js +5 -1
  156. package/tsc/move_generated.d.ts +1 -0
  157. package/tsc/move_generated.js +164 -0
  158. package/tsc/transform.d.ts +22 -0
  159. package/tsc/transform.js +182 -0
  160. package/tsc/transform_action.d.ts +22 -0
  161. package/tsc/transform_action.js +183 -0
  162. package/tsc/transform_ent.d.ts +17 -0
  163. package/tsc/transform_ent.js +60 -0
  164. package/tsc/transform_schema.d.ts +27 -0
  165. package/{scripts → tsc}/transform_schema.js +146 -117
  166. package/core/loaders/index_loader.d.ts +0 -14
  167. package/core/loaders/index_loader.js +0 -27
  168. package/graphql/enums.d.ts +0 -3
  169. package/graphql/enums.js +0 -25
  170. package/scripts/move_generated.js +0 -141
  171. package/scripts/transform_actions.js +0 -266
  172. package/scripts/transform_code.d.ts +0 -1
  173. package/scripts/transform_code.js +0 -111
  174. package/scripts/transform_schema.d.ts +0 -1
  175. /package/scripts/{move_generated.d.ts → migrate_v0.1.d.ts} +0 -0
  176. /package/scripts/{transform_actions.d.ts → move_types.d.ts} +0 -0
@@ -0,0 +1,126 @@
1
+ import { Queryer, SyncQueryer } from "../core/db";
2
+ import { Viewer, Ent, ID, Data, DataOptions, EditRowOptions, LoadEntOptions, Context, CreateRowOptions } from "../core/base";
3
+ import { Executor } from "../action/action";
4
+ import { WriteOperation, Builder } from "../action";
5
+ import { AssocEdgeData, parameterizedQueryOptions } from "../core/ent";
6
+ export interface UpdatedOperation {
7
+ operation: WriteOperation;
8
+ builder: Builder<any>;
9
+ }
10
+ export interface DataOperation<T extends Ent = Ent> {
11
+ builder: Builder<T>;
12
+ preFetch?(queryer: Queryer, context?: Context): Promise<void>;
13
+ performWriteSync(queryer: SyncQueryer, context?: Context): void;
14
+ performWrite(queryer: Queryer, context?: Context): Promise<void>;
15
+ placeholderID?: ID;
16
+ returnedRow?(): Data | null;
17
+ createdEnt?(viewer: Viewer): T | null;
18
+ shortCircuit?(executor: Executor): boolean;
19
+ updatedOperation?(): UpdatedOperation | null;
20
+ resolve?(executor: Executor): void;
21
+ postFetch?(queryer: Queryer, context?: Context): Promise<void>;
22
+ }
23
+ export declare class DeleteNodeOperation implements DataOperation {
24
+ private id;
25
+ readonly builder: Builder<Ent>;
26
+ private options;
27
+ constructor(id: ID, builder: Builder<Ent>, options: DataOptions);
28
+ performWrite(queryer: Queryer, context?: Context): Promise<void>;
29
+ performWriteSync(queryer: SyncQueryer, context?: Context): void;
30
+ }
31
+ export declare class RawQueryOperation<TEnt extends Ent<TViewer>, TViewer extends Viewer = Viewer> implements DataOperation<TEnt> {
32
+ builder: Builder<TEnt, TViewer>;
33
+ private queries;
34
+ constructor(builder: Builder<TEnt, TViewer>, queries: (string | parameterizedQueryOptions)[]);
35
+ performWrite(queryer: Queryer, context?: Context): Promise<void>;
36
+ performWriteSync(queryer: SyncQueryer, context?: Context): void;
37
+ }
38
+ export interface EditNodeOptions<T extends Ent> extends EditRowOptions {
39
+ fieldsToResolve: string[];
40
+ loadEntOptions: LoadEntOptions<T>;
41
+ key: string;
42
+ onConflict?: CreateRowOptions["onConflict"];
43
+ builder: Builder<T>;
44
+ }
45
+ export declare class EditNodeOperation<T extends Ent> implements DataOperation {
46
+ options: EditNodeOptions<T>;
47
+ private existingEnt;
48
+ private row;
49
+ placeholderID?: ID | undefined;
50
+ private updatedOp;
51
+ builder: Builder<T>;
52
+ private resolved;
53
+ constructor(options: EditNodeOptions<T>, existingEnt?: Ent | null);
54
+ resolve<T extends Ent>(executor: Executor): void;
55
+ private hasData;
56
+ private buildOnConflictQuery;
57
+ performWrite(queryer: Queryer, context?: Context): Promise<void>;
58
+ private buildReloadQuery;
59
+ private reloadRow;
60
+ performWriteSync(queryer: SyncQueryer, context?: Context): void;
61
+ returnedRow(): Data | null;
62
+ createdEnt(viewer: Viewer): T | null;
63
+ updatedOperation(): UpdatedOperation | null;
64
+ }
65
+ export interface AssocEdgeInputOptions extends AssocEdgeOptions {
66
+ time?: Date;
67
+ data?: string | Builder<Ent>;
68
+ }
69
+ export interface AssocEdgeOptions {
70
+ conditional?: boolean;
71
+ disableTransformations?: boolean;
72
+ }
73
+ export interface AssocEdgeInput extends AssocEdgeInputOptions {
74
+ id1: ID;
75
+ id1Type: string;
76
+ edgeType: string;
77
+ id2: ID;
78
+ id2Type: string;
79
+ }
80
+ export declare class EdgeOperation implements DataOperation {
81
+ builder: Builder<any>;
82
+ edgeInput: AssocEdgeInput;
83
+ private options;
84
+ private edgeData;
85
+ private constructor();
86
+ preFetch(queryer: Queryer, context?: Context): Promise<void>;
87
+ performWrite(queryer: Queryer, context?: Context): Promise<void>;
88
+ performWriteSync(queryer: SyncQueryer, context?: Context): void;
89
+ private getDeleteRowParams;
90
+ private performDeleteWrite;
91
+ private performDeleteWriteSync;
92
+ private getInsertRowParams;
93
+ private performInsertWrite;
94
+ private performInsertWriteSync;
95
+ private resolveImpl;
96
+ resolve(executor: Executor): void;
97
+ symmetricEdge(): EdgeOperation;
98
+ inverseEdge(edgeData: AssocEdgeData): EdgeOperation;
99
+ private static resolveIDs;
100
+ private static isBuilder;
101
+ private static resolveData;
102
+ static inboundEdge<T extends Ent, T2 extends Ent>(builder: Builder<T>, edgeType: string, id1: Builder<T2> | ID, nodeType: string, options?: AssocEdgeInputOptions): EdgeOperation;
103
+ static outboundEdge<T extends Ent, T2 extends Ent>(builder: Builder<T>, edgeType: string, id2: Builder<T2> | ID, nodeType: string, options?: AssocEdgeInputOptions): EdgeOperation;
104
+ static removeInboundEdge<T extends Ent>(builder: Builder<T>, edgeType: string, id1: ID, options?: AssocEdgeInputOptions): EdgeOperation;
105
+ static removeOutboundEdge<T extends Ent>(builder: Builder<T>, edgeType: string, id2: ID, options?: AssocEdgeInputOptions): EdgeOperation;
106
+ }
107
+ export declare class ConditionalOperation<T extends Ent = Ent> implements DataOperation<T> {
108
+ protected op: DataOperation<T>;
109
+ private conditionalBuilder;
110
+ placeholderID?: ID | undefined;
111
+ protected shortCircuited: boolean;
112
+ readonly builder: Builder<T>;
113
+ constructor(op: DataOperation<T>, conditionalBuilder: Builder<any>);
114
+ shortCircuit(executor: Executor): boolean;
115
+ preFetch(queryer: Queryer, context?: Context<Viewer<Ent<any> | null, ID | null>> | undefined): Promise<void>;
116
+ performWriteSync(queryer: SyncQueryer, context?: Context<Viewer<Ent<any> | null, ID | null>> | undefined): void;
117
+ performWrite(queryer: Queryer, context?: Context<Viewer<Ent<any> | null, ID | null>> | undefined): Promise<void>;
118
+ returnedRow(): Data | null;
119
+ updatedOperation(): UpdatedOperation | null;
120
+ resolve(executor: Executor): void;
121
+ postFetch(queryer: Queryer, context?: Context<Viewer<Ent<any> | null, ID | null>> | undefined): Promise<void>;
122
+ }
123
+ export declare class ConditionalNodeOperation<T extends Ent> extends ConditionalOperation<T> {
124
+ createdEnt(viewer: Viewer): T | null;
125
+ updatedOperation(): UpdatedOperation | null;
126
+ }