@supabase/storage-js 2.87.4-canary.2 → 2.87.4-canary.4

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 (206) hide show
  1. package/README.md +2 -106
  2. package/dist/index.cjs +3019 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +2601 -0
  5. package/dist/index.d.cts.map +1 -0
  6. package/dist/index.d.mts +2601 -0
  7. package/dist/index.d.mts.map +1 -0
  8. package/dist/index.mjs +2998 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/dist/umd/supabase.js +1 -1
  11. package/package.json +21 -12
  12. package/src/lib/version.ts +1 -1
  13. package/dist/main/StorageClient.d.ts +0 -64
  14. package/dist/main/StorageClient.d.ts.map +0 -1
  15. package/dist/main/StorageClient.js +0 -74
  16. package/dist/main/StorageClient.js.map +0 -1
  17. package/dist/main/index.d.ts +0 -7
  18. package/dist/main/index.d.ts.map +0 -1
  19. package/dist/main/index.js +0 -12
  20. package/dist/main/index.js.map +0 -1
  21. package/dist/main/lib/constants.d.ts +0 -4
  22. package/dist/main/lib/constants.d.ts.map +0 -1
  23. package/dist/main/lib/constants.js +0 -8
  24. package/dist/main/lib/constants.js.map +0 -1
  25. package/dist/main/lib/errors.d.ts +0 -21
  26. package/dist/main/lib/errors.d.ts.map +0 -1
  27. package/dist/main/lib/errors.js +0 -41
  28. package/dist/main/lib/errors.js.map +0 -1
  29. package/dist/main/lib/fetch.d.ts +0 -16
  30. package/dist/main/lib/fetch.d.ts.map +0 -1
  31. package/dist/main/lib/fetch.js +0 -95
  32. package/dist/main/lib/fetch.js.map +0 -1
  33. package/dist/main/lib/helpers.d.ts +0 -28
  34. package/dist/main/lib/helpers.d.ts.map +0 -1
  35. package/dist/main/lib/helpers.js +0 -87
  36. package/dist/main/lib/helpers.js.map +0 -1
  37. package/dist/main/lib/index.d.ts +0 -6
  38. package/dist/main/lib/index.d.ts.map +0 -1
  39. package/dist/main/lib/index.js +0 -9
  40. package/dist/main/lib/index.js.map +0 -1
  41. package/dist/main/lib/types.d.ts +0 -226
  42. package/dist/main/lib/types.d.ts.map +0 -1
  43. package/dist/main/lib/types.js +0 -3
  44. package/dist/main/lib/types.js.map +0 -1
  45. package/dist/main/lib/vectors/StorageVectorsClient.d.ts +0 -505
  46. package/dist/main/lib/vectors/StorageVectorsClient.d.ts.map +0 -1
  47. package/dist/main/lib/vectors/StorageVectorsClient.js +0 -582
  48. package/dist/main/lib/vectors/StorageVectorsClient.js.map +0 -1
  49. package/dist/main/lib/vectors/VectorBucketApi.d.ts +0 -32
  50. package/dist/main/lib/vectors/VectorBucketApi.d.ts.map +0 -1
  51. package/dist/main/lib/vectors/VectorBucketApi.js +0 -102
  52. package/dist/main/lib/vectors/VectorBucketApi.js.map +0 -1
  53. package/dist/main/lib/vectors/VectorDataApi.d.ts +0 -32
  54. package/dist/main/lib/vectors/VectorDataApi.d.ts.map +0 -1
  55. package/dist/main/lib/vectors/VectorDataApi.js +0 -147
  56. package/dist/main/lib/vectors/VectorDataApi.js.map +0 -1
  57. package/dist/main/lib/vectors/VectorIndexApi.d.ts +0 -47
  58. package/dist/main/lib/vectors/VectorIndexApi.d.ts.map +0 -1
  59. package/dist/main/lib/vectors/VectorIndexApi.js +0 -104
  60. package/dist/main/lib/vectors/VectorIndexApi.js.map +0 -1
  61. package/dist/main/lib/vectors/constants.d.ts +0 -5
  62. package/dist/main/lib/vectors/constants.d.ts.map +0 -1
  63. package/dist/main/lib/vectors/constants.js +0 -9
  64. package/dist/main/lib/vectors/constants.js.map +0 -1
  65. package/dist/main/lib/vectors/errors.d.ts +0 -55
  66. package/dist/main/lib/vectors/errors.d.ts.map +0 -1
  67. package/dist/main/lib/vectors/errors.js +0 -76
  68. package/dist/main/lib/vectors/errors.js.map +0 -1
  69. package/dist/main/lib/vectors/fetch.d.ts +0 -57
  70. package/dist/main/lib/vectors/fetch.d.ts.map +0 -1
  71. package/dist/main/lib/vectors/fetch.js +0 -167
  72. package/dist/main/lib/vectors/fetch.js.map +0 -1
  73. package/dist/main/lib/vectors/helpers.d.ts +0 -46
  74. package/dist/main/lib/vectors/helpers.d.ts.map +0 -1
  75. package/dist/main/lib/vectors/helpers.js +0 -74
  76. package/dist/main/lib/vectors/helpers.js.map +0 -1
  77. package/dist/main/lib/vectors/index.d.ts +0 -11
  78. package/dist/main/lib/vectors/index.d.ts.map +0 -1
  79. package/dist/main/lib/vectors/index.js +0 -31
  80. package/dist/main/lib/vectors/index.js.map +0 -1
  81. package/dist/main/lib/vectors/types.d.ts +0 -279
  82. package/dist/main/lib/vectors/types.d.ts.map +0 -1
  83. package/dist/main/lib/vectors/types.js +0 -3
  84. package/dist/main/lib/vectors/types.js.map +0 -1
  85. package/dist/main/lib/version.d.ts +0 -2
  86. package/dist/main/lib/version.d.ts.map +0 -1
  87. package/dist/main/lib/version.js +0 -11
  88. package/dist/main/lib/version.js.map +0 -1
  89. package/dist/main/packages/BlobDownloadBuilder.d.ts +0 -16
  90. package/dist/main/packages/BlobDownloadBuilder.d.ts.map +0 -1
  91. package/dist/main/packages/BlobDownloadBuilder.js +0 -55
  92. package/dist/main/packages/BlobDownloadBuilder.js.map +0 -1
  93. package/dist/main/packages/StorageAnalyticsClient.d.ts +0 -324
  94. package/dist/main/packages/StorageAnalyticsClient.d.ts.map +0 -1
  95. package/dist/main/packages/StorageAnalyticsClient.js +0 -395
  96. package/dist/main/packages/StorageAnalyticsClient.js.map +0 -1
  97. package/dist/main/packages/StorageBucketApi.d.ts +0 -266
  98. package/dist/main/packages/StorageBucketApi.d.ts.map +0 -1
  99. package/dist/main/packages/StorageBucketApi.js +0 -362
  100. package/dist/main/packages/StorageBucketApi.js.map +0 -1
  101. package/dist/main/packages/StorageFileApi.d.ts +0 -680
  102. package/dist/main/packages/StorageFileApi.d.ts.map +0 -1
  103. package/dist/main/packages/StorageFileApi.js +0 -1002
  104. package/dist/main/packages/StorageFileApi.js.map +0 -1
  105. package/dist/main/packages/StreamDownloadBuilder.d.ts +0 -9
  106. package/dist/main/packages/StreamDownloadBuilder.d.ts.map +0 -1
  107. package/dist/main/packages/StreamDownloadBuilder.js +0 -35
  108. package/dist/main/packages/StreamDownloadBuilder.js.map +0 -1
  109. package/dist/module/StorageClient.d.ts +0 -64
  110. package/dist/module/StorageClient.d.ts.map +0 -1
  111. package/dist/module/StorageClient.js +0 -69
  112. package/dist/module/StorageClient.js.map +0 -1
  113. package/dist/module/index.d.ts +0 -7
  114. package/dist/module/index.d.ts.map +0 -1
  115. package/dist/module/index.js +0 -6
  116. package/dist/module/index.js.map +0 -1
  117. package/dist/module/lib/constants.d.ts +0 -4
  118. package/dist/module/lib/constants.d.ts.map +0 -1
  119. package/dist/module/lib/constants.js +0 -5
  120. package/dist/module/lib/constants.js.map +0 -1
  121. package/dist/module/lib/errors.d.ts +0 -21
  122. package/dist/module/lib/errors.d.ts.map +0 -1
  123. package/dist/module/lib/errors.js +0 -34
  124. package/dist/module/lib/errors.js.map +0 -1
  125. package/dist/module/lib/fetch.d.ts +0 -16
  126. package/dist/module/lib/fetch.d.ts.map +0 -1
  127. package/dist/module/lib/fetch.js +0 -88
  128. package/dist/module/lib/fetch.js.map +0 -1
  129. package/dist/module/lib/helpers.d.ts +0 -28
  130. package/dist/module/lib/helpers.d.ts.map +0 -1
  131. package/dist/module/lib/helpers.js +0 -79
  132. package/dist/module/lib/helpers.js.map +0 -1
  133. package/dist/module/lib/index.d.ts +0 -6
  134. package/dist/module/lib/index.d.ts.map +0 -1
  135. package/dist/module/lib/index.js +0 -6
  136. package/dist/module/lib/index.js.map +0 -1
  137. package/dist/module/lib/types.d.ts +0 -226
  138. package/dist/module/lib/types.d.ts.map +0 -1
  139. package/dist/module/lib/types.js +0 -2
  140. package/dist/module/lib/types.js.map +0 -1
  141. package/dist/module/lib/vectors/StorageVectorsClient.d.ts +0 -505
  142. package/dist/module/lib/vectors/StorageVectorsClient.d.ts.map +0 -1
  143. package/dist/module/lib/vectors/StorageVectorsClient.js +0 -576
  144. package/dist/module/lib/vectors/StorageVectorsClient.js.map +0 -1
  145. package/dist/module/lib/vectors/VectorBucketApi.d.ts +0 -32
  146. package/dist/module/lib/vectors/VectorBucketApi.d.ts.map +0 -1
  147. package/dist/module/lib/vectors/VectorBucketApi.js +0 -99
  148. package/dist/module/lib/vectors/VectorBucketApi.js.map +0 -1
  149. package/dist/module/lib/vectors/VectorDataApi.d.ts +0 -32
  150. package/dist/module/lib/vectors/VectorDataApi.d.ts.map +0 -1
  151. package/dist/module/lib/vectors/VectorDataApi.js +0 -144
  152. package/dist/module/lib/vectors/VectorDataApi.js.map +0 -1
  153. package/dist/module/lib/vectors/VectorIndexApi.d.ts +0 -47
  154. package/dist/module/lib/vectors/VectorIndexApi.d.ts.map +0 -1
  155. package/dist/module/lib/vectors/VectorIndexApi.js +0 -101
  156. package/dist/module/lib/vectors/VectorIndexApi.js.map +0 -1
  157. package/dist/module/lib/vectors/constants.d.ts +0 -5
  158. package/dist/module/lib/vectors/constants.d.ts.map +0 -1
  159. package/dist/module/lib/vectors/constants.js +0 -6
  160. package/dist/module/lib/vectors/constants.js.map +0 -1
  161. package/dist/module/lib/vectors/errors.d.ts +0 -55
  162. package/dist/module/lib/vectors/errors.d.ts.map +0 -1
  163. package/dist/module/lib/vectors/errors.js +0 -69
  164. package/dist/module/lib/vectors/errors.js.map +0 -1
  165. package/dist/module/lib/vectors/fetch.d.ts +0 -57
  166. package/dist/module/lib/vectors/fetch.d.ts.map +0 -1
  167. package/dist/module/lib/vectors/fetch.js +0 -161
  168. package/dist/module/lib/vectors/fetch.js.map +0 -1
  169. package/dist/module/lib/vectors/helpers.d.ts +0 -46
  170. package/dist/module/lib/vectors/helpers.d.ts.map +0 -1
  171. package/dist/module/lib/vectors/helpers.js +0 -66
  172. package/dist/module/lib/vectors/helpers.js.map +0 -1
  173. package/dist/module/lib/vectors/index.d.ts +0 -11
  174. package/dist/module/lib/vectors/index.d.ts.map +0 -1
  175. package/dist/module/lib/vectors/index.js +0 -11
  176. package/dist/module/lib/vectors/index.js.map +0 -1
  177. package/dist/module/lib/vectors/types.d.ts +0 -279
  178. package/dist/module/lib/vectors/types.d.ts.map +0 -1
  179. package/dist/module/lib/vectors/types.js +0 -2
  180. package/dist/module/lib/vectors/types.js.map +0 -1
  181. package/dist/module/lib/version.d.ts +0 -2
  182. package/dist/module/lib/version.d.ts.map +0 -1
  183. package/dist/module/lib/version.js +0 -8
  184. package/dist/module/lib/version.js.map +0 -1
  185. package/dist/module/packages/BlobDownloadBuilder.d.ts +0 -16
  186. package/dist/module/packages/BlobDownloadBuilder.d.ts.map +0 -1
  187. package/dist/module/packages/BlobDownloadBuilder.js +0 -53
  188. package/dist/module/packages/BlobDownloadBuilder.js.map +0 -1
  189. package/dist/module/packages/StorageAnalyticsClient.d.ts +0 -324
  190. package/dist/module/packages/StorageAnalyticsClient.d.ts.map +0 -1
  191. package/dist/module/packages/StorageAnalyticsClient.js +0 -392
  192. package/dist/module/packages/StorageAnalyticsClient.js.map +0 -1
  193. package/dist/module/packages/StorageBucketApi.d.ts +0 -266
  194. package/dist/module/packages/StorageBucketApi.d.ts.map +0 -1
  195. package/dist/module/packages/StorageBucketApi.js +0 -359
  196. package/dist/module/packages/StorageBucketApi.js.map +0 -1
  197. package/dist/module/packages/StorageFileApi.d.ts +0 -680
  198. package/dist/module/packages/StorageFileApi.d.ts.map +0 -1
  199. package/dist/module/packages/StorageFileApi.js +0 -999
  200. package/dist/module/packages/StorageFileApi.js.map +0 -1
  201. package/dist/module/packages/StreamDownloadBuilder.d.ts +0 -9
  202. package/dist/module/packages/StreamDownloadBuilder.d.ts.map +0 -1
  203. package/dist/module/packages/StreamDownloadBuilder.js +0 -32
  204. package/dist/module/packages/StreamDownloadBuilder.js.map +0 -1
  205. package/dist/tsconfig.module.tsbuildinfo +0 -1
  206. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,680 +0,0 @@
