@data-client/core 0.1.0 → 0.2.0

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 (243) hide show
  1. package/dist/index.js +133 -409
  2. package/dist/index.umd.min.js +1 -1
  3. package/dist/next.js +61 -101
  4. package/legacy/actionTypes.js +2 -2
  5. package/legacy/controller/Controller.js +276 -6
  6. package/legacy/controller/createFetch.js +3 -14
  7. package/legacy/controller/createInvalidate.js +1 -1
  8. package/legacy/controller/createInvalidateAll.js +1 -1
  9. package/legacy/controller/createOptimistic.js +1 -7
  10. package/legacy/controller/createReset.js +1 -1
  11. package/legacy/controller/createSet.js +31 -0
  12. package/legacy/controller/createSubscription.js +3 -7
  13. package/legacy/index.js +2 -5
  14. package/legacy/internal.js +2 -2
  15. package/legacy/manager/DevtoolsManager.js +2 -2
  16. package/legacy/manager/LogoutManager.js +2 -2
  17. package/legacy/manager/NetworkManager.js +28 -59
  18. package/legacy/manager/PollingSubscription.js +18 -27
  19. package/legacy/manager/SubscriptionManager.js +16 -42
  20. package/legacy/middlewareTypes.js +1 -1
  21. package/legacy/newActions.js +1 -1
  22. package/legacy/next/index.js +3 -3
  23. package/legacy/state/reducer/createReducer.js +2 -6
  24. package/legacy/state/reducer/fetchReducer.js +3 -13
  25. package/legacy/state/reducer/invalidateReducer.js +1 -1
  26. package/legacy/state/reducer/setReducer.js +9 -16
  27. package/legacy/types.js +2 -6
  28. package/lib/actionTypes.d.ts +1 -0
  29. package/lib/actionTypes.d.ts.map +1 -1
  30. package/lib/actionTypes.js +2 -2
  31. package/lib/controller/Controller.d.ts +126 -6
  32. package/lib/controller/Controller.d.ts.map +1 -1
  33. package/lib/controller/Controller.js +276 -6
  34. package/lib/controller/createFetch.d.ts +2 -2
  35. package/lib/controller/createFetch.d.ts.map +1 -1
  36. package/lib/controller/createFetch.js +3 -14
  37. package/lib/controller/createInvalidate.d.ts +1 -1
  38. package/lib/controller/createInvalidate.d.ts.map +1 -1
  39. package/lib/controller/createInvalidate.js +1 -1
  40. package/lib/controller/createInvalidateAll.d.ts +1 -1
  41. package/lib/controller/createInvalidateAll.d.ts.map +1 -1
  42. package/lib/controller/createInvalidateAll.js +1 -1
  43. package/lib/controller/createOptimistic.d.ts +2 -2
  44. package/lib/controller/createOptimistic.d.ts.map +1 -1
  45. package/lib/controller/createOptimistic.js +1 -7
  46. package/lib/controller/createReset.d.ts +1 -1
  47. package/lib/controller/createReset.d.ts.map +1 -1
  48. package/lib/controller/createReset.js +1 -1
  49. package/lib/controller/{createReceive.d.ts → createSet.d.ts} +6 -6
  50. package/lib/controller/createSet.d.ts.map +1 -0
  51. package/lib/controller/createSet.js +31 -0
  52. package/lib/controller/createSubscription.d.ts +3 -3
  53. package/lib/controller/createSubscription.d.ts.map +1 -1
  54. package/lib/controller/createSubscription.js +3 -7
  55. package/lib/index.d.ts +2 -6
  56. package/lib/index.d.ts.map +1 -1
  57. package/lib/index.js +2 -5
  58. package/lib/internal.d.ts +1 -1
  59. package/lib/internal.d.ts.map +1 -1
  60. package/lib/internal.js +2 -2
  61. package/lib/manager/DevtoolsManager.d.ts +1 -1
  62. package/lib/manager/DevtoolsManager.js +2 -2
  63. package/lib/manager/LogoutManager.d.ts +4 -5
  64. package/lib/manager/LogoutManager.d.ts.map +1 -1
  65. package/lib/manager/LogoutManager.js +2 -2
  66. package/lib/manager/NetworkManager.d.ts +4 -5
  67. package/lib/manager/NetworkManager.d.ts.map +1 -1
  68. package/lib/manager/NetworkManager.js +28 -61
  69. package/lib/manager/PollingSubscription.d.ts +9 -9
  70. package/lib/manager/PollingSubscription.d.ts.map +1 -1
  71. package/lib/manager/PollingSubscription.js +18 -27
  72. package/lib/manager/SubscriptionManager.d.ts +10 -15
  73. package/lib/manager/SubscriptionManager.d.ts.map +1 -1
  74. package/lib/manager/SubscriptionManager.js +16 -42
  75. package/lib/middlewareTypes.d.ts +5 -5
  76. package/lib/middlewareTypes.d.ts.map +1 -1
  77. package/lib/middlewareTypes.js +1 -1
  78. package/lib/newActions.d.ts +26 -18
  79. package/lib/newActions.d.ts.map +1 -1
  80. package/lib/newActions.js +1 -1
  81. package/lib/next/index.d.ts +2 -2
  82. package/lib/next/index.d.ts.map +1 -1
  83. package/lib/next/index.js +3 -3
  84. package/lib/state/reducer/createReducer.d.ts.map +1 -1
  85. package/lib/state/reducer/createReducer.js +2 -6
  86. package/lib/state/reducer/fetchReducer.d.ts +1 -2
  87. package/lib/state/reducer/fetchReducer.d.ts.map +1 -1
  88. package/lib/state/reducer/fetchReducer.js +3 -14
  89. package/lib/state/reducer/invalidateReducer.d.ts +3 -4
  90. package/lib/state/reducer/invalidateReducer.d.ts.map +1 -1
  91. package/lib/state/reducer/invalidateReducer.js +1 -1
  92. package/lib/state/reducer/setReducer.d.ts +2 -38
  93. package/lib/state/reducer/setReducer.d.ts.map +1 -1
  94. package/lib/state/reducer/setReducer.js +9 -17
  95. package/lib/types.d.ts +9 -30
  96. package/lib/types.d.ts.map +1 -1
  97. package/lib/types.js +2 -6
  98. package/package.json +3 -3
  99. package/src/actionTypes.ts +1 -1
  100. package/src/controller/Controller.ts +491 -10
  101. package/src/controller/createFetch.ts +4 -19
  102. package/src/controller/createInvalidate.ts +1 -1
  103. package/src/controller/createInvalidateAll.ts +1 -1
  104. package/src/controller/createOptimistic.ts +3 -9
  105. package/src/controller/createReset.ts +1 -1
  106. package/src/controller/{createReceive.ts → createSet.ts} +9 -17
  107. package/src/controller/createSubscription.ts +3 -10
  108. package/src/index.ts +2 -16
  109. package/src/internal.ts +1 -1
  110. package/src/manager/DevtoolsManager.ts +1 -1
  111. package/src/manager/LogoutManager.ts +4 -5
  112. package/src/manager/NetworkManager.ts +31 -80
  113. package/src/manager/PollingSubscription.ts +26 -27
  114. package/src/manager/SubscriptionManager.ts +22 -54
  115. package/src/manager/__tests__/__snapshots__/pollingSubscription.ts.snap +10 -8
  116. package/src/manager/__tests__/logoutManager.ts +5 -5
  117. package/src/manager/__tests__/manager.ts +2 -4
  118. package/src/manager/__tests__/networkManager.ts +8 -42
  119. package/src/manager/__tests__/pollingSubscription.ts +259 -151
  120. package/src/manager/__tests__/subscriptionManager.ts +7 -13
  121. package/src/middlewareTypes.ts +5 -10
  122. package/src/newActions.ts +33 -23
  123. package/src/next/index.ts +2 -2
  124. package/src/state/__tests__/reducer.ts +59 -297
  125. package/src/state/reducer/createReducer.ts +3 -11
  126. package/src/state/reducer/fetchReducer.ts +5 -18
  127. package/src/state/reducer/invalidateReducer.ts +2 -2
  128. package/src/state/reducer/setReducer.ts +10 -22
  129. package/src/types.ts +9 -78
  130. package/ts3.4/actionTypes.d.ts +1 -0
  131. package/ts3.4/controller/Controller.d.ts +168 -6
  132. package/ts3.4/controller/createFetch.d.ts +2 -2
  133. package/ts3.4/controller/createInvalidate.d.ts +1 -1
  134. package/ts3.4/controller/createInvalidateAll.d.ts +1 -1
  135. package/ts3.4/controller/createOptimistic.d.ts +1 -1
  136. package/ts3.4/controller/createReset.d.ts +1 -1
  137. package/ts3.4/controller/{createReceive.d.ts → createSet.d.ts} +6 -6
  138. package/ts3.4/controller/createSubscription.d.ts +3 -3
  139. package/ts3.4/index.d.ts +2 -7
  140. package/ts3.4/internal.d.ts +1 -1
  141. package/ts3.4/manager/DevtoolsManager.d.ts +1 -1
  142. package/ts3.4/manager/LogoutManager.d.ts +4 -5
  143. package/ts3.4/manager/NetworkManager.d.ts +4 -5
  144. package/ts3.4/manager/PollingSubscription.d.ts +9 -9
  145. package/ts3.4/manager/SubscriptionManager.d.ts +10 -15
  146. package/ts3.4/middlewareTypes.d.ts +5 -5
  147. package/ts3.4/newActions.d.ts +26 -18
  148. package/ts3.4/next/index.d.ts +2 -2
  149. package/ts3.4/state/reducer/fetchReducer.d.ts +1 -2
  150. package/ts3.4/state/reducer/invalidateReducer.d.ts +3 -4
  151. package/ts3.4/state/reducer/setReducer.d.ts +2 -38
  152. package/ts3.4/types.d.ts +8 -30
  153. package/legacy/compatibleActions.js +0 -2
  154. package/legacy/controller/BaseController.js +0 -289
  155. package/legacy/controller/createReceive.js +0 -36
  156. package/legacy/endpoint/index.js +0 -2
  157. package/legacy/endpoint/shapes.js +0 -2
  158. package/legacy/endpoint/types.js +0 -2
  159. package/legacy/legacyActions.js +0 -2
  160. package/legacy/next/Controller.js +0 -24
  161. package/legacy/previousActions.js +0 -2
  162. package/legacy/state/applyUpdatersToResults.js +0 -4
  163. package/legacy/state/legacy-actions/createFetch.js +0 -62
  164. package/legacy/state/legacy-actions/createReceive.js +0 -37
  165. package/legacy/state/legacy-actions/createReceiveError.js +0 -28
  166. package/legacy/state/legacy-actions/index.js +0 -4
  167. package/legacy/state/reducerInstance.js +0 -9
  168. package/lib/compatibleActions.d.ts +0 -47
  169. package/lib/compatibleActions.d.ts.map +0 -1
  170. package/lib/compatibleActions.js +0 -2
  171. package/lib/controller/BaseController.d.ts +0 -128
  172. package/lib/controller/BaseController.d.ts.map +0 -1
  173. package/lib/controller/BaseController.js +0 -289
  174. package/lib/controller/createReceive.d.ts.map +0 -1
  175. package/lib/controller/createReceive.js +0 -36
  176. package/lib/endpoint/index.d.ts +0 -3
  177. package/lib/endpoint/index.d.ts.map +0 -1
  178. package/lib/endpoint/index.js +0 -2
  179. package/lib/endpoint/shapes.d.ts +0 -25
  180. package/lib/endpoint/shapes.d.ts.map +0 -1
  181. package/lib/endpoint/shapes.js +0 -2
  182. package/lib/endpoint/types.d.ts +0 -45
  183. package/lib/endpoint/types.d.ts.map +0 -1
  184. package/lib/endpoint/types.js +0 -2
  185. package/lib/legacyActions.d.ts +0 -92
  186. package/lib/legacyActions.d.ts.map +0 -1
  187. package/lib/legacyActions.js +0 -2
  188. package/lib/next/Controller.d.ts +0 -14
  189. package/lib/next/Controller.d.ts.map +0 -1
  190. package/lib/next/Controller.js +0 -24
  191. package/lib/previousActions.d.ts +0 -91
  192. package/lib/previousActions.d.ts.map +0 -1
  193. package/lib/previousActions.js +0 -2
  194. package/lib/state/applyUpdatersToResults.d.ts +0 -13
  195. package/lib/state/applyUpdatersToResults.d.ts.map +0 -1
  196. package/lib/state/applyUpdatersToResults.js +0 -7
  197. package/lib/state/legacy-actions/createFetch.d.ts +0 -19
  198. package/lib/state/legacy-actions/createFetch.d.ts.map +0 -1
  199. package/lib/state/legacy-actions/createFetch.js +0 -62
  200. package/lib/state/legacy-actions/createReceive.d.ts +0 -14
  201. package/lib/state/legacy-actions/createReceive.d.ts.map +0 -1
  202. package/lib/state/legacy-actions/createReceive.js +0 -37
  203. package/lib/state/legacy-actions/createReceiveError.d.ts +0 -9
  204. package/lib/state/legacy-actions/createReceiveError.d.ts.map +0 -1
  205. package/lib/state/legacy-actions/createReceiveError.js +0 -28
  206. package/lib/state/legacy-actions/index.d.ts +0 -4
  207. package/lib/state/legacy-actions/index.d.ts.map +0 -1
  208. package/lib/state/legacy-actions/index.js +0 -4
  209. package/lib/state/reducerInstance.d.ts +0 -7
  210. package/lib/state/reducerInstance.d.ts.map +0 -1
  211. package/lib/state/reducerInstance.js +0 -9
  212. package/src/compatibleActions.ts +0 -96
  213. package/src/controller/BaseController.ts +0 -508
  214. package/src/endpoint/index.ts +0 -14
  215. package/src/endpoint/shapes.ts +0 -53
  216. package/src/endpoint/types.ts +0 -72
  217. package/src/legacyActions.ts +0 -163
  218. package/src/manager/__tests__/__snapshots__/pollingSubscription-endpoint.ts.snap +0 -49
  219. package/src/manager/__tests__/networkManager-legacy.ts +0 -394
  220. package/src/manager/__tests__/pollingSubscription-endpoint.ts +0 -423
  221. package/src/next/Controller.ts +0 -39
  222. package/src/previousActions.ts +0 -159
  223. package/src/state/__tests__/applyUpdatersToResults.ts +0 -40
  224. package/src/state/applyUpdatersToResults.ts +0 -29
  225. package/src/state/legacy-actions/createFetch.ts +0 -95
  226. package/src/state/legacy-actions/createReceive.ts +0 -68
  227. package/src/state/legacy-actions/createReceiveError.ts +0 -43
  228. package/src/state/legacy-actions/index.ts +0 -3
  229. package/src/state/reducerInstance.ts +0 -14
  230. package/ts3.4/compatibleActions.d.ts +0 -47
  231. package/ts3.4/controller/BaseController.d.ts +0 -170
  232. package/ts3.4/endpoint/index.d.ts +0 -3
  233. package/ts3.4/endpoint/shapes.d.ts +0 -25
  234. package/ts3.4/endpoint/types.d.ts +0 -45
  235. package/ts3.4/legacyActions.d.ts +0 -95
  236. package/ts3.4/next/Controller.d.ts +0 -14
  237. package/ts3.4/previousActions.d.ts +0 -94
  238. package/ts3.4/state/applyUpdatersToResults.d.ts +0 -13
  239. package/ts3.4/state/legacy-actions/createFetch.d.ts +0 -19
  240. package/ts3.4/state/legacy-actions/createReceive.d.ts +0 -14
  241. package/ts3.4/state/legacy-actions/createReceiveError.d.ts +0 -9
  242. package/ts3.4/state/legacy-actions/index.d.ts +0 -4
  243. package/ts3.4/state/reducerInstance.d.ts +0 -7
