45 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import type { FilePropertyBag } from "./builtin-types.mjs";
 | |
| type BlobLikePart = string | ArrayBuffer | ArrayBufferView | BlobLike | DataView;
 | |
| /**
 | |
|  * Intended to match DOM Blob, node-fetch Blob, node:buffer Blob, etc.
 | |
|  * Don't add arrayBuffer here, node-fetch doesn't have it
 | |
|  */
 | |
| interface BlobLike {
 | |
|     /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/size) */
 | |
|     readonly size: number;
 | |
|     /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/type) */
 | |
|     readonly type: string;
 | |
|     /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/text) */
 | |
|     text(): Promise<string>;
 | |
|     /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/slice) */
 | |
|     slice(start?: number, end?: number): BlobLike;
 | |
| }
 | |
| /**
 | |
|  * Intended to match DOM File, node:buffer File, undici File, etc.
 | |
|  */
 | |
| interface FileLike extends BlobLike {
 | |
|     /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/lastModified) */
 | |
|     readonly lastModified: number;
 | |
|     /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/name) */
 | |
|     readonly name?: string | undefined;
 | |
| }
 | |
| /**
 | |
|  * Intended to match DOM Response, node-fetch Response, undici Response, etc.
 | |
|  */
 | |
| export interface ResponseLike {
 | |
|     url: string;
 | |
|     blob(): Promise<BlobLike>;
 | |
| }
 | |
| export type ToFileInput = FileLike | ResponseLike | Exclude<BlobLikePart, string> | AsyncIterable<BlobLikePart>;
 | |
| /**
 | |
|  * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
 | |
|  * @param value the raw content of the file.  Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
 | |
|  * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
 | |
|  * @param {Object=} options additional properties
 | |
|  * @param {string=} options.type the MIME type of the content
 | |
|  * @param {number=} options.lastModified the last modified timestamp
 | |
|  * @returns a {@link File} with the given properties
 | |
|  */
 | |
| export declare function toFile(value: ToFileInput | PromiseLike<ToFileInput>, name?: string | null | undefined, options?: FilePropertyBag | undefined): Promise<File>;
 | |
| export {};
 | |
| //# sourceMappingURL=to-file.d.mts.map
 |