@civet/core 1.4.0 → 1.4.2
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 +9 -7
- 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 +31 -27
- package/src/ChannelNotifier.js +7 -2
- package/src/ConfigProvider.jsx +3 -1
- package/src/DataProvider.js +37 -9
- 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) {
|
|
@@ -105,9 +105,11 @@ var DataProvider = /*#__PURE__*/function () {
|
|
|
105
105
|
}
|
|
106
106
|
if (error != null) callback(error, true, []);else if (result == null) callback(undefined, done, []);else if (Array.isArray(result)) callback(undefined, done, result);else callback(undefined, done, [result]);
|
|
107
107
|
};
|
|
108
|
-
|
|
108
|
+
var proxy = signal.proxy();
|
|
109
|
+
resolve(Promise.resolve(_this2.handleGet(resource, query, options, getMeta(meta), proxy)).then(function (result) {
|
|
109
110
|
if (typeof result === 'function') {
|
|
110
|
-
|
|
111
|
+
// `proxy` is being passed down here for backwards compatibility
|
|
112
|
+
result(cb, proxy);
|
|
111
113
|
} else {
|
|
112
114
|
cb(undefined, true, result);
|
|
113
115
|
}
|
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,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civet/core",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "Civet",
|
|
5
|
+
"type": "module",
|
|
5
6
|
"main": "./lib/index.js",
|
|
6
7
|
"exports": {
|
|
7
8
|
".": {
|
|
@@ -15,14 +16,14 @@
|
|
|
15
16
|
"src"
|
|
16
17
|
],
|
|
17
18
|
"scripts": {
|
|
18
|
-
"build:clean": "rimraf ./lib",
|
|
19
19
|
"prebuild": "npm run build:clean",
|
|
20
|
+
"build:clean": "rimraf ./lib",
|
|
20
21
|
"build": "babel src -d lib",
|
|
21
|
-
"lint": "eslint
|
|
22
|
+
"lint": "eslint",
|
|
22
23
|
"prepare": "npm run lint && npm run build",
|
|
23
24
|
"preversion": "git diff HEAD --name-only --exit-code || (echo -\\> unclean working directory && exit 1)",
|
|
24
25
|
"postversion": "cross-env git commit -am$npm_package_version",
|
|
25
|
-
"prettify": "prettier --write
|
|
26
|
+
"prettify": "prettier . --write"
|
|
26
27
|
},
|
|
27
28
|
"repository": {
|
|
28
29
|
"type": "git",
|
|
@@ -40,33 +41,36 @@
|
|
|
40
41
|
"url": "https://github.com/civet-org/core/issues"
|
|
41
42
|
},
|
|
42
43
|
"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"
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"fast-deep-equal": "^3.1.3",
|
|
46
|
+
"object-hash": "^3.0.0",
|
|
47
|
+
"prop-types": "^15.8.1",
|
|
48
|
+
"uuid": "^11.1.0"
|
|
61
49
|
},
|
|
62
50
|
"peerDependencies": {
|
|
63
51
|
"react": ">=18.0",
|
|
64
52
|
"react-dom": ">=18.0"
|
|
65
53
|
},
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@babel/cli": "^7.26.4",
|
|
56
|
+
"@babel/core": "^7.26.10",
|
|
57
|
+
"@babel/eslint-parser": "^7.26.10",
|
|
58
|
+
"@babel/preset-env": "^7.26.9",
|
|
59
|
+
"@babel/preset-react": "^7.26.3",
|
|
60
|
+
"@civet/core": "^1.4.1",
|
|
61
|
+
"cross-env": "^7.0.3",
|
|
62
|
+
"eslint": "^9.20.0",
|
|
63
|
+
"eslint-config-prettier": "^10.0.1",
|
|
64
|
+
"eslint-import-resolver-alias": "^1.1.2",
|
|
65
|
+
"eslint-plugin-import": "^2.31.0",
|
|
66
|
+
"eslint-plugin-prettier": "^5.2.3",
|
|
67
|
+
"eslint-plugin-react": "^7.37.4",
|
|
68
|
+
"eslint-plugin-react-hooks": "^5.2.0-canary-8759c5c8-20250207",
|
|
69
|
+
"eslint-plugin-unused-imports": "^4.1.4",
|
|
70
|
+
"globals": "^16.0.0",
|
|
71
|
+
"prettier": "^3.5.3",
|
|
72
|
+
"react": "^18.3.1",
|
|
73
|
+
"react-dom": "^18.3.1",
|
|
74
|
+
"rimraf": "^6.0.1"
|
|
71
75
|
}
|
|
72
76
|
}
|
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
|
@@ -94,10 +94,15 @@ class DataProvider {
|
|
|
94
94
|
else callback(undefined, done, [result]);
|
|
95
95
|
};
|
|
96
96
|
|
|
97
|
+
const proxy = signal.proxy();
|
|
98
|
+
|
|
97
99
|
resolve(
|
|
98
|
-
Promise.resolve(
|
|
100
|
+
Promise.resolve(
|
|
101
|
+
this.handleGet(resource, query, options, getMeta(meta), proxy),
|
|
102
|
+
).then((result) => {
|
|
99
103
|
if (typeof result === 'function') {
|
|
100
|
-
|
|
104
|
+
// `proxy` is being passed down here for backwards compatibility
|
|
105
|
+
result(cb, proxy);
|
|
101
106
|
} else {
|
|
102
107
|
cb(undefined, true, result);
|
|
103
108
|
}
|
|
@@ -112,7 +117,11 @@ class DataProvider {
|
|
|
112
117
|
return new Promise((resolve) => {
|
|
113
118
|
if (resource == null) throw new Error('No resource name specified');
|
|
114
119
|
if (data == null) throw new Error('No data specified');
|
|
115
|
-
resolve(
|
|
120
|
+
resolve(
|
|
121
|
+
Promise.resolve(
|
|
122
|
+
this.handleCreate(resource, data, options, getMeta(meta)),
|
|
123
|
+
),
|
|
124
|
+
);
|
|
116
125
|
});
|
|
117
126
|
}
|
|
118
127
|
|
|
@@ -120,7 +129,11 @@ class DataProvider {
|
|
|
120
129
|
return new Promise((resolve) => {
|
|
121
130
|
if (resource == null) throw new Error('No resource name specified');
|
|
122
131
|
if (data == null) throw new Error('No data specified');
|
|
123
|
-
resolve(
|
|
132
|
+
resolve(
|
|
133
|
+
Promise.resolve(
|
|
134
|
+
this.handleUpdate(resource, query, data, options, getMeta(meta)),
|
|
135
|
+
),
|
|
136
|
+
);
|
|
124
137
|
});
|
|
125
138
|
}
|
|
126
139
|
|
|
@@ -128,14 +141,22 @@ class DataProvider {
|
|
|
128
141
|
return new Promise((resolve) => {
|
|
129
142
|
if (resource == null) throw new Error('No resource name specified');
|
|
130
143
|
if (data == null) throw new Error('No data specified');
|
|
131
|
-
resolve(
|
|
144
|
+
resolve(
|
|
145
|
+
Promise.resolve(
|
|
146
|
+
this.handlePatch(resource, query, data, options, getMeta(meta)),
|
|
147
|
+
),
|
|
148
|
+
);
|
|
132
149
|
});
|
|
133
150
|
}
|
|
134
151
|
|
|
135
152
|
remove(resource, query, options, meta) {
|
|
136
153
|
return new Promise((resolve) => {
|
|
137
154
|
if (resource == null) throw new Error('No resource name specified');
|
|
138
|
-
resolve(
|
|
155
|
+
resolve(
|
|
156
|
+
Promise.resolve(
|
|
157
|
+
this.handleRemove(resource, query, options, getMeta(meta)),
|
|
158
|
+
),
|
|
159
|
+
);
|
|
139
160
|
});
|
|
140
161
|
}
|
|
141
162
|
|
|
@@ -145,7 +166,8 @@ class DataProvider {
|
|
|
145
166
|
|
|
146
167
|
shouldPersist(nextRequestDetails, prevRequestDetails, persistent) {
|
|
147
168
|
return (
|
|
148
|
-
persistent === 'very' ||
|
|
169
|
+
persistent === 'very' ||
|
|
170
|
+
(persistent && prevRequestDetails.name === nextRequestDetails.name)
|
|
149
171
|
);
|
|
150
172
|
}
|
|
151
173
|
|
|
@@ -173,7 +195,10 @@ class DataProvider {
|
|
|
173
195
|
if (prevContext.data.length > 0) {
|
|
174
196
|
result = nextContext.data.map((nextItem) => {
|
|
175
197
|
const id = this.getItemIdentifier(nextItem);
|
|
176
|
-
if (
|
|
198
|
+
if (
|
|
199
|
+
id != null &&
|
|
200
|
+
Object.prototype.hasOwnProperty.call(prevMapping, id)
|
|
201
|
+
) {
|
|
177
202
|
const prevItem = prevMapping[id];
|
|
178
203
|
if (this.compareItemVersions(nextItem, prevItem)) return prevItem;
|
|
179
204
|
}
|
|
@@ -184,7 +209,10 @@ class DataProvider {
|
|
|
184
209
|
}
|
|
185
210
|
if (
|
|
186
211
|
prevContext.data.length === result.length &&
|
|
187
|
-
result.reduce(
|
|
212
|
+
result.reduce(
|
|
213
|
+
(sum, item, i) => sum && Object.is(prevContext.data[i], item),
|
|
214
|
+
true,
|
|
215
|
+
)
|
|
188
216
|
) {
|
|
189
217
|
return prevContext.data;
|
|
190
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;
|