dt-intl
Version:
I18N tools for universal javascript apps, easy use & better api;
36 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getProxyObj = exports.getDefaultProxyString = void 0;
const getDefaultProxyString = (str = '') => {
const emptyStr = new Proxy(new String(str), {
get(target, property) {
if (typeof property === 'string' &&
['valueOf', 'toString'].includes(property)) {
return () => str;
}
if (typeof property === 'string' &&
target[property] === undefined) {
return (0, exports.getDefaultProxyString)();
}
return target[property];
},
});
return emptyStr;
};
exports.getDefaultProxyString = getDefaultProxyString;
const getProxyObj = (obj) => {
return new Proxy(obj, {
get(target, property) {
const val = target[property];
if (typeof property === 'string' && val === undefined) {
return (0, exports.getDefaultProxyString)();
}
if (typeof property === 'string' && typeof val === 'object') {
return (0, exports.getProxyObj)(val);
}
return target[property];
},
});
};
exports.getProxyObj = getProxyObj;
//# sourceMappingURL=utils.js.map