gemi 0.4.35 → 0.4.37
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/dist/app/App.d.ts.map +1 -1
- package/dist/app/createComponentTree.d.ts +2 -2
- package/dist/app/createComponentTree.d.ts.map +1 -1
- package/dist/app/createFlatViewRoutes.d.ts +4 -2
- package/dist/app/createFlatViewRoutes.d.ts.map +1 -1
- package/dist/app/createRouteManifest.d.ts +2 -2
- package/dist/app/createRouteManifest.d.ts.map +1 -1
- package/dist/app/index.js +32 -32
- package/dist/auth/AuthenticationServiceProvider.d.ts +4 -4
- package/dist/chunk-01052ff9d1c07ef8.js +2 -0
- package/dist/chunk-03c8e645c994d40a.js +2 -0
- package/dist/chunk-088ed28ebed2b009.js +5 -0
- package/dist/chunk-0f8e80862546cbc5.js +18 -0
- package/dist/chunk-1334ee957ff9058c.js +2 -0
- package/dist/chunk-15e9771e524c5726.js +2 -0
- package/dist/chunk-18d87123ae525263.js +2 -0
- package/dist/chunk-1900e90c372bb1d6.js +2 -0
- package/dist/chunk-2081b862587086df.js +2 -0
- package/dist/chunk-2a48e0098ccd4249.js +2 -0
- package/dist/chunk-2b2764983015552e.js +2 -0
- package/dist/chunk-3042abeb18cf180e.js +2 -0
- package/dist/chunk-339dd63e93f196b7.js +16 -0
- package/dist/chunk-464cce477d8a56e0.js +2 -0
- package/dist/chunk-4cb19a9e82653084.js +2 -0
- package/dist/chunk-4f1b43f5232b3e65.js +6 -0
- package/dist/chunk-51ee928673a12486.js +2 -0
- package/dist/chunk-54c03438ff1f41e5.js +2 -0
- package/dist/chunk-552bdaee8c03e091.js +9 -0
- package/dist/chunk-5c3681fb029d7588.js +1 -0
- package/dist/chunk-682b01231754a121.js +2 -0
- package/dist/chunk-6943b50bd0a3ac84.js +1 -0
- package/dist/chunk-7399f06d840a1449.js +2 -0
- package/dist/chunk-7431d60af8814bc8.js +2 -0
- package/dist/chunk-89c6080d4a693ddf.js +2 -0
- package/dist/chunk-9a622a10e7764b23.js +2 -0
- package/dist/chunk-9d1337fc9976354d.js +2 -0
- package/dist/chunk-9d2777df26b445e4.js +2 -0
- package/dist/chunk-9d2af1a704b857ee.js +2 -0
- package/dist/chunk-a9625dd807cb668e.js +2 -0
- package/dist/chunk-aad7af5112f0f4f2.js +2 -0
- package/dist/chunk-ac32b3d9dda47756.js +9 -0
- package/dist/chunk-b06168e5d3080486.js +1 -0
- package/dist/chunk-b07249c949a284d2.js +16 -0
- package/dist/chunk-b855e71b162ce5a2.js +2 -0
- package/dist/chunk-bd52b3f25b928eb1.js +2 -0
- package/dist/chunk-c609d06153ed09ce.js +2 -0
- package/dist/chunk-c8b00b645df96ed5.js +1 -1
- package/dist/chunk-c99b8c3d6bda27b0.js +2 -0
- package/dist/chunk-d12b578765686adb.js +6 -0
- package/dist/chunk-d93cbffc712a052f.js +2 -0
- package/dist/chunk-dab2dde8cc9da99b.js +9 -0
- package/dist/chunk-dc7b0cf226ba3afa.js +2 -0
- package/dist/chunk-dd8b042837b4d5f1.js +2 -0
- package/dist/chunk-df926b342440f55f.js +5 -0
- package/dist/chunk-e3ef81776c8f2d28.js +2 -0
- package/dist/chunk-ef1ebd10affe5726.js +2 -0
- package/dist/chunk-f117757df00aa18d.js +2 -0
- package/dist/chunk-fb25896f1638ca8e.js +3 -0
- package/dist/chunk-fc165cee61f6efe8.js +6 -0
- package/dist/chunk-ff086fe014985526.js +1 -0
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/rpc.d.ts +4 -0
- package/dist/client/rpc.d.ts.map +1 -1
- package/dist/client/types.d.ts +5 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/http/ViewRouter.d.ts +38 -24
- package/dist/http/ViewRouter.d.ts.map +1 -1
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/server/index.js +5 -5
- package/dist/storage/File.d.ts +4 -0
- package/dist/storage/File.d.ts.map +1 -1
- package/dist/storage/index.js +3 -3
- package/dist/utils/type.d.ts +3 -0
- package/dist/utils/type.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/client/types.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import type { ViewHandler } from "../http";
|
|
2
|
+
import type { UnwrapPromise } from "../utils/type";
|
|
3
|
+
import type { ViewRPC } from "./rpc";
|
|
1
4
|
type ComponentBranch = [string, ComponentBranch[]];
|
|
2
5
|
export type ComponentTree = ComponentBranch[];
|
|
6
|
+
type ViewKeys = keyof ViewRPC;
|
|
7
|
+
export type ViewProps<T extends ViewKeys> = ViewRPC[T] extends ViewHandler<any, infer O, any> ? UnwrapPromise<O> : never;
|
|
3
8
|
export {};
|
|
4
9
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../client/types.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;AAE9C,KAAK,QAAQ,GAAG,MAAM,OAAO,CAAC;AAE9B,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,IACtC,OAAO,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC"}
|
|
@@ -1,35 +1,49 @@
|
|
|
1
|
+
import type { KeyAndValue, KeyAndValueToObject } from "../internal/type-utils";
|
|
1
2
|
import { Controller } from "./Controller";
|
|
2
|
-
import type { MiddlewareReturnType } from "./Router";
|
|
3
3
|
import { HttpRequest } from "./HttpRequest";
|
|
4
4
|
type ControllerMethods<T extends new () => Controller> = {
|
|
5
5
|
[K in keyof InstanceType<T>]: InstanceType<T>[K] extends Function ? K : never;
|
|
6
6
|
}[keyof InstanceType<T>];
|
|
7
|
-
type
|
|
8
|
-
type
|
|
9
|
-
|
|
7
|
+
export type ViewRoutes = Record<string, ViewRoute<any, any, any> | LayoutRoute<any, any, any, any> | (new () => ViewRouter)>;
|
|
8
|
+
type CallbackHandler<Input, Output, Params> = (req: HttpRequest<Input, Params>) => Promise<Output> | Output;
|
|
9
|
+
export type ViewHandler<Input, Output, Params> = CallbackHandler<Input, Output, Params> | (new () => Controller);
|
|
10
|
+
type ParseViewControllerHandler<C extends new () => Controller, M extends ControllerMethods<C>> = InstanceType<C>[M] extends (req: HttpRequest<infer Input, infer Params>) => infer Output ? ViewRoute<Input, Output, Params> : never;
|
|
11
|
+
type ParseLayoutControllerHandler<T extends ViewRoutes, C extends new () => Controller, M extends ControllerMethods<C>> = InstanceType<C>[M] extends (req: HttpRequest<infer Input, infer Params>) => infer Output ? LayoutRoute<T, Input, Output, Params> : never;
|
|
12
|
+
export declare class ViewRoute<Input, Output, Params> {
|
|
10
13
|
viewPath: string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
middleware
|
|
18
|
-
}
|
|
19
|
-
export
|
|
20
|
-
|
|
14
|
+
middlewares: string[];
|
|
15
|
+
private handler;
|
|
16
|
+
constructor(viewPath: string, handler?: CallbackHandler<Input, Output, Params> | [new () => Controller, ControllerMethods<any>]);
|
|
17
|
+
run(req: HttpRequest<Input, Params>): Promise<{
|
|
18
|
+
[x: string]: Awaited<Output>;
|
|
19
|
+
}>;
|
|
20
|
+
middleware(middlewares: string[]): this;
|
|
21
|
+
}
|
|
22
|
+
export declare class LayoutRoute<T extends ViewRoutes, Input, Output, Params> {
|
|
23
|
+
viewPath: string;
|
|
24
|
+
children: new () => ViewRouter;
|
|
25
|
+
middlewares: string[];
|
|
26
|
+
private handler;
|
|
27
|
+
constructor(viewPath: string, handlerOrRoutes: CallbackHandler<Input, Output, Params> | [new () => Controller, ControllerMethods<any>] | T, routes?: T);
|
|
28
|
+
run(req: HttpRequest<Input, Params>): Promise<{
|
|
29
|
+
[x: string]: Awaited<Output>;
|
|
30
|
+
}>;
|
|
31
|
+
middleware(middlewares: string[]): this;
|
|
32
|
+
}
|
|
21
33
|
export declare class ViewRouter {
|
|
22
|
-
routes: ViewChildren;
|
|
23
34
|
middlewares: string[];
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
]):
|
|
29
|
-
|
|
30
|
-
handlerOrChildren?: ViewHandler<T> | ViewChildren,
|
|
31
|
-
children?: ViewChildren
|
|
32
|
-
]): ViewConfig;
|
|
35
|
+
routes: ViewRoutes;
|
|
36
|
+
view<C extends new () => Controller, M extends ControllerMethods<C>>(viewPath: string, handler?: [C, M]): ParseViewControllerHandler<C, M>;
|
|
37
|
+
view<Input, Output, Params>(viewPath: string, handler?: ViewHandler<Input, Output, Params>): ViewRoute<Input, Output, Params>;
|
|
38
|
+
layout<T extends ViewRoutes>(viewPath: string, handlerOrRoutes: T, routes?: T): LayoutRoute<T, any, any, any>;
|
|
39
|
+
layout<T extends ViewRoutes, C extends new () => Controller, M extends ControllerMethods<C>>(viewPath: string, handlerOrRoutes: [C, M], routes?: T): ParseLayoutControllerHandler<T, C, M>;
|
|
40
|
+
layout<T extends ViewRoutes, Input, Output, Params>(viewPath: string, handlerOrRoutes: CallbackHandler<Input, Output, Params>, routes?: T): LayoutRoute<T, Input, Output, Params>;
|
|
33
41
|
}
|
|
42
|
+
type ViewRouteParser<T, Prefix extends PropertyKey = ""> = T extends ViewRoute<infer Input, infer Output, infer Params> ? KeyAndValue<`view:${Prefix & string}`, ViewHandler<Input, Output, Params>> : never;
|
|
43
|
+
type LayoutRouteParser<T, Prefix extends PropertyKey = ""> = T extends LayoutRoute<infer Routes, infer I, infer O, infer P> ? RoutesParser<Routes, Prefix> | KeyAndValue<`layout:${Prefix & string}`, ViewHandler<I, O, P>> : never;
|
|
44
|
+
type ParsePrefixAndKey<P extends PropertyKey, K extends PropertyKey> = `${P & string}${K & string}` extends "//" ? "/" : `${P & string}${K & string}` extends `${infer U}//${infer T}` ? `${U}/${T}` : `${P & string}${K & string}`;
|
|
45
|
+
type RouterInstanceParser<T extends new () => ViewRouter, Prefix extends PropertyKey = ""> = RoutesParser<InstanceType<T>["routes"], Prefix>;
|
|
46
|
+
type RoutesParser<T extends ViewRoutes, Prefix extends PropertyKey = "", K extends keyof T = keyof T> = K extends any ? T[K] extends new () => ViewRouter ? RouterInstanceParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends LayoutRoute<any, any, any, any> ? LayoutRouteParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends ViewRoute<any, any, any> ? ViewRouteParser<T[K], ParsePrefixAndKey<Prefix, K>> : never : never;
|
|
47
|
+
export type CreateViewRPC<T extends ViewRouter, Prefix extends PropertyKey = ""> = KeyAndValueToObject<RoutesParser<T["routes"], Prefix>>;
|
|
34
48
|
export {};
|
|
35
49
|
//# sourceMappingURL=ViewRouter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewRouter.d.ts","sourceRoot":"","sources":["../../http/ViewRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ViewRouter.d.ts","sourceRoot":"","sources":["../../http/ViewRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,UAAU,IAAI;KACtD,CAAC,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,KAAK;CAC9E,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzB,MAAM,MAAM,UAAU,GAAG,MAAM,CAC7B,MAAM,EACJ,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACxB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/B,CAAC,UAAU,UAAU,CAAC,CACzB,CAAC;AAEF,KAAK,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAC5C,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IACzC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GACtC,CAAC,UAAU,UAAU,CAAC,CAAC;AAE3B,KAAK,0BAA0B,CAC7B,CAAC,SAAS,UAAU,UAAU,EAC9B,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,IAC5B,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7B,GAAG,EAAE,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,MAAM,CAAC,KACxC,MAAM,MAAM,GACb,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAChC,KAAK,CAAC;AAEV,KAAK,4BAA4B,CAC/B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,UAAU,EAC9B,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,IAC5B,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7B,GAAG,EAAE,WAAW,CAAC,MAAM,KAAK,EAAE,MAAM,MAAM,CAAC,KACxC,MAAM,MAAM,GACb,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GACrC,KAAK,CAAC;AAEV,qBAAa,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM;IAIjC,QAAQ,EAAE,MAAM;IAHzB,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,OAAO,CAAC,OAAO,CAA8C;gBAEpD,QAAQ,EAAE,MAAM,EACvB,OAAO,CAAC,EACJ,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GACtC,CAAC,UAAU,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAwB9C,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;;;IAMzC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE;CAIjC;AAED,qBAAa,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IAMzD,QAAQ,EAAE,MAAM;IALzB,QAAQ,EAAE,UAAU,UAAU,CAAC;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,OAAO,CAAC,OAAO,CACO;gBAEb,QAAQ,EAAE,MAAM,EACvB,eAAe,EACX,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GACtC,CAAC,UAAU,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAC9C,CAAC,EACL,MAAM,CAAC,EAAE,CAAC;IAiCN,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;;;IAMzC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE;CAIjC;AAED,qBAAa,UAAU;IACrB,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,MAAM,EAAE,UAAU,CAAM;IAEjB,IAAI,CAAC,CAAC,SAAS,UAAU,UAAU,EAAE,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,EACxE,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GACf,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAC3C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAQ5B,MAAM,CAAC,CAAC,SAAS,UAAU,EAChC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,CAAC,EAClB,MAAM,CAAC,EAAE,CAAC,GACT,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACzB,MAAM,CACX,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,UAAU,EAC9B,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAE9B,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,MAAM,CAAC,EAAE,CAAC,GACT,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EACvD,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EACvD,MAAM,CAAC,EAAE,CAAC,GACT,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;CAYzC;AAED,KAAK,eAAe,CAAC,CAAC,EAAE,MAAM,SAAS,WAAW,GAAG,EAAE,IACrD,CAAC,SAAS,SAAS,CAAC,MAAM,KAAK,EAAE,MAAM,MAAM,EAAE,MAAM,MAAM,CAAC,GACxD,WAAW,CAAC,QAAQ,MAAM,GAAG,MAAM,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1E,KAAK,CAAC;AAEZ,KAAK,iBAAiB,CAAC,CAAC,EAAE,MAAM,SAAS,WAAW,GAAG,EAAE,IACvD,CAAC,SAAS,WAAW,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAEtD,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,WAAW,CAAC,UAAU,MAAM,GAAG,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAClE,KAAK,CAAC;AAEZ,KAAK,iBAAiB,CACpB,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,WAAW,IACnB,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,IAAI,GACzC,GAAG,GACH,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,GAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,GACX,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;AAEnC,KAAK,oBAAoB,CACvB,CAAC,SAAS,UAAU,UAAU,EAC9B,MAAM,SAAS,WAAW,GAAG,EAAE,IAC7B,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpD,KAAK,YAAY,CACf,CAAC,SAAS,UAAU,EACpB,MAAM,SAAS,WAAW,GAAG,EAAE,EAC/B,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IACzB,CAAC,SAAS,GAAG,GACb,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,UAAU,GAC/B,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GACxD,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC1C,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GACrD,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACnC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GACnD,KAAK,GACX,KAAK,CAAC;AAEV,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,UAAU,EACpB,MAAM,SAAS,WAAW,GAAG,EAAE,IAC7B,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC"}
|
package/dist/http/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Controller, ResourceController } from "./Controller";
|
|
2
2
|
export { ApiRouter, type CreateRPC } from "./ApiRouter";
|
|
3
|
-
export { ViewRouter } from "./ViewRouter";
|
|
3
|
+
export { ViewRouter, type CreateViewRPC, type ViewHandler } from "./ViewRouter";
|
|
4
4
|
export { ValidationError } from "./Router";
|
|
5
5
|
export { HttpRequest } from "./HttpRequest";
|
|
6
6
|
export { Middleware } from "./Middleware";
|
package/dist/http/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,UAAU,CAAC"}
|
package/dist/http/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-a5c18c07abe8fd9c.js";class
|
|
2
|
+
import"../chunk-a5c18c07abe8fd9c.js";class x{requests={};static kind="controller";constructor(){}}class C extends x{constructor(){super(...arguments)}}function f(e){return typeof e==="function"&&e.prototype!==void 0}var $=function(e){return f(e)};class l{e;t;r;middlewares=[];constructor(e,t,r){this.method=e;this.handler=t;this.methodName=r;this.handler=t,this.methodName=r,this.method=e}run(e){let t=e;if($(this.handler)){const r=new this.handler,n=r[this.methodName].bind(r);return t=r.requests[this.methodName]?new r.requests[this.methodName](e.rawRequest,e.params):t,n(t)}else return this.handler(e)}middleware(e){return this.middlewares=e,this}}class H{constructor(...e){return new l(...e)}}class P{routes={};middlewares=[];middleware(e){}get(e,t){return new l("GET",e,t)}post(e,t){return new l("POST",e,t)}put(e,t){return new l("PUT",e,t)}patch(e,t){return new l("PATCH",e,t)}delete(e,t){return new l("DELETE",e,t)}resource(e){class t extends P{constructor(){super(...arguments)}routes={"/":{list:this.get(e,"list"),create:this.post(e,"create")},"/:id":{show:this.get(e,"show"),update:this.put(e,"update"),delete:this.delete(e,"delete")}}}return t}file(e,t){return new H("GET",e,t)}}class g{e;middlewares=[];handler;constructor(e,t){this.viewPath=e;if(!t)this.handler=()=>({});else if(typeof t==="function")this.handler=t;else{const[r,n]=t,s=new r,o=s[n].bind(s);this.handler=(a)=>{let i=a;return i=s.requests[n]?new s.requests[n](a.rawRequest,a.params):i,o(a)}}}async run(e){return{[this.viewPath]:await this.handler(e)}}middleware(e){return this.middlewares=e,this}}class K{e;children;middlewares=[];handler=()=>({});constructor(e,t,r){this.viewPath=e;if(typeof t==="function")this.handler=t,this.children=class extends p{routes=r??{}};else if(Array.isArray(t)){const[n,s]=t,o=new n,a=o[s].bind(o);this.handler=(i)=>{let w=i;return w=o.requests[s]?new o.requests[s](i.rawRequest,i.params):w,a(i)},this.children=class extends p{routes=r??{}}}else this.children=class extends p{routes=t},this.handler=()=>({})}async run(e){return{[this.viewPath]:await this.handler(e)}}middleware(e){return this.middlewares=e,this}}class p{middlewares=[];routes={};view(e,t){return new g(e,t)}layout(e,t,r){return new K(e,t,r)}}var J="GEMI_REQUEST_BREAKER_ERROR";class u extends Error{constructor(){super(...arguments)}kind="GEMI_REQUEST_BREAKER_ERROR";payload={api:{},view:{}}}class d extends u{errors={};constructor(e){super("Validation error");this.name="ValidationError",this.errors=e,this.payload={api:{status:400,data:{error:{kind:"validation_error",messages:e}},headers:{"Content-Type":"application/json"}},view:{status:400}}}}import{AsyncLocalStorage as v} from"async_hooks";class T{e;t;r;constructor(e,t,r={}){this.name=e;this.value=t;this.options=r}toString(){return[`${this.name}=${this.value}`,this.options.maxAge?`Max-Age=${this.options.maxAge}`:"",this.options.httpOnly?"HttpOnly":"",this.options.secure?"Secure":"",this.options.sameSite?`SameSite=${this.options.sameSite}`:"SameSite=Strict",this.options.path?`Path=${this.options.path}`:"Path=/",this.options.domain?`Domain=${this.options.domain}`:"",this.options.expires?`Expires=${this.options.expires.toUTCString()}`:"",this.options.partitioned?"Partitioned":""].filter((e)=>e!=="").join("; ")}}var m=new v;class O{cookies=new Set;user=null;req=null;constructor(){}setCookie(e,t,r={}){this.cookies.add(new T(e,t,r))}setUser(e){this.user=e}setRequest(e){this.req=e}}class c{static getStore(){return m.getStore()}static setRequest(e){m.getStore().req=e}static async run(e){return m.run(new O,e)}}var L=function(e){const[t,r]=e.split(":");switch(t){case"required":return(n)=>{return n!==null&&n!==void 0&&n?.length>0};case"password":return(n)=>{return/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,}$/.test(n)};case"number":return(n)=>{if(typeof n!=="number")return!1;return!isNaN(n)};case"min":return(n)=>{return n?.length>=parseInt(r)};case"max":return(n)=>{return n?.length<=parseInt(r)};case"email":return(n)=>{return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(n)};default:return()=>!0}};class I{e;constructor(e){this.data=e}get(e){return this.data[e]}set(e,t){this.data[e]=t}has(e){return this.data[e]!==void 0}toJSON(){return this.data}}class M{rawRequest;headers;cookies;schema={};params;ctx=c.getStore();constructor(e,t){this.params=t,this.rawRequest=e,this.headers=e.headers;const r=this.rawRequest.headers.get("Cookie"),n=new Map;if(r){const s=r.split(";");for(let o of s){const[a,i]=o.split("=");n.set(a.trim(),i.trim())}}this.cookies=n}refine(e){return{}}async parseBody(){const e=new I({});if(this.rawRequest.headers.get("Content-Type")==="application/json"){const t=await this.rawRequest.json();for(let[r,n]of Object.entries(t))e.set(r,n)}if(this.rawRequest.headers.get("Content-Type")==="application/x-www-form-urlencoded"){const t=await this.rawRequest.formData();for(let[r,n]of t)e.set(r,n)}if(this.rawRequest.headers.get("Content-Type").startsWith("multipart/form-data")){const t=await this.rawRequest.formData();for(let[r,n]of t)if(e.has(r)){const s=e.get(r);if(Array.isArray(s))s.push(n),e.set(r,s);else e.set(r,[s,n])}else e.set(r,n)}return e}validateInput(e){const t={};for(let[r,n]of Object.entries(this.schema))for(let[s,o]of Object.entries(n))if(!L(s)(e.get(r))){if(!t[r])t[r]=[];if(s==="required"){t[r]=[String(o)];break}else t[r].push(String(o))}for(let[r,n]of Object.entries(this.refine(e.toJSON())??{})){if(!t[r])t[r]=[];t[r]=[...t[r],n]}if(Object.keys(t).length>0)throw new d(t);else return e}async input(){return this.validateInput(await this.parseBody())}async safeInput(){const e=await this.parseBody();try{return this.validateInput(e),{isValid:!0,errors:{},input:e}}catch(t){if(!(t instanceof d))throw t;return{isValid:!1,errors:t.errors,input:e}}}async terminate(e){throw"not implemented"}}class h{async run(e){return{}}}function _(e){const t=e.headers.get("cookie");if(!t)return new Map;const r=new Map,n=t.split(";");for(let s of n){const[o,a]=s.split("=");r.set(o.trim(),a)}return r}class b{aliases={}}import{AsyncLocalStorage as U} from"async_hooks";var q=new U;class R{static getStore=()=>q.getStore()}class E extends u{error;constructor(e="Not authorized"){super("Authentication error");this.name="AuthenticationError",this.error=e,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class A extends u{error;constructor(e="Insufficient permissions"){super("Authentication error");this.name="AuthenticationError",this.error=e,this.payload={api:{status:401,data:{error:this.error}},view:{}}}}class y extends u{constructor(){super("Authentication error");this.name="AuthenticationError"}payload={api:{status:401,data:{error:"Authentication error"}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:"/auth/sign-in"}}}}class V extends h{constructor(){super(...arguments)}async run(e){const t=c.getStore(),r=t.req.cookies.get("access_token");if(!r)throw new y;let n=t.user;if(!n){const s=await R.getStore().authenticationServiceProvider.adapter.findSession({token:r,userAgent:t.req.headers.get("User-Agent")});if(!s)throw new y;n=s?.user,t.setUser(n)}return{}}}class S{policiesList={};constructor(){const e=this.register();for(let t of e){const r=new t;this.policiesList[t.name]=r}}register(){return[]}}class k{all(e,t){return!0}}export{_ as getCookies,p as ViewRouter,d as ValidationError,C as ResourceController,u as RequestBreakerError,S as PoliciesServiceProvider,k as Policies,b as MiddlewareServiceProvider,h as Middleware,A as InsufficientPermissionsError,M as HttpRequest,x as Controller,E as AuthorizationError,V as AuthenticationMiddleware,y as AuthenticationError,P as ApiRouter};export{x as a,f as b,P as c,p as d,J as e,u as f,c as g,M as h,b as i,q as j,R as k,E as l,A as m,y as n,S as o};
|
package/dist/server/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{v as I5,w as K5} from"../chunk-d9a84b9122601b72.js";import{x as W9,y as L} from"../chunk-a5c18c07abe8fd9c.js";var d=L((F9,W1)=>{var q1=function(J){return typeof J!=="undefined"&&J!==null},P5=function(J){return typeof J==="object"},X5=function(J){return Object.prototype.toString.call(J)==="[object Object]"},A5=function(J){return typeof J==="function"},V5=function(J){return typeof J==="boolean"},L5=function(J){return J instanceof Buffer},R5=function(J){if(q1(J))switch(J.constructor){case Uint8Array:case Uint8ClampedArray:case Int8Array:case Uint16Array:case Int16Array:case Uint32Array:case Int32Array:case Float32Array:case Float64Array:return!0}return!1},_5=function(J){return J instanceof ArrayBuffer},y5=function(J){return typeof J==="string"&&J.length>0},j5=function(J){return typeof J==="number"&&!Number.isNaN(J)},E5=function(J){return Number.isInteger(J)},T5=function(J,$,q){return J>=$&&J<=q},w5=function(J,$){return $.includes(J)},z5=function(J,$,q){return new Error(`Expected ${$} for ${J} but received ${q} of type ${typeof q}`)},D5=function(J,$){return $.message=J.message,$};W1.exports={defined:q1,object:P5,plainObject:X5,fn:A5,bool:V5,buffer:L5,typedArray:R5,arrayBuffer:_5,string:y5,number:j5,integer:E5,inRange:T5,inArray:w5,invalidParameterError:z5,nativeError:D5}});var i=L((G9,Z1)=>{var C5=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...J)=>console.error("SEMVER",...J):()=>{};Z1.exports=C5});var G2=L((H9,Q1)=>{var S5=Number.MAX_SAFE_INTEGER||9007199254740991,k5=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Q1.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:S5,RELEASE_TYPES:k5,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var o=L((O,U1)=>{var{MAX_SAFE_COMPONENT_LENGTH:S2,MAX_SAFE_BUILD_LENGTH:M5,MAX_LENGTH:x5}=G2(),f5=i();O=U1.exports={};var d5=O.re=[],v5=O.safeRe=[],H=O.src=[],N=O.t={},O5=0,k2="[a-zA-Z0-9-]",b5=[["\\s",1],["\\d",x5],[k2,M5]],h5=(J)=>{for(let[$,q]of b5)J=J.split(`${$}*`).join(`${$}{0,${q}}`).split(`${$}+`).join(`${$}{1,${q}}`);return J},V=(J,$,q)=>{const W=h5($),Z=O5++;f5(J,Z,$),N[J]=Z,H[Z]=$,d5[Z]=new RegExp($,q?"g":void 0),v5[Z]=new RegExp(W,q?"g":void 0)};V("NUMERICIDENTIFIER","0|[1-9]\\d*");V("NUMERICIDENTIFIERLOOSE","\\d+");V("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${k2}*`);V("MAINVERSION",`(${H[N.NUMERICIDENTIFIER]})\\.`+`(${H[N.NUMERICIDENTIFIER]})\\.`+`(${H[N.NUMERICIDENTIFIER]})`);V("MAINVERSIONLOOSE",`(${H[N.NUMERICIDENTIFIERLOOSE]})\\.`+`(${H[N.NUMERICIDENTIFIERLOOSE]})\\.`+`(${H[N.NUMERICIDENTIFIERLOOSE]})`);V("PRERELEASEIDENTIFIER",`(?:${H[N.NUMERICIDENTIFIER]}|${H[N.NONNUMERICIDENTIFIER]})`);V("PRERELEASEIDENTIFIERLOOSE",`(?:${H[N.NUMERICIDENTIFIERLOOSE]}|${H[N.NONNUMERICIDENTIFIER]})`);V("PRERELEASE",`(?:-(${H[N.PRERELEASEIDENTIFIER]}(?:\\.${H[N.PRERELEASEIDENTIFIER]})*))`);V("PRERELEASELOOSE",`(?:-?(${H[N.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${H[N.PRERELEASEIDENTIFIERLOOSE]})*))`);V("BUILDIDENTIFIER",`${k2}+`);V("BUILD",`(?:\\+(${H[N.BUILDIDENTIFIER]}(?:\\.${H[N.BUILDIDENTIFIER]})*))`);V("FULLPLAIN",`v?${H[N.MAINVERSION]}${H[N.PRERELEASE]}?${H[N.BUILD]}?`);V("FULL",`^${H[N.FULLPLAIN]}\$`);V("LOOSEPLAIN",`[v=\\s]*${H[N.MAINVERSIONLOOSE]}${H[N.PRERELEASELOOSE]}?${H[N.BUILD]}?`);V("LOOSE",`^${H[N.LOOSEPLAIN]}\$`);V("GTLT","((?:<|>)?=?)");V("XRANGEIDENTIFIERLOOSE",`${H[N.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);V("XRANGEIDENTIFIER",`${H[N.NUMERICIDENTIFIER]}|x|X|\\*`);V("XRANGEPLAIN",`[v=\\s]*(${H[N.XRANGEIDENTIFIER]})`+`(?:\\.(${H[N.XRANGEIDENTIFIER]})`+`(?:\\.(${H[N.XRANGEIDENTIFIER]})`+`(?:${H[N.PRERELEASE]})?${H[N.BUILD]}?`+")?)?");V("XRANGEPLAINLOOSE",`[v=\\s]*(${H[N.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${H[N.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${H[N.XRANGEIDENTIFIERLOOSE]})`+`(?:${H[N.PRERELEASELOOSE]})?${H[N.BUILD]}?`+")?)?");V("XRANGE",`^${H[N.GTLT]}\\s*${H[N.XRANGEPLAIN]}\$`);V("XRANGELOOSE",`^${H[N.GTLT]}\\s*${H[N.XRANGEPLAINLOOSE]}\$`);V("COERCEPLAIN",`(^|[^\\d])(\\d{1,${S2}})`+`(?:\\.(\\d{1,${S2}}))?`+`(?:\\.(\\d{1,${S2}}))?`);V("COERCE",`${H[N.COERCEPLAIN]}(?:\$|[^\\d])`);V("COERCEFULL",H[N.COERCEPLAIN]+`(?:${H[N.PRERELEASE]})?`+`(?:${H[N.BUILD]})?`+"(?:$|[^\\d])");V("COERCERTL",H[N.COERCE],!0);V("COERCERTLFULL",H[N.COERCEFULL],!0);V("LONETILDE","(?:~>?)");V("TILDETRIM",`(\\s*)${H[N.LONETILDE]}\\s+`,!0);O.tildeTrimReplace="$1~";V("TILDE",`^${H[N.LONETILDE]}${H[N.XRANGEPLAIN]}\$`);V("TILDELOOSE",`^${H[N.LONETILDE]}${H[N.XRANGEPLAINLOOSE]}\$`);V("LONECARET","(?:\\^)");V("CARETTRIM",`(\\s*)${H[N.LONECARET]}\\s+`,!0);O.caretTrimReplace="$1^";V("CARET",`^${H[N.LONECARET]}${H[N.XRANGEPLAIN]}\$`);V("CARETLOOSE",`^${H[N.LONECARET]}${H[N.XRANGEPLAINLOOSE]}\$`);V("COMPARATORLOOSE",`^${H[N.GTLT]}\\s*(${H[N.LOOSEPLAIN]})\$|^\$`);V("COMPARATOR",`^${H[N.GTLT]}\\s*(${H[N.FULLPLAIN]})\$|^\$`);V("COMPARATORTRIM",`(\\s*)${H[N.GTLT]}\\s*(${H[N.LOOSEPLAIN]}|${H[N.XRANGEPLAIN]})`,!0);O.comparatorTrimReplace="$1$2$3";V("HYPHENRANGE",`^\\s*(${H[N.XRANGEPLAIN]})`+"\\s+-\\s+"+`(${H[N.XRANGEPLAIN]})`+"\\s*$");V("HYPHENRANGELOOSE",`^\\s*(${H[N.XRANGEPLAINLOOSE]})`+"\\s+-\\s+"+`(${H[N.XRANGEPLAINLOOSE]})`+"\\s*$");V("STAR","(<|>)?=?\\s*\\*");V("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");V("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var H2=L((N9,B1)=>{var g5=Object.freeze({loose:!0}),m5=Object.freeze({}),u5=(J)=>{if(!J)return m5;if(typeof J!=="object")return g5;return J};B1.exports=u5});var F1=L((P9,K1)=>{var Y1=/^[0-9]+$/,I1=(J,$)=>{const q=Y1.test(J),W=Y1.test($);if(q&&W)J=+J,$=+$;return J===$?0:q&&!W?-1:W&&!q?1:J<$?-1:1},l5=(J,$)=>I1($,J);K1.exports={compareIdentifiers:I1,rcompareIdentifiers:l5}});var r=L((X9,P1)=>{var N2=i(),{MAX_LENGTH:G1,MAX_SAFE_INTEGER:P2}=G2(),{safeRe:H1,t:N1}=o(),c5=H2(),{compareIdentifiers:a}=F1();class f{constructor(J,$){if($=c5($),J instanceof f)if(J.loose===!!$.loose&&J.includePrerelease===!!$.includePrerelease)return J;else J=J.version;else if(typeof J!=="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof J}".`);if(J.length>G1)throw new TypeError(`version is longer than ${G1} characters`);N2("SemVer",J,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;const q=J.trim().match($.loose?H1[N1.LOOSE]:H1[N1.FULL]);if(!q)throw new TypeError(`Invalid Version: ${J}`);if(this.raw=J,this.major=+q[1],this.minor=+q[2],this.patch=+q[3],this.major>P2||this.major<0)throw new TypeError("Invalid major version");if(this.minor>P2||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>P2||this.patch<0)throw new TypeError("Invalid patch version");if(!q[4])this.prerelease=[];else this.prerelease=q[4].split(".").map((W)=>{if(/^[0-9]+$/.test(W)){const Z=+W;if(Z>=0&&Z<P2)return Z}return W});this.build=q[5]?q[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(J){if(N2("SemVer.compare",this.version,this.options,J),!(J instanceof f)){if(typeof J==="string"&&J===this.version)return 0;J=new f(J,this.options)}if(J.version===this.version)return 0;return this.compareMain(J)||this.comparePre(J)}compareMain(J){if(!(J instanceof f))J=new f(J,this.options);return a(this.major,J.major)||a(this.minor,J.minor)||a(this.patch,J.patch)}comparePre(J){if(!(J instanceof f))J=new f(J,this.options);if(this.prerelease.length&&!J.prerelease.length)return-1;else if(!this.prerelease.length&&J.prerelease.length)return 1;else if(!this.prerelease.length&&!J.prerelease.length)return 0;let $=0;do{const q=this.prerelease[$],W=J.prerelease[$];if(N2("prerelease compare",$,q,W),q===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(q===void 0)return-1;else if(q===W)continue;else return a(q,W)}while(++$)}compareBuild(J){if(!(J instanceof f))J=new f(J,this.options);let $=0;do{const q=this.build[$],W=J.build[$];if(N2("build compare",$,q,W),q===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(q===void 0)return-1;else if(q===W)continue;else return a(q,W)}while(++$)}inc(J,$,q){switch(J){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,q);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,q);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,q),this.inc("pre",$,q);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,q);this.inc("pre",$,q);break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{const W=Number(q)?1:0;if(!$&&q===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[W];else{let Z=this.prerelease.length;while(--Z>=0)if(typeof this.prerelease[Z]==="number")this.prerelease[Z]++,Z=-2;if(Z===-1){if($===this.prerelease.join(".")&&q===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(W)}}if($){let Z=[$,W];if(q===!1)Z=[$];if(a(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=Z}else this.prerelease=Z}break}default:throw new Error(`invalid increment argument: ${J}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}P1.exports=f});var V1=L((A9,A1)=>{var X1=r(),a5=(J,$,q=!1)=>{if(J instanceof X1)return J;try{return new X1(J,$)}catch(W){if(!q)return null;throw W}};A1.exports=a5});var R1=L((V9,L1)=>{var r5=r(),e5=V1(),{safeRe:X2,t:A2}=o(),n5=(J,$)=>{if(J instanceof r5)return J;if(typeof J==="number")J=String(J);if(typeof J!=="string")return null;$=$||{};let q=null;if(!$.rtl)q=J.match($.includePrerelease?X2[A2.COERCEFULL]:X2[A2.COERCE]);else{const F=$.includePrerelease?X2[A2.COERCERTLFULL]:X2[A2.COERCERTL];let G;while((G=F.exec(J))&&(!q||q.index+q[0].length!==J.length)){if(!q||G.index+G[0].length!==q.index+q[0].length)q=G;F.lastIndex=G.index+G[1].length+G[2].length}F.lastIndex=-1}if(q===null)return null;const W=q[2],Z=q[3]||"0",U=q[4]||"0",B=$.includePrerelease&&q[5]?`-${q[5]}`:"",Y=$.includePrerelease&&q[6]?`+${q[6]}`:"";return e5(`${W}.${Z}.${U}${B}${Y}`,$)};L1.exports=n5});var u=L((L9,y1)=>{var _1=r(),p5=(J,$,q)=>new _1(J,q).compare(new _1($,q));y1.exports=p5});var M2=L((R9,j1)=>{var s5=u(),t5=(J,$,q)=>s5(J,$,q)>=0;j1.exports=t5});var w1=L((_9,T1)=>{class E1{constructor(){this.max=1000,this.map=new Map}get(J){const $=this.map.get(J);if($===void 0)return;else return this.map.delete(J),this.map.set(J,$),$}delete(J){return this.map.delete(J)}set(J,$){if(!this.delete(J)&&$!==void 0){if(this.map.size>=this.max){const W=this.map.keys().next().value;this.delete(W)}this.map.set(J,$)}return this}}T1.exports=E1});var D1=L((y9,z1)=>{var i5=u(),o5=(J,$,q)=>i5(J,$,q)===0;z1.exports=o5});var S1=L((j9,C1)=>{var J4=u(),$4=(J,$,q)=>J4(J,$,q)!==0;C1.exports=$4});var M1=L((E9,k1)=>{var q4=u(),W4=(J,$,q)=>q4(J,$,q)>0;k1.exports=W4});var f1=L((T9,x1)=>{var Z4=u(),Q4=(J,$,q)=>Z4(J,$,q)<0;x1.exports=Q4});var v1=L((w9,d1)=>{var U4=u(),B4=(J,$,q)=>U4(J,$,q)<=0;d1.exports=B4});var b1=L((z9,O1)=>{var Y4=D1(),I4=S1(),K4=M1(),F4=M2(),G4=f1(),H4=v1(),N4=(J,$,q,W)=>{switch($){case"===":if(typeof J==="object")J=J.version;if(typeof q==="object")q=q.version;return J===q;case"!==":if(typeof J==="object")J=J.version;if(typeof q==="object")q=q.version;return J!==q;case"":case"=":case"==":return Y4(J,q,W);case"!=":return I4(J,q,W);case">":return K4(J,q,W);case">=":return F4(J,q,W);case"<":return G4(J,q,W);case"<=":return H4(J,q,W);default:throw new TypeError(`Invalid operator: ${$}`)}};O1.exports=N4});var a1=L((D9,c1)=>{var J2=Symbol("SemVer ANY");class V2{static get ANY(){return J2}constructor(J,$){if($=h1($),J instanceof V2)if(J.loose===!!$.loose)return J;else J=J.value;if(J=J.trim().split(/\s+/).join(" "),f2("comparator",J,$),this.options=$,this.loose=!!$.loose,this.parse(J),this.semver===J2)this.value="";else this.value=this.operator+this.semver.version;f2("comp",this)}parse(J){const $=this.options.loose?g1[m1.COMPARATORLOOSE]:g1[m1.COMPARATOR],q=J.match($);if(!q)throw new TypeError(`Invalid comparator: ${J}`);if(this.operator=q[1]!==void 0?q[1]:"",this.operator==="=")this.operator="";if(!q[2])this.semver=J2;else this.semver=new u1(q[2],this.options.loose)}toString(){return this.value}test(J){if(f2("Comparator.test",J,this.options.loose),this.semver===J2||J===J2)return!0;if(typeof J==="string")try{J=new u1(J,this.options)}catch($){return!1}return x2(J,this.operator,this.semver,this.options)}intersects(J,$){if(!(J instanceof V2))throw new TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new l1(J.value,$).test(this.value)}else if(J.operator===""){if(J.value==="")return!0;return new l1(this.value,$).test(J.semver)}if($=h1($),$.includePrerelease&&(this.value==="<0.0.0-0"||J.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||J.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&J.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&J.operator.startsWith("<"))return!0;if(this.semver.version===J.semver.version&&this.operator.includes("=")&&J.operator.includes("="))return!0;if(x2(this.semver,"<",J.semver,$)&&this.operator.startsWith(">")&&J.operator.startsWith("<"))return!0;if(x2(this.semver,">",J.semver,$)&&this.operator.startsWith("<")&&J.operator.startsWith(">"))return!0;return!1}}c1.exports=V2;var h1=H2(),{safeRe:g1,t:m1}=o(),x2=b1(),f2=i(),u1=r(),l1=d2()});var d2=L((C9,p1)=>{class $2{constructor(J,$){if($=X4($),J instanceof $2)if(J.loose===!!$.loose&&J.includePrerelease===!!$.includePrerelease)return J;else return new $2(J.raw,$);if(J instanceof v2)return this.raw=J.value,this.set=[[J]],this.format(),this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=J.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map((q)=>this.parseRange(q.trim())).filter((q)=>q.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const q=this.set[0];if(this.set=this.set.filter((W)=>!e1(W[0])),this.set.length===0)this.set=[q];else if(this.set.length>1){for(let W of this.set)if(W.length===1&&j4(W[0])){this.set=[W];break}}}this.format()}format(){return this.range=this.set.map((J)=>J.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(J){const q=((this.options.includePrerelease&&_4)|(this.options.loose&&y4))+":"+J,W=r1.get(q);if(W)return W;const Z=this.options.loose,U=Z?S[z.HYPHENRANGELOOSE]:S[z.HYPHENRANGE];J=J.replace(U,x4(this.options.includePrerelease)),y("hyphen replace",J),J=J.replace(S[z.COMPARATORTRIM],V4),y("comparator trim",J),J=J.replace(S[z.TILDETRIM],L4),y("tilde trim",J),J=J.replace(S[z.CARETTRIM],R4),y("caret trim",J);let B=J.split(" ").map((P)=>E4(P,this.options)).join(" ").split(/\s+/).map((P)=>M4(P,this.options));if(Z)B=B.filter((P)=>{return y("loose invalid filter",P,this.options),!!P.match(S[z.COMPARATORLOOSE])});y("range list",B);const Y=new Map,F=B.map((P)=>new v2(P,this.options));for(let P of F){if(e1(P))return[P];Y.set(P.value,P)}if(Y.size>1&&Y.has(""))Y.delete("");const G=[...Y.values()];return r1.set(q,G),G}intersects(J,$){if(!(J instanceof $2))throw new TypeError("a Range is required");return this.set.some((q)=>{return n1(q,$)&&J.set.some((W)=>{return n1(W,$)&&q.every((Z)=>{return W.every((U)=>{return Z.intersects(U,$)})})})})}test(J){if(!J)return!1;if(typeof J==="string")try{J=new A4(J,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(f4(this.set[$],J,this.options))return!0;return!1}}p1.exports=$2;var P4=w1(),r1=new P4,X4=H2(),v2=a1(),y=i(),A4=r(),{safeRe:S,t:z,comparatorTrimReplace:V4,tildeTrimReplace:L4,caretTrimReplace:R4}=o(),{FLAG_INCLUDE_PRERELEASE:_4,FLAG_LOOSE:y4}=G2(),e1=(J)=>J.value==="<0.0.0-0",j4=(J)=>J.value==="",n1=(J,$)=>{let q=!0;const W=J.slice();let Z=W.pop();while(q&&W.length)q=W.every((U)=>{return Z.intersects(U,$)}),Z=W.pop();return q},E4=(J,$)=>{return y("comp",J,$),J=z4(J,$),y("caret",J),J=T4(J,$),y("tildes",J),J=C4(J,$),y("xrange",J),J=k4(J,$),y("stars",J),J},D=(J)=>!J||J.toLowerCase()==="x"||J==="*",T4=(J,$)=>{return J.trim().split(/\s+/).map((q)=>w4(q,$)).join(" ")},w4=(J,$)=>{const q=$.loose?S[z.TILDELOOSE]:S[z.TILDE];return J.replace(q,(W,Z,U,B,Y)=>{y("tilde",J,W,Z,U,B,Y);let F;if(D(Z))F="";else if(D(U))F=`>=${Z}.0.0 <${+Z+1}.0.0-0`;else if(D(B))F=`>=${Z}.${U}.0 <${Z}.${+U+1}.0-0`;else if(Y)y("replaceTilde pr",Y),F=`>=${Z}.${U}.${B}-${Y} <${Z}.${+U+1}.0-0`;else F=`>=${Z}.${U}.${B} <${Z}.${+U+1}.0-0`;return y("tilde return",F),F})},z4=(J,$)=>{return J.trim().split(/\s+/).map((q)=>D4(q,$)).join(" ")},D4=(J,$)=>{y("caret",J,$);const q=$.loose?S[z.CARETLOOSE]:S[z.CARET],W=$.includePrerelease?"-0":"";return J.replace(q,(Z,U,B,Y,F)=>{y("caret",J,Z,U,B,Y,F);let G;if(D(U))G="";else if(D(B))G=`>=${U}.0.0${W} <${+U+1}.0.0-0`;else if(D(Y))if(U==="0")G=`>=${U}.${B}.0${W} <${U}.${+B+1}.0-0`;else G=`>=${U}.${B}.0${W} <${+U+1}.0.0-0`;else if(F)if(y("replaceCaret pr",F),U==="0")if(B==="0")G=`>=${U}.${B}.${Y}-${F} <${U}.${B}.${+Y+1}-0`;else G=`>=${U}.${B}.${Y}-${F} <${U}.${+B+1}.0-0`;else G=`>=${U}.${B}.${Y}-${F} <${+U+1}.0.0-0`;else if(y("no pr"),U==="0")if(B==="0")G=`>=${U}.${B}.${Y}${W} <${U}.${B}.${+Y+1}-0`;else G=`>=${U}.${B}.${Y}${W} <${U}.${+B+1}.0-0`;else G=`>=${U}.${B}.${Y} <${+U+1}.0.0-0`;return y("caret return",G),G})},C4=(J,$)=>{return y("replaceXRanges",J,$),J.split(/\s+/).map((q)=>S4(q,$)).join(" ")},S4=(J,$)=>{J=J.trim();const q=$.loose?S[z.XRANGELOOSE]:S[z.XRANGE];return J.replace(q,(W,Z,U,B,Y,F)=>{y("xRange",J,W,Z,U,B,Y,F);const G=D(U),P=G||D(B),R=P||D(Y),w=R;if(Z==="="&&w)Z="";if(F=$.includePrerelease?"-0":"",G)if(Z===">"||Z==="<")W="<0.0.0-0";else W="*";else if(Z&&w){if(P)B=0;if(Y=0,Z===">")if(Z=">=",P)U=+U+1,B=0,Y=0;else B=+B+1,Y=0;else if(Z==="<=")if(Z="<",P)U=+U+1;else B=+B+1;if(Z==="<")F="-0";W=`${Z+U}.${B}.${Y}${F}`}else if(P)W=`>=${U}.0.0${F} <${+U+1}.0.0-0`;else if(R)W=`>=${U}.${B}.0${F} <${U}.${+B+1}.0-0`;return y("xRange return",W),W})},k4=(J,$)=>{return y("replaceStars",J,$),J.trim().replace(S[z.STAR],"")},M4=(J,$)=>{return y("replaceGTE0",J,$),J.trim().replace(S[$.includePrerelease?z.GTE0PRE:z.GTE0],"")},x4=(J)=>($,q,W,Z,U,B,Y,F,G,P,R,w)=>{if(D(W))q="";else if(D(Z))q=`>=${W}.0.0${J?"-0":""}`;else if(D(U))q=`>=${W}.${Z}.0${J?"-0":""}`;else if(B)q=`>=${q}`;else q=`>=${q}${J?"-0":""}`;if(D(G))F="";else if(D(P))F=`<${+G+1}.0.0-0`;else if(D(R))F=`<${G}.${+P+1}.0-0`;else if(w)F=`<=${G}.${P}.${R}-${w}`;else if(J)F=`<${G}.${P}.${+R+1}-0`;else F=`<=${F}`;return`${q} ${F}`.trim()},f4=(J,$,q)=>{for(let W=0;W<J.length;W++)if(!J[W].test($))return!1;if($.prerelease.length&&!q.includePrerelease){for(let W=0;W<J.length;W++){if(y(J[W].semver),J[W].semver===v2.ANY)continue;if(J[W].semver.prerelease.length>0){const Z=J[W].semver;if(Z.major===$.major&&Z.minor===$.minor&&Z.patch===$.patch)return!0}}return!1}return!0}});var t1=L((S9,s1)=>{var d4=d2(),v4=(J,$,q)=>{try{$=new d4($,q)}catch(W){return!1}return $.test(J)};s1.exports=v4});var O2=L((k9,O4)=>{O4.exports={name:"sharp",description:"High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, GIF, AVIF and TIFF images",version:"0.33.4",author:"Lovell Fuller <npm@lovell.info>",homepage:"https://sharp.pixelplumbing.com",contributors:["Pierre Inglebert <pierre.inglebert@gmail.com>","Jonathan Ong <jonathanrichardong@gmail.com>","Chanon Sajjamanochai <chanon.s@gmail.com>","Juliano Julio <julianojulio@gmail.com>","Daniel Gasienica <daniel@gasienica.ch>","Julian Walker <julian@fiftythree.com>","Amit Pitaru <pitaru.amit@gmail.com>","Brandon Aaron <hello.brandon@aaron.sh>","Andreas Lind <andreas@one.com>","Maurus Cuelenaere <mcuelenaere@gmail.com>","Linus Unnebäck <linus@folkdatorn.se>","Victor Mateevitsi <mvictoras@gmail.com>","Alaric Holloway <alaric.holloway@gmail.com>","Bernhard K. Weisshuhn <bkw@codingforce.com>","Chris Riley <criley@primedia.com>","David Carley <dacarley@gmail.com>","John Tobin <john@limelightmobileinc.com>","Kenton Gray <kentongray@gmail.com>","Felix Bünemann <Felix.Buenemann@gmail.com>","Samy Al Zahrani <samyalzahrany@gmail.com>","Chintan Thakkar <lemnisk8@gmail.com>","F. Orlando Galashan <frulo@gmx.de>","Kleis Auke Wolthuizen <info@kleisauke.nl>","Matt Hirsch <mhirsch@media.mit.edu>","Matthias Thoemmes <thoemmes@gmail.com>","Patrick Paskaris <patrick@paskaris.gr>","Jérémy Lal <kapouer@melix.org>","Rahul Nanwani <r.nanwani@gmail.com>","Alice Monday <alice0meta@gmail.com>","Kristo Jorgenson <kristo.jorgenson@gmail.com>","YvesBos <yves_bos@outlook.com>","Guy Maliar <guy@tailorbrands.com>","Nicolas Coden <nicolas@ncoden.fr>","Matt Parrish <matt.r.parrish@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Matthew McEachen <matthew+github@mceachen.org>","Jarda Kotěšovec <jarda.kotesovec@gmail.com>","Kenric D'Souza <kenric.dsouza@gmail.com>","Oleh Aleinyk <oleg.aleynik@gmail.com>","Marcel Bretschneider <marcel.bretschneider@gmail.com>","Andrea Bianco <andrea.bianco@unibas.ch>","Rik Heywood <rik@rik.org>","Thomas Parisot <hi@oncletom.io>","Nathan Graves <nathanrgraves+github@gmail.com>","Tom Lokhorst <tom@lokhorst.eu>","Espen Hovlandsdal <espen@hovlandsdal.com>","Sylvain Dumont <sylvain.dumont35@gmail.com>","Alun Davies <alun.owain.davies@googlemail.com>","Aidan Hoolachan <ajhoolachan21@gmail.com>","Axel Eirola <axel.eirola@iki.fi>","Freezy <freezy@xbmc.org>","Daiz <taneli.vatanen@gmail.com>","Julian Aubourg <j@ubourg.net>","Keith Belovay <keith@picthrive.com>","Michael B. Klein <mbklein@gmail.com>","Jordan Prudhomme <jordan@raboland.fr>","Ilya Ovdin <iovdin@gmail.com>","Andargor <andargor@yahoo.com>","Paul Neave <paul.neave@gmail.com>","Brendan Kennedy <brenwken@gmail.com>","Brychan Bennett-Odlum <git@brychan.io>","Edward Silverton <e.silverton@gmail.com>","Roman Malieiev <aromaleev@gmail.com>","Tomas Szabo <tomas.szabo@deftomat.com>","Robert O'Rourke <robert@o-rourke.org>","Guillermo Alfonso Varela Chouciño <guillevch@gmail.com>","Christian Flintrup <chr@gigahost.dk>","Manan Jadhav <manan@motionden.com>","Leon Radley <leon@radley.se>","alza54 <alza54@thiocod.in>","Jacob Smith <jacob@frende.me>","Michael Nutt <michael@nutt.im>","Brad Parham <baparham@gmail.com>","Taneli Vatanen <taneli.vatanen@gmail.com>","Joris Dugué <zaruike10@gmail.com>","Chris Banks <christopher.bradley.banks@gmail.com>","Ompal Singh <ompal.hitm09@gmail.com>","Brodan <christopher.hranj@gmail.com>","Ankur Parihar <ankur.github@gmail.com>","Brahim Ait elhaj <brahima@gmail.com>","Mart Jansink <m.jansink@gmail.com>","Lachlan Newman <lachnewman007@gmail.com>","Dennis Beatty <dennis@dcbeatty.com>","Ingvar Stepanyan <me@rreverser.com>"],scripts:{install:"node install/check",clean:"rm -rf src/build/ .nyc_output/ coverage/ test/fixtures/output.*",test:"npm run test-lint && npm run test-unit && npm run test-licensing && npm run test-types","test-lint":"semistandard && cpplint","test-unit":"nyc --reporter=lcov --reporter=text --check-coverage --branches=100 mocha","test-licensing":"license-checker --production --summary --onlyAllow=\"Apache-2.0;BSD;ISC;LGPL-3.0-or-later;MIT\"","test-leak":"./test/leak/leak.sh","test-types":"tsd","package-from-local-build":"node npm/from-local-build","package-from-github-release":"node npm/from-github-release","docs-build":"node docs/build && node docs/search-index/build","docs-serve":"cd docs && npx serve","docs-publish":"cd docs && npx firebase-tools deploy --project pixelplumbing --only hosting:pixelplumbing-sharp"},type:"commonjs",main:"lib/index.js",types:"lib/index.d.ts",files:["install","lib","src/*.{cc,h,gyp}"],repository:{type:"git",url:"git://github.com/lovell/sharp.git"},keywords:["jpeg","png","webp","avif","tiff","gif","svg","jp2","dzi","image","resize","thumbnail","crop","embed","libvips","vips"],dependencies:{color:"^4.2.3","detect-libc":"^2.0.3",semver:"^7.6.0"},optionalDependencies:{"@img/sharp-darwin-arm64":"0.33.4","@img/sharp-darwin-x64":"0.33.4","@img/sharp-libvips-darwin-arm64":"1.0.2","@img/sharp-libvips-darwin-x64":"1.0.2","@img/sharp-libvips-linux-arm":"1.0.2","@img/sharp-libvips-linux-arm64":"1.0.2","@img/sharp-libvips-linux-s390x":"1.0.2","@img/sharp-libvips-linux-x64":"1.0.2","@img/sharp-libvips-linuxmusl-arm64":"1.0.2","@img/sharp-libvips-linuxmusl-x64":"1.0.2","@img/sharp-linux-arm":"0.33.4","@img/sharp-linux-arm64":"0.33.4","@img/sharp-linux-s390x":"0.33.4","@img/sharp-linux-x64":"0.33.4","@img/sharp-linuxmusl-arm64":"0.33.4","@img/sharp-linuxmusl-x64":"0.33.4","@img/sharp-wasm32":"0.33.4","@img/sharp-win32-ia32":"0.33.4","@img/sharp-win32-x64":"0.33.4"},devDependencies:{"@emnapi/runtime":"^1.1.1","@img/sharp-libvips-dev":"1.0.2","@img/sharp-libvips-dev-wasm32":"1.0.3","@img/sharp-libvips-win32-ia32":"1.0.2","@img/sharp-libvips-win32-x64":"1.0.2","@types/node":"*",async:"^3.2.5",cc:"^3.0.1",emnapi:"^1.1.1","exif-reader":"^2.0.1","extract-zip":"^2.0.1",icc:"^3.0.0","jsdoc-to-markdown":"^8.0.1","license-checker":"^25.0.1",mocha:"^10.4.0","node-addon-api":"^8.0.0",nyc:"^15.1.0",prebuild:"^13.0.1",semistandard:"^17.0.0","tar-fs":"^3.0.6",tsd:"^0.31.0"},license:"Apache-2.0",engines:{node:"^18.17.0 || ^20.3.0 || >=21.0.0",libvips:">=8.15.2"},funding:{url:"https://opencollective.com/libvips"},binary:{napi_versions:[9]},semistandard:{env:["mocha"]},cc:{linelength:"120",filter:["build/include"]},nyc:{include:["lib"]},tsd:{directory:"test/types/"}}});var g2=L((M9,B0)=>{var{spawnSync:L2}=import.meta.require("child_process"),{createHash:b4}=import.meta.require("crypto"),J0=R1(),h4=M2(),g4=t1(),i1=import.meta.require("detect-libc"),{engines:h2,optionalDependencies:m4}=O2(),u4=process.env.npm_package_config_libvips||h2.libvips,$0=J0(u4).version,l4=["darwin-arm64","darwin-x64","linux-arm","linux-arm64","linux-s390x","linux-x64","linuxmusl-arm64","linuxmusl-x64","win32-ia32","win32-x64"],R2={encoding:"utf8",shell:!0},q0=(J)=>{if(J instanceof Error)console.error(`sharp: Installation error: ${J.message}`);else console.log(`sharp: ${J}`)},W0=()=>i1.isNonGlibcLinuxSync()?i1.familySync():"",c4=()=>`${process.platform}${W0()}-${process.arch}`,e=()=>{if(Z0())return"wasm32";const{npm_config_arch:J,npm_config_platform:$,npm_config_libc:q}=process.env,W=typeof q==="string"?q:W0();return`${$||process.platform}${W}-${J||process.arch}`},a4=()=>{try{return import.meta.require(`@img/sharp-libvips-dev-${e()}/include`)}catch{try{return (()=>{throw new Error(`Cannot require module "@img/sharp-libvips-dev/include"`);})()}catch{}}return""},r4=()=>{try{return (()=>{throw new Error(`Cannot require module "@img/sharp-libvips-dev/cplusplus"`);})()}catch{}return""},e4=()=>{try{return import.meta.require(`@img/sharp-libvips-dev-${e()}/lib`)}catch{try{return import.meta.require(`@img/sharp-libvips-${e()}/lib`)}catch{}}return""},n4=()=>{if(process.release?.name==="node"&&process.versions){if(!g4(process.versions.node,h2.node))return{found:process.versions.node,expected:h2.node}}},Z0=()=>{const{CC:J}=process.env;return Boolean(J&&J.endsWith("/emcc"))},p4=()=>{if(process.platform==="darwin"&&process.arch==="x64")return(L2("sysctl sysctl.proc_translated",R2).stdout||"").trim()==="sysctl.proc_translated: 1";return!1},o1=(J)=>b4("sha512").update(J).digest("hex"),s4=()=>{try{const J=o1(`imgsharp-libvips-${e()}`),$=J0(m4[`@img/sharp-libvips-${e()}`]).version;return o1(`${J}npm:${$}`).slice(0,10)}catch{}return""},t4=()=>L2(`node-gyp rebuild --directory=src ${Z0()?"--nodedir=emscripten":""}`,{...R2,stdio:"inherit"}).status,Q0=()=>{if(process.platform!=="win32")return(L2("pkg-config --modversion vips-cpp",{...R2,env:{...process.env,PKG_CONFIG_PATH:U0()}}).stdout||"").trim();else return""},U0=()=>{if(process.platform!=="win32")return[(L2('which brew >/dev/null 2>&1 && brew environment --plain | grep PKG_CONFIG_LIBDIR | cut -d" " -f2',R2).stdout||"").trim(),process.env.PKG_CONFIG_PATH,"/usr/local/lib/pkgconfig","/usr/lib/pkgconfig","/usr/local/libdata/pkgconfig","/usr/libdata/pkgconfig"].filter(Boolean).join(":");else return""},b2=(J,$)=>{return q0(`Detected ${$}, skipping search for globally-installed libvips`),J},i4=()=>{if(Boolean(process.env.SHARP_IGNORE_GLOBAL_LIBVIPS)===!0)return b2(!1,"SHARP_IGNORE_GLOBAL_LIBVIPS");if(Boolean(process.env.SHARP_FORCE_GLOBAL_LIBVIPS)===!0)return b2(!0,"SHARP_FORCE_GLOBAL_LIBVIPS");if(p4())return b2(!1,"Rosetta");const J=Q0();return!!J&&h4(J,$0)};B0.exports={minimumLibvipsVersion:$0,prebuiltPlatforms:l4,buildPlatformArch:e,buildSharpLibvipsIncludeDir:a4,buildSharpLibvipsCPlusPlusDir:r4,buildSharpLibvipsLibDir:e4,isUnsupportedNodeRuntime:n4,runtimePlatformArch:c4,log:q0,yarnLocator:s4,spawnRebuild:t4,globalLibvipsVersion:Q0,pkgConfigPath:U0,useGlobalLibvips:i4}});var q2=L((x9,I0)=>{var{familySync:o4,versionSync:J3}=import.meta.require("detect-libc"),{runtimePlatformArch:$3,isUnsupportedNodeRuntime:Y0,prebuiltPlatforms:q3,minimumLibvipsVersion:W3}=g2(),l=$3(),Z3=[`../src/build/Release/sharp-${l}.node`,"../src/build/Release/sharp-wasm32.node",`@img/sharp-${l}/sharp.node`,"@img/sharp-wasm32/sharp.node"],m2,_2=[];for(let J of Z3)try{m2=import.meta.require(J);break}catch($){_2.push($)}if(m2)I0.exports=m2;else{const[J,$,q]=["linux","darwin","win32"].map((U)=>l.startsWith(U)),W=[`Could not load the "sharp" module using the ${l} runtime`];_2.forEach((U)=>{if(U.code!=="MODULE_NOT_FOUND")W.push(`${U.code}: ${U.message}`)});const Z=_2.map((U)=>U.message).join(" ");if(W.push("Possible solutions:"),Y0()){const{found:U,expected:B}=Y0();W.push("- Please upgrade Node.js:",` Found ${U}`,` Requires ${B}`)}else if(q3.includes(l)){const[U,B]=l.split("-"),Y=U.endsWith("musl")?" --libc=musl":"";W.push("- Ensure optional dependencies can be installed:"," npm install --include=optional sharp"," yarn add sharp --ignore-engines","- Ensure your package manager supports multi-platform installation:"," See https://sharp.pixelplumbing.com/install#cross-platform","- Add platform-specific dependencies:",` npm install --os=${U.replace("musl","")}${Y} --cpu=${B} sharp`)}else W.push(`- Manually install libvips >= ${W3}`,"- Add experimental WebAssembly-based dependencies:"," npm install --cpu=wasm32 sharp"," npm install @img/sharp-wasm32");if(J&&/(symbol not found|CXXABI_)/i.test(Z))try{const{engines:U}=import.meta.require(`@img/sharp-libvips-${l}/package`),B=`${o4()} ${J3()}`,Y=`${U.musl?"musl":"glibc"} ${U.musl||U.glibc}`;W.push("- Update your OS:",` Found ${B}`,` Requires ${Y}`)}catch(U){}if(J&&/\/snap\/core[0-9]{2}/.test(Z))W.push("- Remove the Node.js Snap, which does not support native modules"," snap remove node");if($&&/Incompatible library version/.test(Z))W.push("- Update Homebrew:"," brew update && brew upgrade vips");if(_2.some((U)=>U.code==="ERR_DLOPEN_DISABLED"))W.push("- Run Node.js without using the --no-addons flag");if(q&&/The specified procedure could not be found/.test(Z))W.push("- Using the canvas package on Windows?"," See https://sharp.pixelplumbing.com/install#canvas-and-windows","- Check for outdated versions of sharp in the dependency tree:"," npm ls sharp");throw W.push("- Consult the installation documentation:"," See https://sharp.pixelplumbing.com/install"),new Error(W.join("\n"))}});var F0=L((f9,K0)=>{var Y3=function(){const J=this.constructor.call(),{debuglog:$,queueListener:q,...W}=this.options;if(J.options=structuredClone(W),J.options.debuglog=$,J.options.queueListener=q,this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),J.options.input.buffer=this.options.input.buffer,J.emit("finish")});return J},Q3=import.meta.require("util"),u2=import.meta.require("stream"),U3=d();q2();var B3=Q3.debuglog("sharp"),c=function(J,$){if(arguments.length===1&&!U3.defined(J))throw new Error("Invalid input");if(!(this instanceof c))return new c(J,$);return u2.Duplex.call(this),this.options={topOffsetPre:-1,leftOffsetPre:-1,widthPre:-1,heightPre:-1,topOffsetPost:-1,leftOffsetPost:-1,widthPost:-1,heightPost:-1,width:-1,height:-1,canvas:"crop",position:0,resizeBackground:[0,0,0,255],useExifOrientation:!1,angle:0,rotationAngle:0,rotationBackground:[0,0,0,255],rotateBeforePreExtract:!1,flip:!1,flop:!1,extendTop:0,extendBottom:0,extendLeft:0,extendRight:0,extendBackground:[0,0,0,255],extendWith:"background",withoutEnlargement:!1,withoutReduction:!1,affineMatrix:[],affineBackground:[0,0,0,255],affineIdx:0,affineIdy:0,affineOdx:0,affineOdy:0,affineInterpolator:this.constructor.interpolators.bilinear,kernel:"lanczos3",fastShrinkOnLoad:!0,tint:[-1,0,0,0],flatten:!1,flattenBackground:[0,0,0],unflatten:!1,negate:!1,negateAlpha:!0,medianSize:0,blurSigma:0,sharpenSigma:0,sharpenM1:1,sharpenM2:2,sharpenX1:2,sharpenY2:10,sharpenY3:20,threshold:0,thresholdGrayscale:!0,trimBackground:[],trimThreshold:-1,trimLineArt:!1,gamma:0,gammaOut:0,greyscale:!1,normalise:!1,normaliseLower:1,normaliseUpper:99,claheWidth:0,claheHeight:0,claheMaxSlope:3,brightness:1,saturation:1,hue:0,lightness:0,booleanBufferIn:null,booleanFileIn:"",joinChannelIn:[],extractChannel:-1,removeAlpha:!1,ensureAlpha:-1,colourspace:"srgb",colourspacePipeline:"last",composite:[],fileOut:"",formatOut:"input",streamOut:!1,keepMetadata:0,withMetadataOrientation:-1,withMetadataDensity:0,withIccProfile:"",withExif:{},withExifMerge:!0,resolveWithObject:!1,jpegQuality:80,jpegProgressive:!1,jpegChromaSubsampling:"4:2:0",jpegTrellisQuantisation:!1,jpegOvershootDeringing:!1,jpegOptimiseScans:!1,jpegOptimiseCoding:!0,jpegQuantisationTable:0,pngProgressive:!1,pngCompressionLevel:6,pngAdaptiveFiltering:!1,pngPalette:!1,pngQuality:100,pngEffort:7,pngBitdepth:8,pngDither:1,jp2Quality:80,jp2TileHeight:512,jp2TileWidth:512,jp2Lossless:!1,jp2ChromaSubsampling:"4:4:4",webpQuality:80,webpAlphaQuality:100,webpLossless:!1,webpNearLossless:!1,webpSmartSubsample:!1,webpPreset:"default",webpEffort:4,webpMinSize:!1,webpMixed:!1,gifBitdepth:8,gifEffort:7,gifDither:1,gifInterFrameMaxError:0,gifInterPaletteMaxError:3,gifReuse:!0,gifProgressive:!1,tiffQuality:80,tiffCompression:"jpeg",tiffPredictor:"horizontal",tiffPyramid:!1,tiffMiniswhite:!1,tiffBitdepth:8,tiffTile:!1,tiffTileHeight:256,tiffTileWidth:256,tiffXres:1,tiffYres:1,tiffResolutionUnit:"inch",heifQuality:50,heifLossless:!1,heifCompression:"av1",heifEffort:4,heifChromaSubsampling:"4:4:4",heifBitdepth:8,jxlDistance:1,jxlDecodingTier:0,jxlEffort:7,jxlLossless:!1,rawDepth:"uchar",tileSize:256,tileOverlap:0,tileContainer:"fs",tileLayout:"dz",tileFormat:"last",tileDepth:"last",tileAngle:0,tileSkipBlanks:-1,tileBackground:[255,255,255,255],tileCentre:!1,tileId:"https://example.com/iiif",tileBasename:"",timeoutSeconds:0,linearA:[],linearB:[],debuglog:(q)=>{this.emit("warning",q),B3(q)},queueListener:function(q){c.queue.emit("change",q)}},this.options.input=this._createInputDescriptor(J,$,{allowStream:!0}),this};Object.setPrototypeOf(c.prototype,u2.Duplex.prototype);Object.setPrototypeOf(c,u2.Duplex);Object.assign(c.prototype,{clone:Y3});K0.exports=c});var l2=L((d9,G0)=>{G0.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var N0=L((v9,H0)=>{H0.exports=function J($){if(!$||typeof $==="string")return!1;return $ instanceof Array||Array.isArray($)||$.length>=0&&($.splice instanceof Function||Object.getOwnPropertyDescriptor($,$.length-1)&&$.constructor.name!=="String")}});var A0=L((O9,X0)=>{var I3=N0(),K3=Array.prototype.concat,F3=Array.prototype.slice,P0=X0.exports=function J($){var q=[];for(var W=0,Z=$.length;W<Z;W++){var U=$[W];if(I3(U))q=K3.call(q,F3.call(U));else q.push(U)}return q};P0.wrap=function(J){return function(){return J(P0(arguments))}}});var _0=L((b9,R0)=>{var g=function(J,$,q){return Math.min(Math.max($,J),q)},j2=function(J){var $=Math.round(J).toString(16).toUpperCase();return $.length<2?"0"+$:$},W2=l2(),Z2=A0(),V0=Object.hasOwnProperty,L0=Object.create(null);for(y2 in W2)if(V0.call(W2,y2))L0[W2[y2]]=y2;var y2,k=R0.exports={to:{},get:{}};k.get=function(J){var $=J.substring(0,3).toLowerCase(),q,W;switch($){case"hsl":q=k.get.hsl(J),W="hsl";break;case"hwb":q=k.get.hwb(J),W="hwb";break;default:q=k.get.rgb(J),W="rgb";break}if(!q)return null;return{model:W,value:q}};k.get.rgb=function(J){if(!J)return null;var $=/^#([a-f0-9]{3,4})$/i,q=/^#([a-f0-9]{6})([a-f0-9]{2})?$/i,W=/^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,Z=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/,U=/^(\w+)$/,B=[0,0,0,1],Y,F,G;if(Y=J.match(q)){G=Y[2],Y=Y[1];for(F=0;F<3;F++){var P=F*2;B[F]=parseInt(Y.slice(P,P+2),16)}if(G)B[3]=parseInt(G,16)/255}else if(Y=J.match($)){Y=Y[1],G=Y[3];for(F=0;F<3;F++)B[F]=parseInt(Y[F]+Y[F],16);if(G)B[3]=parseInt(G+G,16)/255}else if(Y=J.match(W)){for(F=0;F<3;F++)B[F]=parseInt(Y[F+1],0);if(Y[4])if(Y[5])B[3]=parseFloat(Y[4])*0.01;else B[3]=parseFloat(Y[4])}else if(Y=J.match(Z)){for(F=0;F<3;F++)B[F]=Math.round(parseFloat(Y[F+1])*2.55);if(Y[4])if(Y[5])B[3]=parseFloat(Y[4])*0.01;else B[3]=parseFloat(Y[4])}else if(Y=J.match(U)){if(Y[1]==="transparent")return[0,0,0,0];if(!V0.call(W2,Y[1]))return null;return B=W2[Y[1]],B[3]=1,B}else return null;for(F=0;F<3;F++)B[F]=g(B[F],0,255);return B[3]=g(B[3],0,1),B};k.get.hsl=function(J){if(!J)return null;var $=/^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,q=J.match($);if(q){var W=parseFloat(q[4]),Z=(parseFloat(q[1])%360+360)%360,U=g(parseFloat(q[2]),0,100),B=g(parseFloat(q[3]),0,100),Y=g(isNaN(W)?1:W,0,1);return[Z,U,B,Y]}return null};k.get.hwb=function(J){if(!J)return null;var $=/^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/,q=J.match($);if(q){var W=parseFloat(q[4]),Z=(parseFloat(q[1])%360+360)%360,U=g(parseFloat(q[2]),0,100),B=g(parseFloat(q[3]),0,100),Y=g(isNaN(W)?1:W,0,1);return[Z,U,B,Y]}return null};k.to.hex=function(){var J=Z2(arguments);return"#"+j2(J[0])+j2(J[1])+j2(J[2])+(J[3]<1?j2(Math.round(J[3]*255)):"")};k.to.rgb=function(){var J=Z2(arguments);return J.length<4||J[3]===1?"rgb("+Math.round(J[0])+", "+Math.round(J[1])+", "+Math.round(J[2])+")":"rgba("+Math.round(J[0])+", "+Math.round(J[1])+", "+Math.round(J[2])+", "+J[3]+")"};k.to.rgb.percent=function(){var J=Z2(arguments),$=Math.round(J[0]/255*100),q=Math.round(J[1]/255*100),W=Math.round(J[2]/255*100);return J.length<4||J[3]===1?"rgb("+$+"%, "+q+"%, "+W+"%)":"rgba("+$+"%, "+q+"%, "+W+"%, "+J[3]+")"};k.to.hsl=function(){var J=Z2(arguments);return J.length<4||J[3]===1?"hsl("+J[0]+", "+J[1]+"%, "+J[2]+"%)":"hsla("+J[0]+", "+J[1]+"%, "+J[2]+"%, "+J[3]+")"};k.to.hwb=function(){var J=Z2(arguments),$="";if(J.length>=4&&J[3]!==1)$=", "+J[3];return"hwb("+J[0]+", "+J[1]+"%, "+J[2]+"%"+$+")"};k.to.keyword=function(J){return L0[J.slice(0,3)]}});var c2=L((h9,j0)=>{var G3=function(J,$){return(J[0]-$[0])**2+(J[1]-$[1])**2+(J[2]-$[2])**2},Q2=l2(),y0={};for(let J of Object.keys(Q2))y0[Q2[J]]=J;var X={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};j0.exports=X;for(let J of Object.keys(X)){if(!("channels"in X[J]))throw new Error("missing channels property: "+J);if(!("labels"in X[J]))throw new Error("missing channel labels property: "+J);if(X[J].labels.length!==X[J].channels)throw new Error("channel and label counts mismatch: "+J);const{channels:$,labels:q}=X[J];delete X[J].channels,delete X[J].labels,Object.defineProperty(X[J],"channels",{value:$}),Object.defineProperty(X[J],"labels",{value:q})}X.rgb.hsl=function(J){const $=J[0]/255,q=J[1]/255,W=J[2]/255,Z=Math.min($,q,W),U=Math.max($,q,W),B=U-Z;let Y,F;if(U===Z)Y=0;else if($===U)Y=(q-W)/B;else if(q===U)Y=2+(W-$)/B;else if(W===U)Y=4+($-q)/B;if(Y=Math.min(Y*60,360),Y<0)Y+=360;const G=(Z+U)/2;if(U===Z)F=0;else if(G<=0.5)F=B/(U+Z);else F=B/(2-U-Z);return[Y,F*100,G*100]};X.rgb.hsv=function(J){let $,q,W,Z,U;const B=J[0]/255,Y=J[1]/255,F=J[2]/255,G=Math.max(B,Y,F),P=G-Math.min(B,Y,F),R=function(w){return(G-w)/6/P+0.5};if(P===0)Z=0,U=0;else{if(U=P/G,$=R(B),q=R(Y),W=R(F),B===G)Z=W-q;else if(Y===G)Z=0.3333333333333333+$-W;else if(F===G)Z=0.6666666666666666+q-$;if(Z<0)Z+=1;else if(Z>1)Z-=1}return[Z*360,U*100,G*100]};X.rgb.hwb=function(J){const $=J[0],q=J[1];let W=J[2];const Z=X.rgb.hsl(J)[0],U=0.00392156862745098*Math.min($,Math.min(q,W));return W=1-0.00392156862745098*Math.max($,Math.max(q,W)),[Z,U*100,W*100]};X.rgb.cmyk=function(J){const $=J[0]/255,q=J[1]/255,W=J[2]/255,Z=Math.min(1-$,1-q,1-W),U=(1-$-Z)/(1-Z)||0,B=(1-q-Z)/(1-Z)||0,Y=(1-W-Z)/(1-Z)||0;return[U*100,B*100,Y*100,Z*100]};X.rgb.keyword=function(J){const $=y0[J];if($)return $;let q=Infinity,W;for(let Z of Object.keys(Q2)){const U=Q2[Z],B=G3(J,U);if(B<q)q=B,W=Z}return W};X.keyword.rgb=function(J){return Q2[J]};X.rgb.xyz=function(J){let $=J[0]/255,q=J[1]/255,W=J[2]/255;$=$>0.04045?(($+0.055)/1.055)**2.4:$/12.92,q=q>0.04045?((q+0.055)/1.055)**2.4:q/12.92,W=W>0.04045?((W+0.055)/1.055)**2.4:W/12.92;const Z=$*0.4124+q*0.3576+W*0.1805,U=$*0.2126+q*0.7152+W*0.0722,B=$*0.0193+q*0.1192+W*0.9505;return[Z*100,U*100,B*100]};X.rgb.lab=function(J){const $=X.rgb.xyz(J);let q=$[0],W=$[1],Z=$[2];q/=95.047,W/=100,Z/=108.883,q=q>0.008856?q**0.3333333333333333:7.787*q+0.13793103448275862,W=W>0.008856?W**0.3333333333333333:7.787*W+0.13793103448275862,Z=Z>0.008856?Z**0.3333333333333333:7.787*Z+0.13793103448275862;const U=116*W-16,B=500*(q-W),Y=200*(W-Z);return[U,B,Y]};X.hsl.rgb=function(J){const $=J[0]/360,q=J[1]/100,W=J[2]/100;let Z,U,B;if(q===0)return B=W*255,[B,B,B];if(W<0.5)Z=W*(1+q);else Z=W+q-W*q;const Y=2*W-Z,F=[0,0,0];for(let G=0;G<3;G++){if(U=$+0.3333333333333333*-(G-1),U<0)U++;if(U>1)U--;if(6*U<1)B=Y+(Z-Y)*6*U;else if(2*U<1)B=Z;else if(3*U<2)B=Y+(Z-Y)*(0.6666666666666666-U)*6;else B=Y;F[G]=B*255}return F};X.hsl.hsv=function(J){const $=J[0];let q=J[1]/100,W=J[2]/100,Z=q;const U=Math.max(W,0.01);W*=2,q*=W<=1?W:2-W,Z*=U<=1?U:2-U;const B=(W+q)/2,Y=W===0?2*Z/(U+Z):2*q/(W+q);return[$,Y*100,B*100]};X.hsv.rgb=function(J){const $=J[0]/60,q=J[1]/100;let W=J[2]/100;const Z=Math.floor($)%6,U=$-Math.floor($),B=255*W*(1-q),Y=255*W*(1-q*U),F=255*W*(1-q*(1-U));switch(W*=255,Z){case 0:return[W,F,B];case 1:return[Y,W,B];case 2:return[B,W,F];case 3:return[B,Y,W];case 4:return[F,B,W];case 5:return[W,B,Y]}};X.hsv.hsl=function(J){const $=J[0],q=J[1]/100,W=J[2]/100,Z=Math.max(W,0.01);let U,B;B=(2-q)*W;const Y=(2-q)*Z;return U=q*Z,U/=Y<=1?Y:2-Y,U=U||0,B/=2,[$,U*100,B*100]};X.hwb.rgb=function(J){const $=J[0]/360;let q=J[1]/100,W=J[2]/100;const Z=q+W;let U;if(Z>1)q/=Z,W/=Z;const B=Math.floor(6*$),Y=1-W;if(U=6*$-B,(B&1)!==0)U=1-U;const F=q+U*(Y-q);let G,P,R;switch(B){default:case 6:case 0:G=Y,P=F,R=q;break;case 1:G=F,P=Y,R=q;break;case 2:G=q,P=Y,R=F;break;case 3:G=q,P=F,R=Y;break;case 4:G=F,P=q,R=Y;break;case 5:G=Y,P=q,R=F;break}return[G*255,P*255,R*255]};X.cmyk.rgb=function(J){const $=J[0]/100,q=J[1]/100,W=J[2]/100,Z=J[3]/100,U=1-Math.min(1,$*(1-Z)+Z),B=1-Math.min(1,q*(1-Z)+Z),Y=1-Math.min(1,W*(1-Z)+Z);return[U*255,B*255,Y*255]};X.xyz.rgb=function(J){const $=J[0]/100,q=J[1]/100,W=J[2]/100;let Z,U,B;return Z=$*3.2406+q*-1.5372+W*-0.4986,U=$*-0.9689+q*1.8758+W*0.0415,B=$*0.0557+q*-0.204+W*1.057,Z=Z>0.0031308?1.055*Z**0.4166666666666667-0.055:Z*12.92,U=U>0.0031308?1.055*U**0.4166666666666667-0.055:U*12.92,B=B>0.0031308?1.055*B**0.4166666666666667-0.055:B*12.92,Z=Math.min(Math.max(0,Z),1),U=Math.min(Math.max(0,U),1),B=Math.min(Math.max(0,B),1),[Z*255,U*255,B*255]};X.xyz.lab=function(J){let $=J[0],q=J[1],W=J[2];$/=95.047,q/=100,W/=108.883,$=$>0.008856?$**0.3333333333333333:7.787*$+0.13793103448275862,q=q>0.008856?q**0.3333333333333333:7.787*q+0.13793103448275862,W=W>0.008856?W**0.3333333333333333:7.787*W+0.13793103448275862;const Z=116*q-16,U=500*($-q),B=200*(q-W);return[Z,U,B]};X.lab.xyz=function(J){const $=J[0],q=J[1],W=J[2];let Z,U,B;U=($+16)/116,Z=q/500+U,B=U-W/200;const Y=U**3,F=Z**3,G=B**3;return U=Y>0.008856?Y:(U-0.13793103448275862)/7.787,Z=F>0.008856?F:(Z-0.13793103448275862)/7.787,B=G>0.008856?G:(B-0.13793103448275862)/7.787,Z*=95.047,U*=100,B*=108.883,[Z,U,B]};X.lab.lch=function(J){const $=J[0],q=J[1],W=J[2];let Z;if(Z=Math.atan2(W,q)*360/2/Math.PI,Z<0)Z+=360;const B=Math.sqrt(q*q+W*W);return[$,B,Z]};X.lch.lab=function(J){const $=J[0],q=J[1],Z=J[2]/360*2*Math.PI,U=q*Math.cos(Z),B=q*Math.sin(Z);return[$,U,B]};X.rgb.ansi16=function(J,$=null){const[q,W,Z]=J;let U=$===null?X.rgb.hsv(J)[2]:$;if(U=Math.round(U/50),U===0)return 30;let B=30+(Math.round(Z/255)<<2|Math.round(W/255)<<1|Math.round(q/255));if(U===2)B+=60;return B};X.hsv.ansi16=function(J){return X.rgb.ansi16(X.hsv.rgb(J),J[2])};X.rgb.ansi256=function(J){const $=J[0],q=J[1],W=J[2];if($===q&&q===W){if($<8)return 16;if($>248)return 231;return Math.round(($-8)/247*24)+232}return 16+36*Math.round($/255*5)+6*Math.round(q/255*5)+Math.round(W/255*5)};X.ansi16.rgb=function(J){let $=J%10;if($===0||$===7){if(J>50)$+=3.5;return $=$/10.5*255,[$,$,$]}const q=(~~(J>50)+1)*0.5,W=($&1)*q*255,Z=($>>1&1)*q*255,U=($>>2&1)*q*255;return[W,Z,U]};X.ansi256.rgb=function(J){if(J>=232){const U=(J-232)*10+8;return[U,U,U]}J-=16;let $;const q=Math.floor(J/36)/5*255,W=Math.floor(($=J%36)/6)/5*255,Z=$%6/5*255;return[q,W,Z]};X.rgb.hex=function(J){const q=(((Math.round(J[0])&255)<<16)+((Math.round(J[1])&255)<<8)+(Math.round(J[2])&255)).toString(16).toUpperCase();return"000000".substring(q.length)+q};X.hex.rgb=function(J){const $=J.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!$)return[0,0,0];let q=$[0];if($[0].length===3)q=q.split("").map((Y)=>{return Y+Y}).join("");const W=parseInt(q,16),Z=W>>16&255,U=W>>8&255,B=W&255;return[Z,U,B]};X.rgb.hcg=function(J){const $=J[0]/255,q=J[1]/255,W=J[2]/255,Z=Math.max(Math.max($,q),W),U=Math.min(Math.min($,q),W),B=Z-U;let Y,F;if(B<1)Y=U/(1-B);else Y=0;if(B<=0)F=0;else if(Z===$)F=(q-W)/B%6;else if(Z===q)F=2+(W-$)/B;else F=4+($-q)/B;return F/=6,F%=1,[F*360,B*100,Y*100]};X.hsl.hcg=function(J){const $=J[1]/100,q=J[2]/100,W=q<0.5?2*$*q:2*$*(1-q);let Z=0;if(W<1)Z=(q-0.5*W)/(1-W);return[J[0],W*100,Z*100]};X.hsv.hcg=function(J){const $=J[1]/100,q=J[2]/100,W=$*q;let Z=0;if(W<1)Z=(q-W)/(1-W);return[J[0],W*100,Z*100]};X.hcg.rgb=function(J){const $=J[0]/360,q=J[1]/100,W=J[2]/100;if(q===0)return[W*255,W*255,W*255];const Z=[0,0,0],U=$%1*6,B=U%1,Y=1-B;let F=0;switch(Math.floor(U)){case 0:Z[0]=1,Z[1]=B,Z[2]=0;break;case 1:Z[0]=Y,Z[1]=1,Z[2]=0;break;case 2:Z[0]=0,Z[1]=1,Z[2]=B;break;case 3:Z[0]=0,Z[1]=Y,Z[2]=1;break;case 4:Z[0]=B,Z[1]=0,Z[2]=1;break;default:Z[0]=1,Z[1]=0,Z[2]=Y}return F=(1-q)*W,[(q*Z[0]+F)*255,(q*Z[1]+F)*255,(q*Z[2]+F)*255]};X.hcg.hsv=function(J){const $=J[1]/100,q=J[2]/100,W=$+q*(1-$);let Z=0;if(W>0)Z=$/W;return[J[0],Z*100,W*100]};X.hcg.hsl=function(J){const $=J[1]/100,W=J[2]/100*(1-$)+0.5*$;let Z=0;if(W>0&&W<0.5)Z=$/(2*W);else if(W>=0.5&&W<1)Z=$/(2*(1-W));return[J[0],Z*100,W*100]};X.hcg.hwb=function(J){const $=J[1]/100,q=J[2]/100,W=$+q*(1-$);return[J[0],(W-$)*100,(1-W)*100]};X.hwb.hcg=function(J){const $=J[1]/100,W=1-J[2]/100,Z=W-$;let U=0;if(Z<1)U=(W-Z)/(1-Z);return[J[0],Z*100,U*100]};X.apple.rgb=function(J){return[J[0]/65535*255,J[1]/65535*255,J[2]/65535*255]};X.rgb.apple=function(J){return[J[0]/255*65535,J[1]/255*65535,J[2]/255*65535]};X.gray.rgb=function(J){return[J[0]/100*255,J[0]/100*255,J[0]/100*255]};X.gray.hsl=function(J){return[0,0,J[0]]};X.gray.hsv=X.gray.hsl;X.gray.hwb=function(J){return[0,100,J[0]]};X.gray.cmyk=function(J){return[0,0,0,J[0]]};X.gray.lab=function(J){return[J[0],0,0]};X.gray.hex=function(J){const $=Math.round(J[0]/100*255)&255,W=(($<<16)+($<<8)+$).toString(16).toUpperCase();return"000000".substring(W.length)+W};X.rgb.gray=function(J){return[(J[0]+J[1]+J[2])/3/255*100]}});var T0=L((g9,E0)=>{var H3=function(){const J={},$=Object.keys(E2);for(let q=$.length,W=0;W<q;W++)J[$[W]]={distance:-1,parent:null};return J},N3=function(J){const $=H3(),q=[J];$[J].distance=0;while(q.length){const W=q.pop(),Z=Object.keys(E2[W]);for(let U=Z.length,B=0;B<U;B++){const Y=Z[B],F=$[Y];if(F.distance===-1)F.distance=$[W].distance+1,F.parent=W,q.unshift(Y)}}return $},P3=function(J,$){return function(q){return $(J(q))}},X3=function(J,$){const q=[$[J].parent,J];let W=E2[$[J].parent][J],Z=$[J].parent;while($[Z].parent)q.unshift($[Z].parent),W=P3(E2[$[Z].parent][Z],W),Z=$[Z].parent;return W.conversion=q,W},E2=c2();E0.exports=function(J){const $=N3(J),q={},W=Object.keys($);for(let Z=W.length,U=0;U<Z;U++){const B=W[U];if($[B].parent===null)continue;q[B]=X3(B,$)}return q}});var z0=L((m9,w0)=>{var L3=function(J){const $=function(...q){const W=q[0];if(W===void 0||W===null)return W;if(W.length>1)q=W;return J(q)};if("conversion"in J)$.conversion=J.conversion;return $},R3=function(J){const $=function(...q){const W=q[0];if(W===void 0||W===null)return W;if(W.length>1)q=W;const Z=J(q);if(typeof Z==="object")for(let U=Z.length,B=0;B<U;B++)Z[B]=Math.round(Z[B]);return Z};if("conversion"in J)$.conversion=J.conversion;return $},a2=c2(),A3=T0(),n={},V3=Object.keys(a2);V3.forEach((J)=>{n[J]={},Object.defineProperty(n[J],"channels",{value:a2[J].channels}),Object.defineProperty(n[J],"labels",{value:a2[J].labels});const $=A3(J);Object.keys($).forEach((W)=>{const Z=$[W];n[J][W]=R3(Z),n[J][W].raw=L3(Z)})});w0.exports=n});var w2=L((u9,C0)=>{var T=function(J,$){if(!(this instanceof T))return new T(J,$);if($&&$ in D0)$=null;if($&&!($ in M))throw new Error("Unknown model: "+$);let q,W;if(J==null)this.model="rgb",this.color=[0,0,0],this.valpha=1;else if(J instanceof T)this.model=J.model,this.color=[...J.color],this.valpha=J.valpha;else if(typeof J==="string"){const Z=p.get(J);if(Z===null)throw new Error("Unable to parse color from string: "+J);this.model=Z.model,W=M[this.model].channels,this.color=Z.value.slice(0,W),this.valpha=typeof Z.value[W]==="number"?Z.value[W]:1}else if(J.length>0){this.model=$||"rgb",W=M[this.model].channels;const Z=Array.prototype.slice.call(J,0,W);this.color=e2(Z,W),this.valpha=typeof J[W]==="number"?J[W]:1}else if(typeof J==="number")this.model="rgb",this.color=[J>>16&255,J>>8&255,J&255],this.valpha=1;else{this.valpha=1;const Z=Object.keys(J);if("alpha"in J)Z.splice(Z.indexOf("alpha"),1),this.valpha=typeof J.alpha==="number"?J.alpha:0;const U=Z.sort().join("");if(!(U in r2))throw new Error("Unable to parse color from object: "+JSON.stringify(J));this.model=r2[U];const{labels:B}=M[this.model],Y=[];for(q=0;q<B.length;q++)Y.push(J[B[q]]);this.color=e2(Y)}if(T2[this.model]){W=M[this.model].channels;for(q=0;q<W;q++){const Z=T2[this.model][q];if(Z)this.color[q]=Z(this.color[q])}}if(this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze)Object.freeze(this)},_3=function(J,$){return Number(J.toFixed($))},y3=function(J){return function($){return _3($,J)}},j=function(J,$,q){J=Array.isArray(J)?J:[J];for(let W of J)(T2[W]||(T2[W]=[]))[$]=q;return J=J[0],function(W){let Z;if(W!==void 0){if(q)W=q(W);return Z=this[J](),Z.color[$]=W,Z}if(Z=this[J]().color[$],q)Z=q(Z);return Z}},E=function(J){return function($){return Math.max(0,Math.min(J,$))}},j3=function(J){return Array.isArray(J)?J:[J]},e2=function(J,$){for(let q=0;q<$;q++)if(typeof J[q]!=="number")J[q]=0;return J},p=_0(),M=z0(),D0=["keyword","gray","hex"],r2={};for(let J of Object.keys(M))r2[[...M[J].labels].sort().join("")]=J;var T2={};T.prototype={toString(){return this.string()},toJSON(){return this[this.model]()},string(J){let $=this.model in p.to?this:this.rgb();$=$.round(typeof J==="number"?J:1);const q=$.valpha===1?$.color:[...$.color,this.valpha];return p.to[$.model](q)},percentString(J){const $=this.rgb().round(typeof J==="number"?J:1),q=$.valpha===1?$.color:[...$.color,this.valpha];return p.to.rgb.percent(q)},array(){return this.valpha===1?[...this.color]:[...this.color,this.valpha]},object(){const J={},{channels:$}=M[this.model],{labels:q}=M[this.model];for(let W=0;W<$;W++)J[q[W]]=this.color[W];if(this.valpha!==1)J.alpha=this.valpha;return J},unitArray(){const J=this.rgb().color;if(J[0]/=255,J[1]/=255,J[2]/=255,this.valpha!==1)J.push(this.valpha);return J},unitObject(){const J=this.rgb().object();if(J.r/=255,J.g/=255,J.b/=255,this.valpha!==1)J.alpha=this.valpha;return J},round(J){return J=Math.max(J||0,0),new T([...this.color.map(y3(J)),this.valpha],this.model)},alpha(J){if(J!==void 0)return new T([...this.color,Math.max(0,Math.min(1,J))],this.model);return this.valpha},red:j("rgb",0,E(255)),green:j("rgb",1,E(255)),blue:j("rgb",2,E(255)),hue:j(["hsl","hsv","hsl","hwb","hcg"],0,(J)=>(J%360+360)%360),saturationl:j("hsl",1,E(100)),lightness:j("hsl",2,E(100)),saturationv:j("hsv",1,E(100)),value:j("hsv",2,E(100)),chroma:j("hcg",1,E(100)),gray:j("hcg",2,E(100)),white:j("hwb",1,E(100)),wblack:j("hwb",2,E(100)),cyan:j("cmyk",0,E(100)),magenta:j("cmyk",1,E(100)),yellow:j("cmyk",2,E(100)),black:j("cmyk",3,E(100)),x:j("xyz",0,E(95.047)),y:j("xyz",1,E(100)),z:j("xyz",2,E(108.833)),l:j("lab",0,E(100)),a:j("lab",1),b:j("lab",2),keyword(J){if(J!==void 0)return new T(J);return M[this.model].keyword(this.color)},hex(J){if(J!==void 0)return new T(J);return p.to.hex(this.rgb().round().color)},hexa(J){if(J!==void 0)return new T(J);const $=this.rgb().round().color;let q=Math.round(this.valpha*255).toString(16).toUpperCase();if(q.length===1)q="0"+q;return p.to.hex($)+q},rgbNumber(){const J=this.rgb().color;return(J[0]&255)<<16|(J[1]&255)<<8|J[2]&255},luminosity(){const J=this.rgb().color,$=[];for(let[q,W]of J.entries()){const Z=W/255;$[q]=Z<=0.04045?Z/12.92:((Z+0.055)/1.055)**2.4}return 0.2126*$[0]+0.7152*$[1]+0.0722*$[2]},contrast(J){const $=this.luminosity(),q=J.luminosity();if($>q)return($+0.05)/(q+0.05);return(q+0.05)/($+0.05)},level(J){const $=this.contrast(J);if($>=7)return"AAA";return $>=4.5?"AA":""},isDark(){const J=this.rgb().color;return(J[0]*2126+J[1]*7152+J[2]*722)/1e4<128},isLight(){return!this.isDark()},negate(){const J=this.rgb();for(let $=0;$<3;$++)J.color[$]=255-J.color[$];return J},lighten(J){const $=this.hsl();return $.color[2]+=$.color[2]*J,$},darken(J){const $=this.hsl();return $.color[2]-=$.color[2]*J,$},saturate(J){const $=this.hsl();return $.color[1]+=$.color[1]*J,$},desaturate(J){const $=this.hsl();return $.color[1]-=$.color[1]*J,$},whiten(J){const $=this.hwb();return $.color[1]+=$.color[1]*J,$},blacken(J){const $=this.hwb();return $.color[2]+=$.color[2]*J,$},grayscale(){const J=this.rgb().color,$=J[0]*0.3+J[1]*0.59+J[2]*0.11;return T.rgb($,$,$)},fade(J){return this.alpha(this.valpha-this.valpha*J)},opaquer(J){return this.alpha(this.valpha+this.valpha*J)},rotate(J){const $=this.hsl();let q=$.color[0];return q=(q+J)%360,q=q<0?360+q:q,$.color[0]=q,$},mix(J,$){if(!J||!J.rgb)throw new Error('Argument to "mix" was not a Color instance, but rather an instance of '+typeof J);const q=J.rgb(),W=this.rgb(),Z=$===void 0?0.5:$,U=2*Z-1,B=q.alpha()-W.alpha(),Y=((U*B===-1?U:(U+B)/(1+U*B))+1)/2,F=1-Y;return T.rgb(Y*q.red()+F*W.red(),Y*q.green()+F*W.green(),Y*q.blue()+F*W.blue(),q.alpha()*Z+W.alpha()*(1-Z))}};for(let J of Object.keys(M)){if(D0.includes(J))continue;const{channels:$}=M[J];T.prototype[J]=function(...q){if(this.model===J)return new T(this);if(q.length>0)return new T(q,J);return new T([...j3(M[this.model][J].raw(this.color)),this.valpha],J)},T[J]=function(...q){let W=q[0];if(typeof W==="number")W=e2(q,$);return new T(W,J)}}C0.exports=T});var M0=L((l9,k0)=>{var S0=function(J){const{raw:$,density:q,limitInputPixels:W,ignoreIcc:Z,unlimited:U,sequentialRead:B,failOn:Y,failOnError:F,animated:G,page:P,pages:R,subifd:w}=J;return[$,q,W,Z,U,B,Y,F,G,P,R,w].some(K.defined)?{raw:$,density:q,limitInputPixels:W,ignoreIcc:Z,unlimited:U,sequentialRead:B,failOn:Y,failOnError:F,animated:G,page:P,pages:R,subifd:w}:void 0},w3=function(J,$,q){const W={failOn:"warning",limitInputPixels:Math.pow(16383,2),ignoreIcc:!1,unlimited:!1,sequentialRead:!0};if(K.string(J))W.file=J;else if(K.buffer(J)){if(J.length===0)throw Error("Input Buffer is empty");W.buffer=J}else if(K.arrayBuffer(J)){if(J.byteLength===0)throw Error("Input bit Array is empty");W.buffer=Buffer.from(J,0,J.byteLength)}else if(K.typedArray(J)){if(J.length===0)throw Error("Input Bit Array is empty");W.buffer=Buffer.from(J.buffer,J.byteOffset,J.byteLength)}else if(K.plainObject(J)&&!K.defined($)){if($=J,S0($))W.buffer=[]}else if(!K.defined(J)&&!K.defined($)&&K.object(q)&&q.allowStream)W.buffer=[];else throw new Error(`Unsupported input '${J}' of type ${typeof J}${K.defined($)?` when also providing options of type ${typeof $}`:""}`);if(K.object($)){if(K.defined($.failOnError))if(K.bool($.failOnError))W.failOn=$.failOnError?"warning":"none";else throw K.invalidParameterError("failOnError","boolean",$.failOnError);if(K.defined($.failOn))if(K.string($.failOn)&&K.inArray($.failOn,["none","truncated","error","warning"]))W.failOn=$.failOn;else throw K.invalidParameterError("failOn","one of: none, truncated, error, warning",$.failOn);if(K.defined($.density))if(K.inRange($.density,1,1e5))W.density=$.density;else throw K.invalidParameterError("density","number between 1 and 100000",$.density);if(K.defined($.ignoreIcc))if(K.bool($.ignoreIcc))W.ignoreIcc=$.ignoreIcc;else throw K.invalidParameterError("ignoreIcc","boolean",$.ignoreIcc);if(K.defined($.limitInputPixels))if(K.bool($.limitInputPixels))W.limitInputPixels=$.limitInputPixels?Math.pow(16383,2):0;else if(K.integer($.limitInputPixels)&&K.inRange($.limitInputPixels,0,Number.MAX_SAFE_INTEGER))W.limitInputPixels=$.limitInputPixels;else throw K.invalidParameterError("limitInputPixels","positive integer",$.limitInputPixels);if(K.defined($.unlimited))if(K.bool($.unlimited))W.unlimited=$.unlimited;else throw K.invalidParameterError("unlimited","boolean",$.unlimited);if(K.defined($.sequentialRead))if(K.bool($.sequentialRead))W.sequentialRead=$.sequentialRead;else throw K.invalidParameterError("sequentialRead","boolean",$.sequentialRead);if(K.defined($.raw))if(K.object($.raw)&&K.integer($.raw.width)&&$.raw.width>0&&K.integer($.raw.height)&&$.raw.height>0&&K.integer($.raw.channels)&&K.inRange($.raw.channels,1,4))switch(W.rawWidth=$.raw.width,W.rawHeight=$.raw.height,W.rawChannels=$.raw.channels,W.rawPremultiplied=!!$.raw.premultiplied,J.constructor){case Uint8Array:case Uint8ClampedArray:W.rawDepth="uchar";break;case Int8Array:W.rawDepth="char";break;case Uint16Array:W.rawDepth="ushort";break;case Int16Array:W.rawDepth="short";break;case Uint32Array:W.rawDepth="uint";break;case Int32Array:W.rawDepth="int";break;case Float32Array:W.rawDepth="float";break;case Float64Array:W.rawDepth="double";break;default:W.rawDepth="uchar";break}else throw new Error("Expected width, height and channels for raw pixel input");if(K.defined($.animated))if(K.bool($.animated))W.pages=$.animated?-1:1;else throw K.invalidParameterError("animated","boolean",$.animated);if(K.defined($.pages))if(K.integer($.pages)&&K.inRange($.pages,-1,1e5))W.pages=$.pages;else throw K.invalidParameterError("pages","integer between -1 and 100000",$.pages);if(K.defined($.page))if(K.integer($.page)&&K.inRange($.page,0,1e5))W.page=$.page;else throw K.invalidParameterError("page","integer between 0 and 100000",$.page);if(K.defined($.level))if(K.integer($.level)&&K.inRange($.level,0,256))W.level=$.level;else throw K.invalidParameterError("level","integer between 0 and 256",$.level);if(K.defined($.subifd))if(K.integer($.subifd)&&K.inRange($.subifd,-1,1e5))W.subifd=$.subifd;else throw K.invalidParameterError("subifd","integer between -1 and 100000",$.subifd);if(K.defined($.create))if(K.object($.create)&&K.integer($.create.width)&&$.create.width>0&&K.integer($.create.height)&&$.create.height>0&&K.integer($.create.channels)){if(W.createWidth=$.create.width,W.createHeight=$.create.height,W.createChannels=$.create.channels,K.defined($.create.noise)){if(!K.object($.create.noise))throw new Error("Expected noise to be an object");if(!K.inArray($.create.noise.type,["gaussian"]))throw new Error("Only gaussian noise is supported at the moment");if(!K.inRange($.create.channels,1,4))throw K.invalidParameterError("create.channels","number between 1 and 4",$.create.channels);if(W.createNoiseType=$.create.noise.type,K.number($.create.noise.mean)&&K.inRange($.create.noise.mean,0,1e4))W.createNoiseMean=$.create.noise.mean;else throw K.invalidParameterError("create.noise.mean","number between 0 and 10000",$.create.noise.mean);if(K.number($.create.noise.sigma)&&K.inRange($.create.noise.sigma,0,1e4))W.createNoiseSigma=$.create.noise.sigma;else throw K.invalidParameterError("create.noise.sigma","number between 0 and 10000",$.create.noise.sigma)}else if(K.defined($.create.background)){if(!K.inRange($.create.channels,3,4))throw K.invalidParameterError("create.channels","number between 3 and 4",$.create.channels);const Z=E3($.create.background);W.createBackground=[Z.red(),Z.green(),Z.blue(),Math.round(Z.alpha()*255)]}else throw new Error("Expected valid noise or background to create a new input image");delete W.buffer}else throw new Error("Expected valid width, height and channels to create a new input image");if(K.defined($.text))if(K.object($.text)&&K.string($.text.text)){if(W.textValue=$.text.text,K.defined($.text.height)&&K.defined($.text.dpi))throw new Error("Expected only one of dpi or height");if(K.defined($.text.font))if(K.string($.text.font))W.textFont=$.text.font;else throw K.invalidParameterError("text.font","string",$.text.font);if(K.defined($.text.fontfile))if(K.string($.text.fontfile))W.textFontfile=$.text.fontfile;else throw K.invalidParameterError("text.fontfile","string",$.text.fontfile);if(K.defined($.text.width))if(K.integer($.text.width)&&$.text.width>0)W.textWidth=$.text.width;else throw K.invalidParameterError("text.width","positive integer",$.text.width);if(K.defined($.text.height))if(K.integer($.text.height)&&$.text.height>0)W.textHeight=$.text.height;else throw K.invalidParameterError("text.height","positive integer",$.text.height);if(K.defined($.text.align))if(K.string($.text.align)&&K.string(this.constructor.align[$.text.align]))W.textAlign=this.constructor.align[$.text.align];else throw K.invalidParameterError("text.align","valid alignment",$.text.align);if(K.defined($.text.justify))if(K.bool($.text.justify))W.textJustify=$.text.justify;else throw K.invalidParameterError("text.justify","boolean",$.text.justify);if(K.defined($.text.dpi))if(K.integer($.text.dpi)&&K.inRange($.text.dpi,1,1e6))W.textDpi=$.text.dpi;else throw K.invalidParameterError("text.dpi","integer between 1 and 1000000",$.text.dpi);if(K.defined($.text.rgba))if(K.bool($.text.rgba))W.textRgba=$.text.rgba;else throw K.invalidParameterError("text.rgba","bool",$.text.rgba);if(K.defined($.text.spacing))if(K.integer($.text.spacing)&&K.inRange($.text.spacing,-1e6,1e6))W.textSpacing=$.text.spacing;else throw K.invalidParameterError("text.spacing","integer between -1000000 and 1000000",$.text.spacing);if(K.defined($.text.wrap))if(K.string($.text.wrap)&&K.inArray($.text.wrap,["word","char","word-char","none"]))W.textWrap=$.text.wrap;else throw K.invalidParameterError("text.wrap","one of: word, char, word-char, none",$.text.wrap);delete W.buffer}else throw new Error("Expected a valid string to create an image with text.")}else if(K.defined($))throw new Error("Invalid input options "+$);return W},z3=function(J,$,q){if(Array.isArray(this.options.input.buffer))if(K.buffer(J)){if(this.options.input.buffer.length===0)this.on("finish",()=>{this.streamInFinished=!0});this.options.input.buffer.push(J),q()}else q(new Error("Non-Buffer data on Writable Stream"));else q(new Error("Unexpected data on Writable Stream"))},D3=function(){if(this._isStreamInput())this.options.input.buffer=Buffer.concat(this.options.input.buffer)},C3=function(){return Array.isArray(this.options.input.buffer)},S3=function(J){const $=Error();if(K.fn(J)){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),m.metadata(this.options,(q,W)=>{if(q)J(K.nativeError(q,$));else J(null,W)})});else m.metadata(this.options,(q,W)=>{if(q)J(K.nativeError(q,$));else J(null,W)});return this}else if(this._isStreamInput())return new Promise((q,W)=>{const Z=()=>{this._flattenBufferIn(),m.metadata(this.options,(U,B)=>{if(U)W(K.nativeError(U,$));else q(B)})};if(this.writableFinished)Z();else this.once("finish",Z)});else return new Promise((q,W)=>{m.metadata(this.options,(Z,U)=>{if(Z)W(K.nativeError(Z,$));else q(U)})})},k3=function(J){const $=Error();if(K.fn(J)){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),m.stats(this.options,(q,W)=>{if(q)J(K.nativeError(q,$));else J(null,W)})});else m.stats(this.options,(q,W)=>{if(q)J(K.nativeError(q,$));else J(null,W)});return this}else if(this._isStreamInput())return new Promise((q,W)=>{this.on("finish",function(){this._flattenBufferIn(),m.stats(this.options,(Z,U)=>{if(Z)W(K.nativeError(Z,$));else q(U)})})});else return new Promise((q,W)=>{m.stats(this.options,(Z,U)=>{if(Z)W(K.nativeError(Z,$));else q(U)})})},E3=w2(),K=d(),m=q2(),T3={left:"low",center:"centre",centre:"centre",right:"high"};k0.exports=function(J){Object.assign(J.prototype,{_inputOptionsFromObject:S0,_createInputDescriptor:w3,_write:z3,_flattenBufferIn:D3,_isStreamInput:C3,metadata:S3,stats:k3}),J.align=T3}});var b0=L((c9,O0)=>{var p2=function(J){return J.angle%360!==0||J.useExifOrientation===!0||J.rotationAngle!==0},z2=function(J){return J.width!==-1||J.height!==-1},f3=function(J,$,q){if(z2(this.options))this.options.debuglog("ignoring previous resize options");if(this.options.widthPost!==-1)this.options.debuglog("operation order will be: extract, resize, extract");if(A.defined(J))if(A.object(J)&&!A.defined(q))q=J;else if(A.integer(J)&&J>0)this.options.width=J;else throw A.invalidParameterError("width","positive integer",J);else this.options.width=-1;if(A.defined($))if(A.integer($)&&$>0)this.options.height=$;else throw A.invalidParameterError("height","positive integer",$);else this.options.height=-1;if(A.object(q)){if(A.defined(q.width))if(A.integer(q.width)&&q.width>0)this.options.width=q.width;else throw A.invalidParameterError("width","positive integer",q.width);if(A.defined(q.height))if(A.integer(q.height)&&q.height>0)this.options.height=q.height;else throw A.invalidParameterError("height","positive integer",q.height);if(A.defined(q.fit)){const W=x3[q.fit];if(A.string(W))this.options.canvas=W;else throw A.invalidParameterError("fit","valid fit",q.fit)}if(A.defined(q.position)){const W=A.integer(q.position)?q.position:v0[q.position]||d0[q.position]||f0[q.position];if(A.integer(W)&&(A.inRange(W,0,8)||A.inRange(W,16,17)))this.options.position=W;else throw A.invalidParameterError("position","valid position/gravity/strategy",q.position)}if(this._setBackgroundColourOption("resizeBackground",q.background),A.defined(q.kernel))if(A.string(n2[q.kernel]))this.options.kernel=n2[q.kernel];else throw A.invalidParameterError("kernel","valid kernel name",q.kernel);if(A.defined(q.withoutEnlargement))this._setBooleanOption("withoutEnlargement",q.withoutEnlargement);if(A.defined(q.withoutReduction))this._setBooleanOption("withoutReduction",q.withoutReduction);if(A.defined(q.fastShrinkOnLoad))this._setBooleanOption("fastShrinkOnLoad",q.fastShrinkOnLoad)}if(p2(this.options)&&z2(this.options))this.options.rotateBeforePreExtract=!0;return this},d3=function(J){if(A.integer(J)&&J>0)this.options.extendTop=J,this.options.extendBottom=J,this.options.extendLeft=J,this.options.extendRight=J;else if(A.object(J)){if(A.defined(J.top))if(A.integer(J.top)&&J.top>=0)this.options.extendTop=J.top;else throw A.invalidParameterError("top","positive integer",J.top);if(A.defined(J.bottom))if(A.integer(J.bottom)&&J.bottom>=0)this.options.extendBottom=J.bottom;else throw A.invalidParameterError("bottom","positive integer",J.bottom);if(A.defined(J.left))if(A.integer(J.left)&&J.left>=0)this.options.extendLeft=J.left;else throw A.invalidParameterError("left","positive integer",J.left);if(A.defined(J.right))if(A.integer(J.right)&&J.right>=0)this.options.extendRight=J.right;else throw A.invalidParameterError("right","positive integer",J.right);if(this._setBackgroundColourOption("extendBackground",J.background),A.defined(J.extendWith))if(A.string(x0[J.extendWith]))this.options.extendWith=x0[J.extendWith];else throw A.invalidParameterError("extendWith","one of: background, copy, repeat, mirror",J.extendWith)}else throw A.invalidParameterError("extend","integer or object",J);return this},v3=function(J){const $=z2(this.options)||this.options.widthPre!==-1?"Post":"Pre";if(this.options[`width${$}`]!==-1)this.options.debuglog("ignoring previous extract options");if(["left","top","width","height"].forEach(function(q){const W=J[q];if(A.integer(W)&&W>=0)this.options[q+(q==="left"||q==="top"?"Offset":"")+$]=W;else throw A.invalidParameterError(q,"integer",W)},this),p2(this.options)&&!z2(this.options)){if(this.options.widthPre===-1||this.options.widthPost===-1)this.options.rotateBeforePreExtract=!0}return this},O3=function(J){if(this.options.trimThreshold=10,A.defined(J))if(A.object(J)){if(A.defined(J.background))this._setBackgroundColourOption("trimBackground",J.background);if(A.defined(J.threshold))if(A.number(J.threshold)&&J.threshold>=0)this.options.trimThreshold=J.threshold;else throw A.invalidParameterError("threshold","positive number",J.threshold);if(A.defined(J.lineArt))this._setBooleanOption("trimLineArt",J.lineArt)}else throw A.invalidParameterError("trim","object",J);if(p2(this.options))this.options.rotateBeforePreExtract=!0;return this},A=d(),f0={center:0,centre:0,north:1,east:2,south:3,west:4,northeast:5,southeast:6,southwest:7,northwest:8},d0={top:1,right:2,bottom:3,left:4,"right top":5,"right bottom":6,"left bottom":7,"left top":8},x0={background:"background",copy:"copy",repeat:"repeat",mirror:"mirror"},v0={entropy:16,attention:17},n2={nearest:"nearest",linear:"linear",cubic:"cubic",mitchell:"mitchell",lanczos2:"lanczos2",lanczos3:"lanczos3"},M3={contain:"contain",cover:"cover",fill:"fill",inside:"inside",outside:"outside"},x3={contain:"embed",cover:"crop",fill:"ignore_aspect",inside:"max",outside:"min"};O0.exports=function(J){Object.assign(J.prototype,{resize:f3,extend:d3,extract:v3,trim:O3}),J.gravity=f0,J.strategy=v0,J.kernel=n2,J.fit=M3,J.position=d0}});var g0=L((a9,h0)=>{var b3=function(J){if(!Array.isArray(J))throw _.invalidParameterError("images to composite","array",J);return this.options.composite=J.map(($)=>{if(!_.object($))throw _.invalidParameterError("image to composite","object",$);const q=this._inputOptionsFromObject($),W={input:this._createInputDescriptor($.input,q,{allowStream:!1}),blend:"over",tile:!1,left:0,top:0,hasOffset:!1,gravity:0,premultiplied:!1};if(_.defined($.blend))if(_.string(s2[$.blend]))W.blend=s2[$.blend];else throw _.invalidParameterError("blend","valid blend name",$.blend);if(_.defined($.tile))if(_.bool($.tile))W.tile=$.tile;else throw _.invalidParameterError("tile","boolean",$.tile);if(_.defined($.left))if(_.integer($.left))W.left=$.left;else throw _.invalidParameterError("left","integer",$.left);if(_.defined($.top))if(_.integer($.top))W.top=$.top;else throw _.invalidParameterError("top","integer",$.top);if(_.defined($.top)!==_.defined($.left))throw new Error("Expected both left and top to be set");else W.hasOffset=_.integer($.top)&&_.integer($.left);if(_.defined($.gravity))if(_.integer($.gravity)&&_.inRange($.gravity,0,8))W.gravity=$.gravity;else if(_.string($.gravity)&&_.integer(this.constructor.gravity[$.gravity]))W.gravity=this.constructor.gravity[$.gravity];else throw _.invalidParameterError("gravity","valid gravity",$.gravity);if(_.defined($.premultiplied))if(_.bool($.premultiplied))W.premultiplied=$.premultiplied;else throw _.invalidParameterError("premultiplied","boolean",$.premultiplied);return W}),this},_=d(),s2={clear:"clear",source:"source",over:"over",in:"in",out:"out",atop:"atop",dest:"dest","dest-over":"dest-over","dest-in":"dest-in","dest-out":"dest-out","dest-atop":"dest-atop",xor:"xor",add:"add",saturate:"saturate",multiply:"multiply",screen:"screen",overlay:"overlay",darken:"darken",lighten:"lighten","colour-dodge":"colour-dodge","color-dodge":"colour-dodge","colour-burn":"colour-burn","color-burn":"colour-burn","hard-light":"hard-light","soft-light":"soft-light",difference:"difference",exclusion:"exclusion"};h0.exports=function(J){J.prototype.composite=b3,J.blend=s2}});var u0=L((r9,m0)=>{var g3=function(J,$){if(this.options.useExifOrientation||this.options.angle||this.options.rotationAngle)this.options.debuglog("ignoring previous rotate options");if(!I.defined(J))this.options.useExifOrientation=!0;else if(I.integer(J)&&!(J%90))this.options.angle=J;else if(I.number(J)){if(this.options.rotationAngle=J,I.object($)&&$.background){const q=h3($.background);this.options.rotationBackground=[q.red(),q.green(),q.blue(),Math.round(q.alpha()*255)]}}else throw I.invalidParameterError("angle","numeric",J);return this},m3=function(J){return this.options.flip=I.bool(J)?J:!0,this},u3=function(J){return this.options.flop=I.bool(J)?J:!0,this},l3=function(J,$){const q=[].concat(...J);if(q.length===4&&q.every(I.number))this.options.affineMatrix=q;else throw I.invalidParameterError("matrix","1x4 or 2x2 array",J);if(I.defined($))if(I.object($)){if(this._setBackgroundColourOption("affineBackground",$.background),I.defined($.idx))if(I.number($.idx))this.options.affineIdx=$.idx;else throw I.invalidParameterError("options.idx","number",$.idx);if(I.defined($.idy))if(I.number($.idy))this.options.affineIdy=$.idy;else throw I.invalidParameterError("options.idy","number",$.idy);if(I.defined($.odx))if(I.number($.odx))this.options.affineOdx=$.odx;else throw I.invalidParameterError("options.odx","number",$.odx);if(I.defined($.ody))if(I.number($.ody))this.options.affineOdy=$.ody;else throw I.invalidParameterError("options.ody","number",$.ody);if(I.defined($.interpolator))if(I.inArray($.interpolator,Object.values(this.constructor.interpolators)))this.options.affineInterpolator=$.interpolator;else throw I.invalidParameterError("options.interpolator","valid interpolator name",$.interpolator)}else throw I.invalidParameterError("options","object",$);return this},c3=function(J,$,q){if(!I.defined(J))this.options.sharpenSigma=-1;else if(I.bool(J))this.options.sharpenSigma=J?-1:0;else if(I.number(J)&&I.inRange(J,0.01,1e4)){if(this.options.sharpenSigma=J,I.defined($))if(I.number($)&&I.inRange($,0,1e4))this.options.sharpenM1=$;else throw I.invalidParameterError("flat","number between 0 and 10000",$);if(I.defined(q))if(I.number(q)&&I.inRange(q,0,1e4))this.options.sharpenM2=q;else throw I.invalidParameterError("jagged","number between 0 and 10000",q)}else if(I.plainObject(J)){if(I.number(J.sigma)&&I.inRange(J.sigma,0.000001,10))this.options.sharpenSigma=J.sigma;else throw I.invalidParameterError("options.sigma","number between 0.000001 and 10",J.sigma);if(I.defined(J.m1))if(I.number(J.m1)&&I.inRange(J.m1,0,1e6))this.options.sharpenM1=J.m1;else throw I.invalidParameterError("options.m1","number between 0 and 1000000",J.m1);if(I.defined(J.m2))if(I.number(J.m2)&&I.inRange(J.m2,0,1e6))this.options.sharpenM2=J.m2;else throw I.invalidParameterError("options.m2","number between 0 and 1000000",J.m2);if(I.defined(J.x1))if(I.number(J.x1)&&I.inRange(J.x1,0,1e6))this.options.sharpenX1=J.x1;else throw I.invalidParameterError("options.x1","number between 0 and 1000000",J.x1);if(I.defined(J.y2))if(I.number(J.y2)&&I.inRange(J.y2,0,1e6))this.options.sharpenY2=J.y2;else throw I.invalidParameterError("options.y2","number between 0 and 1000000",J.y2);if(I.defined(J.y3))if(I.number(J.y3)&&I.inRange(J.y3,0,1e6))this.options.sharpenY3=J.y3;else throw I.invalidParameterError("options.y3","number between 0 and 1000000",J.y3)}else throw I.invalidParameterError("sigma","number between 0.01 and 10000",J);return this},a3=function(J){if(!I.defined(J))this.options.medianSize=3;else if(I.integer(J)&&I.inRange(J,1,1000))this.options.medianSize=J;else throw I.invalidParameterError("size","integer between 1 and 1000",J);return this},r3=function(J){if(!I.defined(J))this.options.blurSigma=-1;else if(I.bool(J))this.options.blurSigma=J?-1:0;else if(I.number(J)&&I.inRange(J,0.3,1000))this.options.blurSigma=J;else throw I.invalidParameterError("sigma","number between 0.3 and 1000",J);return this},e3=function(J){if(this.options.flatten=I.bool(J)?J:!0,I.object(J))this._setBackgroundColourOption("flattenBackground",J.background);return this},n3=function(){return this.options.unflatten=!0,this},p3=function(J,$){if(!I.defined(J))this.options.gamma=2.2;else if(I.number(J)&&I.inRange(J,1,3))this.options.gamma=J;else throw I.invalidParameterError("gamma","number between 1.0 and 3.0",J);if(!I.defined($))this.options.gammaOut=this.options.gamma;else if(I.number($)&&I.inRange($,1,3))this.options.gammaOut=$;else throw I.invalidParameterError("gammaOut","number between 1.0 and 3.0",$);return this},s3=function(J){if(this.options.negate=I.bool(J)?J:!0,I.plainObject(J)&&"alpha"in J)if(!I.bool(J.alpha))throw I.invalidParameterError("alpha","should be boolean value",J.alpha);else this.options.negateAlpha=J.alpha;return this},t3=function(J){if(I.plainObject(J)){if(I.defined(J.lower))if(I.number(J.lower)&&I.inRange(J.lower,0,99))this.options.normaliseLower=J.lower;else throw I.invalidParameterError("lower","number between 0 and 99",J.lower);if(I.defined(J.upper))if(I.number(J.upper)&&I.inRange(J.upper,1,100))this.options.normaliseUpper=J.upper;else throw I.invalidParameterError("upper","number between 1 and 100",J.upper)}if(this.options.normaliseLower>=this.options.normaliseUpper)throw I.invalidParameterError("range","lower to be less than upper",`${this.options.normaliseLower} >= ${this.options.normaliseUpper}`);return this.options.normalise=!0,this},i3=function(J){return this.normalise(J)},o3=function(J){if(I.plainObject(J)){if(I.integer(J.width)&&J.width>0)this.options.claheWidth=J.width;else throw I.invalidParameterError("width","integer greater than zero",J.width);if(I.integer(J.height)&&J.height>0)this.options.claheHeight=J.height;else throw I.invalidParameterError("height","integer greater than zero",J.height);if(I.defined(J.maxSlope))if(I.integer(J.maxSlope)&&I.inRange(J.maxSlope,0,100))this.options.claheMaxSlope=J.maxSlope;else throw I.invalidParameterError("maxSlope","integer between 0 and 100",J.maxSlope)}else throw I.invalidParameterError("options","plain object",J);return this},J8=function(J){if(!I.object(J)||!Array.isArray(J.kernel)||!I.integer(J.width)||!I.integer(J.height)||!I.inRange(J.width,3,1001)||!I.inRange(J.height,3,1001)||J.height*J.width!==J.kernel.length)throw new Error("Invalid convolution kernel");if(!I.integer(J.scale))J.scale=J.kernel.reduce(function($,q){return $+q},0);if(J.scale<1)J.scale=1;if(!I.integer(J.offset))J.offset=0;return this.options.convKernel=J,this},$8=function(J,$){if(!I.defined(J))this.options.threshold=128;else if(I.bool(J))this.options.threshold=J?128:0;else if(I.integer(J)&&I.inRange(J,0,255))this.options.threshold=J;else throw I.invalidParameterError("threshold","integer between 0 and 255",J);if(!I.object($)||$.greyscale===!0||$.grayscale===!0)this.options.thresholdGrayscale=!0;else this.options.thresholdGrayscale=!1;return this},q8=function(J,$,q){if(this.options.boolean=this._createInputDescriptor(J,q),I.string($)&&I.inArray($,["and","or","eor"]))this.options.booleanOp=$;else throw I.invalidParameterError("operator","one of: and, or, eor",$);return this},W8=function(J,$){if(!I.defined(J)&&I.number($))J=1;else if(I.number(J)&&!I.defined($))$=0;if(!I.defined(J))this.options.linearA=[];else if(I.number(J))this.options.linearA=[J];else if(Array.isArray(J)&&J.length&&J.every(I.number))this.options.linearA=J;else throw I.invalidParameterError("a","number or array of numbers",J);if(!I.defined($))this.options.linearB=[];else if(I.number($))this.options.linearB=[$];else if(Array.isArray($)&&$.length&&$.every(I.number))this.options.linearB=$;else throw I.invalidParameterError("b","number or array of numbers",$);if(this.options.linearA.length!==this.options.linearB.length)throw new Error("Expected a and b to be arrays of the same length");return this},Z8=function(J){if(!Array.isArray(J)||J.length!==3||J[0].length!==3||J[1].length!==3||J[2].length!==3)throw new Error("Invalid recombination matrix");return this.options.recombMatrix=[J[0][0],J[0][1],J[0][2],J[1][0],J[1][1],J[1][2],J[2][0],J[2][1],J[2][2]].map(Number),this},Q8=function(J){if(!I.plainObject(J))throw I.invalidParameterError("options","plain object",J);if("brightness"in J)if(I.number(J.brightness)&&J.brightness>=0)this.options.brightness=J.brightness;else throw I.invalidParameterError("brightness","number above zero",J.brightness);if("saturation"in J)if(I.number(J.saturation)&&J.saturation>=0)this.options.saturation=J.saturation;else throw I.invalidParameterError("saturation","number above zero",J.saturation);if("hue"in J)if(I.integer(J.hue))this.options.hue=J.hue%360;else throw I.invalidParameterError("hue","number",J.hue);if("lightness"in J)if(I.number(J.lightness))this.options.lightness=J.lightness;else throw I.invalidParameterError("lightness","number",J.lightness);return this},h3=w2(),I=d();m0.exports=function(J){Object.assign(J.prototype,{rotate:g3,flip:m3,flop:u3,affine:l3,sharpen:c3,median:a3,blur:r3,flatten:e3,unflatten:n3,gamma:p3,negate:s3,normalise:t3,normalize:i3,clahe:o3,convolve:J8,threshold:$8,boolean:q8,linear:W8,recomb:Z8,modulate:Q8})}});var a0=L((e9,c0)=>{var B8=function(J){return this._setBackgroundColourOption("tint",J),this},Y8=function(J){return this.options.greyscale=b.bool(J)?J:!0,this},I8=function(J){return this.greyscale(J)},K8=function(J){if(!b.string(J))throw b.invalidParameterError("colourspace","string",J);return this.options.colourspacePipeline=J,this},F8=function(J){return this.pipelineColourspace(J)},G8=function(J){if(!b.string(J))throw b.invalidParameterError("colourspace","string",J);return this.options.colourspace=J,this},H8=function(J){return this.toColourspace(J)},N8=function(J,$){if(b.defined($))if(b.object($)||b.string($)){const q=U8($);this.options[J]=[q.red(),q.green(),q.blue(),Math.round(q.alpha()*255)]}else throw b.invalidParameterError("background","object or string",$)},U8=w2(),b=d(),l0={multiband:"multiband","b-w":"b-w",bw:"b-w",cmyk:"cmyk",srgb:"srgb"};c0.exports=function(J){Object.assign(J.prototype,{tint:B8,greyscale:Y8,grayscale:I8,pipelineColourspace:K8,pipelineColorspace:F8,toColourspace:G8,toColorspace:H8,_setBackgroundColourOption:N8}),J.colourspace=l0,J.colorspace=l0}});var e0=L((n9,r0)=>{var X8=function(){return this.options.removeAlpha=!0,this},A8=function(J){if(v.defined(J))if(v.number(J)&&v.inRange(J,0,1))this.options.ensureAlpha=J;else throw v.invalidParameterError("alpha","number between 0 and 1",J);else this.options.ensureAlpha=1;return this},V8=function(J){const $={red:0,green:1,blue:2,alpha:3};if(Object.keys($).includes(J))J=$[J];if(v.integer(J)&&v.inRange(J,0,4))this.options.extractChannel=J;else throw v.invalidParameterError("channel","integer or one of: red, green, blue, alpha",J);return this},L8=function(J,$){if(Array.isArray(J))J.forEach(function(q){this.options.joinChannelIn.push(this._createInputDescriptor(q,$))},this);else this.options.joinChannelIn.push(this._createInputDescriptor(J,$));return this},R8=function(J){if(v.string(J)&&v.inArray(J,["and","or","eor"]))this.options.bandBoolOp=J;else throw v.invalidParameterError("boolOp","one of: and, or, eor",J);return this},v=d(),P8={and:"and",or:"or",eor:"eor"};r0.exports=function(J){Object.assign(J.prototype,{removeAlpha:X8,ensureAlpha:A8,extractChannel:V8,joinChannel:L8,bandbool:R8}),J.bool=P8}});var o0=L((p9,i0)=>{var y8=function(J,$){let q;if(!Q.string(J))q=new Error("Missing output file path");else if(Q.string(this.options.input.file)&&t2.resolve(this.options.input.file)===t2.resolve(J))q=new Error("Cannot use same file for input and output");else if(_8.test(t2.extname(J))&&!this.constructor.format.jp2k.output.file)q=p0();if(q)if(Q.fn($))$(q);else return Promise.reject(q);else{this.options.fileOut=J;const W=Error();return this._pipeline($,W)}return this},j8=function(J,$){if(Q.object(J))this._setBooleanOption("resolveWithObject",J.resolveWithObject);else if(this.options.resolveWithObject)this.options.resolveWithObject=!1;this.options.fileOut="";const q=Error();return this._pipeline(Q.fn(J)?J:$,q)},E8=function(){return this.options.keepMetadata|=1,this},T8=function(J){if(Q.object(J))for(let[$,q]of Object.entries(J))if(Q.object(q))for(let[W,Z]of Object.entries(q))if(Q.string(Z))this.options.withExif[`exif-${$.toLowerCase()}-${W}`]=Z;else throw Q.invalidParameterError(`${$}.${W}`,"string",Z);else throw Q.invalidParameterError($,"object",q);else throw Q.invalidParameterError("exif","object",J);return this.options.withExifMerge=!1,this.keepExif()},w8=function(J){return this.withExif(J),this.options.withExifMerge=!0,this},z8=function(){return this.options.keepMetadata|=8,this},D8=function(J,$){if(Q.string(J))this.options.withIccProfile=J;else throw Q.invalidParameterError("icc","string",J);if(this.keepIccProfile(),Q.object($)){if(Q.defined($.attach))if(Q.bool($.attach)){if(!$.attach)this.options.keepMetadata&=~8}else throw Q.invalidParameterError("attach","boolean",$.attach)}return this},C8=function(){return this.options.keepMetadata=31,this},S8=function(J){if(this.keepMetadata(),this.withIccProfile("srgb"),Q.object(J)){if(Q.defined(J.orientation))if(Q.integer(J.orientation)&&Q.inRange(J.orientation,1,8))this.options.withMetadataOrientation=J.orientation;else throw Q.invalidParameterError("orientation","integer between 1 and 8",J.orientation);if(Q.defined(J.density))if(Q.number(J.density)&&J.density>0)this.options.withMetadataDensity=J.density;else throw Q.invalidParameterError("density","positive number",J.density);if(Q.defined(J.icc))this.withIccProfile(J.icc);if(Q.defined(J.exif))this.withExifMerge(J.exif)}return this},k8=function(J,$){const q=n0.get((Q.object(J)&&Q.string(J.id)?J.id:J).toLowerCase());if(!q)throw Q.invalidParameterError("format",`one of: ${[...n0.keys()].join(", ")}`,J);return this[q]($)},M8=function(J){if(Q.object(J)){if(Q.defined(J.quality))if(Q.integer(J.quality)&&Q.inRange(J.quality,1,100))this.options.jpegQuality=J.quality;else throw Q.invalidParameterError("quality","integer between 1 and 100",J.quality);if(Q.defined(J.progressive))this._setBooleanOption("jpegProgressive",J.progressive);if(Q.defined(J.chromaSubsampling))if(Q.string(J.chromaSubsampling)&&Q.inArray(J.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jpegChromaSubsampling=J.chromaSubsampling;else throw Q.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",J.chromaSubsampling);const $=Q.bool(J.optimizeCoding)?J.optimizeCoding:J.optimiseCoding;if(Q.defined($))this._setBooleanOption("jpegOptimiseCoding",$);if(Q.defined(J.mozjpeg))if(Q.bool(J.mozjpeg)){if(J.mozjpeg)this.options.jpegTrellisQuantisation=!0,this.options.jpegOvershootDeringing=!0,this.options.jpegOptimiseScans=!0,this.options.jpegProgressive=!0,this.options.jpegQuantisationTable=3}else throw Q.invalidParameterError("mozjpeg","boolean",J.mozjpeg);const q=Q.bool(J.trellisQuantization)?J.trellisQuantization:J.trellisQuantisation;if(Q.defined(q))this._setBooleanOption("jpegTrellisQuantisation",q);if(Q.defined(J.overshootDeringing))this._setBooleanOption("jpegOvershootDeringing",J.overshootDeringing);const W=Q.bool(J.optimizeScans)?J.optimizeScans:J.optimiseScans;if(Q.defined(W)){if(this._setBooleanOption("jpegOptimiseScans",W),W)this.options.jpegProgressive=!0}const Z=Q.number(J.quantizationTable)?J.quantizationTable:J.quantisationTable;if(Q.defined(Z))if(Q.integer(Z)&&Q.inRange(Z,0,8))this.options.jpegQuantisationTable=Z;else throw Q.invalidParameterError("quantisationTable","integer between 0 and 8",Z)}return this._updateFormatOut("jpeg",J)},x8=function(J){if(Q.object(J)){if(Q.defined(J.progressive))this._setBooleanOption("pngProgressive",J.progressive);if(Q.defined(J.compressionLevel))if(Q.integer(J.compressionLevel)&&Q.inRange(J.compressionLevel,0,9))this.options.pngCompressionLevel=J.compressionLevel;else throw Q.invalidParameterError("compressionLevel","integer between 0 and 9",J.compressionLevel);if(Q.defined(J.adaptiveFiltering))this._setBooleanOption("pngAdaptiveFiltering",J.adaptiveFiltering);const $=J.colours||J.colors;if(Q.defined($))if(Q.integer($)&&Q.inRange($,2,256))this.options.pngBitdepth=s0($);else throw Q.invalidParameterError("colours","integer between 2 and 256",$);if(Q.defined(J.palette))this._setBooleanOption("pngPalette",J.palette);else if([J.quality,J.effort,J.colours,J.colors,J.dither].some(Q.defined))this._setBooleanOption("pngPalette",!0);if(this.options.pngPalette){if(Q.defined(J.quality))if(Q.integer(J.quality)&&Q.inRange(J.quality,0,100))this.options.pngQuality=J.quality;else throw Q.invalidParameterError("quality","integer between 0 and 100",J.quality);if(Q.defined(J.effort))if(Q.integer(J.effort)&&Q.inRange(J.effort,1,10))this.options.pngEffort=J.effort;else throw Q.invalidParameterError("effort","integer between 1 and 10",J.effort);if(Q.defined(J.dither))if(Q.number(J.dither)&&Q.inRange(J.dither,0,1))this.options.pngDither=J.dither;else throw Q.invalidParameterError("dither","number between 0.0 and 1.0",J.dither)}}return this._updateFormatOut("png",J)},f8=function(J){if(Q.object(J)){if(Q.defined(J.quality))if(Q.integer(J.quality)&&Q.inRange(J.quality,1,100))this.options.webpQuality=J.quality;else throw Q.invalidParameterError("quality","integer between 1 and 100",J.quality);if(Q.defined(J.alphaQuality))if(Q.integer(J.alphaQuality)&&Q.inRange(J.alphaQuality,0,100))this.options.webpAlphaQuality=J.alphaQuality;else throw Q.invalidParameterError("alphaQuality","integer between 0 and 100",J.alphaQuality);if(Q.defined(J.lossless))this._setBooleanOption("webpLossless",J.lossless);if(Q.defined(J.nearLossless))this._setBooleanOption("webpNearLossless",J.nearLossless);if(Q.defined(J.smartSubsample))this._setBooleanOption("webpSmartSubsample",J.smartSubsample);if(Q.defined(J.preset))if(Q.string(J.preset)&&Q.inArray(J.preset,["default","photo","picture","drawing","icon","text"]))this.options.webpPreset=J.preset;else throw Q.invalidParameterError("preset","one of: default, photo, picture, drawing, icon, text",J.preset);if(Q.defined(J.effort))if(Q.integer(J.effort)&&Q.inRange(J.effort,0,6))this.options.webpEffort=J.effort;else throw Q.invalidParameterError("effort","integer between 0 and 6",J.effort);if(Q.defined(J.minSize))this._setBooleanOption("webpMinSize",J.minSize);if(Q.defined(J.mixed))this._setBooleanOption("webpMixed",J.mixed)}return t0(J,this.options),this._updateFormatOut("webp",J)},d8=function(J){if(Q.object(J)){if(Q.defined(J.reuse))this._setBooleanOption("gifReuse",J.reuse);if(Q.defined(J.progressive))this._setBooleanOption("gifProgressive",J.progressive);const $=J.colours||J.colors;if(Q.defined($))if(Q.integer($)&&Q.inRange($,2,256))this.options.gifBitdepth=s0($);else throw Q.invalidParameterError("colours","integer between 2 and 256",$);if(Q.defined(J.effort))if(Q.number(J.effort)&&Q.inRange(J.effort,1,10))this.options.gifEffort=J.effort;else throw Q.invalidParameterError("effort","integer between 1 and 10",J.effort);if(Q.defined(J.dither))if(Q.number(J.dither)&&Q.inRange(J.dither,0,1))this.options.gifDither=J.dither;else throw Q.invalidParameterError("dither","number between 0.0 and 1.0",J.dither);if(Q.defined(J.interFrameMaxError))if(Q.number(J.interFrameMaxError)&&Q.inRange(J.interFrameMaxError,0,32))this.options.gifInterFrameMaxError=J.interFrameMaxError;else throw Q.invalidParameterError("interFrameMaxError","number between 0.0 and 32.0",J.interFrameMaxError);if(Q.defined(J.interPaletteMaxError))if(Q.number(J.interPaletteMaxError)&&Q.inRange(J.interPaletteMaxError,0,256))this.options.gifInterPaletteMaxError=J.interPaletteMaxError;else throw Q.invalidParameterError("interPaletteMaxError","number between 0.0 and 256.0",J.interPaletteMaxError)}return t0(J,this.options),this._updateFormatOut("gif",J)},v8=function(J){if(!this.constructor.format.jp2k.output.buffer)throw p0();if(Q.object(J)){if(Q.defined(J.quality))if(Q.integer(J.quality)&&Q.inRange(J.quality,1,100))this.options.jp2Quality=J.quality;else throw Q.invalidParameterError("quality","integer between 1 and 100",J.quality);if(Q.defined(J.lossless))if(Q.bool(J.lossless))this.options.jp2Lossless=J.lossless;else throw Q.invalidParameterError("lossless","boolean",J.lossless);if(Q.defined(J.tileWidth))if(Q.integer(J.tileWidth)&&Q.inRange(J.tileWidth,1,32768))this.options.jp2TileWidth=J.tileWidth;else throw Q.invalidParameterError("tileWidth","integer between 1 and 32768",J.tileWidth);if(Q.defined(J.tileHeight))if(Q.integer(J.tileHeight)&&Q.inRange(J.tileHeight,1,32768))this.options.jp2TileHeight=J.tileHeight;else throw Q.invalidParameterError("tileHeight","integer between 1 and 32768",J.tileHeight);if(Q.defined(J.chromaSubsampling))if(Q.string(J.chromaSubsampling)&&Q.inArray(J.chromaSubsampling,["4:2:0","4:4:4"]))this.options.jp2ChromaSubsampling=J.chromaSubsampling;else throw Q.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",J.chromaSubsampling)}return this._updateFormatOut("jp2",J)},t0=function(J,$){if(Q.object(J)&&Q.defined(J.loop))if(Q.integer(J.loop)&&Q.inRange(J.loop,0,65535))$.loop=J.loop;else throw Q.invalidParameterError("loop","integer between 0 and 65535",J.loop);if(Q.object(J)&&Q.defined(J.delay))if(Q.integer(J.delay)&&Q.inRange(J.delay,0,65535))$.delay=[J.delay];else if(Array.isArray(J.delay)&&J.delay.every(Q.integer)&&J.delay.every((q)=>Q.inRange(q,0,65535)))$.delay=J.delay;else throw Q.invalidParameterError("delay","integer or an array of integers between 0 and 65535",J.delay)},O8=function(J){if(Q.object(J)){if(Q.defined(J.quality))if(Q.integer(J.quality)&&Q.inRange(J.quality,1,100))this.options.tiffQuality=J.quality;else throw Q.invalidParameterError("quality","integer between 1 and 100",J.quality);if(Q.defined(J.bitdepth))if(Q.integer(J.bitdepth)&&Q.inArray(J.bitdepth,[1,2,4,8]))this.options.tiffBitdepth=J.bitdepth;else throw Q.invalidParameterError("bitdepth","1, 2, 4 or 8",J.bitdepth);if(Q.defined(J.tile))this._setBooleanOption("tiffTile",J.tile);if(Q.defined(J.tileWidth))if(Q.integer(J.tileWidth)&&J.tileWidth>0)this.options.tiffTileWidth=J.tileWidth;else throw Q.invalidParameterError("tileWidth","integer greater than zero",J.tileWidth);if(Q.defined(J.tileHeight))if(Q.integer(J.tileHeight)&&J.tileHeight>0)this.options.tiffTileHeight=J.tileHeight;else throw Q.invalidParameterError("tileHeight","integer greater than zero",J.tileHeight);if(Q.defined(J.miniswhite))this._setBooleanOption("tiffMiniswhite",J.miniswhite);if(Q.defined(J.pyramid))this._setBooleanOption("tiffPyramid",J.pyramid);if(Q.defined(J.xres))if(Q.number(J.xres)&&J.xres>0)this.options.tiffXres=J.xres;else throw Q.invalidParameterError("xres","number greater than zero",J.xres);if(Q.defined(J.yres))if(Q.number(J.yres)&&J.yres>0)this.options.tiffYres=J.yres;else throw Q.invalidParameterError("yres","number greater than zero",J.yres);if(Q.defined(J.compression))if(Q.string(J.compression)&&Q.inArray(J.compression,["none","jpeg","deflate","packbits","ccittfax4","lzw","webp","zstd","jp2k"]))this.options.tiffCompression=J.compression;else throw Q.invalidParameterError("compression","one of: none, jpeg, deflate, packbits, ccittfax4, lzw, webp, zstd, jp2k",J.compression);if(Q.defined(J.predictor))if(Q.string(J.predictor)&&Q.inArray(J.predictor,["none","horizontal","float"]))this.options.tiffPredictor=J.predictor;else throw Q.invalidParameterError("predictor","one of: none, horizontal, float",J.predictor);if(Q.defined(J.resolutionUnit))if(Q.string(J.resolutionUnit)&&Q.inArray(J.resolutionUnit,["inch","cm"]))this.options.tiffResolutionUnit=J.resolutionUnit;else throw Q.invalidParameterError("resolutionUnit","one of: inch, cm",J.resolutionUnit)}return this._updateFormatOut("tiff",J)},b8=function(J){return this.heif({...J,compression:"av1"})},h8=function(J){if(Q.object(J)){if(Q.string(J.compression)&&Q.inArray(J.compression,["av1","hevc"]))this.options.heifCompression=J.compression;else throw Q.invalidParameterError("compression","one of: av1, hevc",J.compression);if(Q.defined(J.quality))if(Q.integer(J.quality)&&Q.inRange(J.quality,1,100))this.options.heifQuality=J.quality;else throw Q.invalidParameterError("quality","integer between 1 and 100",J.quality);if(Q.defined(J.lossless))if(Q.bool(J.lossless))this.options.heifLossless=J.lossless;else throw Q.invalidParameterError("lossless","boolean",J.lossless);if(Q.defined(J.effort))if(Q.integer(J.effort)&&Q.inRange(J.effort,0,9))this.options.heifEffort=J.effort;else throw Q.invalidParameterError("effort","integer between 0 and 9",J.effort);if(Q.defined(J.chromaSubsampling))if(Q.string(J.chromaSubsampling)&&Q.inArray(J.chromaSubsampling,["4:2:0","4:4:4"]))this.options.heifChromaSubsampling=J.chromaSubsampling;else throw Q.invalidParameterError("chromaSubsampling","one of: 4:2:0, 4:4:4",J.chromaSubsampling);if(Q.defined(J.bitdepth))if(Q.integer(J.bitdepth)&&Q.inArray(J.bitdepth,[8,10,12])){if(J.bitdepth!==8&&this.constructor.versions.heif)throw Q.invalidParameterError("bitdepth when using prebuilt binaries",8,J.bitdepth);this.options.heifBitdepth=J.bitdepth}else throw Q.invalidParameterError("bitdepth","8, 10 or 12",J.bitdepth)}else throw Q.invalidParameterError("options","Object",J);return this._updateFormatOut("heif",J)},g8=function(J){if(Q.object(J)){if(Q.defined(J.quality))if(Q.integer(J.quality)&&Q.inRange(J.quality,1,100))this.options.jxlDistance=J.quality>=30?0.1+(100-J.quality)*0.09:0.017666666666666667*J.quality*J.quality-1.15*J.quality+25;else throw Q.invalidParameterError("quality","integer between 1 and 100",J.quality);else if(Q.defined(J.distance))if(Q.number(J.distance)&&Q.inRange(J.distance,0,15))this.options.jxlDistance=J.distance;else throw Q.invalidParameterError("distance","number between 0.0 and 15.0",J.distance);if(Q.defined(J.decodingTier))if(Q.integer(J.decodingTier)&&Q.inRange(J.decodingTier,0,4))this.options.jxlDecodingTier=J.decodingTier;else throw Q.invalidParameterError("decodingTier","integer between 0 and 4",J.decodingTier);if(Q.defined(J.lossless))if(Q.bool(J.lossless))this.options.jxlLossless=J.lossless;else throw Q.invalidParameterError("lossless","boolean",J.lossless);if(Q.defined(J.effort))if(Q.integer(J.effort)&&Q.inRange(J.effort,3,9))this.options.jxlEffort=J.effort;else throw Q.invalidParameterError("effort","integer between 3 and 9",J.effort)}return this._updateFormatOut("jxl",J)},m8=function(J){if(Q.object(J)){if(Q.defined(J.depth))if(Q.string(J.depth)&&Q.inArray(J.depth,["char","uchar","short","ushort","int","uint","float","complex","double","dpcomplex"]))this.options.rawDepth=J.depth;else throw Q.invalidParameterError("depth","one of: char, uchar, short, ushort, int, uint, float, complex, double, dpcomplex",J.depth)}return this._updateFormatOut("raw")},u8=function(J){if(Q.object(J)){if(Q.defined(J.size))if(Q.integer(J.size)&&Q.inRange(J.size,1,8192))this.options.tileSize=J.size;else throw Q.invalidParameterError("size","integer between 1 and 8192",J.size);if(Q.defined(J.overlap))if(Q.integer(J.overlap)&&Q.inRange(J.overlap,0,8192)){if(J.overlap>this.options.tileSize)throw Q.invalidParameterError("overlap",`<= size (${this.options.tileSize})`,J.overlap);this.options.tileOverlap=J.overlap}else throw Q.invalidParameterError("overlap","integer between 0 and 8192",J.overlap);if(Q.defined(J.container))if(Q.string(J.container)&&Q.inArray(J.container,["fs","zip"]))this.options.tileContainer=J.container;else throw Q.invalidParameterError("container","one of: fs, zip",J.container);if(Q.defined(J.layout))if(Q.string(J.layout)&&Q.inArray(J.layout,["dz","google","iiif","iiif3","zoomify"]))this.options.tileLayout=J.layout;else throw Q.invalidParameterError("layout","one of: dz, google, iiif, iiif3, zoomify",J.layout);if(Q.defined(J.angle))if(Q.integer(J.angle)&&!(J.angle%90))this.options.tileAngle=J.angle;else throw Q.invalidParameterError("angle","positive/negative multiple of 90",J.angle);if(this._setBackgroundColourOption("tileBackground",J.background),Q.defined(J.depth))if(Q.string(J.depth)&&Q.inArray(J.depth,["onepixel","onetile","one"]))this.options.tileDepth=J.depth;else throw Q.invalidParameterError("depth","one of: onepixel, onetile, one",J.depth);if(Q.defined(J.skipBlanks))if(Q.integer(J.skipBlanks)&&Q.inRange(J.skipBlanks,-1,65535))this.options.tileSkipBlanks=J.skipBlanks;else throw Q.invalidParameterError("skipBlanks","integer between -1 and 255/65535",J.skipBlanks);else if(Q.defined(J.layout)&&J.layout==="google")this.options.tileSkipBlanks=5;const $=Q.bool(J.center)?J.center:J.centre;if(Q.defined($))this._setBooleanOption("tileCentre",$);if(Q.defined(J.id))if(Q.string(J.id))this.options.tileId=J.id;else throw Q.invalidParameterError("id","string",J.id);if(Q.defined(J.basename))if(Q.string(J.basename))this.options.tileBasename=J.basename;else throw Q.invalidParameterError("basename","string",J.basename)}if(Q.inArray(this.options.formatOut,["jpeg","png","webp"]))this.options.tileFormat=this.options.formatOut;else if(this.options.formatOut!=="input")throw Q.invalidParameterError("format","one of: jpeg, png, webp",this.options.formatOut);return this._updateFormatOut("dz")},l8=function(J){if(!Q.plainObject(J))throw Q.invalidParameterError("options","object",J);if(Q.integer(J.seconds)&&Q.inRange(J.seconds,0,3600))this.options.timeoutSeconds=J.seconds;else throw Q.invalidParameterError("seconds","integer between 0 and 3600",J.seconds);return this},c8=function(J,$){if(!(Q.object($)&&$.force===!1))this.options.formatOut=J;return this},a8=function(J,$){if(Q.bool($))this.options[J]=$;else throw Q.invalidParameterError(J,"boolean",$)},r8=function(){if(!this.options.streamOut){this.options.streamOut=!0;const J=Error();this._pipeline(void 0,J)}},e8=function(J,$){if(typeof J==="function"){if(this._isStreamInput())this.on("finish",()=>{this._flattenBufferIn(),s.pipeline(this.options,(q,W,Z)=>{if(q)J(Q.nativeError(q,$));else J(null,W,Z)})});else s.pipeline(this.options,(q,W,Z)=>{if(q)J(Q.nativeError(q,$));else J(null,W,Z)});return this}else if(this.options.streamOut){if(this._isStreamInput()){if(this.once("finish",()=>{this._flattenBufferIn(),s.pipeline(this.options,(q,W,Z)=>{if(q)this.emit("error",Q.nativeError(q,$));else this.emit("info",Z),this.push(W);this.push(null),this.on("end",()=>this.emit("close"))})}),this.streamInFinished)this.emit("finish")}else s.pipeline(this.options,(q,W,Z)=>{if(q)this.emit("error",Q.nativeError(q,$));else this.emit("info",Z),this.push(W);this.push(null),this.on("end",()=>this.emit("close"))});return this}else if(this._isStreamInput())return new Promise((q,W)=>{this.once("finish",()=>{this._flattenBufferIn(),s.pipeline(this.options,(Z,U,B)=>{if(Z)W(Q.nativeError(Z,$));else if(this.options.resolveWithObject)q({data:U,info:B});else q(U)})})});else return new Promise((q,W)=>{s.pipeline(this.options,(Z,U,B)=>{if(Z)W(Q.nativeError(Z,$));else if(this.options.resolveWithObject)q({data:U,info:B});else q(U)})})},t2=import.meta.require("path"),Q=d(),s=q2(),n0=new Map([["heic","heif"],["heif","heif"],["avif","avif"],["jpeg","jpeg"],["jpg","jpeg"],["jpe","jpeg"],["tile","tile"],["dz","tile"],["png","png"],["raw","raw"],["tiff","tiff"],["tif","tiff"],["webp","webp"],["gif","gif"],["jp2","jp2"],["jpx","jp2"],["j2k","jp2"],["j2c","jp2"],["jxl","jxl"]]),_8=/\.(jp[2x]|j2[kc])$/i,p0=()=>new Error("JP2 output requires libvips with support for OpenJPEG"),s0=(J)=>1<<31-Math.clz32(Math.ceil(Math.log2(J)));i0.exports=function(J){Object.assign(J.prototype,{toFile:y8,toBuffer:j8,keepExif:E8,withExif:T8,withExifMerge:w8,keepIccProfile:z8,withIccProfile:D8,keepMetadata:C8,withMetadata:S8,toFormat:k8,jpeg:M8,jp2:v8,png:x8,webp:f8,tiff:O8,avif:b8,heif:h8,jxl:g8,gif:d8,raw:m8,tile:u8,timeout:l8,_updateFormatOut:c8,_setBooleanOption:a8,_read:r8,_pipeline:e8})}});var W5=L((s9,q5)=>{var $5=function(J){if(x.bool(J))if(J)return C.cache(50,20,100);else return C.cache(0,0,0);else if(x.object(J))return C.cache(J.memory,J.files,J.items);else return C.cache()},t8=function(J){return C.concurrency(x.integer(J)?J:null)},o8=function(){return C.counters()},J9=function(J){return C.simd(x.bool(J)?J:null)},$9=function(J){if(x.object(J))if(Array.isArray(J.operation)&&J.operation.every(x.string))C.block(J.operation,!0);else throw x.invalidParameterError("operation","Array<string>",J.operation);else throw x.invalidParameterError("options","object",J)},q9=function(J){if(x.object(J))if(Array.isArray(J.operation)&&J.operation.every(x.string))C.block(J.operation,!1);else throw x.invalidParameterError("operation","Array<string>",J.operation);else throw x.invalidParameterError("options","object",J)},n8=import.meta.require("events"),D2=import.meta.require("detect-libc"),x=d(),{runtimePlatformArch:p8}=g2(),C=q2(),J5=p8(),i2=C.libvipsVersion(),B2=C.format();B2.heif.output.alias=["avif","heic"];B2.jpeg.output.alias=["jpe","jpg"];B2.tiff.output.alias=["tif"];B2.jp2k.output.alias=["j2c","j2k","jp2","jpx"];var s8={nearest:"nearest",bilinear:"bilinear",bicubic:"bicubic",locallyBoundedBicubic:"lbb",nohalo:"nohalo",vertexSplitQuadraticBasisSpline:"vsqbs"},U2={vips:i2.semver};if(!i2.isGlobal)if(!i2.isWasm)try{U2=import.meta.require(`@img/sharp-${J5}/versions`)}catch(J){try{U2=import.meta.require(`@img/sharp-libvips-${J5}/versions`)}catch($){}}else try{U2=(()=>{throw new Error(`Cannot require module "@img/sharp-wasm32/versions"`);})()}catch(J){}U2.sharp=O2().version;$5(!0);if(D2.familySync()===D2.GLIBC&&!C._isUsingJemalloc())C.concurrency(1);else if(D2.familySync()===D2.MUSL&&C.concurrency()===1024)C.concurrency(import.meta.require("os").availableParallelism());var i8=new n8.EventEmitter;q5.exports=function(J){J.cache=$5,J.concurrency=t8,J.counters=o8,J.simd=J9,J.format=B2,J.interpolators=s8,J.versions=U2,J.queue=i8,J.block=$9,J.unblock=q9}});var Q5=L((t9,Z5)=>{var h=F0();M0()(h);b0()(h);g0()(h);u0()(h);a0()(h);e0()(h);o0()(h);W5()(h);Z5.exports=h});import B5 from"path";function F2(J){return J.map(($,q)=>{if($.isDev)return $1("style",{type:"text/css","data-vite-dev-id":$.id,children:$.content},$.id,!1,void 0,this);else return $1("style",{type:"text/css",children:$.content},q,!1,void 0,this)})}import{jsxDEV as $1} from"react/jsx-dev-runtime";var U5=W9(Q5(),1);async function C2(J){const $=new URL(J.url),q=$.searchParams.get("url"),W=Number($.searchParams.get("w")),Z=Number($.searchParams.get("h")),U=$.searchParams.get("fit")??"cover",B=Number($.searchParams.get("q"));if(!q)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});const F=`${q.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${q}`,G=await fetch(F);if(!G.ok)return new Response(JSON.stringify({error:"Image not found",info:F}),{headers:{"Content-Type":"application/json"},status:404});const P=Buffer.from(await G.arrayBuffer()),R=await U5.default(P).resize(W>0?W:void 0,Z>0?Z:void 0,{fit:U}).webp({quality:B>0?B:80,force:!0}).toBuffer();return G.headers.delete("Content-Type"),G.headers.delete("Content-Length"),new Response(R,{headers:{"Content-Type":"image/webp","Content-Length":`${R.byteLength}`,...G.headers.toJSON()}})}function o2(J){return`
|
|
2
|
+
import{v as T,w as C} from"../chunk-d9a84b9122601b72.js";import{x as E} from"../chunk-a5c18c07abe8fd9c.js";import{pa as L} from"../chunk-464cce477d8a56e0.js";import S from"path";function g(r){return r.map((t,c)=>{if(t.isDev)return x("style",{type:"text/css","data-vite-dev-id":t.id,children:t.content},t.id,!1,void 0,this);else return x("style",{type:"text/css",children:t.content},c,!1,void 0,this)})}import{jsxDEV as x} from"react/jsx-dev-runtime";var P=E(L(),1);async function w(r){const t=new URL(r.url),c=t.searchParams.get("url"),u=Number(t.searchParams.get("w")),s=Number(t.searchParams.get("h")),i=t.searchParams.get("fit")??"cover",o=Number(t.searchParams.get("q"));if(!c)return new Response(JSON.stringify({error:"url query parameter is required"}),{headers:{"Content-Type":"application/json"},status:404});const p=`${c.startsWith("http")?"":`http://localhost:${process.env.PORT||5173}`}${c}`,e=await fetch(p);if(!e.ok)return new Response(JSON.stringify({error:"Image not found",info:p}),{headers:{"Content-Type":"application/json"},status:404});const n=Buffer.from(await e.arrayBuffer()),f=await P.default(n).resize(u>0?u:void 0,s>0?s:void 0,{fit:i}).webp({quality:o>0?o:80,force:!0}).toBuffer();return e.headers.delete("Content-Type"),e.headers.delete("Content-Length"),new Response(f,{headers:{"Content-Type":"image/webp","Content-Length":`${f.byteLength}`,...e.headers.toJSON()}})}function R(r){return`
|
|
3
3
|
<!DOCTYPE html>
|
|
4
4
|
<html lang="en">
|
|
5
5
|
<head>
|
|
@@ -21,20 +21,20 @@ import{v as I5,w as K5} from"../chunk-d9a84b9122601b72.js";import{x as W9,y as L
|
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<h1>Error</h1>
|
|
24
|
-
<pre>${JSON.stringify(
|
|
24
|
+
<pre>${JSON.stringify(r,null,2)}</pre>
|
|
25
25
|
<script type="module" src="/refresh.js"></script>
|
|
26
26
|
</body>
|
|
27
27
|
</html>
|
|
28
|
-
`}async function
|
|
28
|
+
`}async function B(){const r=process.cwd(),t=await(await import("vite")).createServer({root:r,logLevel:"error",server:{watch:{usePolling:!0,interval:100},hmr:{clientPort:5174}},appType:"custom",resolve:{alias:{"@/app":h}}});process.env.ROOT_DIR=b,process.env.APP_DIR=h;async function c(s){const{pathname:i}=new URL(s.url);if(i.startsWith("/__gemi/image"))return await w(s);if(i.startsWith("/refresh.js"))return new Response(`
|
|
29
29
|
import RefreshRuntime from "http://localhost:5173/@react-refresh";
|
|
30
30
|
RefreshRuntime.injectIntoGlobalHook(window);
|
|
31
31
|
window.\$RefreshReg\$ = () => {};
|
|
32
32
|
window.\$RefreshSig\$ = () => (type) => type;
|
|
33
33
|
window.__vite_plugin_react_preamble_installed__ = true;
|
|
34
|
-
`,{headers:{"Content-Type":"application/javascript"}});try{const
|
|
34
|
+
`,{headers:{"Content-Type":"application/javascript"}});try{const n=await fetch(`http://localhost:5174${i}`);if(n.ok)return n}catch(n){console.log(n)}let o=null;try{o=(await t.ssrLoadModule(S.join(h,"bootstrap.ts"))).app}catch(n){return new Response(R(n),{status:500,headers:{"Content-Type":"text/html"}})}const{default:a}=await t.ssrLoadModule(`${h}/app.css`),p=[];p.push({isDev:!0,id:`${h}/app.css`,content:a}),o.setRenderParams({styles:g(p),manifest:null,serverManifest:null,bootstrapModules:["/refresh.js","/app/client.tsx","http://localhost:5173/@vite/client"]});const e=o.fetch.bind(o);try{return await e(s)}catch(n){if(console.log(n),i.startsWith("/api"))return new Response(JSON.stringify({error:n.message}),{status:500,headers:{"Content-Type":"application/json"}});return new Response(R(n),{headers:{"Content-Type":"text/html"}})}}await t.listen(5174);const u=Bun.serve({fetch:async(s)=>{return await c(s)},port:process.env.PORT||5173});return console.log(`Server started on http://localhost:${process.env.PORT||5173}`),t.watcher.on("change",async(s)=>{if(s.includes("app/views"))return;if(console.log(`[vite] ${s} changed. Updating...`),await t.moduleGraph.getModuleByUrl(`/${s}`))console.log(`[vite] ${s} changed. Updating...`)}),u}var b=process.cwd(),h=S.join(b,"app");import{join as $} from"path";async function U(){const{app:r}=await import(`${d}/server/bootstrap.mjs`),t=await import(`${d}/client/.vite/manifest.json`),c=await import(`${d}/server/.vite/manifest.json`),s=await Bun.file(`${d}/client/${t["app/client.tsx"].css}`).text();process.env.ROOT_DIR=v,process.env.APP_DIR=I,process.env.DIST_DIR=d;async function i(a){const{pathname:p}=new URL(a.url);if(p.startsWith("/__gemi/image"))return await w(a);const e=new T({pathname:"/*.:filetype(png|txt|js|css|jpg|svg|jpeg|ico|ttf)"}),n=p.startsWith("/api");if(e.test({pathname:p})&&!n){const y=new URL(a.url),O=a.url.replace(y.origin,"").split("?")[0],l=Bun.file(`dist/client${O.replace("/assets/assets","/assets")}`);if(!l)return new Response("Not found",{status:404});const j=C(l.lastModified);return new Response(l.stream(),{headers:{"Content-Type":l.type,"Cache-Control":"public, max-age=31536000, must-revalidate","Content-Length":String(l.size),ETag:j}})}const f=[];f.push({content:s}),r.setRenderParams({styles:g(f),manifest:t,serverManifest:c,bootstrapModules:[`/${t["app/client.tsx"].file}`]});const m=r.fetch.bind(r);try{return await m(a)}catch(y){if(p.startsWith("/api"))return new Response(JSON.stringify({error:y.message}),{status:500,headers:{"Content-Type":"application/json"}});return new Response(y.stack,{status:500})}}return Bun.serve({fetch:async(a)=>{return await i(a)},port:process.env.PORT||5173})}var v=process.cwd(),I=$(v,"app"),d=$(v,"dist");import k from"path";async function N(r){const{app:t,RootLayout:c}=r,u=process.cwd(),s=k.join(u,"app"),i=process.cwd(),o=await(await import("vite")).createServer({root:i,logLevel:"error",server:{watch:{usePolling:!0,interval:100},hmr:{clientPort:5174}},appType:"custom",resolve:{alias:{"@/app":s}}});process.env.ROOT_DIR=u,process.env.APP_DIR=s;async function a(e){const{pathname:n}=new URL(e.url);if(n.startsWith("/refresh.js"))return new Response(`
|
|
35
35
|
import RefreshRuntime from "http://localhost:5173/@react-refresh";
|
|
36
36
|
RefreshRuntime.injectIntoGlobalHook(window);
|
|
37
37
|
window.\$RefreshReg\$ = () => {};
|
|
38
38
|
window.\$RefreshSig\$ = () => (type) => type;
|
|
39
39
|
window.__vite_plugin_react_preamble_installed__ = true;
|
|
40
|
-
`,{headers:{"Content-Type":"application/javascript"}});try{const
|
|
40
|
+
`,{headers:{"Content-Type":"application/javascript"}});try{const m=await fetch(`http://localhost:5174${n}`);if(m.ok)return m}catch(m){console.log(m)}return await t.fetch.bind(t)(e,{RootLayout:c,options:{bootstrapModules:["/refresh.js","/app/client.tsx","http://localhost:5173/@vite/client"]}})}return o.watcher.on("change",async(e)=>{if(e.includes("app/views"))return;if(console.log(`[vite] ${e} changed. Updating...`),await o.moduleGraph.getModuleByUrl(`/${e}`))console.log(`[vite] ${e} changed. Updating...`)}),await o.listen(5174),Bun.serve({fetch:async(e)=>{return await a(e)},port:process.env.PORT||5173})}async function A(r){await N(r)}export{U as startProdServer,B as startDevServer,A as createServer};
|
package/dist/storage/File.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import sharp from "sharp";
|
|
1
2
|
import { Buffer } from "node:buffer";
|
|
3
|
+
import { Prettify } from "../utils/type";
|
|
2
4
|
interface PutParams {
|
|
3
5
|
name: string;
|
|
4
6
|
bucket?: string;
|
|
@@ -9,12 +11,14 @@ interface ReadParams {
|
|
|
9
11
|
name: string;
|
|
10
12
|
bucket?: string;
|
|
11
13
|
}
|
|
14
|
+
type Metadata = Prettify<sharp.Metadata>;
|
|
12
15
|
export declare class Storage {
|
|
13
16
|
static folder(path: string): {
|
|
14
17
|
put: (params: PutParams | Blob) => Promise<string>;
|
|
15
18
|
fetch: (params: ReadParams) => Promise<Response>;
|
|
16
19
|
};
|
|
17
20
|
static put(params: PutParams | Blob): Promise<string>;
|
|
21
|
+
static metadata(obj: Blob | File): Promise<Partial<Metadata>>;
|
|
18
22
|
static fetch(params: ReadParams | string): Promise<Response>;
|
|
19
23
|
static delete(): void;
|
|
20
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../storage/File.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"File.d.ts","sourceRoot":"","sources":["../../storage/File.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAIzC,qBAAa,OAAO;IAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM;sBAKF,SAAS,GAAG,IAAI;wBAcd,UAAU;;WAqBvB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;WAkC5B,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;WAStD,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAgC9C,MAAM,CAAC,MAAM;CACd"}
|