UNPKG

1.59 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var _dotNotation = require("@cookbook/dot-notation");
9
10var _map = _interopRequireDefault(require("./map"));
11
12var _is = _interopRequireDefault(require("./utils/is"));
13
14var _toArray = _interopRequireDefault(require("./utils/to-array"));
15
16var _typeOf = _interopRequireDefault(require("./utils/type-of"));
17
18function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20var mapper = function mapper(mapping) {
21 return function (source) {
22 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
23 var result = (0, _toArray.default)(source).map(function (src) {
24 if (!_is.default.object(src)) {
25 throw new TypeError("Instance of \"source\" must be an object, but instead got \"".concat((0, _typeOf.default)(source), "\""));
26 }
27
28 var mapped = _map.default.omitEntries(mapping((0, _map.default)(src, options)));
29
30 if (_is.default.array(mapped)) {
31 var values = [];
32
33 if (!mapped.length) {
34 return values;
35 }
36
37 for (var i = 0; i < mapped.length; i += 1) {
38 var value = mapped[i];
39
40 if (value && Object.keys(value).length) {
41 values.push((0, _dotNotation.parse)(value));
42 }
43 }
44
45 return values;
46 }
47
48 return Object.keys(mapped).length ? (0, _dotNotation.parse)(mapped) : {};
49 });
50 return _is.default.array(source) ? result : result[0];
51 };
52};
53
54var _default = mapper;
55exports.default = _default;
\No newline at end of file