@lossless.org/client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/.smartconfig.json +37 -0
  2. package/dist_ts/00_commitinfo_data.d.ts +8 -0
  3. package/dist_ts/00_commitinfo_data.js +9 -0
  4. package/dist_ts/classes.losslessorgclient.d.ts +32 -0
  5. package/dist_ts/classes.losslessorgclient.js +103 -0
  6. package/dist_ts/core/classes.error.d.ts +16 -0
  7. package/dist_ts/core/classes.error.js +29 -0
  8. package/dist_ts/core/classes.operation.d.ts +17 -0
  9. package/dist_ts/core/classes.operation.js +70 -0
  10. package/dist_ts/core/interfaces.d.ts +18 -0
  11. package/dist_ts/core/interfaces.js +2 -0
  12. package/dist_ts/index.d.ts +4 -0
  13. package/dist_ts/index.js +3 -0
  14. package/dist_ts/nosqldb/classes.atomicdelete.d.ts +26 -0
  15. package/dist_ts/nosqldb/classes.atomicdelete.js +44 -0
  16. package/dist_ts/nosqldb/classes.atomicfindoneandupdate.d.ts +27 -0
  17. package/dist_ts/nosqldb/classes.atomicfindoneandupdate.js +86 -0
  18. package/dist_ts/nosqldb/classes.atomicupdate.d.ts +26 -0
  19. package/dist_ts/nosqldb/classes.atomicupdate.js +55 -0
  20. package/dist_ts/nosqldb/classes.bootstraprecord.d.ts +14 -0
  21. package/dist_ts/nosqldb/classes.bootstraprecord.js +80 -0
  22. package/dist_ts/nosqldb/classes.bsonassertion.d.ts +2 -0
  23. package/dist_ts/nosqldb/classes.bsonassertion.js +29 -0
  24. package/dist_ts/nosqldb/classes.bsonobjectid.d.ts +2 -0
  25. package/dist_ts/nosqldb/classes.bsonobjectid.js +50 -0
  26. package/dist_ts/nosqldb/classes.bsonsnapshot.d.ts +3 -0
  27. package/dist_ts/nosqldb/classes.bsonsnapshot.js +126 -0
  28. package/dist_ts/nosqldb/classes.cached-document.d.ts +27 -0
  29. package/dist_ts/nosqldb/classes.cached-document.js +112 -0
  30. package/dist_ts/nosqldb/classes.collection.d.ts +302 -0
  31. package/dist_ts/nosqldb/classes.collection.js +1568 -0
  32. package/dist_ts/nosqldb/classes.collectionfactory.d.ts +30 -0
  33. package/dist_ts/nosqldb/classes.collectionfactory.js +65 -0
  34. package/dist_ts/nosqldb/classes.collectionlifecycle.d.ts +4 -0
  35. package/dist_ts/nosqldb/classes.collectionlifecycle.js +15 -0
  36. package/dist_ts/nosqldb/classes.collectionpreparation.d.ts +34 -0
  37. package/dist_ts/nosqldb/classes.collectionpreparation.js +134 -0
  38. package/dist_ts/nosqldb/classes.collectiontopology.d.ts +47 -0
  39. package/dist_ts/nosqldb/classes.collectiontopology.js +388 -0
  40. package/dist_ts/nosqldb/classes.connection.d.ts +18 -0
  41. package/dist_ts/nosqldb/classes.connection.js +23 -0
  42. package/dist_ts/nosqldb/classes.convenience.d.ts +1 -0
  43. package/dist_ts/nosqldb/classes.convenience.js +5 -0
  44. package/dist_ts/nosqldb/classes.cursor.d.ts +15 -0
  45. package/dist_ts/nosqldb/classes.cursor.js +82 -0
  46. package/dist_ts/nosqldb/classes.cursoroperation.d.ts +7 -0
  47. package/dist_ts/nosqldb/classes.cursoroperation.js +36 -0
  48. package/dist_ts/nosqldb/classes.db.d.ts +98 -0
  49. package/dist_ts/nosqldb/classes.db.js +434 -0
  50. package/dist_ts/nosqldb/classes.distributedcoordinator.d.ts +52 -0
  51. package/dist_ts/nosqldb/classes.distributedcoordinator.js +314 -0
  52. package/dist_ts/nosqldb/classes.doc.d.ts +722 -0
  53. package/dist_ts/nosqldb/classes.doc.js +2976 -0
  54. package/dist_ts/nosqldb/classes.easystore.d.ts +42 -0
  55. package/dist_ts/nosqldb/classes.easystore.js +199 -0
  56. package/dist_ts/nosqldb/classes.exactpersistence.d.ts +141 -0
  57. package/dist_ts/nosqldb/classes.exactpersistence.js +1110 -0
  58. package/dist_ts/nosqldb/classes.lucene.adapter.d.ts +173 -0
  59. package/dist_ts/nosqldb/classes.lucene.adapter.js +623 -0
  60. package/dist_ts/nosqldb/classes.mongoadministration.d.ts +73 -0
  61. package/dist_ts/nosqldb/classes.mongoadministration.js +497 -0
  62. package/dist_ts/nosqldb/classes.namespaceinspection.d.ts +42 -0
  63. package/dist_ts/nosqldb/classes.namespaceinspection.js +138 -0
  64. package/dist_ts/nosqldb/classes.operationbudget.d.ts +22 -0
  65. package/dist_ts/nosqldb/classes.operationbudget.js +65 -0
  66. package/dist_ts/nosqldb/classes.ordinarypersistence.d.ts +18 -0
  67. package/dist_ts/nosqldb/classes.ordinarypersistence.js +71 -0
  68. package/dist_ts/nosqldb/classes.persistence.d.ts +14 -0
  69. package/dist_ts/nosqldb/classes.persistence.js +34 -0
  70. package/dist_ts/nosqldb/classes.session.d.ts +28 -0
  71. package/dist_ts/nosqldb/classes.session.js +246 -0
  72. package/dist_ts/nosqldb/classes.storedinspection.d.ts +44 -0
  73. package/dist_ts/nosqldb/classes.storedinspection.js +100 -0
  74. package/dist_ts/nosqldb/classes.testdatabase.d.ts +56 -0
  75. package/dist_ts/nosqldb/classes.testdatabase.js +250 -0
  76. package/dist_ts/nosqldb/classes.watcher.d.ts +37 -0
  77. package/dist_ts/nosqldb/classes.watcher.js +98 -0
  78. package/dist_ts/nosqldb/index.d.ts +27 -0
  79. package/dist_ts/nosqldb/index.js +18 -0
  80. package/dist_ts/nosqldb/logging.d.ts +2 -0
  81. package/dist_ts/nosqldb/logging.js +3 -0
  82. package/dist_ts/nosqldb/plugins.d.ts +17 -0
  83. package/dist_ts/nosqldb/plugins.js +20 -0
  84. package/dist_ts/nosqldb/shim.d.ts +1 -0
  85. package/dist_ts/nosqldb/shim.js +8 -0
  86. package/dist_ts/nosqldb/testsupport.d.ts +3 -0
  87. package/dist_ts/nosqldb/testsupport.js +3 -0
  88. package/dist_ts/objectstorage/classes.bucket.d.ts +227 -0
  89. package/dist_ts/objectstorage/classes.bucket.js +939 -0
  90. package/dist_ts/objectstorage/classes.connection.d.ts +21 -0
  91. package/dist_ts/objectstorage/classes.connection.js +27 -0
  92. package/dist_ts/objectstorage/classes.directory.d.ts +124 -0
  93. package/dist_ts/objectstorage/classes.directory.js +335 -0
  94. package/dist_ts/objectstorage/classes.exactpathpurgeerror.d.ts +5 -0
  95. package/dist_ts/objectstorage/classes.exactpathpurgeerror.js +18 -0
  96. package/dist_ts/objectstorage/classes.exactuploaderror.d.ts +5 -0
  97. package/dist_ts/objectstorage/classes.exactuploaderror.js +19 -0
  98. package/dist_ts/objectstorage/classes.file.d.ts +91 -0
  99. package/dist_ts/objectstorage/classes.file.js +255 -0
  100. package/dist_ts/objectstorage/classes.listcursor.d.ts +41 -0
  101. package/dist_ts/objectstorage/classes.listcursor.js +67 -0
  102. package/dist_ts/objectstorage/classes.metadata.d.ts +57 -0
  103. package/dist_ts/objectstorage/classes.metadata.js +113 -0
  104. package/dist_ts/objectstorage/classes.smartbucket.d.ts +57 -0
  105. package/dist_ts/objectstorage/classes.smartbucket.js +357 -0
  106. package/dist_ts/objectstorage/classes.trash.d.ts +11 -0
  107. package/dist_ts/objectstorage/classes.trash.js +22 -0
  108. package/dist_ts/objectstorage/classes.watcher.d.ts +79 -0
  109. package/dist_ts/objectstorage/classes.watcher.js +249 -0
  110. package/dist_ts/objectstorage/helpers.d.ts +25 -0
  111. package/dist_ts/objectstorage/helpers.js +215 -0
  112. package/dist_ts/objectstorage/index.d.ts +13 -0
  113. package/dist_ts/objectstorage/index.js +13 -0
  114. package/dist_ts/objectstorage/interfaces.d.ts +276 -0
  115. package/dist_ts/objectstorage/interfaces.js +2 -0
  116. package/dist_ts/objectstorage/internal.exactpathpurge.operations.d.ts +11 -0
  117. package/dist_ts/objectstorage/internal.exactpathpurge.operations.js +1069 -0
  118. package/dist_ts/objectstorage/internal.exactupload.capability.d.ts +40 -0
  119. package/dist_ts/objectstorage/internal.exactupload.capability.js +382 -0
  120. package/dist_ts/objectstorage/internal.exactupload.operations.d.ts +11 -0
  121. package/dist_ts/objectstorage/internal.exactupload.operations.js +1104 -0
  122. package/dist_ts/objectstorage/internal.multipart.planner.d.ts +8 -0
  123. package/dist_ts/objectstorage/internal.multipart.planner.js +63 -0
  124. package/dist_ts/objectstorage/internal.multipart.stream.d.ts +17 -0
  125. package/dist_ts/objectstorage/internal.multipart.stream.js +440 -0
  126. package/dist_ts/objectstorage/internal.multipart.types.d.ts +82 -0
  127. package/dist_ts/objectstorage/internal.multipart.types.js +2 -0
  128. package/dist_ts/objectstorage/plugins.d.ts +17 -0
  129. package/dist_ts/objectstorage/plugins.js +23 -0
  130. package/dist_ts/plugins.d.ts +4 -0
  131. package/dist_ts/plugins.js +5 -0
  132. package/dist_ts/sqldb/classes.clickhouseconnection.d.ts +39 -0
  133. package/dist_ts/sqldb/classes.clickhouseconnection.js +225 -0
  134. package/dist_ts/sqldb/classes.sqlconnection.d.ts +50 -0
  135. package/dist_ts/sqldb/classes.sqlconnection.js +376 -0
  136. package/dist_ts/sqldb/classes.sqltable.d.ts +29 -0
  137. package/dist_ts/sqldb/classes.sqltable.js +70 -0
  138. package/dist_ts/sqldb/clickhouse/classes.metricwriter.d.ts +27 -0
  139. package/dist_ts/sqldb/clickhouse/classes.metricwriter.js +89 -0
  140. package/dist_ts/sqldb/clickhouse/index.d.ts +9 -0
  141. package/dist_ts/sqldb/clickhouse/index.js +13 -0
  142. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.d.ts +88 -0
  143. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.js +304 -0
  144. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.d.ts +28 -0
  145. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.js +46 -0
  146. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.d.ts +43 -0
  147. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.js +155 -0
  148. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.resultset.d.ts +13 -0
  149. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.resultset.js +36 -0
  150. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.d.ts +49 -0
  151. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.js +106 -0
  152. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.d.ts +51 -0
  153. package/dist_ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.js +96 -0
  154. package/dist_ts/sqldb/clickhouse/smartclickhouse.plugins.d.ts +5 -0
  155. package/dist_ts/sqldb/clickhouse/smartclickhouse.plugins.js +6 -0
  156. package/dist_ts/sqldb/clickhouse/smartclickhouse.types.d.ts +53 -0
  157. package/dist_ts/sqldb/clickhouse/smartclickhouse.types.js +41 -0
  158. package/dist_ts/sqldb/index.d.ts +6 -0
  159. package/dist_ts/sqldb/index.js +6 -0
  160. package/dist_ts/sqldb/interfaces.d.ts +53 -0
  161. package/dist_ts/sqldb/interfaces.js +19 -0
  162. package/dist_ts/sqldb/internal.sqlpool.d.ts +51 -0
  163. package/dist_ts/sqldb/internal.sqlpool.js +214 -0
  164. package/dist_ts/sqldb/plugins.clickhouse.d.ts +4 -0
  165. package/dist_ts/sqldb/plugins.clickhouse.js +5 -0
  166. package/dist_ts/sqldb/plugins.mariadb.d.ts +4 -0
  167. package/dist_ts/sqldb/plugins.mariadb.js +5 -0
  168. package/docs/source/smartbucket/license.md +19 -0
  169. package/docs/source/smartclickhouse/license.md +19 -0
  170. package/license.md +21 -0
  171. package/package.json +101 -0
  172. package/readme.md +157 -0
  173. package/ts/00_commitinfo_data.ts +8 -0
  174. package/ts/classes.losslessorgclient.ts +104 -0
  175. package/ts/core/classes.error.ts +31 -0
  176. package/ts/core/classes.operation.ts +60 -0
  177. package/ts/core/interfaces.ts +24 -0
  178. package/ts/index.ts +4 -0
  179. package/ts/nosqldb/classes.atomicdelete.ts +81 -0
  180. package/ts/nosqldb/classes.atomicfindoneandupdate.ts +152 -0
  181. package/ts/nosqldb/classes.atomicupdate.ts +99 -0
  182. package/ts/nosqldb/classes.bootstraprecord.ts +107 -0
  183. package/ts/nosqldb/classes.bsonassertion.ts +25 -0
  184. package/ts/nosqldb/classes.bsonobjectid.ts +45 -0
  185. package/ts/nosqldb/classes.bsonsnapshot.ts +105 -0
  186. package/ts/nosqldb/classes.cached-document.ts +67 -0
  187. package/ts/nosqldb/classes.collection.ts +2399 -0
  188. package/ts/nosqldb/classes.collectionfactory.ts +87 -0
  189. package/ts/nosqldb/classes.collectionlifecycle.ts +24 -0
  190. package/ts/nosqldb/classes.collectionpreparation.ts +164 -0
  191. package/ts/nosqldb/classes.collectiontopology.ts +645 -0
  192. package/ts/nosqldb/classes.connection.ts +31 -0
  193. package/ts/nosqldb/classes.convenience.ts +5 -0
  194. package/ts/nosqldb/classes.cursor.ts +88 -0
  195. package/ts/nosqldb/classes.cursoroperation.ts +38 -0
  196. package/ts/nosqldb/classes.db.ts +637 -0
  197. package/ts/nosqldb/classes.distributedcoordinator.ts +305 -0
  198. package/ts/nosqldb/classes.doc.ts +4928 -0
  199. package/ts/nosqldb/classes.easystore.ts +154 -0
  200. package/ts/nosqldb/classes.exactpersistence.ts +1974 -0
  201. package/ts/nosqldb/classes.lucene.adapter.ts +780 -0
  202. package/ts/nosqldb/classes.mongoadministration.ts +867 -0
  203. package/ts/nosqldb/classes.namespaceinspection.ts +199 -0
  204. package/ts/nosqldb/classes.operationbudget.ts +75 -0
  205. package/ts/nosqldb/classes.ordinarypersistence.ts +84 -0
  206. package/ts/nosqldb/classes.persistence.ts +62 -0
  207. package/ts/nosqldb/classes.session.ts +389 -0
  208. package/ts/nosqldb/classes.storedinspection.ts +151 -0
  209. package/ts/nosqldb/classes.testdatabase.ts +272 -0
  210. package/ts/nosqldb/classes.watcher.ts +96 -0
  211. package/ts/nosqldb/index.ts +51 -0
  212. package/ts/nosqldb/logging.ts +3 -0
  213. package/ts/nosqldb/plugins.ts +37 -0
  214. package/ts/nosqldb/shim.ts +6 -0
  215. package/ts/nosqldb/testsupport.ts +13 -0
  216. package/ts/objectstorage/classes.bucket.ts +1114 -0
  217. package/ts/objectstorage/classes.connection.ts +36 -0
  218. package/ts/objectstorage/classes.directory.ts +425 -0
  219. package/ts/objectstorage/classes.exactpathpurgeerror.ts +24 -0
  220. package/ts/objectstorage/classes.exactuploaderror.ts +25 -0
  221. package/ts/objectstorage/classes.file.ts +303 -0
  222. package/ts/objectstorage/classes.listcursor.ts +89 -0
  223. package/ts/objectstorage/classes.metadata.ts +134 -0
  224. package/ts/objectstorage/classes.smartbucket.ts +445 -0
  225. package/ts/objectstorage/classes.trash.ts +30 -0
  226. package/ts/objectstorage/classes.watcher.ts +289 -0
  227. package/ts/objectstorage/helpers.ts +254 -0
  228. package/ts/objectstorage/index.ts +13 -0
  229. package/ts/objectstorage/interfaces.ts +389 -0
  230. package/ts/objectstorage/internal.exactpathpurge.operations.ts +1936 -0
  231. package/ts/objectstorage/internal.exactupload.capability.ts +580 -0
  232. package/ts/objectstorage/internal.exactupload.operations.ts +1715 -0
  233. package/ts/objectstorage/internal.multipart.planner.ts +90 -0
  234. package/ts/objectstorage/internal.multipart.stream.ts +606 -0
  235. package/ts/objectstorage/internal.multipart.types.ts +106 -0
  236. package/ts/objectstorage/plugins.ts +35 -0
  237. package/ts/plugins.ts +4 -0
  238. package/ts/sqldb/classes.clickhouseconnection.ts +189 -0
  239. package/ts/sqldb/classes.sqlconnection.ts +350 -0
  240. package/ts/sqldb/classes.sqltable.ts +70 -0
  241. package/ts/sqldb/clickhouse/classes.metricwriter.ts +72 -0
  242. package/ts/sqldb/clickhouse/index.ts +16 -0
  243. package/ts/sqldb/clickhouse/smartclickhouse.classes.clickhousetable.ts +372 -0
  244. package/ts/sqldb/clickhouse/smartclickhouse.classes.httpclient.ts +52 -0
  245. package/ts/sqldb/clickhouse/smartclickhouse.classes.querybuilder.ts +120 -0
  246. package/ts/sqldb/clickhouse/smartclickhouse.classes.resultset.ts +44 -0
  247. package/ts/sqldb/clickhouse/smartclickhouse.classes.smartclickhouse.ts +123 -0
  248. package/ts/sqldb/clickhouse/smartclickhouse.classes.timedatatable.ts +114 -0
  249. package/ts/sqldb/clickhouse/smartclickhouse.plugins.ts +5 -0
  250. package/ts/sqldb/clickhouse/smartclickhouse.types.ts +134 -0
  251. package/ts/sqldb/index.ts +6 -0
  252. package/ts/sqldb/interfaces.ts +61 -0
  253. package/ts/sqldb/internal.sqlpool.ts +179 -0
  254. package/ts/sqldb/plugins.clickhouse.ts +4 -0
  255. package/ts/sqldb/plugins.mariadb.ts +4 -0
