11import type { SquareCloudBlob } from ".." ;
22import { BlobObject } from "../structures/object" ;
33import type { CreateObjectResponse , CreateObjectType } from "../types/create" ;
4- import type { ListObjectsResponse } from "../types/list" ;
4+ import type { ListObjectsResponse , ListObjectsType } from "../types/list" ;
55import { parsePathLike } from "../utils/path-like" ;
66import { assertCreateObjectResponse } from "../validation/assertions/create" ;
77import { assertListObjectsResponse } from "../validation/assertions/list" ;
88import { createObjectPayloadSchema } from "../validation/schemas/create" ;
9+ import { listObjectsPayloadSchema } from "../validation/schemas/list" ;
910
1011export class ObjectsManager {
1112 constructor ( private readonly client : SquareCloudBlob ) { }
@@ -18,16 +19,16 @@ export class ObjectsManager {
1819 * blob.objects.list();
1920 * ```
2021 */
21- async list ( ) {
22- const { response } =
23- await this . client . api . request < ListObjectsResponse > ( "objects" ) ;
24- const list = assertListObjectsResponse ( response ) ;
22+ async list ( options ?: ListObjectsType ) {
23+ const payload = listObjectsPayloadSchema . parse ( options ) ;
2524
26- if ( ! list . objects ) {
27- return [ ] ;
28- }
25+ const { response } = await this . client . api . request < ListObjectsResponse > (
26+ "objects" ,
27+ { params : payload . params } ,
28+ ) ;
29+ const { objects } = assertListObjectsResponse ( response ) ;
2930
30- return list . objects . map ( ( objectData ) => {
31+ return objects . map ( ( objectData ) => {
3132 const createdAt = new Date ( objectData . created_at ) ;
3233 const expiresAt = objectData . expires_at
3334 ? new Date ( objectData . expires_at )
0 commit comments