@forestadmin/datasource-customizer 1.5.13 → 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==
|