UNPKG

mobx-persist-store

Version:
38 lines (37 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeSerializableProperties = void 0; const configurePersistable_1 = require("./configurePersistable"); const utils_1 = require("./utils"); const isSerializableProperty = (obj) => { const keys = ['key', 'serialize', 'deserialize']; if (!(0, utils_1.isObject)(obj)) { (0, utils_1.consoleDebug)(!!configurePersistable_1.mpsConfig.debugMode, 'passed value is not an object', { obj }); return false; } return keys.every((key) => { if (obj.hasOwnProperty(key) && typeof key !== 'undefined') { return true; } (0, utils_1.consoleDebug)(!!configurePersistable_1.mpsConfig.debugMode, `${String(key)} not found in SerializableProperty`, { key, obj }); return false; }); }; const makeSerializableProperties = (properties) => { return properties.reduce((acc, curr) => { if (typeof curr === 'string') { acc.push({ key: curr, serialize: (value) => value, deserialize: (value) => value, }); return acc; } if (isSerializableProperty(curr)) { acc.push(curr); return acc; } return acc; }, []); }; exports.makeSerializableProperties = makeSerializableProperties;