@snowtop/ent 0.1.0-alpha7 → 0.1.0-alpha73
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/action/action.d.ts +28 -24
- package/action/executor.d.ts +4 -4
- package/action/executor.js +2 -2
- package/action/experimental_action.d.ts +29 -22
- package/action/experimental_action.js +29 -6
- package/action/orchestrator.d.ts +44 -16
- package/action/orchestrator.js +287 -73
- package/action/privacy.d.ts +2 -2
- package/core/base.d.ts +35 -23
- package/core/base.js +16 -0
- package/core/clause.d.ts +69 -3
- package/core/clause.js +420 -5
- package/core/config.d.ts +26 -0
- package/core/config.js +17 -0
- package/core/context.d.ts +2 -2
- package/core/context.js +2 -2
- package/core/convert.d.ts +1 -1
- package/core/db.d.ts +3 -4
- package/core/db.js +2 -0
- package/core/ent.d.ts +62 -27
- package/core/ent.js +272 -63
- package/core/loaders/assoc_count_loader.d.ts +2 -2
- package/core/loaders/assoc_count_loader.js +6 -1
- package/core/loaders/assoc_edge_loader.d.ts +3 -3
- package/core/loaders/assoc_edge_loader.js +5 -4
- package/core/loaders/index_loader.js +1 -0
- package/core/loaders/loader.js +5 -5
- package/core/loaders/object_loader.d.ts +10 -5
- package/core/loaders/object_loader.js +58 -4
- package/core/loaders/query_loader.d.ts +2 -2
- package/core/loaders/raw_count_loader.d.ts +2 -2
- package/core/logger.d.ts +1 -1
- package/core/logger.js +1 -0
- package/core/privacy.d.ts +25 -25
- package/core/privacy.js +5 -5
- package/core/query/assoc_query.d.ts +6 -6
- package/core/query/custom_query.d.ts +5 -5
- package/core/query/query.d.ts +1 -1
- package/core/query/shared_assoc_test.d.ts +1 -1
- package/core/query/shared_assoc_test.js +17 -5
- package/core/query/shared_test.d.ts +3 -0
- package/core/query/shared_test.js +95 -17
- package/core/viewer.d.ts +4 -3
- package/core/viewer.js +4 -0
- package/graphql/builtins/connection.js +3 -3
- package/graphql/builtins/edge.js +2 -2
- package/graphql/builtins/node.js +1 -1
- package/graphql/graphql.d.ts +3 -2
- package/graphql/graphql.js +30 -23
- package/graphql/node_resolver.d.ts +0 -1
- package/graphql/query/connection_type.js +6 -6
- package/graphql/query/edge_connection.d.ts +9 -9
- package/graphql/query/page_info.d.ts +1 -1
- package/graphql/query/page_info.js +4 -4
- package/graphql/query/shared_assoc_test.js +2 -2
- package/graphql/scalars/time.d.ts +1 -1
- package/index.d.ts +21 -1
- package/index.js +24 -5
- package/package.json +3 -3
- package/parse_schema/parse.d.ts +24 -5
- package/parse_schema/parse.js +90 -8
- package/schema/base_schema.d.ts +36 -1
- package/schema/base_schema.js +51 -2
- package/schema/field.d.ts +34 -6
- package/schema/field.js +67 -2
- package/schema/index.d.ts +2 -2
- package/schema/index.js +8 -1
- package/schema/schema.d.ts +100 -2
- package/schema/schema.js +127 -5
- package/scripts/custom_graphql.js +127 -16
- package/scripts/{transform_schema.d.ts → migrate_v0.1.d.ts} +0 -0
- package/scripts/migrate_v0.1.js +36 -0
- package/scripts/read_schema.js +25 -2
- package/testutils/builder.d.ts +36 -22
- package/testutils/builder.js +110 -13
- package/testutils/context/test_context.d.ts +2 -2
- package/testutils/context/test_context.js +7 -1
- package/testutils/db/{test_db.d.ts → temp_db.d.ts} +17 -4
- package/testutils/db/{test_db.js → temp_db.js} +76 -19
- package/testutils/ent-graphql-tests/index.d.ts +2 -0
- package/testutils/ent-graphql-tests/index.js +26 -17
- package/testutils/fake_data/fake_contact.d.ts +5 -9
- package/testutils/fake_data/fake_contact.js +17 -21
- package/testutils/fake_data/fake_event.d.ts +5 -9
- package/testutils/fake_data/fake_event.js +24 -28
- package/testutils/fake_data/fake_user.d.ts +6 -10
- package/testutils/fake_data/fake_user.js +25 -29
- package/testutils/fake_data/test_helpers.d.ts +2 -2
- package/testutils/fake_data/test_helpers.js +6 -6
- package/testutils/fake_data/user_query.d.ts +2 -2
- package/testutils/fake_log.d.ts +3 -3
- package/testutils/parse_sql.d.ts +6 -0
- package/testutils/parse_sql.js +16 -2
- package/testutils/test_edge_global_schema.d.ts +15 -0
- package/testutils/test_edge_global_schema.js +58 -0
- package/testutils/write.d.ts +2 -2
- package/testutils/write.js +3 -3
- package/tsc/ast.d.ts +44 -0
- package/tsc/ast.js +267 -0
- package/tsc/compilerOptions.d.ts +6 -0
- package/tsc/compilerOptions.js +40 -1
- package/tsc/move_generated.d.ts +1 -0
- package/tsc/move_generated.js +160 -0
- package/tsc/transform.d.ts +21 -0
- package/tsc/transform.js +167 -0
- package/tsc/transform_action.d.ts +22 -0
- package/tsc/transform_action.js +179 -0
- package/tsc/transform_ent.d.ts +17 -0
- package/tsc/transform_ent.js +59 -0
- package/tsc/transform_schema.d.ts +27 -0
- package/tsc/transform_schema.js +379 -0
- package/scripts/transform_schema.js +0 -288
package/core/ent.d.ts
CHANGED
|
@@ -1,30 +1,53 @@
|
|
|
1
1
|
import { Queryer, SyncQueryer } from "./db";
|
|
2
|
-
import { Viewer, Ent, ID, LoadRowsOptions, LoadRowOptions, Data, DataOptions, QueryableDataOptions, EditRowOptions, LoadEntOptions, LoadCustomEntOptions, EdgeQueryableDataOptions, Context,
|
|
2
|
+
import { Viewer, Ent, ID, LoadRowsOptions, LoadRowOptions, Data, DataOptions, QueryableDataOptions, EditRowOptions, LoadEntOptions, LoadCustomEntOptions, EdgeQueryableDataOptions, Context, CreateRowOptions, QueryDataOptions, SelectCustomDataOptions } from "./base";
|
|
3
3
|
import { Executor } from "../action/action";
|
|
4
4
|
import * as clause from "./clause";
|
|
5
5
|
import { Builder } from "../action";
|
|
6
6
|
import DataLoader from "dataloader";
|
|
7
|
-
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
12
|
-
export declare function
|
|
13
|
-
export declare function
|
|
14
|
-
export declare function
|
|
15
|
-
export declare function
|
|
16
|
-
export declare function
|
|
17
|
-
|
|
7
|
+
import { GlobalSchema } from "../schema/";
|
|
8
|
+
export declare function loadEnt<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, id: ID, options: LoadEntOptions<TEnt, TViewer>): Promise<TEnt | null>;
|
|
9
|
+
export declare function loadEntViaKey<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, key: any, options: LoadEntOptions<TEnt, TViewer>): Promise<TEnt | null>;
|
|
10
|
+
export declare function loadEntX<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, id: ID, options: LoadEntOptions<TEnt, TViewer>): Promise<TEnt>;
|
|
11
|
+
export declare function loadEntXViaKey<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, key: any, options: LoadEntOptions<TEnt, TViewer>): Promise<TEnt>;
|
|
12
|
+
export declare function loadEntFromClause<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, options: LoadEntOptions<TEnt, TViewer>, clause: clause.Clause): Promise<TEnt | null>;
|
|
13
|
+
export declare function loadEntXFromClause<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, options: LoadEntOptions<TEnt, TViewer>, clause: clause.Clause): Promise<TEnt>;
|
|
14
|
+
export declare function loadEnts<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, options: LoadEntOptions<TEnt, TViewer>, ...ids: ID[]): Promise<Map<ID, TEnt>>;
|
|
15
|
+
export declare function loadEntsList<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, options: LoadEntOptions<TEnt, TViewer>, ...ids: ID[]): Promise<TEnt[]>;
|
|
16
|
+
export declare function loadEntsFromClause<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, clause: clause.Clause, options: LoadEntOptions<TEnt, TViewer>): Promise<Map<ID, TEnt>>;
|
|
17
|
+
export declare function loadCustomEnts<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, options: LoadCustomEntOptions<TEnt, TViewer>, query: CustomQuery): Promise<TEnt[]>;
|
|
18
|
+
interface parameterizedQueryOptions {
|
|
18
19
|
query: string;
|
|
19
20
|
values?: any[];
|
|
20
21
|
logValues?: any[];
|
|
21
22
|
}
|
|
22
|
-
export declare type CustomQuery = string |
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
export declare type CustomQuery = string | parameterizedQueryOptions | clause.Clause | QueryDataOptions;
|
|
24
|
+
/**
|
|
25
|
+
* Note that if there's default read transformations (e.g. soft delete) and a clause is passed in
|
|
26
|
+
* either as Clause or QueryDataOptions without {disableTransformations: true}, the default transformation
|
|
27
|
+
* (e.g. soft delete) is applied.
|
|
28
|
+
*
|
|
29
|
+
* Passing a full SQL string or Paramterized SQL string doesn't apply it and the given string is sent to the
|
|
30
|
+
* database as written.
|
|
31
|
+
*
|
|
32
|
+
* e.g.
|
|
33
|
+
* Foo.loadCustom(opts, 'SELECT * FROM foo') // doesn't change the query
|
|
34
|
+
* Foo.loadCustom(opts, { query: 'SELECT * FROM foo WHERE id = ?', values: [1]}) // doesn't change the query
|
|
35
|
+
* Foo.loadCustom(opts, query.Eq('time', Date.now())) // changes the query
|
|
36
|
+
* Foo.loadCustom(opts, {
|
|
37
|
+
* clause: query.LessEq('time', Date.now()),
|
|
38
|
+
* limit: 100,
|
|
39
|
+
* orderby: 'time',
|
|
40
|
+
* }) // changes the query
|
|
41
|
+
* Foo.loadCustom(opts, {
|
|
42
|
+
* clause: query.LessEq('time', Date.now()),
|
|
43
|
+
* limit: 100,
|
|
44
|
+
* orderby: 'time',
|
|
45
|
+
* disableTransformations: false
|
|
46
|
+
* }) // doesn't change the query
|
|
47
|
+
*/
|
|
48
|
+
export declare function loadCustomData(options: SelectCustomDataOptions, query: CustomQuery, context: Context | undefined): Promise<Data[]>;
|
|
49
|
+
export declare function loadDerivedEnt<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, data: Data, loader: new (viewer: TViewer, data: Data) => TEnt): Promise<TEnt | null>;
|
|
50
|
+
export declare function loadDerivedEntX<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, data: Data, loader: new (viewer: TViewer, data: Data) => TEnt): Promise<TEnt>;
|
|
28
51
|
export declare function loadRowX(options: LoadRowOptions): Promise<Data>;
|
|
29
52
|
export declare function loadRow(options: LoadRowOptions): Promise<Data | null>;
|
|
30
53
|
export declare function performRawQuery(query: string, values: any[], logValues?: any[]): Promise<Data[]>;
|
|
@@ -52,8 +75,9 @@ export interface DataOperation<T extends Ent = Ent> {
|
|
|
52
75
|
}
|
|
53
76
|
export interface EditNodeOptions<T extends Ent> extends EditRowOptions {
|
|
54
77
|
fieldsToResolve: string[];
|
|
55
|
-
|
|
78
|
+
loadEntOptions: LoadEntOptions<T>;
|
|
56
79
|
placeholderID?: ID;
|
|
80
|
+
key: string;
|
|
57
81
|
}
|
|
58
82
|
export declare class EditNodeOperation<T extends Ent> implements DataOperation {
|
|
59
83
|
options: EditNodeOptions<T>;
|
|
@@ -69,7 +93,11 @@ export declare class EditNodeOperation<T extends Ent> implements DataOperation {
|
|
|
69
93
|
returnedRow(): Data | null;
|
|
70
94
|
createdEnt(viewer: Viewer): T | null;
|
|
71
95
|
}
|
|
96
|
+
export declare function setGlobalSchema(val: GlobalSchema): void;
|
|
97
|
+
export declare function clearGlobalSchema(): void;
|
|
98
|
+
export declare function __hasGlobalSchema(): boolean;
|
|
72
99
|
export declare class EdgeOperation implements DataOperation {
|
|
100
|
+
private builder;
|
|
73
101
|
edgeInput: AssocEdgeInput;
|
|
74
102
|
private options;
|
|
75
103
|
private edgeData;
|
|
@@ -98,9 +126,9 @@ export declare class EdgeOperation implements DataOperation {
|
|
|
98
126
|
export declare function buildInsertQuery(options: CreateRowOptions, suffix?: string): [string, string[], string[]];
|
|
99
127
|
export declare function createRow(queryer: Queryer, options: CreateRowOptions, suffix: string): Promise<Data | null>;
|
|
100
128
|
export declare function createRowSync(queryer: SyncQueryer, options: CreateRowOptions, suffix: string): Data | null;
|
|
101
|
-
export declare function buildUpdateQuery(options: EditRowOptions,
|
|
102
|
-
export declare function editRow(queryer: Queryer, options: EditRowOptions,
|
|
103
|
-
export declare function editRowSync(queryer: SyncQueryer, options: EditRowOptions,
|
|
129
|
+
export declare function buildUpdateQuery(options: EditRowOptions, suffix?: string): [string, any[], any[]];
|
|
130
|
+
export declare function editRow(queryer: Queryer, options: EditRowOptions, suffix?: string): Promise<Data | null>;
|
|
131
|
+
export declare function editRowSync(queryer: SyncQueryer, options: EditRowOptions, suffix?: string): Data | null;
|
|
104
132
|
export declare function deleteRows(queryer: Queryer, options: DataOptions, cls: clause.Clause): Promise<void>;
|
|
105
133
|
export declare function deleteRowsSync(queryer: SyncQueryer, options: DataOptions, cls: clause.Clause): void;
|
|
106
134
|
export declare class DeleteNodeOperation implements DataOperation {
|
|
@@ -118,7 +146,9 @@ export declare class AssocEdge {
|
|
|
118
146
|
id2Type: string;
|
|
119
147
|
time: Date;
|
|
120
148
|
data?: string | null;
|
|
149
|
+
private rawData;
|
|
121
150
|
constructor(data: Data);
|
|
151
|
+
__getRawData(): Data;
|
|
122
152
|
getCursor(): string;
|
|
123
153
|
}
|
|
124
154
|
interface cursorOptions {
|
|
@@ -147,7 +177,7 @@ export declare class AssocEdgeData {
|
|
|
147
177
|
edgeTable: string;
|
|
148
178
|
constructor(data: Data);
|
|
149
179
|
}
|
|
150
|
-
export declare const assocEdgeLoader: DataLoader<
|
|
180
|
+
export declare const assocEdgeLoader: DataLoader<ID, Data | null, ID>;
|
|
151
181
|
export declare function loadEdgeData(edgeType: string): Promise<AssocEdgeData | null>;
|
|
152
182
|
export declare function loadEdgeDatas(...edgeTypes: string[]): Promise<Map<string, AssocEdgeData>>;
|
|
153
183
|
export interface AssocEdgeConstructor<T extends AssocEdge> {
|
|
@@ -158,6 +188,7 @@ interface loadEdgesOptions {
|
|
|
158
188
|
edgeType: string;
|
|
159
189
|
context?: Context;
|
|
160
190
|
queryOptions?: EdgeQueryableDataOptions;
|
|
191
|
+
disableTransformations?: boolean;
|
|
161
192
|
}
|
|
162
193
|
interface loadCustomEdgesOptions<T extends AssocEdge> extends loadEdgesOptions {
|
|
163
194
|
ctr: AssocEdgeConstructor<T>;
|
|
@@ -165,17 +196,21 @@ interface loadCustomEdgesOptions<T extends AssocEdge> extends loadEdgesOptions {
|
|
|
165
196
|
export declare const DefaultLimit = 1000;
|
|
166
197
|
export declare function defaultEdgeQueryOptions(id1: ID, edgeType: string): EdgeQueryableDataOptions;
|
|
167
198
|
export declare function loadEdges(options: loadEdgesOptions): Promise<AssocEdge[]>;
|
|
199
|
+
export declare function getEdgeClauseAndFields(cls: clause.Clause, options: loadEdgesOptions): {
|
|
200
|
+
cls: clause.Clause;
|
|
201
|
+
fields: string[];
|
|
202
|
+
};
|
|
168
203
|
export declare function loadCustomEdges<T extends AssocEdge>(options: loadCustomEdgesOptions<T>): Promise<T[]>;
|
|
169
204
|
export declare function loadUniqueEdge(options: loadEdgesOptions): Promise<AssocEdge | null>;
|
|
170
|
-
export declare function loadUniqueNode<
|
|
205
|
+
export declare function loadUniqueNode<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, id1: ID, edgeType: string, options: LoadEntOptions<TEnt, TViewer>): Promise<TEnt | null>;
|
|
171
206
|
export declare function loadRawEdgeCountX(options: loadEdgesOptions): Promise<number>;
|
|
172
207
|
interface loadEdgeForIDOptions<T extends AssocEdge> extends loadCustomEdgesOptions<T> {
|
|
173
208
|
id2: ID;
|
|
174
209
|
}
|
|
175
210
|
export declare function loadEdgeForID2<T extends AssocEdge>(options: loadEdgeForIDOptions<T>): Promise<T | undefined>;
|
|
176
211
|
export declare function loadNodesByEdge<T extends Ent>(viewer: Viewer, id1: ID, edgeType: string, options: LoadEntOptions<T>): Promise<T[]>;
|
|
177
|
-
export declare function applyPrivacyPolicyForRow<
|
|
178
|
-
export declare function applyPrivacyPolicyForRowX<
|
|
179
|
-
export declare function applyPrivacyPolicyForRows<
|
|
212
|
+
export declare function applyPrivacyPolicyForRow<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, options: LoadEntOptions<TEnt, TViewer>, row: Data | null): Promise<TEnt | null>;
|
|
213
|
+
export declare function applyPrivacyPolicyForRowX<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, options: LoadEntOptions<TEnt, TViewer>, row: Data): Promise<TEnt>;
|
|
214
|
+
export declare function applyPrivacyPolicyForRows<TEnt extends Ent<TViewer>, TViewer extends Viewer>(viewer: TViewer, rows: Data[], options: LoadEntOptions<TEnt, TViewer>): Promise<Map<ID, TEnt>>;
|
|
180
215
|
export declare function getEdgeTypeInGroup<T extends string>(viewer: Viewer, id1: ID, id2: ID, m: Map<T, string>): Promise<[T, AssocEdge] | undefined>;
|
|
181
216
|
export {};
|