@@ -0,0 +1,227 @@
1
+ import * as plugins from './plugins.js';
2
+ import * as interfaces from './interfaces.js';
3
+ import { SmartBucket } from './classes.smartbucket.js';
4
+ import { Directory } from './classes.directory.js';
5
+ import { File } from './classes.file.js';
6
+ import { Trash } from './classes.trash.js';
7
+ import { ListCursor, type IListCursorOptions } from './classes.listcursor.js';
8
+ import { BucketWatcher } from './classes.watcher.js';
9
+ export interface IListObjectKeysPageOptions {
10
+ prefix?: string;
11
+ limit: number;
12
+ startAfter?: string;
13
+ }
14
+ export interface IListObjectKeysPageResult {
15
+ keys: string[];
16
+ nextStartAfter?: string;
17
+ }
18
+ /**
19
+ * The bucket class exposes the basic functionality of a bucket.
20
+ * The functions of the bucket alone are enough to
21
+ * operate on blobs of data in an S3-compatible object store.
22
+ */
23
+ export declare class Bucket {
24
+ static getBucketByName(smartbucketRef: SmartBucket, bucketNameArg: string): Promise<Bucket>;
25
+ static createBucketByName(smartbucketRef: SmartBucket, bucketName: string): Promise<Bucket>;
26
+ static removeBucketByName(smartbucketRef: SmartBucket, bucketName: string): Promise<void>;
27
+ smartbucketRef: SmartBucket;
28
+ name: string;
29
+ constructor(smartbucketRef: SmartBucket, bucketName: string);
30
+ /**
31
+ * Returns the underlying AWS SDK v3 S3Client for this bucket.
32
+ *
33
+ * Use this when you need to perform operations smartbucket doesn't
34
+ * wrap directly (e.g. lifecycle policies, bucket tagging, multipart
35
+ * upload control, object-lock, inventory config, etc.).
36
+ *
37
+ * The returned client is shared with the parent SmartBucket — do not
38
+ * call `.destroy()` on it.
39
+ */
40
+ getStorageClient(): plugins.s3.S3Client;
41
+ /**
42
+ * Performs a live, side-effectful provider probe for the conditional S3
43
+ * semantics required by fastPutStreamExact().
44
+ *
45
+ * Probe objects and multipart uploads use unique private keys and are removed
46
+ * before a capability is returned. A capability becomes stale when the
47
+ * Bucket object, bucket name, parent SmartBucket, S3 client, or SmartBucket
48
+ * lifecycle generation changes.
49
+ */
50
+ probeExactUploadCapability(optionsArg?: interfaces.IExactUploadCapabilityProbeOptions): Promise<interfaces.TExactUploadCapabilityProbeResult>;
51
+ /**
52
+ * Performs a live provider probe for exact conditional deletion,
53
+ * version-specific deletion, delete-marker removal, and verified cleanup.
54
+ */
55
+ probeExactPathPurgeCapability(optionsArg?: interfaces.IExactPathPurgeCapabilityProbeOptions): Promise<interfaces.TExactPathPurgeCapabilityProbeResult>;
56
+ /**
57
+ * gets the base directory of the bucket
58
+ */
59
+ getBaseDirectory(): Promise<Directory>;
60
+ /**
61
+ * gets the trash directory
62
+ */
63
+ getTrash(): Promise<Trash>;
64
+ getDirectoryFromPath(pathDescriptorArg: interfaces.IPathDecriptor): Promise<Directory>;
65
+ /**
66
+ * store file
67
+ */
68
+ fastPut(optionsArg: interfaces.IPathDecriptor & {
69
+ contents: string | Buffer;
70
+ overwrite?: boolean;
71
+ }): Promise<File>;
72
+ /**
73
+ * get file
74
+ */
75
+ fastGet(optionsArg: {
76
+ path: string;
77
+ }): Promise<Buffer>;
78
+ /**
79
+ * good when time to first byte is important
80
+ * and multiple subscribers are expected
81
+ * @param optionsArg
82
+ * @returns
83
+ */
84
+ fastGetReplaySubject(optionsArg: {
85
+ path: string;
86
+ }): Promise<plugins.smartrx.rxjs.ReplaySubject<Buffer>>;
87
+ fastGetStream(optionsArg: interfaces.IFastGetStreamOptions, typeArg: 'webstream'): Promise<ReadableStream>;
88
+ fastGetStream(optionsArg: interfaces.IFastGetStreamOptions, typeArg?: 'nodestream'): Promise<plugins.stream.Readable>;
89
+ /**
90
+ * store file as stream
91
+ */
92
+ fastPutStream(optionsArg: interfaces.IFastPutStreamOptions): Promise<void>;
93
+ /**
94
+ * Creates an object from a stream while enforcing the declared byte length
95
+ * and create-only destination semantics.
96
+ *
97
+ * Non-empty inputs always use multipart upload and never fall back to a
98
+ * single streaming PutObject request. Memory is bounded by the returned
99
+ * multipart plan. Every source chunk must be no larger than the effective
100
+ * multipart part size (5 MiB by default, or requestedPartSize after protocol
101
+ * normalization).
102
+ */
103
+ fastPutStreamExact(optionsArg: interfaces.IFastPutStreamExactOptions): Promise<interfaces.IExactUploadResult>;
104
+ /**
105
+ * Permanently removes the exact key, including every object version and
106
+ * delete marker, without deleting keys that merely share its prefix.
107
+ */
108
+ purgeExactPath(optionsArg: interfaces.IExactPathPurgeOptions): Promise<interfaces.IExactPathPurgeResult>;
109
+ fastCopy(optionsArg: interfaces.IFastCopyOptions): Promise<void>;
110
+ /**
111
+ * Move object from one path to another within the same bucket or to another bucket
112
+ */
113
+ fastMove(optionsArg: {
114
+ sourcePath: string;
115
+ destinationPath: string;
116
+ targetBucket?: Bucket;
117
+ overwrite?: boolean;
118
+ }): Promise<void>;
119
+ /**
120
+ * removeObject
121
+ */
122
+ fastRemove(optionsArg: interfaces.IFastRemoveOptions): Promise<void>;
123
+ /**
124
+ * check whether file exists
125
+ * @param optionsArg
126
+ * @returns
127
+ */
128
+ fastExists(optionsArg: interfaces.IFastExistsOptions): Promise<boolean>;
129
+ /**
130
+ * deletes this bucket
131
+ */
132
+ delete(): Promise<void>;
133
+ fastStat(pathDescriptor: interfaces.IFastStatOptions): Promise<plugins.s3.HeadObjectCommandOutput>;
134
+ isDirectory(pathDescriptor: interfaces.IPathDecriptor): Promise<boolean>;
135
+ isFile(pathDescriptor: interfaces.IPathDecriptor): Promise<boolean>;
136
+ getMagicBytes(optionsArg: {
137
+ path: string;
138
+ length: number;
139
+ }): Promise<Buffer>;
140
+ /**
141
+ * List all objects with a given prefix using async generator (memory-efficient streaming)
142
+ * @param prefix - Optional prefix to filter objects (default: '' for all objects)
143
+ * @yields Object keys one at a time
144
+ * @example
145
+ * ```ts
146
+ * for await (const key of bucket.listAllObjects('npm/')) {
147
+ * console.log(key);
148
+ * if (shouldStop) break; // Early exit supported
149
+ * }
150
+ * ```
151
+ */
152
+ listAllObjects(prefix?: string): AsyncIterableIterator<string>;
153
+ /**
154
+ * List all objects as an RxJS Observable (for complex reactive pipelines)
155
+ * @param prefix - Optional prefix to filter objects (default: '' for all objects)
156
+ * @returns Observable that emits object keys
157
+ * @example
158
+ * ```ts
159
+ * bucket.listAllObjectsObservable('npm/')
160
+ * .pipe(
161
+ * filter(key => key.endsWith('.json')),
162
+ * take(100)
163
+ * )
164
+ * .subscribe(key => console.log(key));
165
+ * ```
166
+ */
167
+ listAllObjectsObservable(prefix?: string): plugins.smartrx.rxjs.Observable<string>;
168
+ /**
169
+ * Create a cursor for manual pagination control
170
+ * @param prefix - Optional prefix to filter objects (default: '' for all objects)
171
+ * @param options - Cursor options (pageSize, etc.)
172
+ * @returns ListCursor instance
173
+ * @example
174
+ * ```ts
175
+ * const cursor = bucket.createCursor('npm/', { pageSize: 500 });
176
+ * while (cursor.hasMore()) {
177
+ * const { keys, done } = await cursor.next();
178
+ * console.log(`Processing ${keys.length} keys...`);
179
+ * }
180
+ * ```
181
+ */
182
+ createCursor(prefix?: string, options?: IListCursorOptions): ListCursor;
183
+ /**
184
+ * List one deletion-stable keyset page using S3 ListObjectsV2 StartAfter.
185
+ * This requires a general-purpose S3 provider with UTF-8 byte-ordered keys.
186
+ */
187
+ listObjectKeysPage(optionsArg: IListObjectKeysPageOptions): Promise<IListObjectKeysPageResult>;
188
+ /**
189
+ * Create a watcher for monitoring bucket changes (add/modify/delete)
190
+ * @param options - Watcher options (prefix, pollIntervalMs, etc.)
191
+ * @returns BucketWatcher instance
192
+ * @example
193
+ * ```ts
194
+ * const watcher = bucket.createWatcher({ prefix: 'uploads/', pollIntervalMs: 3000 });
195
+ * watcher.changeSubject.subscribe((change) => console.log('Change:', change));
196
+ * await watcher.start();
197
+ * // ... later
198
+ * await watcher.stop();
199
+ * ```
200
+ */
201
+ createWatcher(options?: interfaces.IBucketWatcherOptions): BucketWatcher;
202
+ /**
203
+ * Find objects matching a glob pattern (memory-efficient)
204
+ * @param pattern - Glob pattern (e.g., "**\/*.json", "npm/packages/*\/index.json")
205
+ * @yields Matching object keys
206
+ * @example
207
+ * ```ts
208
+ * for await (const key of bucket.findByGlob('npm/packages/*\/index.json')) {
209
+ * console.log('Found package index:', key);
210
+ * }
211
+ * ```
212
+ */
213
+ findByGlob(pattern: string): AsyncIterableIterator<string>;
214
+ /**
215
+ * List all objects and collect into an array (convenience method)
216
+ * WARNING: Loads entire result set into memory. Use listAllObjects() generator for large buckets.
217
+ * @param prefix - Optional prefix to filter objects (default: '' for all objects)
218
+ * @returns Array of all object keys
219
+ * @example
220
+ * ```ts
221
+ * const allKeys = await bucket.listAllObjectsArray('npm/');
222
+ * console.log(`Found ${allKeys.length} objects`);
223
+ * ```
224
+ */
225
+ listAllObjectsArray(prefix?: string): Promise<string[]>;
226
+ cleanAllContents(): Promise<void>;
227
+ }