@data-client/core 0.1.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 (308) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +71 -0
  3. package/dist/index.js +1643 -0
  4. package/dist/index.umd.min.js +1 -0
  5. package/dist/next.js +461 -0
  6. package/dist/package.json +1 -0
  7. package/legacy/actionTypes.js +12 -0
  8. package/legacy/compatibleActions.js +2 -0
  9. package/legacy/controller/BaseController.js +289 -0
  10. package/legacy/controller/Controller.js +20 -0
  11. package/legacy/controller/createFetch.js +42 -0
  12. package/legacy/controller/createInvalidate.js +12 -0
  13. package/legacy/controller/createInvalidateAll.js +8 -0
  14. package/legacy/controller/createOptimistic.js +33 -0
  15. package/legacy/controller/createReceive.js +36 -0
  16. package/legacy/controller/createReset.js +8 -0
  17. package/legacy/controller/createSubscription.js +30 -0
  18. package/legacy/controller/types.js +2 -0
  19. package/legacy/endpoint/index.js +2 -0
  20. package/legacy/endpoint/shapes.js +2 -0
  21. package/legacy/endpoint/types.js +2 -0
  22. package/legacy/fsa.js +2 -0
  23. package/legacy/index.js +22 -0
  24. package/legacy/internal.js +4 -0
  25. package/legacy/legacyActions.js +2 -0
  26. package/legacy/manager/ConnectionListener.js +2 -0
  27. package/legacy/manager/DefaultConnectionListener.js +40 -0
  28. package/legacy/manager/DevtoolsManager.js +73 -0
  29. package/legacy/manager/LogoutManager.js +34 -0
  30. package/legacy/manager/NetworkManager.js +291 -0
  31. package/legacy/manager/PollingSubscription.js +159 -0
  32. package/legacy/manager/SubscriptionManager.js +117 -0
  33. package/legacy/manager/applyManager.js +23 -0
  34. package/legacy/manager/devtoolsTypes.js +2 -0
  35. package/legacy/manager/index.js +6 -0
  36. package/legacy/middlewareTypes.js +2 -0
  37. package/legacy/newActions.js +2 -0
  38. package/legacy/next/Controller.js +24 -0
  39. package/legacy/next/index.js +3 -0
  40. package/legacy/previousActions.js +2 -0
  41. package/legacy/state/RIC.js +3 -0
  42. package/legacy/state/applyUpdatersToResults.js +4 -0
  43. package/legacy/state/legacy-actions/createFetch.js +62 -0
  44. package/legacy/state/legacy-actions/createReceive.js +37 -0
  45. package/legacy/state/legacy-actions/createReceiveError.js +28 -0
  46. package/legacy/state/legacy-actions/index.js +4 -0
  47. package/legacy/state/reducer/createReducer.js +54 -0
  48. package/legacy/state/reducer/fetchReducer.js +32 -0
  49. package/legacy/state/reducer/invalidateReducer.js +28 -0
  50. package/legacy/state/reducer/setReducer.js +113 -0
  51. package/legacy/state/reducerInstance.js +9 -0
  52. package/legacy/state/selectMeta.js +4 -0
  53. package/legacy/types.js +8 -0
  54. package/lib/actionTypes.d.ts +11 -0
  55. package/lib/actionTypes.d.ts.map +1 -0
  56. package/lib/actionTypes.js +12 -0
  57. package/lib/compatibleActions.d.ts +47 -0
  58. package/lib/compatibleActions.d.ts.map +1 -0
  59. package/lib/compatibleActions.js +2 -0
  60. package/lib/controller/BaseController.d.ts +128 -0
  61. package/lib/controller/BaseController.d.ts.map +1 -0
  62. package/lib/controller/BaseController.js +289 -0
  63. package/lib/controller/Controller.d.ts +14 -0
  64. package/lib/controller/Controller.d.ts.map +1 -0
  65. package/lib/controller/Controller.js +20 -0
  66. package/lib/controller/createFetch.d.ts +12 -0
  67. package/lib/controller/createFetch.d.ts.map +1 -0
  68. package/lib/controller/createFetch.js +42 -0
  69. package/lib/controller/createInvalidate.d.ts +6 -0
  70. package/lib/controller/createInvalidate.d.ts.map +1 -0
  71. package/lib/controller/createInvalidate.js +12 -0
  72. package/lib/controller/createInvalidateAll.d.ts +3 -0
  73. package/lib/controller/createInvalidateAll.d.ts.map +1 -0
  74. package/lib/controller/createInvalidateAll.js +8 -0
  75. package/lib/controller/createOptimistic.d.ts +10 -0
  76. package/lib/controller/createOptimistic.d.ts.map +1 -0
  77. package/lib/controller/createOptimistic.js +33 -0
  78. package/lib/controller/createReceive.d.ts +20 -0
  79. package/lib/controller/createReceive.d.ts.map +1 -0
  80. package/lib/controller/createReceive.js +36 -0
  81. package/lib/controller/createReset.d.ts +3 -0
  82. package/lib/controller/createReset.d.ts.map +1 -0
  83. package/lib/controller/createReset.js +8 -0
  84. package/lib/controller/createSubscription.d.ts +9 -0
  85. package/lib/controller/createSubscription.d.ts.map +1 -0
  86. package/lib/controller/createSubscription.js +30 -0
  87. package/lib/controller/types.d.ts +6 -0
  88. package/lib/controller/types.d.ts.map +1 -0
  89. package/lib/controller/types.js +2 -0
  90. package/lib/endpoint/index.d.ts +3 -0
  91. package/lib/endpoint/index.d.ts.map +1 -0
  92. package/lib/endpoint/index.js +2 -0
  93. package/lib/endpoint/shapes.d.ts +25 -0
  94. package/lib/endpoint/shapes.d.ts.map +1 -0
  95. package/lib/endpoint/shapes.js +2 -0
  96. package/lib/endpoint/types.d.ts +45 -0
  97. package/lib/endpoint/types.d.ts.map +1 -0
  98. package/lib/endpoint/types.js +2 -0
  99. package/lib/fsa.d.ts +41 -0
  100. package/lib/fsa.d.ts.map +1 -0
  101. package/lib/fsa.js +2 -0
  102. package/lib/index.d.ts +19 -0
  103. package/lib/index.d.ts.map +1 -0
  104. package/lib/index.js +22 -0
  105. package/lib/internal.d.ts +4 -0
  106. package/lib/internal.d.ts.map +1 -0
  107. package/lib/internal.js +4 -0
  108. package/lib/legacyActions.d.ts +92 -0
  109. package/lib/legacyActions.d.ts.map +1 -0
  110. package/lib/legacyActions.js +2 -0
  111. package/lib/manager/ConnectionListener.d.ts +8 -0
  112. package/lib/manager/ConnectionListener.d.ts.map +1 -0
  113. package/lib/manager/ConnectionListener.js +2 -0
  114. package/lib/manager/DefaultConnectionListener.d.ts +20 -0
  115. package/lib/manager/DefaultConnectionListener.d.ts.map +1 -0
  116. package/lib/manager/DefaultConnectionListener.js +40 -0
  117. package/lib/manager/DevtoolsManager.d.ts +24 -0
  118. package/lib/manager/DevtoolsManager.d.ts.map +1 -0
  119. package/lib/manager/DevtoolsManager.js +74 -0
  120. package/lib/manager/LogoutManager.d.ts +25 -0
  121. package/lib/manager/LogoutManager.d.ts.map +1 -0
  122. package/lib/manager/LogoutManager.js +34 -0
  123. package/lib/manager/NetworkManager.d.ts +82 -0
  124. package/lib/manager/NetworkManager.d.ts.map +1 -0
  125. package/lib/manager/NetworkManager.js +295 -0
  126. package/lib/manager/PollingSubscription.d.ts +45 -0
  127. package/lib/manager/PollingSubscription.d.ts.map +1 -0
  128. package/lib/manager/PollingSubscription.js +159 -0
  129. package/lib/manager/SubscriptionManager.d.ts +55 -0
  130. package/lib/manager/SubscriptionManager.d.ts.map +1 -0
  131. package/lib/manager/SubscriptionManager.js +117 -0
  132. package/lib/manager/applyManager.d.ts +10 -0
  133. package/lib/manager/applyManager.d.ts.map +1 -0
  134. package/lib/manager/applyManager.js +23 -0
  135. package/lib/manager/devtoolsTypes.d.ts +205 -0
  136. package/lib/manager/devtoolsTypes.d.ts.map +1 -0
  137. package/lib/manager/devtoolsTypes.js +2 -0
  138. package/lib/manager/index.d.ts +8 -0
  139. package/lib/manager/index.d.ts.map +1 -0
  140. package/lib/manager/index.js +6 -0
  141. package/lib/middlewareTypes.d.ts +18 -0
  142. package/lib/middlewareTypes.d.ts.map +1 -0
  143. package/lib/middlewareTypes.js +2 -0
  144. package/lib/newActions.d.ts +85 -0
  145. package/lib/newActions.d.ts.map +1 -0
  146. package/lib/newActions.js +2 -0
  147. package/lib/next/Controller.d.ts +14 -0
  148. package/lib/next/Controller.d.ts.map +1 -0
  149. package/lib/next/Controller.js +24 -0
  150. package/lib/next/index.d.ts +3 -0
  151. package/lib/next/index.d.ts.map +1 -0
  152. package/lib/next/index.js +3 -0
  153. package/lib/previousActions.d.ts +91 -0
  154. package/lib/previousActions.d.ts.map +1 -0
  155. package/lib/previousActions.js +2 -0
  156. package/lib/state/RIC.d.ts +2 -0
  157. package/lib/state/RIC.js +3 -0
  158. package/lib/state/applyUpdatersToResults.d.ts +13 -0
  159. package/lib/state/applyUpdatersToResults.d.ts.map +1 -0
  160. package/lib/state/applyUpdatersToResults.js +7 -0
  161. package/lib/state/legacy-actions/createFetch.d.ts +19 -0
  162. package/lib/state/legacy-actions/createFetch.d.ts.map +1 -0
  163. package/lib/state/legacy-actions/createFetch.js +62 -0
  164. package/lib/state/legacy-actions/createReceive.d.ts +14 -0
  165. package/lib/state/legacy-actions/createReceive.d.ts.map +1 -0
  166. package/lib/state/legacy-actions/createReceive.js +37 -0
  167. package/lib/state/legacy-actions/createReceiveError.d.ts +9 -0
  168. package/lib/state/legacy-actions/createReceiveError.d.ts.map +1 -0
  169. package/lib/state/legacy-actions/createReceiveError.js +28 -0
  170. package/lib/state/legacy-actions/index.d.ts +4 -0
  171. package/lib/state/legacy-actions/index.d.ts.map +1 -0
  172. package/lib/state/legacy-actions/index.js +4 -0
  173. package/lib/state/reducer/createReducer.d.ts +7 -0
  174. package/lib/state/reducer/createReducer.d.ts.map +1 -0
  175. package/lib/state/reducer/createReducer.js +55 -0
  176. package/lib/state/reducer/fetchReducer.d.ts +4 -0
  177. package/lib/state/reducer/fetchReducer.d.ts.map +1 -0
  178. package/lib/state/reducer/fetchReducer.js +34 -0
  179. package/lib/state/reducer/invalidateReducer.d.ts +37 -0
  180. package/lib/state/reducer/invalidateReducer.d.ts.map +1 -0
  181. package/lib/state/reducer/invalidateReducer.js +34 -0
  182. package/lib/state/reducer/setReducer.d.ts +40 -0
  183. package/lib/state/reducer/setReducer.d.ts.map +1 -0
  184. package/lib/state/reducer/setReducer.js +119 -0
  185. package/lib/state/reducerInstance.d.ts +7 -0
  186. package/lib/state/reducerInstance.d.ts.map +1 -0
  187. package/lib/state/reducerInstance.js +9 -0
  188. package/lib/state/selectMeta.d.ts +3 -0
  189. package/lib/state/selectMeta.d.ts.map +1 -0
  190. package/lib/state/selectMeta.js +4 -0
  191. package/lib/types.d.ts +71 -0
  192. package/lib/types.d.ts.map +1 -0
  193. package/lib/types.js +8 -0
  194. package/node.mjs +1 -0
  195. package/package.json +127 -0
  196. package/src/actionTypes.ts +11 -0
  197. package/src/compatibleActions.ts +96 -0
  198. package/src/controller/BaseController.ts +508 -0
  199. package/src/controller/Controller.ts +32 -0
  200. package/src/controller/__tests__/Controller.ts +29 -0
  201. package/src/controller/__tests__/__snapshots__/getResponse.ts.snap +35 -0
  202. package/src/controller/__tests__/getResponse.ts +182 -0
  203. package/src/controller/createFetch.ts +54 -0
  204. package/src/controller/createInvalidate.ts +16 -0
  205. package/src/controller/createInvalidateAll.ts +11 -0
  206. package/src/controller/createOptimistic.ts +47 -0
  207. package/src/controller/createReceive.ts +85 -0
  208. package/src/controller/createReset.ts +9 -0
  209. package/src/controller/createSubscription.ts +39 -0
  210. package/src/controller/types.ts +22 -0
  211. package/src/endpoint/index.ts +14 -0
  212. package/src/endpoint/shapes.ts +53 -0
  213. package/src/endpoint/types.ts +72 -0
  214. package/src/fsa.ts +99 -0
  215. package/src/index.ts +61 -0
  216. package/src/internal.ts +3 -0
  217. package/src/legacyActions.ts +163 -0
  218. package/src/manager/ConnectionListener.ts +7 -0
  219. package/src/manager/DefaultConnectionListener.ts +54 -0
  220. package/src/manager/DevtoolsManager.ts +99 -0
  221. package/src/manager/LogoutManager.ts +57 -0
  222. package/src/manager/NetworkManager.ts +346 -0
  223. package/src/manager/PollingSubscription.ts +190 -0
  224. package/src/manager/SubscriptionManager.ts +156 -0
  225. package/src/manager/__tests__/__snapshots__/pollingSubscription-endpoint.ts.snap +49 -0
  226. package/src/manager/__tests__/__snapshots__/pollingSubscription.ts.snap +43 -0
  227. package/src/manager/__tests__/logoutManager.ts +112 -0
  228. package/src/manager/__tests__/manager.ts +44 -0
  229. package/src/manager/__tests__/networkManager-legacy.ts +394 -0
  230. package/src/manager/__tests__/networkManager.ts +426 -0
  231. package/src/manager/__tests__/pollingSubscription-endpoint.ts +423 -0
  232. package/src/manager/__tests__/pollingSubscription.ts +313 -0
  233. package/src/manager/__tests__/subscriptionManager.ts +208 -0
  234. package/src/manager/applyManager.ts +33 -0
  235. package/src/manager/devtoolsTypes.ts +210 -0
  236. package/src/manager/index.ts +7 -0
  237. package/src/middlewareTypes.ts +49 -0
  238. package/src/newActions.ts +140 -0
  239. package/src/next/Controller.ts +39 -0
  240. package/src/next/index.ts +2 -0
  241. package/src/package.json +1 -0
  242. package/src/previousActions.ts +159 -0
  243. package/src/state/RIC.d.ts +2 -0
  244. package/src/state/RIC.js +5 -0
  245. package/src/state/__tests__/RIC.web.ts +16 -0
  246. package/src/state/__tests__/__snapshots__/reducer.ts.snap +56 -0
  247. package/src/state/__tests__/applyUpdatersToResults.ts +40 -0
  248. package/src/state/__tests__/reducer.ts +868 -0
  249. package/src/state/applyUpdatersToResults.ts +29 -0
  250. package/src/state/legacy-actions/createFetch.ts +95 -0
  251. package/src/state/legacy-actions/createReceive.ts +68 -0
  252. package/src/state/legacy-actions/createReceiveError.ts +43 -0
  253. package/src/state/legacy-actions/index.ts +3 -0
  254. package/src/state/reducer/createReducer.ts +80 -0
  255. package/src/state/reducer/fetchReducer.ts +48 -0
  256. package/src/state/reducer/invalidateReducer.ts +39 -0
  257. package/src/state/reducer/setReducer.ts +157 -0
  258. package/src/state/reducerInstance.ts +14 -0
  259. package/src/state/selectMeta.ts +8 -0
  260. package/src/types.ts +125 -0
  261. package/ts3.4/actionTypes.d.ts +11 -0
  262. package/ts3.4/compatibleActions.d.ts +47 -0
  263. package/ts3.4/controller/BaseController.d.ts +170 -0
  264. package/ts3.4/controller/Controller.d.ts +14 -0
  265. package/ts3.4/controller/createFetch.d.ts +14 -0
  266. package/ts3.4/controller/createInvalidate.d.ts +8 -0
  267. package/ts3.4/controller/createInvalidateAll.d.ts +3 -0
  268. package/ts3.4/controller/createOptimistic.d.ts +12 -0
  269. package/ts3.4/controller/createReceive.d.ts +24 -0
  270. package/ts3.4/controller/createReset.d.ts +3 -0
  271. package/ts3.4/controller/createSubscription.d.ts +13 -0
  272. package/ts3.4/controller/types.d.ts +6 -0
  273. package/ts3.4/endpoint/index.d.ts +3 -0
  274. package/ts3.4/endpoint/shapes.d.ts +25 -0
  275. package/ts3.4/endpoint/types.d.ts +45 -0
  276. package/ts3.4/fsa.d.ts +41 -0
  277. package/ts3.4/index.d.ts +22 -0
  278. package/ts3.4/internal.d.ts +4 -0
  279. package/ts3.4/legacyActions.d.ts +95 -0
  280. package/ts3.4/manager/ConnectionListener.d.ts +8 -0
  281. package/ts3.4/manager/DefaultConnectionListener.d.ts +20 -0
  282. package/ts3.4/manager/DevtoolsManager.d.ts +24 -0
  283. package/ts3.4/manager/LogoutManager.d.ts +25 -0
  284. package/ts3.4/manager/NetworkManager.d.ts +82 -0
  285. package/ts3.4/manager/PollingSubscription.d.ts +45 -0
  286. package/ts3.4/manager/SubscriptionManager.d.ts +55 -0
  287. package/ts3.4/manager/applyManager.d.ts +10 -0
  288. package/ts3.4/manager/devtoolsTypes.d.ts +205 -0
  289. package/ts3.4/manager/index.d.ts +8 -0
  290. package/ts3.4/middlewareTypes.d.ts +18 -0
  291. package/ts3.4/newActions.d.ts +88 -0
  292. package/ts3.4/next/Controller.d.ts +14 -0
  293. package/ts3.4/next/index.d.ts +3 -0
  294. package/ts3.4/previousActions.d.ts +94 -0
  295. package/ts3.4/state/RIC.d.ts +2 -0
  296. package/ts3.4/state/applyUpdatersToResults.d.ts +13 -0
  297. package/ts3.4/state/legacy-actions/createFetch.d.ts +19 -0
  298. package/ts3.4/state/legacy-actions/createReceive.d.ts +14 -0
  299. package/ts3.4/state/legacy-actions/createReceiveError.d.ts +9 -0
  300. package/ts3.4/state/legacy-actions/index.d.ts +4 -0
  301. package/ts3.4/state/reducer/createReducer.d.ts +7 -0
  302. package/ts3.4/state/reducer/fetchReducer.d.ts +4 -0
  303. package/ts3.4/state/reducer/invalidateReducer.d.ts +37 -0
  304. package/ts3.4/state/reducer/setReducer.d.ts +40 -0
  305. package/ts3.4/state/reducerInstance.d.ts +7 -0
  306. package/ts3.4/state/selectMeta.d.ts +3 -0
  307. package/ts3.4/types.d.ts +73 -0
  308. package/typescript.svg +8 -0
