@ethersphere/bee-js 8.3.1 → 9.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/README.md +192 -50
  2. package/dist/cjs/bee-dev.js +78 -0
  3. package/dist/cjs/bee.js +341 -417
  4. package/dist/cjs/chunk/bmt.js +15 -32
  5. package/dist/cjs/chunk/cac.js +26 -36
  6. package/dist/cjs/chunk/soc.js +56 -51
  7. package/dist/cjs/feed/identifier.js +3 -28
  8. package/dist/cjs/feed/index.js +95 -44
  9. package/dist/cjs/feed/retrievable.js +11 -22
  10. package/dist/cjs/index.js +17 -1
  11. package/dist/cjs/manifest/manifest.js +369 -0
  12. package/dist/cjs/modules/bytes.js +24 -12
  13. package/dist/cjs/modules/bzz.js +24 -34
  14. package/dist/cjs/modules/chunk.js +13 -7
  15. package/dist/cjs/modules/debug/balance.js +29 -4
  16. package/dist/cjs/modules/debug/chequebook.js +60 -16
  17. package/dist/cjs/modules/debug/connectivity.js +82 -4
  18. package/dist/cjs/modules/debug/settlements.js +22 -2
  19. package/dist/cjs/modules/debug/stake.js +29 -11
  20. package/dist/cjs/modules/debug/stamps.js +88 -7
  21. package/dist/cjs/modules/debug/states.js +25 -3
  22. package/dist/cjs/modules/debug/status.js +45 -47
  23. package/dist/cjs/modules/debug/transactions.js +27 -5
  24. package/dist/cjs/modules/envelope.js +8 -6
  25. package/dist/cjs/modules/feed.js +25 -10
  26. package/dist/cjs/modules/grantee.js +18 -12
  27. package/dist/cjs/modules/gsoc.js +24 -0
  28. package/dist/cjs/modules/pinning.js +13 -2
  29. package/dist/cjs/modules/pss.js +9 -3
  30. package/dist/cjs/modules/soc.js +9 -4
  31. package/dist/cjs/modules/stewardship.js +7 -3
  32. package/dist/cjs/modules/tag.js +35 -3
  33. package/dist/cjs/package.json +1 -0
  34. package/dist/cjs/stamper/stamper.js +43 -0
  35. package/dist/cjs/types/debug.js +16 -1
  36. package/dist/cjs/types/index.js +2 -24
  37. package/dist/cjs/utils/bytes.js +67 -115
  38. package/dist/cjs/utils/chunk-size.js +17 -0
  39. package/dist/cjs/utils/chunk-stream.browser.js +85 -0
  40. package/dist/cjs/utils/chunk-stream.js +84 -0
  41. package/dist/cjs/utils/cid.js +5 -6
  42. package/dist/cjs/utils/collection.browser.js +2 -2
  43. package/dist/cjs/utils/collection.js +3 -2
  44. package/dist/cjs/utils/collection.node.js +0 -2
  45. package/dist/cjs/utils/constants.js +7 -3
  46. package/dist/cjs/utils/data.browser.js +6 -3
  47. package/dist/cjs/utils/data.js +8 -4
  48. package/dist/cjs/utils/duration.js +51 -0
  49. package/dist/cjs/utils/expose.js +11 -40
  50. package/dist/cjs/utils/headers.js +79 -52
  51. package/dist/cjs/utils/http.js +34 -10
  52. package/dist/cjs/utils/mime.js +78 -0
  53. package/dist/cjs/utils/pss.js +3 -4
  54. package/dist/cjs/utils/redundancy.js +18 -14
  55. package/dist/cjs/utils/resource-locator.js +17 -0
  56. package/dist/cjs/utils/size.js +35 -0
  57. package/dist/cjs/utils/stamps.js +67 -51
  58. package/dist/cjs/utils/tar-uploader.browser.js +2 -2
  59. package/dist/cjs/utils/tar-uploader.js +2 -2
  60. package/dist/cjs/utils/tokens.js +144 -0
  61. package/dist/cjs/utils/type.js +142 -350
  62. package/dist/cjs/utils/typed-bytes.js +179 -0
  63. package/dist/cjs/utils/upload-progress.js +2 -0
  64. package/dist/cjs/utils/url.js +0 -4
  65. package/dist/cjs/utils/workaround.js +27 -0
  66. package/dist/index.browser.min.js +1 -2
  67. package/dist/index.browser.min.js.map +1 -1
  68. package/dist/mjs/bee-dev.js +98 -0
  69. package/dist/mjs/bee.js +367 -411
  70. package/dist/mjs/chunk/bmt.js +13 -29
  71. package/dist/mjs/chunk/cac.js +26 -34
  72. package/dist/mjs/chunk/soc.js +57 -53
  73. package/dist/mjs/feed/identifier.js +3 -26
  74. package/dist/mjs/feed/index.js +98 -51
  75. package/dist/mjs/feed/retrievable.js +12 -23
  76. package/dist/mjs/index.js +10 -1
  77. package/dist/mjs/manifest/manifest.js +371 -0
  78. package/dist/mjs/modules/bytes.js +27 -15
  79. package/dist/mjs/modules/bzz.js +25 -32
  80. package/dist/mjs/modules/chunk.js +16 -8
  81. package/dist/mjs/modules/debug/balance.js +61 -4
  82. package/dist/mjs/modules/debug/chequebook.js +116 -16
  83. package/dist/mjs/modules/debug/connectivity.js +144 -3
  84. package/dist/mjs/modules/debug/settlements.js +46 -2
  85. package/dist/mjs/modules/debug/stake.js +69 -11
  86. package/dist/mjs/modules/debug/stamps.js +184 -7
  87. package/dist/mjs/modules/debug/states.js +55 -3
  88. package/dist/mjs/modules/debug/status.js +97 -45
  89. package/dist/mjs/modules/debug/transactions.js +61 -5
  90. package/dist/mjs/modules/envelope.js +11 -9
  91. package/dist/mjs/modules/feed.js +26 -10
  92. package/dist/mjs/modules/grantee.js +35 -13
  93. package/dist/mjs/modules/gsoc.js +16 -0
  94. package/dist/mjs/modules/pinning.js +23 -2
  95. package/dist/mjs/modules/pss.js +10 -4
  96. package/dist/mjs/modules/soc.js +10 -5
  97. package/dist/mjs/modules/stewardship.js +14 -4
  98. package/dist/mjs/modules/tag.js +93 -3
  99. package/dist/mjs/package.json +2 -1
  100. package/dist/mjs/stamper/stamper.js +39 -0
  101. package/dist/mjs/types/debug.js +15 -1
  102. package/dist/mjs/types/index.js +2 -24
  103. package/dist/mjs/utils/bytes.js +63 -104
  104. package/dist/mjs/utils/chunk-size.js +13 -0
  105. package/dist/mjs/utils/chunk-stream.browser.js +85 -0
  106. package/dist/mjs/utils/chunk-stream.js +87 -0
  107. package/dist/mjs/utils/cid.js +5 -6
  108. package/dist/mjs/utils/collection.browser.js +2 -2
  109. package/dist/mjs/utils/collection.js +2 -2
  110. package/dist/mjs/utils/collection.node.js +0 -2
  111. package/dist/mjs/utils/constants.js +6 -2
  112. package/dist/mjs/utils/data.browser.js +9 -3
  113. package/dist/mjs/utils/data.js +12 -4
  114. package/dist/mjs/utils/duration.js +47 -0
  115. package/dist/mjs/utils/expose.js +2 -7
  116. package/dist/mjs/utils/headers.js +73 -48
  117. package/dist/mjs/utils/http.js +33 -11
  118. package/dist/mjs/utils/mime.js +75 -0
  119. package/dist/mjs/utils/pss.js +3 -4
  120. package/dist/mjs/utils/redundancy.js +18 -8
  121. package/dist/mjs/utils/resource-locator.js +13 -0
  122. package/dist/mjs/utils/size.js +31 -0
  123. package/dist/mjs/utils/stamps.js +47 -44
  124. package/dist/mjs/utils/tar-uploader.browser.js +2 -2
  125. package/dist/mjs/utils/tar-uploader.js +2 -2
  126. package/dist/mjs/utils/tokens.js +139 -0
  127. package/dist/mjs/utils/type.js +216 -310
  128. package/dist/mjs/utils/typed-bytes.js +160 -0
  129. package/dist/mjs/utils/upload-progress.js +1 -0
  130. package/dist/mjs/utils/url.js +0 -4
  131. package/dist/mjs/utils/workaround.js +22 -0
  132. package/dist/types/bee-dev.d.ts +5 -0
  133. package/dist/types/bee.d.ts +88 -165
  134. package/dist/types/chunk/bmt.d.ts +2 -2
  135. package/dist/types/chunk/cac.d.ts +7 -24
  136. package/dist/types/chunk/soc.d.ts +15 -15
  137. package/dist/types/feed/identifier.d.ts +2 -4
  138. package/dist/types/feed/index.d.ts +14 -18
  139. package/dist/types/feed/retrievable.d.ts +3 -4
  140. package/dist/types/index.d.ts +28 -1
  141. package/dist/types/manifest/manifest.d.ts +106 -0
  142. package/dist/types/modules/bytes.d.ts +8 -5
  143. package/dist/types/modules/bzz.d.ts +8 -10
  144. package/dist/types/modules/chunk.d.ts +4 -3
  145. package/dist/types/modules/debug/balance.d.ts +3 -2
  146. package/dist/types/modules/debug/chequebook.d.ts +7 -6
  147. package/dist/types/modules/debug/connectivity.d.ts +5 -3
  148. package/dist/types/modules/debug/settlements.d.ts +2 -1
  149. package/dist/types/modules/debug/stake.d.ts +4 -2
  150. package/dist/types/modules/debug/stamps.d.ts +5 -4
  151. package/dist/types/modules/debug/status.d.ts +6 -25
  152. package/dist/types/modules/debug/transactions.d.ts +5 -4
  153. package/dist/types/modules/envelope.d.ts +3 -2
  154. package/dist/types/modules/feed.d.ts +20 -16
  155. package/dist/types/modules/grantee.d.ts +7 -6
  156. package/dist/types/modules/gsoc.d.ts +7 -0
  157. package/dist/types/modules/pinning.d.ts +2 -4
  158. package/dist/types/modules/pss.d.ts +4 -3
  159. package/dist/types/modules/soc.d.ts +3 -2
  160. package/dist/types/modules/stewardship.d.ts +4 -4
  161. package/dist/types/modules/tag.d.ts +2 -1
  162. package/dist/types/stamper/stamper.d.ts +15 -0
  163. package/dist/types/types/debug.d.ts +63 -115
  164. package/dist/types/types/index.d.ts +103 -204
  165. package/dist/types/utils/bytes.d.ts +16 -90
  166. package/dist/types/utils/chunk-size.d.ts +1 -0
  167. package/dist/types/utils/chunk-stream.browser.d.ts +6 -0
  168. package/dist/types/utils/chunk-stream.d.ts +6 -0
  169. package/dist/types/utils/cid.d.ts +3 -2
  170. package/dist/types/utils/collection.browser.d.ts +2 -2
  171. package/dist/types/utils/collection.d.ts +2 -1
  172. package/dist/types/utils/collection.node.d.ts +0 -1
  173. package/dist/types/utils/constants.d.ts +4 -1
  174. package/dist/types/utils/duration.d.ts +17 -0
  175. package/dist/types/utils/error.d.ts +2 -2
  176. package/dist/types/utils/expose.d.ts +2 -7
  177. package/dist/types/utils/headers.d.ts +3 -4
  178. package/dist/types/utils/mime.d.ts +1 -0
  179. package/dist/types/utils/pss.d.ts +2 -2
  180. package/dist/types/utils/resource-locator.d.ts +6 -0
  181. package/dist/types/utils/size.d.ts +16 -0
  182. package/dist/types/utils/stamps.d.ts +27 -33
  183. package/dist/types/utils/tar-uploader.browser.d.ts +3 -4
  184. package/dist/types/utils/tar-uploader.d.ts +3 -4
  185. package/dist/types/utils/tokens.d.ts +77 -0
  186. package/dist/types/utils/type.d.ts +20 -52
  187. package/dist/types/utils/typed-bytes.d.ts +68 -0
  188. package/dist/types/utils/upload-progress.d.ts +4 -0
  189. package/dist/types/utils/workaround.d.ts +2 -0
  190. package/package.json +11 -17
  191. package/dist/cjs/chunk/signer.js +0 -126
  192. package/dist/cjs/chunk/span.js +0 -25
  193. package/dist/cjs/feed/json.js +0 -28
  194. package/dist/cjs/feed/topic.js +0 -25
  195. package/dist/cjs/feed/type.js +0 -15
  196. package/dist/cjs/modules/debug/chunk.js +0 -21
  197. package/dist/cjs/modules/debug/tag.js +0 -19
  198. package/dist/cjs/utils/eth.js +0 -216
  199. package/dist/cjs/utils/hash.js +0 -21
  200. package/dist/cjs/utils/hex.js +0 -150
  201. package/dist/cjs/utils/reference.js +0 -36
  202. package/dist/index.browser.min.js.LICENSE.txt +0 -8
  203. package/dist/mjs/chunk/signer.js +0 -114
  204. package/dist/mjs/chunk/span.js +0 -21
  205. package/dist/mjs/feed/json.js +0 -26
  206. package/dist/mjs/feed/topic.js +0 -19
  207. package/dist/mjs/feed/type.js +0 -10
  208. package/dist/mjs/modules/debug/chunk.js +0 -17
  209. package/dist/mjs/modules/debug/tag.js +0 -15
  210. package/dist/mjs/utils/eth.js +0 -192
  211. package/dist/mjs/utils/hash.js +0 -16
  212. package/dist/mjs/utils/hex.js +0 -135
  213. package/dist/mjs/utils/reference.js +0 -29
  214. package/dist/types/chunk/signer.d.ts +0 -31
  215. package/dist/types/chunk/span.d.ts +0 -10
  216. package/dist/types/feed/json.d.ts +0 -4
  217. package/dist/types/feed/topic.d.ts +0 -3
  218. package/dist/types/feed/type.d.ts +0 -6
  219. package/dist/types/modules/debug/chunk.d.ts +0 -10
  220. package/dist/types/modules/debug/tag.d.ts +0 -8
  221. package/dist/types/utils/eth.d.ts +0 -67
  222. package/dist/types/utils/hash.d.ts +0 -9
  223. package/dist/types/utils/hex.d.ts +0 -86
  224. package/dist/types/utils/reference.d.ts +0 -2
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getVersions = exports.isSupportedApiVersion = exports.isSupportedMainApiVersion = exports.isSupportedExactVersion = exports.isSupportedVersion = exports.getNodeInfo = exports.getReadiness = exports.getHealth = exports.getDebugStatus = exports.SUPPORTED_BEE_VERSION = exports.SUPPORTED_API_VERSION = exports.SUPPORTED_BEE_VERSION_EXACT = void 0;
6
+ exports.getVersions = exports.isSupportedApiVersion = exports.isSupportedExactVersion = exports.getNodeInfo = exports.getReadiness = exports.getHealth = exports.getDebugStatus = exports.SUPPORTED_API_VERSION = exports.SUPPORTED_BEE_VERSION = exports.SUPPORTED_BEE_VERSION_EXACT = void 0;
7
+ const cafe_utility_1 = require("cafe-utility");
7
8
  const major_js_1 = __importDefault(require("semver/functions/major.js"));
