@apicity/free-media-upload 0.1.0-alpha.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.
- package/LICENSE +21 -0
- package/README.md +353 -0
- package/dist/src/example.d.ts +8 -0
- package/dist/src/example.d.ts.map +1 -0
- package/dist/src/example.js +85 -0
- package/dist/src/example.js.map +1 -0
- package/dist/src/freeMediaUpload.d.ts +3 -0
- package/dist/src/freeMediaUpload.d.ts.map +1 -0
- package/dist/src/freeMediaUpload.js +239 -0
- package/dist/src/freeMediaUpload.js.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/middleware.d.ts +34 -0
- package/dist/src/middleware.d.ts.map +1 -0
- package/dist/src/middleware.js +219 -0
- package/dist/src/middleware.js.map +1 -0
- package/dist/src/sse.d.ts +6 -0
- package/dist/src/sse.d.ts.map +1 -0
- package/dist/src/sse.js +55 -0
- package/dist/src/sse.js.map +1 -0
- package/dist/src/types.d.ts +150 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +15 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/uploadToAnyHost.d.ts +10 -0
- package/dist/src/uploadToAnyHost.d.ts.map +1 -0
- package/dist/src/uploadToAnyHost.js +44 -0
- package/dist/src/uploadToAnyHost.js.map +1 -0
- package/dist/src/zod.d.ts +107 -0
- package/dist/src/zod.d.ts.map +1 -0
- package/dist/src/zod.js +70 -0
- package/dist/src/zod.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
export type { FreeMediaUploadOptions, TmpfilesUploadRequest, UguuUploadRequest, CatboxUploadRequest, LitterboxUploadRequest, GofileUploadRequest, FilebinUploadRequest, TempshUploadRequest, TflinkUploadRequest, } from "./zod";
|
|
3
|
+
export interface TmpfilesUploadData {
|
|
4
|
+
url: string;
|
|
5
|
+
}
|
|
6
|
+
export interface TmpfilesUploadResponse {
|
|
7
|
+
status: string;
|
|
8
|
+
data: TmpfilesUploadData;
|
|
9
|
+
}
|
|
10
|
+
export interface UguuFileEntry {
|
|
11
|
+
hash: string;
|
|
12
|
+
filename: string;
|
|
13
|
+
url: string;
|
|
14
|
+
size: number;
|
|
15
|
+
dupe: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface UguuUploadResponse {
|
|
18
|
+
success: boolean;
|
|
19
|
+
files: UguuFileEntry[];
|
|
20
|
+
}
|
|
21
|
+
export interface GofileUploadData {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
parentFolder: string;
|
|
25
|
+
parentFolderCode: string;
|
|
26
|
+
downloadPage: string;
|
|
27
|
+
md5: string;
|
|
28
|
+
mimetype: string;
|
|
29
|
+
size: number;
|
|
30
|
+
type: string;
|
|
31
|
+
servers: string[];
|
|
32
|
+
createTime: number;
|
|
33
|
+
modTime: number;
|
|
34
|
+
guestToken: string;
|
|
35
|
+
}
|
|
36
|
+
export interface GofileUploadResponse {
|
|
37
|
+
status: string;
|
|
38
|
+
data: GofileUploadData;
|
|
39
|
+
}
|
|
40
|
+
export interface FilebinBin {
|
|
41
|
+
id: string;
|
|
42
|
+
readonly: boolean;
|
|
43
|
+
bytes: number;
|
|
44
|
+
bytes_readable: string;
|
|
45
|
+
files: number;
|
|
46
|
+
updated_at: string;
|
|
47
|
+
created_at: string;
|
|
48
|
+
expired_at: string;
|
|
49
|
+
}
|
|
50
|
+
export interface FilebinFile {
|
|
51
|
+
filename: string;
|
|
52
|
+
"content-type": string;
|
|
53
|
+
bytes: number;
|
|
54
|
+
bytes_readable: string;
|
|
55
|
+
md5: string;
|
|
56
|
+
sha256: string;
|
|
57
|
+
updated_at: string;
|
|
58
|
+
created_at: string;
|
|
59
|
+
}
|
|
60
|
+
export interface FilebinUploadResponse {
|
|
61
|
+
bin: FilebinBin;
|
|
62
|
+
file: FilebinFile;
|
|
63
|
+
}
|
|
64
|
+
export interface TflinkUploadResponse {
|
|
65
|
+
fileName: string;
|
|
66
|
+
downloadLink: string;
|
|
67
|
+
downloadLinkEncoded: string;
|
|
68
|
+
size: number;
|
|
69
|
+
type: string;
|
|
70
|
+
uploadedTo: string;
|
|
71
|
+
}
|
|
72
|
+
export declare class FreeMediaUploadError extends Error {
|
|
73
|
+
readonly status: number;
|
|
74
|
+
readonly body: unknown;
|
|
75
|
+
constructor(message: string, status: number, body?: unknown);
|
|
76
|
+
}
|
|
77
|
+
import type { TmpfilesUploadRequest, UguuUploadRequest, CatboxUploadRequest, LitterboxUploadRequest, GofileUploadRequest, FilebinUploadRequest, TempshUploadRequest, TflinkUploadRequest } from "./zod";
|
|
78
|
+
export interface TmpfilesUploadMethod {
|
|
79
|
+
(req: TmpfilesUploadRequest, signal?: AbortSignal): Promise<TmpfilesUploadResponse>;
|
|
80
|
+
schema: z.ZodType<TmpfilesUploadRequest>;
|
|
81
|
+
}
|
|
82
|
+
export interface UguuUploadMethod {
|
|
83
|
+
(req: UguuUploadRequest, signal?: AbortSignal): Promise<UguuUploadResponse>;
|
|
84
|
+
schema: z.ZodType<UguuUploadRequest>;
|
|
85
|
+
}
|
|
86
|
+
export interface CatboxUploadMethod {
|
|
87
|
+
(req: CatboxUploadRequest, signal?: AbortSignal): Promise<string>;
|
|
88
|
+
schema: z.ZodType<CatboxUploadRequest>;
|
|
89
|
+
}
|
|
90
|
+
export interface LitterboxUploadMethod {
|
|
91
|
+
(req: LitterboxUploadRequest, signal?: AbortSignal): Promise<string>;
|
|
92
|
+
schema: z.ZodType<LitterboxUploadRequest>;
|
|
93
|
+
}
|
|
94
|
+
export interface GofileUploadMethod {
|
|
95
|
+
(req: GofileUploadRequest, signal?: AbortSignal): Promise<GofileUploadResponse>;
|
|
96
|
+
schema: z.ZodType<GofileUploadRequest>;
|
|
97
|
+
}
|
|
98
|
+
export interface FilebinUploadMethod {
|
|
99
|
+
(req: FilebinUploadRequest, signal?: AbortSignal): Promise<FilebinUploadResponse>;
|
|
100
|
+
schema: z.ZodType<FilebinUploadRequest>;
|
|
101
|
+
}
|
|
102
|
+
export interface TempshUploadMethod {
|
|
103
|
+
(req: TempshUploadRequest, signal?: AbortSignal): Promise<string>;
|
|
104
|
+
schema: z.ZodType<TempshUploadRequest>;
|
|
105
|
+
}
|
|
106
|
+
export interface TflinkUploadMethod {
|
|
107
|
+
(req: TflinkUploadRequest, signal?: AbortSignal): Promise<TflinkUploadResponse>;
|
|
108
|
+
schema: z.ZodType<TflinkUploadRequest>;
|
|
109
|
+
}
|
|
110
|
+
export interface TmpfilesApiV1Namespace {
|
|
111
|
+
upload: TmpfilesUploadMethod;
|
|
112
|
+
}
|
|
113
|
+
export interface TmpfilesApiNamespace {
|
|
114
|
+
v1: TmpfilesApiV1Namespace;
|
|
115
|
+
}
|
|
116
|
+
export interface TmpfilesNamespace {
|
|
117
|
+
api: TmpfilesApiNamespace;
|
|
118
|
+
}
|
|
119
|
+
export interface UguuNamespace {
|
|
120
|
+
upload: UguuUploadMethod;
|
|
121
|
+
}
|
|
122
|
+
export interface CatboxNamespace {
|
|
123
|
+
upload: CatboxUploadMethod;
|
|
124
|
+
}
|
|
125
|
+
export interface LitterboxNamespace {
|
|
126
|
+
upload: LitterboxUploadMethod;
|
|
127
|
+
}
|
|
128
|
+
export interface GofileNamespace {
|
|
129
|
+
upload: GofileUploadMethod;
|
|
130
|
+
}
|
|
131
|
+
export interface FilebinNamespace {
|
|
132
|
+
upload: FilebinUploadMethod;
|
|
133
|
+
}
|
|
134
|
+
export interface TempshNamespace {
|
|
135
|
+
upload: TempshUploadMethod;
|
|
136
|
+
}
|
|
137
|
+
export interface TflinkNamespace {
|
|
138
|
+
upload: TflinkUploadMethod;
|
|
139
|
+
}
|
|
140
|
+
export interface FreeMediaUploadProvider {
|
|
141
|
+
tmpfiles: TmpfilesNamespace;
|
|
142
|
+
uguu: UguuNamespace;
|
|
143
|
+
catbox: CatboxNamespace;
|
|
144
|
+
litterbox: LitterboxNamespace;
|
|
145
|
+
gofile: GofileNamespace;
|
|
146
|
+
filebin: FilebinNamespace;
|
|
147
|
+
tempsh: TempshNamespace;
|
|
148
|
+
tflink: TflinkNamespace;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// @apicity/free-media-upload – free file hosting providers
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// -- Error ------------------------------------------------------------------
|
|
5
|
+
export class FreeMediaUploadError extends Error {
|
|
6
|
+
status;
|
|
7
|
+
body;
|
|
8
|
+
constructor(message, status, body) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "FreeMediaUploadError";
|
|
11
|
+
this.status = status;
|
|
12
|
+
this.body = body ?? null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AA6G9E,8EAA8E;AAE9E,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,MAAM,CAAS;IACf,IAAI,CAAU;IAEvB,YAAY,OAAe,EAAE,MAAc,EAAE,IAAc;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type FreeMediaUploadProvider } from "./types";
|
|
2
|
+
export type FreeMediaUploadHost = "litterbox" | "uguu" | "tflink";
|
|
3
|
+
export interface UploadToAnyHostRequest {
|
|
4
|
+
file: Blob;
|
|
5
|
+
filename: string;
|
|
6
|
+
hosts: FreeMediaUploadHost[];
|
|
7
|
+
time?: "1h" | "12h" | "24h" | "72h";
|
|
8
|
+
}
|
|
9
|
+
export declare function uploadToAnyHost(provider: FreeMediaUploadProvider, req: UploadToAnyHostRequest, signal?: AbortSignal): Promise<string>;
|
|
10
|
+
//# sourceMappingURL=uploadToAnyHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadToAnyHost.d.ts","sourceRoot":"","sources":["../../src/uploadToAnyHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;CACrC;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,uBAAuB,EACjC,GAAG,EAAE,sBAAsB,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { FreeMediaUploadError } from "./types.js";
|
|
2
|
+
export async function uploadToAnyHost(provider, req, signal) {
|
|
3
|
+
if (req.hosts.length === 0) {
|
|
4
|
+
throw new FreeMediaUploadError("uploadToAnyHost requires at least one host", 400);
|
|
5
|
+
}
|
|
6
|
+
const order = shuffle(req.hosts);
|
|
7
|
+
const failures = [];
|
|
8
|
+
for (const host of order) {
|
|
9
|
+
try {
|
|
10
|
+
return await uploadToHost(provider, host, req, signal);
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
14
|
+
failures.push(`${host}: ${message}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
throw new FreeMediaUploadError(`All upload hosts failed — ${failures.join(" | ")}`, 500, { failures });
|
|
18
|
+
}
|
|
19
|
+
async function uploadToHost(provider, host, req, signal) {
|
|
20
|
+
switch (host) {
|
|
21
|
+
case "litterbox":
|
|
22
|
+
return provider.litterbox.upload({ file: req.file, filename: req.filename, time: req.time ?? "1h" }, signal);
|
|
23
|
+
case "uguu": {
|
|
24
|
+
const res = await provider.uguu.upload({ file: req.file, filename: req.filename }, signal);
|
|
25
|
+
const url = res.files[0]?.url;
|
|
26
|
+
if (!url)
|
|
27
|
+
throw new Error("uguu upload returned no URL");
|
|
28
|
+
return url;
|
|
29
|
+
}
|
|
30
|
+
case "tflink": {
|
|
31
|
+
const res = await provider.tflink.upload({ file: req.file, filename: req.filename }, signal);
|
|
32
|
+
return res.downloadLink;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function shuffle(arr) {
|
|
37
|
+
const copy = arr.slice();
|
|
38
|
+
for (let i = copy.length - 1; i > 0; i--) {
|
|
39
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
40
|
+
[copy[i], copy[j]] = [copy[j], copy[i]];
|
|
41
|
+
}
|
|
42
|
+
return copy;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=uploadToAnyHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadToAnyHost.js","sourceRoot":"","sources":["../../src/uploadToAnyHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const TmpfilesUploadRequestSchema: z.ZodObject<{
|
|
3
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
4
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
file: Blob;
|
|
7
|
+
filename?: string | undefined;
|
|
8
|
+
}, {
|
|
9
|
+
file: Blob;
|
|
10
|
+
filename?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const UguuUploadRequestSchema: z.ZodObject<{
|
|
13
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
14
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
file: Blob;
|
|
17
|
+
filename?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
file: Blob;
|
|
20
|
+
filename?: string | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const CatboxUploadRequestSchema: z.ZodObject<{
|
|
23
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
24
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
file: Blob;
|
|
27
|
+
filename?: string | undefined;
|
|
28
|
+
}, {
|
|
29
|
+
file: Blob;
|
|
30
|
+
filename?: string | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
export declare const LitterboxUploadRequestSchema: z.ZodObject<{
|
|
33
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
34
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
35
|
+
time: z.ZodOptional<z.ZodEnum<["1h", "12h", "24h", "72h"]>>;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
file: Blob;
|
|
38
|
+
filename?: string | undefined;
|
|
39
|
+
time?: "1h" | "12h" | "24h" | "72h" | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
file: Blob;
|
|
42
|
+
filename?: string | undefined;
|
|
43
|
+
time?: "1h" | "12h" | "24h" | "72h" | undefined;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const GofileUploadRequestSchema: z.ZodObject<{
|
|
46
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
47
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
file: Blob;
|
|
50
|
+
filename?: string | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
file: Blob;
|
|
53
|
+
filename?: string | undefined;
|
|
54
|
+
}>;
|
|
55
|
+
export declare const FilebinUploadRequestSchema: z.ZodObject<{
|
|
56
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
57
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
58
|
+
bin: z.ZodOptional<z.ZodString>;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
file: Blob;
|
|
61
|
+
filename?: string | undefined;
|
|
62
|
+
bin?: string | undefined;
|
|
63
|
+
}, {
|
|
64
|
+
file: Blob;
|
|
65
|
+
filename?: string | undefined;
|
|
66
|
+
bin?: string | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
export declare const TempshUploadRequestSchema: z.ZodObject<{
|
|
69
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
70
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, "strip", z.ZodTypeAny, {
|
|
72
|
+
file: Blob;
|
|
73
|
+
filename?: string | undefined;
|
|
74
|
+
}, {
|
|
75
|
+
file: Blob;
|
|
76
|
+
filename?: string | undefined;
|
|
77
|
+
}>;
|
|
78
|
+
export declare const TflinkUploadRequestSchema: z.ZodObject<{
|
|
79
|
+
file: z.ZodType<Blob, z.ZodTypeDef, Blob>;
|
|
80
|
+
filename: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
file: Blob;
|
|
83
|
+
filename?: string | undefined;
|
|
84
|
+
}, {
|
|
85
|
+
file: Blob;
|
|
86
|
+
filename?: string | undefined;
|
|
87
|
+
}>;
|
|
88
|
+
export declare const FreeOptionsSchema: z.ZodObject<{
|
|
89
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
90
|
+
fetch: z.ZodOptional<z.ZodType<(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>, z.ZodTypeDef, (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>>>;
|
|
91
|
+
}, "strip", z.ZodTypeAny, {
|
|
92
|
+
timeout?: number | undefined;
|
|
93
|
+
fetch?: ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined;
|
|
94
|
+
}, {
|
|
95
|
+
timeout?: number | undefined;
|
|
96
|
+
fetch?: ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) | undefined;
|
|
97
|
+
}>;
|
|
98
|
+
export type TmpfilesUploadRequest = z.infer<typeof TmpfilesUploadRequestSchema>;
|
|
99
|
+
export type UguuUploadRequest = z.infer<typeof UguuUploadRequestSchema>;
|
|
100
|
+
export type CatboxUploadRequest = z.infer<typeof CatboxUploadRequestSchema>;
|
|
101
|
+
export type LitterboxUploadRequest = z.infer<typeof LitterboxUploadRequestSchema>;
|
|
102
|
+
export type GofileUploadRequest = z.infer<typeof GofileUploadRequestSchema>;
|
|
103
|
+
export type FilebinUploadRequest = z.infer<typeof FilebinUploadRequestSchema>;
|
|
104
|
+
export type TempshUploadRequest = z.infer<typeof TempshUploadRequestSchema>;
|
|
105
|
+
export type TflinkUploadRequest = z.infer<typeof TflinkUploadRequestSchema>;
|
|
106
|
+
export type FreeMediaUploadOptions = z.infer<typeof FreeOptionsSchema>;
|
|
107
|
+
//# sourceMappingURL=zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../src/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,2BAA2B;;;;;;;;;EAGtC,CAAC;AAMH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAMH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAMH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAIrC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAMH,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAMH,eAAO,MAAM,iBAAiB;;2CAIhB,WAAW,GAAG,GAAG,SAAS,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,wBAA3D,WAAW,GAAG,GAAG,SAAS,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC;;;qBAA3D,WAAW,GAAG,GAAG,SAAS,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC;;;qBAA3D,WAAW,GAAG,GAAG,SAAS,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC;EAGvE,CAAC;AAMH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/src/zod.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const blobSchema = z.instanceof(Blob);
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Tmpfiles.org
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
export const TmpfilesUploadRequestSchema = z.object({
|
|
7
|
+
file: blobSchema,
|
|
8
|
+
filename: z.string().optional(),
|
|
9
|
+
});
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Uguu.se
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
export const UguuUploadRequestSchema = z.object({
|
|
14
|
+
file: blobSchema,
|
|
15
|
+
filename: z.string().optional(),
|
|
16
|
+
});
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Catbox.moe
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
export const CatboxUploadRequestSchema = z.object({
|
|
21
|
+
file: blobSchema,
|
|
22
|
+
filename: z.string().optional(),
|
|
23
|
+
});
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Litterbox (catbox.moe)
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
export const LitterboxUploadRequestSchema = z.object({
|
|
28
|
+
file: blobSchema,
|
|
29
|
+
filename: z.string().optional(),
|
|
30
|
+
time: z.enum(["1h", "12h", "24h", "72h"]).optional(),
|
|
31
|
+
});
|
|
32
|
+
// ---------------------------------------------------------------------------
|
|
33
|
+
// Gofile.io
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
export const GofileUploadRequestSchema = z.object({
|
|
36
|
+
file: blobSchema,
|
|
37
|
+
filename: z.string().optional(),
|
|
38
|
+
});
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// Filebin.net
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
export const FilebinUploadRequestSchema = z.object({
|
|
43
|
+
file: blobSchema,
|
|
44
|
+
filename: z.string().optional(),
|
|
45
|
+
bin: z.string().optional(),
|
|
46
|
+
});
|
|
47
|
+
// ---------------------------------------------------------------------------
|
|
48
|
+
// Temp.sh
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
export const TempshUploadRequestSchema = z.object({
|
|
51
|
+
file: blobSchema,
|
|
52
|
+
filename: z.string().optional(),
|
|
53
|
+
});
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
// tmpfile.link (tfLink)
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
export const TflinkUploadRequestSchema = z.object({
|
|
58
|
+
file: blobSchema,
|
|
59
|
+
filename: z.string().optional(),
|
|
60
|
+
});
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
// Options
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
export const FreeOptionsSchema = z.object({
|
|
65
|
+
timeout: z.number().int().positive().optional(),
|
|
66
|
+
fetch: z
|
|
67
|
+
.custom()
|
|
68
|
+
.optional(),
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=zod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAEtC,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAEH,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,KAAK,EAAE,CAAC;SACL,MAAM,EAEJ;SACF,QAAQ,EAAE;CACd,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@apicity/free-media-upload",
|
|
3
|
+
"version": "0.1.0-alpha.0",
|
|
4
|
+
"description": "Zero-auth file hosting wrapper for catbox, gofile, uguu, filebin, litterbox, tempsh, tflink, and tmpfiles — eight providers behind one typed surface.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/justintanner/apicity.git",
|
|
9
|
+
"directory": "provider/free-media-upload"
|
|
10
|
+
},
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"type": "module",
|
|
15
|
+
"main": "dist/src/index.js",
|
|
16
|
+
"types": "dist/src/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"import": "./dist/src/index.js",
|
|
20
|
+
"types": "./dist/src/index.d.ts"
|
|
21
|
+
},
|
|
22
|
+
"./zod": {
|
|
23
|
+
"import": "./dist/src/zod.js",
|
|
24
|
+
"types": "./dist/src/zod.d.ts"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"zod": "^3.24.0"
|
|
29
|
+
},
|
|
30
|
+
"peerDependenciesMeta": {
|
|
31
|
+
"zod": {
|
|
32
|
+
"optional": true
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist",
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE"
|
|
39
|
+
],
|
|
40
|
+
"sideEffects": false,
|
|
41
|
+
"keywords": [
|
|
42
|
+
"tmpfiles",
|
|
43
|
+
"file-io",
|
|
44
|
+
"file-upload",
|
|
45
|
+
"temporary",
|
|
46
|
+
"free",
|
|
47
|
+
"apicity"
|
|
48
|
+
],
|
|
49
|
+
"author": "Justin Tanner",
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=18.0.0"
|
|
52
|
+
},
|
|
53
|
+
"homepage": "https://github.com/justintanner/apicity#readme",
|
|
54
|
+
"bugs": {
|
|
55
|
+
"url": "https://github.com/justintanner/apicity/issues"
|
|
56
|
+
},
|
|
57
|
+
"scripts": {
|
|
58
|
+
"build": "tsc -p tsconfig.json && node scripts/dist.mjs"
|
|
59
|
+
}
|
|
60
|
+
}
|