remult 3.3.18-next.0 → 3.3.18
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/esm/internals.js +0 -1
- package/esm/server/initAsyncHooks.js +3 -7
- package/esm/server/test-api-data-provider.js +0 -1
- package/esm/src/context.js +7 -66
- package/esm/src/data-providers/array-entity-data-provider.js +8 -2
- package/esm/src/remult-proxy.js +0 -4
- package/internals.d.ts +0 -1
- package/internals.js +1 -3
- package/package.json +1 -1
- package/server/initAsyncHooks.d.ts +11 -15
- package/server/initAsyncHooks.js +15 -13
- package/server/test-api-data-provider.js +0 -1
- package/src/context.d.ts +12 -37
- package/src/context.js +21 -114
- package/src/data-providers/array-entity-data-provider.js +8 -2
- package/src/remult-proxy.js +0 -8
package/esm/internals.js
CHANGED
|
@@ -9,4 +9,3 @@ export { isOfType } from './src/isOfType.js';
|
|
|
9
9
|
export { flags } from './src/remult3/remult3.js';
|
|
10
10
|
export { DataProviderPromiseWrapper } from './src/data-interfaces.js';
|
|
11
11
|
export { pagedQueryResult } from './src/remult3/pagedQueryResult.js';
|
|
12
|
-
export { withFetch } from './src/context.js';
|
|
@@ -16,7 +16,7 @@ export function initAsyncHooks() {
|
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
export class
|
|
19
|
+
export class AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl {
|
|
20
20
|
asyncLocalStorage = new AsyncLocalStorage();
|
|
21
21
|
wasImplemented = 'yes';
|
|
22
22
|
run(store, callback) {
|
|
@@ -36,14 +36,8 @@ export class AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore {
|
|
|
36
36
|
getStore() {
|
|
37
37
|
return this.asyncLocalStorage.getStore();
|
|
38
38
|
}
|
|
39
|
-
createDataProviderAsyncLocalStorage() {
|
|
40
|
-
return new AsyncLocalStorage();
|
|
41
|
-
}
|
|
42
39
|
}
|
|
43
40
|
export class StubRemultAsyncLocalStorageCore {
|
|
44
|
-
createDataProviderAsyncLocalStorage() {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
41
|
isStub = true;
|
|
48
42
|
wasImplemented = 'yes';
|
|
49
43
|
async run(store, callback) {
|
|
@@ -56,3 +50,5 @@ export class StubRemultAsyncLocalStorageCore {
|
|
|
56
50
|
lastPromise = Promise.resolve(undefined);
|
|
57
51
|
currentValue;
|
|
58
52
|
}
|
|
53
|
+
export class AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore extends AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl {
|
|
54
|
+
}
|
package/esm/src/context.js
CHANGED
|
@@ -45,9 +45,6 @@ export class RemultAsyncLocalStorage {
|
|
|
45
45
|
if (val || this.remultObjectStorage?.isStub)
|
|
46
46
|
store.inInitRequest = val;
|
|
47
47
|
}
|
|
48
|
-
createDataProviderAsyncLocalStorage() {
|
|
49
|
-
return this.remultObjectStorage?.createDataProviderAsyncLocalStorage();
|
|
50
|
-
}
|
|
51
48
|
getStore() {
|
|
52
49
|
if (!this.remultObjectStorage) {
|
|
53
50
|
throw new Error("can't use static remult in this environment, `async_hooks` were not initialized");
|
|
@@ -186,15 +183,8 @@ export class Remult {
|
|
|
186
183
|
httpClient: fetch,
|
|
187
184
|
}));
|
|
188
185
|
}
|
|
189
|
-
/* @internal */
|
|
190
|
-
_myDataProviderStore = new RemultInstanceDataProviderStore(new RestDataProvider(() => this.apiClient));
|
|
191
186
|
/** The current data provider */
|
|
192
|
-
|
|
193
|
-
this._myDataProviderStore.getStore().dataProvider = dataProvider;
|
|
194
|
-
}
|
|
195
|
-
get dataProvider() {
|
|
196
|
-
return this._myDataProviderStore.getStore().dataProvider;
|
|
197
|
-
}
|
|
187
|
+
dataProvider = new RestDataProvider(() => this.apiClient);
|
|
198
188
|
/* @internal */
|
|
199
189
|
repCache = new Map();
|
|
200
190
|
constructor(provider) {
|
|
@@ -321,11 +311,10 @@ export async function doTransaction(remult, what) {
|
|
|
321
311
|
const prev = remult.dataProvider;
|
|
322
312
|
try {
|
|
323
313
|
await remult.dataProvider.transaction(async (ds) => {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
});
|
|
314
|
+
remult.dataProvider = ds;
|
|
315
|
+
remult.liveQueryPublisher = trans;
|
|
316
|
+
await what(ds);
|
|
317
|
+
ok = true;
|
|
329
318
|
});
|
|
330
319
|
if (ok)
|
|
331
320
|
await trans.flush();
|
|
@@ -369,54 +358,6 @@ class transactionLiveQueryPublisher {
|
|
|
369
358
|
}
|
|
370
359
|
export async function withRemult(callback, options) {
|
|
371
360
|
const remult = new Remult();
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
return await callback(r);
|
|
375
|
-
});
|
|
376
|
-
}
|
|
377
|
-
export class RemultInstanceDataProviderStore {
|
|
378
|
-
constructor(dataProvider) {
|
|
379
|
-
this._myDataProviderStore = { dataProvider };
|
|
380
|
-
}
|
|
381
|
-
_myDataProviderStore;
|
|
382
|
-
getStore = () => this._myDataProviderStore;
|
|
383
|
-
asyncStore;
|
|
384
|
-
async withDataProvider(dataProvider, callback) {
|
|
385
|
-
if (!this.asyncStore) {
|
|
386
|
-
this.asyncStore =
|
|
387
|
-
remultStatic.asyncContext.createDataProviderAsyncLocalStorage();
|
|
388
|
-
if (this.asyncStore) {
|
|
389
|
-
this.getStore = () => this.asyncStore.getStore() ?? this._myDataProviderStore;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
if (this.asyncStore) {
|
|
393
|
-
return this.asyncStore.run({ dataProvider }, async () => {
|
|
394
|
-
return await callback();
|
|
395
|
-
});
|
|
396
|
-
}
|
|
397
|
-
else {
|
|
398
|
-
const prev = this._myDataProviderStore;
|
|
399
|
-
try {
|
|
400
|
-
this._myDataProviderStore = { dataProvider };
|
|
401
|
-
return await callback();
|
|
402
|
-
}
|
|
403
|
-
finally {
|
|
404
|
-
this._myDataProviderStore = prev;
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
export function withRemultDataProvider({ dataProvider, remult }, callback) {
|
|
410
|
-
remult = remult ?? remultStatic.remultFactory();
|
|
411
|
-
return remult._myDataProviderStore.withDataProvider(dataProvider, callback);
|
|
412
|
-
}
|
|
413
|
-
export function withFetch(fetch, callback) {
|
|
414
|
-
const remult = remultStatic.remultFactory();
|
|
415
|
-
return withRemultDataProvider({
|
|
416
|
-
remult,
|
|
417
|
-
dataProvider: new RestDataProvider(() => ({
|
|
418
|
-
...remult.apiClient,
|
|
419
|
-
httpClient: fetch,
|
|
420
|
-
})),
|
|
421
|
-
}, callback);
|
|
361
|
+
remult.dataProvider = await initDataProvider(options?.dataProvider, true, async () => remult.dataProvider);
|
|
362
|
+
return remultStatic.asyncContext.run(remult, (r) => callback(r));
|
|
422
363
|
}
|
|
@@ -267,8 +267,14 @@ export class ArrayEntityDataProvider {
|
|
|
267
267
|
translateToJson(row, dbNames) {
|
|
268
268
|
let result = {};
|
|
269
269
|
for (const col of this.entity.fields) {
|
|
270
|
-
if (!isDbReadonly(col, dbNames))
|
|
271
|
-
|
|
270
|
+
if (!isDbReadonly(col, dbNames)) {
|
|
271
|
+
let val = row[col.key];
|
|
272
|
+
if (val === undefined) {
|
|
273
|
+
if (col.allowNull)
|
|
274
|
+
val = null;
|
|
275
|
+
}
|
|
276
|
+
result[dbNames.$dbNameOf(col)] = col.valueConverter.toJson(val);
|
|
277
|
+
}
|
|
272
278
|
}
|
|
273
279
|
return result;
|
|
274
280
|
}
|
package/esm/src/remult-proxy.js
CHANGED
|
@@ -215,9 +215,5 @@ export class RemultProxy {
|
|
|
215
215
|
set subscriptionServer(value) {
|
|
216
216
|
remultStatic.remultFactory().subscriptionServer = value;
|
|
217
217
|
}
|
|
218
|
-
/** @internal */
|
|
219
|
-
get _myDataProviderStore() {
|
|
220
|
-
return remultStatic.remultFactory()._myDataProviderStore;
|
|
221
|
-
}
|
|
222
218
|
}
|
|
223
219
|
export const remult = new RemultProxy();
|
package/internals.d.ts
CHANGED
|
@@ -17,4 +17,3 @@ export type { ClassType } from './classType.js';
|
|
|
17
17
|
export { flags } from './src/remult3/remult3.js';
|
|
18
18
|
export { DataProviderPromiseWrapper } from './src/data-interfaces.js';
|
|
19
19
|
export { pagedQueryResult } from './src/remult3/pagedQueryResult.js';
|
|
20
|
-
export { withFetch } from './src/context.js';
|
package/internals.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.pagedQueryResult = exports.DataProviderPromiseWrapper = exports.flags = exports.isOfType = exports.actionInfo = exports.__updateEntityBasedOnWhere = exports.getEntitySettings = exports.fieldOptionsEnricher = exports.getControllerRef = exports.controllerRefImpl = exports.decorateColumnSettings = exports.getRelationFieldInfo = exports.getRelationInfo = exports.sqlRelationsFilter = exports.sqlRelations = void 0;
|
|
4
4
|
var remult_static_js_1 = require("./src/remult-static.js");
|
|
5
5
|
var sql_relations_js_1 = require("./src/data-providers/sql-relations.js");
|
|
6
6
|
Object.defineProperty(exports, "sqlRelations", { enumerable: true, get: function () { return sql_relations_js_1.sqlRelations; } });
|
|
@@ -26,5 +26,3 @@ var data_interfaces_js_1 = require("./src/data-interfaces.js");
|
|
|
26
26
|
Object.defineProperty(exports, "DataProviderPromiseWrapper", { enumerable: true, get: function () { return data_interfaces_js_1.DataProviderPromiseWrapper; } });
|
|
27
27
|
var pagedQueryResult_js_1 = require("./src/remult3/pagedQueryResult.js");
|
|
28
28
|
Object.defineProperty(exports, "pagedQueryResult", { enumerable: true, get: function () { return pagedQueryResult_js_1.pagedQueryResult; } });
|
|
29
|
-
var context_js_1 = require("./src/context.js");
|
|
30
|
-
Object.defineProperty(exports, "withFetch", { enumerable: true, get: function () { return context_js_1.withFetch; } });
|
package/package.json
CHANGED
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type RemultAsyncLocalStorageCore, type RemultInAsyncLocalStorage } from '../src/context.js';
|
|
3
|
-
import type { DataProvider } from '../src/data-interfaces.js';
|
|
1
|
+
import { type RemultAsyncLocalStorageCore } from '../src/context.js';
|
|
4
2
|
export declare function initAsyncHooks(): void;
|
|
5
|
-
export declare class
|
|
3
|
+
export declare class AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl<T> implements RemultAsyncLocalStorageCore<T> {
|
|
6
4
|
private asyncLocalStorage;
|
|
7
5
|
wasImplemented: "yes";
|
|
8
|
-
run<R>(store:
|
|
9
|
-
getStore():
|
|
10
|
-
createDataProviderAsyncLocalStorage(): AsyncLocalStorage<{
|
|
11
|
-
dataProvider: DataProvider;
|
|
12
|
-
}>;
|
|
6
|
+
run<R>(store: T, callback: () => Promise<R>): Promise<R>;
|
|
7
|
+
getStore(): T | undefined;
|
|
13
8
|
}
|
|
14
|
-
export declare class StubRemultAsyncLocalStorageCore implements RemultAsyncLocalStorageCore {
|
|
15
|
-
createDataProviderAsyncLocalStorage(): undefined;
|
|
9
|
+
export declare class StubRemultAsyncLocalStorageCore<T> implements RemultAsyncLocalStorageCore<T> {
|
|
16
10
|
isStub: boolean;
|
|
17
11
|
wasImplemented: "yes";
|
|
18
|
-
run<R>(store:
|
|
19
|
-
getStore():
|
|
20
|
-
lastPromise: Promise<
|
|
21
|
-
currentValue?:
|
|
12
|
+
run<R>(store: T, callback: () => Promise<R>): Promise<R>;
|
|
13
|
+
getStore(): T | undefined;
|
|
14
|
+
lastPromise: Promise<T | undefined>;
|
|
15
|
+
currentValue?: T;
|
|
16
|
+
}
|
|
17
|
+
export declare class AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore<T> extends AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl<T> {
|
|
22
18
|
}
|
package/server/initAsyncHooks.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StubRemultAsyncLocalStorageCore = exports.
|
|
3
|
+
exports.AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore = exports.StubRemultAsyncLocalStorageCore = exports.AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl = void 0;
|
|
4
4
|
exports.initAsyncHooks = initAsyncHooks;
|
|
5
5
|
var tslib_1 = require("tslib");
|
|
6
6
|
var async_hooks_1 = require("async_hooks");
|
|
@@ -29,12 +29,12 @@ function initAsyncHooks() {
|
|
|
29
29
|
});
|
|
30
30
|
}); });
|
|
31
31
|
}
|
|
32
|
-
var
|
|
33
|
-
function
|
|
32
|
+
var AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl = /** @class */ (function () {
|
|
33
|
+
function AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl() {
|
|
34
34
|
this.asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
|
|
35
35
|
this.wasImplemented = 'yes';
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl.prototype.run = function (store, callback) {
|
|
38
38
|
var _this = this;
|
|
39
39
|
var r;
|
|
40
40
|
this.asyncLocalStorage.run(store, function () {
|
|
@@ -60,24 +60,18 @@ var AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore = /** @class */ (functi
|
|
|
60
60
|
});
|
|
61
61
|
return r;
|
|
62
62
|
};
|
|
63
|
-
|
|
63
|
+
AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl.prototype.getStore = function () {
|
|
64
64
|
return this.asyncLocalStorage.getStore();
|
|
65
65
|
};
|
|
66
|
-
|
|
67
|
-
return new async_hooks_1.AsyncLocalStorage();
|
|
68
|
-
};
|
|
69
|
-
return AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore;
|
|
66
|
+
return AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl;
|
|
70
67
|
}());
|
|
71
|
-
exports.
|
|
68
|
+
exports.AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl = AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl;
|
|
72
69
|
var StubRemultAsyncLocalStorageCore = /** @class */ (function () {
|
|
73
70
|
function StubRemultAsyncLocalStorageCore() {
|
|
74
71
|
this.isStub = true;
|
|
75
72
|
this.wasImplemented = 'yes';
|
|
76
73
|
this.lastPromise = Promise.resolve(undefined);
|
|
77
74
|
}
|
|
78
|
-
StubRemultAsyncLocalStorageCore.prototype.createDataProviderAsyncLocalStorage = function () {
|
|
79
|
-
return undefined;
|
|
80
|
-
};
|
|
81
75
|
StubRemultAsyncLocalStorageCore.prototype.run = function (store, callback) {
|
|
82
76
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
83
77
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -96,3 +90,11 @@ var StubRemultAsyncLocalStorageCore = /** @class */ (function () {
|
|
|
96
90
|
return StubRemultAsyncLocalStorageCore;
|
|
97
91
|
}());
|
|
98
92
|
exports.StubRemultAsyncLocalStorageCore = StubRemultAsyncLocalStorageCore;
|
|
93
|
+
var AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore = /** @class */ (function (_super) {
|
|
94
|
+
tslib_1.__extends(AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore, _super);
|
|
95
|
+
function AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore() {
|
|
96
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
97
|
+
}
|
|
98
|
+
return AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore;
|
|
99
|
+
}(AsyncLocalStorageBridgeToRemultAsyncLocalStorageCoreImpl));
|
|
100
|
+
exports.AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore = AsyncLocalStorageBridgeToRemultAsyncLocalStorageCore;
|
|
@@ -161,7 +161,6 @@ function MakeServerCallWithDifferentStaticRemult(what) {
|
|
|
161
161
|
store.remult.user = user;
|
|
162
162
|
return callback();
|
|
163
163
|
},
|
|
164
|
-
createDataProviderAsyncLocalStorage: function () { return undefined; },
|
|
165
164
|
wasImplemented: 'yes',
|
|
166
165
|
});
|
|
167
166
|
return [4 /*yield*/, what()];
|
package/src/context.d.ts
CHANGED
|
@@ -8,31 +8,23 @@ export declare class RemultAsyncLocalStorage {
|
|
|
8
8
|
private readonly remultObjectStorage;
|
|
9
9
|
static enable(): void;
|
|
10
10
|
static disable(): void;
|
|
11
|
-
constructor(remultObjectStorage: RemultAsyncLocalStorageCore
|
|
11
|
+
constructor(remultObjectStorage: RemultAsyncLocalStorageCore<{
|
|
12
|
+
remult: Remult;
|
|
13
|
+
inInitRequest?: boolean;
|
|
14
|
+
}> | undefined);
|
|
12
15
|
run<T>(remult: Remult, callback: (remult: Remult) => Promise<T>): Promise<T>;
|
|
13
16
|
isInInitRequest(): boolean | undefined;
|
|
14
17
|
setInInitRequest(val: boolean): void;
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
getStore(): {
|
|
19
|
+
remult: Remult;
|
|
20
|
+
inInitRequest?: boolean;
|
|
21
|
+
} | undefined;
|
|
17
22
|
}
|
|
18
|
-
export type RemultAsyncLocalStorageCore = {
|
|
19
|
-
run<R>(store:
|
|
20
|
-
getStore():
|
|
23
|
+
export type RemultAsyncLocalStorageCore<T> = {
|
|
24
|
+
run<R>(store: T, callback: () => Promise<R>): Promise<R>;
|
|
25
|
+
getStore(): T | undefined;
|
|
21
26
|
wasImplemented: 'yes';
|
|
22
27
|
isStub?: boolean;
|
|
23
|
-
createDataProviderAsyncLocalStorage(): DataProviderAsyncLocalStorage | undefined;
|
|
24
|
-
};
|
|
25
|
-
export type RemultInAsyncLocalStorage = {
|
|
26
|
-
remult: Remult;
|
|
27
|
-
inInitRequest?: boolean;
|
|
28
|
-
};
|
|
29
|
-
export type DataProviderAsyncLocalStorage = {
|
|
30
|
-
run<R>(data: {
|
|
31
|
-
dataProvider: DataProvider;
|
|
32
|
-
}, callback: () => Promise<R>): Promise<R>;
|
|
33
|
-
getStore(): {
|
|
34
|
-
dataProvider: DataProvider;
|
|
35
|
-
} | undefined;
|
|
36
28
|
};
|
|
37
29
|
export declare function isBackend(): boolean;
|
|
38
30
|
export declare class Remult {
|
|
@@ -80,8 +72,7 @@ export declare class Remult {
|
|
|
80
72
|
*/
|
|
81
73
|
useFetch(fetch: ApiClient['httpClient']): void;
|
|
82
74
|
/** The current data provider */
|
|
83
|
-
|
|
84
|
-
get dataProvider(): DataProvider;
|
|
75
|
+
dataProvider: DataProvider;
|
|
85
76
|
/** Creates a new instance of the `remult` object.
|
|
86
77
|
*
|
|
87
78
|
* Can receive either an HttpProvider or a DataProvider as a parameter - which will be used to fetch data from.
|
|
@@ -259,19 +250,3 @@ export declare function doTransaction(remult: Remult, what: (dp: DataProvider) =
|
|
|
259
250
|
export declare function withRemult<T>(callback: (remult: Remult) => Promise<T>, options?: {
|
|
260
251
|
dataProvider?: DataProvider | Promise<DataProvider> | (() => Promise<DataProvider | undefined>);
|
|
261
252
|
}): Promise<T>;
|
|
262
|
-
export declare class RemultInstanceDataProviderStore {
|
|
263
|
-
constructor(dataProvider: DataProvider);
|
|
264
|
-
_myDataProviderStore: {
|
|
265
|
-
dataProvider: DataProvider;
|
|
266
|
-
};
|
|
267
|
-
getStore: () => {
|
|
268
|
-
dataProvider: DataProvider;
|
|
269
|
-
};
|
|
270
|
-
asyncStore?: DataProviderAsyncLocalStorage;
|
|
271
|
-
withDataProvider<T>(dataProvider: DataProvider, callback: () => Promise<T>): Promise<T>;
|
|
272
|
-
}
|
|
273
|
-
export declare function withRemultDataProvider<T>({ dataProvider, remult }: {
|
|
274
|
-
dataProvider: DataProvider;
|
|
275
|
-
remult?: Remult;
|
|
276
|
-
}, callback: () => Promise<T>): Promise<T>;
|
|
277
|
-
export declare function withFetch<T>(fetch: ApiClient['httpClient'], callback: () => Promise<T>): Promise<T>;
|
package/src/context.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.EventSource = exports.queryConfig = exports.Allow = exports.ClassHelper = exports.Remult = exports.RemultAsyncLocalStorage = void 0;
|
|
4
4
|
exports.isBackend = isBackend;
|
|
5
5
|
exports.setControllerSettings = setControllerSettings;
|
|
6
6
|
exports.doTransaction = doTransaction;
|
|
7
7
|
exports.withRemult = withRemult;
|
|
8
|
-
exports.withRemultDataProvider = withRemultDataProvider;
|
|
9
|
-
exports.withFetch = withFetch;
|
|
10
8
|
var tslib_1 = require("tslib");
|
|
11
9
|
var data_interfaces_js_1 = require("./data-interfaces.js");
|
|
12
10
|
var rest_data_provider_js_1 = require("./data-providers/rest-data-provider.js");
|
|
@@ -61,10 +59,6 @@ var RemultAsyncLocalStorage = /** @class */ (function () {
|
|
|
61
59
|
if (val || ((_b = this.remultObjectStorage) === null || _b === void 0 ? void 0 : _b.isStub))
|
|
62
60
|
store.inInitRequest = val;
|
|
63
61
|
};
|
|
64
|
-
RemultAsyncLocalStorage.prototype.createDataProviderAsyncLocalStorage = function () {
|
|
65
|
-
var _a;
|
|
66
|
-
return (_a = this.remultObjectStorage) === null || _a === void 0 ? void 0 : _a.createDataProviderAsyncLocalStorage();
|
|
67
|
-
};
|
|
68
62
|
RemultAsyncLocalStorage.prototype.getStore = function () {
|
|
69
63
|
if (!this.remultObjectStorage) {
|
|
70
64
|
throw new Error("can't use static remult in this environment, `async_hooks` were not initialized");
|
|
@@ -115,8 +109,8 @@ var Remult = /** @class */ (function () {
|
|
|
115
109
|
}
|
|
116
110
|
return r;
|
|
117
111
|
};
|
|
118
|
-
|
|
119
|
-
this.
|
|
112
|
+
/** The current data provider */
|
|
113
|
+
this.dataProvider = new rest_data_provider_js_1.RestDataProvider(function () { return _this.apiClient; });
|
|
120
114
|
/* @internal */
|
|
121
115
|
this.repCache = new Map();
|
|
122
116
|
/* @internal*/
|
|
@@ -293,17 +287,6 @@ var Remult = /** @class */ (function () {
|
|
|
293
287
|
httpClient: fetch,
|
|
294
288
|
}); });
|
|
295
289
|
};
|
|
296
|
-
Object.defineProperty(Remult.prototype, "dataProvider", {
|
|
297
|
-
get: function () {
|
|
298
|
-
return this._myDataProviderStore.getStore().dataProvider;
|
|
299
|
-
},
|
|
300
|
-
/** The current data provider */
|
|
301
|
-
set: function (dataProvider) {
|
|
302
|
-
this._myDataProviderStore.getStore().dataProvider = dataProvider;
|
|
303
|
-
},
|
|
304
|
-
enumerable: false,
|
|
305
|
-
configurable: true
|
|
306
|
-
});
|
|
307
290
|
//@ts-ignore // type error of typescript regarding args that doesn't appear in my normal development
|
|
308
291
|
/** Used to call a `backendMethod` using a specific `remult` object
|
|
309
292
|
* @example
|
|
@@ -451,24 +434,15 @@ function doTransaction(remult, what) {
|
|
|
451
434
|
case 1:
|
|
452
435
|
_a.trys.push([1, , 5, 6]);
|
|
453
436
|
return [4 /*yield*/, remult.dataProvider.transaction(function (ds) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
454
|
-
var _this = this;
|
|
455
437
|
return tslib_1.__generator(this, function (_a) {
|
|
456
438
|
switch (_a.label) {
|
|
457
|
-
case 0:
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
remult.liveQueryPublisher = trans;
|
|
462
|
-
return [4 /*yield*/, what(ds)];
|
|
463
|
-
case 1:
|
|
464
|
-
_a.sent();
|
|
465
|
-
ok = true;
|
|
466
|
-
return [2 /*return*/];
|
|
467
|
-
}
|
|
468
|
-
});
|
|
469
|
-
}); })];
|
|
439
|
+
case 0:
|
|
440
|
+
remult.dataProvider = ds;
|
|
441
|
+
remult.liveQueryPublisher = trans;
|
|
442
|
+
return [4 /*yield*/, what(ds)];
|
|
470
443
|
case 1:
|
|
471
444
|
_a.sent();
|
|
445
|
+
ok = true;
|
|
472
446
|
return [2 /*return*/];
|
|
473
447
|
}
|
|
474
448
|
});
|
|
@@ -575,87 +549,20 @@ var transactionLiveQueryPublisher = /** @class */ (function () {
|
|
|
575
549
|
}());
|
|
576
550
|
function withRemult(callback, options) {
|
|
577
551
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
578
|
-
var remult;
|
|
552
|
+
var remult, _a;
|
|
579
553
|
var _this = this;
|
|
580
|
-
return tslib_1.__generator(this, function (
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
return tslib_1.__generator(this, function (
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
case 1:
|
|
593
|
-
_a.dataProvider = _b.sent();
|
|
594
|
-
return [4 /*yield*/, callback(r)];
|
|
595
|
-
case 2: return [2 /*return*/, _b.sent()];
|
|
596
|
-
}
|
|
597
|
-
});
|
|
598
|
-
}); })];
|
|
554
|
+
return tslib_1.__generator(this, function (_b) {
|
|
555
|
+
switch (_b.label) {
|
|
556
|
+
case 0:
|
|
557
|
+
remult = new Remult();
|
|
558
|
+
_a = remult;
|
|
559
|
+
return [4 /*yield*/, (0, initDataProvider_js_1.initDataProvider)(options === null || options === void 0 ? void 0 : options.dataProvider, true, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
560
|
+
return [2 /*return*/, remult.dataProvider];
|
|
561
|
+
}); }); })];
|
|
562
|
+
case 1:
|
|
563
|
+
_a.dataProvider = _b.sent();
|
|
564
|
+
return [2 /*return*/, remult_static_js_1.remultStatic.asyncContext.run(remult, function (r) { return callback(r); })];
|
|
565
|
+
}
|
|
599
566
|
});
|
|
600
567
|
});
|
|
601
568
|
}
|
|
602
|
-
var RemultInstanceDataProviderStore = /** @class */ (function () {
|
|
603
|
-
function RemultInstanceDataProviderStore(dataProvider) {
|
|
604
|
-
var _this = this;
|
|
605
|
-
this.getStore = function () { return _this._myDataProviderStore; };
|
|
606
|
-
this._myDataProviderStore = { dataProvider: dataProvider };
|
|
607
|
-
}
|
|
608
|
-
RemultInstanceDataProviderStore.prototype.withDataProvider = function (dataProvider, callback) {
|
|
609
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
610
|
-
var prev;
|
|
611
|
-
var _this = this;
|
|
612
|
-
return tslib_1.__generator(this, function (_a) {
|
|
613
|
-
switch (_a.label) {
|
|
614
|
-
case 0:
|
|
615
|
-
if (!this.asyncStore) {
|
|
616
|
-
this.asyncStore =
|
|
617
|
-
remult_static_js_1.remultStatic.asyncContext.createDataProviderAsyncLocalStorage();
|
|
618
|
-
if (this.asyncStore) {
|
|
619
|
-
this.getStore = function () { var _a; return (_a = _this.asyncStore.getStore()) !== null && _a !== void 0 ? _a : _this._myDataProviderStore; };
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
if (!this.asyncStore) return [3 /*break*/, 1];
|
|
623
|
-
return [2 /*return*/, this.asyncStore.run({ dataProvider: dataProvider }, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
624
|
-
return tslib_1.__generator(this, function (_a) {
|
|
625
|
-
switch (_a.label) {
|
|
626
|
-
case 0: return [4 /*yield*/, callback()];
|
|
627
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
628
|
-
}
|
|
629
|
-
});
|
|
630
|
-
}); })];
|
|
631
|
-
case 1:
|
|
632
|
-
prev = this._myDataProviderStore;
|
|
633
|
-
_a.label = 2;
|
|
634
|
-
case 2:
|
|
635
|
-
_a.trys.push([2, , 4, 5]);
|
|
636
|
-
this._myDataProviderStore = { dataProvider: dataProvider };
|
|
637
|
-
return [4 /*yield*/, callback()];
|
|
638
|
-
case 3: return [2 /*return*/, _a.sent()];
|
|
639
|
-
case 4:
|
|
640
|
-
this._myDataProviderStore = prev;
|
|
641
|
-
return [7 /*endfinally*/];
|
|
642
|
-
case 5: return [2 /*return*/];
|
|
643
|
-
}
|
|
644
|
-
});
|
|
645
|
-
});
|
|
646
|
-
};
|
|
647
|
-
return RemultInstanceDataProviderStore;
|
|
648
|
-
}());
|
|
649
|
-
exports.RemultInstanceDataProviderStore = RemultInstanceDataProviderStore;
|
|
650
|
-
function withRemultDataProvider(_a, callback) {
|
|
651
|
-
var dataProvider = _a.dataProvider, remult = _a.remult;
|
|
652
|
-
remult = remult !== null && remult !== void 0 ? remult : remult_static_js_1.remultStatic.remultFactory();
|
|
653
|
-
return remult._myDataProviderStore.withDataProvider(dataProvider, callback);
|
|
654
|
-
}
|
|
655
|
-
function withFetch(fetch, callback) {
|
|
656
|
-
var remult = remult_static_js_1.remultStatic.remultFactory();
|
|
657
|
-
return withRemultDataProvider({
|
|
658
|
-
remult: remult,
|
|
659
|
-
dataProvider: new rest_data_provider_js_1.RestDataProvider(function () { return (tslib_1.__assign(tslib_1.__assign({}, remult.apiClient), { httpClient: fetch })); }),
|
|
660
|
-
}, callback);
|
|
661
|
-
}
|
|
@@ -441,8 +441,14 @@ var ArrayEntityDataProvider = /** @class */ (function () {
|
|
|
441
441
|
try {
|
|
442
442
|
for (var _b = tslib_1.__values(this.entity.fields), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
443
443
|
var col = _c.value;
|
|
444
|
-
if (!(0, filter_consumer_bridge_to_sql_request_js_1.isDbReadonly)(col, dbNames))
|
|
445
|
-
|
|
444
|
+
if (!(0, filter_consumer_bridge_to_sql_request_js_1.isDbReadonly)(col, dbNames)) {
|
|
445
|
+
var val = row[col.key];
|
|
446
|
+
if (val === undefined) {
|
|
447
|
+
if (col.allowNull)
|
|
448
|
+
val = null;
|
|
449
|
+
}
|
|
450
|
+
result[dbNames.$dbNameOf(col)] = col.valueConverter.toJson(val);
|
|
451
|
+
}
|
|
446
452
|
}
|
|
447
453
|
}
|
|
448
454
|
catch (e_13_1) { e_13 = { error: e_13_1 }; }
|
package/src/remult-proxy.js
CHANGED
|
@@ -379,14 +379,6 @@ var RemultProxy = /** @class */ (function () {
|
|
|
379
379
|
enumerable: false,
|
|
380
380
|
configurable: true
|
|
381
381
|
});
|
|
382
|
-
Object.defineProperty(RemultProxy.prototype, "_myDataProviderStore", {
|
|
383
|
-
/** @internal */
|
|
384
|
-
get: function () {
|
|
385
|
-
return remult_static_js_1.remultStatic.remultFactory()._myDataProviderStore;
|
|
386
|
-
},
|
|
387
|
-
enumerable: false,
|
|
388
|
-
configurable: true
|
|
389
|
-
});
|
|
390
382
|
return RemultProxy;
|
|
391
383
|
}());
|
|
392
384
|
exports.RemultProxy = RemultProxy;
|