1 | import { mapper as mapper$1 } from '@vect/object-mapper';
|
2 | import { mapper, iterate } from '@vect/vector-mapper';
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | function samplesSelect(samples, fields) {
|
12 | if (fields !== null && fields !== void 0 && fields.length) {
|
13 | const assigners = mapper(fields, field => Array.isArray(field) ? assigner.bind({
|
14 | k: field[0],
|
15 | p: field[1]
|
16 | }) : assigner.bind({
|
17 | k: field
|
18 | }));
|
19 | return mapper(samples, sample => {
|
20 | let target = {};
|
21 | iterate(assigners, fn => fn(target, sample));
|
22 | return target;
|
23 | });
|
24 | }
|
25 |
|
26 | return mapper(samples, sample => mapper$1(sample, x => x));
|
27 | }
|
28 | const assigner = function (target, source) {
|
29 | target[this.p ?? this.k] = source[this.k];
|
30 | };
|
31 |
|
32 | export { samplesSelect };
|