@@ -1,6 +1,5 @@
1
1
  import { normalize } from '@data-client/normalizr';
2
2
  import { OPTIMISTIC_TYPE } from '../../actionTypes.js';
3
- import applyUpdatersToResults from '../applyUpdatersToResults.js';
4
3
  export function setReducer(state, action, controller) {
5
4
  if (action.error) {
6
5
  return reduceError(state, action, action.payload);
@@ -10,12 +9,11 @@ export function setReducer(state, action, controller) {
10
9
  let payload;
11
10
  // for true receives payload is contained in action
12
11
  if (action.type === OPTIMISTIC_TYPE) {
12
+ // this should never happen
13
13
  if (!action.endpoint.getOptimisticResponse) return state;
14
14
  try {
15
15
  // compute optimistic response based on current state
16
- payload = action.endpoint.getOptimisticResponse.call(action.endpoint, controller.snapshot(state, action.meta.fetchedAt),
17
- // if endpoint exists, so must args; TODO: fix typing
18
- ...action.meta.args);
16
+ payload = action.endpoint.getOptimisticResponse.call(action.endpoint, controller.snapshot(state, action.meta.fetchedAt), ...action.meta.args);
19
17
  } catch (e) {
20
18
  var _e$constructor;
21
19
  // AbortOptimistic means 'do nothing', otherwise we count the exception as endpoint failure
@@ -32,20 +30,14 @@ export function setReducer(state, action, controller) {
32
30
  entities,
33
31
  indexes,
34
32
  entityMeta
35
- } = normalize(payload, action.meta.schema, action.meta.args, state.entities, state.indexes, state.entityMeta, {
36
- fetchedAt: action.meta.date,
37
- ...action.meta
38
- });
39
- let results = {
33
+ } = normalize(payload, action.endpoint.schema, action.meta.args, state.entities, state.indexes, state.entityMeta, action.meta);
34
+ const results = {
40
35
  ...state.results,
41
36
  [action.meta.key]: result
42
37
  };
43
38
  try {
44
- if ('updaters' in action.meta && action.meta.updaters) {
45
- results = applyUpdatersToResults(results, result, action.meta.updaters);
46
- }
47
- if (action.meta.update) {
48
- const updaters = action.meta.update(result, ...(action.meta.args || []));
39
+ if (action.endpoint.update) {
40
+ const updaters = action.endpoint.update(result, ...action.meta.args);
49
41
  Object.keys(updaters).forEach(key => {
50
42
  results[key] = updaters[key](results[key]);
51
43
  });
@@ -75,7 +67,7 @@ export function setReducer(state, action, controller) {
75
67
  // reducer must update the state, so in case of processing errors we simply compute the results inline
76
68
  } catch (error) {
77
69
  if (typeof error === 'object') {
78
- error.message = `Error processing ${action.meta.key}\n\nFull Schema: ${JSON.stringify(action.meta.schema, undefined, 2)}\n\nError:\n${error.message}`;
70
+ error.message = `Error processing ${action.meta.key}\n\nFull Schema: ${JSON.stringify(action.endpoint.schema, undefined, 2)}\n\nError:\n${error.message}`;
79
71
  if ('payload' in action) error.payload = action.payload;
80
72
  error.status = 400;
81
73
  }
@@ -106,7 +98,7 @@ function reduceError(state, action, error) {
106
98
  date: action.meta.date,
107
99
  error,
108
100
  expiresAt: action.meta.expiresAt,
109
- errorPolicy: action.meta.errorPolicy == null ? void 0 : action.meta.errorPolicy(error)
101
+ errorPolicy: action.endpoint.errorPolicy == null ? void 0 : action.endpoint.errorPolicy(error)
110
102
  }
111
103
  },
112
104
  optimistic: filterOptimistic(state, action)
@@ -116,4 +108,4 @@ function reduceError(state, action, error) {
116
108
  function filterOptimistic(state, resolvingAction) {
117
109
  return state.optimistic.filter(optimisticAction => optimisticAction.meta.key !== resolvingAction.meta.key || (optimisticAction.type === OPTIMISTIC_TYPE ? optimisticAction.meta.fetchedAt !== resolvingAction.meta.fetchedAt : optimisticAction.meta.date > resolvingAction.meta.date));
118
110
  }
119
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemUiLCJPUFRJTUlTVElDX1RZUEUiLCJhcHBseVVwZGF0ZXJzVG9SZXN1bHRzIiwic2V0UmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwiY29udHJvbGxlciIsImVycm9yIiwicmVkdWNlRXJyb3IiLCJwYXlsb2FkIiwiX3N0YXRlJG1ldGEkYWN0aW9uJG1lIiwidHlwZSIsImVuZHBvaW50IiwiZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlIiwiY2FsbCIsInNuYXBzaG90IiwibWV0YSIsImZldGNoZWRBdCIsImFyZ3MiLCJlIiwiX2UkY29uc3RydWN0b3IiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJyZXN1bHQiLCJlbnRpdGllcyIsImluZGV4ZXMiLCJlbnRpdHlNZXRhIiwic2NoZW1hIiwiZGF0ZSIsInJlc3VsdHMiLCJrZXkiLCJ1cGRhdGVycyIsInVwZGF0ZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiY29uc29sZSIsImV4cGlyZXNBdCIsInByZXZFeHBpcmVzQXQiLCJvcHRpbWlzdGljIiwiZmlsdGVyT3B0aW1pc3RpYyIsImxhc3RSZXNldCIsIm1lc3NhZ2UiLCJKU09OIiwic3RyaW5naWZ5IiwidW5kZWZpbmVkIiwic3RhdHVzIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyb3JQb2xpY3kiLCJyZXNvbHZpbmdBY3Rpb24iLCJmaWx0ZXIiLCJvcHRpbWlzdGljQWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0YXRlL3JlZHVjZXIvc2V0UmVkdWNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgT1BUSU1JU1RJQ19UWVBFIH0gZnJvbSAnLi4vLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgQ29udHJvbGxlciBmcm9tICcuLi8uLi9jb250cm9sbGVyL0NvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBSZWNlaXZlQWN0aW9uLCBPcHRpbWlzdGljQWN0aW9uIH0gZnJvbSAnLi4vLi4vcHJldmlvdXNBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHsgU3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcy5qcyc7XG5pbXBvcnQgYXBwbHlVcGRhdGVyc1RvUmVzdWx0cyBmcm9tICcuLi9hcHBseVVwZGF0ZXJzVG9SZXN1bHRzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldFJlZHVjZXIoXG4gIHN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBPcHRpbWlzdGljQWN0aW9uIHwgUmVjZWl2ZUFjdGlvbixcbiAgY29udHJvbGxlcjogQ29udHJvbGxlcixcbikge1xuICBpZiAoYWN0aW9uLmVycm9yKSB7XG4gICAgcmV0dXJuIHJlZHVjZUVycm9yKHN0YXRlLCBhY3Rpb24sIGFjdGlvbi5wYXlsb2FkKTtcbiAgfVxuICB0cnkge1xuICAgIGxldCBwYXlsb2FkOiBhbnk7XG4gICAgLy8gZm9yIHRydWUgcmVjZWl2ZXMgcGF5bG9hZCBpcyBjb250YWluZWQgaW4gYWN0aW9uXG4gICAgaWYgKGFjdGlvbi50eXBlID09PSBPUFRJTUlTVElDX1RZUEUpIHtcbiAgICAgIGlmICghYWN0aW9uLmVuZHBvaW50LmdldE9wdGltaXN0aWNSZXNwb25zZSkgcmV0dXJuIHN0YXRlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gY29tcHV0ZSBvcHRpbWlzdGljIHJlc3BvbnNlIGJhc2VkIG9uIGN1cnJlbnQgc3RhdGVcbiAgICAgICAgcGF5bG9hZCA9IGFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UuY2FsbChcbiAgICAgICAgICBhY3Rpb24uZW5kcG9pbnQsXG4gICAgICAgICAgY29udHJvbGxlci5zbmFwc2hvdChzdGF0ZSwgYWN0aW9uLm1ldGEuZmV0Y2hlZEF0KSxcbiAgICAgICAgICAvLyBpZiBlbmRwb2ludCBleGlzdHMsIHNvIG11c3QgYXJnczsgVE9ETzogZml4IHR5cGluZ1xuICAgICAgICAgIC4uLihhY3Rpb24ubWV0YS5hcmdzIGFzIGFueVtdKSxcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAvLyBBYm9ydE9wdGltaXN0aWMgbWVhbnMgJ2RvIG5vdGhpbmcnLCBvdGhlcndpc2Ugd2UgY291bnQgdGhlIGV4Y2VwdGlvbiBhcyBlbmRwb2ludCBmYWlsdXJlXG4gICAgICAgIGlmIChlLmNvbnN0cnVjdG9yPy5uYW1lID09PSAnQWJvcnRPcHRpbWlzdGljJykge1xuICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfVxuICAgIGNvbnN0IHsgcmVzdWx0LCBlbnRpdGllcywgaW5kZXhlcywgZW50aXR5TWV0YSB9ID0gbm9ybWFsaXplKFxuICAgICAgcGF5bG9hZCxcbiAgICAgIGFjdGlvbi5tZXRhLnNjaGVtYSxcbiAgICAgIGFjdGlvbi5tZXRhLmFyZ3MgYXMgYW55LFxuICAgICAgc3RhdGUuZW50aXRpZXMsXG4gICAgICBzdGF0ZS5pbmRleGVzLFxuICAgICAgc3RhdGUuZW50aXR5TWV0YSxcbiAgICAgIHsgZmV0Y2hlZEF0OiBhY3Rpb24ubWV0YS5kYXRlLCAuLi5hY3Rpb24ubWV0YSB9LFxuICAgICk7XG4gICAgbGV0IHJlc3VsdHMgPSB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgW2FjdGlvbi5tZXRhLmtleV06IHJlc3VsdCxcbiAgICB9O1xuICAgIHRyeSB7XG4gICAgICBpZiAoJ3VwZGF0ZXJzJyBpbiBhY3Rpb24ubWV0YSAmJiBhY3Rpb24ubWV0YS51cGRhdGVycykge1xuICAgICAgICByZXN1bHRzID0gYXBwbHlVcGRhdGVyc1RvUmVzdWx0cyhcbiAgICAgICAgICByZXN1bHRzLFxuICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICBhY3Rpb24ubWV0YS51cGRhdGVycyBhcyBhbnksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoYWN0aW9uLm1ldGEudXBkYXRlKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZXJzID0gYWN0aW9uLm1ldGEudXBkYXRlKFxuICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAuLi4oYWN0aW9uLm1ldGEuYXJncyB8fCBbXSksXG4gICAgICAgICk7XG4gICAgICAgIE9iamVjdC5rZXlzKHVwZGF0ZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgcmVzdWx0c1trZXldID0gdXBkYXRlcnNba2V5XShyZXN1bHRzW2tleV0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIC8vIG5vIHJlYXNvbiB0byBjb21wbGV0ZWx5IGZhaWwgYmVjYXVzZSBvZiB1c2VyLWNvZGUgZXJyb3JcbiAgICAgIC8vIGludGVncml0eSBvZiB0aGlzIHN0YXRlIHVwZGF0ZSBpcyBzdGlsbCBndWFyYW50ZWVkXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VyZWQgZHVyaW5nIEVuZHBvaW50LnVwZGF0ZSgpIGZvciAke2FjdGlvbi5tZXRhLmtleX1gLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZW50aXRpZXMsXG4gICAgICBpbmRleGVzLFxuICAgICAgcmVzdWx0cyxcbiAgICAgIGVudGl0eU1ldGEsXG4gICAgICBtZXRhOiB7XG4gICAgICAgIC4uLnN0YXRlLm1ldGEsXG4gICAgICAgIFthY3Rpb24ubWV0YS5rZXldOiB7XG4gICAgICAgICAgZGF0ZTogYWN0aW9uLm1ldGEuZGF0ZSxcbiAgICAgICAgICBleHBpcmVzQXQ6IGFjdGlvbi5tZXRhLmV4cGlyZXNBdCxcbiAgICAgICAgICBwcmV2RXhwaXJlc0F0OiBzdGF0ZS5tZXRhW2FjdGlvbi5tZXRhLmtleV0/LmV4cGlyZXNBdCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICAgICAgbGFzdFJlc2V0OiBzdGF0ZS5sYXN0UmVzZXQsXG4gICAgfTtcbiAgICAvLyByZWR1Y2VyIG11c3QgdXBkYXRlIHRoZSBzdGF0ZSwgc28gaW4gY2FzZSBvZiBwcm9jZXNzaW5nIGVycm9ycyB3ZSBzaW1wbHkgY29tcHV0ZSB0aGUgcmVzdWx0cyBpbmxpbmVcbiAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XG4gICAgICBlcnJvci5tZXNzYWdlID0gYEVycm9yIHByb2Nlc3NpbmcgJHtcbiAgICAgICAgYWN0aW9uLm1ldGEua2V5XG4gICAgICB9XFxuXFxuRnVsbCBTY2hlbWE6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIGFjdGlvbi5tZXRhLnNjaGVtYSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAyLFxuICAgICAgKX1cXG5cXG5FcnJvcjpcXG4ke2Vycm9yLm1lc3NhZ2V9YDtcbiAgICAgIGlmICgncGF5bG9hZCcgaW4gYWN0aW9uKSBlcnJvci5wYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgfVxuXG4gICAgLy8gdGhpcyBpcyBub3QgYWx3YXlzIGJ1YmJsZWQgdXAsIHNvIGxldCdzIGRvdWJsZSBzdXJlIHRoaXMgZG9lc24ndCBmYWlsIHNpbGVudGx5XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuICAgIHJldHVybiByZWR1Y2VFcnJvcihzdGF0ZSwgYWN0aW9uLCBlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVkdWNlRXJyb3IoXG4gIHN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBSZWNlaXZlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbiAgZXJyb3I6IGFueSxcbik6IFN0YXRlPHVua25vd24+IHtcbiAgaWYgKGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgIC8vIEluIGNhc2Ugd2UgYWJvcnQgc2ltcGx5IHVuZG8gdGhlIG9wdGltaXN0aWMgdXBkYXRlIGFuZCBhY3QgbGlrZSBubyBmZXRjaCBldmVuIG9jY3VyZWRcbiAgICAvLyBXZSBzdGlsbCB3YW50IHRob3NlIHdhdGNoaW5nIHByb21pc2VzIGZyb20gZmV0Y2ggZGlyZWN0bHkgdG8gb2JzZXJ2ZWQgdGhlIGFib3J0LCBidXQgd2UgZG9uJ3Qgd2FudCB0b1xuICAgIC8vIFRyaWdnZXIgZXJyb3JzIGluIHRoaXMgY2FzZS4gVGhpcyBtZWFucyB0aGVvcmV0aWNhbGx5IGltcHJvcGVybHkgYnVpbHQgYWJvcnRlcyB1c2VSZXNvdXJjZSgpIGNvdWxkIHN1c3BlbmQgZm9yZXZlci5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtZXRhOiB7XG4gICAgICAuLi5zdGF0ZS5tZXRhLFxuICAgICAgW2FjdGlvbi5tZXRhLmtleV06IHtcbiAgICAgICAgZGF0ZTogYWN0aW9uLm1ldGEuZGF0ZSxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGV4cGlyZXNBdDogYWN0aW9uLm1ldGEuZXhwaXJlc0F0LFxuICAgICAgICBlcnJvclBvbGljeTogYWN0aW9uLm1ldGEuZXJyb3JQb2xpY3k/LihlcnJvciksXG4gICAgICB9LFxuICAgIH0sXG4gICAgb3B0aW1pc3RpYzogZmlsdGVyT3B0aW1pc3RpYyhzdGF0ZSwgYWN0aW9uKSxcbiAgfTtcbn1cbi8qKiBGaWx0ZXIgYWxsIHJlcXVlc3RzIHdpdGggc2FtZSBzZXJpYWxpemF0aW9uIHRoYXQgZGlkIG5vdCBzdGFydCBhZnRlciB0aGUgcmVzb2x2aW5nIHJlcXVlc3QgKi9cbmZ1bmN0aW9uIGZpbHRlck9wdGltaXN0aWMoXG4gIHN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgcmVzb2x2aW5nQWN0aW9uOiBSZWNlaXZlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbikge1xuICByZXR1cm4gc3RhdGUub3B0aW1pc3RpYy5maWx0ZXIoXG4gICAgb3B0aW1pc3RpY0FjdGlvbiA9PlxuICAgICAgb3B0aW1pc3RpY0FjdGlvbi5tZXRhLmtleSAhPT0gcmVzb2x2aW5nQWN0aW9uLm1ldGEua2V5IHx8XG4gICAgICAob3B0aW1pc3RpY0FjdGlvbi50eXBlID09PSBPUFRJTUlTVElDX1RZUEVcbiAgICAgICAgPyBvcHRpbWlzdGljQWN0aW9uLm1ldGEuZmV0Y2hlZEF0ICE9PSByZXNvbHZpbmdBY3Rpb24ubWV0YS5mZXRjaGVkQXRcbiAgICAgICAgOiBvcHRpbWlzdGljQWN0aW9uLm1ldGEuZGF0ZSA+IHJlc29sdmluZ0FjdGlvbi5tZXRhLmRhdGUpLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLFFBQVEsd0JBQXdCO0FBRWxELFNBQVNDLGVBQWUsUUFBUSxzQkFBc0I7QUFJdEQsT0FBT0Msc0JBQXNCLE1BQU0sOEJBQThCO0FBRWpFLE9BQU8sU0FBU0MsVUFBVUEsQ0FDeEJDLEtBQXFCLEVBQ3JCQyxNQUF3QyxFQUN4Q0MsVUFBc0IsRUFDdEI7RUFDQSxJQUFJRCxNQUFNLENBQUNFLEtBQUssRUFBRTtJQUNoQixPQUFPQyxXQUFXLENBQUNKLEtBQUssRUFBRUMsTUFBTSxFQUFFQSxNQUFNLENBQUNJLE9BQU8sQ0FBQztFQUNuRDtFQUNBLElBQUk7SUFBQSxJQUFBQyxxQkFBQTtJQUNGLElBQUlELE9BQVk7SUFDaEI7SUFDQSxJQUFJSixNQUFNLENBQUNNLElBQUksS0FBS1YsZUFBZSxFQUFFO01BQ25DLElBQUksQ0FBQ0ksTUFBTSxDQUFDTyxRQUFRLENBQUNDLHFCQUFxQixFQUFFLE9BQU9ULEtBQUs7TUFDeEQsSUFBSTtRQUNGO1FBQ0FLLE9BQU8sR0FBR0osTUFBTSxDQUFDTyxRQUFRLENBQUNDLHFCQUFxQixDQUFDQyxJQUFJLENBQ2xEVCxNQUFNLENBQUNPLFFBQVEsRUFDZk4sVUFBVSxDQUFDUyxRQUFRLENBQUNYLEtBQUssRUFBRUMsTUFBTSxDQUFDVyxJQUFJLENBQUNDLFNBQVMsQ0FBQztRQUNqRDtRQUNBLEdBQUlaLE1BQU0sQ0FBQ1csSUFBSSxDQUFDRSxJQUNsQixDQUFDO01BQ0gsQ0FBQyxDQUFDLE9BQU9DLENBQU0sRUFBRTtRQUFBLElBQUFDLGNBQUE7UUFDZjtRQUNBLElBQUksRUFBQUEsY0FBQSxHQUFBRCxDQUFDLENBQUNFLFdBQVcscUJBQWJELGNBQUEsQ0FBZUUsSUFBSSxNQUFLLGlCQUFpQixFQUFFO1VBQzdDLE9BQU9sQixLQUFLO1FBQ2Q7UUFDQSxNQUFNZSxDQUFDO01BQ1Q7SUFDRixDQUFDLE1BQU07TUFDTFYsT0FBTyxHQUFHSixNQUFNLENBQUNJLE9BQU87SUFDMUI7SUFDQSxNQUFNO01BQUVjLE1BQU07TUFBRUMsUUFBUTtNQUFFQyxPQUFPO01BQUVDO0lBQVcsQ0FBQyxHQUFHMUIsU0FBUyxDQUN6RFMsT0FBTyxFQUNQSixNQUFNLENBQUNXLElBQUksQ0FBQ1csTUFBTSxFQUNsQnRCLE1BQU0sQ0FBQ1csSUFBSSxDQUFDRSxJQUFJLEVBQ2hCZCxLQUFLLENBQUNvQixRQUFRLEVBQ2RwQixLQUFLLENBQUNxQixPQUFPLEVBQ2JyQixLQUFLLENBQUNzQixVQUFVLEVBQ2hCO01BQUVULFNBQVMsRUFBRVosTUFBTSxDQUFDVyxJQUFJLENBQUNZLElBQUk7TUFBRSxHQUFHdkIsTUFBTSxDQUFDVztJQUFLLENBQ2hELENBQUM7SUFDRCxJQUFJYSxPQUFPLEdBQUc7TUFDWixHQUFHekIsS0FBSyxDQUFDeUIsT0FBTztNQUNoQixDQUFDeEIsTUFBTSxDQUFDVyxJQUFJLENBQUNjLEdBQUcsR0FBR1A7SUFDckIsQ0FBQztJQUNELElBQUk7TUFDRixJQUFJLFVBQVUsSUFBSWxCLE1BQU0sQ0FBQ1csSUFBSSxJQUFJWCxNQUFNLENBQUNXLElBQUksQ0FBQ2UsUUFBUSxFQUFFO1FBQ3JERixPQUFPLEdBQUczQixzQkFBc0IsQ0FDOUIyQixPQUFPLEVBQ1BOLE1BQU0sRUFDTmxCLE1BQU0sQ0FBQ1csSUFBSSxDQUFDZSxRQUNkLENBQUM7TUFDSDtNQUNBLElBQUkxQixNQUFNLENBQUNXLElBQUksQ0FBQ2dCLE1BQU0sRUFBRTtRQUN0QixNQUFNRCxRQUFRLEdBQUcxQixNQUFNLENBQUNXLElBQUksQ0FBQ2dCLE1BQU0sQ0FDakNULE1BQU0sRUFDTixJQUFJbEIsTUFBTSxDQUFDVyxJQUFJLENBQUNFLElBQUksSUFBSSxFQUFFLENBQzVCLENBQUM7UUFDRGUsTUFBTSxDQUFDQyxJQUFJLENBQUNILFFBQVEsQ0FBQyxDQUFDSSxPQUFPLENBQUNMLEdBQUcsSUFBSTtVQUNuQ0QsT0FBTyxDQUFDQyxHQUFHLENBQUMsR0FBR0MsUUFBUSxDQUFDRCxHQUFHLENBQUMsQ0FBQ0QsT0FBTyxDQUFDQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUM7TUFDSjtNQUNBO01BQ0E7SUFDRixDQUFDLENBQUMsT0FBT3ZCLEtBQUssRUFBRTtNQUNkNkIsT0FBTyxDQUFDN0IsS0FBSyxDQUNWLDREQUEyREYsTUFBTSxDQUFDVyxJQUFJLENBQUNjLEdBQUksRUFDOUUsQ0FBQztNQUNETSxPQUFPLENBQUM3QixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUN0QjtJQUNBLE9BQU87TUFDTGlCLFFBQVE7TUFDUkMsT0FBTztNQUNQSSxPQUFPO01BQ1BILFVBQVU7TUFDVlYsSUFBSSxFQUFFO1FBQ0osR0FBR1osS0FBSyxDQUFDWSxJQUFJO1FBQ2IsQ0FBQ1gsTUFBTSxDQUFDVyxJQUFJLENBQUNjLEdBQUcsR0FBRztVQUNqQkYsSUFBSSxFQUFFdkIsTUFBTSxDQUFDVyxJQUFJLENBQUNZLElBQUk7VUFDdEJTLFNBQVMsRUFBRWhDLE1BQU0sQ0FBQ1csSUFBSSxDQUFDcUIsU0FBUztVQUNoQ0MsYUFBYSxHQUFBNUIscUJBQUEsR0FBRU4sS0FBSyxDQUFDWSxJQUFJLENBQUNYLE1BQU0sQ0FBQ1csSUFBSSxDQUFDYyxHQUFHLENBQUMscUJBQTNCcEIscUJBQUEsQ0FBNkIyQjtRQUM5QztNQUNGLENBQUM7TUFDREUsVUFBVSxFQUFFQyxnQkFBZ0IsQ0FBQ3BDLEtBQUssRUFBRUMsTUFBTSxDQUFDO01BQzNDb0MsU0FBUyxFQUFFckMsS0FBSyxDQUFDcUM7SUFDbkIsQ0FBQztJQUNEO0VBQ0YsQ0FBQyxDQUFDLE9BQU9sQyxLQUFVLEVBQUU7SUFDbkIsSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBUSxFQUFFO01BQzdCQSxLQUFLLENBQUNtQyxPQUFPLEdBQUksb0JBQ2ZyQyxNQUFNLENBQUNXLElBQUksQ0FBQ2MsR0FDYixvQkFBbUJhLElBQUksQ0FBQ0MsU0FBUyxDQUNoQ3ZDLE1BQU0sQ0FBQ1csSUFBSSxDQUFDVyxNQUFNLEVBQ2xCa0IsU0FBUyxFQUNULENBQ0YsQ0FBRSxlQUFjdEMsS0FBSyxDQUFDbUMsT0FBUSxFQUFDO01BQy9CLElBQUksU0FBUyxJQUFJckMsTUFBTSxFQUFFRSxLQUFLLENBQUNFLE9BQU8sR0FBR0osTUFBTSxDQUFDSSxPQUFPO01BQ3ZERixLQUFLLENBQUN1QyxNQUFNLEdBQUcsR0FBRztJQUNwQjs7SUFFQTtJQUNBO0lBQ0EsSUFBSUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7TUFDekNiLE9BQU8sQ0FBQzdCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQ3RCO0lBQ0EsT0FBT0MsV0FBVyxDQUFDSixLQUFLLEVBQUVDLE1BQU0sRUFBRUUsS0FBSyxDQUFDO0VBQzFDO0FBQ0Y7QUFFQSxTQUFTQyxXQUFXQSxDQUNsQkosS0FBcUIsRUFDckJDLE1BQXdDLEVBQ3hDRSxLQUFVLEVBQ007RUFDaEIsSUFBSUEsS0FBSyxDQUFDZSxJQUFJLEtBQUssWUFBWSxFQUFFO0lBQy9CO0lBQ0E7SUFDQTtJQUNBLE9BQU87TUFDTCxHQUFHbEIsS0FBSztNQUNSbUMsVUFBVSxFQUFFQyxnQkFBZ0IsQ0FBQ3BDLEtBQUssRUFBRUMsTUFBTTtJQUM1QyxDQUFDO0VBQ0g7RUFDQSxPQUFPO0lBQ0wsR0FBR0QsS0FBSztJQUNSWSxJQUFJLEVBQUU7TUFDSixHQUFHWixLQUFLLENBQUNZLElBQUk7TUFDYixDQUFDWCxNQUFNLENBQUNXLElBQUksQ0FBQ2MsR0FBRyxHQUFHO1FBQ2pCRixJQUFJLEVBQUV2QixNQUFNLENBQUNXLElBQUksQ0FBQ1ksSUFBSTtRQUN0QnJCLEtBQUs7UUFDTDhCLFNBQVMsRUFBRWhDLE1BQU0sQ0FBQ1csSUFBSSxDQUFDcUIsU0FBUztRQUNoQ2EsV0FBVyxFQUFFN0MsTUFBTSxDQUFDVyxJQUFJLENBQUNrQyxXQUFXLG9CQUF2QjdDLE1BQU0sQ0FBQ1csSUFBSSxDQUFDa0MsV0FBVyxDQUFHM0MsS0FBSztNQUM5QztJQUNGLENBQUM7SUFDRGdDLFVBQVUsRUFBRUMsZ0JBQWdCLENBQUNwQyxLQUFLLEVBQUVDLE1BQU07RUFDNUMsQ0FBQztBQUNIO0FBQ0E7QUFDQSxTQUFTbUMsZ0JBQWdCQSxDQUN2QnBDLEtBQXFCLEVBQ3JCK0MsZUFBaUQsRUFDakQ7RUFDQSxPQUFPL0MsS0FBSyxDQUFDbUMsVUFBVSxDQUFDYSxNQUFNLENBQzVCQyxnQkFBZ0IsSUFDZEEsZ0JBQWdCLENBQUNyQyxJQUFJLENBQUNjLEdBQUcsS0FBS3FCLGVBQWUsQ0FBQ25DLElBQUksQ0FBQ2MsR0FBRyxLQUNyRHVCLGdCQUFnQixDQUFDMUMsSUFBSSxLQUFLVixlQUFlLEdBQ3RDb0QsZ0JBQWdCLENBQUNyQyxJQUFJLENBQUNDLFNBQVMsS0FBS2tDLGVBQWUsQ0FBQ25DLElBQUksQ0FBQ0MsU0FBUyxHQUNsRW9DLGdCQUFnQixDQUFDckMsSUFBSSxDQUFDWSxJQUFJLEdBQUd1QixlQUFlLENBQUNuQyxJQUFJLENBQUNZLElBQUksQ0FDOUQsQ0FBQztBQUNIIn0=
111
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemUiLCJPUFRJTUlTVElDX1RZUEUiLCJzZXRSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJjb250cm9sbGVyIiwiZXJyb3IiLCJyZWR1Y2VFcnJvciIsInBheWxvYWQiLCJfc3RhdGUkbWV0YSRhY3Rpb24kbWUiLCJ0eXBlIiwiZW5kcG9pbnQiLCJnZXRPcHRpbWlzdGljUmVzcG9uc2UiLCJjYWxsIiwic25hcHNob3QiLCJtZXRhIiwiZmV0Y2hlZEF0IiwiYXJncyIsImUiLCJfZSRjb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yIiwibmFtZSIsInJlc3VsdCIsImVudGl0aWVzIiwiaW5kZXhlcyIsImVudGl0eU1ldGEiLCJzY2hlbWEiLCJyZXN1bHRzIiwia2V5IiwidXBkYXRlIiwidXBkYXRlcnMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImNvbnNvbGUiLCJkYXRlIiwiZXhwaXJlc0F0IiwicHJldkV4cGlyZXNBdCIsIm9wdGltaXN0aWMiLCJmaWx0ZXJPcHRpbWlzdGljIiwibGFzdFJlc2V0IiwibWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1bmRlZmluZWQiLCJzdGF0dXMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJlcnJvclBvbGljeSIsInJlc29sdmluZ0FjdGlvbiIsImZpbHRlciIsIm9wdGltaXN0aWNBY3Rpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhdGUvcmVkdWNlci9zZXRSZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBPUFRJTUlTVElDX1RZUEUgfSBmcm9tICcuLi8uLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSBDb250cm9sbGVyIGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFN0YXRlLCBSZWNlaXZlQWN0aW9uLCBPcHRpbWlzdGljQWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0UmVkdWNlcihcbiAgc3RhdGU6IFN0YXRlPHVua25vd24+LFxuICBhY3Rpb246IE9wdGltaXN0aWNBY3Rpb24gfCBSZWNlaXZlQWN0aW9uLFxuICBjb250cm9sbGVyOiBDb250cm9sbGVyLFxuKSB7XG4gIGlmIChhY3Rpb24uZXJyb3IpIHtcbiAgICByZXR1cm4gcmVkdWNlRXJyb3Ioc3RhdGUsIGFjdGlvbiwgYWN0aW9uLnBheWxvYWQpO1xuICB9XG4gIHRyeSB7XG4gICAgbGV0IHBheWxvYWQ6IGFueTtcbiAgICAvLyBmb3IgdHJ1ZSByZWNlaXZlcyBwYXlsb2FkIGlzIGNvbnRhaW5lZCBpbiBhY3Rpb25cbiAgICBpZiAoYWN0aW9uLnR5cGUgPT09IE9QVElNSVNUSUNfVFlQRSkge1xuICAgICAgLy8gdGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuXG4gICAgICBpZiAoIWFjdGlvbi5lbmRwb2ludC5nZXRPcHRpbWlzdGljUmVzcG9uc2UpIHJldHVybiBzdGF0ZTtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIGNvbXB1dGUgb3B0aW1pc3RpYyByZXNwb25zZSBiYXNlZCBvbiBjdXJyZW50IHN0YXRlXG4gICAgICAgIHBheWxvYWQgPSBhY3Rpb24uZW5kcG9pbnQuZ2V0T3B0aW1pc3RpY1Jlc3BvbnNlLmNhbGwoXG4gICAgICAgICAgYWN0aW9uLmVuZHBvaW50LFxuICAgICAgICAgIGNvbnRyb2xsZXIuc25hcHNob3Qoc3RhdGUsIGFjdGlvbi5tZXRhLmZldGNoZWRBdCksXG4gICAgICAgICAgLi4uYWN0aW9uLm1ldGEuYXJncyxcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAvLyBBYm9ydE9wdGltaXN0aWMgbWVhbnMgJ2RvIG5vdGhpbmcnLCBvdGhlcndpc2Ugd2UgY291bnQgdGhlIGV4Y2VwdGlvbiBhcyBlbmRwb2ludCBmYWlsdXJlXG4gICAgICAgIGlmIChlLmNvbnN0cnVjdG9yPy5uYW1lID09PSAnQWJvcnRPcHRpbWlzdGljJykge1xuICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfVxuICAgIGNvbnN0IHsgcmVzdWx0LCBlbnRpdGllcywgaW5kZXhlcywgZW50aXR5TWV0YSB9ID0gbm9ybWFsaXplKFxuICAgICAgcGF5bG9hZCxcbiAgICAgIGFjdGlvbi5lbmRwb2ludC5zY2hlbWEsXG4gICAgICBhY3Rpb24ubWV0YS5hcmdzIGFzIGFueSxcbiAgICAgIHN0YXRlLmVudGl0aWVzLFxuICAgICAgc3RhdGUuaW5kZXhlcyxcbiAgICAgIHN0YXRlLmVudGl0eU1ldGEsXG4gICAgICBhY3Rpb24ubWV0YSxcbiAgICApO1xuICAgIGNvbnN0IHJlc3VsdHMgPSB7XG4gICAgICAuLi5zdGF0ZS5yZXN1bHRzLFxuICAgICAgW2FjdGlvbi5tZXRhLmtleV06IHJlc3VsdCxcbiAgICB9O1xuICAgIHRyeSB7XG4gICAgICBpZiAoYWN0aW9uLmVuZHBvaW50LnVwZGF0ZSkge1xuICAgICAgICBjb25zdCB1cGRhdGVycyA9IGFjdGlvbi5lbmRwb2ludC51cGRhdGUocmVzdWx0LCAuLi5hY3Rpb24ubWV0YS5hcmdzKTtcbiAgICAgICAgT2JqZWN0LmtleXModXBkYXRlcnMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICByZXN1bHRzW2tleV0gPSB1cGRhdGVyc1trZXldKHJlc3VsdHNba2V5XSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gbm8gcmVhc29uIHRvIGNvbXBsZXRlbHkgZmFpbCBiZWNhdXNlIG9mIHVzZXItY29kZSBlcnJvclxuICAgICAgLy8gaW50ZWdyaXR5IG9mIHRoaXMgc3RhdGUgdXBkYXRlIGlzIHN0aWxsIGd1YXJhbnRlZWRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJlZCBkdXJpbmcgRW5kcG9pbnQudXBkYXRlKCkgZm9yICR7YWN0aW9uLm1ldGEua2V5fWAsXG4gICAgICApO1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBlbnRpdGllcyxcbiAgICAgIGluZGV4ZXMsXG4gICAgICByZXN1bHRzLFxuICAgICAgZW50aXR5TWV0YSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgLi4uc3RhdGUubWV0YSxcbiAgICAgICAgW2FjdGlvbi5tZXRhLmtleV06IHtcbiAgICAgICAgICBkYXRlOiBhY3Rpb24ubWV0YS5kYXRlLFxuICAgICAgICAgIGV4cGlyZXNBdDogYWN0aW9uLm1ldGEuZXhwaXJlc0F0LFxuICAgICAgICAgIHByZXZFeHBpcmVzQXQ6IHN0YXRlLm1ldGFbYWN0aW9uLm1ldGEua2V5XT8uZXhwaXJlc0F0LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdGltaXN0aWM6IGZpbHRlck9wdGltaXN0aWMoc3RhdGUsIGFjdGlvbiksXG4gICAgICBsYXN0UmVzZXQ6IHN0YXRlLmxhc3RSZXNldCxcbiAgICB9O1xuICAgIC8vIHJlZHVjZXIgbXVzdCB1cGRhdGUgdGhlIHN0YXRlLCBzbyBpbiBjYXNlIG9mIHByb2Nlc3NpbmcgZXJyb3JzIHdlIHNpbXBseSBjb21wdXRlIHRoZSByZXN1bHRzIGlubGluZVxuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yLm1lc3NhZ2UgPSBgRXJyb3IgcHJvY2Vzc2luZyAke1xuICAgICAgICBhY3Rpb24ubWV0YS5rZXlcbiAgICAgIH1cXG5cXG5GdWxsIFNjaGVtYTogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgYWN0aW9uLmVuZHBvaW50LnNjaGVtYSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAyLFxuICAgICAgKX1cXG5cXG5FcnJvcjpcXG4ke2Vycm9yLm1lc3NhZ2V9YDtcbiAgICAgIGlmICgncGF5bG9hZCcgaW4gYWN0aW9uKSBlcnJvci5wYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBlcnJvci5zdGF0dXMgPSA0MDA7XG4gICAgfVxuXG4gICAgLy8gdGhpcyBpcyBub3QgYWx3YXlzIGJ1YmJsZWQgdXAsIHNvIGxldCdzIGRvdWJsZSBzdXJlIHRoaXMgZG9lc24ndCBmYWlsIHNpbGVudGx5XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgfVxuICAgIHJldHVybiByZWR1Y2VFcnJvcihzdGF0ZSwgYWN0aW9uLCBlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVkdWNlRXJyb3IoXG4gIHN0YXRlOiBTdGF0ZTx1bmtub3duPixcbiAgYWN0aW9uOiBSZWNlaXZlQWN0aW9uIHwgT3B0aW1pc3RpY0FjdGlvbixcbiAgZXJyb3I6IGFueSxcbik6IFN0YXRlPHVua25vd24+IHtcbiAgaWYgKGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgIC8vIEluIGNhc2Ugd2UgYWJvcnQgc2ltcGx5IHVuZG8gdGhlIG9wdGltaXN0aWMgdXBkYXRlIGFuZCBhY3QgbGlrZSBubyBmZXRjaCBldmVuIG9jY3VyZWRcbiAgICAvLyBXZSBzdGlsbCB3YW50IHRob3NlIHdhdGNoaW5nIHByb21pc2VzIGZyb20gZmV0Y2ggZGlyZWN0bHkgdG8gb2JzZXJ2ZWQgdGhlIGFib3J0LCBidXQgd2UgZG9uJ3Qgd2FudCB0b1xuICAgIC8vIFRyaWdnZXIgZXJyb3JzIGluIHRoaXMgY2FzZS4gVGhpcyBtZWFucyB0aGVvcmV0aWNhbGx5IGltcHJvcGVybHkgYnVpbHQgYWJvcnRlcyB1c2VSZXNvdXJjZSgpIGNvdWxkIHN1c3BlbmQgZm9yZXZlci5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBvcHRpbWlzdGljOiBmaWx0ZXJPcHRpbWlzdGljKHN0YXRlLCBhY3Rpb24pLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtZXRhOiB7XG4gICAgICAuLi5zdGF0ZS5tZXRhLFxuICAgICAgW2FjdGlvbi5tZXRhLmtleV06IHtcbiAgICAgICAgZGF0ZTogYWN0aW9uLm1ldGEuZGF0ZSxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGV4cGlyZXNBdDogYWN0aW9uLm1ldGEuZXhwaXJlc0F0LFxuICAgICAgICBlcnJvclBvbGljeTogYWN0aW9uLmVuZHBvaW50LmVycm9yUG9saWN5Py4oZXJyb3IpLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG9wdGltaXN0aWM6IGZpbHRlck9wdGltaXN0aWMoc3RhdGUsIGFjdGlvbiksXG4gIH07XG59XG4vKiogRmlsdGVyIGFsbCByZXF1ZXN0cyB3aXRoIHNhbWUgc2VyaWFsaXphdGlvbiB0aGF0IGRpZCBub3Qgc3RhcnQgYWZ0ZXIgdGhlIHJlc29sdmluZyByZXF1ZXN0ICovXG5mdW5jdGlvbiBmaWx0ZXJPcHRpbWlzdGljKFxuICBzdGF0ZTogU3RhdGU8dW5rbm93bj4sXG4gIHJlc29sdmluZ0FjdGlvbjogUmVjZWl2ZUFjdGlvbiB8IE9wdGltaXN0aWNBY3Rpb24sXG4pIHtcbiAgcmV0dXJuIHN0YXRlLm9wdGltaXN0aWMuZmlsdGVyKFxuICAgIG9wdGltaXN0aWNBY3Rpb24gPT5cbiAgICAgIG9wdGltaXN0aWNBY3Rpb24ubWV0YS5rZXkgIT09IHJlc29sdmluZ0FjdGlvbi5tZXRhLmtleSB8fFxuICAgICAgKG9wdGltaXN0aWNBY3Rpb24udHlwZSA9PT0gT1BUSU1JU1RJQ19UWVBFXG4gICAgICAgID8gb3B0aW1pc3RpY0FjdGlvbi5tZXRhLmZldGNoZWRBdCAhPT0gcmVzb2x2aW5nQWN0aW9uLm1ldGEuZmV0Y2hlZEF0XG4gICAgICAgIDogb3B0aW1pc3RpY0FjdGlvbi5tZXRhLmRhdGUgPiByZXNvbHZpbmdBY3Rpb24ubWV0YS5kYXRlKSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBUyxRQUFRLHdCQUF3QjtBQUVsRCxTQUFTQyxlQUFlLFFBQVEsc0JBQXNCO0FBSXRELE9BQU8sU0FBU0MsVUFBVUEsQ0FDeEJDLEtBQXFCLEVBQ3JCQyxNQUF3QyxFQUN4Q0MsVUFBc0IsRUFDdEI7RUFDQSxJQUFJRCxNQUFNLENBQUNFLEtBQUssRUFBRTtJQUNoQixPQUFPQyxXQUFXLENBQUNKLEtBQUssRUFBRUMsTUFBTSxFQUFFQSxNQUFNLENBQUNJLE9BQU8sQ0FBQztFQUNuRDtFQUNBLElBQUk7SUFBQSxJQUFBQyxxQkFBQTtJQUNGLElBQUlELE9BQVk7SUFDaEI7SUFDQSxJQUFJSixNQUFNLENBQUNNLElBQUksS0FBS1QsZUFBZSxFQUFFO01BQ25DO01BQ0EsSUFBSSxDQUFDRyxNQUFNLENBQUNPLFFBQVEsQ0FBQ0MscUJBQXFCLEVBQUUsT0FBT1QsS0FBSztNQUN4RCxJQUFJO1FBQ0Y7UUFDQUssT0FBTyxHQUFHSixNQUFNLENBQUNPLFFBQVEsQ0FBQ0MscUJBQXFCLENBQUNDLElBQUksQ0FDbERULE1BQU0sQ0FBQ08sUUFBUSxFQUNmTixVQUFVLENBQUNTLFFBQVEsQ0FBQ1gsS0FBSyxFQUFFQyxNQUFNLENBQUNXLElBQUksQ0FBQ0MsU0FBUyxDQUFDLEVBQ2pELEdBQUdaLE1BQU0sQ0FBQ1csSUFBSSxDQUFDRSxJQUNqQixDQUFDO01BQ0gsQ0FBQyxDQUFDLE9BQU9DLENBQU0sRUFBRTtRQUFBLElBQUFDLGNBQUE7UUFDZjtRQUNBLElBQUksRUFBQUEsY0FBQSxHQUFBRCxDQUFDLENBQUNFLFdBQVcscUJBQWJELGNBQUEsQ0FBZUUsSUFBSSxNQUFLLGlCQUFpQixFQUFFO1VBQzdDLE9BQU9sQixLQUFLO1FBQ2Q7UUFDQSxNQUFNZSxDQUFDO01BQ1Q7SUFDRixDQUFDLE1BQU07TUFD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
package/lib/types.d.ts CHANGED
@@ -1,15 +1,11 @@
1
- import { EndpointInterface, NormalizedIndex, Schema } from '@data-client/normalizr';
1
+ import { NormalizedIndex } from '@data-client/normalizr';
2
2
  import type { UpdateFunction, AbstractInstanceType } from '@data-client/normalizr';
3
3
  import type { ErrorTypes } from '@data-client/normalizr';
4
- import { RECEIVE_TYPE } from './actionTypes.js';
5
- import { CompatibleFetchAction, CompatibleReceiveAction, CompatibleSubscribeAction, CompatibleUnsubscribeAction } from './compatibleActions.js';
6
- import { EndpointUpdateFunction } from './controller/types.js';
7
- import * as legacyActions from './legacyActions.js';
8
- import { Dispatch, Middleware, MiddlewareAPI } from './middlewareTypes.js';
9
- import * as newActions from './newActions.js';
10
- import * as previousActions from './previousActions.js';
4
+ import { SET_TYPE } from './actionTypes.js';
5
+ import type { Dispatch, Middleware, MiddlewareAPI } from './middlewareTypes.js';
6
+ import type { ActionTypes, SetAction, OptimisticAction } from './newActions.js';
11
7
  export type { AbstractInstanceType, UpdateFunction };
12
- export type ReceiveTypes = typeof RECEIVE_TYPE;
8
+ export type ReceiveTypes = typeof SET_TYPE;
13
9
  export type PK = string;
14
10
  export interface State<T> {
15
11
  readonly entities: {
@@ -40,29 +36,12 @@ export interface State<T> {
40
36
  };
41
37
  };
42
38
  };
43
- readonly optimistic: (previousActions.ReceiveAction | previousActions.OptimisticAction)[];
44
- readonly lastReset: Date | number;
39
+ readonly optimistic: (SetAction | OptimisticAction)[];
40
+ readonly lastReset: number;
45
41
  }
46
- export * as legacyActions from './legacyActions.js';
47
42
  export * as newActions from './newActions.js';
48
- export type { SetAction } from './newActions.js';
49
- export type OptimisticAction<E extends EndpointInterface & {
50
- update?: EndpointUpdateFunction<E>;
51
- } = EndpointInterface & {
52
- update?: EndpointUpdateFunction<EndpointInterface>;
53
- }> = newActions.OptimisticAction<E>;
54
- export type InvalidateAction = newActions.InvalidateAction;
55
- export type ResetAction = newActions.ResetAction | legacyActions.ResetAction;
56
- export type GCAction = newActions.GCAction;
57
- export type FetchAction<Payload extends object | string | number | null = object | string | number | null, S extends Schema | undefined = any> = CompatibleFetchAction | legacyActions.FetchAction<Payload, S>;
58
- export type ReceiveAction<Payload extends object | string | number | null = object | string | number | null, S extends Schema | undefined = any> = CompatibleReceiveAction | legacyActions.ReceiveAction<Payload, S>;
59
- export type SubscribeAction = CompatibleSubscribeAction | legacyActions.SubscribeAction;
60
- export type UnsubscribeAction = CompatibleUnsubscribeAction | legacyActions.UnsubscribeAction;
61
- export type ResponseActions = ReceiveAction;
62
- export type OldActionTypes = previousActions.ActionTypes;
63
- export type CombinedActionTypes = OptimisticAction | InvalidateAction | ResetAction | GCAction | FetchAction | ReceiveAction | SubscribeAction | UnsubscribeAction;
64
- export type ActionTypes = CombinedActionTypes;
65
- export interface Manager<Actions = CombinedActionTypes> {
43
+ export * from './newActions.js';
44
+ export interface Manager<Actions = ActionTypes> {
66
45
  getMiddleware(): Middleware<Actions>;
67
46
  cleanup(): void;
68
47
  init?: (state: State<any>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC;AAE3C,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC;AAExB,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG;YAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;SAAE,GAAG,SAAS,CAAC;KACxE,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IAC9E,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG;YACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;YAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;YAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;YAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACpD,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG;YAC5B,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG;gBACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;aAC5B,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,CAAC,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAEhC,MAAM,WAAW,OAAO,CAAC,OAAO,GAAG,WAAW;IAC5C,aAAa,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CACpC;AAED,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
package/lib/types.js CHANGED
@@ -1,8 +1,4 @@
1
- import * as _legacyActions from './legacyActions.js';
2
- export { _legacyActions as legacyActions };
3
1
  import * as _newActions from './newActions.js';
4
2
  export { _newActions as newActions };
5
- /* maintain backwards compatibility */
6
- /* TODO: switch to only include newActions in future */
7
- // put other actions here in union
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVnYWN5QWN0aW9ucyIsImxlZ2FjeUFjdGlvbnMiLCJfbmV3QWN0aW9ucyIsIm5ld0FjdGlvbnMiXSwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW5kcG9pbnRJbnRlcmZhY2UsXG4gIE5vcm1hbGl6ZWRJbmRleCxcbiAgU2NoZW1hLFxufSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmltcG9ydCB0eXBlIHtcbiAgVXBkYXRlRnVuY3Rpb24sXG4gIEFic3RyYWN0SW5zdGFuY2VUeXBlLFxufSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmltcG9ydCB0eXBlIHsgRXJyb3JUeXBlcyB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBSRUNFSVZFX1RZUEUgfSBmcm9tICcuL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB7XG4gIENvbXBhdGlibGVGZXRjaEFjdGlvbixcbiAgQ29tcGF0aWJsZVJlY2VpdmVBY3Rpb24sXG4gIENvbXBhdGlibGVTdWJzY3JpYmVBY3Rpb24sXG4gIENvbXBhdGlibGVVbnN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi9jb21wYXRpYmxlQWN0aW9ucy5qcyc7XG5pbXBvcnQgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi9jb250cm9sbGVyL3R5cGVzLmpzJztcbmltcG9ydCAqIGFzIGxlZ2FjeUFjdGlvbnMgZnJvbSAnLi9sZWdhY3lBY3Rpb25zLmpzJztcbmltcG9ydCB7IERpc3BhdGNoLCBNaWRkbGV3YXJlLCBNaWRkbGV3YXJlQVBJIH0gZnJvbSAnLi9taWRkbGV3YXJlVHlwZXMuanMnO1xuaW1wb3J0ICogYXMgbmV3QWN0aW9ucyBmcm9tICcuL25ld0FjdGlvbnMuanMnO1xuaW1wb3J0ICogYXMgcHJldmlvdXNBY3Rpb25zIGZyb20gJy4vcHJldmlvdXNBY3Rpb25zLmpzJztcblxuZXhwb3J0IHR5cGUgeyBBYnN0cmFjdEluc3RhbmNlVHlwZSwgVXBkYXRlRnVuY3Rpb24gfTtcblxuZXhwb3J0IHR5cGUgUmVjZWl2ZVR5cGVzID0gdHlwZW9mIFJFQ0VJVkVfVFlQRTtcblxuZXhwb3J0IHR5cGUgUEsgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGU8VD4ge1xuICByZWFkb25seSBlbnRpdGllczoge1xuICAgIHJlYWRvbmx5IFtlbnRpdHlLZXk6IHN0cmluZ106IHsgcmVhZG9ubHkgW3BrOiBzdHJpbmddOiBUIH0gfCB1bmRlZmluZWQ7XG4gIH07XG4gIHJlYWRvbmx5IGluZGV4ZXM6IE5vcm1hbGl6ZWRJbmRleDtcbiAgcmVhZG9ubHkgcmVzdWx0czogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiB1bmtub3duIHwgUEtbXSB8IFBLIHwgdW5kZWZpbmVkIH07XG4gIHJlYWRvbmx5IG1ldGE6IHtcbiAgICByZWFkb25seSBba2V5OiBzdHJpbmddOiB7XG4gICAgICByZWFkb25seSBkYXRlOiBudW1iZXI7XG4gICAgICByZWFkb25seSBlcnJvcj86IEVycm9yVHlwZXM7XG4gICAgICByZWFkb25seSBleHBpcmVzQXQ6IG51bWJlcjtcbiAgICAgIHJlYWRvbmx5IHByZXZFeHBpcmVzQXQ/OiBudW1iZXI7XG4gICAgICByZWFkb25seSBpbnZhbGlkYXRlZD86IGJvb2xlYW47XG4gICAgICByZWFkb25seSBlcnJvclBvbGljeT86ICdoYXJkJyB8ICdzb2Z0JyB8IHVuZGVmaW5lZDtcbiAgICB9O1xuICB9O1xuICByZWFkb25seSBlbnRpdHlNZXRhOiB7XG4gICAgcmVhZG9ubHkgW2VudGl0eUtleTogc3RyaW5nXToge1xuICAgICAgcmVhZG9ubHkgW3BrOiBzdHJpbmddOiB7XG4gICAgICAgIHJlYWRvbmx5IGRhdGU6IG51bWJlcjtcbiAgICAgICAgcmVhZG9ubHkgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgICAgIHJlYWRvbmx5IGZldGNoZWRBdDogbnVtYmVyO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICByZWFkb25seSBvcHRpbWlzdGljOiAoXG4gICAgfCBwcmV2aW91c0FjdGlvbnMuUmVjZWl2ZUFjdGlvblxuICAgIHwgcHJldmlvdXNBY3Rpb25zLk9wdGltaXN0aWNBY3Rpb25cbiAgKVtdO1xuICByZWFkb25seSBsYXN0UmVzZXQ6IERhdGUgfCBudW1iZXI7XG59XG5cbmV4cG9ydCAqIGFzIGxlZ2FjeUFjdGlvbnMgZnJvbSAnLi9sZWdhY3lBY3Rpb25zLmpzJztcbmV4cG9ydCAqIGFzIG5ld0FjdGlvbnMgZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcbmV4cG9ydCB0eXBlIHsgU2V0QWN0aW9uIH0gZnJvbSAnLi9uZXdBY3Rpb25zLmpzJztcblxuLyogbWFpbnRhaW4gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi9cbi8qIFRPRE86IHN3aXRjaCB0byBvbmx5IGluY2x1ZGUgbmV3QWN0aW9ucyBpbiBmdXR1cmUgKi9cbmV4cG9ydCB0eXBlIE9wdGltaXN0aWNBY3Rpb248XG4gIEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZSAmIHtcbiAgICB1cGRhdGU/OiBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uPEU+O1xuICB9ID0gRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFbmRwb2ludEludGVyZmFjZT47XG4gIH0sXG4+ID0gbmV3QWN0aW9ucy5PcHRpbWlzdGljQWN0aW9uPEU+O1xuZXhwb3J0IHR5cGUgSW52YWxpZGF0ZUFjdGlvbiA9IG5ld0FjdGlvbnMuSW52YWxpZGF0ZUFjdGlvbjtcbmV4cG9ydCB0eXBlIFJlc2V0QWN0aW9uID0gbmV3QWN0aW9ucy5SZXNldEFjdGlvbiB8IGxlZ2FjeUFjdGlvbnMuUmVzZXRBY3Rpb247XG5leHBvcnQgdHlwZSBHQ0FjdGlvbiA9IG5ld0FjdGlvbnMuR0NBY3Rpb247XG5leHBvcnQgdHlwZSBGZXRjaEFjdGlvbjxcbiAgUGF5bG9hZCBleHRlbmRzIG9iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IG51bGwgPVxuICAgIHwgb2JqZWN0XG4gICAgfCBzdHJpbmdcbiAgICB8IG51bWJlclxuICAgIHwgbnVsbCxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueSxcbj4gPSBDb21wYXRpYmxlRmV0Y2hBY3Rpb24gfCBsZWdhY3lBY3Rpb25zLkZldGNoQWN0aW9uPFBheWxvYWQsIFM+O1xuZXhwb3J0IHR5cGUgUmVjZWl2ZUFjdGlvbjxcbiAgUGF5bG9hZCBleHRlbmRzIG9iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IG51bGwgPVxuICAgIHwgb2JqZWN0XG4gICAgfCBzdHJpbmdcbiAgICB8IG51bWJlclxuICAgIHwgbnVsbCxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueSxcbj4gPSBDb21wYXRpYmxlUmVjZWl2ZUFjdGlvbiB8IGxlZ2FjeUFjdGlvbnMuUmVjZWl2ZUFjdGlvbjxQYXlsb2FkLCBTPjtcbmV4cG9ydCB0eXBlIFN1YnNjcmliZUFjdGlvbiA9XG4gIHwgQ29tcGF0aWJsZVN1YnNjcmliZUFjdGlvblxuICB8IGxlZ2FjeUFjdGlvbnMuU3Vic2NyaWJlQWN0aW9uO1xuZXhwb3J0IHR5cGUgVW5zdWJzY3JpYmVBY3Rpb24gPVxuICB8IENvbXBhdGlibGVVbnN1YnNjcmliZUFjdGlvblxuICB8IGxlZ2FjeUFjdGlvbnMuVW5zdWJzY3JpYmVBY3Rpb247XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlQWN0aW9ucyA9IFJlY2VpdmVBY3Rpb247XG5cbi8vIHB1dCBvdGhlciBhY3Rpb25zIGhlcmUgaW4gdW5pb25cbmV4cG9ydCB0eXBlIE9sZEFjdGlvblR5cGVzID0gcHJldmlvdXNBY3Rpb25zLkFjdGlvblR5cGVzO1xuXG5leHBvcnQgdHlwZSBDb21iaW5lZEFjdGlvblR5cGVzID1cbiAgfCBPcHRpbWlzdGljQWN0aW9uXG4gIHwgSW52YWxpZGF0ZUFjdGlvblxuICB8IFJlc2V0QWN0aW9uXG4gIHwgR0NBY3Rpb25cbiAgfCBGZXRjaEFjdGlvblxuICB8IFJlY2VpdmVBY3Rpb25cbiAgfCBTdWJzY3JpYmVBY3Rpb25cbiAgfCBVbnN1YnNjcmliZUFjdGlvbjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPSBDb21iaW5lZEFjdGlvblR5cGVzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZXI8QWN0aW9ucyA9IENvbWJpbmVkQWN0aW9uVHlwZXM+IHtcbiAgZ2V0TWlkZGxld2FyZSgpOiBNaWRkbGV3YXJlPEFjdGlvbnM+O1xuICBjbGVhbnVwKCk6IHZvaWQ7XG4gIGluaXQ/OiAoc3RhdGU6IFN0YXRlPGFueT4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIHsgRGlzcGF0Y2gsIE1pZGRsZXdhcmUsIE1pZGRsZXdhcmVBUEkgfTtcbiJdLCJtYXBwaW5ncyI6ImdDQThEK0Isb0JBQW9CO0FBQUEsU0FBQUEsY0FBQSxJQUF2Q0MsYUFBYTtBQUFBLFlBQUFDLFdBQUEsTUFDRyxpQkFBaUI7QUFBQSxTQUFBQSxXQUFBLElBQWpDQyxVQUFVO0FBR3RCO0FBQ0E7QUFvQ0EifQ==
3
+ export * from './newActions.js';
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbmV3QWN0aW9ucyIsIm5ld0FjdGlvbnMiXSwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9ybWFsaXplZEluZGV4IH0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5pbXBvcnQgdHlwZSB7XG4gIFVwZGF0ZUZ1bmN0aW9uLFxuICBBYnN0cmFjdEluc3RhbmNlVHlwZSxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5pbXBvcnQgdHlwZSB7IEVycm9yVHlwZXMgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgU0VUX1RZUEUgfSBmcm9tICcuL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlzcGF0Y2gsIE1pZGRsZXdhcmUsIE1pZGRsZXdhcmVBUEkgfSBmcm9tICcuL21pZGRsZXdhcmVUeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvblR5cGVzLCBTZXRBY3Rpb24sIE9wdGltaXN0aWNBY3Rpb24gfSBmcm9tICcuL25ld0FjdGlvbnMuanMnO1xuXG5leHBvcnQgdHlwZSB7IEFic3RyYWN0SW5zdGFuY2VUeXBlLCBVcGRhdGVGdW5jdGlvbiB9O1xuXG5leHBvcnQgdHlwZSBSZWNlaXZlVHlwZXMgPSB0eXBlb2YgU0VUX1RZUEU7XG5cbmV4cG9ydCB0eXBlIFBLID0gc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlPFQ+IHtcbiAgcmVhZG9ubHkgZW50aXRpZXM6IHtcbiAgICByZWFkb25seSBbZW50aXR5S2V5OiBzdHJpbmddOiB7IHJlYWRvbmx5IFtwazogc3RyaW5nXTogVCB9IHwgdW5kZWZpbmVkO1xuICB9O1xuICByZWFkb25seSBpbmRleGVzOiBOb3JtYWxpemVkSW5kZXg7XG4gIHJlYWRvbmx5IHJlc3VsdHM6IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogdW5rbm93biB8IFBLW10gfCBQSyB8IHVuZGVmaW5lZCB9O1xuICByZWFkb25seSBtZXRhOiB7XG4gICAgcmVhZG9ubHkgW2tleTogc3RyaW5nXToge1xuICAgICAgcmVhZG9ubHkgZGF0ZTogbnVtYmVyO1xuICAgICAgcmVhZG9ubHkgZXJyb3I/OiBFcnJvclR5cGVzO1xuICAgICAgcmVhZG9ubHkgZXhwaXJlc0F0OiBudW1iZXI7XG4gICAgICByZWFkb25seSBwcmV2RXhwaXJlc0F0PzogbnVtYmVyO1xuICAgICAgcmVhZG9ubHkgaW52YWxpZGF0ZWQ/OiBib29sZWFuO1xuICAgICAgcmVhZG9ubHkgZXJyb3JQb2xpY3k/OiAnaGFyZCcgfCAnc29mdCcgfCB1bmRlZmluZWQ7XG4gICAgfTtcbiAgfTtcbiAgcmVhZG9ubHkgZW50aXR5TWV0YToge1xuICAgIHJlYWRvbmx5IFtlbnRpdHlLZXk6IHN0cmluZ106IHtcbiAgICAgIHJlYWRvbmx5IFtwazogc3RyaW5nXToge1xuICAgICAgICByZWFkb25seSBkYXRlOiBudW1iZXI7XG4gICAgICAgIHJlYWRvbmx5IGV4cGlyZXNBdDogbnVtYmVyO1xuICAgICAgICByZWFkb25seSBmZXRjaGVkQXQ6IG51bWJlcjtcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgcmVhZG9ubHkgb3B0aW1pc3RpYzogKFNldEFjdGlvbiB8IE9wdGltaXN0aWNBY3Rpb24pW107XG4gIHJlYWRvbmx5IGxhc3RSZXNldDogbnVtYmVyO1xufVxuXG5leHBvcnQgKiBhcyBuZXdBY3Rpb25zIGZyb20gJy4vbmV3QWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL25ld0FjdGlvbnMuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmFnZXI8QWN0aW9ucyA9IEFjdGlvblR5cGVzPiB7XG4gIGdldE1pZGRsZXdhcmUoKTogTWlkZGxld2FyZTxBY3Rpb25zPjtcbiAgY2xlYW51cCgpOiB2b2lkO1xuICBpbml0PzogKHN0YXRlOiBTdGF0ZTxhbnk+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSB7IERpc3BhdGNoLCBNaWRkbGV3YXJlLCBNaWRkbGV3YXJlQVBJIH07XG4iXSwibWFwcGluZ3MiOiI2QkE4QzRCLGlCQUFpQjtBQUFBLFNBQUFBLFdBQUEsSUFBakNDLFVBQVU7QUFDdEIsY0FBYyxpQkFBaUIifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-client/core",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "High performance reactive framework for async data.",
5
5
  "sideEffects": false,
6
6
  "main": "dist/index.js",
@@ -117,11 +117,11 @@
117
117
  },
118
118
  "dependencies": {
119
119
  "@babel/runtime": "^7.17.0",
120
- "@data-client/normalizr": "^0.1.0",
120
+ "@data-client/normalizr": "^0.2.0",
121
121
  "flux-standard-action": "^2.1.1"
122
122
  },
123
123
  "devDependencies": {
124
124
  "@anansi/browserslist-config": "^1.4.2",
125
125
  "@types/node": "^20.0.0"
126
126
  }
127
- }
127
+ }
@@ -1,5 +1,5 @@
1
1
  export const FETCH_TYPE = 'rest-hooks/fetch' as const;
2
- // TODO(breaking): deprecate this
2
+ /** @deprecated use SET_TYPE instead */
3
3
  export const RECEIVE_TYPE = 'rest-hooks/receive' as const;
4
4
  export const SET_TYPE = RECEIVE_TYPE;
5
5
  export const OPTIMISTIC_TYPE = 'rest-hooks/optimistic' as const;