UNPKG

@aeternity/aepp-sdk

Version:
70 lines (64 loc) 2.73 kB
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray"; import _typeof from "@babel/runtime-corejs3/helpers/typeof"; import _Promise from "@babel/runtime-corejs3/core-js-stable/promise"; import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout"; import _Object$fromEntries from "@babel/runtime-corejs3/core-js-stable/object/from-entries"; import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map"; import _Object$entries from "@babel/runtime-corejs3/core-js-stable/object/entries"; import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter"; import _Array$isArray from "@babel/runtime-corejs3/core-js-stable/array/is-array"; import _bindInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/bind"; import { snakeToPascal, pascalToSnake } from './string'; export var pause = function pause(duration) { return new _Promise(function (resolve) { return _setTimeout(resolve, duration); }); }; export var mapObject = function mapObject(object, fn) { var _context; return _Object$fromEntries(_mapInstanceProperty(_context = _Object$entries(object)).call(_context, fn)); }; export var filterObject = function filterObject(object, fn) { var _context2; return _Object$fromEntries(_filterInstanceProperty(_context2 = _Object$entries(object)).call(_context2, fn)); }; /** * Key traversal metafunction * @static * @function * @rtype (fn: (s: String) => String) => (o: Object) => Object * @param {Function} fn - Key transformation function * @param {Object} object - Object to traverse * @return {Object} Transformed object */ export var traverseKeys = function traverseKeys(fn, object) { if (_typeof(object) !== 'object' || object === null) return object; if (_Array$isArray(object)) return _mapInstanceProperty(object).call(object, function (i) { return traverseKeys(fn, i); }); return mapObject(object, function (_ref) { var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; return [fn(key), traverseKeys(fn, value)]; }); }; /** * snake_case key traversal * @static * @rtype (o: Object) => Object * @param {Object} object - Object to traverse * @return {Object} Transformed object * @see pascalToSnake */ export var snakizeKeys = _bindInstanceProperty(traverseKeys).call(traverseKeys, null, pascalToSnake); /** * PascalCase key traversal * @static * @rtype (o: Object) => Object * @param {Object} object - Object to traverse * @return {Object} Transformed object * @see snakeToPascal */ export var pascalizeKeys = _bindInstanceProperty(traverseKeys).call(traverseKeys, null, snakeToPascal); //# sourceMappingURL=other.js.map