UNPKG

@calvear/azure-key-vault

Version:

Wrapper for @azure/keyvault-secrets for ease secrets handler in JSON files.

38 lines 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deflatten = exports.flatten = void 0; function flatten(secrets, namespace = '') { const flattened = {}; for (const key in secrets) { const value = secrets[key]; if (typeof value !== 'object' || value === null) { flattened[`${namespace}${key}`] = value; continue; } if (Array.isArray(value)) flattened[`${namespace}${key}`] = value; else Object.assign(flattened, flatten(value, `${namespace}${key}--`)); } return flattened; } exports.flatten = flatten; function deflatten(secrets) { const restored = {}; for (const key in secrets) rearmTree(restored, key.split('--'), secrets[key]); return restored; } exports.deflatten = deflatten; function rearmTree(restored, members, value) { const [namespace, ...rest] = members; if (members.length === 1) { restored[namespace] = value; } else { if (!restored[namespace]) restored[namespace] = {}; rearmTree(restored[namespace], rest, value); } } //# sourceMappingURL=flatten.util.js.map