UNPKG

json-config-ts

Version:

Easy-to-use config storage via JSON with optional base-64 encryption for sensitive data

35 lines (34 loc) 1.18 kB
"use strict"; /** * Sterilize Keys */ Object.defineProperty(exports, "__esModule", { value: true }); exports.sterilizeKeys = void 0; function sterilizeKeys(Base64 = null, data = {}, mode = 'encrypt') { for (let key of this.encryptedFields) { if (key.includes('.')) { try { const paths = key.split('.'); var value = data[paths[0]]; for (let index = 1; index < paths.length; index++) { if (index != paths.length - 1) { value = value[paths[index]]; } else { if (value[paths[index]] != null) { value[paths[index]] = mode == 'encrypt' ? Base64.encode(value[paths[index]]) : Base64.decode(value[paths[index]]); } } } } catch (error) { } } else { if (data[key] != null) { data[key] = mode == 'encrypt' ? Base64.encode(data[key]) : Base64.decode(data[key]); } } } return data; } exports.sterilizeKeys = sterilizeKeys;