remult 0.18.1-exp.2 → 0.18.1-exp.21
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/README.md +28 -5
- package/esm/index.d.ts +4 -3
- package/esm/index.js +4 -2
- package/esm/live-query/ably.d.ts +6 -6
- package/esm/live-query/ably.js +5 -5
- package/esm/postgres/postgres-data-provider.d.ts +3 -1
- package/esm/postgres/postgres-data-provider.js +11 -1
- package/esm/postgres/schema-builder.d.ts +1 -1
- package/esm/postgres/schema-builder.js +43 -27
- package/esm/remult-express.d.ts +4 -22
- package/esm/remult-express.js +30 -28
- package/esm/remult-fastify.js +1 -1
- package/esm/remult-fresh.js +2 -2
- package/esm/remult-knex/index.d.ts +7 -31
- package/esm/remult-knex/index.js +71 -42
- package/esm/remult-mongo.d.ts +9 -2
- package/esm/remult-mongo.js +24 -8
- package/esm/remult-next.d.ts +11 -0
- package/esm/remult-next.js +27 -0
- package/esm/server/expressBridge.d.ts +20 -52
- package/esm/server/expressBridge.js +55 -29
- package/esm/server/index.d.ts +3 -1
- package/esm/server/index.js +6 -1
- package/esm/src/column-interfaces.d.ts +44 -8
- package/esm/src/context.d.ts +31 -19
- package/esm/src/context.js +35 -42
- package/esm/src/data-api.js +17 -4
- package/esm/src/data-interfaces.d.ts +1 -1
- package/esm/src/data-providers/array-entity-data-provider.d.ts +1 -1
- package/esm/src/data-providers/array-entity-data-provider.js +1 -1
- package/esm/src/data-providers/rest-data-provider.d.ts +4 -15
- package/esm/src/data-providers/rest-data-provider.js +38 -23
- package/esm/src/data-providers/sql-database.d.ts +6 -3
- package/esm/src/data-providers/sql-database.js +57 -16
- package/esm/src/data-providers/web-sql-data-provider.d.ts +2 -0
- package/esm/src/data-providers/web-sql-data-provider.js +17 -8
- package/esm/src/entity.d.ts +2 -2
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.d.ts +16 -16
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.js +29 -21
- package/esm/src/filter/filter-interfaces.d.ts +5 -5
- package/esm/src/filter/filter-interfaces.js +31 -26
- package/esm/src/live-query/LiveQueryClient.d.ts +1 -19
- package/esm/src/live-query/LiveQueryClient.js +81 -50
- package/esm/src/live-query/SseSubscriptionClient.d.ts +4 -0
- package/esm/src/live-query/{EventSourceLiveQueryProvider.js → SseSubscriptionClient.js} +7 -6
- package/esm/src/live-query/SubscriptionChannel.d.ts +41 -0
- package/esm/src/live-query/{LiveQuerySubscriber.js → SubscriptionChannel.js} +40 -22
- package/esm/src/live-query/SubscriptionServer.d.ts +38 -0
- package/esm/src/live-query/{LiveQueryPublisher.js → SubscriptionServer.js} +60 -73
- package/esm/src/remult-proxy.js +44 -1
- package/esm/src/remult3/RepositoryImplementation.d.ts +8 -2
- package/esm/src/remult3/RepositoryImplementation.js +94 -30
- package/esm/src/remult3/remult3.d.ts +59 -6
- package/esm/src/remult3/remult3.js +1 -0
- package/esm/src/server-action.d.ts +1 -1
- package/esm/src/shared-tests/db-tests-setup.d.ts +1 -1
- package/esm/src/shared-tests/db-tests-setup.js +4 -3
- package/esm/src/shared-tests/db-tests.db-tests.js +55 -9
- package/esm/src/sql-command.d.ts +4 -2
- package/esm/src/tests/entityForCustomFilter.d.ts +6 -6
- package/esm/src/tests/entityForCustomFilter.js +20 -21
- package/esm/src/tests/frontend-database-tests-setup.spec.js +1 -2
- package/esm/src/tests/testHelper.spec.d.ts +2 -2
- package/esm/src/tests/testHelper.spec.js +1 -2
- package/esm/src/valueConverters.js +17 -7
- package/index.d.ts +4 -3
- package/index.js +7 -3
- package/live-query/ably.d.ts +6 -6
- package/live-query/ably.js +12 -12
- package/package.json +18 -9
- package/postgres/postgres-data-provider.d.ts +3 -1
- package/postgres/postgres-data-provider.js +13 -3
- package/postgres/schema-builder.d.ts +1 -1
- package/postgres/schema-builder.js +64 -50
- package/remult-express.d.ts +4 -22
- package/remult-express.js +39 -47
- package/remult-fastify.js +2 -2
- package/remult-fresh.js +1 -1
- package/remult-knex/index.d.ts +7 -31
- package/remult-knex/index.js +100 -53
- package/remult-mongo.d.ts +9 -2
- package/remult-mongo.js +39 -7
- package/remult-next.d.ts +11 -0
- package/remult-next.js +73 -0
- package/server/JsonEntityFileStorage.js +2 -2
- package/server/expressBridge.d.ts +20 -52
- package/server/expressBridge.js +68 -41
- package/server/index.d.ts +3 -1
- package/server/index.js +7 -2
- package/src/column-interfaces.d.ts +44 -8
- package/src/context.d.ts +31 -19
- package/src/context.js +39 -50
- package/src/data-api.js +18 -5
- package/src/data-interfaces.d.ts +1 -1
- package/src/data-providers/array-entity-data-provider.d.ts +1 -1
- package/src/data-providers/array-entity-data-provider.js +1 -1
- package/src/data-providers/rest-data-provider.d.ts +4 -15
- package/src/data-providers/rest-data-provider.js +48 -24
- package/src/data-providers/sql-database.d.ts +6 -3
- package/src/data-providers/sql-database.js +75 -15
- package/src/data-providers/web-sql-data-provider.d.ts +2 -0
- package/src/data-providers/web-sql-data-provider.js +16 -7
- package/src/entity.d.ts +2 -2
- package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +16 -16
- package/src/filter/filter-consumer-bridge-to-sql-request.js +59 -50
- package/src/filter/filter-interfaces.d.ts +5 -5
- package/src/filter/filter-interfaces.js +31 -26
- package/src/live-query/LiveQueryClient.d.ts +1 -19
- package/src/live-query/LiveQueryClient.js +117 -64
- package/src/live-query/SseSubscriptionClient.d.ts +4 -0
- package/src/live-query/{EventSourceLiveQueryProvider.js → SseSubscriptionClient.js} +13 -12
- package/src/live-query/SubscriptionChannel.d.ts +41 -0
- package/src/live-query/{LiveQuerySubscriber.js → SubscriptionChannel.js} +51 -47
- package/src/live-query/SubscriptionServer.d.ts +38 -0
- package/src/live-query/SubscriptionServer.js +237 -0
- package/src/remult-proxy.js +137 -2
- package/src/remult3/RepositoryImplementation.d.ts +8 -2
- package/src/remult3/RepositoryImplementation.js +121 -34
- package/src/remult3/remult3.d.ts +59 -6
- package/src/remult3/remult3.js +1 -0
- package/src/server-action.d.ts +1 -1
- package/src/shared-tests/db-tests-setup.d.ts +1 -1
- package/src/shared-tests/db-tests-setup.js +5 -4
- package/src/shared-tests/db-tests.db-tests.js +101 -8
- package/src/sql-command.d.ts +4 -2
- package/src/tests/entityForCustomFilter.d.ts +6 -6
- package/src/tests/entityForCustomFilter.js +30 -31
- package/src/tests/frontend-database-tests-setup.spec.js +4 -5
- package/src/tests/testHelper.spec.d.ts +2 -2
- package/src/tests/testHelper.spec.js +4 -5
- package/src/valueConverters.js +17 -7
- package/esm/live-query/index.d.ts +0 -3
- package/esm/live-query/index.js +0 -3
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -5
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -113
- package/esm/src/backend-tests/my-test.backend-spec.d.ts +0 -1
- package/esm/src/backend-tests/my-test.backend-spec.js +0 -59
- package/esm/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
- package/esm/src/backend-tests/test-http-server.backend-spec.js +0 -171
- package/esm/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
- package/esm/src/live-query/LiveQueryPublisher.d.ts +0 -49
- package/esm/src/live-query/LiveQuerySubscriber.d.ts +0 -67
- package/live-query/index.d.ts +0 -3
- package/live-query/index.js +0 -10
- package/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -5
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -231
- package/src/backend-tests/my-test.backend-spec.d.ts +0 -1
- package/src/backend-tests/my-test.backend-spec.js +0 -160
- package/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
- package/src/backend-tests/test-http-server.backend-spec.js +0 -342
- package/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
- package/src/live-query/LiveQueryPublisher.d.ts +0 -49
- package/src/live-query/LiveQueryPublisher.js +0 -248
- package/src/live-query/LiveQuerySubscriber.d.ts +0 -67
package/remult-knex/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createKnexDataProvider = exports.buildColumn = exports.KnexSchemaBuilder = exports.
|
|
3
|
+
exports.createKnexDataProvider = exports.buildColumn = exports.KnexSchemaBuilder = exports.KnexDataProvider = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var knex_1 = require("knex");
|
|
6
5
|
var filter_interfaces_1 = require("../src/filter/filter-interfaces");
|
|
7
6
|
var filter_consumer_bridge_to_sql_request_1 = require("../src/filter/filter-consumer-bridge-to-sql-request");
|
|
8
7
|
var context_1 = require("../src/context");
|
|
@@ -10,10 +9,17 @@ var remult3_1 = require("../src/remult3");
|
|
|
10
9
|
var valueConverters_1 = require("../src/valueConverters");
|
|
11
10
|
var column_1 = require("../src/column");
|
|
12
11
|
var sort_1 = require("../src/sort");
|
|
12
|
+
var remult_proxy_1 = require("../src/remult-proxy");
|
|
13
13
|
var KnexDataProvider = /** @class */ (function () {
|
|
14
14
|
function KnexDataProvider(knex) {
|
|
15
15
|
this.knex = knex;
|
|
16
16
|
}
|
|
17
|
+
KnexDataProvider.getDb = function (remult) {
|
|
18
|
+
var r = (remult || remult_proxy_1.remult).dataProvider;
|
|
19
|
+
if (!r.knex)
|
|
20
|
+
throw "the data provider is not an KnexDataProvider";
|
|
21
|
+
return r.knex;
|
|
22
|
+
};
|
|
17
23
|
KnexDataProvider.prototype.getEntityDataProvider = function (entity) {
|
|
18
24
|
return new KnexEntityDataProvider(entity, this.knex);
|
|
19
25
|
};
|
|
@@ -46,7 +52,7 @@ var KnexDataProvider = /** @class */ (function () {
|
|
|
46
52
|
});
|
|
47
53
|
});
|
|
48
54
|
};
|
|
49
|
-
KnexDataProvider.
|
|
55
|
+
KnexDataProvider.rawFilter = function (build) {
|
|
50
56
|
var _a;
|
|
51
57
|
return _a = {},
|
|
52
58
|
_a[filter_interfaces_1.customDatabaseFilterToken] = {
|
|
@@ -54,6 +60,30 @@ var KnexDataProvider = /** @class */ (function () {
|
|
|
54
60
|
},
|
|
55
61
|
_a;
|
|
56
62
|
};
|
|
63
|
+
KnexDataProvider.filterToRaw = function (entity, condition) {
|
|
64
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
65
|
+
var repo, b, _a, r;
|
|
66
|
+
return tslib_1.__generator(this, function (_b) {
|
|
67
|
+
switch (_b.label) {
|
|
68
|
+
case 0:
|
|
69
|
+
repo = remult3_1.getRepository(entity);
|
|
70
|
+
_a = FilterConsumerBridgeToKnexRequest.bind;
|
|
71
|
+
return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(repo.metadata)];
|
|
72
|
+
case 1:
|
|
73
|
+
b = new (_a.apply(FilterConsumerBridgeToKnexRequest, [void 0, _b.sent()]))();
|
|
74
|
+
b._addWhere = false;
|
|
75
|
+
return [4 /*yield*/, (repo.translateWhereToFilter(condition))];
|
|
76
|
+
case 2: return [4 /*yield*/, (_b.sent()).__applyToConsumer(b)];
|
|
77
|
+
case 3:
|
|
78
|
+
_b.sent();
|
|
79
|
+
return [4 /*yield*/, b.resolveWhere()];
|
|
80
|
+
case 4:
|
|
81
|
+
r = _b.sent();
|
|
82
|
+
return [2 /*return*/, function (knex) { return r.forEach(function (y) { return y(knex); }); }];
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
};
|
|
57
87
|
return KnexDataProvider;
|
|
58
88
|
}());
|
|
59
89
|
exports.KnexDataProvider = KnexDataProvider;
|
|
@@ -75,7 +105,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
75
105
|
return [4 /*yield*/, br.resolveWhere()];
|
|
76
106
|
case 2:
|
|
77
107
|
r = _a.sent();
|
|
78
|
-
return [4 /*yield*/, this.knex(e
|
|
108
|
+
return [4 /*yield*/, this.knex(e.$entityName)
|
|
79
109
|
.count().where(function (b) { return r.forEach(function (w) { return w(b); }); })];
|
|
80
110
|
case 3:
|
|
81
111
|
result = (_a.sent());
|
|
@@ -108,7 +138,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
108
138
|
if (x.isServerExpression) {
|
|
109
139
|
}
|
|
110
140
|
else {
|
|
111
|
-
cols.push(e
|
|
141
|
+
cols.push(e.$dbNameOf(x));
|
|
112
142
|
colKeys.push(x);
|
|
113
143
|
}
|
|
114
144
|
}
|
|
@@ -120,7 +150,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
120
150
|
}
|
|
121
151
|
finally { if (e_1) throw e_1.error; }
|
|
122
152
|
}
|
|
123
|
-
query = this.knex(e
|
|
153
|
+
query = this.knex(e.$entityName).select(cols);
|
|
124
154
|
if (!(options === null || options === void 0 ? void 0 : options.where)) return [3 /*break*/, 3];
|
|
125
155
|
br = new FilterConsumerBridgeToKnexRequest(e);
|
|
126
156
|
options.where.__applyToConsumer(br);
|
|
@@ -135,7 +165,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
135
165
|
}
|
|
136
166
|
if (options.orderBy) {
|
|
137
167
|
query = query.orderBy(options.orderBy.Segments.map(function (s) { return ({
|
|
138
|
-
column: e
|
|
168
|
+
column: e.$dbNameOf(s.field),
|
|
139
169
|
order: s.isDescending ? "desc" : "asc"
|
|
140
170
|
}); }));
|
|
141
171
|
}
|
|
@@ -169,7 +199,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
169
199
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
170
200
|
return tslib_1.__generator(this, function (_a) {
|
|
171
201
|
switch (_a.label) {
|
|
172
|
-
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.
|
|
202
|
+
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(this.entity)];
|
|
173
203
|
case 1: return [2 /*return*/, _a.sent()];
|
|
174
204
|
}
|
|
175
205
|
});
|
|
@@ -198,13 +228,13 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
198
228
|
case 3:
|
|
199
229
|
if (!!_b.done) return [3 /*break*/, 7];
|
|
200
230
|
x = _b.value;
|
|
201
|
-
if (!
|
|
231
|
+
if (!filter_consumer_bridge_to_sql_request_1.isDbReadonly(x, e)) return [3 /*break*/, 4];
|
|
202
232
|
return [3 /*break*/, 6];
|
|
203
233
|
case 4:
|
|
204
234
|
if (!(data[x.key] !== undefined)) return [3 /*break*/, 6];
|
|
205
235
|
v = x.valueConverter.toDb(data[x.key]);
|
|
206
236
|
if (!(v !== undefined)) return [3 /*break*/, 6];
|
|
207
|
-
return [4 /*yield*/, e
|
|
237
|
+
return [4 /*yield*/, e.$dbNameOf(x)];
|
|
208
238
|
case 5:
|
|
209
239
|
key = _d.sent();
|
|
210
240
|
updateObject[key] = v;
|
|
@@ -226,7 +256,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
226
256
|
case 10: return [4 /*yield*/, f.resolveWhere()];
|
|
227
257
|
case 11:
|
|
228
258
|
where = _d.sent();
|
|
229
|
-
return [4 /*yield*/, this.knex(e
|
|
259
|
+
return [4 /*yield*/, this.knex(e.$entityName).update(updateObject).where(function (b) { return where.forEach(function (w) { return w(b); }); })];
|
|
230
260
|
case 12:
|
|
231
261
|
_d.sent();
|
|
232
262
|
return [2 /*return*/, this.find({ where: filter_interfaces_1.Filter.fromEntityFilter(this.entity, resultFilter) }).then(function (y) { return y[0]; })];
|
|
@@ -247,7 +277,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
247
277
|
return [4 /*yield*/, f.resolveWhere()];
|
|
248
278
|
case 2:
|
|
249
279
|
where = _a.sent();
|
|
250
|
-
return [4 /*yield*/, this.knex(e
|
|
280
|
+
return [4 /*yield*/, this.knex(e.$entityName).delete().where(function (b) { return where.forEach(function (w) { return w(b); }); })];
|
|
251
281
|
case 3:
|
|
252
282
|
_a.sent();
|
|
253
283
|
return [2 /*return*/];
|
|
@@ -257,7 +287,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
257
287
|
};
|
|
258
288
|
KnexEntityDataProvider.prototype.insert = function (data) {
|
|
259
289
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
260
|
-
var e, resultFilter, insertObject, _a, _b, x, v, key, e_3_1, insert, result,
|
|
290
|
+
var e, resultFilter, insertObject, _a, _b, x, v, key, e_3_1, insert, newId_1, result, result;
|
|
261
291
|
var e_3, _c;
|
|
262
292
|
var _this = this;
|
|
263
293
|
return tslib_1.__generator(this, function (_d) {
|
|
@@ -278,12 +308,12 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
278
308
|
case 3:
|
|
279
309
|
if (!!_b.done) return [3 /*break*/, 7];
|
|
280
310
|
x = _b.value;
|
|
281
|
-
if (!
|
|
311
|
+
if (!filter_consumer_bridge_to_sql_request_1.isDbReadonly(x, e)) return [3 /*break*/, 4];
|
|
282
312
|
return [3 /*break*/, 6];
|
|
283
313
|
case 4:
|
|
284
314
|
v = x.valueConverter.toDb(data[x.key]);
|
|
285
315
|
if (!(v != undefined)) return [3 /*break*/, 6];
|
|
286
|
-
return [4 /*yield*/, e
|
|
316
|
+
return [4 /*yield*/, e.$dbNameOf(x)];
|
|
287
317
|
case 5:
|
|
288
318
|
key = _d.sent();
|
|
289
319
|
insertObject[key] = v;
|
|
@@ -303,19 +333,27 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
303
333
|
finally { if (e_3) throw e_3.error; }
|
|
304
334
|
return [7 /*endfinally*/];
|
|
305
335
|
case 10:
|
|
306
|
-
insert = this.knex(e
|
|
307
|
-
if (!remult3_1.isAutoIncrement(this.entity.idMetadata.field)) return [3 /*break*/,
|
|
308
|
-
|
|
336
|
+
insert = this.knex(e.$entityName).insert(insertObject);
|
|
337
|
+
if (!remult3_1.isAutoIncrement(this.entity.idMetadata.field)) return [3 /*break*/, 15];
|
|
338
|
+
if (!(this.knex.client.config.client === 'mysql2')) return [3 /*break*/, 12];
|
|
339
|
+
return [4 /*yield*/, insert];
|
|
309
340
|
case 11:
|
|
310
341
|
result = _d.sent();
|
|
311
|
-
newId_1 = result[0]
|
|
312
|
-
resultFilter = new filter_interfaces_1.Filter(function (x) { return x.isEqualTo(_this.entity.idMetadata.field, newId_1); });
|
|
342
|
+
newId_1 = result[0];
|
|
313
343
|
return [3 /*break*/, 14];
|
|
314
|
-
case 12: return [4 /*yield*/, insert];
|
|
344
|
+
case 12: return [4 /*yield*/, insert.returning(this.entity.idMetadata.field.key)];
|
|
315
345
|
case 13:
|
|
316
|
-
_d.sent();
|
|
346
|
+
result = _d.sent();
|
|
347
|
+
newId_1 = result[0].id;
|
|
317
348
|
_d.label = 14;
|
|
318
|
-
case 14:
|
|
349
|
+
case 14:
|
|
350
|
+
resultFilter = new filter_interfaces_1.Filter(function (x) { return x.isEqualTo(_this.entity.idMetadata.field, newId_1); });
|
|
351
|
+
return [3 /*break*/, 17];
|
|
352
|
+
case 15: return [4 /*yield*/, insert];
|
|
353
|
+
case 16:
|
|
354
|
+
_d.sent();
|
|
355
|
+
_d.label = 17;
|
|
356
|
+
case 17: return [2 /*return*/, this.find({ where: resultFilter }).then(function (y) {
|
|
319
357
|
return y[0];
|
|
320
358
|
})];
|
|
321
359
|
}
|
|
@@ -449,16 +487,16 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
|
|
|
449
487
|
};
|
|
450
488
|
FilterConsumerBridgeToKnexRequest.prototype.isNull = function (col) {
|
|
451
489
|
var _this = this;
|
|
452
|
-
this.result.push(function (b) { return b.whereNull(_this.nameProvider
|
|
490
|
+
this.result.push(function (b) { return b.whereNull(_this.nameProvider.$dbNameOf(col)); });
|
|
453
491
|
};
|
|
454
492
|
FilterConsumerBridgeToKnexRequest.prototype.isNotNull = function (col) {
|
|
455
493
|
var _this = this;
|
|
456
|
-
this.result.push(function (b) { return b.whereNotNull(_this.nameProvider
|
|
494
|
+
this.result.push(function (b) { return b.whereNotNull(_this.nameProvider.$dbNameOf(col)); });
|
|
457
495
|
};
|
|
458
496
|
FilterConsumerBridgeToKnexRequest.prototype.isIn = function (col, val) {
|
|
459
497
|
var _this = this;
|
|
460
498
|
this.result.push(function (knex) {
|
|
461
|
-
return knex.whereIn(_this.nameProvider
|
|
499
|
+
return knex.whereIn(_this.nameProvider.$dbNameOf(col), val.map(function (x) { return col.valueConverter.toDb(x); }));
|
|
462
500
|
});
|
|
463
501
|
};
|
|
464
502
|
FilterConsumerBridgeToKnexRequest.prototype.isEqualTo = function (col, val) {
|
|
@@ -481,7 +519,7 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
|
|
|
481
519
|
};
|
|
482
520
|
FilterConsumerBridgeToKnexRequest.prototype.containsCaseInsensitive = function (col, val) {
|
|
483
521
|
var _this = this;
|
|
484
|
-
this.result.push(function (b) { return b.whereRaw('lower (' + _this.nameProvider
|
|
522
|
+
this.result.push(function (b) { return b.whereRaw('lower (' + _this.nameProvider.$dbNameOf(col) + ") like lower ('%" + val.replace(/'/g, '\'\'') + "%')"); });
|
|
485
523
|
this.promises.push((function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
486
524
|
return tslib_1.__generator(this, function (_a) {
|
|
487
525
|
return [2 /*return*/];
|
|
@@ -490,7 +528,7 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
|
|
|
490
528
|
};
|
|
491
529
|
FilterConsumerBridgeToKnexRequest.prototype.add = function (col, val, operator) {
|
|
492
530
|
var _this = this;
|
|
493
|
-
this.result.push(function (b) { return b.where(_this.nameProvider
|
|
531
|
+
this.result.push(function (b) { return b.where(_this.nameProvider.$dbNameOf(col), operator, col.valueConverter.toDb(val)); });
|
|
494
532
|
};
|
|
495
533
|
FilterConsumerBridgeToKnexRequest.prototype.databaseCustom = function (databaseCustom) {
|
|
496
534
|
var _this = this;
|
|
@@ -512,7 +550,6 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
|
|
|
512
550
|
};
|
|
513
551
|
return FilterConsumerBridgeToKnexRequest;
|
|
514
552
|
}());
|
|
515
|
-
exports.FilterConsumerBridgeToKnexRequest = FilterConsumerBridgeToKnexRequest;
|
|
516
553
|
var KnexSchemaBuilder = /** @class */ (function () {
|
|
517
554
|
function KnexSchemaBuilder(knex) {
|
|
518
555
|
this.knex = knex;
|
|
@@ -525,7 +562,10 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
525
562
|
return tslib_1.__generator(this, function (_e) {
|
|
526
563
|
switch (_e.label) {
|
|
527
564
|
case 0:
|
|
528
|
-
|
|
565
|
+
if (!remult)
|
|
566
|
+
remult = remult_proxy_1.RemultProxy.defaultRemult;
|
|
567
|
+
if (KnexSchemaBuilder.logToConsole)
|
|
568
|
+
console.time("Knex Auto create tables and columns");
|
|
529
569
|
_e.label = 1;
|
|
530
570
|
case 1:
|
|
531
571
|
_e.trys.push([1, 12, 13, 14]);
|
|
@@ -552,7 +592,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
552
592
|
case 7: return [3 /*break*/, 10];
|
|
553
593
|
case 8:
|
|
554
594
|
err_2 = _e.sent();
|
|
555
|
-
_b = (_a = console).
|
|
595
|
+
_b = (_a = console).error;
|
|
556
596
|
_c = "failed verify structure of ";
|
|
557
597
|
return [4 /*yield*/, metadata.getDbName()];
|
|
558
598
|
case 9:
|
|
@@ -572,7 +612,10 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
572
612
|
}
|
|
573
613
|
finally { if (e_6) throw e_6.error; }
|
|
574
614
|
return [7 /*endfinally*/];
|
|
575
|
-
case 14:
|
|
615
|
+
case 14:
|
|
616
|
+
if (KnexSchemaBuilder.logToConsole)
|
|
617
|
+
console.timeEnd("Knex Auto create tables and columns");
|
|
618
|
+
return [2 /*return*/];
|
|
576
619
|
}
|
|
577
620
|
});
|
|
578
621
|
});
|
|
@@ -583,10 +626,10 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
583
626
|
var e_7, _c;
|
|
584
627
|
return tslib_1.__generator(this, function (_d) {
|
|
585
628
|
switch (_d.label) {
|
|
586
|
-
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.
|
|
629
|
+
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(entity)];
|
|
587
630
|
case 1:
|
|
588
631
|
e = _d.sent();
|
|
589
|
-
return [4 /*yield*/, this.knex.schema.hasTable(e
|
|
632
|
+
return [4 /*yield*/, this.knex.schema.hasTable(e.$entityName)];
|
|
590
633
|
case 2:
|
|
591
634
|
if (!!(_d.sent())) return [3 /*break*/, 4];
|
|
592
635
|
cols_1 = new Map();
|
|
@@ -594,8 +637,8 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
594
637
|
for (_a = tslib_1.__values(entity.fields), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
595
638
|
f = _b.value;
|
|
596
639
|
cols_1.set(f, {
|
|
597
|
-
name: e
|
|
598
|
-
readonly:
|
|
640
|
+
name: e.$dbNameOf(f),
|
|
641
|
+
readonly: filter_consumer_bridge_to_sql_request_1.isDbReadonly(f, e)
|
|
599
642
|
});
|
|
600
643
|
}
|
|
601
644
|
}
|
|
@@ -606,7 +649,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
606
649
|
}
|
|
607
650
|
finally { if (e_7) throw e_7.error; }
|
|
608
651
|
}
|
|
609
|
-
return [4 /*yield*/, logSql(this.knex.schema.createTable(e
|
|
652
|
+
return [4 /*yield*/, logSql(this.knex.schema.createTable(e.$entityName, function (b) {
|
|
610
653
|
var e_8, _a;
|
|
611
654
|
try {
|
|
612
655
|
for (var _b = tslib_1.__values(entity.fields), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
@@ -643,19 +686,19 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
643
686
|
var e, col, colName;
|
|
644
687
|
return tslib_1.__generator(this, function (_a) {
|
|
645
688
|
switch (_a.label) {
|
|
646
|
-
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.
|
|
689
|
+
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(entity)];
|
|
647
690
|
case 1:
|
|
648
691
|
e = _a.sent();
|
|
649
|
-
if (
|
|
692
|
+
if (filter_consumer_bridge_to_sql_request_1.isDbReadonly(c(entity), e))
|
|
650
693
|
return [2 /*return*/];
|
|
651
694
|
col = c(entity);
|
|
652
|
-
colName = e
|
|
653
|
-
return [4 /*yield*/, this.knex.schema.hasColumn(e
|
|
695
|
+
colName = e.$dbNameOf(col);
|
|
696
|
+
return [4 /*yield*/, this.knex.schema.hasColumn(e.$entityName, colName)];
|
|
654
697
|
case 2:
|
|
655
698
|
if (!!(_a.sent())) return [3 /*break*/, 4];
|
|
656
|
-
return [4 /*yield*/, this.knex.schema.alterTable(e
|
|
699
|
+
return [4 /*yield*/, logSql(this.knex.schema.alterTable(e.$entityName, function (b) {
|
|
657
700
|
buildColumn(col, colName, b);
|
|
658
|
-
})];
|
|
701
|
+
}))];
|
|
659
702
|
case 3:
|
|
660
703
|
_a.sent();
|
|
661
704
|
_a.label = 4;
|
|
@@ -670,7 +713,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
670
713
|
var e_9, _c;
|
|
671
714
|
return tslib_1.__generator(this, function (_d) {
|
|
672
715
|
switch (_d.label) {
|
|
673
|
-
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.
|
|
716
|
+
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(entity)];
|
|
674
717
|
case 1:
|
|
675
718
|
e = _d.sent();
|
|
676
719
|
_d.label = 2;
|
|
@@ -680,7 +723,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
680
723
|
return tslib_1.__generator(this, function (_a) {
|
|
681
724
|
switch (_a.label) {
|
|
682
725
|
case 0:
|
|
683
|
-
if (!!
|
|
726
|
+
if (!!filter_consumer_bridge_to_sql_request_1.isDbReadonly(col, e)) return [3 /*break*/, 2];
|
|
684
727
|
return [4 /*yield*/, this_2.addColumnIfNotExist(entity, function () { return col; })];
|
|
685
728
|
case 1:
|
|
686
729
|
_a.sent();
|
|
@@ -693,7 +736,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
693
736
|
_d.label = 3;
|
|
694
737
|
case 3:
|
|
695
738
|
_d.trys.push([3, 8, 9, 10]);
|
|
696
|
-
_a = tslib_1.__values(entity.fields), _b = _a.next();
|
|
739
|
+
_a = tslib_1.__values(entity.fields.toArray()), _b = _a.next();
|
|
697
740
|
_d.label = 4;
|
|
698
741
|
case 4:
|
|
699
742
|
if (!!_b.done) return [3 /*break*/, 7];
|
|
@@ -726,6 +769,8 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
726
769
|
});
|
|
727
770
|
});
|
|
728
771
|
};
|
|
772
|
+
//@internal
|
|
773
|
+
KnexSchemaBuilder.logToConsole = true;
|
|
729
774
|
return KnexSchemaBuilder;
|
|
730
775
|
}());
|
|
731
776
|
exports.KnexSchemaBuilder = KnexSchemaBuilder;
|
|
@@ -780,7 +825,8 @@ function buildColumn(x, dbName, b) {
|
|
|
780
825
|
}
|
|
781
826
|
exports.buildColumn = buildColumn;
|
|
782
827
|
function logSql(who) {
|
|
783
|
-
|
|
828
|
+
if (KnexSchemaBuilder.logToConsole)
|
|
829
|
+
console.info(who.toSQL());
|
|
784
830
|
return who;
|
|
785
831
|
}
|
|
786
832
|
function createKnexDataProvider(config, autoCreateTables) {
|
|
@@ -789,15 +835,16 @@ function createKnexDataProvider(config, autoCreateTables) {
|
|
|
789
835
|
var k, result;
|
|
790
836
|
return tslib_1.__generator(this, function (_a) {
|
|
791
837
|
switch (_a.label) {
|
|
792
|
-
case 0:
|
|
793
|
-
|
|
838
|
+
case 0: return [4 /*yield*/, Promise.resolve().then(function () { return tslib_1.__importStar(require('knex')); })];
|
|
839
|
+
case 1:
|
|
840
|
+
k = (_a.sent()).default(config);
|
|
794
841
|
result = new KnexDataProvider(k);
|
|
795
|
-
if (!autoCreateTables) return [3 /*break*/,
|
|
842
|
+
if (!autoCreateTables) return [3 /*break*/, 3];
|
|
796
843
|
return [4 /*yield*/, new KnexSchemaBuilder(k).verifyStructureOfAllEntities(new context_1.Remult(result))];
|
|
797
|
-
case
|
|
844
|
+
case 2:
|
|
798
845
|
_a.sent();
|
|
799
|
-
_a.label =
|
|
800
|
-
case
|
|
846
|
+
_a.label = 3;
|
|
847
|
+
case 3: return [2 /*return*/, result];
|
|
801
848
|
}
|
|
802
849
|
});
|
|
803
850
|
});
|
package/remult-mongo.d.ts
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
import { MongoClient, Db } from 'mongodb';
|
|
2
|
-
import { DataProvider, EntityDataProvider, EntityMetadata } from '.';
|
|
1
|
+
import type { MongoClient, Db } from 'mongodb';
|
|
2
|
+
import { DataProvider, EntityDataProvider, EntityFilter, EntityMetadata, Remult } from '.';
|
|
3
|
+
import { RepositoryOverloads } from './src/remult3';
|
|
3
4
|
export declare class MongoDataProvider implements DataProvider {
|
|
4
5
|
private db;
|
|
5
6
|
private client;
|
|
6
7
|
constructor(db: Db, client: MongoClient);
|
|
8
|
+
static getDb(remult?: Remult): Db;
|
|
7
9
|
getEntityDataProvider(entity: EntityMetadata<any>): EntityDataProvider;
|
|
8
10
|
transaction(action: (dataProvider: DataProvider) => Promise<void>): Promise<void>;
|
|
11
|
+
static filterToRaw<entityType>(entity: RepositoryOverloads<entityType>, condition: EntityFilter<entityType>): Promise<{
|
|
12
|
+
$and: any[];
|
|
13
|
+
} | {
|
|
14
|
+
$and?: undefined;
|
|
15
|
+
}>;
|
|
9
16
|
}
|
package/remult-mongo.js
CHANGED
|
@@ -4,11 +4,19 @@ exports.MongoDataProvider = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var _1 = require(".");
|
|
6
6
|
var filter_consumer_bridge_to_sql_request_1 = require("./src/filter/filter-consumer-bridge-to-sql-request");
|
|
7
|
+
var remult3_1 = require("./src/remult3");
|
|
8
|
+
var remult_proxy_1 = require("./src/remult-proxy");
|
|
7
9
|
var MongoDataProvider = /** @class */ (function () {
|
|
8
10
|
function MongoDataProvider(db, client) {
|
|
9
11
|
this.db = db;
|
|
10
12
|
this.client = client;
|
|
11
13
|
}
|
|
14
|
+
MongoDataProvider.getDb = function (remult) {
|
|
15
|
+
var r = (remult || remult_proxy_1.remult).dataProvider;
|
|
16
|
+
if (!r.db)
|
|
17
|
+
throw "the data provider is not a MongoDataProvider";
|
|
18
|
+
return r.db;
|
|
19
|
+
};
|
|
12
20
|
MongoDataProvider.prototype.getEntityDataProvider = function (entity) {
|
|
13
21
|
return new MongoEntityDataProvider(this.db, entity);
|
|
14
22
|
};
|
|
@@ -42,6 +50,30 @@ var MongoDataProvider = /** @class */ (function () {
|
|
|
42
50
|
});
|
|
43
51
|
});
|
|
44
52
|
};
|
|
53
|
+
MongoDataProvider.filterToRaw = function (entity, condition) {
|
|
54
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
55
|
+
var repo, b, _a, r;
|
|
56
|
+
return tslib_1.__generator(this, function (_b) {
|
|
57
|
+
switch (_b.label) {
|
|
58
|
+
case 0:
|
|
59
|
+
repo = remult3_1.getRepository(entity);
|
|
60
|
+
_a = FilterConsumerBridgeToMongo.bind;
|
|
61
|
+
return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(repo.metadata)];
|
|
62
|
+
case 1:
|
|
63
|
+
b = new (_a.apply(FilterConsumerBridgeToMongo, [void 0, _b.sent()]))();
|
|
64
|
+
b._addWhere = false;
|
|
65
|
+
return [4 /*yield*/, (repo.translateWhereToFilter(condition))];
|
|
66
|
+
case 2: return [4 /*yield*/, (_b.sent()).__applyToConsumer(b)];
|
|
67
|
+
case 3:
|
|
68
|
+
_b.sent();
|
|
69
|
+
return [4 /*yield*/, b.resolveWhere()];
|
|
70
|
+
case 4:
|
|
71
|
+
r = _b.sent();
|
|
72
|
+
return [2 /*return*/, r];
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
};
|
|
45
77
|
return MongoDataProvider;
|
|
46
78
|
}());
|
|
47
79
|
exports.MongoDataProvider = MongoDataProvider;
|
|
@@ -60,7 +92,7 @@ var MongoEntityDataProvider = /** @class */ (function () {
|
|
|
60
92
|
try {
|
|
61
93
|
for (var _b = tslib_1.__values(this.entity.fields), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
62
94
|
var col = _c.value;
|
|
63
|
-
var val = row[nameProvider
|
|
95
|
+
var val = row[nameProvider.$dbNameOf(col)];
|
|
64
96
|
if (isNull(val))
|
|
65
97
|
val = null;
|
|
66
98
|
result[col.key] = col.valueConverter.fromDb(val);
|
|
@@ -84,7 +116,7 @@ var MongoEntityDataProvider = /** @class */ (function () {
|
|
|
84
116
|
var val = col.valueConverter.toDb(row[col.key]);
|
|
85
117
|
if (val === null)
|
|
86
118
|
val = NULL;
|
|
87
|
-
result[nameProvider
|
|
119
|
+
result[nameProvider.$dbNameOf(col)] = val;
|
|
88
120
|
}
|
|
89
121
|
}
|
|
90
122
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -143,7 +175,7 @@ var MongoEntityDataProvider = /** @class */ (function () {
|
|
|
143
175
|
try {
|
|
144
176
|
for (_b = tslib_1.__values(options.orderBy.Segments), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
145
177
|
s = _c.value;
|
|
146
|
-
op.sort[e
|
|
178
|
+
op.sort[e.$dbNameOf(s.field)] = s.isDescending ? -1 : 1;
|
|
147
179
|
}
|
|
148
180
|
}
|
|
149
181
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
@@ -267,10 +299,10 @@ var MongoEntityDataProvider = /** @class */ (function () {
|
|
|
267
299
|
var e, collection;
|
|
268
300
|
return tslib_1.__generator(this, function (_a) {
|
|
269
301
|
switch (_a.label) {
|
|
270
|
-
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.
|
|
302
|
+
case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(this.entity)];
|
|
271
303
|
case 1:
|
|
272
304
|
e = _a.sent();
|
|
273
|
-
collection = this.db.collection(e
|
|
305
|
+
collection = this.db.collection(e.$entityName);
|
|
274
306
|
return [2 /*return*/, { e: e, collection: collection }];
|
|
275
307
|
}
|
|
276
308
|
});
|
|
@@ -399,7 +431,7 @@ var FilterConsumerBridgeToMongo = /** @class */ (function () {
|
|
|
399
431
|
this.result.push(function () {
|
|
400
432
|
var _a;
|
|
401
433
|
return (_a = {},
|
|
402
|
-
_a[_this.nameProvider
|
|
434
|
+
_a[_this.nameProvider.$dbNameOf(col)] = {
|
|
403
435
|
$in: val.map(function (x) { return col.valueConverter.toDb(x); })
|
|
404
436
|
},
|
|
405
437
|
_a);
|
|
@@ -435,7 +467,7 @@ var FilterConsumerBridgeToMongo = /** @class */ (function () {
|
|
|
435
467
|
this.result.push(function () {
|
|
436
468
|
var _a, _b;
|
|
437
469
|
return (_a = {},
|
|
438
|
-
_a[_this.nameProvider
|
|
470
|
+
_a[_this.nameProvider.$dbNameOf(col)] = (_b = {}, _b[operator] = isNull(val) ? val : col.valueConverter.toDb(val), _b),
|
|
439
471
|
_a);
|
|
440
472
|
});
|
|
441
473
|
};
|
package/remult-next.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { GetServerSideProps, NextApiRequest, PreviewData, NextApiHandler } from "next";
|
|
3
|
+
import type { ParsedUrlQuery } from "querystring";
|
|
4
|
+
import { RemultServer, RemultServerOptions } from "./server";
|
|
5
|
+
export declare function remultNext(options?: RemultServerOptions<NextApiRequest>): RemultServer & NextApiHandler & {
|
|
6
|
+
getServerSideProps<P extends {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
} = {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}, Q extends ParsedUrlQuery = ParsedUrlQuery, D extends PreviewData = PreviewData>(getServerPropsFunction: GetServerSideProps<P, Q, D>): GetServerSideProps<P, Q, D>;
|
|
11
|
+
};
|
package/remult-next.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.remultNext = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var server_1 = require("./server");
|
|
6
|
+
function remultNext(options) {
|
|
7
|
+
var _this = this;
|
|
8
|
+
var result = server_1.createRemultServer(options);
|
|
9
|
+
return Object.assign(function (req, res) { return result.handle(req, res); }, result, {
|
|
10
|
+
getRemult: function () {
|
|
11
|
+
var args = [];
|
|
12
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
13
|
+
args[_i] = arguments[_i];
|
|
14
|
+
}
|
|
15
|
+
return result.getRemult.apply(result, tslib_1.__spread(args));
|
|
16
|
+
},
|
|
17
|
+
handle: function () {
|
|
18
|
+
var args = [];
|
|
19
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
20
|
+
args[_i] = arguments[_i];
|
|
21
|
+
}
|
|
22
|
+
return result.handle.apply(result, tslib_1.__spread(args));
|
|
23
|
+
},
|
|
24
|
+
openApiDoc: function () {
|
|
25
|
+
var args = [];
|
|
26
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
27
|
+
args[_i] = arguments[_i];
|
|
28
|
+
}
|
|
29
|
+
return result.openApiDoc.apply(result, tslib_1.__spread(args));
|
|
30
|
+
},
|
|
31
|
+
registerRouter: function () {
|
|
32
|
+
var args = [];
|
|
33
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
34
|
+
args[_i] = arguments[_i];
|
|
35
|
+
}
|
|
36
|
+
return result.registerRouter.apply(result, tslib_1.__spread(args));
|
|
37
|
+
},
|
|
38
|
+
withRemult: function () {
|
|
39
|
+
var args = [];
|
|
40
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
41
|
+
args[_i] = arguments[_i];
|
|
42
|
+
}
|
|
43
|
+
return result.withRemult.apply(result, tslib_1.__spread(args));
|
|
44
|
+
},
|
|
45
|
+
}, {
|
|
46
|
+
getServerSideProps: function (getServerPropsFunction) {
|
|
47
|
+
return function (context) {
|
|
48
|
+
return new Promise(function (res, err) {
|
|
49
|
+
result.withRemult(context, undefined, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
50
|
+
var r, e_1;
|
|
51
|
+
return tslib_1.__generator(this, function (_a) {
|
|
52
|
+
switch (_a.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
_a.trys.push([0, 2, , 3]);
|
|
55
|
+
return [4 /*yield*/, getServerPropsFunction(context)];
|
|
56
|
+
case 1:
|
|
57
|
+
r = _a.sent();
|
|
58
|
+
res(JSON.parse(JSON.stringify(r)));
|
|
59
|
+
return [3 /*break*/, 3];
|
|
60
|
+
case 2:
|
|
61
|
+
e_1 = _a.sent();
|
|
62
|
+
err(e_1);
|
|
63
|
+
return [3 /*break*/, 3];
|
|
64
|
+
case 3: return [2 /*return*/];
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}); });
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
exports.remultNext = remultNext;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JsonFileDataProvider = exports.JsonEntityFileStorage = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var path = require("path");
|
|
6
|
-
var fs = require("fs");
|
|
5
|
+
var path = tslib_1.__importStar(require("path"));
|
|
6
|
+
var fs = tslib_1.__importStar(require("fs"));
|
|
7
7
|
var index_1 = require("../index");
|
|
8
8
|
var JsonEntityFileStorage = /** @class */ (function () {
|
|
9
9
|
function JsonEntityFileStorage(folderPath) {
|