@m4k/typebox 0.1.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/README.md +3 -0
- package/lib/index.d.ts +58 -0
- package/lib/index.js +80 -0
- package/package.json +26 -0
package/README.md
ADDED
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export declare const audioOptionsSchema: import("@sinclair/typebox").TObject<{
|
|
2
|
+
bitrate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
3
|
+
codec: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
4
|
+
complexFilters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
5
|
+
filters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
6
|
+
duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
7
|
+
ext: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
+
format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
9
|
+
inputFormat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
10
|
+
seek: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
11
|
+
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
12
|
+
output: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const imageOptionsSchema: import("@sinclair/typebox").TObject<{
|
|
15
|
+
rotate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
16
|
+
resize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
17
|
+
width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
18
|
+
height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
19
|
+
fit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"contain">, import("@sinclair/typebox").TLiteral<"cover">, import("@sinclair/typebox").TLiteral<"fill">, import("@sinclair/typebox").TLiteral<"inside">, import("@sinclair/typebox").TLiteral<"outside">]>>;
|
|
20
|
+
}>>;
|
|
21
|
+
ext: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"avif">, import("@sinclair/typebox").TLiteral<"jpeg">, import("@sinclair/typebox").TLiteral<"png">, import("@sinclair/typebox").TLiteral<"webp">, import("@sinclair/typebox").TLiteral<"tiff">, import("@sinclair/typebox").TLiteral<"dz">, import("@sinclair/typebox").TLiteral<"ppm">, import("@sinclair/typebox").TLiteral<"fits">, import("@sinclair/typebox").TLiteral<"gif">, import("@sinclair/typebox").TLiteral<"svg">, import("@sinclair/typebox").TLiteral<"heif">, import("@sinclair/typebox").TLiteral<"pdf">, import("@sinclair/typebox").TLiteral<"jp2">]>>;
|
|
22
|
+
format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"avif">, import("@sinclair/typebox").TLiteral<"jpeg">, import("@sinclair/typebox").TLiteral<"png">, import("@sinclair/typebox").TLiteral<"webp">, import("@sinclair/typebox").TLiteral<"tiff">, import("@sinclair/typebox").TLiteral<"dz">, import("@sinclair/typebox").TLiteral<"ppm">, import("@sinclair/typebox").TLiteral<"fits">, import("@sinclair/typebox").TLiteral<"gif">, import("@sinclair/typebox").TLiteral<"svg">, import("@sinclair/typebox").TLiteral<"heif">, import("@sinclair/typebox").TLiteral<"pdf">, import("@sinclair/typebox").TLiteral<"jp2">]>>;
|
|
23
|
+
quality: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
24
|
+
keepMetadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
25
|
+
keepExif: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
26
|
+
keepIcc: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
27
|
+
colorspace: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
28
|
+
crop: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
29
|
+
left: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
30
|
+
top: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
31
|
+
width: import("@sinclair/typebox").TNumber;
|
|
32
|
+
height: import("@sinclair/typebox").TNumber;
|
|
33
|
+
}>>;
|
|
34
|
+
args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
35
|
+
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
36
|
+
output: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
37
|
+
}>;
|
|
38
|
+
export declare const videoOptionsSchema: import("@sinclair/typebox").TObject<{
|
|
39
|
+
audioBitrate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
40
|
+
audioCodec: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
41
|
+
audioFilters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
42
|
+
autopad: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>>;
|
|
43
|
+
aspect: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
44
|
+
inputFormat: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
45
|
+
ext: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
46
|
+
format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
47
|
+
fps: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
48
|
+
seek: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
49
|
+
size: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
50
|
+
videoBitrate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNumber]>>;
|
|
51
|
+
videoBitrateConstant: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
52
|
+
videoCodec: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
53
|
+
videoFilters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
54
|
+
args: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
55
|
+
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
56
|
+
output: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
57
|
+
}>;
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Type as T } from "@sinclair/typebox";
|
|
2
|
+
export const audioOptionsSchema = T.Object({
|
|
3
|
+
bitrate: T.Optional(T.Union([T.String(), T.Number()])),
|
|
4
|
+
codec: T.Optional(T.String()),
|
|
5
|
+
complexFilters: T.Optional(T.String()),
|
|
6
|
+
filters: T.Optional(T.String()),
|
|
7
|
+
duration: T.Optional(T.Union([T.String(), T.Number()])),
|
|
8
|
+
ext: T.Optional(T.String()),
|
|
9
|
+
format: T.Optional(T.String()),
|
|
10
|
+
inputFormat: T.Optional(T.String()),
|
|
11
|
+
seek: T.Optional(T.Union([T.String(), T.Number()])),
|
|
12
|
+
name: T.Optional(T.String()),
|
|
13
|
+
output: T.Optional(T.String()),
|
|
14
|
+
});
|
|
15
|
+
const imageFormat = T.Union([
|
|
16
|
+
T.Literal("avif"),
|
|
17
|
+
T.Literal("jpeg"),
|
|
18
|
+
T.Literal("png"),
|
|
19
|
+
T.Literal("webp"),
|
|
20
|
+
T.Literal("tiff"),
|
|
21
|
+
T.Literal("dz"),
|
|
22
|
+
T.Literal("ppm"),
|
|
23
|
+
T.Literal("fits"),
|
|
24
|
+
T.Literal("gif"),
|
|
25
|
+
T.Literal("svg"),
|
|
26
|
+
T.Literal("heif"),
|
|
27
|
+
T.Literal("pdf"),
|
|
28
|
+
T.Literal("jp2"),
|
|
29
|
+
]);
|
|
30
|
+
export const imageOptionsSchema = T.Object({
|
|
31
|
+
rotate: T.Optional(T.Number()),
|
|
32
|
+
resize: T.Optional(T.Object({
|
|
33
|
+
width: T.Optional(T.Number()),
|
|
34
|
+
height: T.Optional(T.Number()),
|
|
35
|
+
fit: T.Optional(T.Union([
|
|
36
|
+
T.Literal("contain"),
|
|
37
|
+
T.Literal("cover"),
|
|
38
|
+
T.Literal("fill"),
|
|
39
|
+
T.Literal("inside"),
|
|
40
|
+
T.Literal("outside"),
|
|
41
|
+
])),
|
|
42
|
+
})),
|
|
43
|
+
ext: T.Optional(imageFormat),
|
|
44
|
+
format: T.Optional(imageFormat),
|
|
45
|
+
quality: T.Optional(T.Number()),
|
|
46
|
+
keepMetadata: T.Optional(T.Boolean()),
|
|
47
|
+
keepExif: T.Optional(T.Boolean()),
|
|
48
|
+
keepIcc: T.Optional(T.Boolean()),
|
|
49
|
+
colorspace: T.Optional(T.String()),
|
|
50
|
+
crop: T.Optional(T.Object({
|
|
51
|
+
left: T.Optional(T.Number()),
|
|
52
|
+
top: T.Optional(T.Number()),
|
|
53
|
+
width: T.Number(),
|
|
54
|
+
height: T.Number(),
|
|
55
|
+
})),
|
|
56
|
+
args: T.Optional(T.Array(T.String())),
|
|
57
|
+
name: T.Optional(T.String()),
|
|
58
|
+
output: T.Optional(T.String()),
|
|
59
|
+
});
|
|
60
|
+
export const videoOptionsSchema = T.Object({
|
|
61
|
+
audioBitrate: T.Optional(T.Union([T.String(), T.Number()])),
|
|
62
|
+
audioCodec: T.Optional(T.String()),
|
|
63
|
+
audioFilters: T.Optional(T.String()),
|
|
64
|
+
autopad: T.Optional(T.Union([T.Boolean(), T.String()])),
|
|
65
|
+
aspect: T.Optional(T.Union([T.String(), T.Number()])),
|
|
66
|
+
inputFormat: T.Optional(T.String()),
|
|
67
|
+
ext: T.Optional(T.String()),
|
|
68
|
+
format: T.Optional(T.String()),
|
|
69
|
+
fps: T.Optional(T.Number()),
|
|
70
|
+
seek: T.Optional(T.Union([T.String(), T.Number()])),
|
|
71
|
+
size: T.Optional(T.Union([T.String()])),
|
|
72
|
+
videoBitrate: T.Optional(T.Union([T.String(), T.Number()])),
|
|
73
|
+
videoBitrateConstant: T.Optional(T.Boolean()),
|
|
74
|
+
videoCodec: T.Optional(T.String()),
|
|
75
|
+
videoFilters: T.Optional(T.String()),
|
|
76
|
+
args: T.Optional(T.Array(T.String())),
|
|
77
|
+
name: T.Optional(T.String()),
|
|
78
|
+
output: T.Optional(T.String()),
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@m4k/typebox",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./lib/index.js",
|
|
6
|
+
"types": "./lib/index.d.ts",
|
|
7
|
+
"module": "./lib/index.js",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"description": "TypeBox schema definitions for M4K",
|
|
10
|
+
"author": "sv2dev",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"dev": "bun --watch src/index.ts",
|
|
13
|
+
"prepublishOnly": "bun run build",
|
|
14
|
+
"build": "tsc -b",
|
|
15
|
+
"typecheck": "tsc --noEmit",
|
|
16
|
+
"test": "bun test"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@sinclair/typebox": "^0.34.33"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/bun": "^1.2.9",
|
|
23
|
+
"typescript": "^5.8.3"
|
|
24
|
+
},
|
|
25
|
+
"repository": "github:sv2dev/m4k"
|
|
26
|
+
}
|