9
+ const debug_1 = require("../../types/debug");
8
10
  const http_1 = require("../../utils/http");
9
- // Following lines bellow are automatically updated with GitHub Action when Bee version is updated
10
- // so if you are changing anything about them change the `update_bee` action accordingly!
11
- exports.SUPPORTED_BEE_VERSION_EXACT = '2.2.0-06a0aca7';
12
- exports.SUPPORTED_API_VERSION = '7.1.0';
11
+ exports.SUPPORTED_BEE_VERSION_EXACT = '2.4.0-390a402e';
13
12
  exports.SUPPORTED_BEE_VERSION = exports.SUPPORTED_BEE_VERSION_EXACT.split('-')[0];
13
+ exports.SUPPORTED_API_VERSION = '7.2.0';
14
14
  const NODE_INFO_URL = 'node';
15
15
  const STATUS_URL = 'status';
16
16
  const HEALTH_URL = 'health';
@@ -21,7 +21,22 @@ async function getDebugStatus(requestOptions) {
21
21
  url: STATUS_URL,
22
22
  responseType: 'json',
23
23
  });
24
- return response.data;
24
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
25
+ return {
26
+ overlay: cafe_utility_1.Types.asString(body.overlay, { name: 'overlay' }),
27
+ proximity: cafe_utility_1.Types.asNumber(body.proximity, { name: 'proximity' }),
28
+ beeMode: (0, debug_1.toBeeMode)(cafe_utility_1.Types.asString(body.beeMode, { name: 'beeMode' })),
29
+ reserveSize: cafe_utility_1.Types.asNumber(body.reserveSize, { name: 'reserveSize' }),
30
+ reserveSizeWithinRadius: cafe_utility_1.Types.asNumber(body.reserveSizeWithinRadius, { name: 'reserveSizeWithinRadius' }),
31
+ pullsyncRate: cafe_utility_1.Types.asNumber(body.pullsyncRate, { name: 'pullsyncRate' }),
32
+ storageRadius: cafe_utility_1.Types.asNumber(body.storageRadius, { name: 'storageRadius' }),
33
+ connectedPeers: cafe_utility_1.Types.asNumber(body.connectedPeers, { name: 'connectedPeers' }),
34
+ neighborhoodSize: cafe_utility_1.Types.asNumber(body.neighborhoodSize, { name: 'neighborhoodSize' }),
35
+ batchCommitment: cafe_utility_1.Types.asNumber(body.batchCommitment, { name: 'batchCommitment' }),
36
+ isReachable: cafe_utility_1.Types.asBoolean(body.isReachable, { name: 'isReachable' }),
37
+ lastSyncedBlock: cafe_utility_1.Types.asNumber(body.lastSyncedBlock, { name: 'lastSyncedBlock' }),
38
+ committedDepth: cafe_utility_1.Types.asNumber(body.committedDepth, { name: 'committedDepth' }),
39
+ };
25
40
  }
