@azure/storage-blob-changefeed 12.0.0-preview.3 → 12.0.0-preview.5

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 (507) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +87 -47
  3. package/{types/3.1/storage-blob-changefeed/src → dist/browser}/AvroReaderFactory.d.ts +10 -9
  4. package/dist/browser/AvroReaderFactory.d.ts.map +1 -0
  5. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/AvroReaderFactory.js +2 -2
  6. package/dist/browser/AvroReaderFactory.js.map +1 -0
  7. package/dist/browser/BlobChangeFeedClient.d.ts +201 -0
  8. package/dist/browser/BlobChangeFeedClient.d.ts.map +1 -0
  9. package/dist/browser/BlobChangeFeedClient.js +242 -0
  10. package/dist/browser/BlobChangeFeedClient.js.map +1 -0
  11. package/{types/3.1/storage-blob-changefeed/src → dist/browser}/ChangeFeed.d.ts +37 -37
  12. package/dist/browser/ChangeFeed.d.ts.map +1 -0
  13. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/ChangeFeed.js +20 -32
  14. package/dist/browser/ChangeFeed.js.map +1 -0
  15. package/dist/browser/ChangeFeedFactory.d.ts +13 -0
  16. package/dist/browser/ChangeFeedFactory.d.ts.map +1 -0
  17. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/ChangeFeedFactory.js +45 -32
  18. package/dist/browser/ChangeFeedFactory.js.map +1 -0
  19. package/{types/latest/storage-blob-changefeed/src → dist/browser}/Chunk.d.ts +4 -5
  20. package/dist/browser/Chunk.d.ts.map +1 -0
  21. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/Chunk.js +13 -8
  22. package/dist/browser/Chunk.js.map +1 -0
  23. package/{types/latest/storage-blob-changefeed/src → dist/browser}/ChunkFactory.d.ts +7 -6
  24. package/dist/browser/ChunkFactory.d.ts.map +1 -0
  25. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/ChunkFactory.js +11 -7
  26. package/dist/browser/ChunkFactory.js.map +1 -0
  27. package/{types/latest/storage-blob-changefeed/src → dist/browser}/LazyLoadingBlobStream.d.ts +4 -4
  28. package/dist/browser/LazyLoadingBlobStream.d.ts.map +1 -0
  29. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/LazyLoadingBlobStream.js +25 -36
  30. package/dist/browser/LazyLoadingBlobStream.js.map +1 -0
  31. package/dist/browser/LazyLoadingBlobStreamFactory.d.ts +7 -0
  32. package/dist/browser/LazyLoadingBlobStreamFactory.d.ts.map +1 -0
  33. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/LazyLoadingBlobStreamFactory.js +2 -2
  34. package/dist/browser/LazyLoadingBlobStreamFactory.js.map +1 -0
  35. package/{types/latest/storage-blob-changefeed/src → dist/browser}/Segment.d.ts +5 -5
  36. package/dist/browser/Segment.d.ts.map +1 -0
  37. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/Segment.js +16 -19
  38. package/dist/browser/Segment.js.map +1 -0
  39. package/{types/3.1/storage-blob-changefeed/src → dist/browser}/SegmentFactory.d.ts +29 -29
  40. package/dist/browser/SegmentFactory.d.ts.map +1 -0
  41. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/SegmentFactory.js +12 -23
  42. package/dist/browser/SegmentFactory.js.map +1 -0
  43. package/{types/3.1/storage-blob-changefeed/src → dist/browser}/Shard.d.ts +28 -28
  44. package/dist/browser/Shard.d.ts.map +1 -0
  45. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/Shard.js +9 -16
  46. package/dist/browser/Shard.js.map +1 -0
  47. package/{types/latest/storage-blob-changefeed/src → dist/browser}/ShardFactory.d.ts +5 -5
  48. package/dist/browser/ShardFactory.d.ts.map +1 -0
  49. package/dist/browser/ShardFactory.js +55 -0
  50. package/dist/browser/ShardFactory.js.map +1 -0
  51. package/dist/browser/index.d.ts +4 -0
  52. package/dist/browser/index.d.ts.map +1 -0
  53. package/dist/browser/index.js +6 -0
  54. package/dist/browser/index.js.map +1 -0
  55. package/dist/browser/log.d.ts.map +1 -0
  56. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/log.js +1 -1
  57. package/dist/browser/log.js.map +1 -0
  58. package/{types/latest/storage-blob-changefeed/src → dist/browser}/models/BlobChangeFeedEvent.d.ts +5 -5
  59. package/dist/browser/models/BlobChangeFeedEvent.d.ts.map +1 -0
  60. package/dist/browser/models/BlobChangeFeedEvent.js +4 -0
  61. package/dist/browser/models/BlobChangeFeedEvent.js.map +1 -0
  62. package/dist/browser/models/ChangeFeedCursor.d.ts.map +1 -0
  63. package/dist/browser/models/ChangeFeedCursor.js +4 -0
  64. package/dist/browser/models/ChangeFeedCursor.js.map +1 -0
  65. package/{types/latest/storage-blob-changefeed/src → dist/browser}/models/models.d.ts +2 -2
  66. package/dist/browser/models/models.d.ts.map +1 -0
  67. package/dist/browser/models/models.js +4 -0
  68. package/dist/browser/models/models.js.map +1 -0
  69. package/dist/browser/package.json +3 -0
  70. package/dist/browser/utils/constants.d.ts.map +1 -0
  71. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/utils/constants.js +2 -2
  72. package/dist/browser/utils/constants.js.map +1 -0
  73. package/dist/browser/utils/tracing.d.ts +6 -0
  74. package/dist/browser/utils/tracing.d.ts.map +1 -0
  75. package/dist/browser/utils/tracing.js +14 -0
  76. package/dist/browser/utils/tracing.js.map +1 -0
  77. package/{types/latest/storage-blob-changefeed/src → dist/browser}/utils/utils.browser.d.ts +0 -1
  78. package/dist/browser/utils/utils.browser.d.ts.map +1 -0
  79. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/utils/utils.browser.js +1 -1
  80. package/dist/browser/utils/utils.browser.js.map +1 -0
  81. package/{types/latest/storage-blob-changefeed/src → dist/browser}/utils/utils.common.d.ts +3 -10
  82. package/dist/browser/utils/utils.common.d.ts.map +1 -0
  83. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/utils/utils.common.js +26 -91
  84. package/dist/browser/utils/utils.common.js.map +1 -0
  85. package/{types/latest/storage-blob-changefeed/src → dist/browser}/utils/utils.node.d.ts +1 -2
  86. package/dist/browser/utils/utils.node.d.ts.map +1 -0
  87. package/{dist-esm/storage-blob-changefeed/src → dist/browser}/utils/utils.node.js +2 -2
  88. package/dist/browser/utils/utils.node.js.map +1 -0
  89. package/{types/latest/storage-blob-changefeed/src → dist/commonjs}/AvroReaderFactory.d.ts +2 -1
  90. package/dist/commonjs/AvroReaderFactory.d.ts.map +1 -0
  91. package/dist/commonjs/AvroReaderFactory.js +21 -0
  92. package/dist/commonjs/AvroReaderFactory.js.map +1 -0
  93. package/dist/commonjs/BlobChangeFeedClient.d.ts +201 -0
  94. package/dist/commonjs/BlobChangeFeedClient.d.ts.map +1 -0
  95. package/dist/commonjs/BlobChangeFeedClient.js +248 -0
  96. package/dist/commonjs/BlobChangeFeedClient.js.map +1 -0
  97. package/{types/latest/storage-blob-changefeed/src → dist/commonjs}/ChangeFeed.d.ts +6 -6
  98. package/dist/commonjs/ChangeFeed.d.ts.map +1 -0
  99. package/dist/commonjs/ChangeFeed.js +108 -0
  100. package/dist/commonjs/ChangeFeed.js.map +1 -0
  101. package/dist/commonjs/ChangeFeedFactory.d.ts +13 -0
  102. package/dist/commonjs/ChangeFeedFactory.d.ts.map +1 -0
  103. package/dist/commonjs/ChangeFeedFactory.js +126 -0
  104. package/dist/commonjs/ChangeFeedFactory.js.map +1 -0
  105. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/Chunk.d.ts +27 -28
  106. package/dist/commonjs/Chunk.d.ts.map +1 -0
  107. package/dist/commonjs/Chunk.js +49 -0
  108. package/dist/commonjs/Chunk.js.map +1 -0
  109. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/ChunkFactory.d.ts +23 -22
  110. package/dist/commonjs/ChunkFactory.d.ts.map +1 -0
  111. package/dist/commonjs/ChunkFactory.js +37 -0
  112. package/dist/commonjs/ChunkFactory.js.map +1 -0
  113. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/LazyLoadingBlobStream.d.ts +46 -46
  114. package/dist/commonjs/LazyLoadingBlobStream.d.ts.map +1 -0
  115. package/dist/commonjs/LazyLoadingBlobStream.js +96 -0
  116. package/dist/commonjs/LazyLoadingBlobStream.js.map +1 -0
  117. package/dist/commonjs/LazyLoadingBlobStreamFactory.d.ts +7 -0
  118. package/dist/commonjs/LazyLoadingBlobStreamFactory.d.ts.map +1 -0
  119. package/dist/commonjs/LazyLoadingBlobStreamFactory.js +13 -0
  120. package/dist/commonjs/LazyLoadingBlobStreamFactory.js.map +1 -0
  121. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/Segment.d.ts +29 -29
  122. package/dist/commonjs/Segment.d.ts.map +1 -0
  123. package/dist/commonjs/Segment.js +73 -0
  124. package/dist/commonjs/Segment.js.map +1 -0
  125. package/{types/latest/storage-blob-changefeed/src → dist/commonjs}/SegmentFactory.d.ts +5 -5
  126. package/dist/commonjs/SegmentFactory.d.ts.map +1 -0
  127. package/dist/commonjs/SegmentFactory.js +51 -0
  128. package/dist/commonjs/SegmentFactory.js.map +1 -0
  129. package/{types/latest/storage-blob-changefeed/src → dist/commonjs}/Shard.d.ts +6 -6
  130. package/dist/commonjs/Shard.d.ts.map +1 -0
  131. package/dist/commonjs/Shard.js +50 -0
  132. package/dist/commonjs/Shard.js.map +1 -0
  133. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/ShardFactory.d.ts +21 -21
  134. package/dist/commonjs/ShardFactory.d.ts.map +1 -0
  135. package/dist/commonjs/ShardFactory.js +59 -0
  136. package/dist/commonjs/ShardFactory.js.map +1 -0
  137. package/dist/commonjs/index.d.ts +4 -0
  138. package/dist/commonjs/index.d.ts.map +1 -0
  139. package/dist/commonjs/index.js +9 -0
  140. package/dist/commonjs/index.js.map +1 -0
  141. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/log.d.ts +5 -5
  142. package/dist/commonjs/log.d.ts.map +1 -0
  143. package/dist/commonjs/log.js +11 -0
  144. package/dist/commonjs/log.js.map +1 -0
  145. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/models/BlobChangeFeedEvent.d.ts +233 -233
  146. package/dist/commonjs/models/BlobChangeFeedEvent.d.ts.map +1 -0
  147. package/dist/commonjs/models/BlobChangeFeedEvent.js +5 -0
  148. package/dist/commonjs/models/BlobChangeFeedEvent.js.map +1 -0
  149. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/models/ChangeFeedCursor.d.ts +17 -17
  150. package/dist/commonjs/models/ChangeFeedCursor.d.ts.map +1 -0
  151. package/dist/commonjs/models/ChangeFeedCursor.js +5 -0
  152. package/dist/commonjs/models/ChangeFeedCursor.js.map +1 -0
  153. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/models/models.d.ts +23 -23
  154. package/dist/commonjs/models/models.d.ts.map +1 -0
  155. package/dist/commonjs/models/models.js +5 -0
  156. package/dist/commonjs/models/models.js.map +1 -0
  157. package/dist/commonjs/package.json +3 -0
  158. package/{types/latest → dist/commonjs}/tsdoc-metadata.json +11 -11
  159. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/utils/constants.d.ts +9 -9
  160. package/dist/commonjs/utils/constants.d.ts.map +1 -0
  161. package/dist/commonjs/utils/constants.js +14 -0
  162. package/dist/commonjs/utils/constants.js.map +1 -0
  163. package/dist/commonjs/utils/tracing.d.ts +6 -0
  164. package/dist/commonjs/utils/tracing.d.ts.map +1 -0
  165. package/dist/commonjs/utils/tracing.js +17 -0
  166. package/dist/commonjs/utils/tracing.js.map +1 -0
  167. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/utils/utils.browser.d.ts +14 -15
  168. package/dist/commonjs/utils/utils.browser.d.ts.map +1 -0
  169. package/dist/commonjs/utils/utils.browser.js +34 -0
  170. package/dist/commonjs/utils/utils.browser.js.map +1 -0
  171. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/utils/utils.common.d.ts +37 -44
  172. package/dist/commonjs/utils/utils.common.d.ts.map +1 -0
  173. package/dist/commonjs/utils/utils.common.js +180 -0
  174. package/dist/commonjs/utils/utils.common.js.map +1 -0
  175. package/{types/3.1/storage-blob-changefeed/src → dist/commonjs}/utils/utils.node.d.ts +14 -15
  176. package/dist/commonjs/utils/utils.node.d.ts.map +1 -0
  177. package/dist/commonjs/utils/utils.node.js +32 -0
  178. package/dist/commonjs/utils/utils.node.js.map +1 -0
  179. package/dist/esm/AvroReaderFactory.d.ts +10 -0
  180. package/dist/esm/AvroReaderFactory.d.ts.map +1 -0
  181. package/dist/esm/AvroReaderFactory.js +17 -0
  182. package/dist/esm/AvroReaderFactory.js.map +1 -0
  183. package/dist/esm/BlobChangeFeedClient.d.ts +201 -0
  184. package/dist/esm/BlobChangeFeedClient.d.ts.map +1 -0
  185. package/dist/esm/BlobChangeFeedClient.js +242 -0
  186. package/dist/esm/BlobChangeFeedClient.js.map +1 -0
  187. package/dist/esm/ChangeFeed.d.ts +37 -0
  188. package/dist/esm/ChangeFeed.d.ts.map +1 -0
  189. package/dist/esm/ChangeFeed.js +104 -0
  190. package/dist/esm/ChangeFeed.js.map +1 -0
  191. package/dist/esm/ChangeFeedFactory.d.ts +13 -0
  192. package/dist/esm/ChangeFeedFactory.d.ts.map +1 -0
  193. package/dist/esm/ChangeFeedFactory.js +122 -0
  194. package/dist/esm/ChangeFeedFactory.js.map +1 -0
  195. package/dist/esm/Chunk.d.ts +27 -0
  196. package/dist/esm/Chunk.d.ts.map +1 -0
  197. package/dist/esm/Chunk.js +45 -0
  198. package/dist/esm/Chunk.js.map +1 -0
  199. package/dist/esm/ChunkFactory.d.ts +23 -0
  200. package/dist/esm/ChunkFactory.d.ts.map +1 -0
  201. package/dist/esm/ChunkFactory.js +33 -0
  202. package/dist/esm/ChunkFactory.js.map +1 -0
  203. package/dist/esm/LazyLoadingBlobStream.d.ts +46 -0
  204. package/dist/esm/LazyLoadingBlobStream.d.ts.map +1 -0
  205. package/dist/esm/LazyLoadingBlobStream.js +92 -0
  206. package/dist/esm/LazyLoadingBlobStream.js.map +1 -0
  207. package/dist/esm/LazyLoadingBlobStreamFactory.d.ts +7 -0
  208. package/dist/esm/LazyLoadingBlobStreamFactory.d.ts.map +1 -0
  209. package/dist/esm/LazyLoadingBlobStreamFactory.js +9 -0
  210. package/dist/esm/LazyLoadingBlobStreamFactory.js.map +1 -0
  211. package/dist/esm/Segment.d.ts +29 -0
  212. package/dist/esm/Segment.d.ts.map +1 -0
  213. package/dist/esm/Segment.js +69 -0
  214. package/dist/esm/Segment.js.map +1 -0
  215. package/dist/esm/SegmentFactory.d.ts +29 -0
  216. package/dist/esm/SegmentFactory.d.ts.map +1 -0
  217. package/dist/esm/SegmentFactory.js +47 -0
  218. package/dist/esm/SegmentFactory.js.map +1 -0
  219. package/dist/esm/Shard.d.ts +28 -0
  220. package/dist/esm/Shard.d.ts.map +1 -0
  221. package/dist/esm/Shard.js +46 -0
  222. package/dist/esm/Shard.js.map +1 -0
  223. package/dist/esm/ShardFactory.d.ts +21 -0
  224. package/dist/esm/ShardFactory.d.ts.map +1 -0
  225. package/dist/esm/ShardFactory.js +55 -0
  226. package/dist/esm/ShardFactory.js.map +1 -0
  227. package/dist/esm/index.d.ts +4 -0
  228. package/dist/esm/index.d.ts.map +1 -0
  229. package/dist/esm/index.js +6 -0
  230. package/dist/esm/index.js.map +1 -0
  231. package/dist/esm/log.d.ts +5 -0
  232. package/dist/esm/log.d.ts.map +1 -0
  233. package/dist/esm/log.js +8 -0
  234. package/dist/esm/log.js.map +1 -0
  235. package/dist/esm/models/BlobChangeFeedEvent.d.ts +233 -0
  236. package/dist/esm/models/BlobChangeFeedEvent.d.ts.map +1 -0
  237. package/dist/esm/models/BlobChangeFeedEvent.js +4 -0
  238. package/dist/esm/models/BlobChangeFeedEvent.js.map +1 -0
  239. package/dist/esm/models/ChangeFeedCursor.d.ts +17 -0
  240. package/dist/esm/models/ChangeFeedCursor.d.ts.map +1 -0
  241. package/dist/esm/models/ChangeFeedCursor.js +4 -0
  242. package/dist/esm/models/ChangeFeedCursor.js.map +1 -0
  243. package/dist/esm/models/models.d.ts +23 -0
  244. package/dist/esm/models/models.d.ts.map +1 -0
  245. package/dist/esm/models/models.js +4 -0
  246. package/dist/esm/models/models.js.map +1 -0
  247. package/dist/esm/package.json +3 -0
  248. package/dist/esm/utils/constants.d.ts +9 -0
  249. package/dist/esm/utils/constants.d.ts.map +1 -0
  250. package/dist/esm/utils/constants.js +11 -0
  251. package/dist/esm/utils/constants.js.map +1 -0
  252. package/dist/esm/utils/tracing.d.ts +6 -0
  253. package/dist/esm/utils/tracing.d.ts.map +1 -0
  254. package/dist/esm/utils/tracing.js +14 -0
  255. package/dist/esm/utils/tracing.js.map +1 -0
  256. package/dist/esm/utils/utils.browser.d.ts +14 -0
  257. package/dist/esm/utils/utils.browser.d.ts.map +1 -0
  258. package/dist/esm/utils/utils.browser.js +29 -0
  259. package/dist/esm/utils/utils.browser.js.map +1 -0
  260. package/dist/esm/utils/utils.common.d.ts +37 -0
  261. package/dist/esm/utils/utils.common.d.ts.map +1 -0
  262. package/dist/esm/utils/utils.common.js +170 -0
  263. package/dist/esm/utils/utils.common.js.map +1 -0
  264. package/dist/esm/utils/utils.node.d.ts +14 -0
  265. package/dist/esm/utils/utils.node.d.ts.map +1 -0
  266. package/dist/esm/utils/utils.node.js +28 -0
  267. package/dist/esm/utils/utils.node.js.map +1 -0
  268. package/dist/react-native/AvroReaderFactory.d.ts +10 -0
  269. package/dist/react-native/AvroReaderFactory.d.ts.map +1 -0
  270. package/dist/react-native/AvroReaderFactory.js +17 -0
  271. package/dist/react-native/AvroReaderFactory.js.map +1 -0
  272. package/dist/react-native/BlobChangeFeedClient.d.ts +201 -0
  273. package/dist/react-native/BlobChangeFeedClient.d.ts.map +1 -0
  274. package/dist/react-native/BlobChangeFeedClient.js +242 -0
  275. package/dist/react-native/BlobChangeFeedClient.js.map +1 -0
  276. package/dist/react-native/ChangeFeed.d.ts +37 -0
  277. package/dist/react-native/ChangeFeed.d.ts.map +1 -0
  278. package/dist/react-native/ChangeFeed.js +104 -0
  279. package/dist/react-native/ChangeFeed.js.map +1 -0
  280. package/dist/react-native/ChangeFeedFactory.d.ts +13 -0
  281. package/dist/react-native/ChangeFeedFactory.d.ts.map +1 -0
  282. package/dist/react-native/ChangeFeedFactory.js +122 -0
  283. package/dist/react-native/ChangeFeedFactory.js.map +1 -0
  284. package/dist/react-native/Chunk.d.ts +27 -0
  285. package/dist/react-native/Chunk.d.ts.map +1 -0
  286. package/dist/react-native/Chunk.js +45 -0
  287. package/dist/react-native/Chunk.js.map +1 -0
  288. package/dist/react-native/ChunkFactory.d.ts +23 -0
  289. package/dist/react-native/ChunkFactory.d.ts.map +1 -0
  290. package/dist/react-native/ChunkFactory.js +33 -0
  291. package/dist/react-native/ChunkFactory.js.map +1 -0
  292. package/dist/react-native/LazyLoadingBlobStream.d.ts +46 -0
  293. package/dist/react-native/LazyLoadingBlobStream.d.ts.map +1 -0
  294. package/dist/react-native/LazyLoadingBlobStream.js +92 -0
  295. package/dist/react-native/LazyLoadingBlobStream.js.map +1 -0
  296. package/dist/react-native/LazyLoadingBlobStreamFactory.d.ts +7 -0
  297. package/dist/react-native/LazyLoadingBlobStreamFactory.d.ts.map +1 -0
  298. package/dist/react-native/LazyLoadingBlobStreamFactory.js +9 -0
  299. package/dist/react-native/LazyLoadingBlobStreamFactory.js.map +1 -0
  300. package/dist/react-native/Segment.d.ts +29 -0
  301. package/dist/react-native/Segment.d.ts.map +1 -0
  302. package/dist/react-native/Segment.js +69 -0
  303. package/dist/react-native/Segment.js.map +1 -0
  304. package/dist/react-native/SegmentFactory.d.ts +29 -0
  305. package/dist/react-native/SegmentFactory.d.ts.map +1 -0
  306. package/dist/react-native/SegmentFactory.js +47 -0
  307. package/dist/react-native/SegmentFactory.js.map +1 -0
  308. package/dist/react-native/Shard.d.ts +28 -0
  309. package/dist/react-native/Shard.d.ts.map +1 -0
  310. package/dist/react-native/Shard.js +46 -0
  311. package/dist/react-native/Shard.js.map +1 -0
  312. package/dist/react-native/ShardFactory.d.ts +21 -0
  313. package/dist/react-native/ShardFactory.d.ts.map +1 -0
  314. package/dist/react-native/ShardFactory.js +55 -0
  315. package/dist/react-native/ShardFactory.js.map +1 -0
  316. package/dist/react-native/index.d.ts +4 -0
  317. package/dist/react-native/index.d.ts.map +1 -0
  318. package/dist/react-native/index.js +6 -0
  319. package/dist/react-native/index.js.map +1 -0
  320. package/dist/react-native/log.d.ts +5 -0
  321. package/dist/react-native/log.d.ts.map +1 -0
  322. package/dist/react-native/log.js +8 -0
  323. package/dist/react-native/log.js.map +1 -0
  324. package/dist/react-native/models/BlobChangeFeedEvent.d.ts +233 -0
  325. package/dist/react-native/models/BlobChangeFeedEvent.d.ts.map +1 -0
  326. package/dist/react-native/models/BlobChangeFeedEvent.js +4 -0
  327. package/dist/react-native/models/BlobChangeFeedEvent.js.map +1 -0
  328. package/dist/react-native/models/ChangeFeedCursor.d.ts +17 -0
  329. package/dist/react-native/models/ChangeFeedCursor.d.ts.map +1 -0
  330. package/dist/react-native/models/ChangeFeedCursor.js +4 -0
  331. package/dist/react-native/models/ChangeFeedCursor.js.map +1 -0
  332. package/dist/react-native/models/models.d.ts +23 -0
  333. package/dist/react-native/models/models.d.ts.map +1 -0
  334. package/dist/react-native/models/models.js +4 -0
  335. package/dist/react-native/models/models.js.map +1 -0
  336. package/dist/react-native/package.json +3 -0
  337. package/dist/react-native/utils/constants.d.ts +9 -0
  338. package/dist/react-native/utils/constants.d.ts.map +1 -0
  339. package/dist/react-native/utils/constants.js +11 -0
  340. package/dist/react-native/utils/constants.js.map +1 -0
  341. package/dist/react-native/utils/tracing.d.ts +6 -0
  342. package/dist/react-native/utils/tracing.d.ts.map +1 -0
  343. package/dist/react-native/utils/tracing.js +14 -0
  344. package/dist/react-native/utils/tracing.js.map +1 -0
  345. package/dist/react-native/utils/utils.browser.d.ts +14 -0
  346. package/dist/react-native/utils/utils.browser.d.ts.map +1 -0
  347. package/dist/react-native/utils/utils.browser.js +29 -0
  348. package/dist/react-native/utils/utils.browser.js.map +1 -0
  349. package/dist/react-native/utils/utils.common.d.ts +37 -0
  350. package/dist/react-native/utils/utils.common.d.ts.map +1 -0
  351. package/dist/react-native/utils/utils.common.js +170 -0
  352. package/dist/react-native/utils/utils.common.js.map +1 -0
  353. package/dist/react-native/utils/utils.node.d.ts +14 -0
  354. package/dist/react-native/utils/utils.node.d.ts.map +1 -0
  355. package/dist/react-native/utils/utils.node.js +28 -0
  356. package/dist/react-native/utils/utils.node.js.map +1 -0
  357. package/package.json +89 -104
  358. package/CHANGELOG.md +0 -15
  359. package/dist/index.js +0 -1644
  360. package/dist/index.js.map +0 -1
  361. package/dist-esm/storage-blob-changefeed/src/AvroReaderFactory.js.map +0 -1
  362. package/dist-esm/storage-blob-changefeed/src/BlobChangeFeedClient.js +0 -221
  363. package/dist-esm/storage-blob-changefeed/src/BlobChangeFeedClient.js.map +0 -1
  364. package/dist-esm/storage-blob-changefeed/src/ChangeFeed.js.map +0 -1
  365. package/dist-esm/storage-blob-changefeed/src/ChangeFeedFactory.js.map +0 -1
  366. package/dist-esm/storage-blob-changefeed/src/Chunk.js.map +0 -1
  367. package/dist-esm/storage-blob-changefeed/src/ChunkFactory.js.map +0 -1
  368. package/dist-esm/storage-blob-changefeed/src/LazyLoadingBlobStream.js.map +0 -1
  369. package/dist-esm/storage-blob-changefeed/src/LazyLoadingBlobStreamFactory.js.map +0 -1
  370. package/dist-esm/storage-blob-changefeed/src/Segment.js.map +0 -1
  371. package/dist-esm/storage-blob-changefeed/src/SegmentFactory.js.map +0 -1
  372. package/dist-esm/storage-blob-changefeed/src/Shard.js.map +0 -1
  373. package/dist-esm/storage-blob-changefeed/src/ShardFactory.js +0 -78
  374. package/dist-esm/storage-blob-changefeed/src/ShardFactory.js.map +0 -1
  375. package/dist-esm/storage-blob-changefeed/src/index.js +0 -6
  376. package/dist-esm/storage-blob-changefeed/src/index.js.map +0 -1
  377. package/dist-esm/storage-blob-changefeed/src/log.js.map +0 -1
  378. package/dist-esm/storage-blob-changefeed/src/models/BlobChangeFeedEvent.js +0 -4
  379. package/dist-esm/storage-blob-changefeed/src/models/BlobChangeFeedEvent.js.map +0 -1
  380. package/dist-esm/storage-blob-changefeed/src/models/ChangeFeedCursor.js +0 -4
  381. package/dist-esm/storage-blob-changefeed/src/models/ChangeFeedCursor.js.map +0 -1
  382. package/dist-esm/storage-blob-changefeed/src/models/models.js +0 -4
  383. package/dist-esm/storage-blob-changefeed/src/models/models.js.map +0 -1
  384. package/dist-esm/storage-blob-changefeed/src/utils/constants.js.map +0 -1
  385. package/dist-esm/storage-blob-changefeed/src/utils/tracing.js +0 -12
  386. package/dist-esm/storage-blob-changefeed/src/utils/tracing.js.map +0 -1
  387. package/dist-esm/storage-blob-changefeed/src/utils/utils.browser.js.map +0 -1
  388. package/dist-esm/storage-blob-changefeed/src/utils/utils.common.js.map +0 -1
  389. package/dist-esm/storage-blob-changefeed/src/utils/utils.node.js.map +0 -1
  390. package/dist-esm/storage-internal-avro/src/AvroConstants.js +0 -7
  391. package/dist-esm/storage-internal-avro/src/AvroConstants.js.map +0 -1
  392. package/dist-esm/storage-internal-avro/src/AvroParser.js +0 -313
  393. package/dist-esm/storage-internal-avro/src/AvroParser.js.map +0 -1
  394. package/dist-esm/storage-internal-avro/src/AvroReadable.js +0 -5
  395. package/dist-esm/storage-internal-avro/src/AvroReadable.js.map +0 -1
  396. package/dist-esm/storage-internal-avro/src/AvroReadableFromBlob.js +0 -47
  397. package/dist-esm/storage-internal-avro/src/AvroReadableFromBlob.js.map +0 -1
  398. package/dist-esm/storage-internal-avro/src/AvroReadableFromStream.js +0 -82
  399. package/dist-esm/storage-internal-avro/src/AvroReadableFromStream.js.map +0 -1
  400. package/dist-esm/storage-internal-avro/src/AvroReader.js +0 -105
  401. package/dist-esm/storage-internal-avro/src/AvroReader.js.map +0 -1
  402. package/dist-esm/storage-internal-avro/src/index.browser.js +0 -6
  403. package/dist-esm/storage-internal-avro/src/index.browser.js.map +0 -1
  404. package/dist-esm/storage-internal-avro/src/index.js +0 -6
  405. package/dist-esm/storage-internal-avro/src/index.js.map +0 -1
  406. package/dist-esm/storage-internal-avro/src/utils/utils.common.js +0 -16
  407. package/dist-esm/storage-internal-avro/src/utils/utils.common.js.map +0 -1
  408. package/types/3.1/storage-blob-changefeed/samples-dev/blobChangeFeedClient.d.ts +0 -2
  409. package/types/3.1/storage-blob-changefeed/samples-dev/resumeListChanges.d.ts +0 -2
  410. package/types/3.1/storage-blob-changefeed/src/BlobChangeFeedClient.d.ts +0 -172
  411. package/types/3.1/storage-blob-changefeed/src/ChangeFeedFactory.d.ts +0 -12
  412. package/types/3.1/storage-blob-changefeed/src/LazyLoadingBlobStreamFactory.d.ts +0 -6
  413. package/types/3.1/storage-blob-changefeed/src/index.d.ts +0 -4
  414. package/types/3.1/storage-blob-changefeed/src/utils/tracing.d.ts +0 -11
  415. package/types/3.1/storage-blob-changefeed/test/blobchangefeedclient.spec.d.ts +0 -2
  416. package/types/3.1/storage-blob-changefeed/test/changefeed.spec.d.ts +0 -2
  417. package/types/3.1/storage-blob-changefeed/test/chunk.spec.d.ts +0 -2
  418. package/types/3.1/storage-blob-changefeed/test/segment.spec.d.ts +0 -2
  419. package/types/3.1/storage-blob-changefeed/test/shard.spec.d.ts +0 -2
  420. package/types/3.1/storage-blob-changefeed/test/utils/index.d.ts +0 -13
  421. package/types/3.1/storage-blob-changefeed/test/utils/testutils.common.d.ts +0 -64
  422. package/types/3.1/storage-blob-changefeed.d.ts +0 -427
  423. package/types/3.1/storage-internal-avro/src/AvroConstants.d.ts +0 -5
  424. package/types/3.1/storage-internal-avro/src/AvroParser.d.ts +0 -57
  425. package/types/3.1/storage-internal-avro/src/AvroReadable.d.ts +0 -16
  426. package/types/3.1/storage-internal-avro/src/AvroReadableFromBlob.d.ts +0 -9
  427. package/types/3.1/storage-internal-avro/src/AvroReadableFromStream.d.ts +0 -11
  428. package/types/3.1/storage-internal-avro/src/AvroReader.d.ts +0 -33
  429. package/types/3.1/storage-internal-avro/src/index.browser.d.ts +0 -4
  430. package/types/3.1/storage-internal-avro/src/index.d.ts +0 -4
  431. package/types/3.1/storage-internal-avro/src/utils/utils.common.d.ts +0 -6
  432. package/types/3.1/storage-internal-avro/test/browser/avroreadable.spec.d.ts +0 -2
  433. package/types/3.1/storage-internal-avro/test/node/avroreadable.spec.d.ts +0 -2
  434. package/types/3.1/storage-internal-avro/test/node/avroreader.spec.d.ts +0 -2
  435. package/types/latest/storage-blob-changefeed/samples-dev/blobChangeFeedClient.d.ts +0 -2
  436. package/types/latest/storage-blob-changefeed/samples-dev/blobChangeFeedClient.d.ts.map +0 -1
  437. package/types/latest/storage-blob-changefeed/samples-dev/resumeListChanges.d.ts +0 -2
  438. package/types/latest/storage-blob-changefeed/samples-dev/resumeListChanges.d.ts.map +0 -1
  439. package/types/latest/storage-blob-changefeed/src/AvroReaderFactory.d.ts.map +0 -1
  440. package/types/latest/storage-blob-changefeed/src/BlobChangeFeedClient.d.ts +0 -172
  441. package/types/latest/storage-blob-changefeed/src/BlobChangeFeedClient.d.ts.map +0 -1
  442. package/types/latest/storage-blob-changefeed/src/ChangeFeed.d.ts.map +0 -1
  443. package/types/latest/storage-blob-changefeed/src/ChangeFeedFactory.d.ts +0 -12
  444. package/types/latest/storage-blob-changefeed/src/ChangeFeedFactory.d.ts.map +0 -1
  445. package/types/latest/storage-blob-changefeed/src/Chunk.d.ts.map +0 -1
  446. package/types/latest/storage-blob-changefeed/src/ChunkFactory.d.ts.map +0 -1
  447. package/types/latest/storage-blob-changefeed/src/LazyLoadingBlobStream.d.ts.map +0 -1
  448. package/types/latest/storage-blob-changefeed/src/LazyLoadingBlobStreamFactory.d.ts +0 -6
  449. package/types/latest/storage-blob-changefeed/src/LazyLoadingBlobStreamFactory.d.ts.map +0 -1
  450. package/types/latest/storage-blob-changefeed/src/Segment.d.ts.map +0 -1
  451. package/types/latest/storage-blob-changefeed/src/SegmentFactory.d.ts.map +0 -1
  452. package/types/latest/storage-blob-changefeed/src/Shard.d.ts.map +0 -1
  453. package/types/latest/storage-blob-changefeed/src/ShardFactory.d.ts.map +0 -1
  454. package/types/latest/storage-blob-changefeed/src/index.d.ts +0 -4
  455. package/types/latest/storage-blob-changefeed/src/index.d.ts.map +0 -1
  456. package/types/latest/storage-blob-changefeed/src/log.d.ts.map +0 -1
  457. package/types/latest/storage-blob-changefeed/src/models/BlobChangeFeedEvent.d.ts.map +0 -1
  458. package/types/latest/storage-blob-changefeed/src/models/ChangeFeedCursor.d.ts.map +0 -1
  459. package/types/latest/storage-blob-changefeed/src/models/models.d.ts.map +0 -1
  460. package/types/latest/storage-blob-changefeed/src/utils/constants.d.ts.map +0 -1
  461. package/types/latest/storage-blob-changefeed/src/utils/tracing.d.ts +0 -11
  462. package/types/latest/storage-blob-changefeed/src/utils/tracing.d.ts.map +0 -1
  463. package/types/latest/storage-blob-changefeed/src/utils/utils.browser.d.ts.map +0 -1
  464. package/types/latest/storage-blob-changefeed/src/utils/utils.common.d.ts.map +0 -1
  465. package/types/latest/storage-blob-changefeed/src/utils/utils.node.d.ts.map +0 -1
  466. package/types/latest/storage-blob-changefeed/test/blobchangefeedclient.spec.d.ts +0 -2
  467. package/types/latest/storage-blob-changefeed/test/blobchangefeedclient.spec.d.ts.map +0 -1
  468. package/types/latest/storage-blob-changefeed/test/changefeed.spec.d.ts +0 -2
  469. package/types/latest/storage-blob-changefeed/test/changefeed.spec.d.ts.map +0 -1
  470. package/types/latest/storage-blob-changefeed/test/chunk.spec.d.ts +0 -2
  471. package/types/latest/storage-blob-changefeed/test/chunk.spec.d.ts.map +0 -1
  472. package/types/latest/storage-blob-changefeed/test/segment.spec.d.ts +0 -2
  473. package/types/latest/storage-blob-changefeed/test/segment.spec.d.ts.map +0 -1
  474. package/types/latest/storage-blob-changefeed/test/shard.spec.d.ts +0 -2
  475. package/types/latest/storage-blob-changefeed/test/shard.spec.d.ts.map +0 -1
  476. package/types/latest/storage-blob-changefeed/test/utils/index.d.ts +0 -13
  477. package/types/latest/storage-blob-changefeed/test/utils/index.d.ts.map +0 -1
  478. package/types/latest/storage-blob-changefeed/test/utils/testutils.common.d.ts +0 -64
  479. package/types/latest/storage-blob-changefeed/test/utils/testutils.common.d.ts.map +0 -1
  480. package/types/latest/storage-blob-changefeed.d.ts +0 -442
  481. package/types/latest/storage-internal-avro/src/AvroConstants.d.ts +0 -5
  482. package/types/latest/storage-internal-avro/src/AvroConstants.d.ts.map +0 -1
  483. package/types/latest/storage-internal-avro/src/AvroParser.d.ts +0 -57
  484. package/types/latest/storage-internal-avro/src/AvroParser.d.ts.map +0 -1
  485. package/types/latest/storage-internal-avro/src/AvroReadable.d.ts +0 -16
  486. package/types/latest/storage-internal-avro/src/AvroReadable.d.ts.map +0 -1
  487. package/types/latest/storage-internal-avro/src/AvroReadableFromBlob.d.ts +0 -9
  488. package/types/latest/storage-internal-avro/src/AvroReadableFromBlob.d.ts.map +0 -1
  489. package/types/latest/storage-internal-avro/src/AvroReadableFromStream.d.ts +0 -11
  490. package/types/latest/storage-internal-avro/src/AvroReadableFromStream.d.ts.map +0 -1
  491. package/types/latest/storage-internal-avro/src/AvroReader.d.ts +0 -33
  492. package/types/latest/storage-internal-avro/src/AvroReader.d.ts.map +0 -1
  493. package/types/latest/storage-internal-avro/src/index.browser.d.ts +0 -4
  494. package/types/latest/storage-internal-avro/src/index.browser.d.ts.map +0 -1
  495. package/types/latest/storage-internal-avro/src/index.d.ts +0 -4
  496. package/types/latest/storage-internal-avro/src/index.d.ts.map +0 -1
  497. package/types/latest/storage-internal-avro/src/utils/utils.common.d.ts +0 -6
  498. package/types/latest/storage-internal-avro/src/utils/utils.common.d.ts.map +0 -1
  499. package/types/latest/storage-internal-avro/test/browser/avroreadable.spec.d.ts +0 -2
  500. package/types/latest/storage-internal-avro/test/browser/avroreadable.spec.d.ts.map +0 -1
  501. package/types/latest/storage-internal-avro/test/node/avroreadable.spec.d.ts +0 -2
  502. package/types/latest/storage-internal-avro/test/node/avroreadable.spec.d.ts.map +0 -1
  503. package/types/latest/storage-internal-avro/test/node/avroreader.spec.d.ts +0 -2
  504. package/types/latest/storage-internal-avro/test/node/avroreader.spec.d.ts.map +0 -1
  505. /package/{types/latest/storage-blob-changefeed/src → dist/browser}/log.d.ts +0 -0
  506. /package/{types/latest/storage-blob-changefeed/src → dist/browser}/models/ChangeFeedCursor.d.ts +0 -0
  507. /package/{types/latest/storage-blob-changefeed/src → dist/browser}/utils/constants.d.ts +0 -0
