@dhis2/app-service-data 3.11.3 → 3.12.0-alpha.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.
Files changed (112) hide show
  1. package/build/cjs/__tests__/integration.test.js +6 -15
  2. package/build/cjs/__tests__/mutations.test.js +4 -11
  3. package/build/cjs/engine/DataEngine.js +4 -14
  4. package/build/cjs/engine/DataEngine.test.js +0 -2
  5. package/build/cjs/engine/helpers/getMutationFetchType.js +0 -2
  6. package/build/cjs/engine/helpers/getMutationFetchType.test.js +0 -1
  7. package/build/cjs/engine/helpers/resolveDynamicQuery.js +0 -2
  8. package/build/cjs/engine/helpers/resolveDynamicQuery.test.js +3 -4
  9. package/build/cjs/engine/helpers/validate.js +0 -21
  10. package/build/cjs/engine/helpers/validate.test.js +0 -1
  11. package/build/cjs/engine/index.js +0 -18
  12. package/build/cjs/engine/types/FetchError.js +3 -8
  13. package/build/cjs/engine/types/FetchError.test.js +0 -1
  14. package/build/cjs/engine/types/InvalidQueryError.js +3 -8
  15. package/build/cjs/index.js +0 -2
  16. package/build/cjs/links/CustomDataLink.js +3 -17
  17. package/build/cjs/links/CustomDataLink.test.js +0 -1
  18. package/build/cjs/links/ErrorLink.js +3 -7
  19. package/build/cjs/links/RestAPILink/fetchData.js +12 -22
  20. package/build/cjs/links/RestAPILink/fetchData.test.js +0 -2
  21. package/build/cjs/links/RestAPILink/metadataResources.js +9 -7
  22. package/build/cjs/links/RestAPILink/path.js +0 -3
  23. package/build/cjs/links/RestAPILink/path.test.js +0 -1
  24. package/build/cjs/links/RestAPILink/queryToRequestOptions/multipartFormDataMatchers.js +9 -14
  25. package/build/cjs/links/RestAPILink/queryToRequestOptions/multipartFormDataMatchers.test.js +0 -1
  26. package/build/cjs/links/RestAPILink/queryToRequestOptions/requestContentType.js +4 -31
  27. package/build/cjs/links/RestAPILink/queryToRequestOptions/requestContentType.test.js +0 -1
  28. package/build/cjs/links/RestAPILink/queryToRequestOptions/textPlainMatchers.js +22 -39
  29. package/build/cjs/links/RestAPILink/queryToRequestOptions/textPlainMatchers.test.js +0 -1
  30. package/build/cjs/links/RestAPILink/queryToRequestOptions/xWwwFormUrlencodedMatchers.js +0 -2
  31. package/build/cjs/links/RestAPILink/queryToRequestOptions/xWwwFormUrlencodedMatchers.test.js +0 -1
  32. package/build/cjs/links/RestAPILink/queryToRequestOptions.js +0 -9
  33. package/build/cjs/links/RestAPILink/queryToRequestOptions.test.js +0 -1
  34. package/build/cjs/links/RestAPILink/queryToResourcePath.js +3 -24
  35. package/build/cjs/links/RestAPILink/queryToResourcePath.test.js +2 -4
  36. package/build/cjs/links/RestAPILink/validateQuery.js +4 -18
  37. package/build/cjs/links/RestAPILink/validateQuery.test.js +0 -1
  38. package/build/cjs/links/RestAPILink.js +3 -14
  39. package/build/cjs/links/RestAPILink.test.js +0 -2
  40. package/build/cjs/links/index.js +0 -6
  41. package/build/cjs/react/components/CustomDataProvider.js +2 -11
  42. package/build/cjs/react/components/DataMutation.js +1 -4
  43. package/build/cjs/react/components/DataProvider.js +5 -14
  44. package/build/cjs/react/components/DataProvider.test.js +2 -9
  45. package/build/cjs/react/components/DataQuery.js +1 -4
  46. package/build/cjs/react/context/DataContext.js +2 -8
  47. package/build/cjs/react/context/defaultContext.js +2 -6
  48. package/build/cjs/react/context/defaultContext.test.js +0 -1
  49. package/build/cjs/react/hooks/mergeAndCompareVariables.js +4 -6
  50. package/build/cjs/react/hooks/mergeAndCompareVariables.test.js +2 -3
  51. package/build/cjs/react/hooks/stableVariablesHash.js +11 -16
  52. package/build/cjs/react/hooks/stableVariablesHash.test.js +0 -1
  53. package/build/cjs/react/hooks/useDataEngine.js +0 -4
  54. package/build/cjs/react/hooks/useDataMutation.js +0 -7
  55. package/build/cjs/react/hooks/useDataMutation.test.js +42 -71
  56. package/build/cjs/react/hooks/useDataQuery.js +11 -22
  57. package/build/cjs/react/hooks/useDataQuery.test.js +318 -374
  58. package/build/cjs/react/hooks/useQueryExecutor.js +6 -14
  59. package/build/cjs/react/hooks/useQueryExecutor.test.js +42 -45
  60. package/build/cjs/react/hooks/useStaticInput.js +0 -3
  61. package/build/cjs/react/hooks/useStaticInput.test.js +8 -10
  62. package/build/cjs/react/index.js +0 -11
  63. package/build/cjs/setupRTL.js +1 -2
  64. package/build/es/__tests__/integration.test.js +4 -8
  65. package/build/es/__tests__/mutations.test.js +2 -4
  66. package/build/es/engine/DataEngine.js +3 -8
  67. package/build/es/engine/DataEngine.test.js +0 -1
  68. package/build/es/engine/helpers/resolveDynamicQuery.test.js +3 -3
  69. package/build/es/engine/helpers/validate.js +0 -13
  70. package/build/es/engine/types/FetchError.js +3 -6
  71. package/build/es/engine/types/InvalidQueryError.js +3 -6
  72. package/build/es/links/CustomDataLink.js +3 -15
  73. package/build/es/links/ErrorLink.js +3 -5
  74. package/build/es/links/RestAPILink/fetchData.js +12 -16
  75. package/build/es/links/RestAPILink/metadataResources.js +8 -3
  76. package/build/es/links/RestAPILink/path.js +0 -1
  77. package/build/es/links/RestAPILink/queryToRequestOptions/multipartFormDataMatchers.js +9 -4
  78. package/build/es/links/RestAPILink/queryToRequestOptions/requestContentType.js +2 -19
  79. package/build/es/links/RestAPILink/queryToRequestOptions/textPlainMatchers.js +22 -19
  80. package/build/es/links/RestAPILink/queryToRequestOptions.js +0 -7
  81. package/build/es/links/RestAPILink/queryToResourcePath.js +3 -21
  82. package/build/es/links/RestAPILink/queryToResourcePath.test.js +2 -3
  83. package/build/es/links/RestAPILink/validateQuery.js +4 -16
  84. package/build/es/links/RestAPILink.js +3 -8
  85. package/build/es/react/components/CustomDataProvider.js +1 -1
  86. package/build/es/react/components/DataMutation.js +1 -1
  87. package/build/es/react/components/DataProvider.js +3 -1
  88. package/build/es/react/components/DataProvider.test.js +1 -1
  89. package/build/es/react/components/DataQuery.js +1 -1
  90. package/build/es/react/hooks/mergeAndCompareVariables.js +4 -3
  91. package/build/es/react/hooks/mergeAndCompareVariables.test.js +2 -1
  92. package/build/es/react/hooks/stableVariablesHash.js +11 -14
  93. package/build/es/react/hooks/useDataMutation.test.js +17 -39
  94. package/build/es/react/hooks/useDataQuery.js +11 -15
  95. package/build/es/react/hooks/useDataQuery.test.js +268 -318
  96. package/build/es/react/hooks/useQueryExecutor.js +6 -9
  97. package/build/es/react/hooks/useQueryExecutor.test.js +33 -34
  98. package/build/es/react/hooks/useStaticInput.test.js +6 -6
  99. package/build/es/setupRTL.js +1 -1
  100. package/build/types/engine/types/ExecuteOptions.d.ts +1 -1
  101. package/build/types/engine/types/FetchError.d.ts +2 -2
  102. package/build/types/engine/types/JsonValue.d.ts +1 -1
  103. package/build/types/engine/types/Mutation.d.ts +2 -2
  104. package/build/types/engine/types/PossiblyDynamic.d.ts +1 -1
  105. package/build/types/engine/types/Query.d.ts +3 -3
  106. package/build/types/engine/types/QueryParameters.d.ts +4 -4
  107. package/build/types/links/CustomDataLink.d.ts +2 -2
  108. package/build/types/links/RestAPILink/queryToRequestOptions/requestContentType.d.ts +1 -1
  109. package/build/types/links/RestAPILink/queryToRequestOptions.d.ts +1 -1
  110. package/build/types/react/hooks/mergeAndCompareVariables.d.ts +1 -1
  111. package/build/types/types.d.ts +6 -6
  112. package/package.json +4 -4
