@civet/core 1.4.1 → 1.4.3
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/LICENSE +1 -1
- package/lib/AbortSignal.js +5 -5
- package/lib/ChannelNotifier.js +5 -5
- package/lib/ConfigProvider.js +1 -1
- package/lib/DataProvider.js +6 -5
- package/lib/Meta.js +4 -4
- package/lib/Notifier.js +7 -5
- package/lib/Resource.js +4 -4
- package/lib/createPlugin.js +13 -11
- package/lib/index.js +1 -1
- package/lib/uniqueIdentifier.js +4 -4
- package/lib/useResource.js +17 -13
- package/package.json +38 -36
- package/src/ChannelNotifier.js +7 -2
- package/src/ConfigProvider.jsx +3 -1
- package/src/DataProvider.js +40 -16
- package/src/Notifier.js +3 -1
- package/src/Resource.jsx +24 -3
- package/src/createPlugin.js +3 -1
- package/src/index.js +13 -3
- package/src/useResource.js +20 -6
package/LICENSE
CHANGED
package/lib/AbortSignal.js
CHANGED
|
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
var _Notifier = _interopRequireDefault(require("./Notifier"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
9
9
|
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); }
|
|
10
|
-
function _defineProperties(
|
|
11
|
-
function _createClass(
|
|
12
|
-
function _classCallCheck(
|
|
13
|
-
function _defineProperty(
|
|
10
|
+
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); } }
|
|
11
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
12
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
15
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
16
|
var AbortSignal = /*#__PURE__*/_createClass(function AbortSignal() {
|
package/lib/ChannelNotifier.js
CHANGED
|
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
var _Notifier = _interopRequireDefault(require("./Notifier"));
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
9
9
|
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); }
|
|
10
|
-
function _defineProperties(
|
|
11
|
-
function _createClass(
|
|
12
|
-
function _classCallCheck(
|
|
13
|
-
function _defineProperty(
|
|
10
|
+
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); } }
|
|
11
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
12
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
15
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
16
|
var ChannelNotifier = /*#__PURE__*/_createClass(function ChannelNotifier() {
|
package/lib/ConfigProvider.js
CHANGED
|
@@ -9,7 +9,7 @@ var _react = require("react");
|
|
|
9
9
|
var _DataProvider = require("./DataProvider");
|
|
10
10
|
var _context = require("./context");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
13
|
/**
|
|
14
14
|
* Provides general configuration to its descendants using React's context API.
|
|
15
15
|
*/function ConfigProvider(_ref) {
|
package/lib/DataProvider.js
CHANGED
|
@@ -10,12 +10,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
10
10
|
var _AbortSignal = _interopRequireDefault(require("./AbortSignal"));
|
|
11
11
|
var _ChannelNotifier = _interopRequireDefault(require("./ChannelNotifier"));
|
|
12
12
|
var _Meta = _interopRequireDefault(require("./Meta"));
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
14
|
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); }
|
|
15
|
-
function _classCallCheck(
|
|
16
|
-
function _defineProperties(
|
|
17
|
-
function _createClass(
|
|
18
|
-
function _defineProperty(
|
|
15
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
16
|
+
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); } }
|
|
17
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
18
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
20
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
21
|
var getMeta = function getMeta(meta) {
|
|
@@ -108,6 +108,7 @@ var DataProvider = /*#__PURE__*/function () {
|
|
|
108
108
|
var proxy = signal.proxy();
|
|
109
109
|
resolve(Promise.resolve(_this2.handleGet(resource, query, options, getMeta(meta), proxy)).then(function (result) {
|
|
110
110
|
if (typeof result === 'function') {
|
|
111
|
+
// `proxy` is being passed down here for backwards compatibility
|
|
111
112
|
result(cb, proxy);
|
|
112
113
|
} else {
|
|
113
114
|
cb(undefined, true, result);
|
package/lib/Meta.js
CHANGED
|
@@ -7,10 +7,10 @@ exports["default"] = void 0;
|
|
|
7
7
|
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); }
|
|
8
8
|
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; }
|
|
9
9
|
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; }
|
|
10
|
-
function _defineProperties(
|
|
11
|
-
function _createClass(
|
|
12
|
-
function _classCallCheck(
|
|
13
|
-
function _defineProperty(
|
|
10
|
+
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); } }
|
|
11
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
12
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
15
15
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
16
16
|
var Meta = /*#__PURE__*/_createClass(function Meta(base, instance) {
|
package/lib/Notifier.js
CHANGED
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
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); }
|
|
8
|
-
function _defineProperties(
|
|
9
|
-
function _createClass(
|
|
10
|
-
function _classCallCheck(
|
|
11
|
-
function _defineProperty(
|
|
8
|
+
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); } }
|
|
9
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
10
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
12
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
13
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
14
|
var Notifier = /*#__PURE__*/_createClass(function Notifier() {
|
|
@@ -16,7 +16,9 @@ var Notifier = /*#__PURE__*/_createClass(function Notifier() {
|
|
|
16
16
|
_classCallCheck(this, Notifier);
|
|
17
17
|
_defineProperty(this, "listeners", new Set());
|
|
18
18
|
_defineProperty(this, "subscribe", function (handler) {
|
|
19
|
-
if (typeof handler !== 'function')
|
|
19
|
+
if (typeof handler !== 'function') {
|
|
20
|
+
throw new Error('Handler must be a function');
|
|
21
|
+
}
|
|
20
22
|
_this.listeners.add(handler);
|
|
21
23
|
return function () {
|
|
22
24
|
_this.listeners["delete"](handler);
|
package/lib/Resource.js
CHANGED
|
@@ -11,14 +11,14 @@ var _context = require("./context");
|
|
|
11
11
|
var _useResource = _interopRequireDefault(require("./useResource"));
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
13
|
var _excluded = ["dataProvider", "name", "query", "empty", "options", "persistent", "children"];
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
15
15
|
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; }
|
|
16
16
|
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; }
|
|
17
|
-
function _defineProperty(
|
|
17
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
18
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
19
19
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
|
-
function _objectWithoutProperties(
|
|
21
|
-
function _objectWithoutPropertiesLoose(
|
|
20
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
21
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
22
22
|
var propTypes = {
|
|
23
23
|
/** DataProvider to be used for requests - must not be changed */
|
|
24
24
|
dataProvider: _DataProvider.dataProviderPropType,
|
package/lib/createPlugin.js
CHANGED
|
@@ -6,26 +6,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
var _DataProvider = _interopRequireDefault(require("./DataProvider"));
|
|
9
|
-
function _interopRequireDefault(
|
|
10
|
-
function _defineProperties(
|
|
11
|
-
function _createClass(
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
|
+
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); } }
|
|
11
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
12
12
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
13
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
-
function _classCallCheck(
|
|
14
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
15
15
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
16
|
-
function _possibleConstructorReturn(
|
|
17
|
-
function _assertThisInitialized(
|
|
16
|
+
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); }
|
|
17
|
+
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
18
18
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
19
|
-
function _getPrototypeOf(
|
|
20
|
-
function _inherits(
|
|
21
|
-
function _setPrototypeOf(
|
|
19
|
+
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
20
|
+
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); }
|
|
21
|
+
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
22
22
|
function createPlugin(plugin) {
|
|
23
|
-
if (typeof plugin !== 'function')
|
|
23
|
+
if (typeof plugin !== 'function') {
|
|
24
|
+
throw new Error('No valid plugin definition specified');
|
|
25
|
+
}
|
|
24
26
|
return function (dataProviderClass) {
|
|
25
27
|
if (!Object.prototype.isPrototypeOf.call(_DataProvider["default"], dataProviderClass)) {
|
|
26
28
|
console.error('A plugin should be given a derivative of the DataProvider class as its first parameter');
|
|
27
29
|
}
|
|
28
|
-
var result = plugin(
|
|
30
|
+
var result = plugin(/*#__PURE__*/function (_dataProviderClass) {
|
|
29
31
|
function _class() {
|
|
30
32
|
_classCallCheck(this, _class);
|
|
31
33
|
return _callSuper(this, _class, arguments);
|
package/lib/index.js
CHANGED
|
@@ -103,7 +103,7 @@ var _createPlugin = _interopRequireDefault(require("./createPlugin"));
|
|
|
103
103
|
var _useResource = _interopRequireDefault(require("./useResource"));
|
|
104
104
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
105
105
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
106
|
-
function _interopRequireDefault(
|
|
106
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
107
107
|
var ConfigConsumer = exports.ConfigConsumer = _context.ConfigContext.Consumer;
|
|
108
108
|
var ResourceProvider = exports.ResourceProvider = _context.ResourceContext.Provider,
|
|
109
109
|
ResourceConsumer = exports.ResourceConsumer = _context.ResourceContext.Consumer;
|
package/lib/uniqueIdentifier.js
CHANGED
|
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
var _uuid = require("uuid");
|
|
8
|
-
function _slicedToArray(
|
|
8
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
9
9
|
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."); }
|
|
10
|
-
function _unsupportedIterableToArray(
|
|
11
|
-
function _arrayLikeToArray(
|
|
10
|
+
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; } }
|
|
11
|
+
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; }
|
|
12
12
|
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; } }
|
|
13
|
-
function _arrayWithHoles(
|
|
13
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
14
14
|
/**
|
|
15
15
|
* Returns incrementing unique string identifiers.
|
|
16
16
|
* Uniqueness is guaranteed for <Number.MAX_SAFE_INTEGER> iterations.
|
package/lib/useResource.js
CHANGED
|
@@ -10,22 +10,22 @@ var _Meta = _interopRequireDefault(require("./Meta"));
|
|
|
10
10
|
var _context2 = require("./context");
|
|
11
11
|
var _uniqueIdentifier = _interopRequireDefault(require("./uniqueIdentifier"));
|
|
12
12
|
var _excluded = ["dataProvider", "name", "query", "empty", "options", "persistent"];
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
14
|
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); }
|
|
15
15
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
16
|
-
function asyncGeneratorStep(
|
|
17
|
-
function _asyncToGenerator(
|
|
18
|
-
function _slicedToArray(
|
|
16
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
17
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
18
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
19
19
|
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."); }
|
|
20
|
-
function _unsupportedIterableToArray(
|
|
21
|
-
function _arrayLikeToArray(
|
|
20
|
+
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; } }
|
|
21
|
+
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; }
|
|
22
22
|
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; } }
|
|
23
|
-
function _arrayWithHoles(
|
|
24
|
-
function _objectWithoutProperties(
|
|
25
|
-
function _objectWithoutPropertiesLoose(
|
|
23
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
24
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
25
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
26
26
|
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; }
|
|
27
27
|
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; }
|
|
28
|
-
function _defineProperty(
|
|
28
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
29
29
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
30
30
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
31
31
|
/**
|
|
@@ -115,7 +115,9 @@ function reducer(state, action) {
|
|
|
115
115
|
var request = action.request,
|
|
116
116
|
revision = action.revision,
|
|
117
117
|
value = action.value;
|
|
118
|
-
if (request !== state.request || revision !== state.revision)
|
|
118
|
+
if (request !== state.request || revision !== state.revision) {
|
|
119
|
+
return state;
|
|
120
|
+
}
|
|
119
121
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
120
122
|
isLoading: value.isIncomplete,
|
|
121
123
|
value: value
|
|
@@ -268,7 +270,7 @@ function useResource(_ref) {
|
|
|
268
270
|
persistent: nextPersistent
|
|
269
271
|
});
|
|
270
272
|
}
|
|
271
|
-
var notify = (0, _react.useCallback)(
|
|
273
|
+
var notify = (0, _react.useCallback)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
272
274
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
273
275
|
while (1) switch (_context.prev = _context.next) {
|
|
274
276
|
case 0:
|
|
@@ -294,7 +296,9 @@ function useResource(_ref) {
|
|
|
294
296
|
|
|
295
297
|
// Fetch data when instructed
|
|
296
298
|
(0, _react.useEffect)(function () {
|
|
297
|
-
if (instance == null || requestInstruction.requestDetails.empty)
|
|
299
|
+
if (instance == null || requestInstruction.requestDetails.empty) {
|
|
300
|
+
return undefined;
|
|
301
|
+
}
|
|
298
302
|
var abortSignal = new _AbortSignal["default"]();
|
|
299
303
|
|
|
300
304
|
// Start fetching data.
|
package/package.json
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civet/core",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "Civet",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"LICENSE",
|
|
8
|
+
"README.md",
|
|
9
|
+
"lib/",
|
|
10
|
+
"src/"
|
|
11
|
+
],
|
|
5
12
|
"main": "./lib/index.js",
|
|
6
13
|
"exports": {
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"require": "./lib/index.js",
|
|
10
|
-
"default": "./lib/index.js"
|
|
11
|
-
}
|
|
14
|
+
"import": "./src/index.js",
|
|
15
|
+
"default": "./lib/index.js"
|
|
12
16
|
},
|
|
13
|
-
"files": [
|
|
14
|
-
"lib",
|
|
15
|
-
"src"
|
|
16
|
-
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build:clean": "rimraf ./lib",
|
|
19
18
|
"prebuild": "npm run build:clean",
|
|
19
|
+
"build:clean": "rimraf ./lib",
|
|
20
20
|
"build": "babel src -d lib",
|
|
21
|
-
"lint": "eslint
|
|
21
|
+
"lint": "eslint",
|
|
22
22
|
"prepare": "npm run lint && npm run build",
|
|
23
23
|
"preversion": "git diff HEAD --name-only --exit-code || (echo -\\> unclean working directory && exit 1)",
|
|
24
24
|
"postversion": "cross-env git commit -am$npm_package_version",
|
|
25
|
-
"prettify": "prettier --write
|
|
25
|
+
"prettify": "prettier . --write"
|
|
26
26
|
},
|
|
27
27
|
"repository": {
|
|
28
28
|
"type": "git",
|
|
@@ -40,33 +40,35 @@
|
|
|
40
40
|
"url": "https://github.com/civet-org/core/issues"
|
|
41
41
|
},
|
|
42
42
|
"homepage": "https://civet.js.org/",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"@babel/preset-react": "^7.18.6",
|
|
49
|
-
"cross-env": "^7.0.3",
|
|
50
|
-
"eslint": "^8.53.0",
|
|
51
|
-
"eslint-config-prettier": "^9.0.0",
|
|
52
|
-
"eslint-plugin-import": "^2.29.0",
|
|
53
|
-
"eslint-plugin-prettier": "^5.0.1",
|
|
54
|
-
"eslint-plugin-react": "^7.33.2",
|
|
55
|
-
"eslint-plugin-react-hooks": "^4.6.0",
|
|
56
|
-
"eslint-plugin-unused-imports": "^3.0.0",
|
|
57
|
-
"prettier": "^3.2.5",
|
|
58
|
-
"react": "^18.2.0",
|
|
59
|
-
"react-dom": "^18.2.0",
|
|
60
|
-
"rimraf": "^5.0.5"
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"fast-deep-equal": "^3.1.3",
|
|
45
|
+
"object-hash": "^3.0.0",
|
|
46
|
+
"prop-types": "^15.8.1",
|
|
47
|
+
"uuid": "^11.1.0"
|
|
61
48
|
},
|
|
62
49
|
"peerDependencies": {
|
|
63
50
|
"react": ">=18.0",
|
|
64
51
|
"react-dom": ">=18.0"
|
|
65
52
|
},
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@babel/cli": "^7.26.4",
|
|
55
|
+
"@babel/core": "^7.26.10",
|
|
56
|
+
"@babel/eslint-parser": "^7.26.10",
|
|
57
|
+
"@babel/preset-env": "^7.26.9",
|
|
58
|
+
"@babel/preset-react": "^7.26.3",
|
|
59
|
+
"@civet/core": "^1.4.1",
|
|
60
|
+
"cross-env": "^7.0.3",
|
|
61
|
+
"eslint": "^9.20.0",
|
|
62
|
+
"eslint-config-prettier": "^10.1.1",
|
|
63
|
+
"eslint-plugin-import": "^2.31.0",
|
|
64
|
+
"eslint-plugin-prettier": "^5.2.3",
|
|
65
|
+
"eslint-plugin-react": "^7.37.4",
|
|
66
|
+
"eslint-plugin-react-hooks": "^5.2.0-canary-8759c5c8-20250207",
|
|
67
|
+
"eslint-plugin-unused-imports": "^4.1.4",
|
|
68
|
+
"globals": "^16.0.0",
|
|
69
|
+
"prettier": "^3.5.3",
|
|
70
|
+
"react": "^18.3.1",
|
|
71
|
+
"react-dom": "^18.3.1",
|
|
72
|
+
"rimraf": "^6.0.1"
|
|
71
73
|
}
|
|
72
74
|
}
|
package/src/ChannelNotifier.js
CHANGED
|
@@ -15,12 +15,17 @@ class ChannelNotifier {
|
|
|
15
15
|
if (channel == null || !`${channel}`) {
|
|
16
16
|
throw new Error('Channel is required');
|
|
17
17
|
}
|
|
18
|
-
return
|
|
18
|
+
return (
|
|
19
|
+
this.channels[channel] != null &&
|
|
20
|
+
this.channels[channel].isSubscribed(handler)
|
|
21
|
+
);
|
|
19
22
|
};
|
|
20
23
|
|
|
21
24
|
trigger = (channel, ...args) => {
|
|
22
25
|
if (channel == null) {
|
|
23
|
-
Object.values(this.channels).forEach((notifier) =>
|
|
26
|
+
Object.values(this.channels).forEach((notifier) =>
|
|
27
|
+
notifier.trigger(...args),
|
|
28
|
+
);
|
|
24
29
|
} else if (this.channels[channel] != null) {
|
|
25
30
|
this.channels[channel].trigger(...args);
|
|
26
31
|
}
|
package/src/ConfigProvider.jsx
CHANGED
|
@@ -9,7 +9,9 @@ import { ConfigContext } from './context';
|
|
|
9
9
|
function ConfigProvider({ dataProvider, children }) {
|
|
10
10
|
const context = useMemo(() => ({ dataProvider }), [dataProvider]);
|
|
11
11
|
|
|
12
|
-
return
|
|
12
|
+
return (
|
|
13
|
+
<ConfigContext.Provider value={context}>{children}</ConfigContext.Provider>
|
|
14
|
+
);
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
ConfigProvider.propTypes = {
|
package/src/DataProvider.js
CHANGED
|
@@ -97,15 +97,16 @@ class DataProvider {
|
|
|
97
97
|
const proxy = signal.proxy();
|
|
98
98
|
|
|
99
99
|
resolve(
|
|
100
|
-
Promise.resolve(
|
|
101
|
-
(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
100
|
+
Promise.resolve(
|
|
101
|
+
this.handleGet(resource, query, options, getMeta(meta), proxy),
|
|
102
|
+
).then((result) => {
|
|
103
|
+
if (typeof result === 'function') {
|
|
104
|
+
// `proxy` is being passed down here for backwards compatibility
|
|
105
|
+
result(cb, proxy);
|
|
106
|
+
} else {
|
|
107
|
+
cb(undefined, true, result);
|
|
108
|
+
}
|
|
109
|
+
}),
|
|
109
110
|
);
|
|
110
111
|
}).catch((e) => {
|
|
111
112
|
if (!signal.locked) callback(e, true, []);
|
|
@@ -116,7 +117,11 @@ class DataProvider {
|
|
|
116
117
|
return new Promise((resolve) => {
|
|
117
118
|
if (resource == null) throw new Error('No resource name specified');
|
|
118
119
|
if (data == null) throw new Error('No data specified');
|
|
119
|
-
resolve(
|
|
120
|
+
resolve(
|
|
121
|
+
Promise.resolve(
|
|
122
|
+
this.handleCreate(resource, data, options, getMeta(meta)),
|
|
123
|
+
),
|
|
124
|
+
);
|
|
120
125
|
});
|
|
121
126
|
}
|
|
122
127
|
|
|
@@ -124,7 +129,11 @@ class DataProvider {
|
|
|
124
129
|
return new Promise((resolve) => {
|
|
125
130
|
if (resource == null) throw new Error('No resource name specified');
|
|
126
131
|
if (data == null) throw new Error('No data specified');
|
|
127
|
-
resolve(
|
|
132
|
+
resolve(
|
|
133
|
+
Promise.resolve(
|
|
134
|
+
this.handleUpdate(resource, query, data, options, getMeta(meta)),
|
|
135
|
+
),
|
|
136
|
+
);
|
|
128
137
|
});
|
|
129
138
|
}
|
|
130
139
|
|
|
@@ -132,14 +141,22 @@ class DataProvider {
|
|
|
132
141
|
return new Promise((resolve) => {
|
|
133
142
|
if (resource == null) throw new Error('No resource name specified');
|
|
134
143
|
if (data == null) throw new Error('No data specified');
|
|
135
|
-
resolve(
|
|
144
|
+
resolve(
|
|
145
|
+
Promise.resolve(
|
|
146
|
+
this.handlePatch(resource, query, data, options, getMeta(meta)),
|
|
147
|
+
),
|
|
148
|
+
);
|
|
136
149
|
});
|
|
137
150
|
}
|
|
138
151
|
|
|
139
152
|
remove(resource, query, options, meta) {
|
|
140
153
|
return new Promise((resolve) => {
|
|
141
154
|
if (resource == null) throw new Error('No resource name specified');
|
|
142
|
-
resolve(
|
|
155
|
+
resolve(
|
|
156
|
+
Promise.resolve(
|
|
157
|
+
this.handleRemove(resource, query, options, getMeta(meta)),
|
|
158
|
+
),
|
|
159
|
+
);
|
|
143
160
|
});
|
|
144
161
|
}
|
|
145
162
|
|
|
@@ -149,7 +166,8 @@ class DataProvider {
|
|
|
149
166
|
|
|
150
167
|
shouldPersist(nextRequestDetails, prevRequestDetails, persistent) {
|
|
151
168
|
return (
|
|
152
|
-
persistent === 'very' ||
|
|
169
|
+
persistent === 'very' ||
|
|
170
|
+
(persistent && prevRequestDetails.name === nextRequestDetails.name)
|
|
153
171
|
);
|
|
154
172
|
}
|
|
155
173
|
|
|
@@ -177,7 +195,10 @@ class DataProvider {
|
|
|
177
195
|
if (prevContext.data.length > 0) {
|
|
178
196
|
result = nextContext.data.map((nextItem) => {
|
|
179
197
|
const id = this.getItemIdentifier(nextItem);
|
|
180
|
-
if (
|
|
198
|
+
if (
|
|
199
|
+
id != null &&
|
|
200
|
+
Object.prototype.hasOwnProperty.call(prevMapping, id)
|
|
201
|
+
) {
|
|
181
202
|
const prevItem = prevMapping[id];
|
|
182
203
|
if (this.compareItemVersions(nextItem, prevItem)) return prevItem;
|
|
183
204
|
}
|
|
@@ -188,7 +209,10 @@ class DataProvider {
|
|
|
188
209
|
}
|
|
189
210
|
if (
|
|
190
211
|
prevContext.data.length === result.length &&
|
|
191
|
-
result.reduce(
|
|
212
|
+
result.reduce(
|
|
213
|
+
(sum, item, i) => sum && Object.is(prevContext.data[i], item),
|
|
214
|
+
true,
|
|
215
|
+
)
|
|
192
216
|
) {
|
|
193
217
|
return prevContext.data;
|
|
194
218
|
}
|
package/src/Notifier.js
CHANGED
|
@@ -2,7 +2,9 @@ class Notifier {
|
|
|
2
2
|
listeners = new Set();
|
|
3
3
|
|
|
4
4
|
subscribe = (handler) => {
|
|
5
|
-
if (typeof handler !== 'function')
|
|
5
|
+
if (typeof handler !== 'function') {
|
|
6
|
+
throw new Error('Handler must be a function');
|
|
7
|
+
}
|
|
6
8
|
this.listeners.add(handler);
|
|
7
9
|
return () => {
|
|
8
10
|
this.listeners.delete(handler);
|
package/src/Resource.jsx
CHANGED
|
@@ -27,8 +27,25 @@ const propTypes = {
|
|
|
27
27
|
*
|
|
28
28
|
* The provided DataProvider must not be changed.
|
|
29
29
|
*/
|
|
30
|
-
function Resource({
|
|
31
|
-
|
|
30
|
+
function Resource({
|
|
31
|
+
dataProvider,
|
|
32
|
+
name,
|
|
33
|
+
query,
|
|
34
|
+
empty,
|
|
35
|
+
options,
|
|
36
|
+
persistent,
|
|
37
|
+
children,
|
|
38
|
+
...rest
|
|
39
|
+
}) {
|
|
40
|
+
const context = useResource({
|
|
41
|
+
dataProvider,
|
|
42
|
+
name,
|
|
43
|
+
query,
|
|
44
|
+
empty,
|
|
45
|
+
options,
|
|
46
|
+
persistent,
|
|
47
|
+
...rest,
|
|
48
|
+
});
|
|
32
49
|
|
|
33
50
|
return context.dataProvider.uiPlugins.reduceRight(
|
|
34
51
|
(next, Plugin) =>
|
|
@@ -38,7 +55,11 @@ function Resource({ dataProvider, name, query, empty, options, persistent, child
|
|
|
38
55
|
{next}
|
|
39
56
|
</Plugin>
|
|
40
57
|
),
|
|
41
|
-
(result) =>
|
|
58
|
+
(result) => (
|
|
59
|
+
<ResourceContext.Provider value={result}>
|
|
60
|
+
{children}
|
|
61
|
+
</ResourceContext.Provider>
|
|
62
|
+
),
|
|
42
63
|
)(context);
|
|
43
64
|
}
|
|
44
65
|
|
package/src/createPlugin.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import DataProvider from './DataProvider';
|
|
2
2
|
|
|
3
3
|
function createPlugin(plugin) {
|
|
4
|
-
if (typeof plugin !== 'function')
|
|
4
|
+
if (typeof plugin !== 'function') {
|
|
5
|
+
throw new Error('No valid plugin definition specified');
|
|
6
|
+
}
|
|
5
7
|
return (dataProviderClass) => {
|
|
6
8
|
if (!Object.prototype.isPrototypeOf.call(DataProvider, dataProviderClass)) {
|
|
7
9
|
console.error(
|
package/src/index.js
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ConfigContext,
|
|
3
|
+
ResourceContext,
|
|
4
|
+
useConfigContext,
|
|
5
|
+
useResourceContext,
|
|
6
|
+
} from './context';
|
|
2
7
|
|
|
3
8
|
export const { Consumer: ConfigConsumer } = ConfigContext;
|
|
4
|
-
export const { Provider: ResourceProvider, Consumer: ResourceConsumer } =
|
|
9
|
+
export const { Provider: ResourceProvider, Consumer: ResourceConsumer } =
|
|
10
|
+
ResourceContext;
|
|
5
11
|
export { default as AbortSignal } from './AbortSignal';
|
|
6
12
|
export { default as ChannelNotifier } from './ChannelNotifier';
|
|
7
13
|
export { default as ConfigProvider } from './ConfigProvider';
|
|
8
|
-
export {
|
|
14
|
+
export {
|
|
15
|
+
default as DataProvider,
|
|
16
|
+
dataProviderPropType,
|
|
17
|
+
isDataProvider,
|
|
18
|
+
} from './DataProvider';
|
|
9
19
|
export { default as Meta } from './Meta';
|
|
10
20
|
export { default as Notifier } from './Notifier';
|
|
11
21
|
export { default as Resource } from './Resource';
|
package/src/useResource.js
CHANGED
|
@@ -27,7 +27,8 @@ function reducer(state, action) {
|
|
|
27
27
|
switch (action.type) {
|
|
28
28
|
// Creates a new request and instructs the resource to fetch data.
|
|
29
29
|
case 'next-request': {
|
|
30
|
-
const { requestDetails: nextRequestDetails, persistent: nextPersistent } =
|
|
30
|
+
const { requestDetails: nextRequestDetails, persistent: nextPersistent } =
|
|
31
|
+
action;
|
|
31
32
|
const nextRequest = uniqueIdentifier(state.request);
|
|
32
33
|
const nextRevision = uniqueIdentifier(state.revision);
|
|
33
34
|
let isPersistent = false;
|
|
@@ -93,7 +94,9 @@ function reducer(state, action) {
|
|
|
93
94
|
// Updates the current request's data.
|
|
94
95
|
case 'update-data': {
|
|
95
96
|
const { request, revision, value } = action;
|
|
96
|
-
if (request !== state.request || revision !== state.revision)
|
|
97
|
+
if (request !== state.request || revision !== state.revision) {
|
|
98
|
+
return state;
|
|
99
|
+
}
|
|
97
100
|
return {
|
|
98
101
|
...state,
|
|
99
102
|
isLoading: value.isIncomplete,
|
|
@@ -109,7 +112,8 @@ function reducer(state, action) {
|
|
|
109
112
|
* Starts fetching data and updates the resource when new data is available.
|
|
110
113
|
*/
|
|
111
114
|
function fetchData(requestInstruction, instance, abortSignal, dispatch) {
|
|
112
|
-
const { dataProvider, requestDetails, request, revision, value } =
|
|
115
|
+
const { dataProvider, requestDetails, request, revision, value } =
|
|
116
|
+
requestInstruction;
|
|
113
117
|
|
|
114
118
|
const meta = new Meta({ ...value.meta }, instance);
|
|
115
119
|
|
|
@@ -185,7 +189,12 @@ function useResource({
|
|
|
185
189
|
const currentDataProvider = dataProviderProp || configContext.dataProvider;
|
|
186
190
|
|
|
187
191
|
const nextRequestDetails = useMemo(
|
|
188
|
-
() => ({
|
|
192
|
+
() => ({
|
|
193
|
+
name: nextName,
|
|
194
|
+
query: nextQuery,
|
|
195
|
+
empty: nextEmpty,
|
|
196
|
+
options: nextOptions,
|
|
197
|
+
}),
|
|
189
198
|
[nextName, nextQuery, nextEmpty, nextOptions],
|
|
190
199
|
);
|
|
191
200
|
const [state, dispatch] = useReducer(reducer, undefined, () => {
|
|
@@ -275,7 +284,9 @@ function useResource({
|
|
|
275
284
|
|
|
276
285
|
// Fetch data when instructed
|
|
277
286
|
useEffect(() => {
|
|
278
|
-
if (instance == null || requestInstruction.requestDetails.empty)
|
|
287
|
+
if (instance == null || requestInstruction.requestDetails.empty) {
|
|
288
|
+
return undefined;
|
|
289
|
+
}
|
|
279
290
|
|
|
280
291
|
const abortSignal = new AbortSignal();
|
|
281
292
|
|
|
@@ -301,7 +312,10 @@ function useResource({
|
|
|
301
312
|
);
|
|
302
313
|
|
|
303
314
|
// Apply context plugins and return the final context.
|
|
304
|
-
return dataProvider.contextPlugins.reduce(
|
|
315
|
+
return dataProvider.contextPlugins.reduce(
|
|
316
|
+
(result, fn) => fn(result, rest),
|
|
317
|
+
context,
|
|
318
|
+
);
|
|
305
319
|
}
|
|
306
320
|
|
|
307
321
|
export default useResource;
|