26
41
  exports.getDebugStatus = getDebugStatus;
27
42
  /**
@@ -35,7 +50,12 @@ async function getHealth(requestOptions) {
35
50
  url: HEALTH_URL,
36
51
  responseType: 'json',
37
52
  });
38
- return response.data;
53
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
54
+ return {
55
+ apiVersion: cafe_utility_1.Types.asString(body.apiVersion, { name: 'apiVersion' }),
56
+ version: cafe_utility_1.Types.asString(body.version, { name: 'version' }),
57
+ status: cafe_utility_1.Types.asString(body.status, { name: 'status' }),
58
+ };
39
59
  }
40
60
  exports.getHealth = getHealth;
41
61
  /**
@@ -44,16 +64,16 @@ exports.getHealth = getHealth;
44
64
  * @param requestOptions Options for making requests
45
65
  */
46
66
  async function getReadiness(requestOptions) {
47
- try {
48
- const response = await (0, http_1.http)(requestOptions, {
49
- method: 'get',
50
- url: READINESS_URL,
51
- });
52
- return response.status === 200;
53
- }
54
- catch {
55
- return false;
56
- }
67
+ const response = await (0, http_1.http)(requestOptions, {
68
+ method: 'get',
69
+ url: READINESS_URL,
70
+ });
71
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
72
+ return {
73
+ apiVersion: cafe_utility_1.Types.asString(body.apiVersion, { name: 'apiVersion' }),
74
+ version: cafe_utility_1.Types.asString(body.version, { name: 'version' }),
75
+ status: cafe_utility_1.Types.asString(body.status, { name: 'status' }),
76
+ };
57
77
  }