@@ -1,22 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
-
5
4
  var React = _interopRequireWildcard(require("react"));
6
-
7
5
  var _react3 = require("../react");
8
-
9
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
10
-
11
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
-
6
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
7
+ 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; }
13
8
  describe('<DataQuery />', () => {
14
9
  it('should render without failing', async () => {
15
10
  const data = {
16
11
  answer: 42
17
12
  };
18
-
19
- const wrapper = (_ref) => {
13
+ const wrapper = _ref => {
20
14
  let {
21
15
  children
22
16
  } = _ref;
@@ -24,9 +18,8 @@ describe('<DataQuery />', () => {
24
18
  data: data
25
19
  }, children);
26
20
  };
27
-
28
21
  const renderFunction = jest.fn(() => null);
29
- (0, _react.render)( /*#__PURE__*/React.createElement(_react3.DataQuery, {
22
+ (0, _react.render)(/*#__PURE__*/React.createElement(_react3.DataQuery, {
30
23
  query: {
31
24
  answer: {
32
25
  resource: 'answer'
@@ -56,8 +49,7 @@ describe('<DataQuery />', () => {
56
49
  throw expectedError;
57
50
  }
58
51
  };
59
-
60
- const wrapper = (_ref2) => {
52
+ const wrapper = _ref2 => {
61
53
  let {
62
54
  children
63
55
  } = _ref2;
@@ -65,9 +57,8 @@ describe('<DataQuery />', () => {
65
57
  data: data
66
58
  }, children);
67
59
  };
68
-
69
60
  const renderFunction = jest.fn(() => null);
70
- (0, _react.render)( /*#__PURE__*/React.createElement(_react3.DataQuery, {
61
+ (0, _react.render)(/*#__PURE__*/React.createElement(_react3.DataQuery, {
71
62
  query: {
72
63
  test: {
73
64
  resource: 'test'
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
-
5
4
  var React = _interopRequireWildcard(require("react"));
6
-
7
5
  var _react3 = require("../react");
8
-
9
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
10
-
11
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
-
6
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
7
+ 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; }
13
8
  describe('<DataMutation />', () => {
14
9
  it('should render without failing', async () => {
15
10
  const endpointSpy = jest.fn(() => Promise.resolve(42));
@@ -23,8 +18,7 @@ describe('<DataMutation />', () => {
23
18
  const data = {
24
19
  answer: endpointSpy
25
20
  };
26
-
27
- const wrapper = (_ref) => {
21
+ const wrapper = _ref => {
28
22
  let {
29
23
  children
30
24
  } = _ref;
@@ -32,9 +26,8 @@ describe('<DataMutation />', () => {
32
26
  data: data
33
27
  }, children);
34
28
  };
35
-
36
29
  const renderSpy = jest.fn(() => null);
37
- (0, _react.render)( /*#__PURE__*/React.createElement(_react3.DataMutation, {
30
+ (0, _react.render)(/*#__PURE__*/React.createElement(_react3.DataMutation, {
38
31
  mutation: mutation
39
32
  }, renderSpy), {
40
33
  wrapper
@@ -4,27 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.DataEngine = void 0;
7
-
8
7
  var _getMutationFetchType = require("./helpers/getMutationFetchType");
9
-
10
8
  var _resolveDynamicQuery = require("./helpers/resolveDynamicQuery");
11
-
12
9
  var _validate = require("./helpers/validate");
13
-
14
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
-
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ 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
13
  const reduceResponses = (responses, names) => responses.reduce((out, response, idx) => {
17
14
  out[names[idx]] = response;
18
15
  return out;
19
16
  }, {});
20
-
21
17
  class DataEngine {
22
18
  constructor(link) {
23
19
  _defineProperty(this, "link", void 0);
24
-
25
20
  this.link = link;
26
21
  }
27
-
28
22
  query(query) {
29
23
  let {
30
24
  variables = {},
@@ -48,7 +42,6 @@ class DataEngine {
48
42
  throw error;
49
43
  });
50
44
  }
51
-
52
45
  mutate(mutation) {
53
46
  let {
54
47
  variables = {},
@@ -70,9 +63,6 @@ class DataEngine {
70
63
  throw error;
71
64
  });
72
65
  }
73
-
74
66
  }
75
-
76
67
  exports.DataEngine = DataEngine;
77
- var _default = DataEngine;
78
- exports.default = _default;
68
+ var _default = exports.default = DataEngine;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _DataEngine = require("./DataEngine");
4
-
5
4
  const mockQuery = {
6
5
  test: {
7
6
  resource: 'test'
@@ -17,7 +16,6 @@ const mockLink = {
17
16
  if (query.resource === 'ERROR') {
18
17
  throw new Error('MOCK ERROR');
19
18
  }
20
-
21
19
  return {
22
20
  type,
23
21
  resource: query.resource,
@@ -4,7 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getMutationFetchType = void 0;
7
-
8
7
  const getMutationFetchType = mutation => mutation.type === 'update' ? mutation.partial ? 'update' : 'replace' : mutation.type;
9
-
10
8
  exports.getMutationFetchType = getMutationFetchType;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _getMutationFetchType = require("./getMutationFetchType");
4
-
5
4
  describe('getMutationFetchType', () => {
6
5
  it('should return the passed fetch type if not `update`', () => {
7
6
  expect((0, _getMutationFetchType.getMutationFetchType)({
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.resolveDynamicQuery = void 0;
7
-
8
7
  const resolveDynamicQuery = (_ref, variables) => {
9
8
  let {
10
9
  resource,
@@ -19,5 +18,4 @@ const resolveDynamicQuery = (_ref, variables) => {
19
18
  params: typeof params === 'function' ? params(variables) : params
20
19
  };
21
20
  };
22
-
23
21
  exports.resolveDynamicQuery = resolveDynamicQuery;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _resolveDynamicQuery = require("./resolveDynamicQuery");
4
-
5
4
  describe('resolveDynamicQuery', () => {
6
5
  it('Should return an unmodified query if no dynamic properties exist', () => {
7
6
  const query = {
@@ -20,13 +19,13 @@ describe('resolveDynamicQuery', () => {
20
19
  it('Should replace variables in all dynamic properties', () => {
21
20
  const query = {
22
21
  resource: 'test',
23
- id: (_ref) => {
22
+ id: _ref => {
24
23
  let {
25
24
  id
26
25
  } = _ref;
27
26
  return id;
28
27
  },
29
- params: (_ref2) => {
28
+ params: _ref2 => {
30
29
  let {
31
30
  page
32
31
  } = _ref2;
@@ -35,7 +34,7 @@ describe('resolveDynamicQuery', () => {
35
34
  foo: 'bar'
36
35
  };
37
36
  },
38
- data: (_ref3) => {
37
+ data: _ref3 => {
39
38
  let {
40
39
  bar
41
40
  } = _ref3;
@@ -4,80 +4,59 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.validateResourceQuery = exports.validateResourceQueries = exports.getResourceQueryErrors = void 0;
7
-
8
7
  var _InvalidQueryError = require("../types/InvalidQueryError");
9
-
10
8
  const validQueryKeys = ['resource', 'id', 'params', 'data'];
11
9
  const validTypes = ['read', 'create', 'update', 'replace', 'delete', 'json-patch'];
12
-
13
10
  const getResourceQueryErrors = (type, query) => {
14
11
  if (!validTypes.includes(type)) {
15
12
  return [`Unknown query or mutation type ${type}`];
16
13
  }
17
-
18
14
  if (typeof query !== 'object') {
19
15
  return ['A query or mutation must be a javascript object'];
20
16
  }
21
-
22
17
  const errors = [];
23
-
24
18
  if (!query.resource || typeof query.resource !== 'string') {
25
19
  errors.push('Property resource must be a string');
26
20
  }
27
-
28
21
  if (type === 'create' && query.id) {
29
22
  errors.push("Mutation type 'create' does not support property 'id'");
30
23
  }
31
-
32
24
  if (query.id && typeof query.id !== 'string') {
33
25
  errors.push('Property id must be a string');
34
26
  }
35
-
36
27
  if (query.params && typeof query.params !== 'object') {
37
28
  errors.push('Property params must be an object');
38
29
  }
39
-
40
30
  if (type === 'delete' && query.data) {
41
31
  errors.push("Mutation type 'delete' does not support property 'data'");
42
32
  }
43
-
44
33
  if (type === 'json-patch' && !Array.isArray(query.data)) {
45
34
  errors.push("Mutation type 'json-patch' requires property 'data' to be of type Array");
46
35
  }
47
-
48
36
  const invalidKeys = Object.keys(query).filter(k => !validQueryKeys.includes(k));
49
37
  invalidKeys.forEach(k => {
50
38
  errors.push(`Property ${k} is not supported`);
51
39
  });
52
40
  return errors;
53
41
  };
54
-
55
42
  exports.getResourceQueryErrors = getResourceQueryErrors;
56
-
57
43
  const validateResourceQueries = function (queries) {
58
44
  let names = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
59
-
60
45
  if (names.length !== queries.length) {
61
46
  for (let i = names.length; i < queries.length; ++i) {
62
47
  names.push('query#' + i);
63
48
  }
64
49
  }
65
-
66
50
  const errors = queries.reduce((errors, query, i) => errors.concat(getResourceQueryErrors('read', query).map(e => `[${names[i]}] ${e}`)), []);
67
-
68
51
  if (errors.length) {
69
52
  throw new _InvalidQueryError.InvalidQueryError(errors);
70
53
  }
71
54
  };
72
-
73
55
  exports.validateResourceQueries = validateResourceQueries;
74
-
75
56
  const validateResourceQuery = (type, query) => {
76
57
  const errors = getResourceQueryErrors(type, query);
77
-
78
58
  if (errors.length) {
79
59
  throw new _InvalidQueryError.InvalidQueryError(errors);
80
60
  }
81
61
  };
82
-
83
62
  exports.validateResourceQuery = validateResourceQuery;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _validate = require("./validate");
4
-
5
4
  describe('query validation', () => {
6
5
  describe('getResourceQueryErrors', () => {
7
6
  it('should pass with a simple valid query', () => {
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
-
7
6
  var _DataEngine = require("./DataEngine");
8
-
9
7
  Object.keys(_DataEngine).forEach(function (key) {
10
8
  if (key === "default" || key === "__esModule") return;
11
9
  if (key in exports && exports[key] === _DataEngine[key]) return;
@@ -16,9 +14,7 @@ Object.keys(_DataEngine).forEach(function (key) {
16
14
  }
17
15
  });
18
16
  });
19
-
20
17
  var _DataEngineLink = require("./types/DataEngineLink");
21
-
22
18
  Object.keys(_DataEngineLink).forEach(function (key) {
23
19
  if (key === "default" || key === "__esModule") return;
24
20
  if (key in exports && exports[key] === _DataEngineLink[key]) return;
@@ -29,9 +25,7 @@ Object.keys(_DataEngineLink).forEach(function (key) {
29
25
  }
30
26
  });
31
27
  });
32
-
33
28
  var _ExecuteOptions = require("./types/ExecuteOptions");
34
-
35
29
  Object.keys(_ExecuteOptions).forEach(function (key) {
36
30
  if (key === "default" || key === "__esModule") return;
37
31
  if (key in exports && exports[key] === _ExecuteOptions[key]) return;
@@ -42,9 +36,7 @@ Object.keys(_ExecuteOptions).forEach(function (key) {
42
36
  }
43
37
  });
44
38
  });
45
-
46
39
  var _FetchError = require("./types/FetchError");
47
-
48
40
  Object.keys(_FetchError).forEach(function (key) {
49
41
  if (key === "default" || key === "__esModule") return;
50
42
  if (key in exports && exports[key] === _FetchError[key]) return;
@@ -55,9 +47,7 @@ Object.keys(_FetchError).forEach(function (key) {
55
47
  }
56
48
  });
57
49
  });
58
-
59
50
  var _JsonValue = require("./types/JsonValue");
60
-
61
51
  Object.keys(_JsonValue).forEach(function (key) {
62
52
  if (key === "default" || key === "__esModule") return;
63
53
  if (key in exports && exports[key] === _JsonValue[key]) return;
@@ -68,9 +58,7 @@ Object.keys(_JsonValue).forEach(function (key) {
68
58
  }
69
59
  });
70
60
  });
71
-
72
61
  var _Mutation = require("./types/Mutation");
73
-
74
62
  Object.keys(_Mutation).forEach(function (key) {
75
63
  if (key === "default" || key === "__esModule") return;
76
64
  if (key in exports && exports[key] === _Mutation[key]) return;
@@ -81,9 +69,7 @@ Object.keys(_Mutation).forEach(function (key) {
81
69
  }
82
70
  });
83
71
  });
84
-
85
72
  var _PossiblyDynamic = require("./types/PossiblyDynamic");
86
-
87
73
  Object.keys(_PossiblyDynamic).forEach(function (key) {
88
74
  if (key === "default" || key === "__esModule") return;
89
75
  if (key in exports && exports[key] === _PossiblyDynamic[key]) return;
@@ -94,9 +80,7 @@ Object.keys(_PossiblyDynamic).forEach(function (key) {
94
80
  }
95
81
  });
96
82
  });
97
-
98
83
  var _Query = require("./types/Query");
99
-
100
84
  Object.keys(_Query).forEach(function (key) {
101
85
  if (key === "default" || key === "__esModule") return;
102
86
  if (key in exports && exports[key] === _Query[key]) return;
@@ -107,9 +91,7 @@ Object.keys(_Query).forEach(function (key) {
107
91
  }
108
92
  });
109
93
  });
110
-
111
94
  var _QueryParameters = require("./types/QueryParameters");
112
-
113
95
  Object.keys(_QueryParameters).forEach(function (key) {
114
96
  if (key === "default" || key === "__esModule") return;
115
97
  if (key in exports && exports[key] === _QueryParameters[key]) return;
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.FetchError = void 0;
7
-
8
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ 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); }
10
10
  class FetchError extends Error {
11
11
  constructor(_ref) {
12
12
  let {
@@ -15,15 +15,10 @@ class FetchError extends Error {
15
15
  details = {}
16
16
  } = _ref;
17
17
  super(message);
18
-
19
18
  _defineProperty(this, "type", void 0);
20
-
21
19
  _defineProperty(this, "details", void 0);
22
-
23
20
  this.type = type;
24
21
  this.details = details;
25
22
  }
26
-
27
23
  }
28
-
29
24
  exports.FetchError = FetchError;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _FetchError = require("./FetchError");
4
-
5
4
  describe('FetchError', () => {
6
5
  it('should construct successfully', () => {
7
6
  const message = 'this is a test';
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.InvalidQueryError = void 0;
7
-
8
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ 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); }
10
10
  class InvalidQueryError extends Error {
11
11
  constructor(errors) {
12
12
  super(`Invalid query\n${errors.map(e => ' - ' + e).join('\n')}`);
13
-
14
13
  _defineProperty(this, "type", 'invalid-query');
15
-
16
14
  _defineProperty(this, "details", void 0);
17
-
18
15
  this.details = errors;
19
16
  }
20
-
21
17
  }
22
-
23
18
  exports.InvalidQueryError = InvalidQueryError;
@@ -51,7 +51,5 @@ Object.defineProperty(exports, "useDataQuery", {
51
51
  return _react.useDataQuery;
52
52
  }
53
53
  });
54
-
55
54
  var _react = require("./react");
56
-
57
55
  var _engine = require("./engine");
@@ -4,62 +4,48 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CustomDataLink = void 0;
7
-
8
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ 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); }
10
10
  class CustomDataLink {
11
11
  constructor(customData) {
12
12
  let {
13
13
  failOnMiss = true,
14
14
  loadForever = false
15
15
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
-
17
16
  _defineProperty(this, "failOnMiss", void 0);
18
-
19
17
  _defineProperty(this, "loadForever", void 0);
20
-
21
18
  _defineProperty(this, "data", void 0);
22
-
23
19
  this.data = customData;
24
20
  this.failOnMiss = failOnMiss;
25
21
  this.loadForever = loadForever;
26
22
  }
27
-
28
23
  async executeResourceQuery(type, query, options) {
29
24
  if (this.loadForever) {
30
25
  return new Promise(() => undefined);
31
26
  }
32
-
33
27
  const customResource = this.data[query.resource];
34
-
35
28
  if (customResource === undefined) {
36
29
  if (this.failOnMiss) {
37
30
  throw new Error(`No data provided for resource type ${query.resource}!`);
38
31
  }
39
-
40
32
  return Promise.resolve(null);
41
33
  }
42
-
43
34
  switch (typeof customResource) {
44
35
  case 'string':
45
36
  case 'number':
46
37
  case 'boolean':
47
38
  case 'object':
48
39
  return customResource;
49
-
50
40
  case 'function':
51
41
  {
52
42
  const result = await customResource(type, query, options);
53
-
54
43
  if (typeof result === 'undefined' && this.failOnMiss) {
55
44
  throw new Error(`The custom function for resource ${query.resource} must always return a value but returned ${result}`);
56
45
  }
57
-
58
46
  return result || null;
59
47
  }
60
48
  }
61
49
  }
62
-
63
50
  }
64
-
65
51
  exports.CustomDataLink = CustomDataLink;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _CustomDataLink = require("./CustomDataLink");
4
-
5
4
  describe('CustomDataLink', () => {
6
5
  it('Should return mocked resource', async () => {
7
6
  const link = new _CustomDataLink.CustomDataLink({
@@ -4,21 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ErrorLink = void 0;
7
-
8
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
-
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
9
+ 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); }
10
10
  class ErrorLink {
11
11
  constructor(errorMessage) {
12
12
  _defineProperty(this, "errorMessage", void 0);
13
-
14
13
  this.errorMessage = errorMessage;
15
14
  }
16
-
17
15
  executeResourceQuery() {
18
16
  console.error(this.errorMessage);
19
17
  return Promise.reject(this.errorMessage);
20
18
  }
21
-
22
19
  }
23
-
24
20
  exports.ErrorLink = ErrorLink;