@berish/serber
Version:
Serializable and deserializable adaptive adapter with plugins
29 lines • 953 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const typeof_1 = require("@berish/typeof");
exports.regExpPlugin = {
isForSerialize: obj => {
return typeof_1.default(obj) === 'regexp';
},
isForDeserialize: obj => {
return typeof_1.default(obj) === 'object' && 'type' in obj && 'value' in obj && obj.type === '_s_regexp_';
},
isAlreadySerialized: obj => {
return exports.regExpPlugin.isForDeserialize(obj);
},
isAlreadyDeserialized: obj => {
return exports.regExpPlugin.isForSerialize(obj);
},
serialize: obj => {
return {
type: '_s_regexp_',
value: obj.toString(),
};
},
deserialize: obj => {
const value = obj.value || '';
const lastSlash = value.lastIndexOf('/');
return new RegExp(value.slice(1, lastSlash), value.slice(lastSlash + 1));
},
};
//# sourceMappingURL=regExp.js.map