@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.
- package/action/action.d.ts +25 -14
- package/action/action.js +22 -7
- package/action/executor.d.ts +16 -3
- package/action/executor.js +89 -28
- package/action/experimental_action.d.ts +25 -16
- package/action/experimental_action.js +34 -14
- package/action/index.d.ts +4 -1
- package/action/index.js +7 -1
- package/action/operations.d.ts +126 -0
- package/action/operations.js +686 -0
- package/action/orchestrator.d.ts +43 -12
- package/action/orchestrator.js +461 -101
- package/action/relative_value.d.ts +47 -0
- package/action/relative_value.js +125 -0
- package/action/transaction.d.ts +10 -0
- package/action/transaction.js +23 -0
- package/auth/auth.d.ts +1 -1
- package/core/base.d.ts +56 -23
- package/core/base.js +7 -1
- package/core/clause.d.ts +103 -39
- package/core/clause.js +430 -66
- package/core/config.d.ts +13 -3
- package/core/config.js +10 -1
- package/core/const.d.ts +3 -0
- package/core/const.js +6 -0
- package/core/context.d.ts +6 -3
- package/core/context.js +22 -3
- package/core/convert.d.ts +1 -1
- package/core/date.js +1 -5
- package/core/db.d.ts +12 -8
- package/core/db.js +21 -9
- package/core/ent.d.ts +99 -95
- package/core/ent.js +550 -602
- package/core/global_schema.d.ts +7 -0
- package/core/global_schema.js +51 -0
- package/core/loaders/assoc_count_loader.d.ts +5 -2
- package/core/loaders/assoc_count_loader.js +19 -3
- package/core/loaders/assoc_edge_loader.d.ts +2 -3
- package/core/loaders/assoc_edge_loader.js +23 -17
- package/core/loaders/index.d.ts +1 -2
- package/core/loaders/index.js +1 -5
- package/core/loaders/loader.d.ts +3 -3
- package/core/loaders/loader.js +4 -21
- package/core/loaders/object_loader.d.ts +30 -9
- package/core/loaders/object_loader.js +226 -79
- package/core/loaders/query_loader.d.ts +7 -13
- package/core/loaders/query_loader.js +60 -24
- package/core/loaders/raw_count_loader.d.ts +1 -0
- package/core/loaders/raw_count_loader.js +8 -3
- package/core/logger.d.ts +1 -1
- package/core/logger.js +1 -0
- package/core/privacy.d.ts +26 -16
- package/core/privacy.js +68 -51
- package/core/query/assoc_query.d.ts +3 -2
- package/core/query/assoc_query.js +10 -2
- package/core/query/custom_clause_query.d.ts +29 -0
- package/core/query/custom_clause_query.js +105 -0
- package/core/query/custom_query.d.ts +19 -2
- package/core/query/custom_query.js +111 -13
- package/core/query/index.d.ts +1 -0
- package/core/query/index.js +3 -1
- package/core/query/query.d.ts +18 -4
- package/core/query/query.js +135 -58
- package/core/query/shared_assoc_test.d.ts +2 -1
- package/core/query/shared_assoc_test.js +186 -55
- package/core/query/shared_test.d.ts +9 -2
- package/core/query/shared_test.js +529 -236
- package/core/query_impl.d.ts +8 -0
- package/core/query_impl.js +28 -0
- package/core/viewer.d.ts +2 -0
- package/core/viewer.js +3 -1
- package/graphql/graphql.d.ts +108 -22
- package/graphql/graphql.js +183 -137
- package/graphql/graphql_field_helpers.d.ts +9 -3
- package/graphql/graphql_field_helpers.js +22 -2
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +5 -5
- package/graphql/query/connection_type.d.ts +9 -9
- package/graphql/query/shared_assoc_test.js +1 -1
- package/graphql/query/shared_edge_connection.js +1 -19
- package/graphql/scalars/orderby_direction.d.ts +2 -0
- package/graphql/scalars/orderby_direction.js +15 -0
- package/imports/dataz/example1/_auth.js +128 -47
- package/imports/dataz/example1/_viewer.js +87 -39
- package/imports/index.d.ts +7 -2
- package/imports/index.js +20 -5
- package/index.d.ts +23 -5
- package/index.js +35 -10
- package/package.json +20 -19
- package/parse_schema/parse.d.ts +33 -9
- package/parse_schema/parse.js +182 -33
- package/schema/base_schema.d.ts +13 -3
- package/schema/base_schema.js +13 -0
- package/schema/field.d.ts +78 -21
- package/schema/field.js +232 -72
- package/schema/index.d.ts +2 -2
- package/schema/index.js +7 -2
- package/schema/json_field.d.ts +16 -4
- package/schema/json_field.js +32 -2
- package/schema/schema.d.ts +109 -20
- package/schema/schema.js +42 -53
- package/schema/struct_field.d.ts +15 -3
- package/schema/struct_field.js +117 -22
- package/schema/union_field.d.ts +1 -1
- package/scripts/custom_compiler.js +12 -8
- package/scripts/custom_graphql.js +167 -64
- package/scripts/migrate_v0.1.js +36 -0
- package/scripts/move_types.js +120 -0
- package/scripts/read_schema.js +22 -7
- package/testutils/action/complex_schemas.d.ts +69 -0
- package/testutils/action/complex_schemas.js +405 -0
- package/testutils/builder.d.ts +37 -41
- package/testutils/builder.js +66 -46
- package/testutils/db/fixture.d.ts +10 -0
- package/testutils/db/fixture.js +26 -0
- package/testutils/db/{test_db.d.ts → temp_db.d.ts} +32 -8
- package/testutils/db/{test_db.js → temp_db.js} +251 -48
- package/testutils/db/value.d.ts +7 -0
- package/testutils/db/value.js +251 -0
- package/testutils/db_mock.d.ts +16 -4
- package/testutils/db_mock.js +52 -9
- package/testutils/db_time_zone.d.ts +4 -0
- package/testutils/db_time_zone.js +41 -0
- package/testutils/ent-graphql-tests/index.d.ts +7 -1
- package/testutils/ent-graphql-tests/index.js +56 -26
- package/testutils/fake_comms.js +1 -1
- package/testutils/fake_data/const.d.ts +2 -1
- package/testutils/fake_data/const.js +3 -0
- package/testutils/fake_data/fake_contact.d.ts +7 -3
- package/testutils/fake_data/fake_contact.js +13 -7
- package/testutils/fake_data/fake_event.d.ts +4 -1
- package/testutils/fake_data/fake_event.js +7 -6
- package/testutils/fake_data/fake_tag.d.ts +36 -0
- package/testutils/fake_data/fake_tag.js +89 -0
- package/testutils/fake_data/fake_user.d.ts +8 -5
- package/testutils/fake_data/fake_user.js +31 -19
- package/testutils/fake_data/index.js +5 -1
- package/testutils/fake_data/internal.d.ts +2 -0
- package/testutils/fake_data/internal.js +7 -1
- package/testutils/fake_data/tag_query.d.ts +13 -0
- package/testutils/fake_data/tag_query.js +48 -0
- package/testutils/fake_data/test_helpers.d.ts +14 -6
- package/testutils/fake_data/test_helpers.js +31 -15
- package/testutils/fake_data/user_query.d.ts +16 -6
- package/testutils/fake_data/user_query.js +72 -23
- package/testutils/fake_log.js +1 -1
- 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 +62 -0
- package/testutils/write.d.ts +2 -2
- package/testutils/write.js +33 -7
- package/tsc/ast.d.ts +15 -3
- package/tsc/ast.js +114 -23
- package/tsc/compilerOptions.js +5 -1
- package/tsc/move_generated.d.ts +1 -0
- package/tsc/move_generated.js +164 -0
- package/tsc/transform.d.ts +22 -0
- package/tsc/transform.js +182 -0
- package/tsc/transform_action.d.ts +22 -0
- package/tsc/transform_action.js +183 -0
- package/tsc/transform_ent.d.ts +17 -0
- package/tsc/transform_ent.js +60 -0
- package/tsc/transform_schema.d.ts +27 -0
- package/{scripts → tsc}/transform_schema.js +146 -117
- package/core/loaders/index_loader.d.ts +0 -14
- package/core/loaders/index_loader.js +0 -27
- package/graphql/enums.d.ts +0 -3
- package/graphql/enums.js +0 -25
- package/scripts/move_generated.js +0 -141
- package/scripts/transform_actions.js +0 -266
- package/scripts/transform_code.d.ts +0 -1
- package/scripts/transform_code.js +0 -111
- package/scripts/transform_schema.d.ts +0 -1
- /package/scripts/{move_generated.d.ts → migrate_v0.1.d.ts} +0 -0
- /package/scripts/{transform_actions.d.ts → move_types.d.ts} +0 -0
|
@@ -6,19 +6,23 @@ const viewer_1 = require("../../core/viewer");
|
|
|
6
6
|
const ent_1 = require("../../core/ent");
|
|
7
7
|
const snake_case_1 = require("snake-case");
|
|
8
8
|
const write_1 = require("../write");
|
|
9
|
-
const
|
|
9
|
+
const temp_db_1 = require("../db/temp_db");
|
|
10
10
|
const _1 = require(".");
|
|
11
11
|
const fake_event_1 = require("./fake_event");
|
|
12
12
|
const const_1 = require("./const");
|
|
13
13
|
const mock_date_1 = require("./../mock_date");
|
|
14
14
|
const builder_1 = require("../builder");
|
|
15
15
|
const action_1 = require("../../action");
|
|
16
|
+
const fake_tag_1 = require("./fake_tag");
|
|
17
|
+
const db_1 = require("../../core/db");
|
|
16
18
|
function getContactInput(user, input) {
|
|
17
19
|
return {
|
|
18
20
|
firstName: "Jon",
|
|
19
21
|
lastName: "Snow",
|
|
20
22
|
emailAddress: "foo@bar.com",
|
|
21
23
|
userID: user.id,
|
|
24
|
+
createdAt: new Date(),
|
|
25
|
+
updatedAt: new Date(),
|
|
22
26
|
...input,
|
|
23
27
|
};
|
|
24
28
|
}
|
|
@@ -30,6 +34,8 @@ function getUserInput(input) {
|
|
|
30
34
|
emailAddress: "foo@bar.com",
|
|
31
35
|
phoneNumber: "415-212-1212",
|
|
32
36
|
password: "pa$$w0rd",
|
|
37
|
+
createdAt: new Date(),
|
|
38
|
+
updatedAt: new Date(),
|
|
33
39
|
...input,
|
|
34
40
|
};
|
|
35
41
|
}
|
|
@@ -41,12 +47,14 @@ function getEventInput(user, input) {
|
|
|
41
47
|
title: "title",
|
|
42
48
|
description: "fun event",
|
|
43
49
|
userID: user.id,
|
|
50
|
+
createdAt: new Date(),
|
|
51
|
+
updatedAt: new Date(),
|
|
44
52
|
...input,
|
|
45
53
|
};
|
|
46
54
|
}
|
|
47
55
|
exports.getEventInput = getEventInput;
|
|
48
|
-
async function createTestUser(input) {
|
|
49
|
-
const user = await (0, _1.createUser)(new viewer_1.LoggedOutViewer(), {
|
|
56
|
+
async function createTestUser(input, ctx) {
|
|
57
|
+
const user = await (0, _1.createUser)(new viewer_1.LoggedOutViewer(ctx), {
|
|
50
58
|
firstName: "Jon",
|
|
51
59
|
lastName: "Snow",
|
|
52
60
|
password: "12345678",
|
|
@@ -82,22 +90,29 @@ exports.inputs = [
|
|
|
82
90
|
lastName: "Stark",
|
|
83
91
|
},
|
|
84
92
|
];
|
|
85
|
-
async function createAllContacts(
|
|
86
|
-
|
|
93
|
+
async function createAllContacts(opts) {
|
|
94
|
+
let { input, slice, user } = opts || {};
|
|
95
|
+
if (!user) {
|
|
96
|
+
user = await createTestUser(input, opts?.ctx);
|
|
97
|
+
}
|
|
98
|
+
const userr = user;
|
|
99
|
+
if (opts?.start) {
|
|
100
|
+
(0, jest_date_mock_1.advanceTo)(opts.start);
|
|
101
|
+
}
|
|
87
102
|
let userInputs = exports.inputs.slice(0, slice || exports.inputs.length);
|
|
88
103
|
const contacts = await Promise.all(userInputs.map(async (input) => {
|
|
89
104
|
// just to make times deterministic so that tests can consistently work
|
|
90
105
|
(0, jest_date_mock_1.advanceBy)(100);
|
|
91
|
-
const builder = (0, _1.getContactBuilder)(
|
|
106
|
+
const builder = (0, _1.getContactBuilder)(userr.viewer, getContactInput(userr, input));
|
|
92
107
|
// add edge from user to contact
|
|
93
|
-
builder.orchestrator.addInboundEdge(
|
|
108
|
+
builder.orchestrator.addInboundEdge(userr.id, _1.EdgeType.UserToContacts, const_1.NodeType.FakeUser, {
|
|
94
109
|
time: new Date(), // set time to advanceBy time
|
|
95
110
|
});
|
|
96
111
|
await builder.saveX();
|
|
97
112
|
return await builder.editedEntX();
|
|
98
113
|
}));
|
|
99
114
|
expect(contacts.length).toBe(userInputs.length);
|
|
100
|
-
return [
|
|
115
|
+
return [userr, contacts];
|
|
101
116
|
}
|
|
102
117
|
exports.createAllContacts = createAllContacts;
|
|
103
118
|
async function createUserPlusFriendRequests(input, slice) {
|
|
@@ -208,22 +223,23 @@ async function createTestEvent(user, input) {
|
|
|
208
223
|
return await builder.editedEntX();
|
|
209
224
|
}
|
|
210
225
|
exports.createTestEvent = createTestEvent;
|
|
211
|
-
async function setupTempDB() {
|
|
212
|
-
const tdb = new
|
|
226
|
+
async function setupTempDB(global = false) {
|
|
227
|
+
const tdb = new temp_db_1.TempDB(db_1.Dialect.Postgres, tempDBTables(global));
|
|
213
228
|
await tdb.beforeAll();
|
|
214
229
|
// create once
|
|
215
230
|
await createEdges();
|
|
216
231
|
return tdb;
|
|
217
232
|
}
|
|
218
233
|
exports.setupTempDB = setupTempDB;
|
|
219
|
-
function tempDBTables() {
|
|
234
|
+
function tempDBTables(global = false) {
|
|
220
235
|
const tables = [
|
|
221
236
|
_1.FakeUser.getTestTable(),
|
|
222
237
|
_1.FakeContact.getTestTable(),
|
|
223
238
|
fake_event_1.FakeEvent.getTestTable(),
|
|
224
|
-
|
|
239
|
+
fake_tag_1.FakeTag.getTestTable(),
|
|
240
|
+
(0, temp_db_1.assoc_edge_config_table)(),
|
|
225
241
|
];
|
|
226
|
-
edgeTableNames().forEach((tableName) => tables.push((0,
|
|
242
|
+
edgeTableNames().forEach((tableName) => tables.push((0, temp_db_1.assoc_edge_table)(tableName, global)));
|
|
227
243
|
return tables;
|
|
228
244
|
}
|
|
229
245
|
exports.tempDBTables = tempDBTables;
|
|
@@ -232,7 +248,7 @@ async function createAllEvents(opts) {
|
|
|
232
248
|
let arr = new Array(opts.howMany);
|
|
233
249
|
arr.fill(1);
|
|
234
250
|
// start at date in case something else has used a date already
|
|
235
|
-
(0, jest_date_mock_1.advanceTo)(mock_date_1.MockDate.getDate());
|
|
251
|
+
(0, jest_date_mock_1.advanceTo)(opts.startTime || mock_date_1.MockDate.getDate());
|
|
236
252
|
const events = await Promise.all(arr.map(async (v, idx) => {
|
|
237
253
|
// just to make times deterministic so that tests can consistently work
|
|
238
254
|
if (opts.interval > 0) {
|
|
@@ -241,7 +257,7 @@ async function createAllEvents(opts) {
|
|
|
241
257
|
const input = opts.eventInputs?.[idx];
|
|
242
258
|
const builder = (0, fake_event_1.getEventBuilder)(user.viewer, getEventInput(user, input));
|
|
243
259
|
await builder.saveX();
|
|
244
|
-
return
|
|
260
|
+
return builder.editedEntX();
|
|
245
261
|
}));
|
|
246
262
|
expect(events.length).toBe(opts.howMany);
|
|
247
263
|
return [user, events];
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Ent, ID, Viewer } from "../../core/base";
|
|
1
|
+
import { Data, Ent, ID, Viewer } from "../../core/base";
|
|
2
2
|
import { CustomEdgeQueryBase } from "../../core/query/custom_query";
|
|
3
3
|
import { AssocEdge } from "../../core/ent";
|
|
4
4
|
import * as clause from "../../core/clause";
|
|
5
5
|
import { AssocEdgeQueryBase, EdgeQuerySource } from "../../core/query/assoc_query";
|
|
6
6
|
import { FakeUser, FakeEvent, FakeContact, EventToAttendeesQuery, EventToDeclinedQuery, EventToHostsQuery, EventToInvitedQuery, EventToMaybeQuery } from "./internal";
|
|
7
7
|
import { RawCountLoaderFactory } from "../../core/loaders/raw_count_loader";
|
|
8
|
-
import { IndexLoaderFactory } from "../../core/loaders/index_loader";
|
|
9
8
|
import { QueryLoaderFactory } from "../../core/loaders/query_loader";
|
|
10
9
|
export declare class UserToContactsQuery extends AssocEdgeQueryBase<FakeUser, FakeContact, AssocEdge> {
|
|
11
10
|
constructor(viewer: Viewer, src: EdgeQuerySource<FakeUser>);
|
|
@@ -13,12 +12,22 @@ export declare class UserToContactsQuery extends AssocEdgeQueryBase<FakeUser, Fa
|
|
|
13
12
|
sourceEnt(id: ID): Promise<FakeUser | null>;
|
|
14
13
|
}
|
|
15
14
|
export declare const userToContactsCountLoaderFactory: RawCountLoaderFactory;
|
|
16
|
-
export declare const userToContactsDataLoaderFactory:
|
|
15
|
+
export declare const userToContactsDataLoaderFactory: QueryLoaderFactory<unknown>;
|
|
16
|
+
export declare class UserToContactsFkeyQueryDeprecated extends CustomEdgeQueryBase<FakeUser, FakeContact> {
|
|
17
|
+
constructor(viewer: Viewer, src: ID | FakeUser);
|
|
18
|
+
static query(viewer: Viewer, src: FakeUser | ID): UserToContactsFkeyQueryDeprecated;
|
|
19
|
+
sourceEnt(id: ID): Promise<FakeUser | null>;
|
|
20
|
+
}
|
|
17
21
|
export declare class UserToContactsFkeyQuery extends CustomEdgeQueryBase<FakeUser, FakeContact> {
|
|
18
22
|
constructor(viewer: Viewer, src: ID | FakeUser);
|
|
19
23
|
static query(viewer: Viewer, src: FakeUser | ID): UserToContactsFkeyQuery;
|
|
20
24
|
sourceEnt(id: ID): Promise<FakeUser | null>;
|
|
21
25
|
}
|
|
26
|
+
export declare class UserToContactsFkeyQueryAsc extends CustomEdgeQueryBase<FakeUser, FakeContact> {
|
|
27
|
+
constructor(viewer: Viewer, src: ID | FakeUser);
|
|
28
|
+
static query(viewer: Viewer, src: FakeUser | ID): UserToContactsFkeyQuery;
|
|
29
|
+
sourceEnt(id: ID): Promise<FakeUser | null>;
|
|
30
|
+
}
|
|
22
31
|
export declare class UserToFriendsQuery extends AssocEdgeQueryBase<FakeUser, FakeUser, AssocEdge> {
|
|
23
32
|
constructor(viewer: Viewer, src: EdgeQuerySource<FakeUser>);
|
|
24
33
|
static query(viewer: Viewer, src: EdgeQuerySource<FakeUser>): UserToFriendsQuery;
|
|
@@ -30,6 +39,8 @@ export declare class UserToFriendsQuery extends AssocEdgeQueryBase<FakeUser, Fak
|
|
|
30
39
|
queryCustomEdge(): UserToCustomEdgeQuery;
|
|
31
40
|
}
|
|
32
41
|
export declare class CustomEdge extends AssocEdge {
|
|
42
|
+
deleted_at: Date | null;
|
|
43
|
+
constructor(data: Data);
|
|
33
44
|
loadUser(viewer: Viewer): Promise<FakeUser | null>;
|
|
34
45
|
}
|
|
35
46
|
export declare class UserToCustomEdgeQuery extends AssocEdgeQueryBase<FakeUser, FakeUser, CustomEdge> {
|
|
@@ -51,7 +62,7 @@ export declare class UserToFriendRequestsQuery extends AssocEdgeQueryBase<FakeUs
|
|
|
51
62
|
queryEventsAttending(): UserToEventsAttendingQuery;
|
|
52
63
|
queryCustomEdge(): UserToCustomEdgeQuery;
|
|
53
64
|
}
|
|
54
|
-
export declare class UserToIncomingFriendRequestsQuery extends AssocEdgeQueryBase<FakeUser, FakeUser,
|
|
65
|
+
export declare class UserToIncomingFriendRequestsQuery extends AssocEdgeQueryBase<FakeUser, FakeUser, CustomEdge> {
|
|
55
66
|
constructor(viewer: Viewer, src: EdgeQuerySource<FakeUser, FakeUser>);
|
|
56
67
|
getPrivacyPolicy(): import("../../core/base").PrivacyPolicy<Ent<Viewer<Ent<any> | null, ID | null>>, Viewer<Ent<any> | null, ID | null>>;
|
|
57
68
|
sourceEnt(id: ID): Promise<FakeUser | null>;
|
|
@@ -61,6 +72,7 @@ export declare class UserToIncomingFriendRequestsQuery extends AssocEdgeQueryBas
|
|
|
61
72
|
queryHostedEvents(): UserToHostedEventsQuery;
|
|
62
73
|
queryEventsAttending(): UserToEventsAttendingQuery;
|
|
63
74
|
queryCustomEdge(): UserToCustomEdgeQuery;
|
|
75
|
+
withoutTransformations(): this;
|
|
64
76
|
}
|
|
65
77
|
export declare class UserToEventsAttendingQuery extends AssocEdgeQueryBase<FakeUser, FakeEvent, AssocEdge> {
|
|
66
78
|
constructor(viewer: Viewer, src: EdgeQuerySource<FakeUser, FakeEvent>);
|
|
@@ -84,8 +96,6 @@ export declare class UserToHostedEventsQuery extends AssocEdgeQueryBase<FakeUser
|
|
|
84
96
|
}
|
|
85
97
|
export declare const getNextWeekClause: () => clause.Clause;
|
|
86
98
|
export declare function getCompleteClause(id: ID): clause.Clause;
|
|
87
|
-
export declare const userToEventsInNextWeekCountLoaderFactory: RawCountLoaderFactory;
|
|
88
|
-
export declare const userToEventsInNextWeekDataLoaderFactory: QueryLoaderFactory<unknown>;
|
|
89
99
|
export declare class UserToEventsInNextWeekQuery extends CustomEdgeQueryBase<FakeUser, FakeEvent> {
|
|
90
100
|
constructor(viewer: Viewer, src: ID | FakeUser);
|
|
91
101
|
static query(viewer: Viewer, src: FakeUser | ID): UserToEventsInNextWeekQuery;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -19,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
21
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.UserToFollowingQuery = exports.UserToEventsInNextWeekQuery = exports.
|
|
26
|
+
exports.UserToFollowingQuery = exports.UserToEventsInNextWeekQuery = exports.getCompleteClause = exports.getNextWeekClause = exports.UserToHostedEventsQuery = exports.UserToEventsAttendingQuery = exports.UserToIncomingFriendRequestsQuery = exports.UserToFriendRequestsQuery = exports.UserToCustomEdgeQuery = exports.CustomEdge = exports.UserToFriendsQuery = exports.UserToContactsFkeyQueryAsc = exports.UserToContactsFkeyQuery = exports.UserToContactsFkeyQueryDeprecated = exports.userToContactsDataLoaderFactory = exports.userToContactsCountLoaderFactory = exports.UserToContactsQuery = void 0;
|
|
23
27
|
const custom_query_1 = require("../../core/query/custom_query");
|
|
24
28
|
const ent_1 = require("../../core/ent");
|
|
25
29
|
const clause = __importStar(require("../../core/clause"));
|
|
@@ -28,7 +32,6 @@ const internal_1 = require("./internal");
|
|
|
28
32
|
const raw_count_loader_1 = require("../../core/loaders/raw_count_loader");
|
|
29
33
|
const assoc_count_loader_1 = require("../../core/loaders/assoc_count_loader");
|
|
30
34
|
const assoc_edge_loader_1 = require("../../core/loaders/assoc_edge_loader");
|
|
31
|
-
const index_loader_1 = require("../../core/loaders/index_loader");
|
|
32
35
|
const fake_contact_1 = require("./fake_contact");
|
|
33
36
|
const jest_date_mock_1 = require("jest-date-mock");
|
|
34
37
|
const luxon_1 = require("luxon");
|
|
@@ -52,10 +55,13 @@ exports.userToContactsCountLoaderFactory = new raw_count_loader_1.RawCountLoader
|
|
|
52
55
|
...internal_1.FakeContact.loaderOptions(),
|
|
53
56
|
groupCol: "user_id",
|
|
54
57
|
});
|
|
55
|
-
exports.userToContactsDataLoaderFactory = new
|
|
58
|
+
exports.userToContactsDataLoaderFactory = new query_loader_1.QueryLoaderFactory({
|
|
59
|
+
...internal_1.FakeContact.loaderOptions(),
|
|
60
|
+
groupCol: "user_id",
|
|
56
61
|
toPrime: [fake_contact_1.contactLoader],
|
|
57
62
|
});
|
|
58
|
-
|
|
63
|
+
// note: this is still used in graphql tests...
|
|
64
|
+
class UserToContactsFkeyQueryDeprecated extends custom_query_1.CustomEdgeQueryBase {
|
|
59
65
|
constructor(viewer, src) {
|
|
60
66
|
super(viewer, {
|
|
61
67
|
src,
|
|
@@ -63,6 +69,27 @@ class UserToContactsFkeyQuery extends custom_query_1.CustomEdgeQueryBase {
|
|
|
63
69
|
countLoaderFactory: exports.userToContactsCountLoaderFactory,
|
|
64
70
|
dataLoaderFactory: exports.userToContactsDataLoaderFactory,
|
|
65
71
|
options: internal_1.FakeContact.loaderOptions(),
|
|
72
|
+
sortColumn: "created_at",
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
static query(viewer, src) {
|
|
76
|
+
return new UserToContactsFkeyQueryDeprecated(viewer, src);
|
|
77
|
+
}
|
|
78
|
+
sourceEnt(id) {
|
|
79
|
+
return internal_1.FakeUser.load(this.viewer, id);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.UserToContactsFkeyQueryDeprecated = UserToContactsFkeyQueryDeprecated;
|
|
83
|
+
// this replaces UserToContactsFkeyQueryDeprecated
|
|
84
|
+
class UserToContactsFkeyQuery extends custom_query_1.CustomEdgeQueryBase {
|
|
85
|
+
constructor(viewer, src) {
|
|
86
|
+
super(viewer, {
|
|
87
|
+
src,
|
|
88
|
+
loadEntOptions: internal_1.FakeContact.loaderOptions(),
|
|
89
|
+
groupCol: "user_id",
|
|
90
|
+
name: "user_to_contacts",
|
|
91
|
+
// instead of the id col...
|
|
92
|
+
sortColumn: "created_at",
|
|
66
93
|
});
|
|
67
94
|
}
|
|
68
95
|
static query(viewer, src) {
|
|
@@ -73,6 +100,29 @@ class UserToContactsFkeyQuery extends custom_query_1.CustomEdgeQueryBase {
|
|
|
73
100
|
}
|
|
74
101
|
}
|
|
75
102
|
exports.UserToContactsFkeyQuery = UserToContactsFkeyQuery;
|
|
103
|
+
class UserToContactsFkeyQueryAsc extends custom_query_1.CustomEdgeQueryBase {
|
|
104
|
+
constructor(viewer, src) {
|
|
105
|
+
super(viewer, {
|
|
106
|
+
src,
|
|
107
|
+
loadEntOptions: internal_1.FakeContact.loaderOptions(),
|
|
108
|
+
groupCol: "user_id",
|
|
109
|
+
name: "user_to_contacts",
|
|
110
|
+
orderby: [
|
|
111
|
+
{
|
|
112
|
+
column: "created_at",
|
|
113
|
+
direction: "ASC",
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
static query(viewer, src) {
|
|
119
|
+
return new UserToContactsFkeyQueryAsc(viewer, src);
|
|
120
|
+
}
|
|
121
|
+
sourceEnt(id) {
|
|
122
|
+
return internal_1.FakeUser.load(this.viewer, id);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.UserToContactsFkeyQueryAsc = UserToContactsFkeyQueryAsc;
|
|
76
126
|
class UserToFriendsQuery extends assoc_query_1.AssocEdgeQueryBase {
|
|
77
127
|
constructor(viewer, src) {
|
|
78
128
|
super(viewer, src, new assoc_count_loader_1.AssocEdgeCountLoaderFactory(internal_1.EdgeType.UserToFriends), new assoc_edge_loader_1.AssocEdgeLoaderFactory(internal_1.EdgeType.UserToFriends, ent_1.AssocEdge), internal_1.FakeUser.loaderOptions());
|
|
@@ -102,6 +152,11 @@ class UserToFriendsQuery extends assoc_query_1.AssocEdgeQueryBase {
|
|
|
102
152
|
exports.UserToFriendsQuery = UserToFriendsQuery;
|
|
103
153
|
// example with custom method
|
|
104
154
|
class CustomEdge extends ent_1.AssocEdge {
|
|
155
|
+
constructor(data) {
|
|
156
|
+
super(data);
|
|
157
|
+
this.deleted_at = null;
|
|
158
|
+
this.deleted_at = data.deleted_at;
|
|
159
|
+
}
|
|
105
160
|
async loadUser(viewer) {
|
|
106
161
|
return await internal_1.FakeUser.load(viewer, this.id2);
|
|
107
162
|
}
|
|
@@ -160,7 +215,7 @@ class UserToFriendRequestsQuery extends assoc_query_1.AssocEdgeQueryBase {
|
|
|
160
215
|
exports.UserToFriendRequestsQuery = UserToFriendRequestsQuery;
|
|
161
216
|
class UserToIncomingFriendRequestsQuery extends assoc_query_1.AssocEdgeQueryBase {
|
|
162
217
|
constructor(viewer, src) {
|
|
163
|
-
super(viewer, src, new assoc_count_loader_1.AssocEdgeCountLoaderFactory(internal_1.EdgeType.UserToIncomingFriendRequests), new assoc_edge_loader_1.AssocEdgeLoaderFactory(internal_1.EdgeType.UserToIncomingFriendRequests,
|
|
218
|
+
super(viewer, src, new assoc_count_loader_1.AssocEdgeCountLoaderFactory(internal_1.EdgeType.UserToIncomingFriendRequests), new assoc_edge_loader_1.AssocEdgeLoaderFactory(internal_1.EdgeType.UserToIncomingFriendRequests, CustomEdge), internal_1.FakeUser.loaderOptions());
|
|
164
219
|
}
|
|
165
220
|
getPrivacyPolicy() {
|
|
166
221
|
return privacy_1.AllowIfViewerPrivacyPolicy;
|
|
@@ -186,6 +241,13 @@ class UserToIncomingFriendRequestsQuery extends assoc_query_1.AssocEdgeQueryBase
|
|
|
186
241
|
queryCustomEdge() {
|
|
187
242
|
return UserToCustomEdgeQuery.query(this.viewer, this);
|
|
188
243
|
}
|
|
244
|
+
// this is generated in codegen. we'll just add it manually here
|
|
245
|
+
withoutTransformations() {
|
|
246
|
+
this.configureEdgeQueryableDataOptions({
|
|
247
|
+
disableTransformations: true,
|
|
248
|
+
});
|
|
249
|
+
return this;
|
|
250
|
+
}
|
|
189
251
|
}
|
|
190
252
|
exports.UserToIncomingFriendRequestsQuery = UserToIncomingFriendRequestsQuery;
|
|
191
253
|
class UserToEventsAttendingQuery extends assoc_query_1.AssocEdgeQueryBase {
|
|
@@ -257,27 +319,14 @@ function getCompleteClause(id) {
|
|
|
257
319
|
return clause.And(clause.Eq("user_id", id), (0, exports.getNextWeekClause)());
|
|
258
320
|
}
|
|
259
321
|
exports.getCompleteClause = getCompleteClause;
|
|
260
|
-
exports.userToEventsInNextWeekCountLoaderFactory = new raw_count_loader_1.RawCountLoaderFactory({
|
|
261
|
-
...internal_1.FakeEvent.loaderOptions(),
|
|
262
|
-
groupCol: "user_id",
|
|
263
|
-
clause: (0, exports.getNextWeekClause)(),
|
|
264
|
-
});
|
|
265
|
-
exports.userToEventsInNextWeekDataLoaderFactory = new query_loader_1.QueryLoaderFactory({
|
|
266
|
-
...internal_1.FakeEvent.loaderOptions(),
|
|
267
|
-
groupCol: "user_id",
|
|
268
|
-
clause: (0, exports.getNextWeekClause)(),
|
|
269
|
-
toPrime: [fake_contact_1.contactLoader],
|
|
270
|
-
sortColumn: "start_time",
|
|
271
|
-
});
|
|
272
322
|
class UserToEventsInNextWeekQuery extends custom_query_1.CustomEdgeQueryBase {
|
|
273
323
|
constructor(viewer, src) {
|
|
274
324
|
super(viewer, {
|
|
275
325
|
src,
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
// hmm TODO shouldn't need to write this twice...
|
|
326
|
+
groupCol: "user_id",
|
|
327
|
+
clause: (0, exports.getNextWeekClause)(),
|
|
328
|
+
loadEntOptions: internal_1.FakeEvent.loaderOptions(),
|
|
329
|
+
name: "events_in_next_week",
|
|
281
330
|
sortColumn: "start_time",
|
|
282
331
|
});
|
|
283
332
|
}
|
package/testutils/fake_log.js
CHANGED
|
@@ -21,12 +21,12 @@ class FakeLogger {
|
|
|
21
21
|
this.logs = [];
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
exports.FakeLogger = FakeLogger;
|
|
25
24
|
// todo this is quick and ideal.
|
|
26
25
|
// more ideal is capturing all console.logs
|
|
27
26
|
// we do it in golang for example
|
|
28
27
|
// and will need this for production launch anyways
|
|
29
28
|
FakeLogger.logs = [];
|
|
29
|
+
exports.FakeLogger = FakeLogger;
|
|
30
30
|
// TODO instead of needing to add this manually
|
|
31
31
|
// we need to build a way to add global observers (and maybe triggers)
|
|
32
32
|
// to be run on every action/mutation
|
package/testutils/parse_sql.d.ts
CHANGED
|
@@ -9,6 +9,12 @@ export declare class EqOp {
|
|
|
9
9
|
constructor(col: string, value: any);
|
|
10
10
|
apply(data: Data): boolean;
|
|
11
11
|
}
|
|
12
|
+
export declare class NotEqOp {
|
|
13
|
+
private col;
|
|
14
|
+
private value;
|
|
15
|
+
constructor(col: string, value: any);
|
|
16
|
+
apply(data: Data): boolean;
|
|
17
|
+
}
|
|
12
18
|
export declare class GreaterOp {
|
|
13
19
|
private col;
|
|
14
20
|
private value;
|
package/testutils/parse_sql.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.performQuery = exports.OrOp = exports.AndOp = exports.InOp = exports.LessEqOp = exports.GreaterEqOp = exports.LessOp = exports.GreaterOp = exports.EqOp = exports.getDataToReturn = void 0;
|
|
3
|
+
exports.performQuery = exports.OrOp = exports.AndOp = exports.InOp = exports.LessEqOp = exports.GreaterEqOp = exports.LessOp = exports.GreaterOp = exports.NotEqOp = exports.EqOp = exports.getDataToReturn = void 0;
|
|
4
4
|
const node_sql_parser_1 = require("node-sql-parser");
|
|
5
5
|
function getTableName(table) {
|
|
6
6
|
if (Array.isArray(table)) {
|
|
@@ -184,6 +184,16 @@ class EqOp {
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
exports.EqOp = EqOp;
|
|
187
|
+
class NotEqOp {
|
|
188
|
+
constructor(col, value) {
|
|
189
|
+
this.col = col;
|
|
190
|
+
this.value = value;
|
|
191
|
+
}
|
|
192
|
+
apply(data) {
|
|
193
|
+
return data[this.col] !== this.value;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
exports.NotEqOp = NotEqOp;
|
|
187
197
|
class GreaterOp {
|
|
188
198
|
constructor(col, value) {
|
|
189
199
|
this.col = col;
|
|
@@ -307,8 +317,12 @@ function getOp(where, values) {
|
|
|
307
317
|
return new AndOp([getOp(where.left, values), getOp(where.right, values)]);
|
|
308
318
|
case "OR":
|
|
309
319
|
return new OrOp([getOp(where.left, values), getOp(where.right, values)]);
|
|
320
|
+
case "IS":
|
|
321
|
+
return new EqOp(getColumnFromRef(where.left), where.right?.value);
|
|
322
|
+
case "IS NOT":
|
|
323
|
+
return new NotEqOp(getColumnFromRef(where.left), where.right?.value);
|
|
310
324
|
default:
|
|
311
|
-
console.
|
|
325
|
+
console.debug(where);
|
|
312
326
|
throw new Error(`unsupported op ${where.operator}`);
|
|
313
327
|
}
|
|
314
328
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EdgeUpdateOperation, TransformedEdgeUpdateOperation } from "../schema";
|
|
2
|
+
import * as clause from "../core/clause";
|
|
3
|
+
import { AssocEdge } from "../core/ent";
|
|
4
|
+
import { Data } from "../core/base";
|
|
5
|
+
export declare class EdgeWithDeletedAt extends AssocEdge {
|
|
6
|
+
deletedAt: Date | null;
|
|
7
|
+
constructor(data: Data);
|
|
8
|
+
}
|
|
9
|
+
export declare const testEdgeGlobalSchema: {
|
|
10
|
+
extraEdgeFields: {
|
|
11
|
+
deletedAt: import("../schema").TimestampField;
|
|
12
|
+
};
|
|
13
|
+
transformEdgeRead(): clause.Clause;
|
|
14
|
+
transformEdgeWrite(stmt: EdgeUpdateOperation): TransformedEdgeUpdateOperation | null;
|
|
15
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.testEdgeGlobalSchema = exports.EdgeWithDeletedAt = void 0;
|
|
27
|
+
const schema_1 = require("../schema");
|
|
28
|
+
const clause = __importStar(require("../core/clause"));
|
|
29
|
+
const ent_1 = require("../core/ent");
|
|
30
|
+
class EdgeWithDeletedAt extends ent_1.AssocEdge {
|
|
31
|
+
constructor(data) {
|
|
32
|
+
super(data);
|
|
33
|
+
this.deletedAt = data.deleted_at;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.EdgeWithDeletedAt = EdgeWithDeletedAt;
|
|
37
|
+
exports.testEdgeGlobalSchema = {
|
|
38
|
+
extraEdgeFields: {
|
|
39
|
+
// need this to be lowerCamelCase because we do this based on field name
|
|
40
|
+
// #510
|
|
41
|
+
deletedAt: (0, schema_1.TimestampType)({
|
|
42
|
+
nullable: true,
|
|
43
|
+
index: true,
|
|
44
|
+
defaultValueOnCreate: () => null,
|
|
45
|
+
}),
|
|
46
|
+
},
|
|
47
|
+
transformEdgeRead() {
|
|
48
|
+
return clause.Eq("deleted_at", null);
|
|
49
|
+
},
|
|
50
|
+
transformEdgeWrite(stmt) {
|
|
51
|
+
switch (stmt.op) {
|
|
52
|
+
case schema_1.SQLStatementOperation.Delete:
|
|
53
|
+
return {
|
|
54
|
+
op: schema_1.SQLStatementOperation.Update,
|
|
55
|
+
data: {
|
|
56
|
+
deleted_at: new Date(),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
},
|
|
62
|
+
};
|
package/testutils/write.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EditRowOptions, Data,
|
|
1
|
+
import { EditRowOptions, Data, DataOptions, CreateRowOptions } from "../core/base";
|
|
2
2
|
import * as clause from "../core/clause";
|
|
3
3
|
export declare function createRowForTest(options: CreateRowOptions, suffix?: string): Promise<Data | null>;
|
|
4
|
-
export declare function editRowForTest(options: EditRowOptions,
|
|
4
|
+
export declare function editRowForTest(options: EditRowOptions, suffix?: string): Promise<Data | null>;
|
|
5
5
|
export declare function deleteRowsForTest(options: DataOptions, cls: clause.Clause): Promise<void>;
|
package/testutils/write.js
CHANGED
|
@@ -1,16 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
4
24
|
};
|
|
5
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
26
|
exports.deleteRowsForTest = exports.editRowForTest = exports.createRowForTest = void 0;
|
|
7
27
|
const ent_1 = require("../core/ent");
|
|
8
|
-
const db_1 =
|
|
28
|
+
const db_1 = __importStar(require("../core/db"));
|
|
9
29
|
function isSyncClient(client) {
|
|
10
30
|
return client.execSync !== undefined;
|
|
11
31
|
}
|
|
12
32
|
async function createRowForTest(options, suffix) {
|
|
13
|
-
|
|
33
|
+
let client;
|
|
34
|
+
if (db_1.Dialect.SQLite === db_1.default.getDialect()) {
|
|
35
|
+
client = db_1.default.getInstance().getSQLiteClient();
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
client = await db_1.default.getInstance().getNewClient();
|
|
39
|
+
}
|
|
14
40
|
try {
|
|
15
41
|
if (isSyncClient(client)) {
|
|
16
42
|
return (0, ent_1.createRowSync)(client, options, suffix || "");
|
|
@@ -22,13 +48,13 @@ async function createRowForTest(options, suffix) {
|
|
|
22
48
|
}
|
|
23
49
|
}
|
|
24
50
|
exports.createRowForTest = createRowForTest;
|
|
25
|
-
async function editRowForTest(options,
|
|
51
|
+
async function editRowForTest(options, suffix) {
|
|
26
52
|
const client = await db_1.default.getInstance().getNewClient();
|
|
27
53
|
try {
|
|
28
54
|
if (isSyncClient(client)) {
|
|
29
|
-
return (0, ent_1.editRowSync)(client, options,
|
|
55
|
+
return (0, ent_1.editRowSync)(client, options, suffix || "");
|
|
30
56
|
}
|
|
31
|
-
return await (0, ent_1.editRow)(client, options,
|
|
57
|
+
return await (0, ent_1.editRow)(client, options, suffix);
|
|
32
58
|
}
|
|
33
59
|
finally {
|
|
34
60
|
client.release();
|
package/tsc/ast.d.ts
CHANGED
|
@@ -10,23 +10,35 @@ export interface ClassInfo {
|
|
|
10
10
|
wrapClassContents(inner: string): string;
|
|
11
11
|
}
|
|
12
12
|
export declare function getClassInfo(fileContents: string, sourceFile: ts.SourceFile, node: ts.ClassDeclaration): ClassInfo | undefined;
|
|
13
|
-
|
|
13
|
+
type transformImportFn = (imp: string) => string;
|
|
14
14
|
interface transformOpts {
|
|
15
15
|
removeImports?: string[];
|
|
16
16
|
newImports?: string[];
|
|
17
17
|
transform?: transformImportFn;
|
|
18
|
-
transformPath
|
|
18
|
+
transformPath: string;
|
|
19
19
|
}
|
|
20
|
-
export declare function transformImport(fileContents: string, importNode: ts.ImportDeclaration, sourceFile: ts.SourceFile, opts
|
|
20
|
+
export declare function transformImport(fileContents: string, importNode: ts.ImportDeclaration, sourceFile: ts.SourceFile, opts: transformOpts): string | undefined;
|
|
21
21
|
export declare function updateImportPath(fileContents: string, importNode: ts.ImportDeclaration, sourceFile: ts.SourceFile, newPath: string): string | undefined;
|
|
22
22
|
export declare function isRelativeImport(node: ts.ImportDeclaration, sourceFile: ts.SourceFile): boolean;
|
|
23
23
|
export declare function isRelativeGeneratedImport(node: ts.ImportDeclaration, sourceFile: ts.SourceFile): boolean;
|
|
24
|
+
export declare function isSrcGeneratedImport(node: ts.ImportDeclaration, sourceFile: ts.SourceFile): boolean;
|
|
24
25
|
interface importInfo {
|
|
25
26
|
imports: string[];
|
|
26
27
|
start: number;
|
|
27
28
|
end: number;
|
|
28
29
|
importText: string;
|
|
29
30
|
importPath: string;
|
|
31
|
+
default?: string;
|
|
30
32
|
}
|
|
31
33
|
export declare function getImportInfo(imp: ts.ImportDeclaration, sourceFile: ts.SourceFile): importInfo | undefined;
|
|
34
|
+
export declare function transformRelative(file: string, importPath: string, relative?: boolean): string;
|
|
35
|
+
export interface customInfo {
|
|
36
|
+
viewerInfo: {
|
|
37
|
+
path: string;
|
|
38
|
+
name: string;
|
|
39
|
+
};
|
|
40
|
+
relativeImports?: boolean;
|
|
41
|
+
globalSchemaPath?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare function getCustomInfo(): customInfo;
|
|
32
44
|
export {};
|