@graffy/react 0.15.8-alpha.1 → 0.15.8-alpha.5
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.cjs +1 -0
- package/index.mjs +1 -0
- package/package.json +8 -3
- package/cjs/Query.js +0 -27
- package/cjs/index.js +0 -22
- package/cjs/useQuery.js +0 -253
- package/cjs/useStore.js +0 -19
package/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=Object.defineProperty,r=Object.defineProperties,t=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(r,t,o)=>t in r?e(r,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[t]=o,u=(e,r)=>{for(var t in r||(r={}))n.call(r,t)&&l(e,t,r[t]);if(o)for(var t of o(r))a.call(r,t)&&l(e,t,r[t]);return e},c=(e,o)=>r(e,t(o));Object.defineProperty(exports,"__esModule",{value:!0}),exports[Symbol.toStringTag]="Module";var i=require("react"),s=require("prop-types"),d=require("lodash/isEqual.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=f(i),y=f(s),b=f(d);const{createContext:g}=p.default,v=g();function O({store:e,children:r}){return p.default.createElement(v.Provider,{value:e},r)}O.propTypes={store:y.default.object.isRequired,children:y.default.node};const{useRef:x,useState:h,useEffect:j,useContext:P}=p.default;function w(e,r={}){var t=r,{once:l}=t,i=((e,r)=>{var t={};for(var l in e)n.call(e,l)&&r.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&o)for(var l of o(e))r.indexOf(l)<0&&a.call(e,l)&&(t[l]=e[l]);return t})(t,["once"]);const s=P(v),d=x(null);!b.default(d.current,e)&&(d.current=e);const f=(r=i)=>{if(!0!==y.loading&&g(c(u({},y),{loading:!0})),!l){const t=s.watch(e,r);return(async(e,r)=>{try{for await(const t of e){if(e.closed)break;r((e=>c(u({},e),{loading:!1,data:t,error:null})))}}catch(t){r((e=>c(u({},e),{loading:!1,data:null,error:t})))}})(t,g),()=>{t.closed=!0,t.return()}}(async(e,r)=>{try{const t=await e;r((e=>c(u({},e),{loading:!1,data:t,error:null})))}catch(t){r((e=>c(u({},e),{loading:!1,data:null,error:t})))}})(s.read(e,r),g)},p=f.bind(null,c(u({},i),{skipCache:!0})),[y,g]=h({loading:!0});return j(f,[d.current,s]),l?c(u({},y),{refetch:p}):y}const{useContext:q}=p.default;exports.GraffyProvider=O,exports.Query=function({query:e,options:r,children:t}){const{data:o,loading:n,error:a}=w(e,r);return t({data:o,loading:n,error:a})},exports.useQuery=w,exports.useStore=function(){return q(v)};
|
package/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r=Object.defineProperty,e=Object.defineProperties,t=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,c=(e,t,o)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,l=(r,e)=>{for(var t in e||(e={}))n.call(e,t)&&c(r,t,e[t]);if(o)for(var t of o(e))a.call(e,t)&&c(r,t,e[t]);return r},i=(r,o)=>e(r,t(o));import u from"react";import s from"prop-types";import d from"lodash/isEqual.js";const{createContext:f}=u,p=f();function y({store:r,children:e}){return u.createElement(p.Provider,{value:r},e)}y.propTypes={store:s.object.isRequired,children:s.node};const{useRef:b,useState:g,useEffect:O,useContext:h}=u;function m(r,e={}){var t=e,{once:c}=t,u=((r,e)=>{var t={};for(var c in r)n.call(r,c)&&e.indexOf(c)<0&&(t[c]=r[c]);if(null!=r&&o)for(var c of o(r))e.indexOf(c)<0&&a.call(r,c)&&(t[c]=r[c]);return t})(t,["once"]);const s=h(p),f=b(null);!d(f.current,r)&&(f.current=r);const y=(e=u)=>{if(!0!==v.loading&&j(i(l({},v),{loading:!0})),!c){const t=s.watch(r,e);return(async(r,e)=>{try{for await(const t of r){if(r.closed)break;e((r=>i(l({},r),{loading:!1,data:t,error:null})))}}catch(t){e((r=>i(l({},r),{loading:!1,data:null,error:t})))}})(t,j),()=>{t.closed=!0,t.return()}}(async(r,e)=>{try{const t=await r;e((r=>i(l({},r),{loading:!1,data:t,error:null})))}catch(t){e((r=>i(l({},r),{loading:!1,data:null,error:t})))}})(s.read(r,e),j)},m=y.bind(null,i(l({},u),{skipCache:!0})),[v,j]=g({loading:!0});return O(y,[f.current,s]),c?i(l({},v),{refetch:m}):v}function v({query:r,options:e,children:t}){const{data:o,loading:n,error:a}=m(r,e);return t({data:o,loading:n,error:a})}const{useContext:j}=u;function w(){return j(p)}export{y as GraffyProvider,v as Query,m as useQuery,w as useStore};
|
package/package.json
CHANGED
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
"name": "@graffy/react",
|
|
3
3
|
"description": "This built-in module provides an idiomatic React API to a Graffy store.",
|
|
4
4
|
"author": "aravind (https://github.com/aravindet)",
|
|
5
|
-
"version": "0.15.8-alpha.
|
|
6
|
-
"main": "./
|
|
5
|
+
"version": "0.15.8-alpha.5",
|
|
6
|
+
"main": "./index.cjs",
|
|
7
|
+
"exports": {
|
|
8
|
+
"import": "./index.mjs",
|
|
9
|
+
"require": "./index.cjs"
|
|
10
|
+
},
|
|
11
|
+
"module": "./index.mjs",
|
|
7
12
|
"types": "./types/index.d.ts",
|
|
8
13
|
"repository": {
|
|
9
14
|
"type": "git",
|
|
@@ -11,7 +16,7 @@
|
|
|
11
16
|
},
|
|
12
17
|
"license": "Apache-2.0",
|
|
13
18
|
"dependencies": {
|
|
14
|
-
"
|
|
19
|
+
"prop-types": "^15.7.2",
|
|
15
20
|
"lodash": "^4.17.19"
|
|
16
21
|
},
|
|
17
22
|
"peerDependencies": {
|
package/cjs/Query.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.default = Query;
|
|
7
|
-
|
|
8
|
-
var _useQuery2 = _interopRequireDefault(require("./useQuery.js"));
|
|
9
|
-
|
|
10
|
-
function Query(_ref) {
|
|
11
|
-
var query = _ref.query,
|
|
12
|
-
options = _ref.options,
|
|
13
|
-
children = _ref.children;
|
|
14
|
-
|
|
15
|
-
var _useQuery = (0, _useQuery2.default)(query, options),
|
|
16
|
-
data = _useQuery.data,
|
|
17
|
-
loading = _useQuery.loading,
|
|
18
|
-
error = _useQuery.error;
|
|
19
|
-
|
|
20
|
-
return children({
|
|
21
|
-
data: data,
|
|
22
|
-
loading: loading,
|
|
23
|
-
error: error
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
module.exports = exports.default;
|
package/cjs/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.useStore = exports.useQuery = exports.Query = exports.GraffyProvider = void 0;
|
|
7
|
-
|
|
8
|
-
var _GraffyContext = require("./GraffyContext.jsx");
|
|
9
|
-
|
|
10
|
-
exports.GraffyProvider = _GraffyContext.GraffyProvider;
|
|
11
|
-
|
|
12
|
-
var _Query = _interopRequireDefault(require("./Query.js"));
|
|
13
|
-
|
|
14
|
-
exports.Query = _Query.default;
|
|
15
|
-
|
|
16
|
-
var _useQuery = _interopRequireDefault(require("./useQuery.js"));
|
|
17
|
-
|
|
18
|
-
exports.useQuery = _useQuery.default;
|
|
19
|
-
|
|
20
|
-
var _useStore = _interopRequireDefault(require("./useStore.js"));
|
|
21
|
-
|
|
22
|
-
exports.useStore = _useStore.default;
|
package/cjs/useQuery.js
DELETED
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.default = useQuery;
|
|
7
|
-
|
|
8
|
-
var _bind = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/bind"));
|
|
9
|
-
|
|
10
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
-
|
|
12
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
|
|
13
|
-
|
|
14
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
15
|
-
|
|
16
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
|
|
17
|
-
|
|
18
|
-
var _asyncIterator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncIterator"));
|
|
19
|
-
|
|
20
|
-
var _react = _interopRequireDefault(require("react"));
|
|
21
|
-
|
|
22
|
-
var _isEqual = _interopRequireDefault(require("lodash/isEqual.js"));
|
|
23
|
-
|
|
24
|
-
var _GraffyContext = _interopRequireDefault(require("./GraffyContext.jsx"));
|
|
25
|
-
|
|
26
|
-
var _excluded = ["once"];
|
|
27
|
-
var useRef = _react.default.useRef,
|
|
28
|
-
useState = _react.default.useState,
|
|
29
|
-
useEffect = _react.default.useEffect,
|
|
30
|
-
useContext = _react.default.useContext;
|
|
31
|
-
|
|
32
|
-
var consumeSubscription = /*#__PURE__*/function () {
|
|
33
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(subscription, setState) {
|
|
34
|
-
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, _ret;
|
|
35
|
-
|
|
36
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
37
|
-
while (1) {
|
|
38
|
-
switch (_context.prev = _context.next) {
|
|
39
|
-
case 0:
|
|
40
|
-
_context.prev = 0;
|
|
41
|
-
_iteratorAbruptCompletion = false;
|
|
42
|
-
_didIteratorError = false;
|
|
43
|
-
_context.prev = 3;
|
|
44
|
-
|
|
45
|
-
_loop = function _loop() {
|
|
46
|
-
var data = _step.value;
|
|
47
|
-
|
|
48
|
-
if (subscription.closed) {
|
|
49
|
-
// console.warn('Ignoring update after subscription has closed.');
|
|
50
|
-
return "break";
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
setState(function (prevState) {
|
|
54
|
-
return (0, _extends2.default)({}, prevState, {
|
|
55
|
-
loading: false,
|
|
56
|
-
data: data,
|
|
57
|
-
error: null
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
_iterator = (0, _asyncIterator2.default)(subscription);
|
|
63
|
-
|
|
64
|
-
case 6:
|
|
65
|
-
_context.next = 8;
|
|
66
|
-
return _iterator.next();
|
|
67
|
-
|
|
68
|
-
case 8:
|
|
69
|
-
if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
|
|
70
|
-
_context.next = 15;
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
_ret = _loop();
|
|
75
|
-
|
|
76
|
-
if (!(_ret === "break")) {
|
|
77
|
-
_context.next = 12;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return _context.abrupt("break", 15);
|
|
82
|
-
|
|
83
|
-
case 12:
|
|
84
|
-
_iteratorAbruptCompletion = false;
|
|
85
|
-
_context.next = 6;
|
|
86
|
-
break;
|
|
87
|
-
|
|
88
|
-
case 15:
|
|
89
|
-
_context.next = 21;
|
|
90
|
-
break;
|
|
91
|
-
|
|
92
|
-
case 17:
|
|
93
|
-
_context.prev = 17;
|
|
94
|
-
_context.t0 = _context["catch"](3);
|
|
95
|
-
_didIteratorError = true;
|
|
96
|
-
_iteratorError = _context.t0;
|
|
97
|
-
|
|
98
|
-
case 21:
|
|
99
|
-
_context.prev = 21;
|
|
100
|
-
_context.prev = 22;
|
|
101
|
-
|
|
102
|
-
if (!(_iteratorAbruptCompletion && _iterator.return != null)) {
|
|
103
|
-
_context.next = 26;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
_context.next = 26;
|
|
108
|
-
return _iterator.return();
|
|
109
|
-
|
|
110
|
-
case 26:
|
|
111
|
-
_context.prev = 26;
|
|
112
|
-
|
|
113
|
-
if (!_didIteratorError) {
|
|
114
|
-
_context.next = 29;
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
throw _iteratorError;
|
|
119
|
-
|
|
120
|
-
case 29:
|
|
121
|
-
return _context.finish(26);
|
|
122
|
-
|
|
123
|
-
case 30:
|
|
124
|
-
return _context.finish(21);
|
|
125
|
-
|
|
126
|
-
case 31:
|
|
127
|
-
_context.next = 36;
|
|
128
|
-
break;
|
|
129
|
-
|
|
130
|
-
case 33:
|
|
131
|
-
_context.prev = 33;
|
|
132
|
-
_context.t1 = _context["catch"](0);
|
|
133
|
-
// console.error('Error reading stream in useQuery', e);
|
|
134
|
-
setState(function (prevState) {
|
|
135
|
-
return (0, _extends2.default)({}, prevState, {
|
|
136
|
-
loading: false,
|
|
137
|
-
data: null,
|
|
138
|
-
error: _context.t1
|
|
139
|
-
});
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
case 36:
|
|
143
|
-
case "end":
|
|
144
|
-
return _context.stop();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}, _callee, null, [[0, 33], [3, 17, 21, 31], [22,, 26, 30]]);
|
|
148
|
-
}));
|
|
149
|
-
|
|
150
|
-
return function consumeSubscription(_x, _x2) {
|
|
151
|
-
return _ref.apply(this, arguments);
|
|
152
|
-
};
|
|
153
|
-
}();
|
|
154
|
-
|
|
155
|
-
var retrieveResult = /*#__PURE__*/function () {
|
|
156
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(promise, setState) {
|
|
157
|
-
var data;
|
|
158
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
159
|
-
while (1) {
|
|
160
|
-
switch (_context2.prev = _context2.next) {
|
|
161
|
-
case 0:
|
|
162
|
-
_context2.prev = 0;
|
|
163
|
-
_context2.next = 3;
|
|
164
|
-
return promise;
|
|
165
|
-
|
|
166
|
-
case 3:
|
|
167
|
-
data = _context2.sent;
|
|
168
|
-
setState(function (prevState) {
|
|
169
|
-
return (0, _extends2.default)({}, prevState, {
|
|
170
|
-
loading: false,
|
|
171
|
-
data: data,
|
|
172
|
-
error: null
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
_context2.next = 10;
|
|
176
|
-
break;
|
|
177
|
-
|
|
178
|
-
case 7:
|
|
179
|
-
_context2.prev = 7;
|
|
180
|
-
_context2.t0 = _context2["catch"](0);
|
|
181
|
-
// console.error('Error fetching result in useQuery', e);
|
|
182
|
-
setState(function (prevState) {
|
|
183
|
-
return (0, _extends2.default)({}, prevState, {
|
|
184
|
-
loading: false,
|
|
185
|
-
data: null,
|
|
186
|
-
error: _context2.t0
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
case 10:
|
|
191
|
-
case "end":
|
|
192
|
-
return _context2.stop();
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}, _callee2, null, [[0, 7]]);
|
|
196
|
-
}));
|
|
197
|
-
|
|
198
|
-
return function retrieveResult(_x3, _x4) {
|
|
199
|
-
return _ref2.apply(this, arguments);
|
|
200
|
-
};
|
|
201
|
-
}();
|
|
202
|
-
|
|
203
|
-
function useQuery(query, _temp) {
|
|
204
|
-
var _ref3 = _temp === void 0 ? {} : _temp,
|
|
205
|
-
once = _ref3.once,
|
|
206
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(_ref3, _excluded);
|
|
207
|
-
|
|
208
|
-
var store = useContext(_GraffyContext.default);
|
|
209
|
-
var queryRef = useRef(null);
|
|
210
|
-
var queryHasChanged = !(0, _isEqual.default)(queryRef.current, query);
|
|
211
|
-
|
|
212
|
-
if (queryHasChanged) {
|
|
213
|
-
queryRef.current = query;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
var fetchData = function fetchData(options) {
|
|
217
|
-
if (options === void 0) {
|
|
218
|
-
options = other;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
if (state.loading !== true) setState((0, _extends2.default)({}, state, {
|
|
222
|
-
loading: true
|
|
223
|
-
}));
|
|
224
|
-
|
|
225
|
-
if (once) {
|
|
226
|
-
retrieveResult(store.read(query, options), setState);
|
|
227
|
-
} else {
|
|
228
|
-
var subscription = store.watch(query, options);
|
|
229
|
-
consumeSubscription(subscription, setState);
|
|
230
|
-
return function () {
|
|
231
|
-
subscription.closed = true;
|
|
232
|
-
subscription.return();
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
|
|
237
|
-
var refetch = (0, _bind.default)(fetchData).call(fetchData, null, (0, _extends2.default)({}, other, {
|
|
238
|
-
skipCache: true
|
|
239
|
-
}));
|
|
240
|
-
|
|
241
|
-
var _useState = useState({
|
|
242
|
-
loading: true
|
|
243
|
-
}),
|
|
244
|
-
state = _useState[0],
|
|
245
|
-
setState = _useState[1];
|
|
246
|
-
|
|
247
|
-
useEffect(fetchData, [queryRef.current, store]);
|
|
248
|
-
return once ? (0, _extends2.default)({}, state, {
|
|
249
|
-
refetch: refetch
|
|
250
|
-
}) : state;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
module.exports = exports.default;
|
package/cjs/useStore.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.default = useStore;
|
|
7
|
-
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
|
-
var _GraffyContext = _interopRequireDefault(require("./GraffyContext.jsx"));
|
|
11
|
-
|
|
12
|
-
var useContext = _react.default.useContext;
|
|
13
|
-
|
|
14
|
-
function useStore() {
|
|
15
|
-
var store = useContext(_GraffyContext.default);
|
|
16
|
-
return store;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
module.exports = exports.default;
|