ramda-adjunct 2.34.0 → 2.35.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.
package/es/copyKeys.js ADDED
@@ -0,0 +1,34 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ import { curryN } from 'ramda';
8
+ import renameKeys from './renameKeys';
9
+ /**
10
+ * Creates a new object with the own properties of the provided object, and the
11
+ * keys copied according to the keysMap object as `{oldKey: newKey}`.
12
+ * When no key from the keysMap is found, then a shallow clone of an object is returned.
13
+ *
14
+ * Keep in mind that in the case of keys conflict is behaviour undefined and
15
+ * the result may vary between various JS engines!
16
+ *
17
+ * @func copyKeys
18
+ * @memberOf RA
19
+ * @category Object
20
+ * @sig {a: b} -> {a: *} -> {b: *}
21
+ * @param {!Object} keysMap
22
+ * @param {!Object} obj
23
+ * @return {!Object} New object with copied keys
24
+ * @see {@link RA.renameKeys|renameKeys}
25
+ * @example
26
+ *
27
+ * copyKeys({ a: 'b' }, { a: true }); //=> { a: true, b: true }
28
+ * copyKeys({ a: 'b' }, { a: true, b: false }); //=> { a: true, b: true }
29
+ */
30
+
31
+ var copyKeys = curryN(2, function (keysMap, obj) {
32
+ return _objectSpread(_objectSpread({}, obj), renameKeys(keysMap, obj));
33
+ });
34
+ export default copyKeys;
package/es/index.js CHANGED
@@ -178,6 +178,7 @@ export { default as paths } from './paths';
178
178
  export { default as renameKeys } from './renameKeys';
179
179
  export { default as renameKeysWith } from './renameKeysWith';
180
180
  export { default as renameKeyWith } from './renameKeyWith';
181
+ export { default as copyKeys } from './copyKeys';
181
182
  export { default as mergeRight } from './mergeRight';
182
183
  export { default as mergeLeft } from './mergeRight';