@@ -1,8 +1,12 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- import { createSpan } from "./utils/tracing";
4
- import { SpanStatusCode } from "@azure/core-tracing";
2
+ // Licensed under the MIT License.
3
+ import { tracingClient } from "./utils/tracing.js";
5
4
  export class Shard {
5
+ shardPath;
6
+ containerClient;
7
+ chunkFactory;
8
+ chunks;
9
+ currentChunk;
6
10
  constructor(containerClient, chunkFactory, chunks, currentChunk, shardPath) {
7
11
  this.shardPath = shardPath;
8
12
  this.containerClient = containerClient;
@@ -14,8 +18,7 @@ export class Shard {
14
18
  return (this.chunks.length > 0 || (this.currentChunk !== undefined && this.currentChunk.hasNext()));
15
19
  }
16
20
  async getChange(options = {}) {
17
- const { span, updatedOptions } = createSpan("Shard-getChange", options);
18
- try {
21
+ return tracingClient.withSpan("Shard-getChange", options, async (updatedOptions) => {
19
22
  let event = undefined;
20
23
  while (event === undefined && this.hasNext()) {
21
24
  event = await this.currentChunk.getChange();
@@ -28,17 +31,7 @@ export class Shard {
28
31
  }
29
32
  }
30
33
  return event;
31
- }
32
- catch (e) {
33
- span.setStatus({
34
- code: SpanStatusCode.ERROR,
35
- message: e.message,
36
- });
37
- throw e;
38
- }
39
- finally {
40
- span.end();
41
- }
34
+ });
42
35
  }
43
36
  getCursor() {
44
37
  return this.currentChunk === undefined
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shard.js","sourceRoot":"","sources":["../../src/Shard.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAQlC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAanD,MAAM,OAAO,KAAK;IAcE;IAbD,eAAe,CAAkB;IAEjC,YAAY,CAAe;IAE3B,MAAM,CAAW;IAE1B,YAAY,CAAoB;IAExC,YACE,eAAgC,EAChC,YAA0B,EAC1B,MAAgB,EAChB,YAA+B,EACf,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAEjC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,OAAO;QACZ,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAC3F,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,SAAS,CACpB,UAAiC,EAAE;QAEnC,OAAO,aAAa,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YACjF,IAAI,KAAK,GAAoC,SAAS,CAAC;YACvD,OAAO,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,KAAK,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,SAAS,EAAE,CAAC;gBAE7C,sDAAsD;gBACtD,IAAI,CAAC,IAAI,CAAC,YAAa,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAChD,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,EACpB,SAAS,EACT,SAAS,EACT;wBACE,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,cAAc,EAAE,cAAc,CAAC,cAAc;qBAC9C,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;gBAC7C,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;gBAC1C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;aACzC,CAAC;IACR,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ContainerClient, CommonOptions } from \"@azure/storage-blob\";\nimport type { ChunkFactory } from \"./ChunkFactory.js\";\nimport type { Chunk } from \"./Chunk.js\";\nimport type { BlobChangeFeedEvent } from \"./models/BlobChangeFeedEvent.js\";\nimport type { ShardCursor } from \"./models/ChangeFeedCursor.js\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { tracingClient } from \"./utils/tracing.js\";\n\n/**\n * Options to configure {@link Shard.getChange} operation.\n */\nexport interface ShardGetChangeOptions extends CommonOptions {\n /**\n * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * For example, use the &commat;azure/abort-controller to create an `AbortSignal`.\n */\n abortSignal?: AbortSignalLike;\n}\n\nexport class Shard {\n private readonly containerClient: ContainerClient;\n\n private readonly chunkFactory: ChunkFactory;\n\n private readonly chunks: string[];\n\n private currentChunk: Chunk | undefined;\n\n constructor(\n containerClient: ContainerClient,\n chunkFactory: ChunkFactory,\n chunks: string[],\n currentChunk: Chunk | undefined,\n public readonly shardPath: string,\n ) {\n this.containerClient = containerClient;\n this.chunkFactory = chunkFactory;\n this.chunks = chunks;\n this.currentChunk = currentChunk;\n }\n\n public hasNext(): boolean {\n return (\n this.chunks.length > 0 || (this.currentChunk !== undefined && this.currentChunk.hasNext())\n );\n }\n\n public async getChange(\n options: ShardGetChangeOptions = {},\n ): Promise<BlobChangeFeedEvent | undefined> {\n return tracingClient.withSpan(\"Shard-getChange\", options, async (updatedOptions) => {\n let event: BlobChangeFeedEvent | undefined = undefined;\n while (event === undefined && this.hasNext()) {\n event = await this.currentChunk!.getChange();\n\n // Remove currentChunk if it doesn't have more events.\n if (!this.currentChunk!.hasNext() && this.chunks.length > 0) {\n this.currentChunk = await this.chunkFactory.create(\n this.containerClient,\n this.chunks.shift()!,\n undefined,\n undefined,\n {\n abortSignal: options.abortSignal,\n tracingOptions: updatedOptions.tracingOptions,\n },\n );\n }\n }\n return event;\n });\n }\n\n public getCursor(): ShardCursor | undefined {\n return this.currentChunk === undefined\n ? undefined\n : {\n CurrentChunkPath: this.currentChunk.chunkPath,\n BlockOffset: this.currentChunk.blockOffset,\n EventIndex: this.currentChunk.eventIndex,\n };\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
- import { ChunkFactory } from "./ChunkFactory";
2
- import { ShardCursor } from "./models/ChangeFeedCursor";
3
- import { Shard } from "./Shard";
4
- import { ContainerClient, CommonOptions } from "@azure/storage-blob";
5
- import { AbortSignalLike } from "@azure/core-http";
1
+ import type { ChunkFactory } from "./ChunkFactory.js";
2
+ import type { ShardCursor } from "./models/ChangeFeedCursor.js";
3
+ import { Shard } from "./Shard.js";
4
+ import type { ContainerClient, CommonOptions } from "@azure/storage-blob";
5
+ import type { AbortSignalLike } from "@azure/abort-controller";
6
6
  /**
7
7
  * Options to configure {@link ShardFactory.create} operation.
8
8
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardFactory.d.ts","sourceRoot":"","sources":["../../src/ShardFactory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,YAAY,EAAE,YAAY;IAIzB,MAAM,CACjB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,EACzB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,KAAK,CAAC;CAsDlB"}
@@ -0,0 +1,55 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { Shard } from "./Shard.js";
4
+ import { tracingClient } from "./utils/tracing.js";
5
+ export class ShardFactory {
6
+ chunkFactory;
7
+ constructor(chunkFactory) {
8
+ this.chunkFactory = chunkFactory;
9
+ }
10
+ async create(containerClient, shardPath, shardCursor, options = {}) {
11
+ return tracingClient.withSpan("ShardFactory-create", options, async (updatedOptions) => {
12
+ const chunks = [];
13
+ const blockOffset = shardCursor?.BlockOffset || 0;
14
+ const eventIndex = shardCursor?.EventIndex || 0;
15
+ for await (const blobItem of containerClient.listBlobsFlat({
16
+ prefix: shardPath,
17
+ abortSignal: options.abortSignal,
18
+ tracingOptions: updatedOptions.tracingOptions,
19
+ })) {
20
+ chunks.push(blobItem.name);
21
+ }
22
+ const currentChunkPath = shardCursor?.CurrentChunkPath;
23
+ let chunkIndex = -1;
24
+ let currentChunk = undefined;
25
+ // Chunks can be empty right after hour flips.
26
+ if (chunks.length !== 0) {
27
+ // Fast forward to current Chunk
28
+ if (currentChunkPath) {
29
+ for (let i = 0; i < chunks.length; i++) {
30
+ if (chunks[i] === currentChunkPath) {
31
+ chunkIndex = i;
32
+ break;
33
+ }
34
+ }
35
+ if (chunkIndex === -1) {
36
+ throw new Error(`Chunk ${currentChunkPath} not found.`);
37
+ }
38
+ }
39
+ else {
40
+ chunkIndex = 0;
41
+ }
42
+ // Fast forward to current Chunk.
43
+ if (chunkIndex > 0) {
44
+ chunks.splice(0, chunkIndex);
45
+ }
46
+ currentChunk = await this.chunkFactory.create(containerClient, chunks.shift(), blockOffset, eventIndex, {
47
+ abortSignal: options.abortSignal,
48
+ tracingOptions: updatedOptions.tracingOptions,
49
+ });
50
+ }
51
+ return new Shard(containerClient, this.chunkFactory, chunks, currentChunk, shardPath);
52
+ });
53
+ }
54
+ }
55
+ //# sourceMappingURL=ShardFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardFactory.js","sourceRoot":"","sources":["../../src/ShardFactory.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAanD,MAAM,OAAO,YAAY;IACN,YAAY,CAAe;IAE5C,YAAY,YAA0B;QACpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,eAAgC,EAChC,SAAiB,EACjB,WAAyB,EACzB,UAA8B,EAAE;QAEhC,OAAO,aAAa,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YACrF,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAW,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAW,WAAW,EAAE,UAAU,IAAI,CAAC,CAAC;YAExD,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,eAAe,CAAC,aAAa,CAAC;gBACzD,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,cAAc,EAAE,cAAc,CAAC,cAAc;aAC9C,CAAC,EAAE,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,gBAAgB,GAAG,WAAW,EAAE,gBAAgB,CAAC;YACvD,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;YACpB,IAAI,YAAY,GAAsB,SAAS,CAAC;YAChD,8CAA8C;YAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,gCAAgC;gBAChC,IAAI,gBAAgB,EAAE,CAAC;oBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;4BACnC,UAAU,GAAG,CAAC,CAAC;4BACf,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,KAAK,CAAC,SAAS,gBAAgB,aAAa,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,CAAC,CAAC;gBACjB,CAAC;gBAED,iCAAiC;gBACjC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC/B,CAAC;gBAED,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAC3C,eAAe,EACf,MAAM,CAAC,KAAK,EAAG,EACf,WAAW,EACX,UAAU,EACV;oBACE,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,cAAc,EAAE,cAAc,CAAC,cAAc;iBAC9C,CACF,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ChunkFactory } from \"./ChunkFactory.js\";\nimport type { ShardCursor } from \"./models/ChangeFeedCursor.js\";\nimport { Shard } from \"./Shard.js\";\nimport type { ContainerClient, CommonOptions } from \"@azure/storage-blob\";\nimport type { Chunk } from \"./Chunk.js\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { tracingClient } from \"./utils/tracing.js\";\n\n/**\n * Options to configure {@link ShardFactory.create} operation.\n */\nexport interface CreateShardOptions extends CommonOptions {\n /**\n * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * For example, use the &commat;azure/abort-controller to create an `AbortSignal`.\n */\n abortSignal?: AbortSignalLike;\n}\n\nexport class ShardFactory {\n private readonly chunkFactory: ChunkFactory;\n\n constructor(chunkFactory: ChunkFactory) {\n this.chunkFactory = chunkFactory;\n }\n\n public async create(\n containerClient: ContainerClient,\n shardPath: string,\n shardCursor?: ShardCursor,\n options: CreateShardOptions = {},\n ): Promise<Shard> {\n return tracingClient.withSpan(\"ShardFactory-create\", options, async (updatedOptions) => {\n const chunks: string[] = [];\n const blockOffset: number = shardCursor?.BlockOffset || 0;\n const eventIndex: number = shardCursor?.EventIndex || 0;\n\n for await (const blobItem of containerClient.listBlobsFlat({\n prefix: shardPath,\n abortSignal: options.abortSignal,\n tracingOptions: updatedOptions.tracingOptions,\n })) {\n chunks.push(blobItem.name);\n }\n\n const currentChunkPath = shardCursor?.CurrentChunkPath;\n let chunkIndex = -1;\n let currentChunk: Chunk | undefined = undefined;\n // Chunks can be empty right after hour flips.\n if (chunks.length !== 0) {\n // Fast forward to current Chunk\n if (currentChunkPath) {\n for (let i = 0; i < chunks.length; i++) {\n if (chunks[i] === currentChunkPath) {\n chunkIndex = i;\n break;\n }\n }\n if (chunkIndex === -1) {\n throw new Error(`Chunk ${currentChunkPath} not found.`);\n }\n } else {\n chunkIndex = 0;\n }\n\n // Fast forward to current Chunk.\n if (chunkIndex > 0) {\n chunks.splice(0, chunkIndex);\n }\n\n currentChunk = await this.chunkFactory.create(\n containerClient,\n chunks.shift()!,\n blockOffset,\n eventIndex,\n {\n abortSignal: options.abortSignal,\n tracingOptions: updatedOptions.tracingOptions,\n },\n );\n }\n\n return new Shard(containerClient, this.chunkFactory, chunks, currentChunk, shardPath);\n });\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export * from "./BlobChangeFeedClient.js";
2
+ export * from "./models/BlobChangeFeedEvent.js";
3
+ export * from "./models/models.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export * from "./BlobChangeFeedClient.js";
4
+ export * from "./models/BlobChangeFeedEvent.js";
5
+ export * from "./models/models.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport * from \"./BlobChangeFeedClient.js\";\nexport * from \"./models/BlobChangeFeedEvent.js\";\nexport * from \"./models/models.js\";\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,MAAM,qCAAgD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import { createClientLogger } from "@azure/logger";
4
4
  /**
5
5
  * The `@azure/logger` configuration for this package.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The `@azure/logger` configuration for this package.\n */\nexport const logger = createClientLogger(\"storage-blob-changefeed\");\n"]}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Change feed event record types.
3
3
  */
4
- export declare type BlobChangeFeedEventType = "UnspecifiedEventType" | "BlobCreated" | "BlobDeleted" | "BlobPropertiesUpdated" | "BlobSnapshotCreated" | "Control" | "BlobTierChanged" | "BlobAsyncOperationInitiated" | "BlobMetadataUpdated" | "RestorePointMarkerCreated";
4
+ export type BlobChangeFeedEventType = "UnspecifiedEventType" | "BlobCreated" | "BlobDeleted" | "BlobPropertiesUpdated" | "BlobSnapshotCreated" | "Control" | "BlobTierChanged" | "BlobAsyncOperationInitiated" | "BlobMetadataUpdated" | "RestorePointMarkerCreated";
5
5
  /**
6
6
  * Change feed event record. Contains response data for the {@link BlobChangeFeedClient.listChanges} operation.
7
- * @see https://docs.microsoft.com/en-us/azure/event-grid/event-schema-blob-storage?toc=/azure/storage/blobs/toc.json#event-properties
7
+ * @see https://learn.microsoft.com/azure/event-grid/event-schema-blob-storage?toc=/azure/storage/blobs/toc.json#event-properties
8
8
  */
9
9
  export interface BlobChangeFeedEvent {
10
10
  /**
@@ -47,11 +47,11 @@ export interface BlobChangeFeedEvent {
47
47
  /**
48
48
  * The type of blob.
49
49
  */
50
- export declare type BlobType = "BlockBlob" | "AppendBlob" | "PageBlob";
50
+ export type BlobType = "BlockBlob" | "AppendBlob" | "PageBlob";
51
51
  /**
52
52
  * The AccessTier.
53
53
  */
54
- export declare type AccessTier = "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50" | "P60" | "P70" | "P80" | "Hot" | "Cool" | "Archive";
54
+ export type AccessTier = "P4" | "P6" | "P10" | "P15" | "P20" | "P30" | "P40" | "P50" | "P60" | "P70" | "P80" | "Hot" | "Cool" | "Archive";
55
55
  /**
56
56
  * A blob property that was updated.
57
57
  */
@@ -72,7 +72,7 @@ export interface BlobPropertyChange {
72
72
  /**
73
73
  * Blob properties that were updated during an event.
74
74
  */
75
- export declare type UpdatedBlobProperties = Record<string, BlobPropertyChange>;
75
+ export type UpdatedBlobProperties = Record<string, BlobPropertyChange>;
76
76
  /**
77
77
  * Previous info for Change Feed Event.
78
78
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlobChangeFeedEvent.d.ts","sourceRoot":"","sources":["../../../src/models/BlobChangeFeedEvent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=BlobChangeFeedEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlobChangeFeedEvent.js","sourceRoot":"","sources":["../../../src/models/BlobChangeFeedEvent.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// https://msazure.visualstudio.com/One/_git/Storage-XStore?path=%2Fsrc%2FXTable%2FNotifications%2Flib%2FBlobChangeEventv4.json&version=GBmaster\n\n/**\n * Change feed event record types.\n */\nexport type BlobChangeFeedEventType =\n | \"UnspecifiedEventType\"\n | \"BlobCreated\"\n | \"BlobDeleted\"\n | \"BlobPropertiesUpdated\"\n | \"BlobSnapshotCreated\"\n | \"Control\"\n | \"BlobTierChanged\"\n | \"BlobAsyncOperationInitiated\"\n | \"BlobMetadataUpdated\"\n | \"RestorePointMarkerCreated\";\n\n/**\n * Change feed event record. Contains response data for the {@link BlobChangeFeedClient.listChanges} operation.\n * @see https://learn.microsoft.com/azure/event-grid/event-schema-blob-storage?toc=/azure/storage/blobs/toc.json#event-properties\n */\nexport interface BlobChangeFeedEvent {\n /**\n * Full resource path to the event source. This field is not writeable. Event Grid provides this value.\n */\n topic: string;\n\n /**\n * Publisher-defined path to the event subject.\n */\n subject: string;\n\n /**\n * One of the registered event types for this event source.\n */\n eventType: BlobChangeFeedEventType;\n\n /**\n * The time the event is generated based on the provider's UTC time.\n */\n eventTime: Date;\n\n /**\n * Unique identifier for the event.\n */\n id: string; // GUID\n\n /**\n * Blob storage event data.\n */\n data: BlobChangeFeedEventData;\n\n /**\n * The schema version of the data object. The publisher defines the schema version.\n */\n dataVersion?: string;\n\n /**\n * The schema version of the data object. The publisher defines the schema version.\n */\n schemaVersion?: number;\n\n /**\n * The schema version of the event metadata. Event Grid defines the schema of the top-level properties. Event Grid provides this value.\n */\n metadataVersion: string;\n}\n\n/**\n * The type of blob.\n */\nexport type BlobType = \"BlockBlob\" | \"AppendBlob\" | \"PageBlob\";\n\n/**\n * The AccessTier.\n */\nexport type AccessTier =\n | \"P4\"\n | \"P6\"\n | \"P10\"\n | \"P15\"\n | \"P20\"\n | \"P30\"\n | \"P40\"\n | \"P50\"\n | \"P60\"\n | \"P70\"\n | \"P80\"\n | \"Hot\"\n | \"Cool\"\n | \"Archive\";\n\n/**\n * A blob property that was updated.\n */\nexport interface BlobPropertyChange {\n /**\n * The name of the property that was updated.\n */\n propertyName: string;\n /**\n * The previous value of the property.\n */\n oldValue: string;\n /**\n * The new value of the property.\n */\n newValue: string;\n}\n/**\n * Blob properties that were updated during an event.\n */\nexport type UpdatedBlobProperties = Record<string, BlobPropertyChange>;\n/**\n * Previous info for Change Feed Event.\n */\nexport interface ChangeFeedEventPreviousInfo {\n /**\n * Soft delete snapshot.\n */\n softDeleteSnapshot?: string;\n /**\n * If the blob was soft deleted.\n */\n isBlobSoftDeleted: boolean;\n /**\n * Blob version.\n */\n newBlobVersion?: string;\n /**\n * Last version.\n */\n oldBlobVersion?: string;\n /**\n * Previous Access Tier\n */\n previousTier?: AccessTier;\n}\n\n/**\n * ChangeFeedEvent AsyncOperationInfo\n */\nexport interface BlobOperationResult {\n /**\n * Destination access tier.\n */\n destinationAccessTier?: AccessTier;\n /**\n * If the operation was async.\n */\n isAsync: boolean;\n /**\n * Copy Id.\n */\n copyId?: string;\n}\n\n/**\n * Blob tags that were updated as part of the change feed event.\n */\nexport interface BlobTagsChange {\n /**\n * Previous Tags.\n */\n oldTags: Record<string, string>;\n /**\n * New Tags.\n */\n newTags: Record<string, string>;\n}\n\n/**\n * Change feed Blob storage event data.\n */\nexport interface BlobChangeFeedEventData {\n /**\n * The operation that triggered the event.\n */\n api: string;\n\n /**\n * A client-provided request id for the storage API operation. This id can be used to\n * correlate to Azure Storage diagnostic logs using the \"client-request-id\" field in the logs,\n * and can be provided in client requests using the \"x-ms-client-request-id\" header.\n */\n clientRequestId: string; // GUID\n\n /**\n * Service-generated request id for the storage API operation. Can be used to correlate to Azure Storage\n * diagnostic logs using the \"request-id-header\" field in the logs and is returned from initiating API call\n * in the 'x-ms-request-id' header.\n */\n requestId: string; // GUID\n\n /**\n * The value that you can use to perform operations conditionally.\n */\n etag: string;\n\n /**\n * The content type specified for the blob.\n */\n contentType: string;\n\n /**\n * The size of the blob in bytes.\n */\n contentLength: number;\n\n /**\n * The offset in bytes of a write operation taken at the point where the event-triggering application completed\n * writing to the file.\n * Appears only for events triggered on blob storage accounts that have a hierarchical namespace.\n */\n contentOffset?: number;\n\n /**\n * The type of blob.\n */\n blobType: BlobType;\n\n /**\n * The path to the blob. If the client uses a Blob REST API, then the url has this structure:\n * <storage-account-name>.blob.core.windows.net/<container-name>/<file-name>.\n */\n url: string;\n\n /**\n * The url of the file that will exist after the operation completes. For example, if a file is renamed,\n * the destinationUrl property contains the url of the new file name.\n * Appears only for events triggered on blob storage accounts that have a hierarchical namespace.\n */\n destinationUrl?: string;\n\n /**\n * The url of the file that exists prior to the operation. For example, if a file is renamed, the sourceUrl\n * contains the url of the original file name prior to the rename operation.\n * Appears only for events triggered on blob storage accounts that have a hierarchical namespace.\n */\n sourceUrl?: string;\n\n /**\n * True to perform the operation on all child directories; otherwise False.\n * Appears only for events triggered on blob storage accounts that have a hierarchical namespace.\n */\n isRecursive?: boolean;\n\n /**\n * An opaque string value representing the logical sequence of events for any particular blob name.\n * Users can use standard string comparison to understand the relative sequence of two events on the same blob name.\n */\n sequencer: string;\n\n /**\n * Previous info for the blob.\n */\n previousInfo?: ChangeFeedEventPreviousInfo;\n\n /**\n * Blob properties that were updated during this event.\n */\n updatedBlobProperties?: UpdatedBlobProperties;\n\n /**\n * Blob tags that were updated during this event.\n */\n updatedBlobTags?: BlobTagsChange;\n\n /**\n * The Snapshot associated with the event.\n */\n snapshot?: string;\n\n /**\n * Version of the blob.\n */\n blobVersion?: string;\n\n /**\n * Version of the container the blob is in.\n */\n containerVersion?: string;\n\n /**\n * Access Tier of the blob.\n */\n blobAccessTier?: AccessTier;\n /**\n * AsyncOperationInfo\n */\n longRunningOperationInfo?: BlobOperationResult;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeFeedCursor.d.ts","sourceRoot":"","sources":["../../../src/models/ChangeFeedCursor.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IAEtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,aAAa,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=ChangeFeedCursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeFeedCursor.js","sourceRoot":"","sources":["../../../src/models/ChangeFeedCursor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport interface ChangeFeedCursor {\n CursorVersion: number;\n // The host component of the container URL.\n UrlHost: string;\n EndTime?: string;\n CurrentSegmentCursor: SegmentCursor;\n}\n\nexport interface SegmentCursor {\n ShardCursors: ShardCursor[];\n CurrentShardPath: string;\n SegmentPath: string;\n}\n\nexport interface ShardCursor {\n CurrentChunkPath: string;\n BlockOffset: number;\n EventIndex: number;\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { CommonOptions } from "@azure/storage-blob";
2
- import { AbortSignalLike } from "@azure/core-http";
1
+ import type { CommonOptions } from "@azure/storage-blob";
2
+ import type { AbortSignalLike } from "@azure/abort-controller";
3
3
  /**
4
4
  * Options to configure {@link BlobChangeFeedClient.listChanges} operation.
5
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,aAAa;IACrE;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,CAAC;IAEb;;;OAGG;IACH,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { CommonOptions } from \"@azure/storage-blob\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\n\n/**\n * Options to configure {@link BlobChangeFeedClient.listChanges} operation.\n */\nexport interface BlobChangeFeedListChangesOptions extends CommonOptions {\n /**\n * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * For example, use the &commat;azure/abort-controller to create an `AbortSignal`.\n */\n abortSignal?: AbortSignalLike;\n\n /**\n * Specify the start of the time range during which the change feed records will be fetched.\n * Note that for now the change feed client will round start time down to the nearest hour.\n */\n start?: Date;\n\n /**\n * Specify the end of the time range during which the change feed records will be fetched.\n * Note that for now the change feed client will round end time up to the nearest hour.\n */\n end?: Date;\n}\n"]}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAA2B,CAAC;AAEtD,eAAO,MAAM,0BAA0B,EAAE,MAA0B,CAAC;AACpE,eAAO,MAAM,6BAA6B,EAAE,MAA6B,CAAC;AAC1E,eAAO,MAAM,4BAA4B,EAAE,MAAoB,CAAC;AAChE,eAAO,MAAM,0BAA0B,EAAE,MAAwB,CAAC;AAClE,eAAO,MAAM,kCAAkC,EAAE,MAAe,CAAC;AAEjE,eAAO,MAAM,yBAAyB,EAAE,MAAa,CAAC;AACtD,eAAO,MAAM,qCAAqC,EAAE,MAAyB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- export const SDK_VERSION = "12.0.0-preview.3";
2
+ // Licensed under the MIT License.
3
+ export const SDK_VERSION = "12.0.0-preview.5";
4
4
  export const CHANGE_FEED_CONTAINER_NAME = "$blobchangefeed";
5
5
  export const CHANGE_FEED_META_SEGMENT_PATH = "meta/segments.json";
6
6
  export const CHANGE_FEED_STATUS_FINALIZED = "Finalized";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,0BAA0B,GAAW,iBAAiB,CAAC;AACpE,MAAM,CAAC,MAAM,6BAA6B,GAAW,oBAAoB,CAAC;AAC1E,MAAM,CAAC,MAAM,4BAA4B,GAAW,WAAW,CAAC;AAChE,MAAM,CAAC,MAAM,0BAA0B,GAAW,eAAe,CAAC;AAClE,MAAM,CAAC,MAAM,kCAAkC,GAAW,MAAM,CAAC;AAEjE,MAAM,CAAC,MAAM,yBAAyB,GAAW,IAAI,CAAC,CAAC,sCAAsC;AAC7F,MAAM,CAAC,MAAM,qCAAqC,GAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"12.0.0-preview.5\";\n\nexport const CHANGE_FEED_CONTAINER_NAME: string = \"$blobchangefeed\";\nexport const CHANGE_FEED_META_SEGMENT_PATH: string = \"meta/segments.json\";\nexport const CHANGE_FEED_STATUS_FINALIZED: string = \"Finalized\";\nexport const CHANGE_FEED_SEGMENT_PREFIX: string = \"idx/segments/\";\nexport const CHANGE_FEED_INITIALIZATION_SEGMENT: string = \"1601\";\n\nexport const CHANGE_FEED_MAX_PAGE_SIZE: number = 5000; // align with rest API list operations\nexport const CHANGE_FEED_CHUNK_BLOCK_DOWNLOAD_SIZE: number = 16 * 1024 * 1024;\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Creates a span using the global tracer.
3
+ * @internal
4
+ */
5
+ export declare const tracingClient: import("@azure/core-tracing").TracingClient;
6
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,aAAa,6CAIxB,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { createTracingClient } from "@azure/core-tracing";
4
+ import { SDK_VERSION } from "./constants.js";
5
+ /**
6
+ * Creates a span using the global tracer.
7
+ * @internal
8
+ */
9
+ export const tracingClient = createTracingClient({
10
+ packageName: "@azure/storage-blob-changefeed",
11
+ packageVersion: SDK_VERSION,
12
+ namespace: "Microsoft.Storage",
13
+ });
14
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/utils/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;IAC/C,WAAW,EAAE,gCAAgC;IAC7C,cAAc,EAAE,WAAW;IAC3B,SAAS,EAAE,mBAAmB;CAC/B,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { SDK_VERSION } from \"./constants.js\";\n\n/**\n * Creates a span using the global tracer.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n packageName: \"@azure/storage-blob-changefeed\",\n packageVersion: SDK_VERSION,\n namespace: \"Microsoft.Storage\",\n});\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  /**
3
2
  * Read body from downloading operation methods to string.
4
3
  * Works in both Node.js and browsers.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.browser.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.browser.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE;IACR,kBAAkB,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,EAED,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9D;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  /**
4
4
  * Read body from downloading operation methods to string.
5
5
  * Works in both Node.js and browsers.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.browser.js","sourceRoot":"","sources":["../../../src/utils/utils.browser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAGC;AACD,yCAAyC;AACzC,OAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAS,CAAC;IACtC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAU;IAC3C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,UAAU,CAAC,SAAS,GAAG,CAAC,EAAO,EAAE,EAAE;YACjC,OAAO,CAAC,EAAE,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,WAAW;AACb,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Read body from downloading operation methods to string.\n * Works in both Node.js and browsers.\n *\n * @param response - Convenience layer methods response with downloaded body\n * @param length - Length of Readable stream, needed for Node.js environment\n */\nexport async function bodyToString(\n response: {\n readableStreamBody?: NodeJS.ReadableStream;\n blobBody?: Promise<Blob>;\n },\n // tslint:disable-next-line:variable-name\n _length?: number,\n): Promise<string> {\n const blob = await response.blobBody!;\n return blobToString(blob);\n}\n\nexport async function blobToString(blob: Blob): Promise<string> {\n const fileReader = new FileReader();\n return new Promise<string>((resolve, reject) => {\n fileReader.onloadend = (ev: any) => {\n resolve(ev.target!.result);\n };\n fileReader.onerror = reject;\n fileReader.readAsText(blob);\n });\n}\n\nexport function bodyToAvroReadable(): void {\n /* empty */\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { AbortSignalLike } from "@azure/core-http";
2
- import { ContainerClient, CommonOptions } from "@azure/storage-blob";
3
- import { BlobChangeFeedEvent } from "../models/BlobChangeFeedEvent";
1
+ import type { AbortSignalLike } from "@azure/abort-controller";
2
+ import type { ContainerClient, CommonOptions } from "@azure/storage-blob";
3
+ import type { BlobChangeFeedEvent } from "../models/BlobChangeFeedEvent.js";
4
4
  export declare function ceilToNearestHour(date: Date | undefined): Date | undefined;
5
5
  export declare function floorToNearestHour(date: Date | undefined): Date | undefined;
6
6
  /**
@@ -9,13 +9,6 @@ export declare function floorToNearestHour(date: Date | undefined): Date | undef
9
9
  * @param url - Source URL string
10
10
  */
11
11
  export declare function getHost(url: string): string | undefined;
12
- /**
13
- * Get URI from an URL string.
14
- *
15
- * @param url - Source URL string
16
- */
17
- export declare function getURI(url: string): string;
18
- export declare function hashString(str: string): number;
19
12
  /**
20
13
  * Options to configure {@link getYearsPaths} operation.
21
14
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.common.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,KAAK,EAAE,mBAAmB,EAAyB,MAAM,kCAAkC,CAAC;AAGnG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAK1E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAK3E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,wBAAsB,aAAa,CACjC,eAAe,EAAE,eAAe,EAChC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAenB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC7D;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,IAAI,EAChB,OAAO,CAAC,EAAE,IAAI,EACd,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CAsBnB;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAmBlE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAKvD;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,mBAAmB,CAwFhG"}
@@ -1,10 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- import { __asyncValues } from "tslib";
4
- import { URLBuilder } from "@azure/core-http";
5
- import { CHANGE_FEED_SEGMENT_PREFIX, CHANGE_FEED_INITIALIZATION_SEGMENT } from "./constants";
6
- import { createSpan } from "./tracing";
7
- import { SpanStatusCode } from "@azure/core-tracing";
2
+ // Licensed under the MIT License.
3
+ import { CHANGE_FEED_SEGMENT_PREFIX, CHANGE_FEED_INITIALIZATION_SEGMENT } from "./constants.js";
4
+ import { tracingClient } from "./tracing.js";
8
5
  const millisecondsInAnHour = 60 * 60 * 1000;
9
6
  export function ceilToNearestHour(date) {
10
7
  if (date === undefined) {
@@ -24,108 +21,46 @@ export function floorToNearestHour(date) {
24
21
  * @param url - Source URL string
25
22
  */
26
23
  export function getHost(url) {
27
- const urlParsed = URLBuilder.parse(url);
28
- return urlParsed.getHost();
29
- }
30
- /**
31
- * Get URI from an URL string.
32
- *
33
- * @param url - Source URL string
34
- */
35
- export function getURI(url) {
36
- const urlParsed = URLBuilder.parse(url);
37
- return `${urlParsed.getHost()}${urlParsed.getPort()}${urlParsed.getPath()}`;
38
- }
39
- // s[0]*31^(n - 1) + s[1]*31^(n - 2) + ... + s[n - 1]
40
- export function hashString(str) {
41
- let hash = 0;
42
- for (let i = 0; i < str.length; i++) {
43
- hash = (hash << 5) - hash + str.charCodeAt(i);
44
- hash |= 0; // Bit operation converts operands to 32-bit integers
45
- }
46
- return hash;
24
+ const urlParsed = new URL(url);
25
+ return urlParsed.hostname;
47
26
  }
48
27
  export async function getYearsPaths(containerClient, options = {}) {
49
- var e_1, _a;
50
- const { span, updatedOptions } = createSpan("getYearsPaths", options);
51
- try {
28
+ return tracingClient.withSpan("getYearsPaths", options, async (updatedOptions) => {
52
29
  const years = [];
53
- try {
54
- for (var _b = __asyncValues(containerClient.listBlobsByHierarchy("/", {
55
- abortSignal: options.abortSignal,
56
- tracingOptions: updatedOptions.tracingOptions,
57
- prefix: CHANGE_FEED_SEGMENT_PREFIX,
58
- })), _c; _c = await _b.next(), !_c.done;) {
59
- const item = _c.value;
60
- if (item.kind === "prefix" && !item.name.includes(CHANGE_FEED_INITIALIZATION_SEGMENT)) {
61
- const yearStr = item.name.slice(CHANGE_FEED_SEGMENT_PREFIX.length, -1);
62
- years.push(parseInt(yearStr));
63
- }
64
- }
65
- }
66
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
67
- finally {
68
- try {
69
- if (_c && !_c.done && (_a = _b.return)) await _a.call(_b);
30
+ for await (const item of containerClient.listBlobsByHierarchy("/", {
31
+ abortSignal: options.abortSignal,
32
+ tracingOptions: updatedOptions.tracingOptions,
33
+ prefix: CHANGE_FEED_SEGMENT_PREFIX,
34
+ })) {
35
+ if (item.kind === "prefix" && !item.name.includes(CHANGE_FEED_INITIALIZATION_SEGMENT)) {
36
+ const yearStr = item.name.slice(CHANGE_FEED_SEGMENT_PREFIX.length, -1);
37
+ years.push(parseInt(yearStr));
70
38
  }
71
- finally { if (e_1) throw e_1.error; }
72
39
  }
73
40
  return years.sort((a, b) => a - b);
74
- }
75
- catch (e) {
76
- span.setStatus({
77
- code: SpanStatusCode.ERROR,
78
- message: e.message,
79
- });
80
- throw e;
81
- }
82
- finally {
83
- span.end();
84
- }
41
+ });
85
42
  }
86
43
  export async function getSegmentsInYear(containerClient, year, startTime, endTime, options = {}) {
87
- var e_2, _a;
88
- const { span, updatedOptions } = createSpan("getSegmentsInYear", options);
89
- try {
44
+ return tracingClient.withSpan("getSegmentsInYear", options, async (updatedOptions) => {
90
45
  const segments = [];
91
46
  const yearBeginTime = new Date(Date.UTC(year, 0));
92
47
  if (endTime && yearBeginTime >= endTime) {
93
48
  return segments;
94
49
  }
95
50
  const prefix = `${CHANGE_FEED_SEGMENT_PREFIX}${year}/`;
96
- try {
97
- for (var _b = __asyncValues(containerClient.listBlobsFlat({
98
- prefix,
99
- abortSignal: options.abortSignal,
100
- tracingOptions: updatedOptions.tracingOptions,
101
- })), _c; _c = await _b.next(), !_c.done;) {
102
- const item = _c.value;
103
- const segmentTime = parseDateFromSegmentPath(item.name);
104
- if ((startTime && segmentTime < startTime) || (endTime && segmentTime >= endTime)) {
105
- continue;
106
- }
107
- segments.push(item.name);
108
- }
109
- }
110
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
111
- finally {
112
- try {
113
- if (_c && !_c.done && (_a = _b.return)) await _a.call(_b);
51
+ for await (const item of containerClient.listBlobsFlat({
52
+ prefix,
53
+ abortSignal: options.abortSignal,
54
+ tracingOptions: updatedOptions.tracingOptions,
55
+ })) {
56
+ const segmentTime = parseDateFromSegmentPath(item.name);
57
+ if ((startTime && segmentTime < startTime) || (endTime && segmentTime >= endTime)) {
58
+ continue;
114
59
  }
115
- finally { if (e_2) throw e_2.error; }
60
+ segments.push(item.name);
116
61
  }
117
62
  return segments;
118
- }
119
- catch (e) {
120
- span.setStatus({
121
- code: SpanStatusCode.ERROR,
122
- message: e.message,
123
- });
124
- throw e;
125
- }
126
- finally {
127
- span.end();
128
- }
63
+ });
129
64
  }
130
65
  export function parseDateFromSegmentPath(segmentPath) {
131
66
  const splitPath = segmentPath.split("/");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.common.js","sourceRoot":"","sources":["../../../src/utils/utils.common.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport type { ContainerClient, CommonOptions } from \"@azure/storage-blob\";\nimport { CHANGE_FEED_SEGMENT_PREFIX, CHANGE_FEED_INITIALIZATION_SEGMENT } from \"./constants.js\";\nimport { tracingClient } from \"./tracing.js\";\nimport type { BlobChangeFeedEvent, UpdatedBlobProperties } from \"../models/BlobChangeFeedEvent.js\";\n\nconst millisecondsInAnHour = 60 * 60 * 1000;\nexport function ceilToNearestHour(date: Date | undefined): Date | undefined {\n if (date === undefined) {\n return undefined;\n }\n return new Date(Math.ceil(date.getTime() / millisecondsInAnHour) * millisecondsInAnHour);\n}\n\nexport function floorToNearestHour(date: Date | undefined): Date | undefined {\n if (date === undefined) {\n return undefined;\n }\n return new Date(Math.floor(date.getTime() / millisecondsInAnHour) * millisecondsInAnHour);\n}\n\n/**\n * Get host from an URL string.\n *\n * @param url - Source URL string\n */\nexport function getHost(url: string): string | undefined {\n const urlParsed = new URL(url);\n return urlParsed.hostname;\n}\n\n/**\n * Options to configure {@link getYearsPaths} operation.\n */\nexport interface GetYearsPathsOptions extends CommonOptions {\n /**\n * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * For example, use the &commat;azure/abort-controller to create an `AbortSignal`.\n */\n abortSignal?: AbortSignalLike;\n}\n\nexport async function getYearsPaths(\n containerClient: ContainerClient,\n options: GetYearsPathsOptions = {},\n): Promise<number[]> {\n return tracingClient.withSpan(\"getYearsPaths\", options, async (updatedOptions) => {\n const years: number[] = [];\n for await (const item of containerClient.listBlobsByHierarchy(\"/\", {\n abortSignal: options.abortSignal,\n tracingOptions: updatedOptions.tracingOptions,\n prefix: CHANGE_FEED_SEGMENT_PREFIX,\n })) {\n if (item.kind === \"prefix\" && !item.name.includes(CHANGE_FEED_INITIALIZATION_SEGMENT)) {\n const yearStr = item.name.slice(CHANGE_FEED_SEGMENT_PREFIX.length, -1);\n years.push(parseInt(yearStr));\n }\n }\n return years.sort((a, b) => a - b);\n });\n}\n\n/**\n * Options to configure {@link getSegmentsInYear} operation.\n */\nexport interface GetSegmentsInYearOptions extends CommonOptions {\n /**\n * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation.\n * For example, use the &commat;azure/abort-controller to create an `AbortSignal`.\n */\n abortSignal?: AbortSignalLike;\n}\n\nexport async function getSegmentsInYear(\n containerClient: ContainerClient,\n year: number,\n startTime?: Date,\n endTime?: Date,\n options: GetSegmentsInYearOptions = {},\n): Promise<string[]> {\n return tracingClient.withSpan(\"getSegmentsInYear\", options, async (updatedOptions) => {\n const segments: string[] = [];\n const yearBeginTime = new Date(Date.UTC(year, 0));\n if (endTime && yearBeginTime >= endTime) {\n return segments;\n }\n\n const prefix = `${CHANGE_FEED_SEGMENT_PREFIX}${year}/`;\n for await (const item of containerClient.listBlobsFlat({\n prefix,\n abortSignal: options.abortSignal,\n tracingOptions: updatedOptions.tracingOptions,\n })) {\n const segmentTime = parseDateFromSegmentPath(item.name);\n if ((startTime && segmentTime < startTime) || (endTime && segmentTime >= endTime)) {\n continue;\n }\n segments.push(item.name);\n }\n return segments;\n });\n}\n\nexport function parseDateFromSegmentPath(segmentPath: string): Date {\n const splitPath = segmentPath.split(\"/\");\n if (splitPath.length < 3) {\n throw new Error(`${segmentPath} is not a valid segment path.`);\n }\n\n const segmentTime = new Date(0);\n segmentTime.setUTCFullYear(parseInt(splitPath[2]));\n\n if (splitPath.length >= 4) {\n segmentTime.setUTCMonth(parseInt(splitPath[3]) - 1);\n }\n if (splitPath.length >= 5) {\n segmentTime.setUTCDate(parseInt(splitPath[4]));\n }\n if (splitPath.length >= 6) {\n segmentTime.setUTCHours(parseInt(splitPath[5]) / 100);\n }\n return segmentTime;\n}\n\nexport function minDate(dateA: Date, dateB?: Date): Date {\n if (dateB && dateB < dateA) {\n return dateB;\n }\n return dateA;\n}\n\nexport function rawEventToBlobChangeFeedEvent(rawEvent: Record<string, any>): BlobChangeFeedEvent {\n if (rawEvent.eventTime) {\n rawEvent.eventTime = new Date(rawEvent.eventTime);\n }\n if (rawEvent.eTag) {\n rawEvent.etag = rawEvent.eTag;\n delete rawEvent.eTag;\n }\n if (rawEvent.data) {\n if (rawEvent.data.recursive !== undefined) {\n rawEvent.data.isRecursive = rawEvent.data.recursive;\n delete rawEvent.data.recursive;\n }\n if (rawEvent.data.previousInfo) {\n const previousInfo = rawEvent.data.previousInfo;\n\n if (previousInfo.SoftDeleteSnapshot) {\n previousInfo.softDeleteSnapshot = previousInfo.SoftDeleteSnapshot;\n delete previousInfo.SoftDeleteSnapshot;\n }\n if (previousInfo.WasBlobSoftDeleted) {\n previousInfo.isBlobSoftDeleted = previousInfo.WasBlobSoftDeleted === \"true\";\n delete previousInfo.WasBlobSoftDeleted;\n }\n if (previousInfo.BlobVersion) {\n previousInfo.newBlobVersion = previousInfo.BlobVersion;\n delete previousInfo.BlobVersion;\n }\n if (previousInfo.LastVersion) {\n previousInfo.oldBlobVersion = previousInfo.LastVersion;\n delete previousInfo.LastVersion;\n }\n if (previousInfo.PreviousTier) {\n previousInfo.previousTier = previousInfo.PreviousTier;\n delete previousInfo.PreviousTier;\n }\n\n rawEvent.data.previousInfo = previousInfo;\n }\n\n if (rawEvent.data.blobPropertiesUpdated) {\n const updatedBlobProperties: UpdatedBlobProperties = {};\n Object.entries(rawEvent.data.blobPropertiesUpdated).map((item) => {\n const blobPropertyChange = {\n propertyName: item[0],\n oldValue: (item[1] as any).previous as string,\n newValue: (item[1] as any).current as string,\n };\n updatedBlobProperties[item[0]] = blobPropertyChange;\n });\n rawEvent.data.updatedBlobProperties = updatedBlobProperties;\n delete rawEvent.data.blobPropertiesUpdated;\n }\n\n if (rawEvent.data.asyncOperationInfo) {\n const longRunningOperationInfo = rawEvent.data.asyncOperationInfo;\n if (longRunningOperationInfo.DestinationTier) {\n longRunningOperationInfo.destinationAccessTier = longRunningOperationInfo.DestinationTier;\n delete longRunningOperationInfo.DestinationTier;\n }\n if (\"WasAsyncOperation\" in longRunningOperationInfo) {\n longRunningOperationInfo.isAsync = longRunningOperationInfo.WasAsyncOperation === \"true\";\n delete longRunningOperationInfo.WasAsyncOperation;\n }\n if (longRunningOperationInfo.CopyId) {\n longRunningOperationInfo.copyId = longRunningOperationInfo.CopyId;\n delete longRunningOperationInfo.CopyId;\n }\n rawEvent.data.longRunningOperationInfo = longRunningOperationInfo;\n delete rawEvent.data.asyncOperationInfo;\n }\n\n if (rawEvent.data.blobTagsUpdated) {\n rawEvent.data.updatedBlobTags = {\n newTags: rawEvent.data.blobTagsUpdated.current,\n oldTags: rawEvent.data.blobTagsUpdated.previous,\n };\n\n delete rawEvent.data.blobTagsUpdated;\n }\n\n if (rawEvent.data.blobTier) {\n rawEvent.data.blobAccessTier = rawEvent.data.blobTier;\n delete rawEvent.data.blobTier;\n }\n }\n\n return rawEvent as BlobChangeFeedEvent;\n}\n"]}
@@ -1,5 +1,4 @@
1
- /// <reference types="node" />
2
- import { AvroReadable } from "../../../storage-internal-avro/src";
1
+ import type { AvroReadable } from "@azure/storage-internal-avro";
3
2
  /**
4
3
  * Read body from downloading operation methods to string.
5
4
  * Works in both Node.js and browsers.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.node.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE;IACR,kBAAkB,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B,EACD,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,GAAG,YAAY,CAExF"}