@voiceflow/common
Version:
Junk drawer of utility functions
24 lines (23 loc) • 1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.remapObjectIDs = exports.objectID = exports.cuid = void 0;
const bson_objectid_1 = __importDefault(require("bson-objectid"));
const cuid_1 = __importDefault(require("cuid"));
exports.cuid = cuid_1.default;
const object_1 = require("./object");
const objectID = () => new bson_objectid_1.default().toHexString();
exports.objectID = objectID;
const remapObjectIDs = (object, lookupMap) => {
const map = lookupMap instanceof Map ? lookupMap : new Map(Object.entries(lookupMap));
const mapping = (value) => {
if (typeof value === 'string' && map.has(value)) {
return map.get(value);
}
return value;
};
return (0, object_1.deepMapKeys)((0, object_1.deepMap)(object, mapping), mapping);
};
exports.remapObjectIDs = remapObjectIDs;