curated-node
Version:
Not a framework. Not a module. Just a bunch of Node.js packages you most likely familiar with and probably already use, bundled together in a modular fashion.
24 lines • 2.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectUtils = void 0;
var ObjectUtils = (function () {
function ObjectUtils() {
}
ObjectUtils.deepFreeze = function (o) {
Object.freeze(o);
if (o === undefined) {
return o;
}
Object.getOwnPropertyNames(o).forEach(function (prop) {
if (o[prop] !== null &&
(typeof o[prop] === "object" || typeof o[prop] === "function") &&
!Object.isFrozen(o[prop])) {
ObjectUtils.deepFreeze(o[prop]);
}
});
return o;
};
return ObjectUtils;
}());
exports.ObjectUtils = ObjectUtils;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL09iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTtJQUFBO0lBbUJBLENBQUM7SUFsQmUsc0JBQVUsR0FBeEIsVUFBeUIsQ0FBdUI7UUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoQixJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFDbkIsT0FBTyxDQUFDLENBQUE7U0FDVDtRQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxJQUFJO1lBQ2xELElBQ0UsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUk7Z0JBQ2hCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQztnQkFDOUQsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUN6QjtnQkFDQSxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFFRixPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUFuQkQsSUFtQkM7QUFuQlksa0NBQVciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgT2JqZWN0VXRpbHMge1xuICBwdWJsaWMgc3RhdGljIGRlZXBGcmVlemUobzogeyBbazogc3RyaW5nXTogYW55IH0pIHtcbiAgICBPYmplY3QuZnJlZXplKG8pXG4gICAgaWYgKG8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG9cbiAgICB9XG5cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG9bcHJvcF0gIT09IG51bGwgJiZcbiAgICAgICAgKHR5cGVvZiBvW3Byb3BdID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBvW3Byb3BdID09PSBcImZ1bmN0aW9uXCIpICYmXG4gICAgICAgICFPYmplY3QuaXNGcm96ZW4ob1twcm9wXSlcbiAgICAgICkge1xuICAgICAgICBPYmplY3RVdGlscy5kZWVwRnJlZXplKG9bcHJvcF0pXG4gICAgICB9XG4gICAgfSlcblxuICAgIHJldHVybiBvXG4gIH1cbn1cbiJdfQ==