UNPKG

react-web-native-sketch

Version:

[TODO: We need an overview of how this can be used via npm vs as a local package]

71 lines 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var platform_1 = require("../primitives/platform/platform"); var redux_persist_1 = require("redux-persist"); var theme_1 = require("./theme"); var redux_persist_2 = require("redux-persist"); exports.autoRehydrate = redux_persist_2.autoRehydrate; function isObject(obj) { return obj && obj instanceof Object && obj.constructor === Object; } exports.isObject = isObject; exports.isXs = function () { return platform_1.getWindowWidth() < theme_1.XS_BREAKING_POINT; }; function getNestedField(obj, fieldNames) { var currentField = obj; for (var _i = 0, fieldNames_1 = fieldNames; _i < fieldNames_1.length; _i++) { var fieldName = fieldNames_1[_i]; if (currentField === null || currentField === undefined) { return null; } currentField = currentField[fieldName]; } return currentField; } exports.getNestedField = getNestedField; function shallowEqual(a, b) { return objectsEqual(a, b) && objectsEqual(b, a); } exports.shallowEqual = shallowEqual; function objectsEqual(a, b) { if (!!a !== !!b) { return false; } for (var key in a) { if (!(key in b) || a[key] !== b[key]) { if (isObject(a[key]) && isObject(b[key])) { if (!shallowEqual(a[key], b[key])) { return false; } } else if (!Array.isArray(a[key]) && !Array.isArray(b[key]) || !arraysEqual(a[key], b[key])) { return false; } } } return true; } function arraysEqual(arr1, arr2) { arr1 = arr1 || []; arr2 = arr2 || []; if (arr1.length !== arr2.length) return false; for (var i = arr1.length; i--;) { if (isObject(arr1[i]) && isObject(arr2[i])) { if (!shallowEqual(arr1[i], arr2[i])) { return false; } } else if (arr1[i] !== arr2[i]) { return false; } } return true; } exports.getPersistStore = function (store) { redux_persist_1.persistStore(store, { storage: platform_1.getStorage(), whitelist: ['persisted'], blacklist: ['map'], }); }; //# sourceMappingURL=common.js.map