58
78
  exports.getReadiness = getReadiness;
59
79
  /**
@@ -67,28 +87,19 @@ async function getNodeInfo(requestOptions) {
67
87
  url: NODE_INFO_URL,
68
88
  responseType: 'json',
69
89
  });
70
- return response.data;
90
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
91
+ return {
92
+ beeMode: (0, debug_1.toBeeMode)(cafe_utility_1.Types.asString(body.beeMode, { name: 'beeMode' })),
93
+ chequebookEnabled: cafe_utility_1.Types.asBoolean(body.chequebookEnabled, { name: 'chequebookEnabled' }),
94
+ swapEnabled: cafe_utility_1.Types.asBoolean(body.swapEnabled, { name: 'swapEnabled' }),
95
+ };
71
96
  }
72
97
  exports.getNodeInfo = getNodeInfo;
73
- /**
74
- * Connects to a node and checks if it is a supported Bee version by the bee-js
75
- *
76
- * @param requestOptions Options for making requests
77
- * @returns true if the Bee node version is supported
78
- * @deprecated Use `isSupportedExactVersion` instead
79
- */
80
- // TODO: Remove on break
81
- async function isSupportedVersion(requestOptions) {
82
- return isSupportedExactVersion(requestOptions);
83
- }
84
- exports.isSupportedVersion = isSupportedVersion;
85
98
  /**
86
99
  * Connects to a node and checks if its version matches with the one that bee-js supports.
87
100
  *
88
- * Be aware that this is the most strict version check and most probably
89
- * you will want to use more relaxed API-versions based checks like
90
- * `isSupportedApiVersion`, `isSupportedMainApiVersion` or `isSupportedDebugApiVersion`
91
- * based on your use-case.
101
+ * This is the most strict version check and most probably you will
102
+ * want to use the relaxed API-versions check `isSupportedApiVersion`.
92
103
  *
93
104
  * @param requestOptions Options for making requests
94
105
  */
@@ -97,19 +108,6 @@ async function isSupportedExactVersion(requestOptions) {
97
108
  return version === exports.SUPPORTED_BEE_VERSION_EXACT;
98
109
  }
99
110
  exports.isSupportedExactVersion = isSupportedExactVersion;