@@ -0,0 +1,36 @@
1
+ import { SET_TYPE } from '../actionTypes.js';
2
+ export default function createReceive(endpoint, {
3
+ args,
4
+ fetchedAt,
5
+ response,
6
+ error = false
7
+ }) {
8
+ var _endpoint$errorExpiry, _endpoint$dataExpiryL;
9
+ const expiryLength = error ? (_endpoint$errorExpiry = endpoint.errorExpiryLength) != null ? _endpoint$errorExpiry : 1000 : (_endpoint$dataExpiryL = endpoint.dataExpiryLength) != null ? _endpoint$dataExpiryL : 60000;
10
+ /* istanbul ignore next */
11
+ if (process.env.NODE_ENV === 'development' && expiryLength < 0) {
12
+ throw new Error('Negative expiry length are not allowed.');
13
+ }
14
+ const now = Date.now();
15
+ const meta = {
16
+ args,
17
+ fetchedAt: fetchedAt != null ? fetchedAt : now,
18
+ date: now,
19
+ expiresAt: now + expiryLength,
20
+ // For legacy support; TODO: remove
21
+ schema: endpoint.schema,
22
+ key: endpoint.key(...args)
23
+ };
24
+ // For legacy support; TODO: remove
25
+ if (endpoint.update) meta.update = endpoint.update;
26
+ if (endpoint.errorPolicy) meta.errorPolicy = endpoint.errorPolicy;
27
+ const action = {
28
+ type: SET_TYPE,
29
+ payload: response,
30
+ endpoint: endpoint,
31
+ meta
32
+ };
33
+ if (error) action.error = true;
34
+ return action;
35
+ }
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRVRfVFlQRSIsImNyZWF0ZVJlY2VpdmUiLCJlbmRwb2ludCIsImFyZ3MiLCJmZXRjaGVkQXQiLCJyZXNwb25zZSIsImVycm9yIiwiX2VuZHBvaW50JGVycm9yRXhwaXJ5IiwiX2VuZHBvaW50JGRhdGFFeHBpcnlMIiwiZXhwaXJ5TGVuZ3RoIiwiZXJyb3JFeHBpcnlMZW5ndGgiLCJkYXRhRXhwaXJ5TGVuZ3RoIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiRXJyb3IiLCJub3ciLCJEYXRlIiwibWV0YSIsImRhdGUiLCJleHBpcmVzQXQiLCJzY2hlbWEiLCJrZXkiLCJ1cGRhdGUiLCJlcnJvclBvbGljeSIsImFjdGlvbiIsInR5cGUiLCJwYXlsb2FkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyb2xsZXIvY3JlYXRlUmVjZWl2ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVuZHBvaW50SW50ZXJmYWNlLCBSZXNvbHZlVHlwZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBTRVRfVFlQRSB9IGZyb20gJy4uL2FjdGlvblR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgQ29tcGF0aWJsZVJlY2VpdmVBY3Rpb24sXG4gIENvbXBhdGlibGVSZWNlaXZlTWV0YSxcbn0gZnJvbSAnLi4vY29tcGF0aWJsZUFjdGlvbnMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVSZWNlaXZlPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFPjtcbiAgfSxcbj4oXG4gIGVuZHBvaW50OiBFLFxuICBvcHRpb25zOiB7XG4gICAgYXJnczogcmVhZG9ubHkgWy4uLlBhcmFtZXRlcnM8RT5dO1xuICAgIHJlc3BvbnNlOiBFcnJvcjtcbiAgICBmZXRjaGVkQXQ/OiBudW1iZXI7XG4gICAgZXJyb3I6IHRydWU7XG4gIH0sXG4pOiBDb21wYXRpYmxlUmVjZWl2ZUFjdGlvbjxFPjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVjZWl2ZTxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT47XG4gIH0sXG4+KFxuICBlbmRwb2ludDogRSxcbiAgb3B0aW9uczoge1xuICAgIGFyZ3M6IHJlYWRvbmx5IFsuLi5QYXJhbWV0ZXJzPEU+XTtcbiAgICByZXNwb25zZTogUmVzb2x2ZVR5cGU8RT47XG4gICAgZmV0Y2hlZEF0PzogbnVtYmVyO1xuICAgIGVycm9yPzogZmFsc2U7XG4gIH0sXG4pOiBDb21wYXRpYmxlUmVjZWl2ZUFjdGlvbjxFPjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVjZWl2ZTxcbiAgRSBleHRlbmRzIEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RT47XG4gIH0sXG4+KFxuICBlbmRwb2ludDogRSxcbiAge1xuICAgIGFyZ3MsXG4gICAgZmV0Y2hlZEF0LFxuICAgIHJlc3BvbnNlLFxuICAgIGVycm9yID0gZmFsc2UsXG4gIH06IHtcbiAgICBhcmdzOiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl07XG4gICAgcmVzcG9uc2U6IGFueTtcbiAgICBmZXRjaGVkQXQ/OiBudW1iZXI7XG4gICAgZXJyb3I/OiBib29sZWFuO1xuICB9LFxuKTogQ29tcGF0aWJsZVJlY2VpdmVBY3Rpb248RT4ge1xuICBjb25zdCBleHBpcnlMZW5ndGg6IG51bWJlciA9IGVycm9yXG4gICAgPyBlbmRwb2ludC5lcnJvckV4cGlyeUxlbmd0aCA/PyAxMDAwXG4gICAgOiBlbmRwb2ludC5kYXRhRXhwaXJ5TGVuZ3RoID8/IDYwMDAwO1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgJiYgZXhwaXJ5TGVuZ3RoIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTmVnYXRpdmUgZXhwaXJ5IGxlbmd0aCBhcmUgbm90IGFsbG93ZWQuJyk7XG4gIH1cbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgbWV0YTogQ29tcGF0aWJsZVJlY2VpdmVNZXRhID0ge1xuICAgIGFyZ3MsXG4gICAgZmV0Y2hlZEF0OiBmZXRjaGVkQXQgPz8gbm93LFxuICAgIGRhdGU6IG5vdyxcbiAgICBleHBpcmVzQXQ6IG5vdyArIGV4cGlyeUxlbmd0aCxcbiAgICAvLyBGb3IgbGVnYWN5IHN1cHBvcnQ7IFRPRE86IHJlbW92ZVxuICAgIHNjaGVtYTogZW5kcG9pbnQuc2NoZW1hLFxuICAgIGtleTogZW5kcG9pbnQua2V5KC4uLmFyZ3MpLFxuICB9O1xuICAvLyBGb3IgbGVnYWN5IHN1cHBvcnQ7IFRPRE86IHJlbW92ZVxuICBpZiAoZW5kcG9pbnQudXBkYXRlKSBtZXRhLnVwZGF0ZSA9IGVuZHBvaW50LnVwZGF0ZTtcbiAgaWYgKGVuZHBvaW50LmVycm9yUG9saWN5KSBtZXRhLmVycm9yUG9saWN5ID0gZW5kcG9pbnQuZXJyb3JQb2xpY3k7XG5cbiAgY29uc3QgYWN0aW9uOiBDb21wYXRpYmxlUmVjZWl2ZUFjdGlvbjxFPiA9IHtcbiAgICB0eXBlOiBTRVRfVFlQRSxcbiAgICBwYXlsb2FkOiByZXNwb25zZSxcbiAgICBlbmRwb2ludDogZW5kcG9pbnQsXG4gICAgbWV0YSxcbiAgfTtcbiAgaWYgKGVycm9yKSAoYWN0aW9uIGFzIGFueSkuZXJyb3IgPSB0cnVlO1xuICByZXR1cm4gYWN0aW9uO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxRQUFRLFFBQVEsbUJBQW1CO0FBa0M1QyxlQUFlLFNBQVNDLGFBQWFBLENBS25DQyxRQUFXLEVBQ1g7RUFDRUMsSUFBSTtFQUNKQyxTQUFTO0VBQ1RDLFFBQVE7RUFDUkMsS0FBSyxHQUFHO0FBTVYsQ0FBQyxFQUMyQjtFQUFBLElBQUFDLHFCQUFBLEVBQUFDLHFCQUFBO0VBQzVCLE1BQU1DLFlBQW9CLEdBQUdILEtBQUssSUFBQUMscUJBQUEsR0FDOUJMLFFBQVEsQ0FBQ1EsaUJBQWlCLFlBQUFILHFCQUFBLEdBQUksSUFBSSxJQUFBQyxxQkFBQSxHQUNsQ04sUUFBUSxDQUFDUyxnQkFBZ0IsWUFBQUgscUJBQUEsR0FBSSxLQUFLO0VBQ3RDO0VBQ0EsSUFBSUksT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLElBQUlMLFlBQVksR0FBRyxDQUFDLEVBQUU7SUFDOUQsTUFBTSxJQUFJTSxLQUFLLENBQUMseUNBQXlDLENBQUM7RUFDNUQ7RUFDQSxNQUFNQyxHQUFHLEdBQUdDLElBQUksQ0FBQ0QsR0FBRyxDQUFDLENBQUM7RUFDdEIsTUFBTUUsSUFBMkIsR0FBRztJQUNsQ2YsSUFBSTtJQUNKQyxTQUFTLEVBQUVBLFNBQVMsV0FBVEEsU0FBUyxHQUFJWSxHQUFHO0lBQzNCRyxJQUFJLEVBQUVILEdBQUc7SUFDVEksU0FBUyxFQUFFSixHQUFHLEdBQUdQLFlBQVk7SUFDN0I7SUFDQVksTUFBTSxFQUFFbkIsUUFBUSxDQUFDbUIsTUFBTTtJQUN2QkMsR0FBRyxFQUFFcEIsUUFBUSxDQUFDb0IsR0FBRyxDQUFDLEdBQUduQixJQUFJO0VBQzNCLENBQUM7RUFDRDtFQUNBLElBQUlELFFBQVEsQ0FBQ3FCLE1BQU0sRUFBRUwsSUFBSSxDQUFDSyxNQUFNLEdBQUdyQixRQUFRLENBQUNxQixNQUFNO0VBQ2xELElBQUlyQixRQUFRLENBQUNzQixXQUFXLEVBQUVOLElBQUksQ0FBQ00sV0FBVyxHQUFHdEIsUUFBUSxDQUFDc0IsV0FBVztFQUVqRSxNQUFNQyxNQUFrQyxHQUFHO0lBQ3pDQyxJQUFJLEVBQUUxQixRQUFRO0lBQ2QyQixPQUFPLEVBQUV0QixRQUFRO0lBQ2pCSCxRQUFRLEVBQUVBLFFBQVE7SUFDbEJnQjtFQUNGLENBQUM7RUFDRCxJQUFJWixLQUFLLEVBQUdtQixNQUFNLENBQVNuQixLQUFLLEdBQUcsSUFBSTtFQUN2QyxPQUFPbUIsTUFBTTtBQUNmIn0=
@@ -0,0 +1,3 @@
1
+ import type { ResetAction } from '../newActions.js';
2
+ export default function createReset(): ResetAction;
3
+ //# sourceMappingURL=createReset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createReset.d.ts","sourceRoot":"","sources":["../../src/controller/createReset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,WAAW,IAAI,WAAW,CAKjD"}
@@ -0,0 +1,8 @@
1
+ import { RESET_TYPE } from '../actionTypes.js';
2
+ export default function createReset() {
3
+ return {
4
+ type: RESET_TYPE,
5
+ date: Date.now()
6
+ };
7
+ }
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSRVNFVF9UWVBFIiwiY3JlYXRlUmVzZXQiLCJ0eXBlIiwiZGF0ZSIsIkRhdGUiLCJub3ciXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJvbGxlci9jcmVhdGVSZXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSRVNFVF9UWVBFIH0gZnJvbSAnLi4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBSZXNldEFjdGlvbiB9IGZyb20gJy4uL25ld0FjdGlvbnMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVSZXNldCgpOiBSZXNldEFjdGlvbiB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogUkVTRVRfVFlQRSxcbiAgICBkYXRlOiBEYXRlLm5vdygpLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsbUJBQW1CO0FBRzlDLGVBQWUsU0FBU0MsV0FBV0EsQ0FBQSxFQUFnQjtFQUNqRCxPQUFPO0lBQ0xDLElBQUksRUFBRUYsVUFBVTtJQUNoQkcsSUFBSSxFQUFFQyxJQUFJLENBQUNDLEdBQUcsQ0FBQztFQUNqQixDQUFDO0FBQ0gifQ==
@@ -0,0 +1,9 @@
1
+ import type { EndpointInterface } from '@data-client/normalizr';
2
+ import type { CompatibleSubscribeAction, CompatibleUnsubscribeAction } from '../compatibleActions.js';
3
+ export declare function createSubscription<E extends EndpointInterface>(endpoint: E, { args }: {
4
+ args: readonly [...Parameters<E>];
5
+ }): CompatibleSubscribeAction<E>;
6
+ export declare function createUnsubscription<E extends EndpointInterface>(endpoint: E, { args }: {
7
+ args: readonly [...Parameters<E>];
8
+ }): CompatibleUnsubscribeAction<E>;
9
+ //# sourceMappingURL=createSubscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSubscription.d.ts","sourceRoot":"","sources":["../../src/controller/createSubscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,EAC5D,QAAQ,EAAE,CAAC,EACX,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,GAC9C,yBAAyB,CAAC,CAAC,CAAC,CAY9B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,iBAAiB,EAC9D,QAAQ,EAAE,CAAC,EACX,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,GAC9C,2BAA2B,CAAC,CAAC,CAAC,CAUhC"}
@@ -0,0 +1,30 @@
1
+ import { SUBSCRIBE_TYPE, UNSUBSCRIBE_TYPE } from '../actionTypes.js';
2
+ export function createSubscription(endpoint, {
3
+ args
4
+ }) {
5
+ return {
6
+ type: SUBSCRIBE_TYPE,
7
+ endpoint,
8
+ meta: {
9
+ args,
10
+ key: endpoint.key(...args),
11
+ fetch: () => endpoint(...args),
12
+ schema: endpoint.schema,
13
+ options: endpoint
14
+ }
15
+ };
16
+ }
17
+ export function createUnsubscription(endpoint, {
18
+ args
19
+ }) {
20
+ return {
21
+ type: UNSUBSCRIBE_TYPE,
22
+ endpoint,
23
+ meta: {
24
+ args,
25
+ key: endpoint.key(...args),
26
+ options: endpoint
27
+ }
28
+ };
29
+ }
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVUJTQ1JJQkVfVFlQRSIsIlVOU1VCU0NSSUJFX1RZUEUiLCJjcmVhdGVTdWJzY3JpcHRpb24iLCJlbmRwb2ludCIsImFyZ3MiLCJ0eXBlIiwibWV0YSIsImtleSIsImZldGNoIiwic2NoZW1hIiwib3B0aW9ucyIsImNyZWF0ZVVuc3Vic2NyaXB0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyb2xsZXIvY3JlYXRlU3Vic2NyaXB0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW5kcG9pbnRJbnRlcmZhY2UgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcblxuaW1wb3J0IHsgU1VCU0NSSUJFX1RZUEUsIFVOU1VCU0NSSUJFX1RZUEUgfSBmcm9tICcuLi9hY3Rpb25UeXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIENvbXBhdGlibGVTdWJzY3JpYmVBY3Rpb24sXG4gIENvbXBhdGlibGVVbnN1YnNjcmliZUFjdGlvbixcbn0gZnJvbSAnLi4vY29tcGF0aWJsZUFjdGlvbnMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3Vic2NyaXB0aW9uPEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZT4oXG4gIGVuZHBvaW50OiBFLFxuICB7IGFyZ3MgfTogeyBhcmdzOiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl0gfSxcbik6IENvbXBhdGlibGVTdWJzY3JpYmVBY3Rpb248RT4ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IFNVQlNDUklCRV9UWVBFLFxuICAgIGVuZHBvaW50LFxuICAgIG1ldGE6IHtcbiAgICAgIGFyZ3MsXG4gICAgICBrZXk6IGVuZHBvaW50LmtleSguLi5hcmdzKSxcbiAgICAgIGZldGNoOiAoKSA9PiBlbmRwb2ludCguLi5hcmdzKSxcbiAgICAgIHNjaGVtYTogZW5kcG9pbnQuc2NoZW1hLFxuICAgICAgb3B0aW9uczogZW5kcG9pbnQsXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVuc3Vic2NyaXB0aW9uPEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZT4oXG4gIGVuZHBvaW50OiBFLFxuICB7IGFyZ3MgfTogeyBhcmdzOiByZWFkb25seSBbLi4uUGFyYW1ldGVyczxFPl0gfSxcbik6IENvbXBhdGlibGVVbnN1YnNjcmliZUFjdGlvbjxFPiB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogVU5TVUJTQ1JJQkVfVFlQRSxcbiAgICBlbmRwb2ludCxcbiAgICBtZXRhOiB7XG4gICAgICBhcmdzLFxuICAgICAga2V5OiBlbmRwb2ludC5rZXkoLi4uYXJncyksXG4gICAgICBvcHRpb25zOiBlbmRwb2ludCxcbiAgICB9LFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxjQUFjLEVBQUVDLGdCQUFnQixRQUFRLG1CQUFtQjtBQU1wRSxPQUFPLFNBQVNDLGtCQUFrQkEsQ0FDaENDLFFBQVcsRUFDWDtFQUFFQztBQUE0QyxDQUFDLEVBQ2pCO0VBQzlCLE9BQU87SUFDTEMsSUFBSSxFQUFFTCxjQUFjO0lBQ3BCRyxRQUFRO0lBQ1JHLElBQUksRUFBRTtNQUNKRixJQUFJO01BQ0pHLEdBQUcsRUFBRUosUUFBUSxDQUFDSSxHQUFHLENBQUMsR0FBR0gsSUFBSSxDQUFDO01BQzFCSSxLQUFLLEVBQUVBLENBQUEsS0FBTUwsUUFBUSxDQUFDLEdBQUdDLElBQUksQ0FBQztNQUM5QkssTUFBTSxFQUFFTixRQUFRLENBQUNNLE1BQU07TUFDdkJDLE9BQU8sRUFBRVA7SUFDWDtFQUNGLENBQUM7QUFDSDtBQUVBLE9BQU8sU0FBU1Esb0JBQW9CQSxDQUNsQ1IsUUFBVyxFQUNYO0VBQUVDO0FBQTRDLENBQUMsRUFDZjtFQUNoQyxPQUFPO0lBQ0xDLElBQUksRUFBRUosZ0JBQWdCO0lBQ3RCRSxRQUFRO0lBQ1JHLElBQUksRUFBRTtNQUNKRixJQUFJO01BQ0pHLEdBQUcsRUFBRUosUUFBUSxDQUFDSSxHQUFHLENBQUMsR0FBR0gsSUFBSSxDQUFDO01BQzFCTSxPQUFPLEVBQUVQO0lBQ1g7RUFDRixDQUFDO0FBQ0gifQ==
@@ -0,0 +1,6 @@
1
+ import type { Normalize, EndpointInterface, ResolveType } from '@data-client/normalizr';
2
+ export type ResultEntry<E extends EndpointInterface> = E['schema'] extends undefined | null ? ResolveType<E> : Normalize<E['schema']>;
3
+ export type EndpointUpdateFunction<Source extends EndpointInterface, Updaters extends Record<string, any> = Record<string, any>> = (source: ResultEntry<Source>, ...args: any) => {
4
+ [K in keyof Updaters]: (result: Updaters[K]) => Updaters[K];
5
+ };
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/controller/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAC9D,SAAS,GACT,IAAI,GACJ,WAAW,CAAC,CAAC,CAAC,GACd,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE3B,MAAM,MAAM,sBAAsB,CAChC,MAAM,SAAS,iBAAiB,EAChC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACxD,CACF,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAE3B,GAAG,IAAI,EAAE,GAAG,KACT;KACF,CAAC,IAAI,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;CAC5D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyb2xsZXIvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBOb3JtYWxpemUsXG4gIEVuZHBvaW50SW50ZXJmYWNlLFxuICBSZXNvbHZlVHlwZSxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbmV4cG9ydCB0eXBlIFJlc3VsdEVudHJ5PEUgZXh0ZW5kcyBFbmRwb2ludEludGVyZmFjZT4gPSBFWydzY2hlbWEnXSBleHRlbmRzXG4gIHwgdW5kZWZpbmVkXG4gIHwgbnVsbFxuICA/IFJlc29sdmVUeXBlPEU+XG4gIDogTm9ybWFsaXplPEVbJ3NjaGVtYSddPjtcblxuZXhwb3J0IHR5cGUgRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxcbiAgU291cmNlIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UsXG4gIFVwZGF0ZXJzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IFJlY29yZDxzdHJpbmcsIGFueT4sXG4+ID0gKFxuICBzb3VyY2U6IFJlc3VsdEVudHJ5PFNvdXJjZT4sXG4gIC8vIHRoaXMgaXMgaG9wZWxlc3MgYmVjYXVzZSB0eXBlc2NyaXB0IGRvZXNuJ3QgdGhpbmsgaXQgc2hvdWxkIGJlIGNvbnRyYXZhcmlhbnRcbiAgLi4uYXJnczogYW55XG4pID0+IHtcbiAgW0sgaW4ga2V5b2YgVXBkYXRlcnNdOiAocmVzdWx0OiBVcGRhdGVyc1tLXSkgPT4gVXBkYXRlcnNbS107XG59O1xuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,3 @@
1
+ export type { FetchShape, ReadShape, MutateShape, DeleteShape, } from './shapes.js';
2
+ export type { SetShapeParams, ParamsFromShape, OptimisticUpdateParams, SchemaFromShape, BodyFromShape, ReturnFromShape, } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/endpoint/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VuZHBvaW50L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHtcbiAgRmV0Y2hTaGFwZSxcbiAgUmVhZFNoYXBlLFxuICBNdXRhdGVTaGFwZSxcbiAgRGVsZXRlU2hhcGUsXG59IGZyb20gJy4vc2hhcGVzLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgU2V0U2hhcGVQYXJhbXMsXG4gIFBhcmFtc0Zyb21TaGFwZSxcbiAgT3B0aW1pc3RpY1VwZGF0ZVBhcmFtcyxcbiAgU2NoZW1hRnJvbVNoYXBlLFxuICBCb2R5RnJvbVNoYXBlLFxuICBSZXR1cm5Gcm9tU2hhcGUsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,25 @@
1
+ import { Schema, EndpointExtraOptions as FetchOptions } from '@data-client/normalizr';
2
+ /** Defines the shape of a network request */
3
+ export interface FetchShape<S extends Schema | undefined, Params extends Readonly<object> = Readonly<object>, Body extends Readonly<object | string> | void | unknown = Readonly<object | string> | undefined, Response = any> {
4
+ readonly type: 'read' | 'mutate' | 'delete';
5
+ fetch(params: Params, body?: Body): Promise<Response>;
6
+ getFetchKey(params: Params): string;
7
+ readonly schema: S;
8
+ readonly options?: FetchOptions;
9
+ }
10
+ /** To change values on the server */
11
+ export interface MutateShape<S extends Schema | undefined, Params extends Readonly<object> = Readonly<object>, Body extends Readonly<object | string> | void | unknown = Readonly<object | string> | undefined, Response extends object | string | number | boolean | null = any> extends FetchShape<S, Params, Body, Response> {
12
+ readonly type: 'mutate';
13
+ fetch(params: Params, body: Body): Promise<Response>;
14
+ }
15
+ /** Removes entities */
16
+ export interface DeleteShape<S extends Schema | undefined, Params extends Readonly<object> = Readonly<object>, Response extends object | string | number | boolean | null = any> extends FetchShape<S, Params, undefined, Response> {
17
+ readonly type: 'mutate';
18
+ fetch(params: Params, ...args: any): Promise<Response>;
19
+ }
20
+ /** For retrieval requests */
21
+ export interface ReadShape<S extends Schema | undefined, Params extends Readonly<object> = Readonly<object>, Response extends object | string | number | boolean | null = any> extends FetchShape<S, Params, undefined, Response> {
22
+ readonly type: 'read';
23
+ fetch(params: Params): Promise<Response>;
24
+ }
25
+ //# sourceMappingURL=shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../src/endpoint/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,oBAAoB,IAAI,YAAY,EACrC,MAAM,wBAAwB,CAAC;AAEhC,6CAA6C;AAC7C,MAAM,WAAW,UAAU,CACzB,CAAC,SAAS,MAAM,GAAG,SAAS,EAC5B,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAClD,IAAI,SAAS,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,GACnD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GACzB,SAAS,EACb,QAAQ,GAAG,GAAG;IAEd,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,GAAG,SAAS,EAC5B,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAClD,IAAI,SAAS,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,GACnD,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GACzB,SAAS,EACb,QAAQ,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,CAChE,SAAQ,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtD;AAED,uBAAuB;AACvB,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,GAAG,SAAS,EAC5B,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAClD,QAAQ,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,CAChE,SAAQ,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxD;AAED,6BAA6B;AAC7B,MAAM,WAAW,SAAS,CACxB,CAAC,SAAS,MAAM,GAAG,SAAS,EAC5B,MAAM,SAAS,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAClD,QAAQ,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,CAChE,SAAQ,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VuZHBvaW50L3NoYXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTY2hlbWEsXG4gIEVuZHBvaW50RXh0cmFPcHRpb25zIGFzIEZldGNoT3B0aW9ucyxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L25vcm1hbGl6cic7XG5cbi8qKiBEZWZpbmVzIHRoZSBzaGFwZSBvZiBhIG5ldHdvcmsgcmVxdWVzdCAqL1xuZXhwb3J0IGludGVyZmFjZSBGZXRjaFNoYXBlPFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBQYXJhbXMgZXh0ZW5kcyBSZWFkb25seTxvYmplY3Q+ID0gUmVhZG9ubHk8b2JqZWN0PixcbiAgQm9keSBleHRlbmRzIFJlYWRvbmx5PG9iamVjdCB8IHN0cmluZz4gfCB2b2lkIHwgdW5rbm93biA9XG4gICAgfCBSZWFkb25seTxvYmplY3QgfCBzdHJpbmc+XG4gICAgfCB1bmRlZmluZWQsXG4gIFJlc3BvbnNlID0gYW55LFxuPiB7XG4gIHJlYWRvbmx5IHR5cGU6ICdyZWFkJyB8ICdtdXRhdGUnIHwgJ2RlbGV0ZSc7XG4gIGZldGNoKHBhcmFtczogUGFyYW1zLCBib2R5PzogQm9keSk6IFByb21pc2U8UmVzcG9uc2U+O1xuICBnZXRGZXRjaEtleShwYXJhbXM6IFBhcmFtcyk6IHN0cmluZztcbiAgcmVhZG9ubHkgc2NoZW1hOiBTO1xuICByZWFkb25seSBvcHRpb25zPzogRmV0Y2hPcHRpb25zO1xufVxuXG4vKiogVG8gY2hhbmdlIHZhbHVlcyBvbiB0aGUgc2VydmVyICovXG5leHBvcnQgaW50ZXJmYWNlIE11dGF0ZVNoYXBlPFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBQYXJhbXMgZXh0ZW5kcyBSZWFkb25seTxvYmplY3Q+ID0gUmVhZG9ubHk8b2JqZWN0PixcbiAgQm9keSBleHRlbmRzIFJlYWRvbmx5PG9iamVjdCB8IHN0cmluZz4gfCB2b2lkIHwgdW5rbm93biA9XG4gICAgfCBSZWFkb25seTxvYmplY3QgfCBzdHJpbmc+XG4gICAgfCB1bmRlZmluZWQsXG4gIFJlc3BvbnNlIGV4dGVuZHMgb2JqZWN0IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgPSBhbnksXG4+IGV4dGVuZHMgRmV0Y2hTaGFwZTxTLCBQYXJhbXMsIEJvZHksIFJlc3BvbnNlPiB7XG4gIHJlYWRvbmx5IHR5cGU6ICdtdXRhdGUnO1xuICBmZXRjaChwYXJhbXM6IFBhcmFtcywgYm9keTogQm9keSk6IFByb21pc2U8UmVzcG9uc2U+O1xufVxuXG4vKiogUmVtb3ZlcyBlbnRpdGllcyAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxldGVTaGFwZTxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCxcbiAgUGFyYW1zIGV4dGVuZHMgUmVhZG9ubHk8b2JqZWN0PiA9IFJlYWRvbmx5PG9iamVjdD4sXG4gIFJlc3BvbnNlIGV4dGVuZHMgb2JqZWN0IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgPSBhbnksXG4+IGV4dGVuZHMgRmV0Y2hTaGFwZTxTLCBQYXJhbXMsIHVuZGVmaW5lZCwgUmVzcG9uc2U+IHtcbiAgcmVhZG9ubHkgdHlwZTogJ211dGF0ZSc7XG4gIGZldGNoKHBhcmFtczogUGFyYW1zLCAuLi5hcmdzOiBhbnkpOiBQcm9taXNlPFJlc3BvbnNlPjtcbn1cblxuLyoqIEZvciByZXRyaWV2YWwgcmVxdWVzdHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFNoYXBlPFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBQYXJhbXMgZXh0ZW5kcyBSZWFkb25seTxvYmplY3Q+ID0gUmVhZG9ubHk8b2JqZWN0PixcbiAgUmVzcG9uc2UgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCA9IGFueSxcbj4gZXh0ZW5kcyBGZXRjaFNoYXBlPFMsIFBhcmFtcywgdW5kZWZpbmVkLCBSZXNwb25zZT4ge1xuICByZWFkb25seSB0eXBlOiAncmVhZCc7XG4gIGZldGNoKHBhcmFtczogUGFyYW1zKTogUHJvbWlzZTxSZXNwb25zZT47XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,45 @@
1
+ import { Schema } from '@data-client/normalizr';
2
+ import type { Denormalize } from '@data-client/normalizr';
3
+ import { FetchShape } from './shapes.js';
4
+ import { UpdateFunction } from '../types.js';
5
+ export type ResultShape<RS> = RS extends {
6
+ schema: infer U;
7
+ } ? U : never;
8
+ export type SelectReturn<RS> = RS extends {
9
+ select: (...args: any[]) => infer U;
10
+ } ? U : never;
11
+ export type AlwaysSelect<RS> = NonNullable<SelectReturn<RS>>;
12
+ export type ParamArg<RS> = RS extends {
13
+ getFetchKey: (params: infer U) => any;
14
+ } ? U : never;
15
+ export type BodyArg<RS> = RS extends {
16
+ fetch: (url: any, body: infer U) => any;
17
+ } ? U : never;
18
+ /** Sets a FetchShape's Param type.
19
+ * Useful to constrain acceptable params (second arg) in hooks like useResource().
20
+ *
21
+ * @param [Shape] FetchShape to act upon
22
+ * @param [Params] what to set the Params to
23
+ */
24
+ export type SetShapeParams<Shape extends FetchShape<any, any, any>, Params extends Readonly<object>> = {
25
+ [K in keyof Shape]: Shape[K];
26
+ } & (Shape['fetch'] extends (first: any, ...rest: infer Args) => infer Return ? {
27
+ fetch: (first: Params, ...rest: Args) => Return;
28
+ } : never);
29
+ /** Get the Params type for a given Shape */
30
+ export type ParamsFromShape<S> = S extends {
31
+ fetch: (first: infer A, ...rest: any) => any;
32
+ } ? A : S extends {
33
+ getFetchKey: (first: infer A, ...rest: any) => any;
34
+ } ? A : never;
35
+ /** Get the Schema type for a given Shape */
36
+ export type SchemaFromShape<F extends FetchShape<Schema | undefined, any, any>> = F['schema'];
37
+ /** Get the Body type for a given Shape */
38
+ export type BodyFromShape<F extends FetchShape<any, any, any>> = Parameters<F['fetch']>[1];
39
+ export type OptimisticUpdateParams<SourceSchema extends Schema | undefined, DestShape extends FetchShape<any, any, any>> = [
40
+ DestShape,
41
+ ParamsFromShape<DestShape>,
42
+ UpdateFunction<SourceSchema, SchemaFromShape<DestShape>>
43
+ ];
44
+ export type ReturnFromShape<S extends FetchShape<any, any, any>> = ReturnType<S['fetch']> extends unknown ? Promise<Denormalize<S['schema']>> : ReturnType<S['fetch']>;
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/endpoint/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VuZHBvaW50L3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuaW1wb3J0IHR5cGUgeyBEZW5vcm1hbGl6ZSB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuXG5pbXBvcnQgeyBGZXRjaFNoYXBlIH0gZnJvbSAnLi9zaGFwZXMuanMnO1xuaW1wb3J0IHsgVXBkYXRlRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIFJlc3VsdFNoYXBlPFJTPiA9IFJTIGV4dGVuZHMgeyBzY2hlbWE6IGluZmVyIFUgfSA/IFUgOiBuZXZlcjtcbmV4cG9ydCB0eXBlIFNlbGVjdFJldHVybjxSUz4gPSBSUyBleHRlbmRzIHtcbiAgc2VsZWN0OiAoLi4uYXJnczogYW55W10pID0+IGluZmVyIFU7XG59XG4gID8gVVxuICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgQWx3YXlzU2VsZWN0PFJTPiA9IE5vbk51bGxhYmxlPFNlbGVjdFJldHVybjxSUz4+O1xuZXhwb3J0IHR5cGUgUGFyYW1Bcmc8UlM+ID0gUlMgZXh0ZW5kcyB7XG4gIGdldEZldGNoS2V5OiAocGFyYW1zOiBpbmZlciBVKSA9PiBhbnk7XG59XG4gID8gVVxuICA6IG5ldmVyO1xuZXhwb3J0IHR5cGUgQm9keUFyZzxSUz4gPSBSUyBleHRlbmRzIHtcbiAgZmV0Y2g6ICh1cmw6IGFueSwgYm9keTogaW5mZXIgVSkgPT4gYW55O1xufVxuICA/IFVcbiAgOiBuZXZlcjtcblxuLyoqIFNldHMgYSBGZXRjaFNoYXBlJ3MgUGFyYW0gdHlwZS5cbiAqIFVzZWZ1bCB0byBjb25zdHJhaW4gYWNjZXB0YWJsZSBwYXJhbXMgKHNlY29uZCBhcmcpIGluIGhvb2tzIGxpa2UgdXNlUmVzb3VyY2UoKS5cbiAqXG4gKiBAcGFyYW0gW1NoYXBlXSBGZXRjaFNoYXBlIHRvIGFjdCB1cG9uXG4gKiBAcGFyYW0gW1BhcmFtc10gd2hhdCB0byBzZXQgdGhlIFBhcmFtcyB0b1xuICovXG5leHBvcnQgdHlwZSBTZXRTaGFwZVBhcmFtczxcbiAgU2hhcGUgZXh0ZW5kcyBGZXRjaFNoYXBlPGFueSwgYW55LCBhbnk+LFxuICBQYXJhbXMgZXh0ZW5kcyBSZWFkb25seTxvYmplY3Q+LFxuPiA9IHtcbiAgW0sgaW4ga2V5b2YgU2hhcGVdOiBTaGFwZVtLXTtcbn0gJiAoU2hhcGVbJ2ZldGNoJ10gZXh0ZW5kcyAoZmlyc3Q6IGFueSwgLi4ucmVzdDogaW5mZXIgQXJncykgPT4gaW5mZXIgUmV0dXJuXG4gID8geyBmZXRjaDogKGZpcnN0OiBQYXJhbXMsIC4uLnJlc3Q6IEFyZ3MpID0+IFJldHVybiB9XG4gIDogbmV2ZXIpO1xuXG4vKiogR2V0IHRoZSBQYXJhbXMgdHlwZSBmb3IgYSBnaXZlbiBTaGFwZSAqL1xuZXhwb3J0IHR5cGUgUGFyYW1zRnJvbVNoYXBlPFM+ID0gUyBleHRlbmRzIHtcbiAgZmV0Y2g6IChmaXJzdDogaW5mZXIgQSwgLi4ucmVzdDogYW55KSA9PiBhbnk7XG59XG4gID8gQVxuICA6IFMgZXh0ZW5kcyB7IGdldEZldGNoS2V5OiAoZmlyc3Q6IGluZmVyIEEsIC4uLnJlc3Q6IGFueSkgPT4gYW55IH1cbiAgPyBBXG4gIDogbmV2ZXI7XG5cbi8qKiBHZXQgdGhlIFNjaGVtYSB0eXBlIGZvciBhIGdpdmVuIFNoYXBlICovXG5leHBvcnQgdHlwZSBTY2hlbWFGcm9tU2hhcGU8XG4gIEYgZXh0ZW5kcyBGZXRjaFNoYXBlPFNjaGVtYSB8IHVuZGVmaW5lZCwgYW55LCBhbnk+LFxuPiA9IEZbJ3NjaGVtYSddO1xuXG4vKiogR2V0IHRoZSBCb2R5IHR5cGUgZm9yIGEgZ2l2ZW4gU2hhcGUgKi9cbmV4cG9ydCB0eXBlIEJvZHlGcm9tU2hhcGU8RiBleHRlbmRzIEZldGNoU2hhcGU8YW55LCBhbnksIGFueT4+ID0gUGFyYW1ldGVyczxcbiAgRlsnZmV0Y2gnXVxuPlsxXTtcblxuZXhwb3J0IHR5cGUgT3B0aW1pc3RpY1VwZGF0ZVBhcmFtczxcbiAgU291cmNlU2NoZW1hIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBEZXN0U2hhcGUgZXh0ZW5kcyBGZXRjaFNoYXBlPGFueSwgYW55LCBhbnk+LFxuPiA9IFtcbiAgRGVzdFNoYXBlLFxuICBQYXJhbXNGcm9tU2hhcGU8RGVzdFNoYXBlPixcbiAgVXBkYXRlRnVuY3Rpb248U291cmNlU2NoZW1hLCBTY2hlbWFGcm9tU2hhcGU8RGVzdFNoYXBlPj4sXG5dO1xuXG5leHBvcnQgdHlwZSBSZXR1cm5Gcm9tU2hhcGU8UyBleHRlbmRzIEZldGNoU2hhcGU8YW55LCBhbnksIGFueT4+ID0gUmV0dXJuVHlwZTxcbiAgU1snZmV0Y2gnXVxuPiBleHRlbmRzIHVua25vd25cbiAgPyBQcm9taXNlPERlbm9ybWFsaXplPFNbJ3NjaGVtYSddPj5cbiAgOiBSZXR1cm5UeXBlPFNbJ2ZldGNoJ10+O1xuIl0sIm1hcHBpbmdzIjoiIn0=
package/lib/fsa.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ import { ErrorFluxStandardActionWithPayloadAndMeta, ErrorFluxStandardActionWithPayload, FSA } from 'flux-standard-action';
2
+ export type ErrorableFSAWithPayloadAndMeta<Type extends string = string, Payload = undefined, Meta = undefined, CustomError extends Error = Error> = ErrorFluxStandardActionWithPayloadAndMeta<Type, CustomError, Meta> | NoErrorFluxStandardActionWithPayloadAndMeta<Type, Payload, Meta>;
3
+ export type ErrorableFSAWithMeta<Type extends string = string, Payload = undefined, Meta = undefined, CustomError extends Error = Error> = ErrorFluxStandardActionWithPayloadAndMeta<Type, CustomError, Meta> | NoErrorFluxStandardActionWithMeta<Type, Payload, Meta>;
4
+ export type ErrorableFSAWithPayload<Type extends string = string, Payload = undefined, Meta = undefined, CustomError extends Error = Error> = ErrorFluxStandardActionWithPayload<Type, CustomError, Meta> | NoErrorFluxStandardActionWithPayload<Type, Payload, Meta>;
5
+ export interface NoErrorFluxStandardAction<Type extends string = string, Payload = undefined, Meta = undefined> extends FSA<Type, Payload, Meta> {
6
+ error?: false;
7
+ }
8
+ /**
9
+ * A Flux Standard action with a required payload property.
10
+ */
11
+ export interface NoErrorFluxStandardActionWithPayload<Type extends string = string, Payload = undefined, Meta = undefined> extends NoErrorFluxStandardAction<Type, Payload, Meta> {
12
+ /**
13
+ * The required `payload` property MAY be any type of value.
14
+ * It represents the payload of the action.
15
+ * Any information about the action that is not the type or status of the action should be part of the `payload` field.
16
+ * By convention, if `error` is `true`, the `payload` SHOULD be an error object.
17
+ * This is akin to rejecting a promise with an error object.
18
+ */
19
+ payload: Payload;
20
+ }
21
+ /**
22
+ * A Flux Standard action with a required metadata property.
23
+ */
24
+ export interface NoErrorFluxStandardActionWithMeta<Type extends string = string, Payload = undefined, Meta = undefined> extends NoErrorFluxStandardAction<Type, Payload, Meta> {
25
+ /**
26
+ * The required `meta` property MAY be any type of value.
27
+ * It is intended for any extra information that is not part of the payload.
28
+ */
29
+ meta: Meta;
30
+ }
31
+ /**
32
+ * A Flux Standard action with required payload and metadata properties.
33
+ */
34
+ export type NoErrorFluxStandardActionWithPayloadAndMeta<Type extends string = string, Payload = undefined, Meta = undefined> = NoErrorFluxStandardActionWithPayload<Type, Payload, Meta> & NoErrorFluxStandardActionWithMeta<Type, Payload, Meta>;
35
+ /**
36
+ * A Flux Standard action with inferred requirements for the payload and metadata properties.
37
+ * The `payload` and `meta` properties will be required if the corresponding type argument
38
+ * if not the `undefined` type.
39
+ */
40
+ export type NoErrorFluxStandardActionAuto<Type extends string = string, Payload = undefined, Meta = undefined> = Payload extends undefined ? Meta extends undefined ? NoErrorFluxStandardAction<Type, Payload, Meta> : NoErrorFluxStandardActionWithMeta<Type, Payload, Meta> : Meta extends undefined ? NoErrorFluxStandardActionWithPayload<Type, Payload, Meta> : NoErrorFluxStandardActionWithPayloadAndMeta<Type, Payload, Meta>;
41
+ //# sourceMappingURL=fsa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fsa.d.ts","sourceRoot":"","sources":["../src/fsa.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yCAAyC,EACzC,kCAAkC,EAClC,GAAG,EACJ,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,8BAA8B,CACxC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,WAAW,SAAS,KAAK,GAAG,KAAK,IAE/B,yCAAyC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,GAClE,2CAA2C,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAErE,MAAM,MAAM,oBAAoB,CAC9B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,WAAW,SAAS,KAAK,GAAG,KAAK,IAE/B,yCAAyC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,GAClE,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAE3D,MAAM,MAAM,uBAAuB,CACjC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,WAAW,SAAS,KAAK,GAAG,KAAK,IAE/B,kCAAkC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,GAC3D,oCAAoC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAE9D,MAAM,WAAW,yBAAyB,CACxC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,CAChB,SAAQ,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC,CACnD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,CAChB,SAAQ,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;IACtD;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC,CAChD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,CAChB,SAAQ,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC;IACtD;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ;AACD;;GAEG;AACH,MAAM,MAAM,2CAA2C,CACrD,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,IACd,oCAAoC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAC3D,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,CACvC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,IACd,OAAO,SAAS,SAAS,GACzB,IAAI,SAAS,SAAS,GACpB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAC9C,iCAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GACxD,IAAI,SAAS,SAAS,GACtB,oCAAoC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GACzD,2CAA2C,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC"}
package/lib/fsa.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2ZzYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFcnJvckZsdXhTdGFuZGFyZEFjdGlvbldpdGhQYXlsb2FkQW5kTWV0YSxcbiAgRXJyb3JGbHV4U3RhbmRhcmRBY3Rpb25XaXRoUGF5bG9hZCxcbiAgRlNBLFxufSBmcm9tICdmbHV4LXN0YW5kYXJkLWFjdGlvbic7XG5cbmV4cG9ydCB0eXBlIEVycm9yYWJsZUZTQVdpdGhQYXlsb2FkQW5kTWV0YTxcbiAgVHlwZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbiAgUGF5bG9hZCA9IHVuZGVmaW5lZCxcbiAgTWV0YSA9IHVuZGVmaW5lZCxcbiAgQ3VzdG9tRXJyb3IgZXh0ZW5kcyBFcnJvciA9IEVycm9yLFxuPiA9XG4gIHwgRXJyb3JGbHV4U3RhbmRhcmRBY3Rpb25XaXRoUGF5bG9hZEFuZE1ldGE8VHlwZSwgQ3VzdG9tRXJyb3IsIE1ldGE+XG4gIHwgTm9FcnJvckZsdXhTdGFuZGFyZEFjdGlvbldpdGhQYXlsb2FkQW5kTWV0YTxUeXBlLCBQYXlsb2FkLCBNZXRhPjtcblxuZXhwb3J0IHR5cGUgRXJyb3JhYmxlRlNBV2l0aE1ldGE8XG4gIFR5cGUgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFBheWxvYWQgPSB1bmRlZmluZWQsXG4gIE1ldGEgPSB1bmRlZmluZWQsXG4gIEN1c3RvbUVycm9yIGV4dGVuZHMgRXJyb3IgPSBFcnJvcixcbj4gPVxuICB8IEVycm9yRmx1eFN0YW5kYXJkQWN0aW9uV2l0aFBheWxvYWRBbmRNZXRhPFR5cGUsIEN1c3RvbUVycm9yLCBNZXRhPlxuICB8IE5vRXJyb3JGbHV4U3RhbmRhcmRBY3Rpb25XaXRoTWV0YTxUeXBlLCBQYXlsb2FkLCBNZXRhPjtcblxuZXhwb3J0IHR5cGUgRXJyb3JhYmxlRlNBV2l0aFBheWxvYWQ8XG4gIFR5cGUgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFBheWxvYWQgPSB1bmRlZmluZWQsXG4gIE1ldGEgPSB1bmRlZmluZWQsXG4gIEN1c3RvbUVycm9yIGV4dGVuZHMgRXJyb3IgPSBFcnJvcixcbj4gPVxuICB8IEVycm9yRmx1eFN0YW5kYXJkQWN0aW9uV2l0aFBheWxvYWQ8VHlwZSwgQ3VzdG9tRXJyb3IsIE1ldGE+XG4gIHwgTm9FcnJvckZsdXhTdGFuZGFyZEFjdGlvbldpdGhQYXlsb2FkPFR5cGUsIFBheWxvYWQsIE1ldGE+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vRXJyb3JGbHV4U3RhbmRhcmRBY3Rpb248XG4gIFR5cGUgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFBheWxvYWQgPSB1bmRlZmluZWQsXG4gIE1ldGEgPSB1bmRlZmluZWQsXG4+IGV4dGVuZHMgRlNBPFR5cGUsIFBheWxvYWQsIE1ldGE+IHtcbiAgZXJyb3I/OiBmYWxzZTtcbn1cblxuLyoqXG4gKiBBIEZsdXggU3RhbmRhcmQgYWN0aW9uIHdpdGggYSByZXF1aXJlZCBwYXlsb2FkIHByb3BlcnR5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vRXJyb3JGbHV4U3RhbmRhcmRBY3Rpb25XaXRoUGF5bG9hZDxcbiAgVHlwZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbiAgUGF5bG9hZCA9IHVuZGVmaW5lZCxcbiAgTWV0YSA9IHVuZGVmaW5lZCxcbj4gZXh0ZW5kcyBOb0Vycm9yRmx1eFN0YW5kYXJkQWN0aW9uPFR5cGUsIFBheWxvYWQsIE1ldGE+IHtcbiAgLyoqXG4gICAqIFRoZSByZXF1aXJlZCBgcGF5bG9hZGAgcHJvcGVydHkgTUFZIGJlIGFueSB0eXBlIG9mIHZhbHVlLlxuICAgKiBJdCByZXByZXNlbnRzIHRoZSBwYXlsb2FkIG9mIHRoZSBhY3Rpb24uXG4gICAqIEFueSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYWN0aW9uIHRoYXQgaXMgbm90IHRoZSB0eXBlIG9yIHN0YXR1cyBvZiB0aGUgYWN0aW9uIHNob3VsZCBiZSBwYXJ0IG9mIHRoZSBgcGF5bG9hZGAgZmllbGQuXG4gICAqIEJ5IGNvbnZlbnRpb24sIGlmIGBlcnJvcmAgaXMgYHRydWVgLCB0aGUgYHBheWxvYWRgIFNIT1VMRCBiZSBhbiBlcnJvciBvYmplY3QuXG4gICAqIFRoaXMgaXMgYWtpbiB0byByZWplY3RpbmcgYSBwcm9taXNlIHdpdGggYW4gZXJyb3Igb2JqZWN0LlxuICAgKi9cbiAgcGF5bG9hZDogUGF5bG9hZDtcbn1cblxuLyoqXG4gKiBBIEZsdXggU3RhbmRhcmQgYWN0aW9uIHdpdGggYSByZXF1aXJlZCBtZXRhZGF0YSBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOb0Vycm9yRmx1eFN0YW5kYXJkQWN0aW9uV2l0aE1ldGE8XG4gIFR5cGUgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFBheWxvYWQgPSB1bmRlZmluZWQsXG4gIE1ldGEgPSB1bmRlZmluZWQsXG4+IGV4dGVuZHMgTm9FcnJvckZsdXhTdGFuZGFyZEFjdGlvbjxUeXBlLCBQYXlsb2FkLCBNZXRhPiB7XG4gIC8qKlxuICAgKiBUaGUgcmVxdWlyZWQgYG1ldGFgIHByb3BlcnR5IE1BWSBiZSBhbnkgdHlwZSBvZiB2YWx1ZS5cbiAgICogSXQgaXMgaW50ZW5kZWQgZm9yIGFueSBleHRyYSBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBwYXlsb2FkLlxuICAgKi9cbiAgbWV0YTogTWV0YTtcbn1cbi8qKlxuICogQSBGbHV4IFN0YW5kYXJkIGFjdGlvbiB3aXRoIHJlcXVpcmVkIHBheWxvYWQgYW5kIG1ldGFkYXRhIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCB0eXBlIE5vRXJyb3JGbHV4U3RhbmRhcmRBY3Rpb25XaXRoUGF5bG9hZEFuZE1ldGE8XG4gIFR5cGUgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmcsXG4gIFBheWxvYWQgPSB1bmRlZmluZWQsXG4gIE1ldGEgPSB1bmRlZmluZWQsXG4+ID0gTm9FcnJvckZsdXhTdGFuZGFyZEFjdGlvbldpdGhQYXlsb2FkPFR5cGUsIFBheWxvYWQsIE1ldGE+ICZcbiAgTm9FcnJvckZsdXhTdGFuZGFyZEFjdGlvbldpdGhNZXRhPFR5cGUsIFBheWxvYWQsIE1ldGE+O1xuXG4vKipcbiAqIEEgRmx1eCBTdGFuZGFyZCBhY3Rpb24gd2l0aCBpbmZlcnJlZCByZXF1aXJlbWVudHMgZm9yIHRoZSBwYXlsb2FkIGFuZCBtZXRhZGF0YSBwcm9wZXJ0aWVzLlxuICogVGhlIGBwYXlsb2FkYCBhbmQgYG1ldGFgIHByb3BlcnRpZXMgd2lsbCBiZSByZXF1aXJlZCBpZiB0aGUgY29ycmVzcG9uZGluZyB0eXBlIGFyZ3VtZW50XG4gKiBpZiBub3QgdGhlIGB1bmRlZmluZWRgIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIE5vRXJyb3JGbHV4U3RhbmRhcmRBY3Rpb25BdXRvPFxuICBUeXBlIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxuICBQYXlsb2FkID0gdW5kZWZpbmVkLFxuICBNZXRhID0gdW5kZWZpbmVkLFxuPiA9IFBheWxvYWQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgPyBNZXRhIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgPyBOb0Vycm9yRmx1eFN0YW5kYXJkQWN0aW9uPFR5cGUsIFBheWxvYWQsIE1ldGE+XG4gICAgOiBOb0Vycm9yRmx1eFN0YW5kYXJkQWN0aW9uV2l0aE1ldGE8VHlwZSwgUGF5bG9hZCwgTWV0YT5cbiAgOiBNZXRhIGV4dGVuZHMgdW5kZWZpbmVkXG4gID8gTm9FcnJvckZsdXhTdGFuZGFyZEFjdGlvbldpdGhQYXlsb2FkPFR5cGUsIFBheWxvYWQsIE1ldGE+XG4gIDogTm9FcnJvckZsdXhTdGFuZGFyZEFjdGlvbldpdGhQYXlsb2FkQW5kTWV0YTxUeXBlLCBQYXlsb2FkLCBNZXRhPjtcbiJdLCJtYXBwaW5ncyI6IiJ9
package/lib/index.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ export * as __INTERNAL__ from './internal.js';
2
+ export type { NetworkError, UnknownError, ErrorTypes, Schema, EndpointInterface, EntityInterface, ResolveType, DenormalizeCache, DenormalizeNullable, Denormalize, Normalize, NormalizeNullable, FetchFunction, EndpointExtraOptions, } from '@data-client/normalizr';
3
+ export { ExpiryStatus } from '@data-client/normalizr';
4
+ export { default as NetworkManager, ResetError, } from './manager/NetworkManager.js';
5
+ export { default as createReducer, initialState, } from './state/reducer/createReducer.js';
6
+ export { default as reducer } from './state/reducerInstance.js';
7
+ export { default as applyManager } from './manager/applyManager.js';
8
+ export { default as Controller } from './controller/Controller.js';
9
+ export type { CompatibleDispatch, GenericDispatch, } from './controller/Controller.js';
10
+ export { default as createFetch } from './controller/createFetch.js';
11
+ export { default as createReceive } from './controller/createReceive.js';
12
+ export * from './controller/types.js';
13
+ export * as legacyActions from './state/legacy-actions/index.js';
14
+ export * as actionTypes from './actionTypes.js';
15
+ export * from './types.js';
16
+ export type { FetchShape, ReadShape, MutateShape, DeleteShape, } from './endpoint/shapes.js';
17
+ export type { SetShapeParams, ParamsFromShape, BodyFromShape, ReturnFromShape, } from './endpoint/types.js';
18
+ export * from './manager/index.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,OAAO,IAAI,cAAc,EACzB,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,OAAO,IAAI,aAAa,EACxB,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEzE,cAAc,uBAAuB,CAAC;AACtC,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,22 @@
1
+ Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
2
+ return Object.prototype.hasOwnProperty.call(it, key);
3
+ };
4
+ import * as _INTERNAL__ from './internal.js';
5
+ export { _INTERNAL__ as __INTERNAL__ };
6
+ export { ExpiryStatus } from '@data-client/normalizr';
7
+ export { default as NetworkManager, ResetError } from './manager/NetworkManager.js';
8
+ export { default as createReducer, initialState } from './state/reducer/createReducer.js';
9
+ export { default as reducer } from './state/reducerInstance.js';
10
+ export { default as applyManager } from './manager/applyManager.js';
11
+ export { default as Controller } from './controller/Controller.js';
12
+ export { default as createFetch } from './controller/createFetch.js';
13
+ export { default as createReceive } from './controller/createReceive.js';
14
+ export * from './controller/types.js';
15
+ import * as _legacyActions from './state/legacy-actions/index.js';
16
+ export { _legacyActions as legacyActions };
17
+ import * as _actionTypes from './actionTypes.js';
18
+ export { _actionTypes as actionTypes };
19
+ /* istanbul ignore next */
20
+ export * from './types.js';
21
+ export * from './manager/index.js';
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9JTlRFUk5BTF9fIiwiX19JTlRFUk5BTF9fIiwiRXhwaXJ5U3RhdHVzIiwiZGVmYXVsdCIsIk5ldHdvcmtNYW5hZ2VyIiwiUmVzZXRFcnJvciIsImNyZWF0ZVJlZHVjZXIiLCJpbml0aWFsU3RhdGUiLCJyZWR1Y2VyIiwiYXBwbHlNYW5hZ2VyIiwiQ29udHJvbGxlciIsImNyZWF0ZUZldGNoIiwiY3JlYXRlUmVjZWl2ZSIsIl9sZWdhY3lBY3Rpb25zIiwibGVnYWN5QWN0aW9ucyIsIl9hY3Rpb25UeXBlcyIsImFjdGlvblR5cGVzIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcblxuZXhwb3J0ICogYXMgX19JTlRFUk5BTF9fIGZyb20gJy4vaW50ZXJuYWwuanMnO1xuZXhwb3J0IHR5cGUge1xuICBOZXR3b3JrRXJyb3IsXG4gIFVua25vd25FcnJvcixcbiAgRXJyb3JUeXBlcyxcbiAgU2NoZW1hLFxuICBFbmRwb2ludEludGVyZmFjZSxcbiAgRW50aXR5SW50ZXJmYWNlLFxuICBSZXNvbHZlVHlwZSxcbiAgRGVub3JtYWxpemVDYWNoZSxcbiAgRGVub3JtYWxpemVOdWxsYWJsZSxcbiAgRGVub3JtYWxpemUsXG4gIE5vcm1hbGl6ZSxcbiAgTm9ybWFsaXplTnVsbGFibGUsXG4gIEZldGNoRnVuY3Rpb24sXG4gIEVuZHBvaW50RXh0cmFPcHRpb25zLFxufSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmV4cG9ydCB7IEV4cGlyeVN0YXR1cyB9IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuZXhwb3J0IHtcbiAgZGVmYXVsdCBhcyBOZXR3b3JrTWFuYWdlcixcbiAgUmVzZXRFcnJvcixcbn0gZnJvbSAnLi9tYW5hZ2VyL05ldHdvcmtNYW5hZ2VyLmpzJztcbmV4cG9ydCB7XG4gIGRlZmF1bHQgYXMgY3JlYXRlUmVkdWNlcixcbiAgaW5pdGlhbFN0YXRlLFxufSBmcm9tICcuL3N0YXRlL3JlZHVjZXIvY3JlYXRlUmVkdWNlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlZHVjZXIgfSBmcm9tICcuL3N0YXRlL3JlZHVjZXJJbnN0YW5jZS5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGFwcGx5TWFuYWdlciB9IGZyb20gJy4vbWFuYWdlci9hcHBseU1hbmFnZXIuanMnO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIENvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIENvbXBhdGlibGVEaXNwYXRjaCxcbiAgR2VuZXJpY0Rpc3BhdGNoLFxufSBmcm9tICcuL2NvbnRyb2xsZXIvQ29udHJvbGxlci5qcyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNyZWF0ZUZldGNoIH0gZnJvbSAnLi9jb250cm9sbGVyL2NyZWF0ZUZldGNoLmpzJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY3JlYXRlUmVjZWl2ZSB9IGZyb20gJy4vY29udHJvbGxlci9jcmVhdGVSZWNlaXZlLmpzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9sbGVyL3R5cGVzLmpzJztcbmV4cG9ydCAqIGFzIGxlZ2FjeUFjdGlvbnMgZnJvbSAnLi9zdGF0ZS9sZWdhY3ktYWN0aW9ucy9pbmRleC5qcyc7XG5leHBvcnQgKiBhcyBhY3Rpb25UeXBlcyBmcm9tICcuL2FjdGlvblR5cGVzLmpzJztcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgRmV0Y2hTaGFwZSxcbiAgUmVhZFNoYXBlLFxuICBNdXRhdGVTaGFwZSxcbiAgRGVsZXRlU2hhcGUsXG59IGZyb20gJy4vZW5kcG9pbnQvc2hhcGVzLmpzJztcbmV4cG9ydCB0eXBlIHtcbiAgU2V0U2hhcGVQYXJhbXMsXG4gIFBhcmFtc0Zyb21TaGFwZSxcbiAgQm9keUZyb21TaGFwZSxcbiAgUmV0dXJuRnJvbVNoYXBlLFxufSBmcm9tICcuL2VuZHBvaW50L3R5cGVzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbWFuYWdlci9pbmRleC5qcyc7XG4iXSwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUFDLFlBQUFJLFdBQUEsTUFFMEIsZUFBZTtBQUFBLFNBQUFBLFdBQUEsSUFBakNDLFlBQVk7QUFpQnhCLFNBQVNDLFlBQVksUUFBUSx3QkFBd0I7QUFDckQsU0FDRUMsT0FBTyxJQUFJQyxjQUFjLEVBQ3pCQyxVQUFVLFFBQ0wsNkJBQTZCO0FBQ3BDLFNBQ0VGLE9BQU8sSUFBSUcsYUFBYSxFQUN4QkMsWUFBWSxRQUNQLGtDQUFrQztBQUN6QyxTQUFTSixPQUFPLElBQUlLLE9BQU8sUUFBUSw0QkFBNEI7QUFDL0QsU0FBU0wsT0FBTyxJQUFJTSxZQUFZLFFBQVEsMkJBQTJCO0FBRW5FLFNBQVNOLE9BQU8sSUFBSU8sVUFBVSxRQUFRLDRCQUE0QjtBQUtsRSxTQUFTUCxPQUFPLElBQUlRLFdBQVcsUUFBUSw2QkFBNkI7QUFDcEUsU0FBU1IsT0FBTyxJQUFJUyxhQUFhLFFBQVEsK0JBQStCO0FBRXhFLGNBQWMsdUJBQXVCO0FBQUMsWUFBQUMsY0FBQSxNQUNQLGlDQUFpQztBQUFBLFNBQUFBLGNBQUEsSUFBcERDLGFBQWE7QUFBQSxZQUFBQyxZQUFBLE1BQ0ksa0JBQWtCO0FBQUEsU0FBQUEsWUFBQSxJQUFuQ0MsV0FBVztBQUN2QjtBQUNBLGNBQWMsWUFBWTtBQWExQixjQUFjLG9CQUFvQiJ9
@@ -0,0 +1,4 @@
1
+ export { inferResults, DELETED } from '@data-client/normalizr';
2
+ export { default as RIC } from './state/RIC.js';
3
+ export { initialState } from './state/reducer/createReducer.js';
4
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { inferResults, DELETED } from '@data-client/normalizr';
2
+ export { default as RIC } from './state/RIC.js';
3
+ export { initialState } from './state/reducer/createReducer.js';
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbmZlclJlc3VsdHMiLCJERUxFVEVEIiwiZGVmYXVsdCIsIlJJQyIsImluaXRpYWxTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcm5hbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBpbmZlclJlc3VsdHMsIERFTEVURUQgfSBmcm9tICdAZGF0YS1jbGllbnQvbm9ybWFsaXpyJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUklDIH0gZnJvbSAnLi9zdGF0ZS9SSUMuanMnO1xuZXhwb3J0IHsgaW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9yZWR1Y2VyL2NyZWF0ZVJlZHVjZXIuanMnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxZQUFZLEVBQUVDLE9BQU8sUUFBUSx3QkFBd0I7QUFDOUQsU0FBU0MsT0FBTyxJQUFJQyxHQUFHLFFBQVEsZ0JBQWdCO0FBQy9DLFNBQVNDLFlBQVksUUFBUSxrQ0FBa0MifQ==
@@ -0,0 +1,92 @@
1
+ import type { UpdateFunction, Schema, EndpointExtraOptions, EndpointInterface } from '@data-client/normalizr';
2
+ import { FSAWithPayloadAndMeta, FSAWithMeta } from 'flux-standard-action';
3
+ import { RECEIVE_TYPE, RESET_TYPE, FETCH_TYPE, SUBSCRIBE_TYPE, UNSUBSCRIBE_TYPE, INVALIDATE_TYPE, GC_TYPE, OPTIMISTIC_TYPE } from './actionTypes.js';
4
+ import type { EndpointUpdateFunction } from './controller/types.js';
5
+ import { FetchShape } from './endpoint/index.js';
6
+ import { ErrorableFSAWithPayloadAndMeta } from './fsa.js';
7
+ export interface ReceiveMeta<S extends Schema | undefined> {
8
+ schema?: S;
9
+ key: string;
10
+ args?: readonly any[];
11
+ updaters?: Record<string, UpdateFunction<S, any>>;
12
+ update?: (result: any, ...args: any) => Record<string, (...args: any) => any>;
13
+ fetchedAt?: number;
14
+ date: number;
15
+ expiresAt: number;
16
+ errorPolicy?: (error: any) => 'hard' | 'soft' | undefined;
17
+ }
18
+ export type ReceiveAction<Payload extends object | string | number | null = object | string | number | null, S extends Schema | undefined = any> = ErrorableFSAWithPayloadAndMeta<typeof RECEIVE_TYPE, Payload, ReceiveMeta<S>>;
19
+ export type OptimisticAction<E extends EndpointInterface & {
20
+ update?: EndpointUpdateFunction<E>;
21
+ } = EndpointInterface & {
22
+ update?: EndpointUpdateFunction<EndpointInterface>;
23
+ }> = {
24
+ type: typeof OPTIMISTIC_TYPE;
25
+ meta: {
26
+ schema: E['schema'];
27
+ key: string;
28
+ args: readonly any[];
29
+ update?: (result: any, ...args: any) => Record<string, (...args: any) => any>;
30
+ fetchedAt: number;
31
+ date: number;
32
+ expiresAt: number;
33
+ errorPolicy?: (error: any) => 'hard' | 'soft' | undefined;
34
+ };
35
+ endpoint: E;
36
+ error?: undefined;
37
+ };
38
+ export interface ResetAction {
39
+ type: typeof RESET_TYPE;
40
+ date: number | Date;
41
+ }
42
+ interface FetchMeta<Payload extends object | string | number | null = object | string | number | null, S extends Schema | undefined = any> {
43
+ type: FetchShape<any, any>['type'];
44
+ schema?: S;
45
+ key: string;
46
+ args?: readonly any[];
47
+ updaters?: Record<string, UpdateFunction<S, any>>;
48
+ update?: (result: any, ...args: any) => Record<string, (...args: any) => any>;
49
+ options?: EndpointExtraOptions;
50
+ throttle: boolean;
51
+ resolve: (value?: any | PromiseLike<any>) => void;
52
+ reject: (reason?: any) => void;
53
+ promise: PromiseLike<any>;
54
+ createdAt: number | Date;
55
+ optimisticResponse?: Payload;
56
+ nm?: boolean;
57
+ }
58
+ export interface FetchAction<Payload extends object | string | number | null = object | string | number | null, S extends Schema | undefined = any> extends FSAWithPayloadAndMeta<typeof FETCH_TYPE, () => Promise<Payload>, FetchMeta<any, any>> {
59
+ meta: FetchMeta<Payload, S>;
60
+ endpoint?: undefined;
61
+ }
62
+ export interface SubscribeAction extends FSAWithMeta<typeof SUBSCRIBE_TYPE, undefined, any> {
63
+ meta: {
64
+ args?: readonly any[];
65
+ schema: Schema | undefined;
66
+ fetch: () => Promise<any>;
67
+ key: string;
68
+ options: EndpointExtraOptions | undefined;
69
+ };
70
+ endpoint?: undefined;
71
+ }
72
+ export interface UnsubscribeAction extends FSAWithMeta<typeof UNSUBSCRIBE_TYPE, undefined, any> {
73
+ meta: {
74
+ args?: readonly any[];
75
+ key: string;
76
+ options: EndpointExtraOptions | undefined;
77
+ };
78
+ endpoint?: undefined;
79
+ }
80
+ export interface InvalidateAction extends FSAWithMeta<typeof INVALIDATE_TYPE, undefined, any> {
81
+ meta: {
82
+ key: string;
83
+ };
84
+ }
85
+ export interface GCAction {
86
+ type: typeof GC_TYPE;
87
+ entities: [string, string][];
88
+ results: string[];
89
+ }
90
+ export type ActionTypes = FetchAction | OptimisticAction | ReceiveAction | SubscribeAction | UnsubscribeAction | InvalidateAction | ResetAction | GCAction;
91
+ export {};
92
+ //# sourceMappingURL=legacyActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacyActions.d.ts","sourceRoot":"","sources":["../src/legacyActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2xlZ2FjeUFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBVcGRhdGVGdW5jdGlvbixcbiAgU2NoZW1hLFxuICBFbmRwb2ludEV4dHJhT3B0aW9ucyxcbiAgRW5kcG9pbnRJbnRlcmZhY2UsXG59IGZyb20gJ0BkYXRhLWNsaWVudC9ub3JtYWxpenInO1xuaW1wb3J0IHsgRlNBV2l0aFBheWxvYWRBbmRNZXRhLCBGU0FXaXRoTWV0YSB9IGZyb20gJ2ZsdXgtc3RhbmRhcmQtYWN0aW9uJztcblxuaW1wb3J0IHtcbiAgUkVDRUlWRV9UWVBFLFxuICBSRVNFVF9UWVBFLFxuICBGRVRDSF9UWVBFLFxuICBTVUJTQ1JJQkVfVFlQRSxcbiAgVU5TVUJTQ1JJQkVfVFlQRSxcbiAgSU5WQUxJREFURV9UWVBFLFxuICBHQ19UWVBFLFxuICBPUFRJTUlTVElDX1RZUEUsXG59IGZyb20gJy4vYWN0aW9uVHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBFbmRwb2ludFVwZGF0ZUZ1bmN0aW9uIH0gZnJvbSAnLi9jb250cm9sbGVyL3R5cGVzLmpzJztcbmltcG9ydCB7IEZldGNoU2hhcGUgfSBmcm9tICcuL2VuZHBvaW50L2luZGV4LmpzJztcbmltcG9ydCB7IEVycm9yYWJsZUZTQVdpdGhQYXlsb2FkQW5kTWV0YSB9IGZyb20gJy4vZnNhLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlTWV0YTxTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkPiB7XG4gIHNjaGVtYT86IFM7XG4gIGtleTogc3RyaW5nO1xuICBhcmdzPzogcmVhZG9ubHkgYW55W107XG4gIHVwZGF0ZXJzPzogUmVjb3JkPHN0cmluZywgVXBkYXRlRnVuY3Rpb248UywgYW55Pj47XG4gIHVwZGF0ZT86IChyZXN1bHQ6IGFueSwgLi4uYXJnczogYW55KSA9PiBSZWNvcmQ8c3RyaW5nLCAoLi4uYXJnczogYW55KSA9PiBhbnk+O1xuICBmZXRjaGVkQXQ/OiBudW1iZXI7XG4gIGRhdGU6IG51bWJlcjtcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG4gIGVycm9yUG9saWN5PzogKGVycm9yOiBhbnkpID0+ICdoYXJkJyB8ICdzb2Z0JyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHR5cGUgUmVjZWl2ZUFjdGlvbjxcbiAgUGF5bG9hZCBleHRlbmRzIG9iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IG51bGwgPVxuICAgIHwgb2JqZWN0XG4gICAgfCBzdHJpbmdcbiAgICB8IG51bWJlclxuICAgIHwgbnVsbCxcbiAgUyBleHRlbmRzIFNjaGVtYSB8IHVuZGVmaW5lZCA9IGFueSxcbj4gPSBFcnJvcmFibGVGU0FXaXRoUGF5bG9hZEFuZE1ldGE8XG4gIHR5cGVvZiBSRUNFSVZFX1RZUEUsXG4gIFBheWxvYWQsXG4gIFJlY2VpdmVNZXRhPFM+XG4+O1xuXG5leHBvcnQgdHlwZSBPcHRpbWlzdGljQWN0aW9uPFxuICBFIGV4dGVuZHMgRW5kcG9pbnRJbnRlcmZhY2UgJiB7XG4gICAgdXBkYXRlPzogRW5kcG9pbnRVcGRhdGVGdW5jdGlvbjxFPjtcbiAgfSA9IEVuZHBvaW50SW50ZXJmYWNlICYge1xuICAgIHVwZGF0ZT86IEVuZHBvaW50VXBkYXRlRnVuY3Rpb248RW5kcG9pbnRJbnRlcmZhY2U+O1xuICB9LFxuPiA9IHtcbiAgdHlwZTogdHlwZW9mIE9QVElNSVNUSUNfVFlQRTtcbiAgbWV0YToge1xuICAgIHNjaGVtYTogRVsnc2NoZW1hJ107XG4gICAga2V5OiBzdHJpbmc7XG4gICAgYXJnczogcmVhZG9ubHkgYW55W107XG4gICAgdXBkYXRlPzogKFxuICAgICAgcmVzdWx0OiBhbnksXG4gICAgICAuLi5hcmdzOiBhbnlcbiAgICApID0+IFJlY29yZDxzdHJpbmcsICguLi5hcmdzOiBhbnkpID0+IGFueT47XG4gICAgZmV0Y2hlZEF0OiBudW1iZXI7XG4gICAgZGF0ZTogbnVtYmVyO1xuICAgIGV4cGlyZXNBdDogbnVtYmVyO1xuICAgIGVycm9yUG9saWN5PzogKGVycm9yOiBhbnkpID0+ICdoYXJkJyB8ICdzb2Z0JyB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgZW5kcG9pbnQ6IEU7XG4gIGVycm9yPzogdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNldEFjdGlvbiB7XG4gIHR5cGU6IHR5cGVvZiBSRVNFVF9UWVBFO1xuICBkYXRlOiBudW1iZXIgfCBEYXRlO1xufVxuXG5pbnRlcmZhY2UgRmV0Y2hNZXRhPFxuICBQYXlsb2FkIGV4dGVuZHMgb2JqZWN0IHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCA9XG4gICAgfCBvYmplY3RcbiAgICB8IHN0cmluZ1xuICAgIHwgbnVtYmVyXG4gICAgfCBudWxsLFxuICBTIGV4dGVuZHMgU2NoZW1hIHwgdW5kZWZpbmVkID0gYW55LFxuPiB7XG4gIHR5cGU6IEZldGNoU2hhcGU8YW55LCBhbnk+Wyd0eXBlJ107XG4gIHNjaGVtYT86IFM7XG4gIGtleTogc3RyaW5nO1xuICBhcmdzPzogcmVhZG9ubHkgYW55W107XG4gIHVwZGF0ZXJzPzogUmVjb3JkPHN0cmluZywgVXBkYXRlRnVuY3Rpb248UywgYW55Pj47XG4gIHVwZGF0ZT86IChyZXN1bHQ6IGFueSwgLi4uYXJnczogYW55KSA9PiBSZWNvcmQ8c3RyaW5nLCAoLi4uYXJnczogYW55KSA9PiBhbnk+O1xuICBvcHRpb25zPzogRW5kcG9pbnRFeHRyYU9wdGlvbnM7XG4gIHRocm90dGxlOiBib29sZWFuO1xuICByZXNvbHZlOiAodmFsdWU/OiBhbnkgfCBQcm9taXNlTGlrZTxhbnk+KSA9PiB2b2lkO1xuICByZWplY3Q6IChyZWFzb24/OiBhbnkpID0+IHZvaWQ7XG4gIHByb21pc2U6IFByb21pc2VMaWtlPGFueT47XG4gIGNyZWF0ZWRBdDogbnVtYmVyIHwgRGF0ZTtcbiAgb3B0aW1pc3RpY1Jlc3BvbnNlPzogUGF5bG9hZDtcbiAgLy8gaW5kaWNhdGVzIHdoZXRoZXIgbmV0d29yayBtYW5hZ2VyIHByb2Nlc3NlZCBpdFxuICBubT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hBY3Rpb248XG4gIFBheWxvYWQgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmcgfCBudW1iZXIgfCBudWxsID1cbiAgICB8IG9iamVjdFxuICAgIHwgc3RyaW5nXG4gICAgfCBudW1iZXJcbiAgICB8IG51bGwsXG4gIFMgZXh0ZW5kcyBTY2hlbWEgfCB1bmRlZmluZWQgPSBhbnksXG4+IGV4dGVuZHMgRlNBV2l0aFBheWxvYWRBbmRNZXRhPFxuICAgIHR5cGVvZiBGRVRDSF9UWVBFLFxuICAgICgpID0+IFByb21pc2U8UGF5bG9hZD4sXG4gICAgRmV0Y2hNZXRhPGFueSwgYW55PlxuICA+IHtcbiAgbWV0YTogRmV0Y2hNZXRhPFBheWxvYWQsIFM+O1xuICBlbmRwb2ludD86IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJzY3JpYmVBY3Rpb25cbiAgZXh0ZW5kcyBGU0FXaXRoTWV0YTx0eXBlb2YgU1VCU0NSSUJFX1RZUEUsIHVuZGVmaW5lZCwgYW55PiB7XG4gIG1ldGE6IHtcbiAgICBhcmdzPzogcmVhZG9ubHkgYW55W107XG4gICAgc2NoZW1hOiBTY2hlbWEgfCB1bmRlZmluZWQ7XG4gICAgZmV0Y2g6ICgpID0+IFByb21pc2U8YW55PjtcbiAgICBrZXk6IHN0cmluZztcbiAgICBvcHRpb25zOiBFbmRwb2ludEV4dHJhT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgZW5kcG9pbnQ/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zdWJzY3JpYmVBY3Rpb25cbiAgZXh0ZW5kcyBGU0FXaXRoTWV0YTx0eXBlb2YgVU5TVUJTQ1JJQkVfVFlQRSwgdW5kZWZpbmVkLCBhbnk+IHtcbiAgbWV0YToge1xuICAgIGFyZ3M/OiByZWFkb25seSBhbnlbXTtcbiAgICBrZXk6IHN0cmluZztcbiAgICBvcHRpb25zOiBFbmRwb2ludEV4dHJhT3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgfTtcbiAgZW5kcG9pbnQ/OiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52YWxpZGF0ZUFjdGlvblxuICBleHRlbmRzIEZTQVdpdGhNZXRhPHR5cGVvZiBJTlZBTElEQVRFX1RZUEUsIHVuZGVmaW5lZCwgYW55PiB7XG4gIG1ldGE6IHtcbiAgICBrZXk6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHQ0FjdGlvbiB7XG4gIHR5cGU6IHR5cGVvZiBHQ19UWVBFO1xuICBlbnRpdGllczogW3N0cmluZywgc3RyaW5nXVtdO1xuICByZXN1bHRzOiBzdHJpbmdbXTtcbn1cblxuLy8gcHV0IG90aGVyIGFjdGlvbnMgaGVyZSBpbiB1bmlvblxuZXhwb3J0IHR5cGUgQWN0aW9uVHlwZXMgPVxuICB8IEZldGNoQWN0aW9uXG4gIHwgT3B0aW1pc3RpY0FjdGlvblxuICB8IFJlY2VpdmVBY3Rpb25cbiAgfCBTdWJzY3JpYmVBY3Rpb25cbiAgfCBVbnN1YnNjcmliZUFjdGlvblxuICB8IEludmFsaWRhdGVBY3Rpb25cbiAgfCBSZXNldEFjdGlvblxuICB8IEdDQWN0aW9uO1xuIl0sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,8 @@
1
+ export default interface ConnectionListener {
2
+ isOnline: () => boolean;
3
+ addOnlineListener: (handler: () => void) => void;
4
+ removeOnlineListener: (handler: () => void) => void;
5
+ addOfflineListener: (handler: () => void) => void;
6
+ removeOfflineListener: (handler: () => void) => void;
7
+ }
8
+ //# sourceMappingURL=ConnectionListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionListener.d.ts","sourceRoot":"","sources":["../../src/manager/ConnectionListener.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,kBAAkB;IACzC,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACjD,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACpD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAClD,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CACtD"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hbmFnZXIvQ29ubmVjdGlvbkxpc3RlbmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBDb25uZWN0aW9uTGlzdGVuZXIge1xuICBpc09ubGluZTogKCkgPT4gYm9vbGVhbjtcbiAgYWRkT25saW5lTGlzdGVuZXI6IChoYW5kbGVyOiAoKSA9PiB2b2lkKSA9PiB2b2lkO1xuICByZW1vdmVPbmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4gIGFkZE9mZmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4gIHJlbW92ZU9mZmxpbmVMaXN0ZW5lcjogKGhhbmRsZXI6ICgpID0+IHZvaWQpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1,20 @@
1
+ import ConnectionListener from './ConnectionListener.js';
2
+ export declare class BrowserConnectionListener implements ConnectionListener {
3
+ isOnline(): boolean;
4
+ addOnlineListener(handler: () => void): void;
5
+ removeOnlineListener(handler: () => void): void;
6
+ addOfflineListener(handler: () => void): void;
7
+ removeOfflineListener(handler: () => void): void;
8
+ }
9
+ export declare class AlwaysOnlineConnectionListener implements ConnectionListener {
10
+ isOnline(): boolean;
11
+ addOnlineListener(): void;
12
+ removeOnlineListener(): void;
13
+ addOfflineListener(): void;
14
+ removeOfflineListener(): void;
15
+ }
16
+ declare let DefaultConnectionListener: {
17
+ new (): ConnectionListener;
18
+ };
19
+ export default DefaultConnectionListener;
20
+ //# sourceMappingURL=DefaultConnectionListener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultConnectionListener.d.ts","sourceRoot":"","sources":["../../src/manager/DefaultConnectionListener.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE,QAAQ;IAOR,iBAAiB,CAAC,OAAO,EAAE,MAAM,IAAI;IAIrC,oBAAoB,CAAC,OAAO,EAAE,MAAM,IAAI;IAIxC,kBAAkB,CAAC,OAAO,EAAE,MAAM,IAAI;IAItC,qBAAqB,CAAC,OAAO,EAAE,MAAM,IAAI;CAG1C;AAED,qBAAa,8BAA+B,YAAW,kBAAkB;IACvE,QAAQ;IAKR,iBAAiB;IAEjB,oBAAoB;IAEpB,kBAAkB;IAElB,qBAAqB;CACtB;AAED,QAAA,IAAI,yBAAyB,EAAE;IAAE,QAAQ,kBAAkB,CAAA;CAAE,CAAC;AAW9D,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,40 @@
1
+ export class BrowserConnectionListener {
2
+ isOnline() {
3
+ if (navigator.onLine !== undefined) {
4
+ return navigator.onLine;
5
+ }
6
+ return true;
7
+ }
8
+ addOnlineListener(handler) {
9
+ addEventListener('online', handler);
10
+ }
11
+ removeOnlineListener(handler) {
12
+ removeEventListener('online', handler);
13
+ }
14
+ addOfflineListener(handler) {
15
+ addEventListener('offline', handler);
16
+ }
17
+ removeOfflineListener(handler) {
18
+ removeEventListener('offline', handler);
19
+ }
20
+ }
21
+ export class AlwaysOnlineConnectionListener {
22
+ isOnline() {
23
+ /* istanbul ignore next */
24
+ return true;
25
+ }
26
+ addOnlineListener() {}
27
+ removeOnlineListener() {}
28
+ addOfflineListener() {}
29
+ removeOfflineListener() {}
30
+ }
31
+ let DefaultConnectionListener;
32
+ /* istanbul ignore if */
33
+ if (typeof navigator !== 'undefined' && typeof addEventListener === 'function') {
34
+ DefaultConnectionListener = BrowserConnectionListener;
35
+ } else {
36
+ /* istanbul ignore next */
37
+ DefaultConnectionListener = AlwaysOnlineConnectionListener;
38
+ }
39
+ export default DefaultConnectionListener;
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCcm93c2VyQ29ubmVjdGlvbkxpc3RlbmVyIiwiaXNPbmxpbmUiLCJuYXZpZ2F0b3IiLCJvbkxpbmUiLCJ1bmRlZmluZWQiLCJhZGRPbmxpbmVMaXN0ZW5lciIsImhhbmRsZXIiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlT25saW5lTGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWRkT2ZmbGluZUxpc3RlbmVyIiwicmVtb3ZlT2ZmbGluZUxpc3RlbmVyIiwiQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyIiwiRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL0RlZmF1bHRDb25uZWN0aW9uTGlzdGVuZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbm5lY3Rpb25MaXN0ZW5lciBmcm9tICcuL0Nvbm5lY3Rpb25MaXN0ZW5lci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBCcm93c2VyQ29ubmVjdGlvbkxpc3RlbmVyIGltcGxlbWVudHMgQ29ubmVjdGlvbkxpc3RlbmVyIHtcbiAgaXNPbmxpbmUoKSB7XG4gICAgaWYgKG5hdmlnYXRvci5vbkxpbmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG5hdmlnYXRvci5vbkxpbmU7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgYWRkT25saW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xuICB9XG5cbiAgcmVtb3ZlT25saW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoJ29ubGluZScsIGhhbmRsZXIpO1xuICB9XG5cbiAgYWRkT2ZmbGluZUxpc3RlbmVyKGhhbmRsZXI6ICgpID0+IHZvaWQpIHtcbiAgICBhZGRFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgaGFuZGxlcik7XG4gIH1cblxuICByZW1vdmVPZmZsaW5lTGlzdGVuZXIoaGFuZGxlcjogKCkgPT4gdm9pZCkge1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVyKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyIGltcGxlbWVudHMgQ29ubmVjdGlvbkxpc3RlbmVyIHtcbiAgaXNPbmxpbmUoKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFkZE9ubGluZUxpc3RlbmVyKCkge31cblxuICByZW1vdmVPbmxpbmVMaXN0ZW5lcigpIHt9XG5cbiAgYWRkT2ZmbGluZUxpc3RlbmVyKCkge31cblxuICByZW1vdmVPZmZsaW5lTGlzdGVuZXIoKSB7fVxufVxuXG5sZXQgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lcjogeyBuZXcgKCk6IENvbm5lY3Rpb25MaXN0ZW5lciB9O1xuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG5pZiAoXG4gIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmXG4gIHR5cGVvZiBhZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nXG4pIHtcbiAgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lciA9IEJyb3dzZXJDb25uZWN0aW9uTGlzdGVuZXI7XG59IGVsc2Uge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBEZWZhdWx0Q29ubmVjdGlvbkxpc3RlbmVyID0gQWx3YXlzT25saW5lQ29ubmVjdGlvbkxpc3RlbmVyO1xufVxuZXhwb3J0IGRlZmF1bHQgRGVmYXVsdENvbm5lY3Rpb25MaXN0ZW5lcjtcbiJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxNQUFNQSx5QkFBeUIsQ0FBK0I7RUFDbkVDLFFBQVFBLENBQUEsRUFBRztJQUNULElBQUlDLFNBQVMsQ0FBQ0MsTUFBTSxLQUFLQyxTQUFTLEVBQUU7TUFDbEMsT0FBT0YsU0FBUyxDQUFDQyxNQUFNO0lBQ3pCO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7RUFFQUUsaUJBQWlCQSxDQUFDQyxPQUFtQixFQUFFO0lBQ3JDQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUVELE9BQU8sQ0FBQztFQUNyQztFQUVBRSxvQkFBb0JBLENBQUNGLE9BQW1CLEVBQUU7SUFDeENHLG1CQUFtQixDQUFDLFFBQVEsRUFBRUgsT0FBTyxDQUFDO0VBQ3hDO0VBRUFJLGtCQUFrQkEsQ0FBQ0osT0FBbUIsRUFBRTtJQUN0Q0MsZ0JBQWdCLENBQUMsU0FBUyxFQUFFRCxPQUFPLENBQUM7RUFDdEM7RUFFQUsscUJBQXFCQSxDQUFDTCxPQUFtQixFQUFFO0lBQ3pDRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUVILE9BQU8sQ0FBQztFQUN6QztBQUNGO0FBRUEsT0FBTyxNQUFNTSw4QkFBOEIsQ0FBK0I7RUFDeEVYLFFBQVFBLENBQUEsRUFBRztJQUNUO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7RUFFQUksaUJBQWlCQSxDQUFBLEVBQUcsQ0FBQztFQUVyQkcsb0JBQW9CQSxDQUFBLEVBQUcsQ0FBQztFQUV4QkUsa0JBQWtCQSxDQUFBLEVBQUcsQ0FBQztFQUV0QkMscUJBQXFCQSxDQUFBLEVBQUcsQ0FBQztBQUMzQjtBQUVBLElBQUlFLHlCQUF5RDtBQUM3RDtBQUNBLElBQ0UsT0FBT1gsU0FBUyxLQUFLLFdBQVcsSUFDaEMsT0FBT0ssZ0JBQWdCLEtBQUssVUFBVSxFQUN0QztFQUNBTSx5QkFBeUIsR0FBR2IseUJBQXlCO0FBQ3ZELENBQUMsTUFBTTtFQUNMO0VBQ0FhLHlCQUF5QixHQUFHRCw4QkFBOEI7QUFDNUQ7QUFDQSxlQUFlQyx5QkFBeUIifQ==