map-transform 0.4.0-alpha.30 → 0.4.0-alpha.33

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.
package/README.md CHANGED
@@ -1199,6 +1199,11 @@ Or as a transform object:
1199
1199
  const def32o = ['currencies', { $transform: 'explode' }]
1200
1200
  ```
1201
1201
 
1202
+ ### `index()` function
1203
+
1204
+ When iterating, this will return the index of the current item in the array.
1205
+ When used outside of an iteration, it always returns `0`.
1206
+
1202
1207
  #### `implode()` function
1203
1208
 
1204
1209
  This is the exact opposite of the `explode` helper, imploding from a service and
@@ -2,6 +2,7 @@ import { value, fixed } from './value';
2
2
  import compare from './compare';
3
3
  import { explode, implode } from './explode';
4
4
  import get from './get';
5
+ import index from './indexFn';
5
6
  import { join, split } from './joinSplit';
6
7
  import logical from './logical';
7
8
  import map from './map';
@@ -13,6 +14,7 @@ declare const _default: {
13
14
  fixed: typeof fixed;
14
15
  get: typeof get;
15
16
  implode: typeof implode;
17
+ index: typeof index;
16
18
  join: typeof join;
17
19
  logical: typeof logical;
18
20
  map: typeof map;
@@ -4,6 +4,7 @@ const value_1 = require("./value");
4
4
  const compare_1 = require("./compare");
5
5
  const explode_1 = require("./explode");
6
6
  const get_1 = require("./get");
7
+ const indexFn_1 = require("./indexFn");
7
8
  const joinSplit_1 = require("./joinSplit");
8
9
  const logical_1 = require("./logical");
9
10
  const map_1 = require("./map");
@@ -15,6 +16,7 @@ exports.default = {
15
16
  fixed: value_1.fixed,
16
17
  get: get_1.default,
17
18
  implode: explode_1.implode,
19
+ index: indexFn_1.default,
18
20
  join: joinSplit_1.join,
19
21
  logical: logical_1.default,
20
22
  map: map_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AACtC,uCAA+B;AAC/B,uCAA4C;AAC5C,+BAAuB;AACvB,2CAAyC;AACzC,uCAA+B;AAC/B,+BAAuB;AACvB,iCAAyB;AACzB,yCAAiC;AAEjC,kBAAe;IACb,OAAO,EAAP,iBAAO;IACP,OAAO,EAAP,iBAAO;IACP,KAAK,EAAL,aAAK;IACL,GAAG,EAAH,aAAG;IACH,OAAO,EAAP,iBAAO;IACP,IAAI,EAAJ,gBAAI;IACJ,OAAO,EAAP,iBAAO;IACP,GAAG,EAAH,aAAG;IACH,IAAI,EAAJ,cAAI;IACJ,KAAK,EAAL,iBAAK;IACL,QAAQ,EAAR,kBAAQ;IACR,KAAK,EAAL,aAAK;CACN,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AACtC,uCAA+B;AAC/B,uCAA4C;AAC5C,+BAAuB;AACvB,uCAA6B;AAC7B,2CAAyC;AACzC,uCAA+B;AAC/B,+BAAuB;AACvB,iCAAyB;AACzB,yCAAiC;AAEjC,kBAAe;IACb,OAAO,EAAP,iBAAO;IACP,OAAO,EAAP,iBAAO;IACP,KAAK,EAAL,aAAK;IACL,GAAG,EAAH,aAAG;IACH,OAAO,EAAP,iBAAO;IACP,KAAK,EAAL,iBAAK;IACL,IAAI,EAAJ,gBAAI;IACJ,OAAO,EAAP,iBAAO;IACP,GAAG,EAAH,aAAG;IACH,IAAI,EAAJ,cAAI;IACJ,KAAK,EAAL,iBAAK;IACL,QAAQ,EAAR,kBAAQ;IACR,KAAK,EAAL,aAAK;CACN,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { DataMapper } from '../types';
2
+ export default function compare(): DataMapper;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function compare() {
4
+ return (_data, state) => {
5
+ return state.index || 0;
6
+ };
7
+ }
8
+ exports.default = compare;
9
+ //# sourceMappingURL=indexFn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexFn.js","sourceRoot":"","sources":["../../src/functions/indexFn.ts"],"names":[],"mappings":";;AAEA,SAAwB,OAAO;IAC7B,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,OAAO,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;IACzB,CAAC,CAAA;AACH,CAAC;AAJD,0BAIC"}
@@ -1,8 +1,8 @@
1
- import { Operands, DataMapper } from '../types';
2
- interface Options extends Operands {
1
+ import { Operands as BaseOperands, DataMapper } from '../types';
2
+ interface Operands extends BaseOperands {
3
3
  path?: string | string[];
4
4
  sep?: string;
5
5
  }
6
- export declare function join(options: Options): DataMapper;
7
- export declare function split(options: Options): DataMapper;
6
+ export declare function join(options: Operands): DataMapper;
7
+ export declare function split(options: Operands): DataMapper;
8
8
  export {};
@@ -3,15 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.split = exports.join = void 0;
4
4
  const pathGetter_1 = require("../utils/pathGetter");
5
5
  const pathSetter_1 = require("../utils/pathSetter");
6
- function joinSplit({ path = [], sep = ' ' }, split) {
7
- const pathArr = [].concat(path);
6
+ const xor_1 = require("../utils/xor");
7
+ const array_1 = require("../utils/array");
8
+ function joinSplit({ path, sep = ' ' }, split) {
9
+ const pathArr = (0, array_1.ensureArray)(path);
8
10
  if (pathArr.length === 0) {
9
- return (_data, _context) => undefined;
11
+ return (data, { rev }) => (0, xor_1.default)(split, rev)
12
+ ? typeof data === 'string'
13
+ ? data.split(sep)
14
+ : undefined
15
+ : Array.isArray(data)
16
+ ? data.join(sep)
17
+ : undefined;
10
18
  }
11
19
  const getFns = pathArr.map(pathGetter_1.default);
12
20
  const setFns = pathArr.map(pathSetter_1.default);
13
21
  return (data, { rev }) => {
14
- if (split ? !rev : rev) {
22
+ if ((0, xor_1.default)(split, rev)) {
15
23
  const values = typeof data === 'string' ? data.split(sep) : [];
16
24
  return setFns.reduce((obj, setFn, index) => setFn(values[index], obj), undefined);
17
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"joinSplit.js","sourceRoot":"","sources":["../../src/functions/joinSplit.ts"],"names":[],"mappings":";;;AAEA,oDAAwC;AACxC,oDAAwC;AAOxC,SAAS,SAAS,CAChB,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAW,EACjC,KAAc;IAEd,MAAM,OAAO,GAAI,EAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAA;KACtC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,CAAA;IAElC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9D,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EACzD,SAAS,CACV,CAAA;SACF;aAAM;YACL,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC/D;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,IAAI,CAAC,OAAgB;IACnC,OAAO,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AAFD,oBAEC;AAED,SAAgB,KAAK,CAAC,OAAgB;IACpC,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC"}
1
+ {"version":3,"file":"joinSplit.js","sourceRoot":"","sources":["../../src/functions/joinSplit.ts"],"names":[],"mappings":";;;AAEA,oDAAwC;AACxC,oDAAwC;AACxC,sCAA8B;AAC9B,0CAA4C;AAO5C,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,EAAY,EAAE,KAAc;IAC9D,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CACvB,IAAA,aAAG,EAAC,KAAK,EAAE,GAAG,CAAC;YACb,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAChB,CAAC,CAAC,SAAS,CAAA;KAChB;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAM,CAAC,CAAA;IAElC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvB,IAAI,IAAA,aAAG,EAAC,KAAK,EAAE,GAAG,CAAC,EAAE;YACnB,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9D,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EACzD,SAAS,CACV,CAAA;SACF;aAAM;YACL,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC/D;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,IAAI,CAAC,OAAiB;IACpC,OAAO,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AAFD,oBAEC;AAED,SAAgB,KAAK,CAAC,OAAiB;IACrC,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC"}
package/dist/index.d.ts CHANGED
@@ -23,3 +23,4 @@ export { CustomFunction, DataMapper, MapDefinition, MapObject, MapPipe, MapTrans
23
23
  export { default as pathGetter } from './utils/pathGetter';
24
24
  export { default as pathSetter } from './utils/pathSetter';
25
25
  export declare function mapTransform(def: MapDefinition, options?: Options): MapTransform;
26
+ export default mapTransform;
package/dist/index.js CHANGED
@@ -74,4 +74,5 @@ function mapTransform(def, options = {}) {
74
74
  });
75
75
  }
76
76
  exports.mapTransform = mapTransform;
77
+ exports.default = mapTransform;
77
78
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iEAA4D;AAC5D,uDAAmE;AACnE,2CAAmC;AAqBjB,oBArBX,mBAAS,CAqBW;AApB3B,kDAA0C;AAoBjC,kBApBF,iBAAO,CAoBE;AAnBhB,mDAA6C;AAE7C,8CAA8C;AAArC,6FAAA,GAAG,OAAA;AAAE,6FAAA,GAAG,OAAA;AACjB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,wCAAiD;AAAxC,0FAAA,OAAO,OAAO;AACvB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,iDAA0D;AAAjD,oGAAA,OAAO,OAAY;AAC5B,uCAAgD;AAAvC,0FAAA,OAAO,OAAO;AACvB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,oDAA6D;AAApD,sGAAA,OAAO,OAAa;AAC7B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,0DAA4D;AAAnD,mGAAA,GAAG,OAAA;AAAE,mGAAA,GAAG,OAAA;AAAE,sGAAA,MAAM,OAAA;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAiB1B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAC9B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAE9B,MAAM,kBAAkB,GAAG,CACzB,KAAkB,EAClB,YAA4B,EAC5B,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,4BAAa,EAAC,YAAY,CAAC,CAAA;IAE/C,OAAO,CAAC,IAAa,EAAE,EAAE,CACvB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;IAC1C,GAAG,OAAO;IACV,SAAS,EAAE;QACT,GAAG,mBAAS;QACZ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;KAC7B;CACF,CAAC,CAAA;AAEF,SAAgB,YAAY,CAC1B,GAAkB,EAClB,UAAmB,EAAE;IAErB,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,qBAAQ,CAAC,CAAA;IAE9D,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;QAClD,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACjE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;YAC3D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE;gBAC1C,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;aACjB,CAAC;SACH,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AAhBD,oCAgBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iEAA4D;AAC5D,uDAAmE;AACnE,2CAAmC;AAqBjB,oBArBX,mBAAS,CAqBW;AApB3B,kDAA0C;AAoBjC,kBApBF,iBAAO,CAoBE;AAnBhB,mDAA6C;AAE7C,8CAA8C;AAArC,6FAAA,GAAG,OAAA;AAAE,6FAAA,GAAG,OAAA;AACjB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,wCAAiD;AAAxC,0FAAA,OAAO,OAAO;AACvB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,iDAA0D;AAAjD,oGAAA,OAAO,OAAY;AAC5B,uCAAgD;AAAvC,0FAAA,OAAO,OAAO;AACvB,0CAAmD;AAA1C,4FAAA,OAAO,OAAQ;AACxB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,oDAA6D;AAApD,sGAAA,OAAO,OAAa;AAC7B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAC1B,0DAA4D;AAAnD,mGAAA,GAAG,OAAA;AAAE,mGAAA,GAAG,OAAA;AAAE,sGAAA,MAAM,OAAA;AACzB,4CAAqD;AAA5C,8FAAA,OAAO,OAAS;AACzB,8CAAuD;AAA9C,gGAAA,OAAO,OAAU;AAiB1B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAC9B,iDAA0D;AAAjD,wGAAA,OAAO,OAAc;AAE9B,MAAM,kBAAkB,GAAG,CACzB,KAAkB,EAClB,YAA4B,EAC5B,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,4BAAa,EAAC,YAAY,CAAC,CAAA;IAE/C,OAAO,CAAC,IAAa,EAAE,EAAE,CACvB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;IAC1C,GAAG,OAAO;IACV,SAAS,EAAE;QACT,GAAG,mBAAS;QACZ,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;KAC7B;CACF,CAAC,CAAA;AAEF,SAAgB,YAAY,CAC1B,GAAkB,EAClB,UAAmB,EAAE;IAErB,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,qBAAQ,CAAC,CAAA;IAE9D,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;QAClD,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACjE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE;YAC3D,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,EAAE;gBAC1C,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;aACjB,CAAC;SACH,CAAC;KACH,CAAC,CAAA;AACJ,CAAC;AAhBD,oCAgBC;AAED,kBAAe,YAAY,CAAA"}
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const value_1 = require("../functions/value");
4
+ const stateHelpers_1 = require("../utils/stateHelpers");
4
5
  function fixed(val) {
5
- return () => (_next) => (state) => ({
6
- ...state,
7
- value: (0, value_1.extractValue)(val),
8
- });
6
+ return () => (_next) => (state) => (0, stateHelpers_1.setStateValue)(state, (0, value_1.extractValue)(val), true);
9
7
  }
10
8
  exports.default = fixed;
11
9
  //# sourceMappingURL=fixed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixed.js","sourceRoot":"","sources":["../../src/operations/fixed.ts"],"names":[],"mappings":";;AACA,8CAAiD;AAEjD,SAAwB,KAAK,CAAC,GAA4B;IACxD,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,KAAK;QACR,KAAK,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC;KACzB,CAAC,CAAA;AACJ,CAAC;AALD,wBAKC"}
1
+ {"version":3,"file":"fixed.js","sourceRoot":"","sources":["../../src/operations/fixed.ts"],"names":[],"mappings":";;AACA,8CAAiD;AACjD,wDAAqD;AAErD,SAAwB,KAAK,CAAC,GAA4B;IACxD,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,IAAA,4BAAa,EAAC,KAAK,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;AACjD,CAAC;AAHD,wBAGC"}
@@ -6,7 +6,7 @@ const stateHelpers_1 = require("../utils/stateHelpers");
6
6
  const definitionHelpers_1 = require("../utils/definitionHelpers");
7
7
  const array_1 = require("../utils/array");
8
8
  const functional_1 = require("../utils/functional");
9
- const iterateState = (fn) => (state, target) => mapAny((value, index) => (0, stateHelpers_1.getStateValue)(fn((0, stateHelpers_1.setTargetOnState)((0, stateHelpers_1.setStateValue)(state, value), (0, array_1.indexOfIfArray)(target, index)))), (0, stateHelpers_1.getStateValue)(state));
9
+ const iterateState = (fn) => (state, target) => mapAny((value, index) => (0, stateHelpers_1.getStateValue)(fn((0, stateHelpers_1.setTargetOnState)((0, stateHelpers_1.setStateValue)({ ...state, index }, value), (0, array_1.indexOfIfArray)(target, index)))), (0, stateHelpers_1.getStateValue)(state));
10
10
  exports.iterateState = iterateState;
11
11
  function iterate(def) {
12
12
  if (!def || (typeof def === 'object' && Object.keys(def).length === 0)) {
@@ -17,7 +17,7 @@ function iterate(def) {
17
17
  const runIteration = (0, exports.iterateState)(fn(options)(functional_1.identity));
18
18
  return (next) => function doIterate(state) {
19
19
  const nextState = next(state);
20
- return (0, stateHelpers_1.setStateValue)(nextState, runIteration(nextState, (0, stateHelpers_1.getTargetFromState)(state)));
20
+ return (0, stateHelpers_1.setStateValue)(nextState, runIteration((0, stateHelpers_1.pushContext)(nextState, state.value), (0, stateHelpers_1.getTargetFromState)(state)));
21
21
  };
22
22
  };
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/operations/iterate.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAElC,wDAK8B;AAC9B,kEAA6D;AAC7D,0CAA+C;AAC/C,oDAA8C;AAEvC,MAAM,YAAY,GACvB,CAAC,EAAe,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,MAAe,EAAE,EAAE,CACrD,MAAM,CACJ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,IAAA,4BAAa,EACX,EAAE,CACA,IAAA,+BAAgB,EACd,IAAA,4BAAa,EAAC,KAAK,EAAE,KAAK,CAAC,EAC3B,IAAA,sBAAc,EAAC,MAAM,EAAE,KAAK,CAAC,CAC9B,CACF,CACF,EACH,IAAA,4BAAa,EAAC,KAAK,CAAC,CACrB,CAAA;AAbQ,QAAA,YAAY,gBAapB;AAEL,SAAwB,OAAO,CAAC,GAAkB;IAChD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QACtE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,IAAA,4BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;KACxC;IACD,MAAM,EAAE,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,YAAY,GAAG,IAAA,oBAAY,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,qBAAQ,CAAC,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,EAAE,EAAE,CACd,SAAS,SAAS,CAAC,KAAK;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,OAAO,IAAA,4BAAa,EAClB,SAAS,EACT,YAAY,CAAC,SAAS,EAAE,IAAA,iCAAkB,EAAC,KAAK,CAAC,CAAC,CACnD,CAAA;QACH,CAAC,CAAA;IACL,CAAC,CAAA;AACH,CAAC;AAlBD,0BAkBC"}
1
+ {"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../src/operations/iterate.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAElC,wDAM8B;AAC9B,kEAA6D;AAC7D,0CAA+C;AAC/C,oDAA8C;AAEvC,MAAM,YAAY,GACvB,CAAC,EAAe,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,MAAe,EAAE,EAAE,CACrD,MAAM,CACJ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,IAAA,4BAAa,EACX,EAAE,CACA,IAAA,+BAAgB,EACd,IAAA,4BAAa,EAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,EACzC,IAAA,sBAAc,EAAC,MAAM,EAAE,KAAK,CAAC,CAC9B,CACF,CACF,EACH,IAAA,4BAAa,EAAC,KAAK,CAAC,CACrB,CAAA;AAbQ,QAAA,YAAY,gBAapB;AAEL,SAAwB,OAAO,CAAC,GAAkB;IAChD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QACtE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,IAAA,4BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAA;KACxC;IACD,MAAM,EAAE,GAAG,IAAA,oCAAgB,EAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,YAAY,GAAG,IAAA,oBAAY,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC,qBAAQ,CAAC,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,EAAE,EAAE,CACd,SAAS,SAAS,CAAC,KAAK;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;YAC7B,OAAO,IAAA,4BAAa,EAClB,SAAS,EACT,YAAY,CACV,IAAA,0BAAW,EAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,EACnC,IAAA,iCAAkB,EAAC,KAAK,CAAC,CAC1B,CACF,CAAA;QACH,CAAC,CAAA;IACL,CAAC,CAAA;AACH,CAAC;AArBD,0BAqBC"}
@@ -32,12 +32,16 @@ function runOperationWithOriginalValue({ value }, options) {
32
32
  const nextState = fn(options)(functional_1.identity)((0, stateHelpers_1.setStateValue)(state, value));
33
33
  const target = state.target;
34
34
  const nextValue = (0, stateHelpers_1.getStateValue)(nextState);
35
+ const thisState = (0, stateHelpers_1.setTargetOnState)(nextState, nextValue);
35
36
  if ((0, is_1.isObject)(target) && (0, is_1.isObject)(nextValue)) {
36
37
  const thisValue = { ...target, ...nextValue };
37
- return (0, stateHelpers_1.setStateValue)((0, stateHelpers_1.setTargetOnState)(nextState, nextValue), thisValue);
38
+ return (0, stateHelpers_1.setStateValue)(thisState, thisValue);
39
+ }
40
+ else if ((0, is_1.isObject)(target)) {
41
+ return (0, stateHelpers_1.setStateValue)(thisState, target);
38
42
  }
39
43
  else {
40
- return (0, stateHelpers_1.setTargetOnState)(nextState, nextValue);
44
+ return thisState;
41
45
  }
42
46
  };
43
47
  }
@@ -77,7 +81,7 @@ function modifyWithGivenPath(path, options, next) {
77
81
  const runOperations = (modifyFn, operations, options) => (shouldFlip) => (state) => {
78
82
  return (0, stateHelpers_1.isNoneValueState)(state, options.noneValues)
79
83
  ? state
80
- : modifyFn(operations.reduce(runOperationWithOriginalValue(state, options), (0, stateHelpers_1.setTargetOnState)({ ...state, flip: shouldFlip }, {})), state);
84
+ : modifyFn(operations.reduce(runOperationWithOriginalValue(state, options), (0, stateHelpers_1.setTargetOnState)({ ...state, flip: shouldFlip }, undefined)), state);
81
85
  };
82
86
  function props(def) {
83
87
  if (Object.keys(def).length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/operations/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/operations/props.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const value_1 = require("../functions/value");
4
+ const stateHelpers_1 = require("../utils/stateHelpers");
4
5
  function value(val) {
5
- return () => (_next) => (state) => ({
6
- ...state,
7
- value: state.onlyMapped ? undefined : (0, value_1.extractValue)(val),
8
- });
6
+ return () => (_next) => (state) => state.onlyMapped ? state : (0, stateHelpers_1.setStateValue)(state, (0, value_1.extractValue)(val), true);
9
7
  }
10
8
  exports.default = value;
11
9
  //# sourceMappingURL=value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/operations/value.ts"],"names":[],"mappings":";;AACA,8CAAiD;AAEjD,SAAwB,KAAK,CAAC,GAAY;IACxC,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,KAAK;QACR,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,oBAAY,EAAC,GAAG,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AALD,wBAKC"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../src/operations/value.ts"],"names":[],"mappings":";;AACA,8CAAiD;AACjD,wDAAqD;AAErD,SAAwB,KAAK,CAAC,GAAY;IACxC,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,KAAK,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;AAC5E,CAAC;AAHD,wBAGC"}
package/dist/types.d.ts CHANGED
@@ -26,6 +26,7 @@ export interface State {
26
26
  onlyMapped?: boolean;
27
27
  arr?: boolean;
28
28
  iterate?: boolean;
29
+ index?: number;
29
30
  }
30
31
  export interface Options {
31
32
  functions?: {
@@ -6,6 +6,17 @@ export declare const getRootFromState: (state: State) => unknown;
6
6
  export declare const getTargetFromState: (state: State) => unknown;
7
7
  export declare function setTargetOnState(state: State, target: unknown): State;
8
8
  export declare const getLastContext: (state: State) => unknown;
9
+ export declare const pushContext: (state: State, nextContext: unknown) => {
10
+ context: unknown[];
11
+ value: unknown;
12
+ target?: unknown;
13
+ rev?: boolean | undefined;
14
+ flip?: boolean | undefined;
15
+ onlyMapped?: boolean | undefined;
16
+ arr?: boolean | undefined;
17
+ iterate?: boolean | undefined;
18
+ index?: number | undefined;
19
+ };
9
20
  export declare const removeLastContext: (state: State) => {
10
21
  context: unknown[];
11
22
  value: unknown;
@@ -15,6 +26,7 @@ export declare const removeLastContext: (state: State) => {
15
26
  onlyMapped?: boolean | undefined;
16
27
  arr?: boolean | undefined;
17
28
  iterate?: boolean | undefined;
29
+ index?: number | undefined;
18
30
  };
19
31
  export declare const populateState: ({ rev, onlyMapped }: Partial<State>) => (data: unknown) => State;
20
32
  export declare const isNoneValueState: (state: State, noneValues?: unknown[]) => boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNoneValueState = exports.populateState = exports.removeLastContext = exports.getLastContext = exports.setTargetOnState = exports.getTargetFromState = exports.getRootFromState = exports.setValueFromState = exports.getStateValue = exports.setStateValue = void 0;
3
+ exports.isNoneValueState = exports.populateState = exports.removeLastContext = exports.pushContext = exports.getLastContext = exports.setTargetOnState = exports.getTargetFromState = exports.getRootFromState = exports.setValueFromState = exports.getStateValue = exports.setStateValue = void 0;
4
4
  const setStateValue = (state, value, shouldPushContext = false) => ({
5
5
  ...state,
6
6
  context: shouldPushContext && state.value !== undefined
@@ -30,6 +30,11 @@ function setTargetOnState(state, target) {
30
30
  exports.setTargetOnState = setTargetOnState;
31
31
  const getLastContext = (state) => state.context[state.context.length - 1];
32
32
  exports.getLastContext = getLastContext;
33
+ const pushContext = (state, nextContext) => ({
34
+ ...state,
35
+ context: [...state.context, nextContext],
36
+ });
37
+ exports.pushContext = pushContext;
33
38
  const removeLastContext = (state) => ({
34
39
  ...state,
35
40
  context: state.context.slice(0, -1),
@@ -1 +1 @@
1
- {"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,CAC3B,KAAY,EACZ,KAAc,EACd,iBAAiB,GAAG,KAAK,EAClB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,OAAO,EACL,iBAAiB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,KAAK,CAAC,OAAO;IACnB,KAAK;CACN,CAAC,CAAA;AAXW,QAAA,aAAa,iBAWxB;AACK,MAAM,aAAa,GAAG,CAAC,KAAY,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAA;AAAlD,QAAA,aAAa,iBAAqC;AAExD,MAAM,iBAAiB,GAAG,CAC/B,KAAY,EACZ,EAAE,KAAK,EAAE,OAAO,EAAS,EACzB,gBAAgB,GAAG,KAAK,EACjB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,KAAK;IACL,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;CACpD,CAAC,CAAA;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AADhD,QAAA,gBAAgB,oBACgC;AAEtD,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAA;AAAnD,QAAA,kBAAkB,sBAAiC;AAEhE,SAAgB,gBAAgB,CAAC,KAAY,EAAE,MAAe;IAC5D,OAAO;QACL,GAAG,KAAK;QACR,MAAM;KACP,CAAA;AACH,CAAC;AALD,4CAKC;AAEM,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAD5B,QAAA,cAAc,kBACc;AAElC,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;IAClD,GAAG,KAAK;IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpC,CAAC,CAAA;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,aAAa,GACxB,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAkB,EAAE,EAAE,CACxD,CAAC,IAAa,EAAS,EAAE,CAAC,CAAC;IACzB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;IACX,GAAG;IACH,UAAU;CACX,CAAC,CAAA;AAPS,QAAA,aAAa,iBAOtB;AAEG,MAAM,gBAAgB,GAAG,CAC9B,KAAY,EACZ,aAAwB,CAAC,SAAS,CAAC,EACnC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAHxB,QAAA,gBAAgB,oBAGQ"}
1
+ {"version":3,"file":"stateHelpers.js","sourceRoot":"","sources":["../../src/utils/stateHelpers.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,CAC3B,KAAY,EACZ,KAAc,EACd,iBAAiB,GAAG,KAAK,EAClB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,OAAO,EACL,iBAAiB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,KAAK,CAAC,OAAO;IACnB,KAAK;CACN,CAAC,CAAA;AAXW,QAAA,aAAa,iBAWxB;AACK,MAAM,aAAa,GAAG,CAAC,KAAY,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,CAAA;AAAlD,QAAA,aAAa,iBAAqC;AAExD,MAAM,iBAAiB,GAAG,CAC/B,KAAY,EACZ,EAAE,KAAK,EAAE,OAAO,EAAS,EACzB,gBAAgB,GAAG,KAAK,EACjB,EAAE,CAAC,CAAC;IACX,GAAG,KAAK;IACR,KAAK;IACL,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO;CACpD,CAAC,CAAA;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE,CAC/C,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AADhD,QAAA,gBAAgB,oBACgC;AAEtD,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAA;AAAnD,QAAA,kBAAkB,sBAAiC;AAEhE,SAAgB,gBAAgB,CAAC,KAAY,EAAE,MAAe;IAC5D,OAAO;QACL,GAAG,KAAK;QACR,MAAM;KACP,CAAA;AACH,CAAC;AALD,4CAKC;AAEM,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE,CAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAD5B,QAAA,cAAc,kBACc;AAElC,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,WAAoB,EAAE,EAAE,CAAC,CAAC;IAClE,GAAG,KAAK;IACR,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;CACzC,CAAC,CAAA;AAHW,QAAA,WAAW,eAGtB;AAEK,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;IAClD,GAAG,KAAK;IACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACpC,CAAC,CAAA;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,aAAa,GACxB,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAkB,EAAE,EAAE,CACxD,CAAC,IAAa,EAAS,EAAE,CAAC,CAAC;IACzB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;IACX,GAAG;IACH,UAAU;CACX,CAAC,CAAA;AAPS,QAAA,aAAa,iBAOtB;AAEG,MAAM,gBAAgB,GAAG,CAC9B,KAAY,EACZ,aAAwB,CAAC,SAAS,CAAC,EACnC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAHxB,QAAA,gBAAgB,oBAGQ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "map-transform",
3
- "version": "0.4.0-alpha.30",
3
+ "version": "0.4.0-alpha.33",
4
4
  "description": "Map and transform objects with mapping definitions",
5
5
  "author": "Kjell-Morten Bratsberg Thorsen <post@kjellmorten.no>",
6
6
  "license": "ISC",