100
- /**
101
- * Connects to a node and checks if its main's API version matches with the one that bee-js supports.
102
- *
103
- * This is useful if you are not using `Bee` class (for anything else then this check)
104
- * and want to make sure about compatibility.
105
- *
106
- * @param requestOptions Options for making requests
107
- */
108
- async function isSupportedMainApiVersion(requestOptions) {
109
- const { apiVersion } = await getHealth(requestOptions);
110
- return (0, major_js_1.default)(apiVersion) === (0, major_js_1.default)(exports.SUPPORTED_API_VERSION);
111
- }
112
- exports.isSupportedMainApiVersion = isSupportedMainApiVersion;
113
111
  /**
114
112
  * Connects to a node and checks if its Main API versions matches with the one that bee-js supports.
115
113
  *
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cancelTransaction = exports.rebroadcastTransaction = exports.getTransaction = exports.getAllTransactions = void 0;
4
+ const cafe_utility_1 = require("cafe-utility");
4
5
  const http_1 = require("../../utils/http");
6
+ const type_1 = require("../../utils/type");
7
+ const typed_bytes_1 = require("../../utils/typed-bytes");
5
8
  const transactionsEndpoint = 'transactions';
6
9
  /**
7
10
  * Get list of all pending transactions
@@ -13,7 +16,9 @@ async function getAllTransactions(requestOptions) {
13
16
  url: transactionsEndpoint,
14
17
  responseType: 'json',
15
18
  });
16
- return response.data.pendingTransactions;
19
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
20
+ const pendingTransactions = cafe_utility_1.Types.asArray(body.pendingTransactions, { name: 'pendingTransactions' });
21
+ return pendingTransactions.map(toTransaction);
17
22
  }
18
23
  exports.getAllTransactions = getAllTransactions;
19
24
  /**
@@ -27,9 +32,24 @@ async function getTransaction(requestOptions, transactionHash) {
27
32
  url: `${transactionsEndpoint}/${transactionHash}`,
28
33
  responseType: 'json',
29
34
  });
30
- return response.data;
35
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
36
+ return toTransaction(body);
31
37
  }
32
38
  exports.getTransaction = getTransaction;
39
+ function toTransaction(value) {
40
+ const object = cafe_utility_1.Types.asObject(value, { name: 'transaction' });
41
+ return {
42
+ transactionHash: new typed_bytes_1.TransactionId(cafe_utility_1.Types.asString(object.transactionHash, { name: 'transactionHash' })),
43
+ to: cafe_utility_1.Types.asString(object.to, { name: 'to' }),
44
+ nonce: cafe_utility_1.Types.asNumber(object.nonce, { name: 'nonce' }),
45
+ gasPrice: (0, type_1.asNumberString)(object.gasPrice, { name: 'gasPrice' }),
46
+ gasLimit: cafe_utility_1.Types.asNumber(object.gasLimit, { name: 'gasLimit' }),
47
+ data: cafe_utility_1.Types.asString(object.data, { name: 'data' }),
48
+ created: cafe_utility_1.Types.asString(object.created, { name: 'created' }),
49
+ description: cafe_utility_1.Types.asString(object.description, { name: 'description' }),
50
+ value: (0, type_1.asNumberString)(object.value, { name: 'value' }),
51
+ };
52
+ }
33
53
  /**
34
54
  * Rebroadcast existing transaction
35
55
  *
@@ -42,7 +62,8 @@ async function rebroadcastTransaction(requestOptions, transactionHash) {
42
62
  url: `${transactionsEndpoint}/${transactionHash}`,
43
63
  responseType: 'json',
44
64
  });
45
- return response.data.transactionHash;
65
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
66
+ return new typed_bytes_1.TransactionId(cafe_utility_1.Types.asString(body.transactionHash, { name: 'transactionHash' }));
46
67
  }
47
68
  exports.rebroadcastTransaction = rebroadcastTransaction;
48
69
  /**
@@ -55,7 +76,7 @@ exports.rebroadcastTransaction = rebroadcastTransaction;
55
76
  async function cancelTransaction(requestOptions, transactionHash, gasPrice) {
56
77
  const headers = {};
57
78
  if (gasPrice) {
58
- headers['gas-price'] = gasPrice;
79
+ headers['gas-price'] = gasPrice.toString();
59
80
  }
60
81
  const response = await (0, http_1.http)(requestOptions, {
61
82
  method: 'delete',
@@ -63,6 +84,7 @@ async function cancelTransaction(requestOptions, transactionHash, gasPrice) {
63
84
  url: `${transactionsEndpoint}/${transactionHash}`,
64
85
  responseType: 'json',
65
86
  });
66
- return response.data.transactionHash;
87
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
88
+ return new typed_bytes_1.TransactionId(cafe_utility_1.Types.asString(body.transactionHash, { name: 'transactionHash' }));
67
89
  }
68
90
  exports.cancelTransaction = cancelTransaction;
@@ -5,19 +5,21 @@ const cafe_utility_1 = require("cafe-utility");
5
5
  const http_1 = require("../utils/http");
6
6
  const ENVELOPE_ENDPOINT = 'envelope';
7
7
  async function postEnvelope(requestOptions, postageBatchId, reference) {
8
- const { data } = await (0, http_1.http)(requestOptions, {
8
+ const response = await (0, http_1.http)(requestOptions, {
9
9
  method: 'post',
10
10
  responseType: 'json',
11
11
  url: `${ENVELOPE_ENDPOINT}/${reference}`,
12
12
  headers: {
13
- 'swarm-postage-batch-id': postageBatchId,
13
+ 'swarm-postage-batch-id': postageBatchId.toHex(),
14
14
  },
15
15
  });
16
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
16
17
  return {
17
- issuer: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(data.issuer, { name: 'issuer', byteLength: 20 })),
18
- index: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(data.index, { name: 'index', byteLength: 8 })),
19
- timestamp: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(data.timestamp, { name: 'timestamp', byteLength: 8 })),
20
- signature: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(data.signature, { name: 'signature', byteLength: 65 })),
18
+ issuer: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(body.issuer, { name: 'issuer', byteLength: 20 })),
19
+ index: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(body.index, { name: 'index', byteLength: 8 })),
20
+ timestamp: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(body.timestamp, { name: 'timestamp', byteLength: 8 })),
21
+ signature: cafe_utility_1.Binary.hexToUint8Array(cafe_utility_1.Types.asHexString(body.signature, { name: 'signature', byteLength: 65 })),
22
+ batchId: postageBatchId,
21
23
  };
22
24
  }
23
25
  exports.postEnvelope = postEnvelope;
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchLatestFeedUpdate = exports.createFeedManifest = void 0;
3
+ exports.probeFeed = exports.fetchLatestFeedUpdate = exports.createFeedManifest = void 0;
4
+ const cafe_utility_1 = require("cafe-utility");
5
+ const bytes_1 = require("../utils/bytes");
4
6
  const error_1 = require("../utils/error");
5
7
  const headers_1 = require("../utils/headers");
6
8
  const http_1 = require("../utils/http");
9
+ const typed_bytes_1 = require("../utils/typed-bytes");
7
10
  const feedEndpoint = 'feeds';
8
11
  /**
9
12
  * Create an initial feed root manifest
@@ -14,14 +17,15 @@ const feedEndpoint = 'feeds';
14
17
  * @param postageBatchId Postage BatchId to be used to create the Feed Manifest
15
18
  * @param options Additional options, like type (default: 'sequence')
16
19
  */
