@graphity/mapper
Version:
Decorator-based transformer of plain object to class constructors for Javascript(& Typescript).
32 lines (26 loc) • 2.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.stringTransformer = void 0;
const stringTransformer = {
to(source) {
if (source === null || typeof source === 'undefined') {
return source;
}
switch (typeof source) {
case 'string':
return source;
case 'bigint':
case 'boolean':
case 'number':
case 'function':
return `${source}`;
case 'symbol':
return source.toString();
}
return JSON.stringify(source);
}
};
exports.stringTransformer = stringTransformer;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvc3RyaW5nLXRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbInN0cmluZ1RyYW5zZm9ybWVyIiwidG8iLCJzb3VyY2UiLCJ0b1N0cmluZyIsIkpTT04iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVPLE1BQU1BLGlCQUFnRCxHQUFHO0FBQzlEQyxFQUFBQSxFQUFFLENBQUNDLE1BQUQsRUFBc0I7QUFDdEIsUUFBSUEsTUFBTSxLQUFLLElBQVgsSUFBbUIsT0FBT0EsTUFBUCxLQUFrQixXQUF6QyxFQUFzRDtBQUNwRCxhQUFPQSxNQUFQO0FBQ0Q7O0FBQ0QsWUFBUSxPQUFPQSxNQUFmO0FBQ0UsV0FBSyxRQUFMO0FBQ0UsZUFBT0EsTUFBUDs7QUFDRixXQUFLLFFBQUw7QUFDQSxXQUFLLFNBQUw7QUFDQSxXQUFLLFFBQUw7QUFDQSxXQUFLLFVBQUw7QUFDRSxlQUFRLEdBQUVBLE1BQU8sRUFBakI7O0FBQ0YsV0FBSyxRQUFMO0FBQ0UsZUFBT0EsTUFBTSxDQUFDQyxRQUFQLEVBQVA7QUFUSjs7QUFXQSxXQUFPQyxJQUFJLENBQUNDLFNBQUwsQ0FBZUgsTUFBZixDQUFQO0FBQ0Q7O0FBakI2RCxDQUF6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlVHJhbnNmb3JtZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL21hcHBlcidcblxuZXhwb3J0IGNvbnN0IHN0cmluZ1RyYW5zZm9ybWVyOiBWYWx1ZVRyYW5zZm9ybWVyPGFueSwgc3RyaW5nPiA9IHtcbiAgdG8oc291cmNlOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChzb3VyY2UgPT09IG51bGwgfHwgdHlwZW9mIHNvdXJjZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBzb3VyY2VcbiAgICB9XG4gICAgc3dpdGNoICh0eXBlb2Ygc291cmNlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICByZXR1cm4gc291cmNlXG4gICAgICBjYXNlICdiaWdpbnQnOlxuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgICByZXR1cm4gYCR7c291cmNlfWBcbiAgICAgIGNhc2UgJ3N5bWJvbCc6XG4gICAgICAgIHJldHVybiBzb3VyY2UudG9TdHJpbmcoKVxuICAgIH1cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoc291cmNlKVxuICB9LFxufVxuIl19