wasm-image-optimization 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,16 +20,16 @@ optimizeImageExt({image: ArrayBuffer, width?: number, height?:number,quality?: n
20
20
  ```
21
21
 
22
22
  - source format
23
+ - svg
23
24
  - jpeg(EXIF orientation is supported)
24
25
  - png
25
26
  - webp
26
- - svg
27
27
  - avif
28
28
  - output format
29
29
  - jpeg
30
30
  - png
31
- - avif(default)
32
31
  - webp
32
+ - avif(default)
33
33
 
34
34
  # usage
35
35
 
@@ -4,7 +4,7 @@ export declare const optimizeImage: ({ image, width, height, quality, format, }:
4
4
  height?: number;
5
5
  quality?: number;
6
6
  format?: "jpeg" | "png" | "webp" | "avif";
7
- }) => Promise<Uint8Array | undefined>;
7
+ }) => Promise<Buffer<ArrayBuffer> | undefined>;
8
8
  export declare const optimizeImageExt: ({ image, width, height, quality, format, }: {
9
9
  image: BufferSource;
10
10
  width?: number;
@@ -12,9 +12,10 @@ export declare const optimizeImageExt: ({ image, width, height, quality, format,
12
12
  quality?: number;
13
13
  format?: "jpeg" | "png" | "webp" | "avif";
14
14
  }) => Promise<{
15
- data: Uint8Array;
15
+ data: Buffer<ArrayBuffer>;
16
16
  originalWidth: number;
17
17
  originalHeight: number;
18
18
  width: number;
19
19
  height: number;
20
- } | null>;
20
+ index: number;
21
+ } | undefined>;
package/dist/cjs/index.js CHANGED
@@ -10,13 +10,15 @@ const libImage_1 = __importDefault(require("../workers/libImage"));
10
10
  const libImage = (0, libImage_1.default)({
11
11
  wasmBinary: fs_1.default.readFileSync(path_1.default.resolve(__dirname, "../esm/libImage.wasm")),
12
12
  });
13
- const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => {
14
- const result = optimize(image, width, height, quality, format);
15
- return result?.data;
16
- });
13
+ const result = (result) => {
14
+ const r = result ? { ...result, data: Buffer.from(result.data) } : undefined;
15
+ if (r) {
16
+ libImage.then(({ releaseResult }) => releaseResult(r.index));
17
+ }
18
+ return r;
19
+ };
20
+ const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => (0, exports.optimizeImageExt)({ image, width, height, quality, format }).then((r) => r?.data);
17
21
  exports.optimizeImage = optimizeImage;
18
- const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => {
19
- return optimize(image, width, height, quality, format);
20
- });
22
+ const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => result(optimize(image, width, height, quality, format)));
21
23
  exports.optimizeImageExt = optimizeImageExt;
22
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cjs/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,mEAA2C;AAE3C,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC;IACxB,UAAU,EAAE,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;CAC7E,CAAC,CAAC;AAEI,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,MAAM,EAAE,IAAI,CAAC;AACtB,CAAC,CAAC,CAAC;AAhBQ,QAAA,aAAa,iBAgBrB;AAEE,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7B,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAfQ,QAAA,gBAAgB,oBAexB","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport LibImage from \"../workers/libImage\";\n\nconst libImage = LibImage({\n wasmBinary: fs.readFileSync(path.resolve(__dirname, \"../esm/libImage.wasm\")),\n});\n\nexport const optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) => {\n const result = optimize(image, width, height, quality, format);\n return result?.data;\n });\n\nexport const optimizeImageExt = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) => {\n return optimize(image, width, height, quality, format);\n });\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cjs/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,mEAA2C;AAG3C,MAAM,QAAQ,GAAG,IAAA,kBAAQ,EAAC;IACxB,UAAU,EAAE,YAAE,CAAC,YAAY,CACzB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAC,CACvC;CACX,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,MAA2C,EAAE,EAAE;IAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACK,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,IAAA,wBAAgB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAfS,QAAA,aAAa,iBAetB;AAEG,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CACxD,CAAC;AAfS,QAAA,gBAAgB,oBAezB","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport LibImage from \"../workers/libImage\";\nimport type { ModuleType } from \"../esm/libImage\";\n\nconst libImage = LibImage({\n wasmBinary: fs.readFileSync(\n path.resolve(__dirname, \"../esm/libImage.wasm\")\n ) as never,\n});\n\nconst result = (result?: ReturnType<ModuleType[\"optimize\"]>) => {\n const r = result ? { ...result, data: Buffer.from(result.data) } : undefined;\n if (r) {\n libImage.then(({ releaseResult }) => releaseResult(r.index));\n }\n return r;\n};\nexport const optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n optimizeImageExt({ image, width, height, quality, format }).then(\n (r) => r?.data\n );\n\nexport const optimizeImageExt = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) =>\n result(optimize(image, width, height, quality, format))\n );\n"]}
@@ -4,7 +4,7 @@ export declare const optimizeImage: ({ image, width, height, quality, format, }:
4
4
  height?: number;
5
5
  quality?: number;
6
6
  format?: "jpeg" | "png" | "webp" | "avif";
7
- }) => Promise<Uint8Array | undefined>;
7
+ }) => Promise<Buffer<ArrayBuffer> | undefined>;
8
8
  export declare const optimizeImageExt: ({ image, width, height, quality, format, }: {
9
9
  image: BufferSource;
10
10
  width?: number;
@@ -12,9 +12,10 @@ export declare const optimizeImageExt: ({ image, width, height, quality, format,
12
12
  quality?: number;
13
13
  format?: "jpeg" | "png" | "webp" | "avif";
14
14
  }) => Promise<{
15
- data: Uint8Array;
15
+ data: Buffer<ArrayBuffer>;
16
16
  originalWidth: number;
17
17
  originalHeight: number;
18
18
  width: number;
19
19
  height: number;
20
- } | null>;
20
+ index: number;
21
+ } | undefined>;
package/dist/esm/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import LibImage from "./libImage.js";
2
2
  const libImage = LibImage();
3
- export const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "webp", }) => libImage.then(({ optimize }) => {
4
- const result = optimize(image, width, height, quality, format);
5
- return result?.data;
6
- });
7
- export const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => {
8
- return optimize(image, width, height, quality, format);
9
- });
3
+ const result = (result) => {
4
+ const r = result ? { ...result, data: Buffer.from(result.data) } : undefined;
5
+ if (r) {
6
+ libImage.then(({ releaseResult }) => releaseResult(r.index));
7
+ }
8
+ return r;
9
+ };
10
+ export const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => optimizeImageExt({ image, width, height, quality, format }).then((r) => r?.data);
11
+ export const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => result(optimize(image, width, height, quality, format)));
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/esm/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,MAAM,EAAE,IAAI,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7B,OAAO,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC","sourcesContent":["import LibImage from \"./libImage.js\";\n\nconst libImage = LibImage();\n\nexport const optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"webp\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) => {\n const result = optimize(image, width, height, quality, format);\n return result?.data;\n });\n\nexport const optimizeImageExt = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) => {\n return optimize(image, width, height, quality, format);\n });\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/esm/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAA6B,MAAM,eAAe,CAAC;AAE1D,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;AAE5B,MAAM,MAAM,GAAG,CAAC,MAA2C,EAAE,EAAE;IAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EACrC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,GAOhB,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CACxD,CAAC","sourcesContent":["import LibImage, { type ModuleType } from \"./libImage.js\";\n\nconst libImage = LibImage();\n\nconst result = (result?: ReturnType<ModuleType[\"optimize\"]>) => {\n const r = result ? { ...result, data: Buffer.from(result.data) } : undefined;\n if (r) {\n libImage.then(({ releaseResult }) => releaseResult(r.index));\n }\n return r;\n};\nexport const optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n optimizeImageExt({ image, width, height, quality, format }).then(\n (r) => r?.data\n );\n\nexport const optimizeImageExt = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n}: {\n image: BufferSource;\n width?: number;\n height?: number;\n quality?: number;\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\";\n}) =>\n libImage.then(({ optimize }) =>\n result(optimize(image, width, height, quality, format))\n );\n"]}