17
- async function createFeedManifest(requestOptions, owner, topic, stamp) {
20
+ async function createFeedManifest(requestOptions, owner, topic, stamp, options) {
18
21
  const response = await (0, http_1.http)(requestOptions, {
19
22
  method: 'post',
20
23
  responseType: 'json',
21
24
  url: `${feedEndpoint}/${owner}/${topic}`,
22
- headers: (0, headers_1.extractUploadHeaders)(stamp),
25
+ headers: (0, headers_1.prepareRequestHeaders)(stamp, options),
23
26
  });
24
- return response.data.reference;
27
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
28
+ return new typed_bytes_1.Reference(cafe_utility_1.Types.asHexString(body.reference));
25
29
  }
26
30
  exports.createFeedManifest = createFeedManifest;
27
31
  function readFeedUpdateHeaders(headers) {
@@ -34,8 +38,8 @@ function readFeedUpdateHeaders(headers) {
34
38
  throw new error_1.BeeError('Response did not contain expected swarm-feed-index-next!');
35
39
  }
36
40
  return {
37
- feedIndex,
38
- feedIndexNext,
41
+ feedIndex: new typed_bytes_1.FeedIndex(feedIndex),
42
+ feedIndexNext: new typed_bytes_1.FeedIndex(feedIndexNext),
39
43
  };
40
44
  }
41
45
  /**
@@ -47,19 +51,30 @@ function readFeedUpdateHeaders(headers) {
47
51
  * index of the subsequent update.
48
52
  *
49
53
  * @param requestOptions Options for making requests
50
- * @param owner Owner's ethereum address in hex
51
- * @param topic Topic in hex
54
+ * @param owner Owner's ethereum address
55
+ * @param topic Topic
52
56
  * @param options Additional options, like index, at, type
53
57
  */
54
58
  async function fetchLatestFeedUpdate(requestOptions, owner, topic, options) {
55
59
  const response = await (0, http_1.http)(requestOptions, {
56
- responseType: 'json',
60
+ responseType: 'arraybuffer',
57
61
  url: `${feedEndpoint}/${owner}/${topic}`,
58
62
  params: options,
59
63
  });
60
64
  return {
61
- ...response.data,
65
+ payload: new bytes_1.Bytes(response.data),
62
66
  ...readFeedUpdateHeaders(response.headers),
63
67
  };
64
68
  }
65
69
  exports.fetchLatestFeedUpdate = fetchLatestFeedUpdate;
70
+ async function probeFeed(requestOptions, owner, topic) {
71
+ const response = await (0, http_1.http)(requestOptions, {
72
+ responseType: 'arraybuffer',
73
+ url: `${feedEndpoint}/${owner}/${topic}`,
74
+ params: {
75
+ 'Swarm-Only-Root-Chunk': true,
76
+ },
77
+ });
78
+ return readFeedUpdateHeaders(response.headers);
79
+ }
80
+ exports.probeFeed = probeFeed;
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.patchGrantees = exports.createGrantees = exports.getGrantees = void 0;
4
+ const cafe_utility_1 = require("cafe-utility");
4
5
  const headers_1 = require("../utils/headers");
5
6
  const http_1 = require("../utils/http");
7
+ const typed_bytes_1 = require("../utils/typed-bytes");
6
8
  const granteeEndpoint = 'grantee';
7
9
  async function getGrantees(reference, requestOptions) {
8
10
  const response = await (0, http_1.http)(requestOptions, {
@@ -10,10 +12,11 @@ async function getGrantees(reference, requestOptions) {
10
12
  url: `${granteeEndpoint}/${reference}`,
11
13
  responseType: 'json',
12
14
  });
15
+ const body = cafe_utility_1.Types.asArray(response.data, { name: 'response.data' }).map(x => new typed_bytes_1.PublicKey(cafe_utility_1.Types.asString(x, { name: 'grantee' })));
13
16
  return {
14
17
  status: response.status,
15
18
  statusText: response.statusText,
16
- data: response.data,
19
+ grantees: body,
17
20
  };
18
21
  }
19
22
  exports.getGrantees = getGrantees;
@@ -21,17 +24,16 @@ async function createGrantees(requestOptions, postageBatchId, grantees) {
21
24
  const response = await (0, http_1.http)(requestOptions, {
22
25
  method: 'post',
23
26
  url: granteeEndpoint,
24
- data: { grantees },
25
- headers: {
26
- ...(0, headers_1.extractRedundantUploadHeaders)(postageBatchId),
27
- },
27
+ data: { grantees: grantees.map(x => x.toCompressedHex()) },
28
+ headers: (0, headers_1.prepareRequestHeaders)(postageBatchId),
28
29
  responseType: 'json',
29
30
  });
31
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
30
32
  return {
31
33
  status: response.status,
32
34
  statusText: response.statusText,
33
- ref: response.data.ref,
34
- historyref: response.data.historyref,
35
+ ref: new typed_bytes_1.Reference(cafe_utility_1.Types.asString(body.ref, { name: 'ref' })),
36
+ historyref: new typed_bytes_1.Reference(cafe_utility_1.Types.asString(body.historyref, { name: 'historyref' })),
35
37
  };
36
38
  }
37
39
  exports.createGrantees = createGrantees;
@@ -39,18 +41,22 @@ async function patchGrantees(postageBatchId, reference, historyRef, grantees, re
39
41
  const response = await (0, http_1.http)(requestOptions, {
40
42
  method: 'patch',
41
43
  url: `${granteeEndpoint}/${reference}`,
42
- data: grantees,
44
+ data: {
45
+ add: grantees.add?.map(x => x.toCompressedHex()),
46
+ revoke: grantees.revoke?.map(x => x.toCompressedHex()),
47
+ },
43
48
  headers: {
44
- ...(0, headers_1.extractRedundantUploadHeaders)(postageBatchId),
45
- 'swarm-act-history-address': historyRef,
49
+ ...(0, headers_1.prepareRequestHeaders)(postageBatchId),
50
+ 'swarm-act-history-address': historyRef.toHex(),
46
51
  },
47
52
  responseType: 'json',
48
53
  });
54
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
49
55
  return {
50
56
  status: response.status,
51
57
  statusText: response.statusText,
52
- ref: response.data.ref,
53
- historyref: response.data.historyref,
58
+ ref: new typed_bytes_1.Reference(cafe_utility_1.Types.asString(body.ref, { name: 'ref' })),
59
+ historyref: new typed_bytes_1.Reference(cafe_utility_1.Types.asString(body.historyref, { name: 'historyref' })),
54
60
  };
55
61
  }
56
62
  exports.patchGrantees = patchGrantees;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.subscribe = exports.send = void 0;
7
+ const cafe_utility_1 = require("cafe-utility");
8
+ const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
9
+ const soc_1 = require("../chunk/soc");
10
+ const endpoint = 'gsoc';
11
+ async function send(requestOptions, soc, stamp, options) {
12
+ return (0, soc_1.uploadSingleOwnerChunk)(requestOptions, soc, stamp, options);
13
+ }
14
+ exports.send = send;
15
+ function subscribe(url, reference, headers) {
16
+ const wsUrl = url.replace(/^http/i, 'ws');
17
+ if (cafe_utility_1.System.whereAmI() === 'browser') {
18
+ return new isomorphic_ws_1.default(`${wsUrl}/${endpoint}/subscribe/${reference.toHex()}`);
19
+ }
20
+ return new isomorphic_ws_1.default(`${wsUrl}/${endpoint}/subscribe/${reference.toHex()}`, {
21
+ headers,
22
+ });
23
+ }
24
+ exports.subscribe = subscribe;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAllPins = exports.getPin = exports.unpin = exports.pin = void 0;
4
+ const cafe_utility_1 = require("cafe-utility");
4
5
  const http_1 = require("../utils/http");
6
+ const typed_bytes_1 = require("../utils/typed-bytes");
5
7
  const PINNING_ENDPOINT = 'pins';
6
8
  /**
7
9
  * Pin data with given reference
@@ -44,7 +46,10 @@ async function getPin(requestOptions, reference) {
44
46
  responseType: 'json',
45
47
  url: `${PINNING_ENDPOINT}/${reference}`,
46
48
  });
47
- return response.data;
49
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
50
+ return {
51
+ reference: new typed_bytes_1.Reference(cafe_utility_1.Types.asString(body.reference, { name: 'reference' })),
52
+ };
48
53
  }
49
54
  exports.getPin = getPin;
50
55
  /**
@@ -58,6 +63,12 @@ async function getAllPins(requestOptions) {
58
63
  responseType: 'json',
59
64
  url: `${PINNING_ENDPOINT}`,
60
65
  });
61
- return response.data.references || [];
66
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
67
+ // TODO: https://github.com/ethersphere/bee/issues/4964
68
+ if (body.references === null) {
69
+ return [];
70
+ }
71
+ const references = cafe_utility_1.Types.asArray(body.references, { name: 'references' }).map(x => cafe_utility_1.Types.asString(x, { name: 'reference' }));
72
+ return references.map(x => new typed_bytes_1.Reference(x));
62
73
  }
63
74
  exports.getAllPins = getAllPins;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.subscribe = exports.send = void 0;
7
+ const cafe_utility_1 = require("cafe-utility");
7
8
  const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
8
9
  const headers_1 = require("../utils/headers");
9
10
  const http_1 = require("../utils/http");
@@ -26,7 +27,7 @@ async function send(requestOptions, topic, target, data, postageBatchId, recipie
26
27
  data,
27
28
  responseType: 'json',
28
29
  params: { recipient },
29
- headers: (0, headers_1.extractUploadHeaders)(postageBatchId),
30
+ headers: (0, headers_1.prepareRequestHeaders)(postageBatchId),
30
31
  });
31
32
  }
32
33
  exports.send = send;
@@ -36,8 +37,13 @@ exports.send = send;
36
37
  * @param url Bee node URL
37
38
  * @param topic Topic name
38
39
  */
39
- function subscribe(url, topic) {
40
+ function subscribe(url, topic, headers) {
40
41
  const wsUrl = url.replace(/^http/i, 'ws');
41
- return new isomorphic_ws_1.default(`${wsUrl}/${endpoint}/subscribe/${topic}`);
42
+ if (cafe_utility_1.System.whereAmI() === 'browser') {
43
+ return new isomorphic_ws_1.default(`${wsUrl}/${endpoint}/subscribe/${topic.toHex()}`);
44
+ }
45
+ return new isomorphic_ws_1.default(`${wsUrl}/${endpoint}/subscribe/${topic.toHex()}`, {
46
+ headers,
47
+ });
42
48
  }
43
49
  exports.subscribe = subscribe;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.upload = void 0;
4
+ const cafe_utility_1 = require("cafe-utility");
4
5
  const headers_1 = require("../utils/headers");
5
6
  const http_1 = require("../utils/http");
6
7
  const type_1 = require("../utils/type");
8
+ const typed_bytes_1 = require("../utils/typed-bytes");
7
9
  const socEndpoint = 'soc';
8
10
  /**
9
11
  * Upload single owner chunk (SOC) to a Bee node
@@ -23,15 +25,18 @@ async function upload(requestOptions, owner, identifier, signature, data, stamp,
23
25
  data,
24
26
  headers: {
25
27
  'content-type': 'application/octet-stream',
26
- ...(0, headers_1.extractUploadHeaders)(stamp, options),
28
+ ...(0, headers_1.prepareRequestHeaders)(stamp, options),
27
29
  },
28
30
  responseType: 'json',
29
- params: { sig: signature },
31
+ params: { sig: signature.toHex() },
30
32
  });
33
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
31
34
  return {
32
- reference: response.data.reference,
35
+ reference: new typed_bytes_1.Reference(cafe_utility_1.Types.asHexString(body.reference)),
33
36
  tagUid: response.headers['swarm-tag'] ? (0, type_1.makeTagUid)(response.headers['swarm-tag']) : undefined,
34
- historyAddress: response.headers['swarm-act-history-address'] || '',
37
+ historyAddress: response.headers['swarm-act-history-address']
38
+ ? cafe_utility_1.Optional.of(new typed_bytes_1.Reference(response.headers['swarm-act-history-address']))
39
+ : cafe_utility_1.Optional.empty(),
35
40
  };
36
41
  }
37
42
  exports.upload = upload;
@@ -1,28 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isRetrievable = exports.reupload = void 0;
4
+ const cafe_utility_1 = require("cafe-utility");
4
5
  const http_1 = require("../utils/http");
6
+ const typed_bytes_1 = require("../utils/typed-bytes");
5
7
  const stewardshipEndpoint = 'stewardship';
6
8
  /**
7
9
  * Reupload locally pinned data
8
10
  * @param requestOptions Options for making requests
9
11
  * @param reference
10
- * @param options
11
12
  * @throws BeeResponseError if not locally pinned or invalid data
12
13
  */
13
- async function reupload(requestOptions, reference) {
14
+ async function reupload(requestOptions, stamp, reference) {
14
15
  await (0, http_1.http)(requestOptions, {
15
16
  method: 'put',
16
17
  url: `${stewardshipEndpoint}/${reference}`,
18
+ headers: { 'swarm-postage-batch-id': stamp.toHex() },
17
19
  });
18
20
  }
19
21
  exports.reupload = reupload;
20
22
  async function isRetrievable(requestOptions, reference) {
23
+ reference = new typed_bytes_1.Reference(reference);
21
24
  const response = await (0, http_1.http)(requestOptions, {
22
25
  method: 'get',
23
26
  responseType: 'json',
24
27
  url: `${stewardshipEndpoint}/${reference}`,
25
28
  });
26
- return response.data.isRetrievable;
29
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
30
+ return cafe_utility_1.Types.asBoolean(body.isRetrievable, { name: 'isRetrievable' });
27
31
  }
28
32
  exports.isRetrievable = isRetrievable;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateTag = exports.deleteTag = exports.getAllTags = exports.retrieveTag = exports.createTag = void 0;
4
+ const cafe_utility_1 = require("cafe-utility");
4
5
  const http_1 = require("../utils/http");
5
6
  const endpoint = 'tags';
6
7
  /**
@@ -14,7 +15,17 @@ async function createTag(requestOptions) {
14
15
  url: endpoint,
15
16
  responseType: 'json',
16
17
  });
17
- return response.data;
18
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
19
+ return {
20
+ address: cafe_utility_1.Types.asEmptiableString(body.address, { name: 'address' }),
21
+ seen: cafe_utility_1.Types.asNumber(body.seen, { name: 'seen' }),
22
+ sent: cafe_utility_1.Types.asNumber(body.sent, { name: 'sent' }),
23
+ split: cafe_utility_1.Types.asNumber(body.split, { name: 'split' }),
24
+ startedAt: cafe_utility_1.Types.asString(body.startedAt, { name: 'startedAt' }),
25
+ stored: cafe_utility_1.Types.asNumber(body.stored, { name: 'stored' }),
26
+ synced: cafe_utility_1.Types.asNumber(body.synced, { name: 'synced' }),
27
+ uid: cafe_utility_1.Types.asNumber(body.uid, { name: 'uid' }),
28
+ };
18
29
  }
19
30
  exports.createTag = createTag;
20
31
  /**
@@ -28,7 +39,17 @@ async function retrieveTag(requestOptions, uid) {
28
39
  url: `${endpoint}/${uid}`,
29
40
  responseType: 'json',
30
41
  });
31
- return response.data;
42
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
43
+ return {
44
+ address: cafe_utility_1.Types.asEmptiableString(body.address, { name: 'address' }),
45
+ seen: cafe_utility_1.Types.asNumber(body.seen, { name: 'seen' }),
46
+ sent: cafe_utility_1.Types.asNumber(body.sent, { name: 'sent' }),
47
+ split: cafe_utility_1.Types.asNumber(body.split, { name: 'split' }),
48
+ startedAt: cafe_utility_1.Types.asString(body.startedAt, { name: 'startedAt' }),
49
+ stored: cafe_utility_1.Types.asNumber(body.stored, { name: 'stored' }),
50
+ synced: cafe_utility_1.Types.asNumber(body.synced, { name: 'synced' }),
51
+ uid: cafe_utility_1.Types.asNumber(body.uid, { name: 'uid' }),
52
+ };
32
53
  }
33
54
  exports.retrieveTag = retrieveTag;
34
55
  /**
@@ -44,7 +65,18 @@ async function getAllTags(requestOptions, offset, limit) {
44
65
  params: { offset, limit },
45
66
  responseType: 'json',
46
67
  });
47
- return response.data.tags;
68
+ const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' });
69
+ const tags = cafe_utility_1.Types.asArray(body.tags, { name: 'tags' }).map(x => cafe_utility_1.Types.asObject(x, { name: 'tag' }));
70
+ return tags.map(x => ({
71
+ address: cafe_utility_1.Types.asEmptiableString(x.address, { name: 'address' }),
72
+ seen: cafe_utility_1.Types.asNumber(x.seen, { name: 'seen' }),
73
+ sent: cafe_utility_1.Types.asNumber(x.sent, { name: 'sent' }),
74
+ split: cafe_utility_1.Types.asNumber(x.split, { name: 'split' }),
75
+ startedAt: cafe_utility_1.Types.asString(x.startedAt, { name: 'startedAt' }),
76
+ stored: cafe_utility_1.Types.asNumber(x.stored, { name: 'stored' }),
77
+ synced: cafe_utility_1.Types.asNumber(x.synced, { name: 'synced' }),
78
+ uid: cafe_utility_1.Types.asNumber(x.uid, { name: 'uid' }),
79
+ }));
48
80
  }
49
81
  exports.getAllTags = getAllTags;
50
82
  /**
@@ -6,6 +6,7 @@
6
6
  "./utils/tar.js": "./utils/tar.browser.js",
7
7
  "./utils/tar-writer.js": "./utils/tar-writer.browser.js",
8
8
  "./utils/tar-uploader.js": "./utils/tar-uploader.browser.js",
9
+ "./utils/chunk-stream.js": "./utils/chunk-stream.browser.js",
9
10
  "./utils/data.js": "./utils/data.browser.js",
10
11
  "./utils/collection.node.js": "./utils/collection.browser.js"
11
12
  }