UNPKG

strikejs-react

Version:

A state management framework for ReactJS applications.

7 lines 3.27 kB
module.exports = { contents: "\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n/**\r\n * Creates a managed state object\r\n * @param {any} s the initial state to manage\r\n * @returns {IManagedState}\r\n */\r\nfunction createManagedState(s) {\r\n var state = s || null;\r\n var _changes = {};\r\n var o;\r\n var _hasChanges = false;\r\n function $set(key, val) {\r\n if (state[key] !== val) {\r\n _changes[key] = val;\r\n state[key] = val;\r\n _hasChanges = true;\r\n }\r\n return o;\r\n }\r\n function $get(key) {\r\n return state[key];\r\n }\r\n function $push(key) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var data = state[key];\r\n if (data && data.push && data.slice) {\r\n var v = data.slice(0);\r\n v.push.apply(v, args);\r\n $set(key, v);\r\n }\r\n return o;\r\n }\r\n function withMutations(cb) {\r\n cb(o);\r\n }\r\n function $splice(key, index, count) {\r\n if (count === void 0) { count = 1; }\r\n var args = [];\r\n for (var _i = 3; _i < arguments.length; _i++) {\r\n args[_i - 3] = arguments[_i];\r\n }\r\n var data = state[key];\r\n if (data && data.splice && data.slice) {\r\n var v = data.slice(0);\r\n v.splice.apply(v, [index, count].concat(args));\r\n $set(key, v);\r\n }\r\n return o;\r\n }\r\n function $shift(key) {\r\n var data = state[key];\r\n if (data && data.shift && data.slice) {\r\n var v = data.slice(0);\r\n var temp = v.shift();\r\n $set(key, v);\r\n return temp;\r\n }\r\n return;\r\n }\r\n function $unshift(key, val) {\r\n var data = state[key];\r\n if (data && data.unshift && data.slice) {\r\n var v = data.slice(0);\r\n v.unshift(val);\r\n $set(key, v);\r\n }\r\n return o;\r\n }\r\n function $pop(key) {\r\n var data = state[key];\r\n if (data && data.pop && data.slice) {\r\n var v = data.slice(0);\r\n var temp = v.pop();\r\n $set(key, v);\r\n return temp;\r\n }\r\n return;\r\n }\r\n function setState(st) {\r\n _hasChanges = false;\r\n _changes = {};\r\n state = st;\r\n return o;\r\n }\r\n function hasChanges() {\r\n return _hasChanges;\r\n }\r\n function changes() {\r\n return _changes;\r\n }\r\n o = {\r\n setState: setState,\r\n $set: $set,\r\n $push: $push,\r\n $splice: $splice,\r\n $pop: $pop,\r\n $shift: $shift,\r\n $unshift: $unshift,\r\n $get: $get,\r\n withMutations: withMutations,\r\n hasChanges: hasChanges,\r\n changes: changes\r\n };\r\n return o;\r\n}\r\nexports.createManagedState = createManagedState;\r\n", dependencies: [], sourceMap: {}, headerContent: undefined, mtime: 1507310033798, devLibsRequired : undefined };