1
- import { StorageError } from '../lib/errors';
2
- import { Fetch } from '../lib/fetch';
3
- import { FileObject, FileOptions, SearchOptions, FetchParameters, TransformOptions, DestinationOptions, FileObjectV2, Camelize, SearchV2Options, SearchV2Result } from '../lib/types';
4
- import BlobDownloadBuilder from './BlobDownloadBuilder';
5
- type FileBody = ArrayBuffer | ArrayBufferView | Blob | Buffer | File | FormData | NodeJS.ReadableStream | ReadableStream<Uint8Array> | URLSearchParams | string;
6
- export default class StorageFileApi {
7
- protected url: string;
8
- protected headers: {
9
- [key: string]: string;
10
- };
11
- protected bucketId?: string;
12
- protected fetch: Fetch;
13
- protected shouldThrowOnError: boolean;
14
- constructor(url: string, headers?: {
15
- [key: string]: string;
16
- }, bucketId?: string, fetch?: Fetch);
17
- /**
18
- * Enable throwing errors instead of returning them.
19
- *
20
- * @category File Buckets
21
- */
22
- throwOnError(): this;
23
- /**
24
- * Uploads a file to an existing bucket or replaces an existing file at the specified path with a new one.
25
- *
26
- * @param method HTTP method.
27
- * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
28
- * @param fileBody The body of the file to be stored in the bucket.
29
- */
30
- private uploadOrUpdate;
31
- /**
32
- * Uploads a file to an existing bucket.
33
- *
34
- * @category File Buckets
35
- * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
36
- * @param fileBody The body of the file to be stored in the bucket.
37
- * @param fileOptions Optional file upload options including cacheControl, contentType, upsert, and metadata.
38
- * @returns Promise with response containing file path, id, and fullPath or error
39
- *
40
- * @example Upload file
41
- * ```js
42
- * const avatarFile = event.target.files[0]
43
- * const { data, error } = await supabase
44
- * .storage
45
- * .from('avatars')
46
- * .upload('public/avatar1.png', avatarFile, {
47
- * cacheControl: '3600',
48
- * upsert: false
49
- * })
50
- * ```
51
- *
52
- * Response:
53
- * ```json
54
- * {
55
- * "data": {
56
- * "path": "public/avatar1.png",
57
- * "fullPath": "avatars/public/avatar1.png"
58
- * },
59
- * "error": null
60
- * }
61
- * ```
62
- *
63
- * @example Upload file using `ArrayBuffer` from base64 file data
64
- * ```js
65
- * import { decode } from 'base64-arraybuffer'
66
- *
67
- * const { data, error } = await supabase
68
- * .storage
69
- * .from('avatars')
70
- * .upload('public/avatar1.png', decode('base64FileData'), {
71
- * contentType: 'image/png'
72
- * })
73
- * ```
74
- */
75
- upload(path: string, fileBody: FileBody, fileOptions?: FileOptions): Promise<{
76
- data: {
77
- id: string;
78
- path: string;
79
- fullPath: string;
80
- };
81
- error: null;
82
- } | {
83
- data: null;
84
- error: StorageError;
85
- }>;
86
- /**
87
- * Upload a file with a token generated from `createSignedUploadUrl`.
88
- *
89
- * @category File Buckets
90
- * @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
91
- * @param token The token generated from `createSignedUploadUrl`
92
- * @param fileBody The body of the file to be stored in the bucket.
93
- * @param fileOptions HTTP headers (cacheControl, contentType, etc.).
94
- * **Note:** The `upsert` option has no effect here. To enable upsert behavior,
95
- * pass `{ upsert: true }` when calling `createSignedUploadUrl()` instead.
96
- * @returns Promise with response containing file path and fullPath or error
97
- *
98
- * @example Upload to a signed URL
99
- * ```js
100
- * const { data, error } = await supabase
101
- * .storage
102
- * .from('avatars')
103
- * .uploadToSignedUrl('folder/cat.jpg', 'token-from-createSignedUploadUrl', file)
104
- * ```
105
- *
106
- * Response:
107
- * ```json
108
- * {
109
- * "data": {
110
- * "path": "folder/cat.jpg",
111
- * "fullPath": "avatars/folder/cat.jpg"
112
- * },
113
- * "error": null
114
- * }
115
- * ```
116
- */
117
- uploadToSignedUrl(path: string, token: string, fileBody: FileBody, fileOptions?: FileOptions): Promise<{
118
- data: {
119
- path: string;
120
- fullPath: any;
121
- };
122
- error: null;
123
- } | {
124
- data: null;
125
- error: StorageError;
126
- }>;
127
- /**
128
- * Creates a signed upload URL.
129
- * Signed upload URLs can be used to upload files to the bucket without further authentication.
130
- * They are valid for 2 hours.
131
- *
132
- * @category File Buckets
133
- * @param path The file path, including the current file name. For example `folder/image.png`.
134
- * @param options.upsert If set to true, allows the file to be overwritten if it already exists.
135
- * @returns Promise with response containing signed upload URL, token, and path or error
136
- *
137
- * @example Create Signed Upload URL
138
- * ```js
139
- * const { data, error } = await supabase
140
- * .storage
141
- * .from('avatars')
142
- * .createSignedUploadUrl('folder/cat.jpg')
143
- * ```
144
- *
145
- * Response:
146
- * ```json
147
- * {
148
- * "data": {
149
- * "signedUrl": "https://example.supabase.co/storage/v1/object/upload/sign/avatars/folder/cat.jpg?token=<TOKEN>",
150
- * "path": "folder/cat.jpg",
151
- * "token": "<TOKEN>"
152
- * },
153
- * "error": null
154
- * }
155
- * ```
156
- */
157
- createSignedUploadUrl(path: string, options?: {
158
- upsert: boolean;
159
- }): Promise<{
160
- data: {
161
- signedUrl: string;
162
- token: string;
163
- path: string;
164
- };
165
- error: null;
166
- } | {
167
- data: null;
168
- error: StorageError;
169
- }>;
170
- /**
171
- * Replaces an existing file at the specified path with a new one.
172
- *
173
- * @category File Buckets
174
- * @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to update.
175
- * @param fileBody The body of the file to be stored in the bucket.
176
- * @param fileOptions Optional file upload options including cacheControl, contentType, upsert, and metadata.
177
- * @returns Promise with response containing file path, id, and fullPath or error
178
- *
179
- * @example Update file
180
- * ```js
181
- * const avatarFile = event.target.files[0]
182
- * const { data, error } = await supabase
183
- * .storage
184
- * .from('avatars')
185
- * .update('public/avatar1.png', avatarFile, {
186
- * cacheControl: '3600',
187
- * upsert: true
188
- * })
189
- * ```
190
- *
191
- * Response:
192
- * ```json
193
- * {
194
- * "data": {
195
- * "path": "public/avatar1.png",
196
- * "fullPath": "avatars/public/avatar1.png"
197
- * },
198
- * "error": null
199
- * }
200
- * ```
201
- *
202
- * @example Update file using `ArrayBuffer` from base64 file data
203
- * ```js
204
- * import {decode} from 'base64-arraybuffer'
205
- *
206
- * const { data, error } = await supabase
207
- * .storage
208
- * .from('avatars')
209
- * .update('public/avatar1.png', decode('base64FileData'), {
210
- * contentType: 'image/png'
211
- * })
212
- * ```
213
- */
214
- update(path: string, fileBody: ArrayBuffer | ArrayBufferView | Blob | Buffer | File | FormData | NodeJS.ReadableStream | ReadableStream<Uint8Array> | URLSearchParams | string, fileOptions?: FileOptions): Promise<{
215
- data: {
216
- id: string;
217
- path: string;
218
- fullPath: string;
219
- };
220
- error: null;
221
- } | {
222
- data: null;
223
- error: StorageError;
224
- }>;
225
- /**
226
- * Moves an existing file to a new path in the same bucket.
227
- *
228
- * @category File Buckets
229
- * @param fromPath The original file path, including the current file name. For example `folder/image.png`.
230
- * @param toPath The new file path, including the new file name. For example `folder/image-new.png`.
231
- * @param options The destination options.
232
- * @returns Promise with response containing success message or error
233
- *
234
- * @example Move file
235
- * ```js
236
- * const { data, error } = await supabase
237
- * .storage
238
- * .from('avatars')
239
- * .move('public/avatar1.png', 'private/avatar2.png')
240
- * ```
241
- *
242
- * Response:
243
- * ```json
244
- * {
245
- * "data": {
246
- * "message": "Successfully moved"
247
- * },
248
- * "error": null
249
- * }
250
- * ```
251
- */
252
- move(fromPath: string, toPath: string, options?: DestinationOptions): Promise<{
253
- data: {
254
- message: string;
255
- };
256
- error: null;
257
- } | {
258
- data: null;
259
- error: StorageError;
260
- }>;
261
- /**
262
- * Copies an existing file to a new path in the same bucket.
263
- *
264
- * @category File Buckets
265
- * @param fromPath The original file path, including the current file name. For example `folder/image.png`.
266
- * @param toPath The new file path, including the new file name. For example `folder/image-copy.png`.
267
- * @param options The destination options.
268
- * @returns Promise with response containing copied file path or error
269
- *
270
- * @example Copy file
271
- * ```js
272
- * const { data, error } = await supabase
273
- * .storage
274
- * .from('avatars')
275
- * .copy('public/avatar1.png', 'private/avatar2.png')
276
- * ```
277
- *
278
- * Response:
279
- * ```json
280
- * {
281
- * "data": {
282
- * "path": "avatars/private/avatar2.png"
283
- * },
284
- * "error": null
285
- * }
286
- * ```
287
- */
288
- copy(fromPath: string, toPath: string, options?: DestinationOptions): Promise<{
289
- data: {
290
- path: string;
291
- };
292
- error: null;
293
- } | {
294
- data: null;
295
- error: StorageError;
296
- }>;
297
- /**
298
- * Creates a signed URL. Use a signed URL to share a file for a fixed amount of time.
299
- *
300
- * @category File Buckets
301
- * @param path The file path, including the current file name. For example `folder/image.png`.
302
- * @param expiresIn The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute.
303
- * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.
304
- * @param options.transform Transform the asset before serving it to the client.
305
- * @returns Promise with response containing signed URL or error
306
- *
307
- * @example Create Signed URL
308
- * ```js
309
- * const { data, error } = await supabase
310
- * .storage
311
- * .from('avatars')
312
- * .createSignedUrl('folder/avatar1.png', 60)
313
- * ```
314
- *
315
- * Response:
316
- * ```json
317
- * {
318
- * "data": {
319
- * "signedUrl": "https://example.supabase.co/storage/v1/object/sign/avatars/folder/avatar1.png?token=<TOKEN>"
320
- * },
321
- * "error": null
322
- * }
323
- * ```
324
- *
325
- * @example Create a signed URL for an asset with transformations
326
- * ```js
327
- * const { data } = await supabase
328
- * .storage
329
- * .from('avatars')
330
- * .createSignedUrl('folder/avatar1.png', 60, {
331
- * transform: {
332
- * width: 100,
333
- * height: 100,
334
- * }
335
- * })
336
- * ```
337
- *
338
- * @example Create a signed URL which triggers the download of the asset
339
- * ```js
340
- * const { data } = await supabase
341
- * .storage
342
- * .from('avatars')
343
- * .createSignedUrl('folder/avatar1.png', 60, {
344
- * download: true,
345
- * })
346
- * ```
347
- */
348
- createSignedUrl(path: string, expiresIn: number, options?: {
349
- download?: string | boolean;
350
- transform?: TransformOptions;
351
- }): Promise<{
352
- data: {
353
- signedUrl: string;
354
- };
355
- error: null;
356
- } | {
357
- data: null;
358
- error: StorageError;
359
- }>;
360
- /**
361
- * Creates multiple signed URLs. Use a signed URL to share a file for a fixed amount of time.
362
- *
363
- * @category File Buckets
364
- * @param paths The file paths to be downloaded, including the current file names. For example `['folder/image.png', 'folder2/image2.png']`.
365
- * @param expiresIn The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute.
366
- * @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.
367
- * @returns Promise with response containing array of objects with signedUrl, path, and error or error
368
- *
369
- * @example Create Signed URLs
370
- * ```js
371
- * const { data, error } = await supabase
372
- * .storage
373
- * .from('avatars')
374
- * .createSignedUrls(['folder/avatar1.png', 'folder/avatar2.png'], 60)
375
- * ```
376
- *
377
- * Response:
378
- * ```json
379
- * {
380
- * "data": [
381
- * {
382
- * "error": null,
383
- * "path": "folder/avatar1.png",
384
- * "signedURL": "/object/sign/avatars/folder/avatar1.png?token=<TOKEN>",
385
- * "signedUrl": "https://example.supabase.co/storage/v1/object/sign/avatars/folder/avatar1.png?token=<TOKEN>"
386
- * },
387
- * {
388
- * "error": null,
389
- * "path": "folder/avatar2.png",
390
- * "signedURL": "/object/sign/avatars/folder/avatar2.png?token=<TOKEN>",
391
- * "signedUrl": "https://example.supabase.co/storage/v1/object/sign/avatars/folder/avatar2.png?token=<TOKEN>"
392
- * }
393
- * ],
394
- * "error": null
395
- * }
396
- * ```
397
- */
398
- createSignedUrls(paths: string[], expiresIn: number, options?: {
399
- download: string | boolean;
400
- }): Promise<{
401
- data: {
402
- error: string | null;
403
- path: string | null;
404
- signedUrl: string;
405
- }[];
406
- error: null;
407
- } | {
408
- data: null;
409
- error: StorageError;
410
- }>;
411
- /**
412
- * Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead.
413
- *
414
- * @category File Buckets
415
- * @param path The full path and file name of the file to be downloaded. For example `folder/image.png`.
416
- * @param options.transform Transform the asset before serving it to the client.
417
- * @returns BlobDownloadBuilder instance for downloading the file
418
- *
419
- * @example Download file
420
- * ```js
421
- * const { data, error } = await supabase
422
- * .storage
423
- * .from('avatars')
424
- * .download('folder/avatar1.png')
425
- * ```
426
- *
427
- * Response:
428
- * ```json
429
- * {
430
- * "data": <BLOB>,
431
- * "error": null
432
- * }
433
- * ```
434
- *
435
- * @example Download file with transformations
436
- * ```js
437
- * const { data, error } = await supabase
438
- * .storage
439
- * .from('avatars')
440
- * .download('folder/avatar1.png', {
441
- * transform: {
442
- * width: 100,
443
- * height: 100,
444
- * quality: 80
445
- * }
446
- * })
447
- * ```
448
- */
449
- download<Options extends {
450
- transform?: TransformOptions;
451
- }>(path: string, options?: Options): BlobDownloadBuilder;
452
- /**
453
- * Retrieves the details of an existing file.
454
- *
455
- * @category File Buckets
456
- * @param path The file path, including the file name. For example `folder/image.png`.
457
- * @returns Promise with response containing file metadata or error
458
- *
459
- * @example Get file info
460
- * ```js
461
- * const { data, error } = await supabase
462
- * .storage
463
- * .from('avatars')
464
- * .info('folder/avatar1.png')
465
- * ```
466
- */
467
- info(path: string): Promise<{
468
- data: Camelize<FileObjectV2>;
469
- error: null;
470
- } | {
471
- data: null;
472
- error: StorageError;
473
- }>;
474
- /**
475
- * Checks the existence of a file.
476
- *
477
- * @category File Buckets
478
- * @param path The file path, including the file name. For example `folder/image.png`.
479
- * @returns Promise with response containing boolean indicating file existence or error
480
- *
481
- * @example Check file existence
482
- * ```js
483
- * const { data, error } = await supabase
484
- * .storage
485
- * .from('avatars')
486
- * .exists('folder/avatar1.png')
487
- * ```
488
- */
489
- exists(path: string): Promise<{
490
- data: boolean;
491
- error: null;
492
- } | {
493
- data: boolean;
494
- error: StorageError;
495
- }>;
496
- /**
497
- * A simple convenience function to get the URL for an asset in a public bucket. If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset.
498
- * This function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset.
499
- *
500
- * @category File Buckets
501
- * @param path The path and name of the file to generate the public URL for. For example `folder/image.png`.
502
- * @param options.download Triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.
503
- * @param options.transform Transform the asset before serving it to the client.
504
- * @returns Object with public URL
505
- *
506
- * @example Returns the URL for an asset in a public bucket
507
- * ```js
508
- * const { data } = supabase
509
- * .storage
510
- * .from('public-bucket')
511
- * .getPublicUrl('folder/avatar1.png')
512
- * ```
513
- *
514
- * Response:
515
- * ```json
516
- * {
517
- * "data": {
518
- * "publicUrl": "https://example.supabase.co/storage/v1/object/public/public-bucket/folder/avatar1.png"
519
- * }
520
- * }
521
- * ```
522
- *
523
- * @example Returns the URL for an asset in a public bucket with transformations
524
- * ```js
525
- * const { data } = supabase
526
- * .storage
527
- * .from('public-bucket')
528
- * .getPublicUrl('folder/avatar1.png', {
529
- * transform: {
530
- * width: 100,
531
- * height: 100,
532
- * }
533
- * })
534
- * ```
535
- *
536
- * @example Returns the URL which triggers the download of an asset in a public bucket
537
- * ```js
538
- * const { data } = supabase
539
- * .storage
540
- * .from('public-bucket')
541
- * .getPublicUrl('folder/avatar1.png', {
542
- * download: true,
543
- * })
544
- * ```
545
- */
546
- getPublicUrl(path: string, options?: {
547
- download?: string | boolean;
548
- transform?: TransformOptions;
549
- }): {
550
- data: {
551
- publicUrl: string;
552
- };
553
- };
554
- /**
555
- * Deletes files within the same bucket
556
- *
557
- * @category File Buckets
558
- * @param paths An array of files to delete, including the path and file name. For example [`'folder/image.png'`].
559
- * @returns Promise with response containing array of deleted file objects or error
560
- *
561
- * @example Delete file
562
- * ```js
563
- * const { data, error } = await supabase
564
- * .storage
565
- * .from('avatars')
566
- * .remove(['folder/avatar1.png'])
567
- * ```
568
- *
569
- * Response:
570
- * ```json
571
- * {
572
- * "data": [],
573
- * "error": null
574
- * }
575
- * ```
576
- */
577
- remove(paths: string[]): Promise<{
578
- data: FileObject[];
579
- error: null;
580
- } | {
581
- data: null;
582
- error: StorageError;
583
- }>;
584
- /**
585
- * Get file metadata
586
- * @param id the file id to retrieve metadata
587
- */
588
- /**
589
- * Update file metadata
590
- * @param id the file id to update metadata
591
- * @param meta the new file metadata
592
- */
593
- /**
594
- * Lists all the files and folders within a path of the bucket.
595
- *
596
- * @category File Buckets
597
- * @param path The folder path.
598
- * @param options Search options including limit (defaults to 100), offset, sortBy, and search
599
- * @param parameters Optional fetch parameters including signal for cancellation
600
- * @returns Promise with response containing array of files or error
601
- *
602
- * @example List files in a bucket
603
- * ```js
604
- * const { data, error } = await supabase
605
- * .storage
606
- * .from('avatars')
607
- * .list('folder', {
608
- * limit: 100,
609
- * offset: 0,
610
- * sortBy: { column: 'name', order: 'asc' },
611
- * })
612
- * ```
613
- *
614
- * Response:
615
- * ```json
616
- * {
617
- * "data": [
618
- * {
619
- * "name": "avatar1.png",
620
- * "id": "e668cf7f-821b-4a2f-9dce-7dfa5dd1cfd2",
621
- * "updated_at": "2024-05-22T23:06:05.580Z",
622
- * "created_at": "2024-05-22T23:04:34.443Z",
623
- * "last_accessed_at": "2024-05-22T23:04:34.443Z",
624
- * "metadata": {
625
- * "eTag": "\"c5e8c553235d9af30ef4f6e280790b92\"",
626
- * "size": 32175,
627
- * "mimetype": "image/png",
628
- * "cacheControl": "max-age=3600",
629
- * "lastModified": "2024-05-22T23:06:05.574Z",
630
- * "contentLength": 32175,
631
- * "httpStatusCode": 200
632
- * }
633
- * }
634
- * ],
635
- * "error": null
636
- * }
637
- * ```
638
- *
639
- * @example Search files in a bucket
640
- * ```js
641
- * const { data, error } = await supabase
642
- * .storage
643
- * .from('avatars')
644
- * .list('folder', {
645
- * limit: 100,
646
- * offset: 0,
647
- * sortBy: { column: 'name', order: 'asc' },
648
- * search: 'jon'
649
- * })
650
- * ```
651
- */
652
- list(path?: string, options?: SearchOptions, parameters?: FetchParameters): Promise<{
653
- data: FileObject[];
654
- error: null;
655
- } | {
656
- data: null;
657
- error: StorageError;
658
- }>;
659
- /**
660
- * @experimental this method signature might change in the future
661
- *
662
- * @category File Buckets
663
- * @param options search options
664
- * @param parameters
665
- */
666
- listV2(options?: SearchV2Options, parameters?: FetchParameters): Promise<{
667
- data: SearchV2Result;
668
- error: null;
669
- } | {
670
- data: null;
671
- error: StorageError;
672
- }>;
673
- protected encodeMetadata(metadata: Record<string, any>): string;
674
- toBase64(data: string): string;
675
- private _getFinalPath;
676
- private _removeEmptyFolders;
677
- private transformOptsToQueryString;
678
- }
679
- export {};
680
- //# sourceMappingURL=StorageFileApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StorageFileApi.d.ts","sourceRoot":"","sources":["../../../src/packages/StorageFileApi.ts"],"names":[],"mappings":"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"}