@webkrafters/react-eagleeye 1.1.0-alpha.5 → 1.1.0-alpha.6

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.
@@ -33,7 +33,6 @@ export type WithChildren<P extends IProviderProps<TemplateType<P>>> = P & {
33
33
  export interface ChannelEntry {
34
34
  channel: WeakRef<Channel>;
35
35
  numConnections: number;
36
- useStore: () => Store;
37
36
  }
38
37
  export interface Entry {
39
38
  channels: ChsResource<Channel>;
@@ -56,7 +55,6 @@ declare class ChsResource<W extends Channel> implements IResource<W> {
56
55
  readonly isValid: boolean;
57
56
  readonly resource: W;
58
57
  readonly size: number;
59
- readonly useStore: () => Store;
60
58
  dec: () => void;
61
59
  inc(): void;
62
60
  };
@@ -65,7 +63,6 @@ declare class ChsResource<W extends Channel> implements IResource<W> {
65
63
  readonly isValid: boolean;
66
64
  readonly resource: W;
67
65
  readonly size: number;
68
- readonly useStore: () => Store;
69
66
  dec: () => void;
70
67
  inc(): void;
71
68
  };
@@ -83,7 +80,6 @@ declare class ObsResource<W extends AbstractObservable<TemplateType2<W>>> implem
83
80
  readonly isValid: boolean;
84
81
  readonly resource: W_1;
85
82
  readonly size: number;
86
- readonly useStore: () => Store;
87
83
  dec: () => void;
88
84
  inc(): void;
89
85
  };
@@ -92,7 +88,6 @@ declare class ObsResource<W extends AbstractObservable<TemplateType2<W>>> implem
92
88
  readonly isValid: boolean;
93
89
  readonly resource: W_1;
94
90
  readonly size: number;
95
- readonly useStore: () => Store;
96
91
  dec: () => void;
97
92
  inc(): void;
98
93
  };
@@ -105,7 +100,6 @@ declare class ObsResource<W extends AbstractObservable<TemplateType2<W>>> implem
105
100
  readonly isValid: boolean;
106
101
  readonly resource: W_1;
107
102
  readonly size: number;
108
- readonly useStore: () => Store;
109
103
  dec: () => void;
110
104
  inc(): void;
111
105
  };
@@ -114,7 +108,6 @@ declare class ObsResource<W extends AbstractObservable<TemplateType2<W>>> implem
114
108
  readonly isValid: boolean;
115
109
  readonly resource: W_1;
116
110
  readonly size: number;
117
- readonly useStore: () => Store;
118
111
  dec: () => void;
119
112
  inc(): void;
120
113
  };
@@ -138,7 +131,7 @@ export declare class EagleEyeUniversal<T extends State> {
138
131
  <const ID extends string>(props?: WithChildren<ProviderPropsPrimitive<T, ID>>): JSX.Element;
139
132
  <const ID extends string>(props?: WithChildren<RefProps<ID>>): JSX.Element;
140
133
  };
141
- get useStream(): <const S extends SelectorMap>(selectorMap?: S) => Store<T, S>;
134
+ get useStream(): <const S extends SelectorMap>(selectorMap?: S) => Store<import("@webkrafters/auto-immutable").Value, SelectorMap>;
142
135
  provide<const ID extends string>(props?: ProviderProps<T, ID>): Point<T, ID>;
143
136
  provide<const ID extends string>(props?: ProviderPropsRaw<T, ID>): Point<T, ID>;
144
137
  provide<const ID extends string>(props?: ProviderPropsPrimitive<T, ID>): Point<T, ID>;
@@ -13,6 +13,14 @@ var _ = require("..");
13
13
  var _2 = require("../../");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
15
15
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
16
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
17
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
24
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
17
25
  function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
18
26
  function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
@@ -20,14 +28,6 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
20
28
  function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
21
29
  function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
22
30
  function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
23
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
26
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
28
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
29
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
30
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
31
31
  function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
32
32
  function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
33
33
  function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
