santi 0.0.0-beta.41 → 0.0.0-beta.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -3,6 +3,44 @@ import hoistStatics from 'hoist-non-react-statics';
3
3
  import NodeKey from 'react-node-key';
4
4
  import ReactDOM from 'react-dom';
5
5
 
6
+ function ownKeys(object, enumerableOnly) {
7
+ var keys = Object.keys(object);
8
+
9
+ if (Object.getOwnPropertySymbols) {
10
+ var symbols = Object.getOwnPropertySymbols(object);
11
+
12
+ if (enumerableOnly) {
13
+ symbols = symbols.filter(function (sym) {
14
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
15
+ });
16
+ }
17
+
18
+ keys.push.apply(keys, symbols);
19
+ }
20
+
21
+ return keys;
22
+ }
23
+
24
+ function _objectSpread2(target) {
25
+ for (var i = 1; i < arguments.length; i++) {
26
+ var source = arguments[i] != null ? arguments[i] : {};
27
+
28
+ if (i % 2) {
29
+ ownKeys(Object(source), true).forEach(function (key) {
30
+ _defineProperty(target, key, source[key]);
31
+ });
32
+ } else if (Object.getOwnPropertyDescriptors) {
33
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
34
+ } else {
35
+ ownKeys(Object(source)).forEach(function (key) {
36
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
37
+ });
38
+ }
39
+ }
40
+
41
+ return target;
42
+ }
43
+
6
44
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
7
45
  try {
8
46
  var info = gen[key](arg);
@@ -72,40 +110,6 @@ function _extends() {
72
110
  return _extends.apply(this, arguments);
73
111
  }
74
112
 
75
- function ownKeys(object, enumerableOnly) {
76
- var keys = Object.keys(object);
77
-
78
- if (Object.getOwnPropertySymbols) {
79
- var symbols = Object.getOwnPropertySymbols(object);
80
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
81
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
82
- });
83
- keys.push.apply(keys, symbols);
84
- }
85
-
86
- return keys;
87
- }
88
-
89
- function _objectSpread2(target) {
90
- for (var i = 1; i < arguments.length; i++) {
91
- var source = arguments[i] != null ? arguments[i] : {};
92
-
93
- if (i % 2) {
94
- ownKeys(Object(source), true).forEach(function (key) {
95
- _defineProperty(target, key, source[key]);
96
- });
97
- } else if (Object.getOwnPropertyDescriptors) {
98
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
99
- } else {
100
- ownKeys(Object(source)).forEach(function (key) {
101
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
102
- });
103
- }
104
- }
105
-
106
- return target;
107
- }
108
-
109
113
  function _objectWithoutPropertiesLoose(source, excluded) {
110
114
  if (source == null) return {};
111
115
  var target = {};
@@ -151,14 +155,17 @@ function _arrayWithHoles(arr) {
151
155
  }
152
156
 
153
157
  function _iterableToArrayLimit(arr, i) {
154
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
158
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
159
+
160
+ if (_i == null) return;
155
161
  var _arr = [];
156
162
  var _n = true;
157
163
  var _d = false;
158
- var _e = undefined;
164
+
165
+ var _s, _e;
159
166
 
160
167
  try {
161
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
168
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
162
169
  _arr.push(_s.value);
163
170
 
164
171
  if (i && _arr.length === i) break;
@@ -310,6 +317,7 @@ var promiseGuess = function promiseGuess(executor, valuer) {
310
317
  };
311
318
  };
312
319
 
320
+ var _excluded = ["forwardRef", "__key"];
313
321
  var _filehash = "nNBh";
314
322
  var context = /*#__PURE__*/createContext();
315
323
  var Provider = context.Provider;
@@ -318,7 +326,7 @@ function withSanti(Component) {
318
326
  function WrappedComponent(_ref) {
319
327
  var forwardRef = _ref.forwardRef,
320
328
  nodeKey = _ref.__key,
321
- props = _objectWithoutProperties(_ref, ["forwardRef", "__key"]);
329
+ props = _objectWithoutProperties(_ref, _excluded);
322
330
 
323
331
  var count = 0;
324
332
  var contextValue = useMemo(function () {
@@ -497,6 +505,7 @@ function useState(initialState, key) {
497
505
  }, nodeKey];
498
506
  }
499
507
 
508
+ var _excluded$1 = ["forwardedRef"];
500
509
  var _filehash$1 = "8NS2";
501
510
 
502
511
  var getInitialProps = function getInitialProps(fetch) {
@@ -505,7 +514,7 @@ var getInitialProps = function getInitialProps(fetch) {
505
514
  return function (Component) {
506
515
  function WrappedComponent(_ref) {
507
516
  var forwardedRef = _ref.forwardedRef,
508
- props = _objectWithoutProperties(_ref, ["forwardedRef"]);
517
+ props = _objectWithoutProperties(_ref, _excluded$1);
509
518
 
510
519
  var _useState = useState$1(false),
511
520
  _useState2 = _slicedToArray(_useState, 2),
@@ -10,6 +10,44 @@ var hoistStatics = _interopDefault(require('hoist-non-react-statics'));
10
10
  var NodeKey = _interopDefault(require('react-node-key'));
11
11
  var ReactDOM = _interopDefault(require('react-dom'));
12
12
 
13
+ function ownKeys(object, enumerableOnly) {
14
+ var keys = Object.keys(object);
15
+
16
+ if (Object.getOwnPropertySymbols) {
17
+ var symbols = Object.getOwnPropertySymbols(object);
18
+
19
+ if (enumerableOnly) {
20
+ symbols = symbols.filter(function (sym) {
21
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
22
+ });
23
+ }
24
+
25
+ keys.push.apply(keys, symbols);
26
+ }
27
+
28
+ return keys;
29
+ }
30
+
31
+ function _objectSpread2(target) {
32
+ for (var i = 1; i < arguments.length; i++) {
33
+ var source = arguments[i] != null ? arguments[i] : {};
34
+
35
+ if (i % 2) {
36
+ ownKeys(Object(source), true).forEach(function (key) {
37
+ _defineProperty(target, key, source[key]);
38
+ });
39
+ } else if (Object.getOwnPropertyDescriptors) {
40
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
41
+ } else {
42
+ ownKeys(Object(source)).forEach(function (key) {
43
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
44
+ });
45
+ }
46
+ }
47
+
48
+ return target;
49
+ }
50
+
13
51
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
14
52
  try {
15
53
  var info = gen[key](arg);
@@ -79,40 +117,6 @@ function _extends() {
79
117
  return _extends.apply(this, arguments);
80
118
  }
81
119
 
82
- function ownKeys(object, enumerableOnly) {
83
- var keys = Object.keys(object);
84
-
85
- if (Object.getOwnPropertySymbols) {
86
- var symbols = Object.getOwnPropertySymbols(object);
87
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
88
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
89
- });
90
- keys.push.apply(keys, symbols);
91
- }
92
-
93
- return keys;
94
- }
95
-
96
- function _objectSpread2(target) {
97
- for (var i = 1; i < arguments.length; i++) {
98
- var source = arguments[i] != null ? arguments[i] : {};
99
-
100
- if (i % 2) {
101
- ownKeys(Object(source), true).forEach(function (key) {
102
- _defineProperty(target, key, source[key]);
103
- });
104
- } else if (Object.getOwnPropertyDescriptors) {
105
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
106
- } else {
107
- ownKeys(Object(source)).forEach(function (key) {
108
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
109
- });
110
- }
111
- }
112
-
113
- return target;
114
- }
115
-
116
120
  function _objectWithoutPropertiesLoose(source, excluded) {
117
121
  if (source == null) return {};
118
122
  var target = {};
@@ -158,14 +162,17 @@ function _arrayWithHoles(arr) {
158
162
  }
159
163
 
160
164
  function _iterableToArrayLimit(arr, i) {
161
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
165
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
166
+
167
+ if (_i == null) return;
162
168
  var _arr = [];
163
169
  var _n = true;
164
170
  var _d = false;
165
- var _e = undefined;
171
+
172
+ var _s, _e;
166
173
 
167
174
  try {
168
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
175
+ for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
169
176
  _arr.push(_s.value);
170
177
 
171
178
  if (i && _arr.length === i) break;
@@ -317,6 +324,7 @@ var promiseGuess = function promiseGuess(executor, valuer) {
317
324
  };
318
325
  };
319
326
 
327
+ var _excluded = ["forwardRef", "__key"];
320
328
  var _filehash = "nNBh";
321
329
  var context = /*#__PURE__*/React.createContext();
322
330
  var Provider = context.Provider;
@@ -325,7 +333,7 @@ function withSanti(Component) {
325
333
  function WrappedComponent(_ref) {
326
334
  var forwardRef = _ref.forwardRef,
327
335
  nodeKey = _ref.__key,
328
- props = _objectWithoutProperties(_ref, ["forwardRef", "__key"]);
336
+ props = _objectWithoutProperties(_ref, _excluded);
329
337
 
330
338
  var count = 0;
331
339
  var contextValue = React.useMemo(function () {
@@ -504,6 +512,7 @@ function useState(initialState, key) {
504
512
  }, nodeKey];
505
513
  }
506
514
 
515
+ var _excluded$1 = ["forwardedRef"];
507
516
  var _filehash$1 = "8NS2";
508
517
 
509
518
  var getInitialProps = function getInitialProps(fetch) {
@@ -512,7 +521,7 @@ var getInitialProps = function getInitialProps(fetch) {
512
521
  return function (Component) {
513
522
  function WrappedComponent(_ref) {
514
523
  var forwardedRef = _ref.forwardedRef,
515
- props = _objectWithoutProperties(_ref, ["forwardedRef"]);
524
+ props = _objectWithoutProperties(_ref, _excluded$1);
516
525
 
517
526
  var _useState = React.useState(false),
518
527
  _useState2 = _slicedToArray(_useState, 2),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../client/helpers/base/is/index.js","../../client/helpers/base/try/index.js","../../client/helpers/utils.js","../../client/withSanti.js","../../client/store.js","../../client/useState.js","../../client/getInitialProps.js","../../client/ready.js","../../client/components/Container/index.js","../../client/render.js","../../client/components/Ready/index.js","../../client/components/NoSSR/index.js","../../client/index.js"],"sourcesContent":["// 值类型判断 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nexport const isUndefined = val => typeof val === 'undefined'\n\nexport const isNull = val => val === null\n\nexport const isFunction = val => typeof val === 'function'\n\nexport const isArray = val =>\n isFunction(Array.isArray) ? Array.isArray(val) : val instanceof Array\n\nexport const isRegExp = val => val instanceof RegExp\n\nexport const isObject = val =>\n typeof val === 'object' && !(isArray(val) || isNull(val))\n\nexport const isBoolean = val => typeof val === 'boolean'\n\nexport const isString = val => typeof val === 'string'\n\nexport const isExist = val => !(isUndefined(val) || isNull(val))\n\nexport const isNaN = val =>\n isFunction(Number.isNaN) ? Number.isNaN(val) : val !== val // eslint-disable-line\n\nexport const isNumber = val => typeof val === 'number' && !isNaN(val)\n\nexport const isPromiseLike = val => isExist(val) && isFunction(val.then)\n// 值类型判断 -------------------------------------------------------------\n","import { isString, isUndefined, isFunction, isNumber } from '../is'\n\nexport const get = (obj, keys = [], defaultValue) => {\n try {\n if (isNumber(keys)) {\n keys = String(keys)\n }\n let result = (isString(keys) ? keys.split('.') : keys).reduce(\n (res, key) => res[key],\n obj\n )\n return isUndefined(result) ? defaultValue : result\n } catch (e) {\n return defaultValue\n }\n}\n\nexport const run = (obj, keys = [], ...args) => {\n keys = isString(keys) ? keys.split('.') : keys\n\n const func = get(obj, keys)\n const context = get(obj, keys.slice(0, -1))\n\n return isFunction(func) ? func.call(context, ...args) : func\n}\n\nexport const value = (...values) =>\n values.reduce(\n (value, nextValue) => (isUndefined(value) ? run(nextValue) : run(value)),\n undefined\n )\n","import { isArray, isPromiseLike } from './base/is'\n\nexport const nextTick = (func) => Promise.resolve().then(func)\n\nexport const delay = (time) =>\n new Promise((resolve) => setTimeout(resolve, time))\n\n/**\n * [防抖]\n * @param {Function} func 执行函数\n * @param {Number} wait 多少毫秒后运行一次\n */\nexport const debounce = (func, wait = 16) => {\n let timeout\n\n return function (...args) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n func.apply(this, args)\n }, wait)\n\n return timeout\n }\n}\n\n/**\n * [用来智能处理Promise类型返回值]\n * 当值生成过程为 promise 时,将得到 promise 类型返回值,按约定 resolve 最终值\n * 当过程不为 promise 时将直接得到值\n * @param {Function} executor 执行过程获取\n * @param {Function} valuer 值处理过程\n */\nexport const promiseGuess = (executor, valuer) =>\n function (...args) {\n let value = executor.apply(this, args)\n\n return isPromiseLike(value)\n ? new Promise((resolve) =>\n value\n .then((value) => resolve(valuer.call(this, null, value, ...args)))\n .catch((err) => resolve(valuer.call(this, err, undefined, ...args)))\n )\n : valuer.call(this, null, value, ...args)\n }\n\nexport function getKey2Id() {\n let uuid = 0\n const map = new Map()\n\n // 对每种 NodeType 做编号处理\n return function key2Id(key) {\n let id = map.get(key)\n\n if (!id) {\n id = (++uuid).toString(32)\n map.set(key, id)\n }\n\n return id\n }\n}\n\nexport function isBrowser() {\n return !window.__SSR__\n}\n\nexport function isPrerendering() {\n return !!window.__PR__\n}\n","import React, { forwardRef, createContext, useContext, useMemo } from 'react'\nimport hoistStatics from 'hoist-non-react-statics'\nimport NodeKey from 'react-node-key'\n\nconst context = createContext()\nconst { Provider } = context\n\nfunction withSanti(Component) {\n function WrappedComponent({ forwardRef, __key: nodeKey, ...props }) {\n let count = 0\n const contextValue = useMemo(\n () => ({\n nodeKey,\n getCountedKey: () => (nodeKey ? `${nodeKey}:${count++}` : undefined)\n }),\n [nodeKey]\n )\n\n return (\n <Provider value={contextValue}>\n <Component {...props} ref={forwardRef} />\n </Provider>\n )\n }\n\n const ForwardedRefHOC = forwardRef((props, ref) => (\n <NodeKey>\n {nodeKey => (\n <WrappedComponent {...props} forwardedRef={ref} __key={nodeKey} />\n )}\n </NodeKey>\n ))\n\n return hoistStatics(ForwardedRefHOC, WrappedComponent)\n}\n\nexport function useNodeKey() {\n return (\n useContext(context) || {\n nodeKey: undefined,\n getCountedKey: () => undefined\n }\n )\n}\n\nexport function useSID() {\n const { nodeKey: sid, getCountedKey: getCountedSID } = useNodeKey()\n return { sid, getCountedSID }\n}\n\nexport default withSanti\n","import { run, isUndefined, promiseGuess, isExist } from './helpers'\n\nconst KEY = '__SSRDATA__'\n\nfunction inject() {\n let script = document.getElementById(KEY) || document.createElement('script')\n script.id = KEY\n script.innerHTML = `window.${KEY}={};`\n document.head.appendChild(script)\n}\n\nfunction bootstrap() {\n if (window.__SSR__) {\n inject()\n } else {\n if (isExist(document.getElementById(KEY))) {\n window.__SSRED__ = true\n }\n }\n const data = window[KEY] || {}\n\n function remove(key) {\n delete data[key]\n }\n\n function set(key, value) {\n if (!window.__SSR__) {\n return\n }\n data[key] = value\n document.getElementById(KEY).innerHTML = `window.${KEY}=${JSON.stringify(\n data\n )};`\n }\n\n function get(key) {\n let value = data[key]\n remove(key) // 初始值只在 html 就绪后使用一次,使用即销毁\n return value\n }\n\n return { set, get, remove }\n}\n\nconst store = bootstrap()\n\nexport default {\n get: promiseGuess(\n (key, builder) => {\n if (!key && window.__SSR__) {\n // 若无 key 则 SSR 阶段不计算\n return undefined\n }\n\n let value\n\n if (!window.__SSR__) {\n value = store.get(key)\n }\n\n if (isUndefined(value)) {\n value = run(builder)\n }\n\n return value\n },\n (err, value, key) => {\n if (!key) {\n return [null, value]\n }\n\n if (err) {\n store.remove(key)\n return [err, undefined]\n }\n\n if (window.__SSR__) {\n store.set(key, value)\n }\n\n return [null, value]\n }\n ),\n set: store.set\n}\n","import { useState as useReactState } from 'react'\n\nimport { run, debounce } from './helpers'\nimport { useNodeKey } from './withSanti'\nimport store from './store'\n\nconst warningMissingKey = debounce(() => {\n if (window.__SSR__) {\n return\n }\n\n console.warn('You shouldn\\'t use \"santi.useState\" outside a \"withSanti\"')\n}, 32)\n\nfunction useState(initialState, key) {\n const { getCountedKey } = useNodeKey()\n const nodeKey = key || run(getCountedKey)\n const [state, setState] = useReactState(() => {\n if (!nodeKey) {\n warningMissingKey()\n }\n\n const [err, value] = store.get(nodeKey, initialState)\n\n if (err) {\n console.error(err)\n }\n\n return value\n })\n\n return [\n state,\n getNextState => {\n const nextState = run(getNextState, undefined, state)\n\n store.set(nodeKey, nextState)\n\n return setState(nextState)\n },\n nodeKey\n ]\n}\n\nexport default useState\n","import React, { useState, forwardRef, useRef, useEffect } from 'react'\nimport hoistStatics from 'hoist-non-react-statics'\n\nimport { run } from './helpers'\nimport withSanti, { useNodeKey } from './withSanti'\nimport store from './store'\n\nconst getInitialProps = (fetch, fallback = null, key) => Component => {\n function WrappedComponent({ forwardedRef, ...props }) {\n const [ready, setReady] = useState(false)\n const [ssrProps, setSsrProps] = useState({})\n const mounted = useRef(true)\n const { getCountedKey } = useNodeKey()\n const nodeKey = key || run(getCountedKey)\n\n useEffect(() => {\n async function init() {\n const [err, ssrProps] = await store.get(nodeKey, () =>\n run(fetch, undefined, props)\n )\n\n if (err) {\n console.error('[getInitialProps error]', err)\n return\n }\n\n if (mounted.current && ssrProps) {\n setSsrProps(ssrProps)\n setReady(true)\n }\n }\n\n init()\n\n return () => {\n mounted.current = false\n }\n }, [])\n\n return ready ? (\n <Component {...{ ...props, ...ssrProps }} ref={forwardedRef} />\n ) : (\n run(fallback, undefined, props)\n )\n }\n\n const ForwardedRefHOC = forwardRef((props, ref) => (\n <WrappedComponent {...props} forwardedRef={ref} />\n ))\n\n return withSanti(hoistStatics(ForwardedRefHOC, WrappedComponent))\n}\n\nexport default getInitialProps\n","import { delay } from './helpers'\n\nconst ready = async (delayMillisecond = -1) => {\n try {\n if (delayMillisecond && Number(delayMillisecond) >= 0) {\n await delay(delayMillisecond)\n }\n\n if (window.__SSR__ && !window.__SSRREADY__) {\n const script = document.createElement('script')\n script.innerHTML = 'window.__SSRREADY__=true'\n document.head.appendChild(script)\n }\n // ssr 阶段:通知 santi 可以采集页面内容\n // csr 阶段:通知 santi/render 已完成呈现\n document.dispatchEvent(new Event('ssr-ready'))\n } finally {\n // nothing\n }\n}\n\nexport default ready\n","import withSanti from '../../withSanti'\n\nexport default withSanti(({ children }) => children)\n","import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport Container from './components/Container'\nimport { isFunction } from './helpers'\n\nconst ROOT_KEY = 'ssr-root'\n\nfunction render(content, container, callback) {\n const element = <Container>{content}</Container>\n\n // 支持热加载\n // FIXME: Dev 阶段会导致渲染抖动\n if (module.hot) {\n return ReactDOM.render(element, container, callback)\n }\n\n // ssr 阶段将内容渲染至动态生成的 ssr-root 节点中\n if (window.__SSR__) {\n let ssrRoot = document.getElementById(ROOT_KEY)\n if (!ssrRoot) {\n ssrRoot = document.createElement('div')\n ssrRoot.style.cssText = 'width:100%;height:100%;'\n ssrRoot.id = ROOT_KEY\n document.body.insertBefore(ssrRoot, container)\n }\n\n return ReactDOM.render(element, ssrRoot, callback)\n }\n\n // csr 阶段若为 ssr 渲染结果,则在 csr 完成后替换 ssr 结果\n // 注:不使用水合操作(ReactDOM.hydrate)因为可能造成节点错误问题\n if (window.__SSRED__) {\n const ssrRoot = document.getElementById(ROOT_KEY)\n let renderCallback = callback\n\n container.style.display = 'none'\n container.innerHTML = ssrRoot.innerHTML\n\n function display() {\n // 做一定延时,尽可能保证平滑呈现\n setTimeout(() => {\n const ssrRoot = document.getElementById(ROOT_KEY)\n if (ssrRoot) {\n try {\n ssrRoot.parentNode.removeChild(ssrRoot)\n } finally {\n // nothing\n }\n }\n container.style.display = ''\n }, 56)\n }\n\n // 若为快照 ssr 则 csr 阶段将同样收到 ssr-ready 事件,在此事件后平滑呈现真实可用交互\n if (window.__SSRREADY__) {\n function onReady() {\n display()\n document.removeEventListener('ssr-ready', onReady)\n }\n document.addEventListener('ssr-ready', onReady)\n } else {\n // 若不为快照 ssr(一般为超时自动快照),则在 render 回调结束后呈现真实结果\n renderCallback = function(...args) {\n // FIXME: 超时快照可能造成呈现不平滑,具体表现为 SSR 切到真实内容过程中有轻微空屏现象,通俗为 “闪一下”,此问题待完美修正\n display()\n\n if (isFunction(callback)) {\n callback.apply(this, args)\n }\n }\n }\n\n return ReactDOM.render(element, container, renderCallback)\n }\n\n // csr 若不为 ssr 渲染结果则正常渲染\n return ReactDOM.render(element, container, callback)\n}\n\nexport default render\n","import React, { useState, useEffect } from 'react'\n\nimport ready from '../../ready'\n\nfunction Ready({ children, delay, onMount = false, when = false }) {\n useEffect(() => {\n if (onMount) {\n ready(delay)\n }\n }, [])\n\n useEffect(() => {\n if (when) {\n ready(delay)\n }\n }, [when])\n\n return children\n}\n\nfunction ReadyOnMount({ children, delay }) {\n const [ready, setReady] = useState(false)\n useEffect(() => {\n setReady(true)\n }, [])\n\n return (\n <Ready delay={delay} when={ready}>\n {children}\n </Ready>\n )\n}\n\nReady.OnMount = ReadyOnMount\n\nexport default Ready\n","import { run } from '../../helpers'\n\nfunction NoSSR({ children, fallback = null }) {\n return window.__SSR__ ? run(fallback) : children\n}\n\nexport default NoSSR\n","import useState from './useState'\nimport getInitialProps from './getInitialProps'\nimport ready from './ready'\nimport render from './render'\nimport store from './store'\nimport withSanti, { useNodeKey, useSID } from './withSanti'\nimport Ready from './components/Ready'\nimport NoSSR from './components/NoSSR'\n\nexport default {\n render,\n store,\n useState,\n getInitialProps,\n ready,\n withSanti,\n useNodeKey,\n useSID,\n Ready,\n NoSSR\n}\n\nexport {\n render,\n store,\n useState,\n getInitialProps,\n ready,\n withSanti,\n useNodeKey,\n useSID,\n Ready,\n NoSSR\n}\n"],"names":["isUndefined","val","isNull","isFunction","isString","isExist","isNaN","Number","isNumber","isPromiseLike","then","get","obj","keys","defaultValue","String","result","split","reduce","res","key","e","run","func","context","slice","args","call","delay","time","Promise","resolve","setTimeout","debounce","wait","timeout","clearTimeout","apply","promiseGuess","executor","valuer","value","err","undefined","createContext","Provider","withSanti","Component","WrappedComponent","forwardRef","nodeKey","__key","props","count","contextValue","useMemo","getCountedKey","React","ForwardedRefHOC","ref","hoistStatics","useNodeKey","useContext","useSID","sid","getCountedSID","KEY","inject","script","document","getElementById","createElement","id","innerHTML","head","appendChild","bootstrap","window","__SSR__","__SSRED__","data","remove","set","JSON","stringify","store","builder","warningMissingKey","console","warn","useState","initialState","useReactState","error","state","setState","getNextState","nextState","getInitialProps","fetch","fallback","forwardedRef","ready","setReady","ssrProps","setSsrProps","mounted","useRef","useEffect","init","current","delayMillisecond","__SSRREADY__","dispatchEvent","Event","children","ROOT_KEY","render","content","container","callback","element","module","hot","ReactDOM","ssrRoot","style","cssText","body","insertBefore","display","parentNode","removeChild","renderCallback","onReady","removeEventListener","addEventListener","Ready","onMount","when","ReadyOnMount","OnMount","NoSSR"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../client/helpers/base/is/index.js","../../client/helpers/base/try/index.js","../../client/helpers/utils.js","../../client/withSanti.js","../../client/store.js","../../client/useState.js","../../client/getInitialProps.js","../../client/ready.js","../../client/components/Container/index.js","../../client/render.js","../../client/components/Ready/index.js","../../client/components/NoSSR/index.js","../../client/index.js"],"sourcesContent":["// 值类型判断 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nexport const isUndefined = val => typeof val === 'undefined'\n\nexport const isNull = val => val === null\n\nexport const isFunction = val => typeof val === 'function'\n\nexport const isArray = val =>\n isFunction(Array.isArray) ? Array.isArray(val) : val instanceof Array\n\nexport const isRegExp = val => val instanceof RegExp\n\nexport const isObject = val =>\n typeof val === 'object' && !(isArray(val) || isNull(val))\n\nexport const isBoolean = val => typeof val === 'boolean'\n\nexport const isString = val => typeof val === 'string'\n\nexport const isExist = val => !(isUndefined(val) || isNull(val))\n\nexport const isNaN = val =>\n isFunction(Number.isNaN) ? Number.isNaN(val) : val !== val // eslint-disable-line\n\nexport const isNumber = val => typeof val === 'number' && !isNaN(val)\n\nexport const isPromiseLike = val => isExist(val) && isFunction(val.then)\n// 值类型判断 -------------------------------------------------------------\n","import { isString, isUndefined, isFunction, isNumber } from '../is'\n\nexport const get = (obj, keys = [], defaultValue) => {\n try {\n if (isNumber(keys)) {\n keys = String(keys)\n }\n let result = (isString(keys) ? keys.split('.') : keys).reduce(\n (res, key) => res[key],\n obj\n )\n return isUndefined(result) ? defaultValue : result\n } catch (e) {\n return defaultValue\n }\n}\n\nexport const run = (obj, keys = [], ...args) => {\n keys = isString(keys) ? keys.split('.') : keys\n\n const func = get(obj, keys)\n const context = get(obj, keys.slice(0, -1))\n\n return isFunction(func) ? func.call(context, ...args) : func\n}\n\nexport const value = (...values) =>\n values.reduce(\n (value, nextValue) => (isUndefined(value) ? run(nextValue) : run(value)),\n undefined\n )\n","import { isArray, isPromiseLike } from './base/is'\n\nexport const nextTick = (func) => Promise.resolve().then(func)\n\nexport const delay = (time) =>\n new Promise((resolve) => setTimeout(resolve, time))\n\n/**\n * [防抖]\n * @param {Function} func 执行函数\n * @param {Number} wait 多少毫秒后运行一次\n */\nexport const debounce = (func, wait = 16) => {\n let timeout\n\n return function (...args) {\n clearTimeout(timeout)\n\n timeout = setTimeout(() => {\n func.apply(this, args)\n }, wait)\n\n return timeout\n }\n}\n\n/**\n * [用来智能处理Promise类型返回值]\n * 当值生成过程为 promise 时,将得到 promise 类型返回值,按约定 resolve 最终值\n * 当过程不为 promise 时将直接得到值\n * @param {Function} executor 执行过程获取\n * @param {Function} valuer 值处理过程\n */\nexport const promiseGuess = (executor, valuer) =>\n function (...args) {\n let value = executor.apply(this, args)\n\n return isPromiseLike(value)\n ? new Promise((resolve) =>\n value\n .then((value) => resolve(valuer.call(this, null, value, ...args)))\n .catch((err) => resolve(valuer.call(this, err, undefined, ...args)))\n )\n : valuer.call(this, null, value, ...args)\n }\n\nexport function getKey2Id() {\n let uuid = 0\n const map = new Map()\n\n // 对每种 NodeType 做编号处理\n return function key2Id(key) {\n let id = map.get(key)\n\n if (!id) {\n id = (++uuid).toString(32)\n map.set(key, id)\n }\n\n return id\n }\n}\n\nexport function isBrowser() {\n return !window.__SSR__\n}\n\nexport function isPrerendering() {\n return !!window.__PR__\n}\n","import React, { forwardRef, createContext, useContext, useMemo } from 'react'\nimport hoistStatics from 'hoist-non-react-statics'\nimport NodeKey from 'react-node-key'\n\nconst context = createContext()\nconst { Provider } = context\n\nfunction withSanti(Component) {\n function WrappedComponent({ forwardRef, __key: nodeKey, ...props }) {\n let count = 0\n const contextValue = useMemo(\n () => ({\n nodeKey,\n getCountedKey: () => (nodeKey ? `${nodeKey}:${count++}` : undefined)\n }),\n [nodeKey]\n )\n\n return (\n <Provider value={contextValue}>\n <Component {...props} ref={forwardRef} />\n </Provider>\n )\n }\n\n const ForwardedRefHOC = forwardRef((props, ref) => (\n <NodeKey>\n {nodeKey => (\n <WrappedComponent {...props} forwardedRef={ref} __key={nodeKey} />\n )}\n </NodeKey>\n ))\n\n return hoistStatics(ForwardedRefHOC, WrappedComponent)\n}\n\nexport function useNodeKey() {\n return (\n useContext(context) || {\n nodeKey: undefined,\n getCountedKey: () => undefined\n }\n )\n}\n\nexport function useSID() {\n const { nodeKey: sid, getCountedKey: getCountedSID } = useNodeKey()\n return { sid, getCountedSID }\n}\n\nexport default withSanti\n","import { run, isUndefined, promiseGuess, isExist } from './helpers'\n\nconst KEY = '__SSRDATA__'\n\nfunction inject() {\n let script = document.getElementById(KEY) || document.createElement('script')\n script.id = KEY\n script.innerHTML = `window.${KEY}={};`\n document.head.appendChild(script)\n}\n\nfunction bootstrap() {\n if (window.__SSR__) {\n inject()\n } else {\n if (isExist(document.getElementById(KEY))) {\n window.__SSRED__ = true\n }\n }\n const data = window[KEY] || {}\n\n function remove(key) {\n delete data[key]\n }\n\n function set(key, value) {\n if (!window.__SSR__) {\n return\n }\n data[key] = value\n document.getElementById(KEY).innerHTML = `window.${KEY}=${JSON.stringify(\n data\n )};`\n }\n\n function get(key) {\n let value = data[key]\n remove(key) // 初始值只在 html 就绪后使用一次,使用即销毁\n return value\n }\n\n return { set, get, remove }\n}\n\nconst store = bootstrap()\n\nexport default {\n get: promiseGuess(\n (key, builder) => {\n if (!key && window.__SSR__) {\n // 若无 key 则 SSR 阶段不计算\n return undefined\n }\n\n let value\n\n if (!window.__SSR__) {\n value = store.get(key)\n }\n\n if (isUndefined(value)) {\n value = run(builder)\n }\n\n return value\n },\n (err, value, key) => {\n if (!key) {\n return [null, value]\n }\n\n if (err) {\n store.remove(key)\n return [err, undefined]\n }\n\n if (window.__SSR__) {\n store.set(key, value)\n }\n\n return [null, value]\n }\n ),\n set: store.set\n}\n","import { useState as useReactState } from 'react'\n\nimport { run, debounce } from './helpers'\nimport { useNodeKey } from './withSanti'\nimport store from './store'\n\nconst warningMissingKey = debounce(() => {\n if (window.__SSR__) {\n return\n }\n\n console.warn('You shouldn\\'t use \"santi.useState\" outside a \"withSanti\"')\n}, 32)\n\nfunction useState(initialState, key) {\n const { getCountedKey } = useNodeKey()\n const nodeKey = key || run(getCountedKey)\n const [state, setState] = useReactState(() => {\n if (!nodeKey) {\n warningMissingKey()\n }\n\n const [err, value] = store.get(nodeKey, initialState)\n\n if (err) {\n console.error(err)\n }\n\n return value\n })\n\n return [\n state,\n getNextState => {\n const nextState = run(getNextState, undefined, state)\n\n store.set(nodeKey, nextState)\n\n return setState(nextState)\n },\n nodeKey\n ]\n}\n\nexport default useState\n","import React, { useState, forwardRef, useRef, useEffect } from 'react'\nimport hoistStatics from 'hoist-non-react-statics'\n\nimport { run } from './helpers'\nimport withSanti, { useNodeKey } from './withSanti'\nimport store from './store'\n\nconst getInitialProps = (fetch, fallback = null, key) => Component => {\n function WrappedComponent({ forwardedRef, ...props }) {\n const [ready, setReady] = useState(false)\n const [ssrProps, setSsrProps] = useState({})\n const mounted = useRef(true)\n const { getCountedKey } = useNodeKey()\n const nodeKey = key || run(getCountedKey)\n\n useEffect(() => {\n async function init() {\n const [err, ssrProps] = await store.get(nodeKey, () =>\n run(fetch, undefined, props)\n )\n\n if (err) {\n console.error('[getInitialProps error]', err)\n return\n }\n\n if (mounted.current && ssrProps) {\n setSsrProps(ssrProps)\n setReady(true)\n }\n }\n\n init()\n\n return () => {\n mounted.current = false\n }\n }, [])\n\n return ready ? (\n <Component {...{ ...props, ...ssrProps }} ref={forwardedRef} />\n ) : (\n run(fallback, undefined, props)\n )\n }\n\n const ForwardedRefHOC = forwardRef((props, ref) => (\n <WrappedComponent {...props} forwardedRef={ref} />\n ))\n\n return withSanti(hoistStatics(ForwardedRefHOC, WrappedComponent))\n}\n\nexport default getInitialProps\n","import { delay } from './helpers'\n\nconst ready = async (delayMillisecond = -1) => {\n try {\n if (delayMillisecond && Number(delayMillisecond) >= 0) {\n await delay(delayMillisecond)\n }\n\n if (window.__SSR__ && !window.__SSRREADY__) {\n const script = document.createElement('script')\n script.innerHTML = 'window.__SSRREADY__=true'\n document.head.appendChild(script)\n }\n // ssr 阶段:通知 santi 可以采集页面内容\n // csr 阶段:通知 santi/render 已完成呈现\n document.dispatchEvent(new Event('ssr-ready'))\n } finally {\n // nothing\n }\n}\n\nexport default ready\n","import withSanti from '../../withSanti'\n\nexport default withSanti(({ children }) => children)\n","import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport Container from './components/Container'\nimport { isFunction } from './helpers'\n\nconst ROOT_KEY = 'ssr-root'\n\nfunction render(content, container, callback) {\n const element = <Container>{content}</Container>\n\n // 支持热加载\n // FIXME: Dev 阶段会导致渲染抖动\n if (module.hot) {\n return ReactDOM.render(element, container, callback)\n }\n\n // ssr 阶段将内容渲染至动态生成的 ssr-root 节点中\n if (window.__SSR__) {\n let ssrRoot = document.getElementById(ROOT_KEY)\n if (!ssrRoot) {\n ssrRoot = document.createElement('div')\n ssrRoot.style.cssText = 'width:100%;height:100%;'\n ssrRoot.id = ROOT_KEY\n document.body.insertBefore(ssrRoot, container)\n }\n\n return ReactDOM.render(element, ssrRoot, callback)\n }\n\n // csr 阶段若为 ssr 渲染结果,则在 csr 完成后替换 ssr 结果\n // 注:不使用水合操作(ReactDOM.hydrate)因为可能造成节点错误问题\n if (window.__SSRED__) {\n const ssrRoot = document.getElementById(ROOT_KEY)\n let renderCallback = callback\n\n container.style.display = 'none'\n container.innerHTML = ssrRoot.innerHTML\n\n function display() {\n // 做一定延时,尽可能保证平滑呈现\n setTimeout(() => {\n const ssrRoot = document.getElementById(ROOT_KEY)\n if (ssrRoot) {\n try {\n ssrRoot.parentNode.removeChild(ssrRoot)\n } finally {\n // nothing\n }\n }\n container.style.display = ''\n }, 56)\n }\n\n // 若为快照 ssr 则 csr 阶段将同样收到 ssr-ready 事件,在此事件后平滑呈现真实可用交互\n if (window.__SSRREADY__) {\n function onReady() {\n display()\n document.removeEventListener('ssr-ready', onReady)\n }\n document.addEventListener('ssr-ready', onReady)\n } else {\n // 若不为快照 ssr(一般为超时自动快照),则在 render 回调结束后呈现真实结果\n renderCallback = function(...args) {\n // FIXME: 超时快照可能造成呈现不平滑,具体表现为 SSR 切到真实内容过程中有轻微空屏现象,通俗为 “闪一下”,此问题待完美修正\n display()\n\n if (isFunction(callback)) {\n callback.apply(this, args)\n }\n }\n }\n\n return ReactDOM.render(element, container, renderCallback)\n }\n\n // csr 若不为 ssr 渲染结果则正常渲染\n return ReactDOM.render(element, container, callback)\n}\n\nexport default render\n","import React, { useState, useEffect } from 'react'\n\nimport ready from '../../ready'\n\nfunction Ready({ children, delay, onMount = false, when = false }) {\n useEffect(() => {\n if (onMount) {\n ready(delay)\n }\n }, [])\n\n useEffect(() => {\n if (when) {\n ready(delay)\n }\n }, [when])\n\n return children\n}\n\nfunction ReadyOnMount({ children, delay }) {\n const [ready, setReady] = useState(false)\n useEffect(() => {\n setReady(true)\n }, [])\n\n return (\n <Ready delay={delay} when={ready}>\n {children}\n </Ready>\n )\n}\n\nReady.OnMount = ReadyOnMount\n\nexport default Ready\n","import { run } from '../../helpers'\n\nfunction NoSSR({ children, fallback = null }) {\n return window.__SSR__ ? run(fallback) : children\n}\n\nexport default NoSSR\n","import useState from './useState'\nimport getInitialProps from './getInitialProps'\nimport ready from './ready'\nimport render from './render'\nimport store from './store'\nimport withSanti, { useNodeKey, useSID } from './withSanti'\nimport Ready from './components/Ready'\nimport NoSSR from './components/NoSSR'\n\nexport default {\n render,\n store,\n useState,\n getInitialProps,\n ready,\n withSanti,\n useNodeKey,\n useSID,\n Ready,\n NoSSR\n}\n\nexport {\n render,\n store,\n useState,\n getInitialProps,\n ready,\n withSanti,\n useNodeKey,\n useSID,\n Ready,\n NoSSR\n}\n"],"names":["isUndefined","val","isNull","isFunction","isString","isExist","isNaN","Number","isNumber","isPromiseLike","then","get","obj","keys","defaultValue","String","result","split","reduce","res","key","e","run","func","context","slice","args","call","delay","time","Promise","resolve","setTimeout","debounce","wait","timeout","clearTimeout","apply","promiseGuess","executor","valuer","value","err","undefined","createContext","Provider","withSanti","Component","WrappedComponent","forwardRef","nodeKey","__key","props","count","contextValue","useMemo","getCountedKey","React","ForwardedRefHOC","ref","hoistStatics","useNodeKey","useContext","useSID","sid","getCountedSID","KEY","inject","script","document","getElementById","createElement","id","innerHTML","head","appendChild","bootstrap","window","__SSR__","__SSRED__","data","remove","set","JSON","stringify","store","builder","warningMissingKey","console","warn","useState","initialState","useReactState","error","state","setState","getNextState","nextState","getInitialProps","fetch","fallback","forwardedRef","ready","setReady","ssrProps","setSsrProps","mounted","useRef","useEffect","init","current","delayMillisecond","__SSRREADY__","dispatchEvent","Event","children","ROOT_KEY","render","content","container","callback","element","module","hot","ReactDOM","ssrRoot","style","cssText","body","insertBefore","display","parentNode","removeChild","renderCallback","onReady","removeEventListener","addEventListener","Ready","onMount","when","ReadyOnMount","OnMount","NoSSR"],"mappings":"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"}
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("hoist-non-react-statics"),require("react-node-key"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","react","hoist-non-react-statics","react-node-key","react-dom"],t):t((e=e||self).SantiClient={},e.React,e.hoistStatics,e.NodeKey,e.ReactDOM)}(this,function(e,y,t,o,i){"use strict";var p="default"in y?y.default:y;function a(e,t,n,r,o,u,i){try{var c=e[u](i),a=c.value}catch(e){return void n(e)}c.done?t(a):Promise.resolve(a).then(r,o)}function v(c){return function(){var e=this,i=arguments;return new Promise(function(t,n){var r=c.apply(e,i);function o(e){a(r,t,n,o,u,"next",e)}function u(e){a(r,t,n,o,u,"throw",e)}o(void 0)})}}function m(){return(m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function n(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function w(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach(function(e){var t,n;t=r,e=o[n=e],n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}function h(e,t){if(null==e)return{};var n,r=function(e,t){if(null==e)return{};for(var n,r={},o=Object.keys(e),u=0;u<o.length;u++)n=o[u],0<=t.indexOf(n)||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),u=0;u<o.length;u++)n=o[u],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n]);return r}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,u=void 0;try{for(var i,c=e[Symbol.iterator]();!(r=(i=c.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,u=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw u}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,i=i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i;function u(e){return void 0===e}function c(e){return"function"==typeof e}function f(e){return"string"==typeof e}function d(e){return!(u(e)||null===e)}function l(e){return"number"==typeof e&&(e=e,!(c(Number.isNaN)?Number.isNaN(e):e!=e))}function s(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],n=2<arguments.length?arguments[2]:void 0;try{l(t)&&(t=String(t));var r=(f(t)?t.split("."):t).reduce(function(e,t){return e[t]},e);return u(r)?n:r}catch(e){return n}}function S(e){for(var t=f(t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[])?t.split("."):t,n=s(e,t),t=s(e,t.slice(0,-1)),r=arguments.length,o=new Array(2<r?r-2:0),u=2;u<r;u++)o[u-2]=arguments[u];return c(n)?n.call.apply(n,[t].concat(o)):n}var g="nNBh",b=y.createContext(),O=b.Provider;function R(u){function r(e){var t=e.forwardRef,n=e.__key,r=h(e,["forwardRef","__key"]),o=0,e=y.useMemo(function(){return{nodeKey:n,getCountedKey:function(){return n?"".concat(n,":").concat(o++):void 0}}},[n]);return p.createElement(O,{value:e,_nk:"".concat(g,"11")},p.createElement(u,m({},r,{ref:t,_nk:"".concat(g,"21")})))}return t(y.forwardRef(function(t,n){return p.createElement(o,{_nk:"".concat(g,"31")},function(e){return p.createElement(r,m({},t,{forwardedRef:n,__key:e,_nk:"".concat(g,"41")}))})}),r)}function E(){return y.useContext(b)||{nodeKey:void 0,getCountedKey:function(){}}}function j(){var e=E();return{sid:e.nodeKey,getCountedSID:e.getCountedKey}}var P="__SSRDATA__";var k,x,I=function(){var e;window.__SSR__?((e=document.getElementById(P)||document.createElement("script")).id=P,e.innerHTML="window.".concat(P,"={};"),document.head.appendChild(e)):d(document.getElementById(P))&&(window.__SSRED__=!0);var n=window[P]||{};function r(e){delete n[e]}return{set:function(e,t){window.__SSR__&&(n[e]=t,document.getElementById(P).innerHTML="window.".concat(P,"=").concat(JSON.stringify(n),";"))},get:function(e){var t=n[e];return r(e),t},remove:r}}(),N={get:(k=function(e,t){var n;if(e||!window.__SSR__)return window.__SSR__||(n=I.get(e)),n=u(n)?S(t):n},x=function(e,t,n){return n?e?(I.remove(n),[e,void 0]):(window.__SSR__&&I.set(n,t),[null,t]):[null,t]},function(){for(var n=this,e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var o,u=k.apply(this,r);return d(o=u)&&c(o.then)?new Promise(function(t){return u.then(function(e){return t(x.call.apply(x,[n,null,e].concat(r)))}).catch(function(e){return t(x.call.apply(x,[n,e,void 0].concat(r)))})}):x.call.apply(x,[this,null,u].concat(r))}),set:I.set},A=function(o){var u,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:16;return function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return clearTimeout(u),u=setTimeout(function(){o.apply(e,n)},i)}}(function(){window.__SSR__||console.warn('You shouldn\'t use "santi.useState" outside a "withSanti"')},32);function D(n,e){var t=E().getCountedKey,r=e||S(t),t=y.useState(function(){r||A();var e=_(N.get(r,n),2),t=e[0],e=e[1];return t&&console.error(t),e}),t=_(t,2),o=t[0],u=t[1];return[o,function(e){e=S(e,void 0,o);return N.set(r,e),u(e)},r]}function C(d){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,s=2<arguments.length?arguments[2]:void 0;return function(f){function n(e){var t=e.forwardedRef,r=h(e,["forwardedRef"]),n=_(y.useState(!1),2),o=n[0],u=n[1],e=_(y.useState({}),2),n=e[0],i=e[1],c=y.useRef(!0),e=E().getCountedKey,a=s||S(e);return y.useEffect(function(){function e(){return(e=v(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,N.get(a,function(){return S(d,void 0,r)});case 2:if(t=e.sent,n=_(t,2),t=n[0],n=n[1],t)return console.error("[getInitialProps error]",t),e.abrupt("return");e.next=9;break;case 9:c.current&&n&&(i(n),u(!0));case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}return function(){e.apply(this,arguments)}(),function(){c.current=!1}},[]),o?p.createElement(f,m({},w(w({},r),n),{ref:t,_nk:"".concat(K,"11")})):S(l,void 0,r)}return R(t(y.forwardRef(function(e,t){return p.createElement(n,m({},e,{forwardedRef:t,_nk:"".concat(K,"21")}))}),n))}}var K="8NS2",T=function(){var e=v(regeneratorRuntime.mark(function e(){var t,n=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=0<n.length&&void 0!==n[0]?n[0]:-1,e.prev=1,t&&0<=Number(t))return e.next=5,function(t){return new Promise(function(e){return setTimeout(e,t)})}(t);e.next=5;break;case 5:window.__SSR__&&!window.__SSRREADY__&&((t=document.createElement("script")).innerHTML="window.__SSRREADY__=true",document.head.appendChild(t)),document.dispatchEvent(new Event("ssr-ready"));case 7:return e.prev=7,e.finish(7);case 9:case"end":return e.stop()}},e,null,[[1,,7,9]])}));return function(){return e.apply(this,arguments)}}(),M=R(function(e){return e.children}),B="ssr-root";function L(e,t,r){var n=p.createElement(M,{_nk:"".concat("4mmK","11")},e);if(module.hot)return i.render(n,t,r);if(window.__SSR__){var o=document.getElementById(B);return o||((o=document.createElement("div")).style.cssText="width:100%;height:100%;",o.id=B,document.body.insertBefore(o,t)),i.render(n,o,r)}if(window.__SSRED__){var u=function(){setTimeout(function(){var e=document.getElementById(B);e&&e.parentNode.removeChild(e),t.style.display=""},56)},e=document.getElementById(B),o=r;return t.style.display="none",t.innerHTML=e.innerHTML,window.__SSRREADY__?(e=function e(){u(),document.removeEventListener("ssr-ready",e)},document.addEventListener("ssr-ready",e)):o=function(){if(u(),c(r)){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(this,t)}},i.render(n,t,o)}return i.render(n,t,r)}function H(e){var t=e.children,n=e.delay,r=e.onMount,o=void 0!==r&&r,e=e.when,u=void 0!==e&&e;return y.useEffect(function(){o&&T(n)},[]),y.useEffect(function(){u&&T(n)},[u]),t}function q(e){var t=e.children,e=e.fallback,e=void 0===e?null:e;return window.__SSR__?S(e):t}H.OnMount=function(e){var t=e.children,n=e.delay,r=_(y.useState(!1),2),e=r[0],o=r[1];return y.useEffect(function(){o(!0)},[]),p.createElement(H,{delay:n,when:e,_nk:"".concat("B/hE","11")},t)};var Y={render:L,store:N,useState:D,getInitialProps:C,ready:T,withSanti:R,useNodeKey:E,useSID:j,Ready:H,NoSSR:q};e.NoSSR=q,e.Ready=H,e.default=Y,e.getInitialProps=C,e.ready=T,e.render=L,e.store=N,e.useNodeKey=E,e.useSID=j,e.useState=D,e.withSanti=R,Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("hoist-non-react-statics"),require("react-node-key"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","react","hoist-non-react-statics","react-node-key","react-dom"],t):t((e=e||self).SantiClient={},e.React,e.hoistStatics,e.NodeKey,e.ReactDOM)}(this,function(e,y,t,o,i){"use strict";var p="default"in y?y.default:y;function n(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function v(r){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach(function(e){var t,n;t=r,e=o[n=e],n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}function a(e,t,n,r,o,u,i){try{var c=e[u](i),a=c.value}catch(e){return void n(e)}c.done?t(a):Promise.resolve(a).then(r,o)}function m(c){return function(){var e=this,i=arguments;return new Promise(function(t,n){var r=c.apply(e,i);function o(e){a(r,t,n,o,u,"next",e)}function u(e){a(r,t,n,o,u,"throw",e)}o(void 0)})}}function w(){return(w=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function h(e,t){if(null==e)return{};var n,r=function(e,t){if(null==e)return{};for(var n,r={},o=Object.keys(e),u=0;u<o.length;u++)n=o[u],0<=t.indexOf(n)||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),u=0;u<o.length;u++)n=o[u],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n]);return r}function _(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,u=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(u.push(r.value),!t||u.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)throw o}}return u}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(n="Object"===n&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t,o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,i=i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i;function c(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],n=2<arguments.length?arguments[2]:void 0;try{g(t)&&(t=String(t));var r=(d(t)?t.split("."):t).reduce(function(e,t){return e[t]},e);return u(r)?n:r}catch(e){return n}}function S(e){for(var t=d(t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[])?t.split("."):t,n=c(e,t),t=c(e,t.slice(0,-1)),r=arguments.length,o=new Array(2<r?r-2:0),u=2;u<r;u++)o[u-2]=arguments[u];return l(n)?n.call.apply(n,[t].concat(o)):n}var u=function(e){return void 0===e},f=function(e){return null===e},l=function(e){return"function"==typeof e},d=function(e){return"string"==typeof e},s=function(e){return!(u(e)||f(e))},g=function(e){return"number"==typeof e&&(e=e,!(l(Number.isNaN)?Number.isNaN(e):e!=e))},b=["forwardRef","__key"],O="nNBh",R=y.createContext(),E=R.Provider;function j(u){function r(e){var t=e.forwardRef,n=e.__key,r=h(e,b),o=0,e=y.useMemo(function(){return{nodeKey:n,getCountedKey:function(){return n?"".concat(n,":").concat(o++):void 0}}},[n]);return p.createElement(E,{value:e,_nk:"".concat(O,"11")},p.createElement(u,w({},r,{ref:t,_nk:"".concat(O,"21")})))}return t(y.forwardRef(function(t,n){return p.createElement(o,{_nk:"".concat(O,"31")},function(e){return p.createElement(r,w({},t,{forwardedRef:n,__key:e,_nk:"".concat(O,"41")}))})}),r)}function P(){return y.useContext(R)||{nodeKey:void 0,getCountedKey:function(){}}}function k(){var e=P();return{sid:e.nodeKey,getCountedSID:e.getCountedKey}}var x="__SSRDATA__";var I,N,A=function(){var e;window.__SSR__?((e=document.getElementById(x)||document.createElement("script")).id=x,e.innerHTML="window.".concat(x,"={};"),document.head.appendChild(e)):s(document.getElementById(x))&&(window.__SSRED__=!0);var n=window[x]||{};function r(e){delete n[e]}return{set:function(e,t){window.__SSR__&&(n[e]=t,document.getElementById(x).innerHTML="window.".concat(x,"=").concat(JSON.stringify(n),";"))},get:function(e){var t=n[e];return r(e),t},remove:r}}(),D={get:(I=function(e,t){var n;if(e||!window.__SSR__)return window.__SSR__||(n=A.get(e)),n=u(n)?S(t):n},N=function(e,t,n){return n?e?(A.remove(n),[e,void 0]):(window.__SSR__&&A.set(n,t),[null,t]):[null,t]},function(){for(var n=this,e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var o,u=I.apply(this,r);return s(o=u)&&l(o.then)?new Promise(function(t){return u.then(function(e){return t(N.call.apply(N,[n,null,e].concat(r)))}).catch(function(e){return t(N.call.apply(N,[n,e,void 0].concat(r)))})}):N.call.apply(N,[this,null,u].concat(r))}),set:A.set},C=function(o){var u,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:16;return function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return clearTimeout(u),u=setTimeout(function(){o.apply(e,n)},i)}}(function(){window.__SSR__||console.warn('You shouldn\'t use "santi.useState" outside a "withSanti"')},32);function K(n,e){var t=P().getCountedKey,r=e||S(t),t=y.useState(function(){r||C();var e=_(D.get(r,n),2),t=e[0],e=e[1];return t&&console.error(t),e}),t=_(t,2),o=t[0],u=t[1];return[o,function(e){e=S(e,void 0,o);return D.set(r,e),u(e)},r]}function T(l){var d=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,s=2<arguments.length?arguments[2]:void 0;return function(f){function n(e){var t=e.forwardedRef,r=h(e,M),n=_(y.useState(!1),2),o=n[0],u=n[1],e=_(y.useState({}),2),n=e[0],i=e[1],c=y.useRef(!0),e=P().getCountedKey,a=s||S(e);return y.useEffect(function(){function e(){return(e=m(regeneratorRuntime.mark(function e(){var t,n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D.get(a,function(){return S(l,void 0,r)});case 2:if(t=e.sent,n=_(t,2),t=n[0],n=n[1],t)return console.error("[getInitialProps error]",t),e.abrupt("return");e.next=9;break;case 9:c.current&&n&&(i(n),u(!0));case 10:case"end":return e.stop()}},e)}))).apply(this,arguments)}return function(){e.apply(this,arguments)}(),function(){c.current=!1}},[]),o?p.createElement(f,w({},v(v({},r),n),{ref:t,_nk:"".concat(B,"11")})):S(d,void 0,r)}return j(t(y.forwardRef(function(e,t){return p.createElement(n,w({},e,{forwardedRef:t,_nk:"".concat(B,"21")}))}),n))}}var M=["forwardedRef"],B="8NS2",L=function(){var e=m(regeneratorRuntime.mark(function e(){var t,n=arguments;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=0<n.length&&void 0!==n[0]?n[0]:-1,e.prev=1,t&&0<=Number(t))return e.next=5,function(t){return new Promise(function(e){return setTimeout(e,t)})}(t);e.next=5;break;case 5:window.__SSR__&&!window.__SSRREADY__&&((t=document.createElement("script")).innerHTML="window.__SSRREADY__=true",document.head.appendChild(t)),document.dispatchEvent(new Event("ssr-ready"));case 7:return e.prev=7,e.finish(7);case 9:case"end":return e.stop()}},e,null,[[1,,7,9]])}));return function(){return e.apply(this,arguments)}}(),H=j(function(e){return e.children}),q="ssr-root";function Y(e,t,r){var n=p.createElement(H,{_nk:"".concat("4mmK","11")},e);if(module.hot)return i.render(n,t,r);if(window.__SSR__){var o=document.getElementById(q);return o||((o=document.createElement("div")).style.cssText="width:100%;height:100%;",o.id=q,document.body.insertBefore(o,t)),i.render(n,o,r)}if(window.__SSRED__){var u=function(){setTimeout(function(){var e=document.getElementById(q);e&&e.parentNode.removeChild(e),t.style.display=""},56)},e=document.getElementById(q),o=r;return t.style.display="none",t.innerHTML=e.innerHTML,window.__SSRREADY__?document.addEventListener("ssr-ready",function e(){u(),document.removeEventListener("ssr-ready",e)}):o=function(){if(u(),l(r)){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(this,t)}},i.render(n,t,o)}return i.render(n,t,r)}function J(e){var t=e.children,n=e.delay,r=e.onMount,o=void 0!==r&&r,e=e.when,u=void 0!==e&&e;return y.useEffect(function(){o&&L(n)},[]),y.useEffect(function(){u&&L(n)},[u]),t}function U(e){var t=e.children,e=e.fallback;return window.__SSR__?S(void 0===e?null:e):t}J.OnMount=function(e){var t=e.children,n=e.delay,r=_(y.useState(!1),2),e=r[0],o=r[1];return y.useEffect(function(){o(!0)},[]),p.createElement(J,{delay:n,when:e,_nk:"".concat("B/hE","11")},t)};var $={render:Y,store:D,useState:K,getInitialProps:T,ready:L,withSanti:j,useNodeKey:P,useSID:k,Ready:J,NoSSR:U};e.NoSSR=U,e.Ready=J,e.default=$,e.getInitialProps=T,e.ready=L,e.render=Y,e.store=D,e.useNodeKey=P,e.useSID=k,e.useState=K,e.withSanti=j,Object.defineProperty(e,"__esModule",{value:!0})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "santi",
3
- "version": "0.0.0-beta.41",
3
+ "version": "0.0.0-beta.42",
4
4
  "description": "Isomorphic framework for base on create-react-app and jsdom",
5
5
  "bin": {
6
6
  "santi": "bin/santi.js"
@@ -51,7 +51,7 @@
51
51
  "promise-limit": "^2.7.0",
52
52
  "qs": "^6.9.1",
53
53
  "react-app-rewired": "^2.1.8",
54
- "react-node-key": "^0.1.8",
54
+ "react-node-key": "^0.3.1",
55
55
  "react-scripts": "^3.4.4",
56
56
  "szfe-tools": "^0.0.0-beta.7",
57
57
  "webpack-bundle-analyzer": "^3.6.0",