@civet/core 1.2.7 → 1.3.1

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.
@@ -1,37 +1,189 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports["default"] = void 0;
8
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = require("react");
9
8
  var _AbortSignal = _interopRequireDefault(require("./AbortSignal"));
10
9
  var _Meta = _interopRequireDefault(require("./Meta"));
11
- var _context3 = require("./context");
10
+ var _context2 = require("./context");
12
11
  var _uniqueIdentifier = _interopRequireDefault(require("./uniqueIdentifier"));
13
12
  var _excluded = ["dataProvider", "name", "query", "empty", "options", "persistent"];
14
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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 exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
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 _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
16
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
17
17
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
23
18
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
24
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."); }
25
20
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
21
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
27
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
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; } }
28
23
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
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
+ 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(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
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
+ /**
32
+ * Appends a new requestInstruction to the state, causing the resource to fetch data.
33
+ **/
34
+ function createRequestInstruction(state) {
35
+ return _objectSpread(_objectSpread({}, state), {}, {
36
+ requestInstruction: {
37
+ dataProvider: state.dataProvider,
38
+ requestDetails: state.requestDetails,
39
+ request: state.request,
40
+ revision: state.revision,
41
+ value: state.value
42
+ }
43
+ });
44
+ }
45
+
31
46
  /**
32
- * Makes data from an DataProvider available.
33
- * If not explicitly specified, necessary configuration is taken from the nearest <ConfigProvider>.
34
- * The provided DataProvider must not be replaced.
47
+ * State reducer for the resource.
48
+ */
49
+ function reducer(state, action) {
50
+ switch (action.type) {
51
+ // Creates a new request and instructs the resource to fetch data.
52
+ case 'next-request':
53
+ {
54
+ var nextRequestDetails = action.requestDetails,
55
+ nextPersistent = action.persistent;
56
+ var nextRequest = (0, _uniqueIdentifier["default"])(state.request);
57
+ var nextRevision = (0, _uniqueIdentifier["default"])(state.revision);
58
+ var isPersistent = false;
59
+ if (state.persistent === 'very' && nextPersistent === 'very') {
60
+ isPersistent = 'very';
61
+ } else if (state.persistent && nextPersistent) {
62
+ isPersistent = true;
63
+ }
64
+ var shouldValuePersist = !nextRequestDetails.empty && state.dataProvider.shouldPersist(nextRequestDetails, state.requestDetails, isPersistent, state.value);
65
+ return createRequestInstruction({
66
+ dataProvider: state.dataProvider,
67
+ requestDetails: nextRequestDetails,
68
+ request: nextRequest,
69
+ revision: nextRevision,
70
+ isLoading: !nextRequestDetails.empty,
71
+ value: shouldValuePersist ? state.value : {
72
+ name: nextRequestDetails.name,
73
+ query: nextRequestDetails.query,
74
+ options: nextRequestDetails.options,
75
+ request: nextRequest,
76
+ revision: nextRevision,
77
+ data: [],
78
+ meta: {},
79
+ error: undefined,
80
+ isEmpty: !!nextRequestDetails.empty,
81
+ isIncomplete: !nextRequestDetails.empty,
82
+ isInitial: !nextRequestDetails.empty
83
+ },
84
+ persistent: nextPersistent
85
+ });
86
+ }
87
+
88
+ // Creates a new revision for the current request and instructs the resource to fetch data.
89
+ case 'next-revision':
90
+ {
91
+ var notify = action.notify;
92
+ var _nextRevision = (0, _uniqueIdentifier["default"])(state.revision);
93
+ notify({
94
+ request: state.request,
95
+ revison: _nextRevision
96
+ });
97
+ return createRequestInstruction(_objectSpread(_objectSpread({}, state), {}, {
98
+ revision: _nextRevision,
99
+ isLoading: !state.requestDetails.empty
100
+ }));
101
+ }
102
+
103
+ // Sets a new persistence level.
104
+ case 'set-persistence':
105
+ {
106
+ var _nextPersistent = action.persistent;
107
+ return _objectSpread(_objectSpread({}, state), {}, {
108
+ persistent: _nextPersistent
109
+ });
110
+ }
111
+
112
+ // Updates the current request's data.
113
+ case 'update-data':
114
+ {
115
+ var request = action.request,
116
+ revision = action.revision,
117
+ value = action.value;
118
+ if (request !== state.request || revision !== state.revision) return state;
119
+ return _objectSpread(_objectSpread({}, state), {}, {
120
+ isLoading: value.isIncomplete,
121
+ value: value
122
+ });
123
+ }
124
+ }
125
+ return state;
126
+ }
127
+
128
+ /**
129
+ * Starts fetching data and updates the resource when new data is available.
130
+ */
131
+ function fetchData(requestInstruction, instance, abortSignal, dispatch) {
132
+ var dataProvider = requestInstruction.dataProvider,
133
+ requestDetails = requestInstruction.requestDetails,
134
+ request = requestInstruction.request,
135
+ revision = requestInstruction.revision,
136
+ value = requestInstruction.value;
137
+ var meta = new _Meta["default"](_objectSpread({}, value.meta), instance);
138
+ var promise = Promise.resolve(value);
139
+ var callback = function callback(error, done, data) {
140
+ promise = promise.then(function (prevValue) {
141
+ try {
142
+ var nextValue;
143
+ if (error != null) {
144
+ nextValue = _objectSpread(_objectSpread({}, prevValue), {}, {
145
+ error: error,
146
+ isIncomplete: false
147
+ });
148
+ } else {
149
+ var context = {
150
+ name: requestDetails.name,
151
+ query: requestDetails.query,
152
+ options: requestDetails.options,
153
+ request: request,
154
+ revision: revision,
155
+ data: data,
156
+ meta: meta.commit(prevValue.meta),
157
+ error: undefined,
158
+ isEmpty: false,
159
+ isIncomplete: !done,
160
+ isInitial: !!prevValue.isInitial && !done
161
+ };
162
+ context.data = dataProvider.transition(context, prevValue);
163
+ context.data = dataProvider.recycleItems(context, prevValue);
164
+ nextValue = context;
165
+ }
166
+ dispatch({
167
+ type: 'update-data',
168
+ request: request,
169
+ revision: revision,
170
+ value: nextValue
171
+ });
172
+ return nextValue;
173
+ } catch (_unused) {
174
+ return prevValue;
175
+ }
176
+ });
177
+ };
178
+ dataProvider.continuousGet(requestDetails.name, requestDetails.query, requestDetails.options, meta, callback, abortSignal);
179
+ }
180
+
181
+ /**
182
+ * Provides data based on the given request details and DataProvider.
183
+ *
184
+ * Necessary configuration that is not directly specified is taken from the ConfigContext.
185
+ *
186
+ * The provided DataProvider must not be changed.
35
187
  */
36
188
  function useResource(_ref) {
37
189
  var dataProviderProp = _ref.dataProvider,
@@ -41,29 +193,9 @@ function useResource(_ref) {
41
193
  nextOptions = _ref.options,
42
194
  nextPersistent = _ref.persistent,
43
195
  rest = _objectWithoutProperties(_ref, _excluded);
44
- var configContext = (0, _context3.useConfigContext)();
196
+ var configContext = (0, _context2.useConfigContext)();
45
197
  var currentDataProvider = dataProviderProp || configContext.dataProvider;
46
- var _React$useState = _react["default"].useState(currentDataProvider),
47
- _React$useState2 = _slicedToArray(_React$useState, 1),
48
- dataProvider = _React$useState2[0];
49
- if (dataProvider == null) {
50
- throw new Error('Unmet requirement: The DataProvider for the useResource hook is missing - Check your ConfigContext provider and the dataProvider property');
51
- }
52
- if (dataProvider !== currentDataProvider) {
53
- throw new Error('Constant violation: The DataProvider provided to the useResource hook must not be replaced - Check your ConfigContext provider and the dataProvider property');
54
- }
55
- var _React$useState3 = _react["default"].useState(),
56
- _React$useState4 = _slicedToArray(_React$useState3, 2),
57
- instance = _React$useState4[0],
58
- setInstance = _React$useState4[1];
59
- _react["default"].useEffect(function () {
60
- var i = dataProvider.createInstance();
61
- setInstance(i !== null && i !== void 0 ? i : {});
62
- return function () {
63
- dataProvider.releaseInstance(i);
64
- };
65
- }, []);
66
- var nextRequestDetails = _react["default"].useMemo(function () {
198
+ var nextRequestDetails = (0, _react.useMemo)(function () {
67
199
  return {
68
200
  name: nextName,
69
201
  query: nextQuery,
@@ -71,10 +203,11 @@ function useResource(_ref) {
71
203
  options: nextOptions
72
204
  };
73
205
  }, [nextName, nextQuery, nextEmpty, nextOptions]);
74
- var _React$useState5 = _react["default"].useState(function () {
206
+ var _useReducer = (0, _react.useReducer)(reducer, undefined, function () {
75
207
  var request = (0, _uniqueIdentifier["default"])();
76
208
  var revision = (0, _uniqueIdentifier["default"])();
77
- return {
209
+ return createRequestInstruction({
210
+ dataProvider: currentDataProvider,
78
211
  requestDetails: nextRequestDetails,
79
212
  request: request,
80
213
  revision: revision,
@@ -93,71 +226,56 @@ function useResource(_ref) {
93
226
  isInitial: !nextRequestDetails.empty
94
227
  },
95
228
  persistent: nextPersistent
96
- };
229
+ });
97
230
  }),
98
- _React$useState6 = _slicedToArray(_React$useState5, 2),
99
- state = _React$useState6[0],
100
- setState = _React$useState6[1];
101
- var requestDetails = state.requestDetails,
231
+ _useReducer2 = _slicedToArray(_useReducer, 2),
232
+ state = _useReducer2[0],
233
+ dispatch = _useReducer2[1];
234
+ var dataProvider = state.dataProvider,
235
+ requestDetails = state.requestDetails,
102
236
  request = state.request,
103
237
  revision = state.revision,
104
238
  isLoading = state.isLoading,
105
239
  value = state.value,
106
- persistent = state.persistent;
240
+ persistent = state.persistent,
241
+ requestInstruction = state.requestInstruction;
242
+ if (dataProvider == null) {
243
+ throw new Error('Unmet requirement: The DataProvider for the useResource hook is missing - Check your ConfigContext provider and the dataProvider property');
244
+ }
245
+ if (dataProvider !== currentDataProvider) {
246
+ throw new Error('Constant violation: The DataProvider provided to the useResource hook must not be replaced - Check your ConfigContext provider and the dataProvider property');
247
+ }
248
+ var _useState = (0, _react.useState)(),
249
+ _useState2 = _slicedToArray(_useState, 2),
250
+ instance = _useState2[0],
251
+ setInstance = _useState2[1];
252
+ (0, _react.useEffect)(function () {
253
+ var i = dataProvider.createInstance();
254
+ setInstance(i !== null && i !== void 0 ? i : {});
255
+ return function () {
256
+ dataProvider.releaseInstance(i);
257
+ };
258
+ }, [dataProvider]);
107
259
  if (requestDetails !== nextRequestDetails && !dataProvider.compareRequests(nextRequestDetails, requestDetails)) {
108
- setState(function (prevState) {
109
- var nextRequest = (0, _uniqueIdentifier["default"])(prevState.request);
110
- var nextRevision = (0, _uniqueIdentifier["default"])(prevState.revision);
111
- var isPersistent = false;
112
- if (prevState.persistent === 'very' && nextPersistent === 'very') {
113
- isPersistent = 'very';
114
- } else if (prevState.persistent && nextPersistent) {
115
- isPersistent = true;
116
- }
117
- var shouldValuePersist = !nextRequestDetails.empty && dataProvider.shouldPersist(nextRequestDetails, prevState.requestDetails, isPersistent, prevState.value);
118
- return {
119
- requestDetails: nextRequestDetails,
120
- request: nextRequest,
121
- revision: nextRevision,
122
- isLoading: !nextRequestDetails.empty,
123
- value: shouldValuePersist ? prevState.value : {
124
- name: nextRequestDetails.name,
125
- query: nextRequestDetails.query,
126
- options: nextRequestDetails.options,
127
- request: nextRequest,
128
- revision: nextRevision,
129
- data: [],
130
- meta: {},
131
- error: undefined,
132
- isEmpty: !!nextRequestDetails.empty,
133
- isIncomplete: !nextRequestDetails.empty,
134
- isInitial: !nextRequestDetails.empty
135
- },
136
- persistent: nextPersistent
137
- };
260
+ dispatch({
261
+ type: 'next-request',
262
+ requestDetails: nextRequestDetails,
263
+ persistent: nextPersistent
138
264
  });
139
265
  } else if (persistent !== nextPersistent) {
140
- setState(function (prevState) {
141
- return _objectSpread(_objectSpread({}, prevState), {}, {
142
- persistent: nextPersistent
143
- });
266
+ dispatch({
267
+ type: 'set-persistence',
268
+ persistent: nextPersistent
144
269
  });
145
270
  }
146
- var notify = _react["default"].useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
271
+ var notify = (0, _react.useCallback)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
147
272
  return _regeneratorRuntime().wrap(function _callee$(_context) {
148
273
  while (1) switch (_context.prev = _context.next) {
149
274
  case 0:
150
275
  return _context.abrupt("return", new Promise(function (resolve) {
151
- setState(function (currentState) {
152
- var nextRevision = (0, _uniqueIdentifier["default"])(currentState.revision);
153
- resolve({
154
- request: currentState.request,
155
- revision: nextRevision
156
- });
157
- return _objectSpread(_objectSpread({}, currentState), {}, {
158
- isLoading: true,
159
- revision: nextRevision
160
- });
276
+ dispatch({
277
+ type: 'next-revision',
278
+ notify: resolve
161
279
  });
162
280
  }));
163
281
  case 1:
@@ -168,77 +286,34 @@ function useResource(_ref) {
168
286
  })), []);
169
287
 
170
288
  // DataProvider events
171
- _react["default"].useEffect(function () {
289
+ (0, _react.useEffect)(function () {
172
290
  if (requestDetails.empty) return undefined;
173
291
  var unsubscribe = dataProvider.subscribe(requestDetails.name, notify);
174
292
  return unsubscribe;
175
293
  }, [requestDetails.empty, dataProvider, requestDetails.name, notify]);
176
- _react["default"].useEffect(function () {
177
- if (requestDetails.empty || instance == null) return undefined;
294
+
295
+ // Fetch data when instructed
296
+ (0, _react.useEffect)(function () {
297
+ if (instance == null || requestInstruction.requestDetails.empty) return undefined;
178
298
  var abortSignal = new _AbortSignal["default"]();
179
- var meta = new _Meta["default"](_objectSpread({}, value.meta), instance);
180
- var promise = Promise.resolve(state);
181
- var callback = function callback(error, done, data) {
182
- promise = promise.then(function (prevState) {
183
- try {
184
- var nextState;
185
- if (error != null) {
186
- nextState = _objectSpread(_objectSpread({}, prevState), {}, {
187
- isLoading: false,
188
- value: _objectSpread(_objectSpread({}, prevState.value), {}, {
189
- error: error,
190
- isIncomplete: false
191
- })
192
- });
193
- } else {
194
- var _context2 = {
195
- name: requestDetails.name,
196
- query: requestDetails.query,
197
- options: requestDetails.options,
198
- request: request,
199
- revision: revision,
200
- data: data,
201
- meta: meta.commit(prevState.value.meta),
202
- error: undefined,
203
- isEmpty: false,
204
- isIncomplete: !done,
205
- isInitial: !!prevState.isInitial && !done
206
- };
207
- _context2.data = dataProvider.transition(_context2, prevState.value);
208
- _context2.data = dataProvider.recycleItems(_context2, prevState.value);
209
- nextState = _objectSpread(_objectSpread({}, prevState), {}, {
210
- isLoading: !done,
211
- value: _context2
212
- });
213
- }
214
- setState(function (otherState) {
215
- if (request !== otherState.request || revision !== otherState.revision) {
216
- return otherState;
217
- }
218
- return nextState;
219
- });
220
- return nextState;
221
- } catch (_unused) {
222
- return prevState;
223
- }
224
- });
225
- };
226
- dataProvider.continuousGet(requestDetails.name, requestDetails.query, requestDetails.options, meta, callback, abortSignal);
299
+
300
+ // Start fetching data.
301
+ fetchData(requestInstruction, instance, abortSignal, dispatch);
227
302
  return function () {
303
+ // Abort fetching data when another request is pending or the React component is unmounted.
228
304
  abortSignal.abort();
229
305
  };
230
- }, [instance, request, revision]);
306
+ }, [instance, requestInstruction]);
231
307
  var isStale = revision !== value.revision;
232
- var next = _react["default"].useMemo(function () {
233
- return isStale ? {
234
- request: request,
235
- revision: revision
236
- } : {
237
- request: value.request,
238
- revision: value.revision
308
+ var nextRequest = isStale ? request : value.request;
309
+ var nextRevision = isStale ? revision : value.revision;
310
+ var next = (0, _react.useMemo)(function () {
311
+ return {
312
+ request: nextRequest,
313
+ revision: nextRevision
239
314
  };
240
- }, [isStale, request, revision, value.request, value.revision]);
241
- var context = _react["default"].useMemo(function () {
315
+ }, [nextRequest, nextRevision]);
316
+ var context = (0, _react.useMemo)(function () {
242
317
  return _objectSpread(_objectSpread({}, value), {}, {
243
318
  dataProvider: dataProvider,
244
319
  isLoading: isLoading,
@@ -247,9 +322,10 @@ function useResource(_ref) {
247
322
  notify: notify
248
323
  });
249
324
  }, [value, dataProvider, isLoading, isStale, next, notify]);
325
+
326
+ // Apply context plugins and return the final context.
250
327
  return dataProvider.contextPlugins.reduce(function (result, fn) {
251
328
  return fn(result, rest);
252
329
  }, context);
253
330
  }
254
- var _default = useResource;
255
- exports["default"] = _default;
331
+ var _default = exports["default"] = useResource;
package/package.json CHANGED
@@ -1,22 +1,29 @@
1
1
  {
2
2
  "name": "@civet/core",
3
- "version": "1.2.7",
3
+ "version": "1.3.1",
4
4
  "description": "Civet",
5
5
  "main": "./lib/index.js",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./src/index.js",
9
+ "require": "./lib/index.js",
10
+ "default": "./lib/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "lib",
15
+ "src"
16
+ ],
6
17
  "scripts": {
7
18
  "build:clean": "rimraf ./lib",
8
19
  "prebuild": "npm run build:clean",
9
- "build": "cross-env BABEL_ENV=commonjs babel src --out-dir lib",
10
- "lint": "eslint src",
20
+ "build": "babel src -d lib",
21
+ "lint": "eslint src --report-unused-disable-directives",
11
22
  "prepare": "npm run lint && npm run build",
12
23
  "preversion": "git diff HEAD --name-only --exit-code || (echo -\\> unclean working directory && exit 1)",
13
24
  "postversion": "cross-env git commit -am$npm_package_version",
14
25
  "prettify": "prettier --write src/**"
15
26
  },
16
- "files": [
17
- "lib",
18
- "src"
19
- ],
20
27
  "repository": {
21
28
  "type": "git",
22
29
  "url": "git+https://github.com/civet-org/core.git"
@@ -34,35 +41,32 @@
34
41
  },
35
42
  "homepage": "https://civet.js.org/",
36
43
  "devDependencies": {
37
- "@babel/cli": "^7.20.7",
38
- "@babel/core": "^7.20.7",
39
- "@babel/plugin-proposal-class-properties": "^7.18.6",
40
- "@babel/preset-env": "^7.20.2",
44
+ "@babel/cli": "^7.22.15",
45
+ "@babel/core": "^7.24.4",
46
+ "@babel/eslint-parser": "^7.22.15",
47
+ "@babel/preset-env": "^7.24.4",
41
48
  "@babel/preset-react": "^7.18.6",
42
- "babel-eslint": "^10.1.0",
43
49
  "cross-env": "^7.0.3",
44
- "eslint": "^7.32.0",
45
- "eslint-config-airbnb": "^18.2.1",
46
- "eslint-config-airbnb-base": "^14.2.1",
47
- "eslint-config-prettier": "^8.5.0",
48
- "eslint-plugin-import": "^2.24.1",
49
- "eslint-plugin-jsx-a11y": "^6.6.1",
50
- "eslint-plugin-prettier": "^4.2.1",
51
- "eslint-plugin-react": "^7.31.11",
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",
52
55
  "eslint-plugin-react-hooks": "^4.6.0",
53
- "prettier": "^2.8.1",
56
+ "eslint-plugin-unused-imports": "^3.0.0",
57
+ "prettier": "^3.2.5",
54
58
  "react": "^18.2.0",
55
59
  "react-dom": "^18.2.0",
56
- "rimraf": "^3.0.2"
60
+ "rimraf": "^5.0.5"
57
61
  },
58
62
  "peerDependencies": {
59
- "react": ">= 16.8",
60
- "react-dom": ">= 16.8"
63
+ "react": ">=18.0",
64
+ "react-dom": ">=18.0"
61
65
  },
62
66
  "dependencies": {
63
67
  "fast-deep-equal": "^3.1.3",
64
68
  "object-hash": "^3.0.0",
65
69
  "prop-types": "^15.8.1",
66
- "uuid": "^9.0.0"
70
+ "uuid": "^9.0.1"
67
71
  }
68
72
  }
@@ -1,14 +1,13 @@
1
1
  import PropTypes from 'prop-types';
2
- import React from 'react';
3
-
4
- import { ConfigContext } from './context';
2
+ import { useMemo } from 'react';
5
3
  import { dataProviderPropType } from './DataProvider';
4
+ import { ConfigContext } from './context';
6
5
 
7
6
  /**
8
7
  * Provides general configuration to its descendants using React's context API.
9
8
  */
10
9
  function ConfigProvider({ dataProvider, children }) {
11
- const context = React.useMemo(() => ({ dataProvider }), [dataProvider]);
10
+ const context = useMemo(() => ({ dataProvider }), [dataProvider]);
12
11
 
13
12
  return <ConfigContext.Provider value={context}>{children}</ConfigContext.Provider>;
14
13
  }
@@ -1,7 +1,6 @@
1
1
  import deepEquals from 'fast-deep-equal';
2
2
  import objectHash from 'object-hash';
3
3
  import PropTypes from 'prop-types';
4
-
5
4
  import AbortSignal from './AbortSignal';
6
5
  import ChannelNotifier from './ChannelNotifier';
7
6
  import Meta from './Meta';
@@ -191,4 +190,4 @@ const isDataProvider = (dataProvider) => dataProvider instanceof DataProvider;
191
190
  const dataProviderPropType = PropTypes.instanceOf(DataProvider);
192
191
 
193
192
  export default DataProvider;
194
- export { isDataProvider, dataProviderPropType };
193
+ export { dataProviderPropType, isDataProvider };