@@ -46,30 +46,9 @@ var ChsResource = /*#__PURE__*/function () {
46
46
  return _createClass(ChsResource, [{
47
47
  key: "acquire",
48
48
  value: function acquire(sMapHash, resource) {
49
- var useStore = function useStore() {
50
- var _useState = (0, _react.useState)(function () {
51
- return (0, _.makeStore)(resource);
52
- }),
53
- _useState2 = _slicedToArray(_useState, 2),
54
- store = _useState2[0],
55
- setStore = _useState2[1];
56
- (0, _react.useEffect)(function () {
57
- var fn = function fn() {
58
- return setStore(_objectSpread(_objectSpread({}, store), {}, {
59
- data: resource.data
60
- }));
61
- };
62
- resource.addListener('data-changed', fn);
63
- return function () {
64
- return resource.removeListener('data-changed', fn);
65
- };
66
- }, [resource]);
67
- return store;
68
- };
69
49
  this._registry[sMapHash] = {
70
50
  channel: new WeakRef(resource),
71
- numConnections: 0,
72
- useStore: useStore
51
+ numConnections: 0
73
52
  };
74
53
  this._finalizer.register(resource, sMapHash, resource);
75
54
  return this.createHandleFor(sMapHash);
@@ -93,9 +72,6 @@ var ChsResource = /*#__PURE__*/function () {
93
72
  get size() {
94
73
  return handle.isValid ? entry.numConnections : -1;
95
74
  },
96
- get useStore() {
97
- return entry.useStore;
98
- },
99
75
  dec: function dec() {
100
76
  if (!handle.isValid) {
101
77
  return;
@@ -303,14 +279,17 @@ var EagleEyeUniversal = exports.EagleEyeUniversal = /*#__PURE__*/function () {
303
279
  value: function defineStreamHook() {
304
280
  var _this4 = this;
305
281
  return function (selectorMap) {
306
- var _useState3 = (0, _react.useState)(function () {
282
+ var _useState = (0, _react.useState)(function () {
307
283
  return _this4._util.hashSelectorMap(selectorMap);
308
284
  }),
309
- _useState4 = _slicedToArray(_useState3, 2),
310
- sMapHash = _useState4[0],
311
- updateSMapHash = _useState4[1];
285
+ _useState2 = _slicedToArray(_useState, 2),
286
+ sMapHash = _useState2[0],
287
+ updateSMapHash = _useState2[1];
288
+ (0, _react.useEffect)(function () {
289
+ return updateSMapHash(_this4._util.hashSelectorMap(selectorMap));
290
+ }, [selectorMap]);
312
291
  var targetId = (0, _react.use)(_this4._context);
313
- var getStoreHook = (0, _react.useCallback)(function () {
292
+ var channel = (0, _react.useMemo)(function () {
314
293
  var ctxHandle = _this4._obs.createHandleFor(targetId);
315
294
  var streamHandle = ctxHandle.getChannelHandleAt(sMapHash);
316
295
  if (!streamHandle.isValid) {
@@ -318,19 +297,26 @@ var EagleEyeUniversal = exports.EagleEyeUniversal = /*#__PURE__*/function () {
318
297
  streamHandle = ctxHandle.getChannelHandleAt(sMapHash);
319
298
  }
320
299
  streamHandle.inc();
321
- return streamHandle.useStore;
322
- }, [sMapHash, selectorMap, targetId]);
323
- var _useState5 = (0, _react.useState)(getStoreHook),
324
- _useState6 = _slicedToArray(_useState5, 2),
325
- useStore = _useState6[0],
326
- updateStoreHook = _useState6[1];
327
- (0, _react.useEffect)(function () {
328
- return updateSMapHash(_this4._util.hashSelectorMap(selectorMap));
329
- }, [selectorMap]);
300
+ return streamHandle.resource;
301
+ }, [sMapHash, targetId]);
302
+ var _useState3 = (0, _react.useState)(function () {
303
+ return (0, _.makeStore)(channel);
304
+ }),
305
+ _useState4 = _slicedToArray(_useState3, 2),
306
+ store = _useState4[0],
307
+ setStore = _useState4[1];
330
308
  (0, _react.useEffect)(function () {
331
- return updateStoreHook(getStoreHook());
332
- }, [sMapHash]);
333
- return useStore();
309
+ var fn = function fn() {
310
+ return setStore(_objectSpread(_objectSpread({}, store), {}, {
311
+ data: channel.data
312
+ }));
313
+ };
314
+ channel.addListener('data-changed', fn);
315
+ return function () {
316
+ return channel.removeListener('data-changed', fn);
317
+ };
318
+ }, [channel]);
319
+ return store;
334
320
  };
335
321
  }
336
322
  }]);
package/package.json CHANGED
@@ -125,7 +125,7 @@
125
125
  "test:watch": "eslint --fix && jest --updateSnapshot --watchAll"
126
126
  },
127
127
  "types": "dist/index.d.ts",
128
- "version": "1.1.0-alpha.5",
128
+ "version": "1.1.0-alpha.6",
129
129
  "dependencies": {
130
130
  "@webkrafters/eagleeye": "^1.0.8",
131
131
  "js-sha512": "^0.9.0",