UNPKG

@whisklabs/grpc

Version:

gRPC generator and http library for typescript

41 lines 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.maskWrap = exports.maskCalc = exports.mask = void 0; var typeguards_1 = require("@whisklabs/typeguards"); var utils_1 = require("./utils"); var mask = function (data) { return ({ paths: (0, exports.maskCalc)(data) }); }; exports.mask = mask; var maskCalc = function (data, keys, prefix) { if (keys === void 0) { keys = []; } if (prefix === void 0) { prefix = ''; } if (!(0, typeguards_1.isObject)(data)) { return keys; } // tslint:disable-next-line: forin for (var key in data) { var val = data[key]; var snake = (0, utils_1.snakeCase)(key); var newPrefix = (0, typeguards_1.isText)(prefix) ? "".concat(prefix, ".").concat(snake) : snake; if ((0, typeguards_1.isArray)(val)) { keys.push(newPrefix); } else if ((0, typeguards_1.isObject)(val)) { (0, exports.maskCalc)(val, keys, newPrefix); } else { keys.push(newPrefix); } } return keys; }; exports.maskCalc = maskCalc; var maskWrap = function (data, rootElement, outName) { if (outName === void 0) { outName = 'mask'; } var d = data; if ((0, typeguards_1.isObject)(d)) { d[outName] = (0, exports.mask)((0, typeguards_1.isString)(rootElement) ? d[rootElement] : d); } return data; }; exports.maskWrap = maskWrap; //# sourceMappingURL=mask.js.map