UNPKG

@syncable/core

Version:
34 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const lodash_1 = tslib_1.__importDefault(require("lodash")); const uuid_1 = tslib_1.__importDefault(require("uuid")); function generateUniqueId() { return uuid_1.default(); } exports.generateUniqueId = generateUniqueId; function getNonCreationRefsFromRefDict(refDict) { return lodash_1.default.flatMap(Object.values(refDict), ref => Array.isArray(ref) ? ref.filter(ref => 'id' in ref) : ref && 'id' in ref ? [ref] : []); } exports.getNonCreationRefsFromRefDict = getNonCreationRefsFromRefDict; function getRefsFromRefDict(refDict) { return lodash_1.default.flatMap(Object.values(refDict), ref => Array.isArray(ref) ? ref : [ref]); } exports.getRefsFromRefDict = getRefsFromRefDict; function deepFreeze(value) { if (!lodash_1.default.isObjectLike(value)) { return; } let propertyNames = Object.getOwnPropertyNames(value); for (let propertyName of propertyNames) { let propertyValue = value[propertyName]; deepFreeze(propertyValue); } Object.freeze(value); } exports.deepFreeze = deepFreeze; //# sourceMappingURL=utils.js.map