@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 ADDED
@@ -0,0 +1,3 @@
1
+ # m4k - media toolkit typebox
2
+
3
+ This package contains TypeBox schemas for the m4k project.
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
+ }