183
184
  export { default as resetToDefault } from './mergeRight';
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _renameKeys = _interopRequireDefault(require("./renameKeys"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+
16
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
+
18
+ /**
19
+ * Creates a new object with the own properties of the provided object, and the
20
+ * keys copied according to the keysMap object as `{oldKey: newKey}`.
21
+ * When no key from the keysMap is found, then a shallow clone of an object is returned.
22
+ *
23
+ * Keep in mind that in the case of keys conflict is behaviour undefined and
24
+ * the result may vary between various JS engines!
25
+ *
26
+ * @func copyKeys
27
+ * @memberOf RA
28
+ * @category Object
29
+ * @sig {a: b} -> {a: *} -> {b: *}
30
+ * @param {!Object} keysMap
31
+ * @param {!Object} obj
32
+ * @return {!Object} New object with copied keys
33
+ * @see {@link RA.renameKeys|renameKeys}
34
+ * @example
35
+ *
36
+ * copyKeys({ a: 'b' }, { a: true }); //=> { a: true, b: true }
37
+ * copyKeys({ a: 'b' }, { a: true, b: false }); //=> { a: true, b: true }
38
+ */
39
+ var copyKeys = (0, _ramda.curryN)(2, function (keysMap, obj) {
40
+ return _objectSpread(_objectSpread({}, obj), (0, _renameKeys["default"])(keysMap, obj));
41
+ });
42
+ var _default = copyKeys;
43
+ exports["default"] = _default;
package/lib/index.js CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.weave = exports.cata = exports.liftF = exports.liftFN = exports.noop = exports.stubArray = exports.stubString = exports.stubObject = exports.stubObj = exports.stubNull = exports.stubUndefined = exports.isSentinelValue = exports.isNotPrimitive = exports.isPrimitive = exports.isNaturalNumber = exports.isError = exports.isIndexed = exports.isSafeInteger = exports.isSymbol = exports.isSparseArray = exports.isNotSet = exports.isSet = exports.isNotRegExp = exports.isRegExp = exports.isFalsy = exports.isTruthy = exports.isFalse = exports.isTrue = exports.isPromise = exports.isThenable = exports.isNotPair = exports.isPair = exports.isEven = exports.isOdd = exports.isNotValidNumber = exports.isValidNumber = exports.isNotFloat = exports.isFloat = exports.isBigInt = exports.isNotInteger = exports.isInt32 = exports.isInteger32 = exports.isInteger = exports.isNotFinite = exports.isFinite = exports.isNotNaN = exports.isNaN = exports.isNotMap = exports.isMap = exports.isNonNegative = exports.isNonPositive = exports.isNotNilOrEmpty = exports.isNegativeZero = exports.isPositiveZero = exports.isNegative = exports.isPositive = exports.isNotNumber = exports.isNumber = exports.isInvalidDate = exports.isNotValidDate = exports.isValidDate = exports.isNotDate = exports.isDate = exports.isNotPlainObject = exports.isNotPlainObj = exports.isPlainObject = exports.isPlainObj = exports.isNotObjectLike = exports.isNotObjLike = exports.isObjectLike = exports.isObjLike = exports.isNotObject = exports.isNotObj = exports.isObject = exports.isObj = exports.isNotFunction = exports.isFunction = exports.isNotAsyncFunction = exports.isAsyncFunction = exports.isNotGeneratorFunction = exports.isGeneratorFunction = exports.isNotArrayLike = exports.isArrayLike = exports.isNonEmptyString = exports.isNotString = exports.isEmptyString = exports.isString = exports.isNilOrEmpty = exports.isNotBoolean = exports.isBoolean = exports.isNonEmptyArray = exports.isNotArray = exports.isEmptyArray = exports.isIterable = exports.isArray = exports.isNotNil = exports.isNotNull = exports.isNull = exports.isUndefined = exports.isNotUndefined = void 0;
5
- exports.nor = exports.neither = exports.nand = exports.notBoth = exports.defaultWhen = exports.isNotEmpty = exports.overlaps = exports.notEqual = exports.inRange = exports.pathNotEq = exports.propNotEq = exports.lensIso = exports.lensTraverse = exports.lensNotSatisfy = exports.lensSatisfies = exports.lensNotEq = exports.lensEq = exports.isPrototypeOf = exports.zipObjWith = exports.unzipObjWith = exports.flattenPath = exports.flattenProp = exports.spreadPath = exports.spreadProp = exports.hasPath = exports.viewOr = exports.pathOrLazy = exports.omitBy = exports.mergePath = exports.mergeProp = exports.mergePaths = exports.mergeProps = exports.resetToDefault = exports.mergeLeft = exports.mergeRight = exports.renameKeyWith = exports.renameKeysWith = exports.renameKeys = exports.paths = exports.invokeArgs = exports.invoke = exports.findOr = exports.rangeStep = exports.skipTake = exports.sortByProps = exports.notAllUnique = exports.allUnique = exports.toArray = exports.flattenDepth = exports.allEqualTo = exports.allIdenticalTo = exports.allIdentical = exports.repeatStr = exports.allEqual = exports.lengthNotEq = exports.lengthEq = exports.lengthLte = exports.lengthGte = exports.lengthLt = exports.lengthGt = exports.move = exports.included = exports.contained = exports.appendFlipped = exports.compact = exports.omitIndexes = exports.sliceTo = exports.sliceFrom = exports.reduceRightP = exports.reduceP = exports.concatRight = exports.concatAll = exports.ensureArray = exports.list = exports.pickIndexes = exports.filterIndexed = exports.reduceIndexed = exports.mapIndexed = exports.fnull = exports.lastP = exports.firstP = exports.anyP = exports.async = exports.dispatch = exports.sequencing = exports.seq = exports.Y = exports.allSettledP = exports.thenCatchP = exports.then = exports.thenP = exports.delayP = exports.rejectP = exports.resolveP = exports.noneP = exports.catchP = exports.allP = exports.curryRight = exports.curryRightN = exports.weaveLazy = void 0;
6
- exports.Identity = exports.padStart = exports.padEnd = exports.padCharsEnd = exports.padCharsStart = exports.trimCharsStart = exports.trimCharsEnd = exports.trimRight = exports.trimEnd = exports.trimLeft = exports.trimStart = exports.escapeRegExp = exports.replaceAll = exports.toUint32 = exports.toUinteger32 = exports.toInt32 = exports.toInteger32 = exports.subtractNum = exports.sign = exports.trunc = exports.floor = exports.divideNum = exports.ceil = exports.round = exports.dropArgs = exports.argsPass = exports.nonePass = exports.notAllPass = void 0;
5
+ exports.neither = exports.nand = exports.notBoth = exports.defaultWhen = exports.isNotEmpty = exports.overlaps = exports.notEqual = exports.inRange = exports.pathNotEq = exports.propNotEq = exports.lensIso = exports.lensTraverse = exports.lensNotSatisfy = exports.lensSatisfies = exports.lensNotEq = exports.lensEq = exports.isPrototypeOf = exports.zipObjWith = exports.unzipObjWith = exports.flattenPath = exports.flattenProp = exports.spreadPath = exports.spreadProp = exports.hasPath = exports.viewOr = exports.pathOrLazy = exports.omitBy = exports.mergePath = exports.mergeProp = exports.mergePaths = exports.mergeProps = exports.resetToDefault = exports.mergeLeft = exports.mergeRight = exports.copyKeys = exports.renameKeyWith = exports.renameKeysWith = exports.renameKeys = exports.paths = exports.invokeArgs = exports.invoke = exports.findOr = exports.rangeStep = exports.skipTake = exports.sortByProps = exports.notAllUnique = exports.allUnique = exports.toArray = exports.flattenDepth = exports.allEqualTo = exports.allIdenticalTo = exports.allIdentical = exports.repeatStr = exports.allEqual = exports.lengthNotEq = exports.lengthEq = exports.lengthLte = exports.lengthGte = exports.lengthLt = exports.lengthGt = exports.move = exports.included = exports.contained = exports.appendFlipped = exports.compact = exports.omitIndexes = exports.sliceTo = exports.sliceFrom = exports.reduceRightP = exports.reduceP = exports.concatRight = exports.concatAll = exports.ensureArray = exports.list = exports.pickIndexes = exports.filterIndexed = exports.reduceIndexed = exports.mapIndexed = exports.fnull = exports.lastP = exports.firstP = exports.anyP = exports.async = exports.dispatch = exports.sequencing = exports.seq = exports.Y = exports.allSettledP = exports.thenCatchP = exports.then = exports.thenP = exports.delayP = exports.rejectP = exports.resolveP = exports.noneP = exports.catchP = exports.allP = exports.curryRight = exports.curryRightN = exports.weaveLazy = void 0;
6
+ exports.Identity = exports.padStart = exports.padEnd = exports.padCharsEnd = exports.padCharsStart = exports.trimCharsStart = exports.trimCharsEnd = exports.trimRight = exports.trimEnd = exports.trimLeft = exports.trimStart = exports.escapeRegExp = exports.replaceAll = exports.toUint32 = exports.toUinteger32 = exports.toInt32 = exports.toInteger32 = exports.subtractNum = exports.sign = exports.trunc = exports.floor = exports.divideNum = exports.ceil = exports.round = exports.dropArgs = exports.argsPass = exports.nonePass = exports.notAllPass = exports.nor = void 0;
7
7
 
8
8
  var _isNotUndefined = _interopRequireDefault(require("./isNotUndefined"));
9
9
 
@@ -626,6 +626,10 @@ var _renameKeyWith = _interopRequireDefault(require("./renameKeyWith"));
626
626
 
627
627
  exports.renameKeyWith = _renameKeyWith["default"];
628
628
 
629
+ var _copyKeys = _interopRequireDefault(require("./copyKeys"));
630
+
631
+ exports.copyKeys = _copyKeys["default"];
632
+
629
633
  var _mergeRight = _interopRequireDefault(require("./mergeRight"));
630
634
 
631
635
  exports.mergeRight = _mergeRight["default"];
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "cookbook",
15
15
  "functional"
16
16
  ],
17
- "version": "2.34.0",
17
+ "version": "2.35.0",
18
18
  "homepage": "https://github.com/char0n/ramda-adjunct",
19
19
  "license": "BSD-3-Clause",
20
20
  "repository": {
@@ -140,27 +140,27 @@
140
140
  },
141
141
  "devDependencies": {
142
142
  "@babel/cli": "7.15.7",
143
- "@babel/core": "=7.15.5",
143
+ "@babel/core": "=7.15.8",
144
144
  "@babel/plugin-transform-modules-commonjs": "7.15.4",
145
- "@babel/preset-env": "=7.15.6",
145
+ "@babel/preset-env": "=7.15.8",
146
146
  "@babel/register": "7.15.3",
147
- "@commitlint/cli": "=13.2.0",
147
+ "@commitlint/cli": "=13.2.1",
148
148
  "@commitlint/config-conventional": "=13.2.0",
149
149
  "assert": "=2.0.0",
150
- "babel-loader": "8.2.2",
150
+ "babel-loader": "8.2.3",
151
151
  "babel-plugin-annotate-pure-calls": "0.4.0",
152
- "babel-plugin-istanbul": "6.0.0",
152
+ "babel-plugin-istanbul": "6.1.1",
153
153
  "better-npm-run": "0.1.1",
154
154
  "chai": "4.3.4",
155
155
  "codecov": "3.8.3",
156
156
  "conventional-changelog-cli": "2.1.1",
157
- "core-js": "=3.18.1",
157
+ "core-js": "=3.19.0",
158
158
  "docdash": "git+https://github.com/char0n/docdash.git#534b44382138a55dd8d93642c979e51e46471185",
159
- "dtslint": "=4.1.6",
159
+ "dtslint": "=4.2.0",
160
160
  "eslint": "7.32.0",
161
161
  "eslint-config-airbnb-base": "14.2.1",
162
162
  "eslint-config-prettier": "=8.3.0",
163
- "eslint-plugin-import": "=2.24.2",
163
+ "eslint-plugin-import": "=2.25.2",
164
164
  "eslint-plugin-mocha": "9.0.0",
165
165
  "eslint-plugin-prettier": "4.0.0",
166
166
  "eslint-plugin-ramda": "2.5.1",
@@ -168,14 +168,14 @@
168
168
  "fantasy-laws": "=1.2.0",
169
169
  "folktale": "=2.3.2",
170
170
  "glob": "7.2.0",
171
- "husky": "7.0.2",
171
+ "husky": "7.0.4",
172
172
  "istanbul": "=0.4.5",
173
173
  "jsdoc": "=3.6.7",
174
174
  "jsverify": "0.8.4",
175
175
  "license-cli": "1.1.6",
176
- "lint-staged": "11.1.2",
177
- "mocha": "=9.1.2",
178
- "mocha-junit-reporter": "2.0.0",
176
+ "lint-staged": "11.2.6",
177
+ "mocha": "=9.1.3",
178
+ "mocha-junit-reporter": "2.0.2",
179
179
  "mocha-multi-reporters": "1.5.1",
180
180
  "monet": "0.9.2",
181
181
  "nyc": "15.1.0",
@@ -188,11 +188,11 @@
188
188
  "sanctuary-show": "2.0.0",
189
189
  "sinon": "=11.1.2",
190
190
  "terser-webpack-plugin": "5.2.4",
191
- "testem": "=3.5.0",
191
+ "testem": "=3.6.0",
192
192
  "tslint": "=6.1.3",
193
- "typescript": "=4.4.3",
194
- "webpack": "=5.55.1",
195
- "webpack-cli": "4.8.0"
193
+ "typescript": "=4.4.4",
194
+ "webpack": "=5.61.0",
195
+ "webpack-cli": "4.9.1"
196
196
  },
197
197
  "browserslist": "> 0.25%, ie 10, ie 11, not op_mini all",
198
198
  "tonicExampleFilename": "tonicExample.js",
@@ -0,0 +1,31 @@
1
+ import { curryN } from 'ramda';
2
+
3
+ import renameKeys from './renameKeys';
4
+
5
+ /**
6
+ * Creates a new object with the own properties of the provided object, and the
7
+ * keys copied according to the keysMap object as `{oldKey: newKey}`.
8
+ * When no key from the keysMap is found, then a shallow clone of an object is returned.
9
+ *
10
+ * Keep in mind that in the case of keys conflict is behaviour undefined and
11
+ * the result may vary between various JS engines!
12
+ *
13
+ * @func copyKeys
14
+ * @memberOf RA
15
+ * @category Object
16
+ * @sig {a: b} -> {a: *} -> {b: *}
17
+ * @param {!Object} keysMap
18
+ * @param {!Object} obj
19
+ * @return {!Object} New object with copied keys
20
+ * @see {@link RA.renameKeys|renameKeys}
21
+ * @example
22
+ *
23
+ * copyKeys({ a: 'b' }, { a: true }); //=> { a: true, b: true }
24
+ * copyKeys({ a: 'b' }, { a: true, b: false }); //=> { a: true, b: true }
25
+ */
26
+ const copyKeys = curryN(2, (keysMap, obj) => ({
27
+ ...obj,
28
+ ...renameKeys(keysMap, obj),
29
+ }));
30
+
31
+ export default copyKeys;
package/src/index.js CHANGED
@@ -171,6 +171,7 @@ export { default as paths } from './paths';
171
171
  export { default as renameKeys } from './renameKeys';
172
172
  export { default as renameKeysWith } from './renameKeysWith';
173
173
  export { default as renameKeyWith } from './renameKeyWith';
174
+ export { default as copyKeys } from './copyKeys';
174
175
  export { default as mergeRight } from './mergeRight';
175
176
  export { default as mergeLeft } from './mergeRight';
176
177
  export { default as resetToDefault } from './mergeRight';
package/types/index.d.ts CHANGED
@@ -594,6 +594,14 @@ declare namespace RamdaAdjunct {
594
594
  renameKeys(keysMap: Dictionary<string>, obj: object): object;
595
595
  renameKeys(keysMap: Dictionary<string>): (obj: object) => object;
596
596
 
597
+ /**
598
+ * Creates a new object with the own properties of the provided object, and the
599
+ * keys copied according to the keysMap object as `{oldKey: newKey}`.
600
+ * When no key from the keysMap is found, then a shallow clone of an object is returned.
601
+ */
602
+ copyKeys(keysMap: Dictionary<string>, obj: object): object;
603
+ copyKeys(keysMap: Dictionary<string>): (obj: object) => object;
604
+
597
605
  /**
598
606
  * Creates a new object with the own properties of the provided object, but the
599
607
  * keys renamed according to logic of renaming function.