@civet/core 1.0.0-rc2 → 1.0.0-rc3
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/lib/Resource.js +40 -13
- package/lib/useResource.js +10 -11
- package/package.json +2 -2
- package/src/Resource.js +16 -7
- package/src/useResource.js +10 -15
package/lib/Resource.js
CHANGED
|
@@ -15,10 +15,12 @@ var _DataProvider = require("./DataProvider");
|
|
|
15
15
|
|
|
16
16
|
var _useResource = _interopRequireDefault(require("./useResource"));
|
|
17
17
|
|
|
18
|
-
var _excluded = ["children"];
|
|
18
|
+
var _excluded = ["dataProvider", "name", "query", "empty", "options", "persistent", "children"];
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
21
|
|
|
22
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
|
+
|
|
22
24
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
23
25
|
|
|
24
26
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -29,16 +31,46 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
29
31
|
* The provided DataProvider must not be replaced.
|
|
30
32
|
*/
|
|
31
33
|
function Resource(_ref) {
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
var dataProvider = _ref.dataProvider,
|
|
35
|
+
name = _ref.name,
|
|
36
|
+
query = _ref.query,
|
|
37
|
+
empty = _ref.empty,
|
|
38
|
+
options = _ref.options,
|
|
39
|
+
persistent = _ref.persistent,
|
|
40
|
+
children = _ref.children,
|
|
41
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
42
|
+
|
|
43
|
+
var context = (0, _useResource["default"])({
|
|
44
|
+
dataProvider: dataProvider,
|
|
45
|
+
name: name,
|
|
46
|
+
query: query,
|
|
47
|
+
empty: empty,
|
|
48
|
+
options: options,
|
|
49
|
+
persistent: persistent
|
|
50
|
+
});
|
|
51
|
+
return context.dataProvider.uiPlugins.reduceRight(function (next, Plugin) {
|
|
52
|
+
return function (result) {
|
|
53
|
+
return (
|
|
54
|
+
/*#__PURE__*/
|
|
55
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
56
|
+
_react["default"].createElement(Plugin, _extends({}, rest, {
|
|
57
|
+
context: result
|
|
58
|
+
}), next)
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
}, function (result) {
|
|
62
|
+
return /*#__PURE__*/_react["default"].createElement(_context.ResourceContext.Provider, {
|
|
63
|
+
value: result
|
|
64
|
+
}, children);
|
|
65
|
+
})(context);
|
|
39
66
|
}
|
|
40
67
|
|
|
41
68
|
Resource.propTypes = {
|
|
69
|
+
/**
|
|
70
|
+
* DataProvider to be used for requests
|
|
71
|
+
*/
|
|
72
|
+
dataProvider: _DataProvider.dataProviderPropType.isRequired,
|
|
73
|
+
|
|
42
74
|
/**
|
|
43
75
|
* Resource name
|
|
44
76
|
*/
|
|
@@ -59,11 +91,6 @@ Resource.propTypes = {
|
|
|
59
91
|
*/
|
|
60
92
|
options: _propTypes["default"].object,
|
|
61
93
|
|
|
62
|
-
/**
|
|
63
|
-
* DataProvider to be used for requests
|
|
64
|
-
*/
|
|
65
|
-
dataProvider: _DataProvider.dataProviderPropType.isRequired,
|
|
66
|
-
|
|
67
94
|
/**
|
|
68
95
|
* Whether stale data should be retained during the next request - this only applies if neither dataProvider nor name have changed, unless set to "very"
|
|
69
96
|
*/
|
package/lib/useResource.js
CHANGED
|
@@ -15,7 +15,7 @@ var _Meta = _interopRequireDefault(require("./Meta"));
|
|
|
15
15
|
|
|
16
16
|
var _uniqueIdentifier = _interopRequireDefault(require("./uniqueIdentifier"));
|
|
17
17
|
|
|
18
|
-
var _excluded = ["name", "query", "empty", "options", "
|
|
18
|
+
var _excluded = ["dataProvider", "name", "query", "empty", "options", "persistent"],
|
|
19
19
|
_excluded2 = ["data"];
|
|
20
20
|
|
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -51,14 +51,14 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
51
51
|
* If not explicitly specified, necessary configuration is taken from the nearest <ConfigProvider>.
|
|
52
52
|
* The provided DataProvider must not be replaced.
|
|
53
53
|
*/
|
|
54
|
-
function useResource(
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
persistent =
|
|
61
|
-
rest = _objectWithoutProperties(
|
|
54
|
+
function useResource(_ref) {
|
|
55
|
+
var dataProviderProp = _ref.dataProvider,
|
|
56
|
+
name = _ref.name,
|
|
57
|
+
query = _ref.query,
|
|
58
|
+
empty = _ref.empty,
|
|
59
|
+
options = _ref.options,
|
|
60
|
+
persistent = _ref.persistent,
|
|
61
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
62
62
|
|
|
63
63
|
var configContext = (0, _context2.useConfigContext)();
|
|
64
64
|
var currentDataProvider = dataProviderProp || configContext.dataProvider;
|
|
@@ -255,8 +255,7 @@ function useResource(props) {
|
|
|
255
255
|
});
|
|
256
256
|
}, [value, dataProvider, isLoading, isStale, notify]);
|
|
257
257
|
|
|
258
|
-
|
|
259
|
-
return contextPlugins.reduce(function (result, fn) {
|
|
258
|
+
return dataProvider.contextPlugins.reduce(function (result, fn) {
|
|
260
259
|
return fn(result, rest);
|
|
261
260
|
}, context);
|
|
262
261
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civet/core",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-rc3",
|
|
4
4
|
"description": "Civet",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"eslint-plugin-prettier": "^3.4.1",
|
|
52
52
|
"eslint-plugin-react": "^7.21.5",
|
|
53
53
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
54
|
-
"prettier": "^2.
|
|
54
|
+
"prettier": "^2.6.2",
|
|
55
55
|
"react": "^18.1.0",
|
|
56
56
|
"react-dom": "^18.1.0",
|
|
57
57
|
"rimraf": "^3.0.2"
|
package/src/Resource.js
CHANGED
|
@@ -10,13 +10,26 @@ import useResource from './useResource';
|
|
|
10
10
|
* If not explicitly specified, necessary configuration is taken from the nearest <ConfigProvider>.
|
|
11
11
|
* The provided DataProvider must not be replaced.
|
|
12
12
|
*/
|
|
13
|
-
function Resource({ children, ...
|
|
14
|
-
const context = useResource(
|
|
13
|
+
function Resource({ dataProvider, name, query, empty, options, persistent, children, ...rest }) {
|
|
14
|
+
const context = useResource({ dataProvider, name, query, empty, options, persistent });
|
|
15
15
|
|
|
16
|
-
return
|
|
16
|
+
return context.dataProvider.uiPlugins.reduceRight(
|
|
17
|
+
(next, Plugin) => (result) =>
|
|
18
|
+
(
|
|
19
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
20
|
+
<Plugin {...rest} context={result}>
|
|
21
|
+
{next}
|
|
22
|
+
</Plugin>
|
|
23
|
+
),
|
|
24
|
+
(result) => <ResourceContext.Provider value={result}>{children}</ResourceContext.Provider>,
|
|
25
|
+
)(context);
|
|
17
26
|
}
|
|
18
27
|
|
|
19
28
|
Resource.propTypes = {
|
|
29
|
+
/**
|
|
30
|
+
* DataProvider to be used for requests
|
|
31
|
+
*/
|
|
32
|
+
dataProvider: dataProviderPropType.isRequired,
|
|
20
33
|
/**
|
|
21
34
|
* Resource name
|
|
22
35
|
*/
|
|
@@ -33,10 +46,6 @@ Resource.propTypes = {
|
|
|
33
46
|
* DataProvider options for requests
|
|
34
47
|
*/
|
|
35
48
|
options: PropTypes.object,
|
|
36
|
-
/**
|
|
37
|
-
* DataProvider to be used for requests
|
|
38
|
-
*/
|
|
39
|
-
dataProvider: dataProviderPropType.isRequired,
|
|
40
49
|
/**
|
|
41
50
|
* Whether stale data should be retained during the next request - this only applies if neither dataProvider nor name have changed, unless set to "very"
|
|
42
51
|
*/
|
package/src/useResource.js
CHANGED
|
@@ -10,17 +10,15 @@ import uniqueIdentifier from './uniqueIdentifier';
|
|
|
10
10
|
* If not explicitly specified, necessary configuration is taken from the nearest <ConfigProvider>.
|
|
11
11
|
* The provided DataProvider must not be replaced.
|
|
12
12
|
*/
|
|
13
|
-
function useResource(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} = props;
|
|
23
|
-
|
|
13
|
+
function useResource({
|
|
14
|
+
dataProvider: dataProviderProp,
|
|
15
|
+
name,
|
|
16
|
+
query,
|
|
17
|
+
empty,
|
|
18
|
+
options,
|
|
19
|
+
persistent,
|
|
20
|
+
...rest
|
|
21
|
+
}) {
|
|
24
22
|
const configContext = useConfigContext();
|
|
25
23
|
const currentDataProvider = dataProviderProp || configContext.dataProvider;
|
|
26
24
|
const dataProvider = React.useMemo(() => currentDataProvider, []);
|
|
@@ -199,10 +197,7 @@ function useResource(props) {
|
|
|
199
197
|
[value, dataProvider, isLoading, isStale, notify],
|
|
200
198
|
);
|
|
201
199
|
|
|
202
|
-
|
|
203
|
-
? dataProvider.contextPlugins
|
|
204
|
-
: [];
|
|
205
|
-
return contextPlugins.reduce((result, fn) => fn(result, rest), context);
|
|
200
|
+
return dataProvider.contextPlugins.reduce((result, fn) => fn(result, rest), context);
|
|
206
201
|
}
|
|
207
202
|
|
|
208
203
|
export default useResource;
|