@forestadmin/datasource-customizer 1.5.12 → 1.6.0
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.
|
@@ -7,7 +7,13 @@ const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
|
7
7
|
const deduplication_1 = __importDefault(require("../utils/deduplication"));
|
|
8
8
|
const flattener_1 = require("../utils/flattener");
|
|
9
9
|
async function computeField(ctx, computed, paths, promises) {
|
|
10
|
-
return (0, deduplication_1.default)((0, flattener_1.unflatten)(await Promise.all(promises), paths),
|
|
10
|
+
return (0, deduplication_1.default)((0, flattener_1.unflatten)(await Promise.all(promises), paths),
|
|
11
|
+
// Customer can return the following:
|
|
12
|
+
// - an array of values [value, value, ...]
|
|
13
|
+
// - an array of promises: [Promise<value>, Promise<value>, ...]
|
|
14
|
+
// - a promise of an array of values: Promise<[value, value, ...]>
|
|
15
|
+
// - a promise of an array of promises: Promise<[Promise<value>, Promise<value>, ...]>
|
|
16
|
+
async (uniquePartials) => Promise.all(await computed.getValues(uniquePartials, ctx)));
|
|
11
17
|
}
|
|
12
18
|
function queueField(ctx, collection, newPath, paths, promises) {
|
|
13
19
|
// Skip double computations (we're not checking before adding to queue).
|
|
@@ -35,4 +41,4 @@ async function computeFromRecords(ctx, collection, recordsProjection, desiredPro
|
|
|
35
41
|
return (0, flattener_1.unflatten)(finalProjection.map(path => values[paths.indexOf(path)]), finalProjection);
|
|
36
42
|
}
|
|
37
43
|
exports.default = computeFromRecords;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9ycy9jb21wdXRlZC9oZWxwZXJzL2NvbXB1dGUtZmllbGRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0VBQXlFO0FBS3pFLDJFQUEyRDtBQUMzRCxrREFBeUU7QUFFekUsS0FBSyxVQUFVLFlBQVksQ0FDekIsR0FBbUMsRUFDbkMsUUFBNEIsRUFDNUIsS0FBZSxFQUNmLFFBQThCO0lBRTlCLE9BQU8sSUFBQSx1QkFBcUIsRUFDMUIsSUFBQSxxQkFBUyxFQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUM7SUFFN0MscUNBQXFDO0lBQ3JDLDJDQUEyQztJQUMzQyxnRUFBZ0U7SUFDaEUsa0VBQWtFO0lBQ2xFLHNGQUFzRjtJQUN0RixLQUFLLEVBQUMsY0FBYyxFQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sUUFBUSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDbkYsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FDakIsR0FBbUMsRUFDbkMsVUFBOEIsRUFDOUIsT0FBZSxFQUNmLEtBQWUsRUFDZixRQUE4QjtJQUU5Qix3RUFBd0U7SUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDNUIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLG9CQUFvQixHQUFHLElBQUEsMkJBQWUsRUFBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLCtCQUFVLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FDckUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlFLENBQUM7UUFFRix3REFBd0Q7UUFDeEQsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXZGLGlCQUFpQjtRQUNqQixNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0tBQ3BGO0FBQ0gsQ0FBQztBQUVjLEtBQUssVUFBVSxrQkFBa0IsQ0FDOUMsR0FBbUMsRUFDbkMsVUFBOEIsRUFDOUIsaUJBQTZCLEVBQzdCLGlCQUE2QixFQUM3QixPQUFxQjtJQUVyQix5RUFBeUU7SUFDekUsTUFBTSxLQUFLLEdBQUcsSUFBQSwyQkFBZSxFQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDakQsTUFBTSxRQUFRLEdBQUcsSUFBQSxtQkFBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFaEYsdURBQXVEO0lBQ3ZELGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN0RixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0MsaUNBQWlDO0lBQ2pDLE1BQU0sZUFBZSxHQUFHLElBQUEsMkJBQWUsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTNELE9BQU8sSUFBQSxxQkFBUyxFQUNkLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3hELGVBQWUsQ0FDaEIsQ0FBQztBQUNKLENBQUM7QUF0QkQscUNBc0JDIn0=
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as DataSourceCustomizer } from './datasource-customizer';
|
|
|
3
3
|
export * from './templates';
|
|
4
4
|
export * from './types';
|
|
5
5
|
export * from './decorators/actions/types/actions';
|
|
6
|
+
export * from './decorators/actions/types/fields';
|
|
6
7
|
export { DataSourceChartDefinition } from './decorators/chart/types';
|
|
7
8
|
export { ComputedDefinition } from './decorators/computed/types';
|
|
8
9
|
export { OperatorDefinition } from './decorators/operators-emulate/types';
|
package/dist/index.js
CHANGED
|
@@ -26,8 +26,9 @@ __exportStar(require("./templates"), exports);
|
|
|
26
26
|
__exportStar(require("./types"), exports);
|
|
27
27
|
// Decorators (helpers)
|
|
28
28
|
__exportStar(require("./decorators/actions/types/actions"), exports);
|
|
29
|
+
__exportStar(require("./decorators/actions/types/fields"), exports);
|
|
29
30
|
__exportStar(require("./decorators/hook/types"), exports);
|
|
30
31
|
// Context
|
|
31
32
|
var collection_context_1 = require("./context/collection-context");
|
|
32
33
|
Object.defineProperty(exports, "CollectionCustomizationContext", { enumerable: true, get: function () { return __importDefault(collection_context_1).default; } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBMEU7QUFBakUsOElBQUEsT0FBTyxPQUF3QjtBQUN4QyxpRUFBMEU7QUFBakUsOElBQUEsT0FBTyxPQUF3QjtBQUV4Qyw4Q0FBNEI7QUFDNUIsMENBQXdCO0FBRXhCLHVCQUF1QjtBQUN2QixxRUFBbUQ7QUFDbkQsb0VBQWtEO0FBUWxELDBEQUF3QztBQUV4QyxVQUFVO0FBQ1YsbUVBQXlGO0FBQWhGLHFKQUFBLE9BQU8sT0FBa0MifQ==
|
|
@@ -6,8 +6,8 @@ async function addExternalRelation(dataSourceCustomizer, collectionCustomizer, o
|
|
|
6
6
|
collectionCustomizer.addField(options.name, {
|
|
7
7
|
dependencies: options.dependencies ?? primaryKeys,
|
|
8
8
|
columnType: [options.schema],
|
|
9
|
-
getValues:
|
|
9
|
+
getValues: (records, context) => records.map(record => options.listRecords(record, context)),
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
exports.default = addExternalRelation;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWV4dGVybmFsLXJlbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbnMvYWRkLWV4dGVybmFsLXJlbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0VBQThEO0FBTy9DLEtBQUssVUFBVSxtQkFBbUIsQ0FJL0Msb0JBQTZDLEVBQzdDLG9CQUFnRCxFQUNoRCxPQUE2RDtJQUU3RCxNQUFNLFdBQVcsR0FBRyxnQ0FBVyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQXVCLENBQUM7SUFFbEcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7UUFDMUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksV0FBVztRQUNqRCxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM3RixDQUFDLENBQUM7QUFDTCxDQUFDO0FBZkQsc0NBZUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/datasource-customizer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@types/uuid": "^9.0.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@forestadmin/datasource-toolkit": "1.4.
|
|
31
|
+
"@forestadmin/datasource-toolkit": "1.4.1",
|
|
32
32
|
"luxon": "^3.2.1",
|
|
33
33
|
"object-hash": "^3.0.0",
|
|
34
34
|
"uuid": "^9.0.0"
|