0.10.3 • Published 8 months ago

@e-mc/image v0.10.3

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

@e-mc/image

  • NodeJS 16
  • ES2020

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;
    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;
    using?(data: IFileThread, command: string): Promise<unknown>;
    get outputAs(): string;
}

interface ImageConstructor extends ModuleConstructor {
    readonly REGEXP_SIZERANGE: RegExp;
    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;
    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.10

11 months ago

0.5.11

11 months ago

0.5.16

8 months ago

0.5.14

9 months ago

0.5.15

9 months ago

0.5.12

10 months ago

0.5.13

9 months ago

0.9.8

10 months ago

0.7.11

11 months ago

0.9.7

11 months ago

0.7.10

11 months ago

0.7.13

10 months ago

0.9.9

10 months ago

0.7.12

10 months ago

0.9.4

12 months ago

0.5.8

12 months ago

0.9.3

1 year ago

0.5.7

1 year ago

0.9.6

11 months ago

0.5.9

11 months ago

0.9.5

12 months ago

0.7.15

9 months ago

0.7.14

9 months ago

0.7.17

8 months ago

0.7.16

9 months ago

0.10.1

10 months ago

0.10.2

9 months ago

0.10.3

8 months ago

0.10.0

11 months ago

0.9.12

9 months ago

0.9.13

8 months ago

0.6.7

11 months ago

0.6.6

11 months ago

0.9.10

9 months ago

0.6.9

10 months ago

0.9.11

9 months ago

0.6.8

11 months ago

0.6.10

10 months ago

0.6.12

9 months ago

0.6.11

9 months ago

0.6.14

8 months ago

0.6.13

9 months ago

0.9.2

1 year ago

0.7.9

11 months ago

0.8.21

8 months ago

0.7.8

12 months ago

0.8.20

9 months ago

0.7.7

1 year ago

0.8.12

12 months ago

0.8.11

1 year ago

0.8.14

11 months ago

0.8.13

11 months ago

0.8.19

9 months ago

0.8.16

10 months ago

0.8.15

11 months ago

0.8.18

9 months ago

0.8.17

10 months ago

0.6.5

12 months 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

1 year ago

0.6.2

1 year ago

0.7.3

1 year ago

0.5.5

1 year ago

0.8.6

1 year ago

0.7.2

1 year ago

0.5.4

1 year ago

0.6.1

1 year ago

0.8.5

1 year ago

0.8.4

1 year ago

0.8.3

1 year ago

0.8.2

1 year ago

0.8.1

1 year ago

0.8.0

1 year 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

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago