UNPKG

@artalar/react-single-hoc

Version:
368 lines (367 loc) 11.4 kB
!(function(e, t) { 'object' == typeof exports && 'object' == typeof module ? (module.exports = t(require('react'))) : 'function' == typeof define && define.amd ? define(['react'], t) : 'object' == typeof exports ? (exports.ups = t(require('react'))) : (e.ups = t(e.react)); })(global, function(e) { return (function(e) { var t = {}; function n(o) { if (t[o]) return t[o].exports; var r = (t[o] = { i: o, l: !1, exports: {} }); return e[o].call(r.exports, r, r.exports, n), (r.l = !0), r.exports; } return ( (n.m = e), (n.c = t), (n.d = function(e, t, o) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: o }); }), (n.r = function(e) { 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), Object.defineProperty(e, '__esModule', { value: !0 }); }), (n.t = function(e, t) { if ((1 & t && (e = n(e)), 8 & t)) return e; if (4 & t && 'object' == typeof e && e && e.__esModule) return e; var o = Object.create(null); if ( (n.r(o), Object.defineProperty(o, 'default', { enumerable: !0, value: e }), 2 & t && 'string' != typeof e) ) for (var r in e) n.d( o, r, function(t) { return e[t]; }.bind(null, r), ); return o; }), (n.n = function(e) { var t = e && e.__esModule ? function() { return e.default; } : function() { return e; }; return n.d(t, 'a', t), t; }), (n.o = function(e, t) { return Object.prototype.hasOwnProperty.call(e, t); }), (n.p = ''), n((n.s = 1)) ); })([ function(t, n) { t.exports = e; }, function(e, t, n) { 'use strict'; n.r(t); var o = n(0), r = n.n(o); function u(e) { return (u = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(e) { return typeof e; } : function(e) { return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e; })(e); } function i(e, t) { for (var n = 0; n < t.length; n++) { var o = t[n]; (o.enumerable = o.enumerable || !1), (o.configurable = !0), 'value' in o && (o.writable = !0), Object.defineProperty(e, o.key, o); } } function c(e, t) { return !t || ('object' !== u(t) && 'function' != typeof t) ? (function(e) { if (void 0 === e) throw new ReferenceError( "this hasn't been initialised - super() hasn't been called", ); return e; })(e) : t; } function f(e) { return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) { return e.__proto__ || Object.getPrototypeOf(e); })(e); } function a(e, t) { return (a = Object.setPrototypeOf || function(e, t) { return (e.__proto__ = t), e; })(e, t); } function s(e, t, n) { return ( t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : (e[t] = n), e ); } var p = r.a.createContext({}), l = p.Provider; function d(e) { var t, n; return ( (n = t = (function(t) { function n(t, o) { var r; !(function(e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function'); })(this, n), ((r = c( this, f(n).call(this, t, o), ))._componentDidMountHooks = new Set()), (r._getSnapshotBeforeUpdateHooks = new Set()), (r._componentDidUpdateHooks = new Set()), (r._componentWillUnmountHooks = new Set()), (r.state = { hooks: [] }), (r._contextExecutor = function(e) { return e(r.props, r.context); }); var u = [], i = [], a = 0, p = !0; function l(e) { try { return u.reduce(function(e, t) { return Object.assign(e, t(e)); }, Object.assign({}, e)); } finally { u.length = 0; } } function d(e) { try { i.forEach(function(t) { return t(e); }); } finally { i.length = 0; } } var y = { getInitial: function() { return ( r._preventUseHooksInRender(p), { props: t, context: o } ); }, createState: function(e) { r._preventUseHooksInRender(p); var t, n = ((t = a++), 'state #'.concat(t)); return ( (r.state[n] = e), { get: function() { return r.state[n]; }, set: function(e, t) { var o = 'function' == typeof e ? e : function() { return e; }; u.push(function(e) { return s({}, n, o(e[n])); }), t && i.push(t), r.setState(l, d); }, } ); }, addToComponentDidMount: function(e) { r._preventUseHooksInRender(p), r._componentDidMountHooks.add(e); }, addToGetSnapshotBeforeUpdate: function(e) { r._preventUseHooksInRender(p), r._getSnapshotBeforeUpdateHooks.add(e); }, addToComponentDidUpdate: function(e) { r._preventUseHooksInRender(p), r._componentDidUpdateHooks.add(e); }, addToComponentWillUnmount: function(e) { r._preventUseHooksInRender(p), r._componentWillUnmountHooks.add(e); }, }; return ( (r._render = e( function(e) { return r.state.hooks.push(e.name || e.toString()), e(y); }, t, o, )), (p = !1), r ); } var o, u, p; return ( (function(e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function', ); (e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 }, })), t && a(e, t); })(n, r.a.Component), (o = n), (u = [ { key: '_preventUseHooksInRender', value: function(e) { if (!e) throw new Error( 'You can not use hooks outside initial phase', ); }, }, { key: 'componentDidMount', value: function() { this._componentDidMountHooks.forEach(this._contextExecutor); }, }, { key: 'getSnapshotBeforeUpdate', value: function() { return ( this._getSnapshotBeforeUpdateHooks.forEach( this._contextExecutor, ), null ); }, }, { key: 'componentDidUpdate', value: function() { this._componentDidUpdateHooks.forEach( this._contextExecutor, ); }, }, { key: 'componentWillUnmount', value: function() { this._componentWillUnmountHooks.forEach( this._contextExecutor, ); }, }, { key: 'render', value: function() { return this._render(this.props); }, }, ]) && i(o.prototype, u), p && i(o, p), n ); })()), s(t, 'contextType', p.Consumer), n ); } function y(e) { return function(t) { return t.createState(e); }; } function b(e) { if ('function' != typeof e) throw new TypeError( '@@react-single-hoc: effect callback must be function', ); return function(t) { t.addToComponentDidUpdate(e); }; } function m() {} function h(e) { if ('function' != typeof e) throw new TypeError( '@@react-single-hoc: subscriber callback must be function', ); return function(t) { var n = m; t.addToComponentDidMount(function() { if (void 0 !== (n = e())) { if ('function' != typeof n) throw new TypeError( '@@react-single-hoc: subscriber callback may return only function or nothing', ); } else n = m; }), t.addToComponentWillUnmount(function() { n(); }); }; } n.d(t, 'Provider', function() { return l; }), n.d(t, 'createHOC', function() { return d; }), n.d(t, 'createState', function() { return y; }), n.d(t, 'createEffect', function() { return b; }), n.d(t, 'createSubscriber', function() { return h; }), (d.Provider = l); t.default = d; }, ]); });