react-redux-setstate
Version:
A HOC that overrides the React setState API to use Redux for storing component state.
57 lines (51 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.assert = assert;
exports.generateRandomKey = generateRandomKey;
exports.uuid = uuid;
var comparators = {
'=': {
compare: function compare(value, expected) {
return value === expected;
},
message: function message(value, expected) {
return 'Expected "' + value + '" to equal "' + expected + '"';
}
},
'!=': {
compare: function compare(value, expected) {
return value !== expected;
},
message: function message(value, expected) {
return 'Expected "' + value + '" not to equal "' + expected + '"';
}
}
};
function assert(value, expected) {
var comparatorKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '=';
var message = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
var comparator = comparators[comparatorKey];
if (!comparator) {
throw new Error('Unexpected comparator key "' + comparatorKey + '"');
}
if (!comparator.compare(value, expected)) {
if (message) {
throw typeof message === 'string' ? new Error(message) : message;
} else {
throw new Error(comparator.message(value, expected));
}
}
}
function generateRandomKey(props, Component) {
return (Component.displayName || Component.name || 'Anonymous') + '__' + uuid();
}
function uuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0;
var v = c === 'x' ? r : r & 0x3 | 0x8;
return v.toString(16);
});
}
//# sourceMappingURL=utils.js.map