UNPKG

react-redux-setstate

Version:

A HOC that overrides the React setState API to use Redux for storing component state.

39 lines (34 loc) 1.13 kB
const comparators = { '=': { compare: (value, expected) => value === expected, message: (value, expected) => `Expected "${value}" to equal "${expected}"`, }, '!=': { compare: (value, expected) => value !== expected, message: (value, expected) => `Expected "${value}" not to equal "${expected}"`, }, } export function assert(value, expected, comparatorKey = '=', message = null) { const 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)) } } } export function generateRandomKey(props, Component) { return `${Component.displayName || Component.name || 'Anonymous'}__${uuid()}` } export function uuid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { const r = (Math.random() * 16) | 0 const v = c === 'x' ? r : (r & 0x3) | 0x8 return v.toString(16) }) }