@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), async (uniquePartials) => computed.getValues(uniquePartials, ctx));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9ycy9jb21wdXRlZC9oZWxwZXJzL2NvbXB1dGUtZmllbGRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0VBQXlFO0FBS3pFLDJFQUEyRDtBQUMzRCxrREFBeUU7QUFFekUsS0FBSyxVQUFVLFlBQVksQ0FDekIsR0FBbUMsRUFDbkMsUUFBNEIsRUFDNUIsS0FBZSxFQUNmLFFBQThCO0lBRTlCLE9BQU8sSUFBQSx1QkFBcUIsRUFDMUIsSUFBQSxxQkFBUyxFQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsRUFDN0MsS0FBSyxFQUFDLGNBQWMsRUFBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQ2hFLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQ2pCLEdBQW1DLEVBQ25DLFVBQThCLEVBQzlCLE9BQWUsRUFDZixLQUFlLEVBQ2YsUUFBOEI7SUFFOUIsd0VBQXdFO0lBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzVCLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLDJCQUFlLEVBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSwrQkFBVSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLENBQ3JFLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM5RSxDQUFDO1FBRUYsd0RBQXdEO1FBQ3hELGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUV2RixpQkFBaUI7UUFDakIsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkYsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztLQUNwRjtBQUNILENBQUM7QUFFYyxLQUFLLFVBQVUsa0JBQWtCLENBQzlDLEdBQW1DLEVBQ25DLFVBQThCLEVBQzlCLGlCQUE2QixFQUM3QixpQkFBNkIsRUFDN0IsT0FBcUI7SUFFckIseUVBQXlFO0lBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUEsMkJBQWUsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRWhGLHVEQUF1RDtJQUN2RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdEYsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNDLGlDQUFpQztJQUNqQyxNQUFNLGVBQWUsR0FBRyxJQUFBLDJCQUFlLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUUzRCxPQUFPLElBQUEscUJBQVMsRUFDZCxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUN4RCxlQUFlLENBQ2hCLENBQUM7QUFDSixDQUFDO0FBdEJELHFDQXNCQyJ9
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBMEU7QUFBakUsOElBQUEsT0FBTyxPQUF3QjtBQUN4QyxpRUFBMEU7QUFBakUsOElBQUEsT0FBTyxPQUF3QjtBQUV4Qyw4Q0FBNEI7QUFDNUIsMENBQXdCO0FBRXhCLHVCQUF1QjtBQUN2QixxRUFBbUQ7QUFRbkQsMERBQXdDO0FBRXhDLFVBQVU7QUFDVixtRUFBeUY7QUFBaEYscUpBQUEsT0FBTyxPQUFrQyJ9
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: async (records, context) => Promise.all(records.map(async (record) => options.listRecords(record, context))),
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWV4dGVybmFsLXJlbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbnMvYWRkLWV4dGVybmFsLXJlbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0VBQThEO0FBTy9DLEtBQUssVUFBVSxtQkFBbUIsQ0FJL0Msb0JBQTZDLEVBQzdDLG9CQUFnRCxFQUNoRCxPQUE2RDtJQUU3RCxNQUFNLFdBQVcsR0FBRyxnQ0FBVyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQXVCLENBQUM7SUFFbEcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7UUFDMUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksV0FBVztRQUNqRCxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzVCLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ2pGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFoQkQsc0NBZ0JDIn0=
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.5.13",
3
+ "version": "1.6.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "GPL-3.0",
6
6
  "publishConfig": {