@civet/core 1.0.0-rc2 → 1.0.0-rc5
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/index.js +8 -0
- package/lib/useResource.js +10 -11
- package/package.json +2 -2
- package/src/Resource.js +16 -7
- package/src/index.js +1 -0
- 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,
|
|
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/index.js
CHANGED
|
@@ -83,6 +83,12 @@ Object.defineProperty(exports, "Resource", {
|
|
|
83
83
|
return _Resource["default"];
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
|
+
Object.defineProperty(exports, "useResource", {
|
|
87
|
+
enumerable: true,
|
|
88
|
+
get: function get() {
|
|
89
|
+
return _useResource["default"];
|
|
90
|
+
}
|
|
91
|
+
});
|
|
86
92
|
exports.ResourceConsumer = exports.ResourceProvider = exports.ConfigConsumer = void 0;
|
|
87
93
|
|
|
88
94
|
var _context = require("./context");
|
|
@@ -105,6 +111,8 @@ var _Notifier = _interopRequireDefault(require("./Notifier"));
|
|
|
105
111
|
|
|
106
112
|
var _Resource = _interopRequireDefault(require("./Resource"));
|
|
107
113
|
|
|
114
|
+
var _useResource = _interopRequireDefault(require("./useResource"));
|
|
115
|
+
|
|
108
116
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
109
117
|
|
|
110
118
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
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-rc5",
|
|
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,
|
|
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/index.js
CHANGED
|
@@ -11,4 +11,5 @@ export { dataProviderPropType, default as DataProvider, isDataProvider } from '.
|
|
|
11
11
|
export { default as Meta } from './Meta';
|
|
12
12
|
export { default as Notifier } from './Notifier';
|
|
13
13
|
export { default as Resource } from './Resource';
|
|
14
|
+
export { default as useResource } from './useResource';
|
|
14
15
|
export { useConfigContext, useResourceContext };
|
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;
|