0.12.3 • Published 5 months ago

@e-mc/image v0.12.3

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
5 months ago

@e-mc/image

  • NodeJS 18
  • ES2022

General Usage

Interface

import type { IHost, ModuleConstructor } from "./index";
import type { IFileThread } from "./asset";
import type { CommandData, CropData, QualityData, ResizeData, RotateData, TransformOptions } from "./image";
import type { ImageModule } from "./settings";

interface IImage extends IClient<IHost, ImageModule> {
    resizeData?: ResizeData;
    cropData?: CropData;
    rotateData?: RotateData;
    qualityData?: QualityData;
    methodData?: [string, unknown[]?][];
    opacityValue?: number;
    outputType?: string;
    setCommand(value: string | CommandData, outputAs?: string): void;
    getCommand(): string;
    parseCommand(value: string): CommandData;
    parseMethod(value: string): [string, unknown[]?][] | undefined;
    parseResize(value: string): ResizeData | undefined;
    parseCrop(value: string): CropData | undefined;
    parseRotate(value: string): RotateData | undefined;
    parseQuality(value: string): QualityData | undefined;
    parseOpacity(value: string): number;
    parseWorker(command: string | CommandData, outputType?: string): CommandData | null;
    using?(data: IFileThread, command: string): Promise<unknown>;
    get outputAs(): string;
}

interface ImageConstructor extends ModuleConstructor {
    readonly MIME_JPEG: string;
    readonly MIME_PNG: string;
    readonly MIME_WEBP: string;
    readonly MIME_SVG: string;
    readonly MIME_GIF: string;
    readonly MIME_BMP: string;
    readonly MIME_TIFF: string;
    transform(file: string, command: string, options: { tempFile: true }): Promise<string>;
    transform(file: string, command: string, options?: TransformOptions): Promise<Buffer | null>;
    clamp(value: unknown, min?: number, max?: number): number;
    isBinary(mime: unknown): mime is string;
    toABGR(buffer: Uint8Array | Buffer): Buffer;
    asBuffer(data: Buffer | Uint8Array): Buffer;
    readonly prototype: IImage;
    new(module?: ImageModule, ...args: unknown[]): IImage;
}

Settings

import type { PermittedDirectories } from "./core";

interface ImageModule {
    // handler: "@pi-r/jimp";
    webp?: string;
    settings?: {
        broadcast_id?: string | string[];
        cache?: boolean;
        jimp?: {
            exec?: {
                uid?: number;
                gid?: number;
            };
            cache_expires?: number | string;
            rotate_clockwise?: boolean;
        };
        webp?: {
            path?: string;
            cwebp?: string[];
            gif2webp?: string[];
        };
    };
    permission?: PermittedDirectories;
}

Example usage

NOTE: Usage without a Host is conducted through static methods. The using class method is called by the Host to perform the transformation.

References

LICENSE

BSD 3-Clause

0.5.18

6 months ago

0.5.19

6 months ago

0.5.17

7 months ago

0.7.22

5 months ago

0.7.21

6 months ago

0.7.20

6 months ago

0.7.19

7 months ago

0.7.18

9 months ago

0.10.9

6 months ago

0.10.4

10 months ago

0.10.5

10 months ago

0.10.6

10 months ago

0.10.7

9 months ago

0.10.8

7 months ago

0.9.20

5 months ago

0.9.14

10 months ago

0.9.15

10 months ago

0.9.16

9 months ago

0.9.17

7 months ago

0.9.18

6 months ago

0.9.19

6 months ago

0.11.8

6 months ago

0.11.0

10 months ago

0.11.1

10 months ago

0.11.2

9 months ago

0.11.3

7 months ago

0.10.10

6 months ago

0.11.4

6 months ago

0.10.11

6 months ago

0.11.5

6 months ago

0.10.12

5 months ago

0.11.7

6 months ago

0.6.18

5 months ago

0.6.17

6 months ago

0.6.16

6 months ago

0.6.15

7 months ago

0.8.23

7 months ago

0.8.22

9 months ago

0.8.25

6 months ago

0.8.24

6 months ago

0.8.26

5 months ago

0.12.0

5 months ago

0.12.1

5 months ago

0.12.2

5 months ago

0.12.3

5 months ago

0.5.20

5 months ago

0.5.10

1 year ago

0.5.11

1 year ago

0.5.16

12 months ago

0.5.14

1 year ago

0.5.15

12 months ago

0.5.12

1 year ago

0.5.13

1 year ago

0.9.8

1 year ago

0.7.11

1 year ago

0.9.7

1 year ago

0.7.10

1 year ago

0.7.13

1 year ago

0.9.9

1 year ago

0.7.12

1 year ago

0.9.4

1 year ago

0.5.8

1 year ago

0.9.3

1 year ago

0.5.7

1 year ago

0.9.6

1 year ago

0.5.9

1 year ago

0.9.5

1 year ago

0.7.15

1 year ago

0.7.14

1 year ago

0.7.17

12 months ago

0.7.16

12 months ago

0.10.1

1 year ago

0.10.2

1 year ago

0.10.3

12 months ago

0.10.0

1 year ago

0.9.12

12 months ago

0.9.13

12 months ago

0.6.7

1 year ago

0.6.6

1 year ago

0.9.10

1 year ago

0.6.9

1 year ago

0.9.11

1 year ago

0.6.8

1 year ago

0.6.10

1 year ago

0.6.12

1 year ago

0.6.11

1 year ago

0.6.14

12 months ago

0.6.13

12 months ago

0.9.2

1 year ago

0.7.9

1 year ago

0.8.21

12 months ago

0.7.8

1 year ago

0.8.20

12 months ago

0.7.7

1 year ago

0.8.12

1 year ago

0.8.11

1 year ago

0.8.14

1 year ago

0.8.13

1 year ago

0.8.19

1 year ago

0.8.16

1 year ago

0.8.15

1 year ago

0.8.18

1 year ago

0.8.17

1 year ago

0.6.5

1 year ago

0.6.4

1 year ago

0.8.9

1 year ago

0.8.8

1 year ago

0.7.6

1 year ago

0.7.5

1 year ago

0.8.10

1 year ago

0.6.3

1 year ago

0.7.4

1 year ago

0.5.6

1 year ago

0.9.1

1 year ago

0.9.0

1 year ago

0.8.7

2 years ago

0.6.2

2 years ago

0.7.3

2 years ago

0.5.5

2 years ago

0.8.6

2 years ago

0.7.2

2 years ago

0.5.4

2 years ago

0.6.1

2 years ago

0.8.5

2 years ago

0.8.4

2 years ago

0.8.3

2 years ago

0.8.2

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.5.3

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

3 years ago

0.3.3

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago