@od-oneapp/storage 2026.2.1501-canary.1
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.
- package/README.md +854 -0
- package/client-next.d.mts +60 -0
- package/client-next.d.mts.map +1 -0
- package/client-next.mjs +111 -0
- package/client-next.mjs.map +1 -0
- package/client.d.mts +66 -0
- package/client.d.mts.map +1 -0
- package/client.mjs +183 -0
- package/client.mjs.map +1 -0
- package/env-BVHLmQdh.mjs +128 -0
- package/env-BVHLmQdh.mjs.map +1 -0
- package/env.mjs +3 -0
- package/health-check-Bn4qWNOt.d.mts +143 -0
- package/health-check-Bn4qWNOt.d.mts.map +1 -0
- package/health-check-DbHmYLDb.mjs +848 -0
- package/health-check-DbHmYLDb.mjs.map +1 -0
- package/index.d.mts +60 -0
- package/index.d.mts.map +1 -0
- package/index.mjs +3 -0
- package/keys.d.mts +37 -0
- package/keys.d.mts.map +1 -0
- package/keys.mjs +253 -0
- package/keys.mjs.map +1 -0
- package/package.json +123 -0
- package/server-edge.d.mts +27 -0
- package/server-edge.d.mts.map +1 -0
- package/server-edge.mjs +88 -0
- package/server-edge.mjs.map +1 -0
- package/server-next.d.mts +182 -0
- package/server-next.d.mts.map +1 -0
- package/server-next.mjs +1352 -0
- package/server-next.mjs.map +1 -0
- package/server.d.mts +68 -0
- package/server.d.mts.map +1 -0
- package/server.mjs +371 -0
- package/server.mjs.map +1 -0
- package/types.d.mts +314 -0
- package/types.d.mts.map +1 -0
- package/types.mjs +3 -0
- package/validation.d.mts +101 -0
- package/validation.d.mts.map +1 -0
- package/validation.mjs +590 -0
- package/validation.mjs.map +1 -0
- package/vercel-blob-HSvMatlk.mjs +156 -0
- package/vercel-blob-HSvMatlk.mjs.map +1 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { ListOptions, MultiStorageConfig, MultipartUploadOptions, MultipartUploadResult as MultipartUploadResult$1, PresignedUploadUrl, StorageCapabilities, StorageObject, StorageProvider, UploadOptions } from "./types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/multi-storage.d.ts
|
|
4
|
+
declare class MultiStorageManager {
|
|
5
|
+
private providers;
|
|
6
|
+
private defaultProvider;
|
|
7
|
+
private routing;
|
|
8
|
+
constructor(config: MultiStorageConfig);
|
|
9
|
+
private createProvider;
|
|
10
|
+
private getProviderForKey;
|
|
11
|
+
private isImageFile;
|
|
12
|
+
private isDocumentFile;
|
|
13
|
+
getProvider(name: string): StorageProvider | undefined;
|
|
14
|
+
delete(key: string): Promise<void>;
|
|
15
|
+
download(key: string): Promise<Blob>;
|
|
16
|
+
exists(key: string): Promise<boolean>;
|
|
17
|
+
getMetadata(key: string): Promise<StorageObject>;
|
|
18
|
+
getUrl(key: string, options?: {
|
|
19
|
+
expiresIn?: number;
|
|
20
|
+
}): Promise<string>;
|
|
21
|
+
list(options?: ListOptions & {
|
|
22
|
+
provider?: string;
|
|
23
|
+
}): Promise<StorageObject[]>;
|
|
24
|
+
upload(key: string, data: ArrayBuffer | Blob | Buffer | File | ReadableStream, options?: UploadOptions & {
|
|
25
|
+
provider?: string;
|
|
26
|
+
}): Promise<StorageObject>;
|
|
27
|
+
getCloudflareImagesProvider(): Promise<CloudflareImagesProvider | undefined>;
|
|
28
|
+
getProviderNames(): string[];
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region providers/cloudflare-images.d.ts
|
|
32
|
+
declare const CloudflareImagesProvider$1: new (...args: unknown[]) => StorageProvider;
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region providers/cloudflare-r2.d.ts
|
|
35
|
+
declare const CloudflareR2Provider: new (...args: unknown[]) => StorageProvider;
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region providers/vercel-blob.d.ts
|
|
38
|
+
declare class VercelBlobProvider implements StorageProvider {
|
|
39
|
+
private token;
|
|
40
|
+
constructor(token: string);
|
|
41
|
+
delete(key: string): Promise<void>;
|
|
42
|
+
download(key: string): Promise<Blob>;
|
|
43
|
+
exists(key: string): Promise<boolean>;
|
|
44
|
+
getMetadata(key: string): Promise<StorageObject>;
|
|
45
|
+
getUrl(key: string, _options?: {
|
|
46
|
+
expiresIn?: number;
|
|
47
|
+
}): Promise<string>;
|
|
48
|
+
list(options?: ListOptions): Promise<StorageObject[]>;
|
|
49
|
+
upload(key: string, data: ArrayBuffer | Blob | Buffer | File | ReadableStream, options?: UploadOptions): Promise<StorageObject>;
|
|
50
|
+
createMultipartUpload(key: string, _options?: UploadOptions): Promise<{
|
|
51
|
+
uploadId: string;
|
|
52
|
+
key: string;
|
|
53
|
+
}>;
|
|
54
|
+
uploadPart(): Promise<{
|
|
55
|
+
etag: string;
|
|
56
|
+
partNumber: number;
|
|
57
|
+
}>;
|
|
58
|
+
completeMultipartUpload(): Promise<StorageObject>;
|
|
59
|
+
abortMultipartUpload(): Promise<void>;
|
|
60
|
+
getPresignedUploadUrl(): Promise<PresignedUploadUrl>;
|
|
61
|
+
getCapabilities(): StorageCapabilities;
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/multipart.d.ts
|
|
65
|
+
interface MultipartUploadState {
|
|
66
|
+
uploadId: string;
|
|
67
|
+
key: string;
|
|
68
|
+
provider: string;
|
|
69
|
+
parts: Array<{
|
|
70
|
+
partNumber: number;
|
|
71
|
+
etag?: string;
|
|
72
|
+
size: number;
|
|
73
|
+
uploaded: boolean;
|
|
74
|
+
}>;
|
|
75
|
+
totalSize: number;
|
|
76
|
+
uploadedSize: number;
|
|
77
|
+
completed: boolean;
|
|
78
|
+
aborted: boolean;
|
|
79
|
+
error?: string;
|
|
80
|
+
}
|
|
81
|
+
interface MultipartUploadResult extends MultipartUploadResult$1 {
|
|
82
|
+
parts: Array<{
|
|
83
|
+
partNumber: number;
|
|
84
|
+
etag: string;
|
|
85
|
+
size: number;
|
|
86
|
+
}>;
|
|
87
|
+
totalParts: number;
|
|
88
|
+
}
|
|
89
|
+
declare class MultipartUploadManager {
|
|
90
|
+
private provider;
|
|
91
|
+
private state;
|
|
92
|
+
private abortController;
|
|
93
|
+
constructor(provider: StorageProvider);
|
|
94
|
+
supportsMultipart(): boolean;
|
|
95
|
+
createUpload(key: string, totalSize: number, options?: MultipartUploadOptions): Promise<MultipartUploadState>;
|
|
96
|
+
uploadPart(partNumber: number, data: ArrayBuffer | Blob | Buffer, options?: UploadOptions): Promise<{
|
|
97
|
+
etag: string;
|
|
98
|
+
partNumber: number;
|
|
99
|
+
size: number;
|
|
100
|
+
}>;
|
|
101
|
+
completeUpload(): Promise<MultipartUploadResult>;
|
|
102
|
+
abortUpload(): Promise<void>;
|
|
103
|
+
getState(): MultipartUploadState | null;
|
|
104
|
+
resumeUpload(state: MultipartUploadState): Promise<void>;
|
|
105
|
+
uploadFile(key: string, data: ArrayBuffer | Blob | Buffer, options?: MultipartUploadOptions): Promise<MultipartUploadResult>;
|
|
106
|
+
private uploadPartWithRetry;
|
|
107
|
+
private calculatePartSize;
|
|
108
|
+
private getProviderName;
|
|
109
|
+
}
|
|
110
|
+
declare function createMultipartUploadManager(provider: StorageProvider): MultipartUploadManager;
|
|
111
|
+
declare function hasMultipartSupport(provider: StorageProvider): boolean;
|
|
112
|
+
declare function getOptimalPartSize(fileSize: number, userPartSize?: number): number;
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/capabilities.d.ts
|
|
115
|
+
declare function hasCapability(provider: StorageProvider, capability: keyof StorageCapabilities): boolean;
|
|
116
|
+
declare function hasAllCapabilities(provider: StorageProvider, capabilities: Array<keyof StorageCapabilities>): boolean;
|
|
117
|
+
declare function hasAnyCapability(provider: StorageProvider, capabilities: Array<keyof StorageCapabilities>): boolean;
|
|
118
|
+
declare function getProviderCapabilities(provider: StorageProvider): StorageCapabilities;
|
|
119
|
+
declare function describeProviderCapabilities(provider: StorageProvider): string;
|
|
120
|
+
declare function validateProviderCapabilities(provider: StorageProvider, requiredCapabilities: Array<keyof StorageCapabilities>): void;
|
|
121
|
+
declare function getBestProvider(providers: StorageProvider[], requiredCapabilities: Array<keyof StorageCapabilities>): StorageProvider | null;
|
|
122
|
+
declare function getCapabilityMatrix(providers: Array<{
|
|
123
|
+
name: string;
|
|
124
|
+
provider: StorageProvider;
|
|
125
|
+
}>): Record<string, StorageCapabilities>;
|
|
126
|
+
declare function checkProviderSuitability(provider: StorageProvider, fileSize: number, fileType: string): {
|
|
127
|
+
suitable: boolean;
|
|
128
|
+
recommendations: string[];
|
|
129
|
+
warnings: string[];
|
|
130
|
+
};
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/health-check.d.ts
|
|
133
|
+
interface HealthCheckResult {
|
|
134
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
135
|
+
latencyMs: number;
|
|
136
|
+
error?: string;
|
|
137
|
+
details?: Record<string, unknown>;
|
|
138
|
+
}
|
|
139
|
+
declare function checkProviderHealth(provider: StorageProvider): Promise<HealthCheckResult>;
|
|
140
|
+
declare function storageHealthCheck(provider: StorageProvider): Promise<HealthCheckResult>;
|
|
141
|
+
//#endregion
|
|
142
|
+
export { MultiStorageManager as S, getOptimalPartSize as _, describeProviderCapabilities as a, CloudflareR2Provider as b, getProviderCapabilities as c, hasCapability as d, validateProviderCapabilities as f, createMultipartUploadManager as g, MultipartUploadState as h, checkProviderSuitability as i, hasAllCapabilities as l, MultipartUploadResult as m, checkProviderHealth as n, getBestProvider as o, MultipartUploadManager as p, storageHealthCheck as r, getCapabilityMatrix as s, HealthCheckResult as t, hasAnyCapability as u, hasMultipartSupport as v, CloudflareImagesProvider$1 as x, VercelBlobProvider as y };
|
|
143
|
+
//# sourceMappingURL=health-check-Bn4qWNOt.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-check-Bn4qWNOt.d.mts","names":[],"sources":["../src/multi-storage.ts","../providers/cloudflare-images.ts","../providers/cloudflare-r2.ts","../providers/vercel-blob.ts","../src/multipart.ts","../src/capabilities.ts","../src/health-check.ts"],"mappings":"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"}
|