wasm-image-optimization 1.1.4 → 1.1.7

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
@@ -8,6 +8,8 @@
8
8
  `import { optimizeImage } from 'wasm-image-optimization/esm';`
9
9
  - CJS(file base)
10
10
  `import { optimizeImage } from 'wasm-image-optimization/node';`
11
+ - Vite(Browser)
12
+ `import { optimizeImage } from 'wasm-image-optimization/vite';`
11
13
 
12
14
  - function
13
15
 
@@ -0,0 +1,20 @@
1
+ import { type ModuleType } from "../esm/libImage.js";
2
+ export type OptimizeParams = {
3
+ image: BufferSource | string;
4
+ width?: number;
5
+ height?: number;
6
+ quality?: number;
7
+ format?: "jpeg" | "png" | "webp" | "avif";
8
+ };
9
+ export declare const _optimizeImage: ({ image, width, height, quality, format, libImage, }: OptimizeParams & {
10
+ libImage: Promise<ModuleType>;
11
+ }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
12
+ export declare const _optimizeImageExt: ({ image, width, height, quality, format, libImage, }: OptimizeParams & {
13
+ libImage: Promise<ModuleType>;
14
+ }) => Promise<{
15
+ data: Uint8Array<ArrayBuffer>;
16
+ originalWidth: number;
17
+ originalHeight: number;
18
+ width: number;
19
+ height: number;
20
+ } | undefined>;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._optimizeImageExt = exports._optimizeImage = void 0;
4
+ const result = (result, releaseResult) => {
5
+ const r = result
6
+ ? { ...result, data: Uint8Array.from(result.data) }
7
+ : undefined;
8
+ releaseResult();
9
+ return r;
10
+ };
11
+ const _optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", libImage, }) => (0, exports._optimizeImageExt)({ image, width, height, quality, format, libImage }).then((r) => r?.data);
12
+ exports._optimizeImage = _optimizeImage;
13
+ const _optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", libImage, }) => libImage.then(({ optimize, releaseResult }) => result(optimize(image, width, height, quality, format), releaseResult));
14
+ exports._optimizeImageExt = _optimizeImageExt;
15
+ //# sourceMappingURL=optimizeImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizeImage.js","sourceRoot":"","sources":["../../../src/lib/optimizeImage.ts"],"names":[],"mappings":";;;AAUA,MAAM,MAAM,GAAG,CACb,MAAsD,EACtD,aAAyB,EACzB,EAAE;IACF,MAAM,CAAC,GAAG,MAAM;QACd,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACnD,CAAC,CAAC,SAAS,CAAC;IACd,aAAa,EAAE,CAAC;IAChB,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACK,MAAM,cAAc,GAAG,KAAK,EAAE,EACnC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,QAAQ,GAGT,EAAE,EAAE,CACH,IAAA,yBAAiB,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CACf,CAAC;AAZS,QAAA,cAAc,kBAYvB;AAEG,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,KAAK,EACL,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,GAAG,EACb,MAAM,GAAG,MAAM,EACf,QAAQ,GAGT,EAAE,EAAE,CACH,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,CAC5C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,CAAC,CACvE,CAAC;AAZS,QAAA,iBAAiB,qBAY1B","sourcesContent":["import { type ModuleType } from \"../esm/libImage.js\";\n\nexport type OptimizeParams = {\n image: BufferSource | string; // The input image data\n width?: number; // The desired output width (optional)\n height?: number; // The desired output height (optional)\n quality?: number; // The desired output quality (0-100, optional)\n format?: \"jpeg\" | \"png\" | \"webp\" | \"avif\"; // The desired output format (optional)\n};\n\nconst result = (\n result: ReturnType<ModuleType[\"optimize\"]> | undefined,\n releaseResult: () => void\n) => {\n const r = result\n ? { ...result, data: Uint8Array.from(result.data) }\n : undefined;\n releaseResult();\n return r;\n};\nexport const _optimizeImage = async ({\n image,\n width = 0,\n height = 0,\n quality = 100,\n format = \"avif\",\n libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n _optimizeImageExt({ image, width, height, quality, format, libImage }).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 libImage,\n}: OptimizeParams & {\n libImage: Promise<ModuleType>;\n}) =>\n libImage.then(({ optimize, releaseResult }) =>\n result(optimize(image, width, height, quality, format), releaseResult)\n );\n"]}
@@ -0,0 +1,9 @@
1
+ import { type OptimizeParams } from "../lib/optimizeImage.js";
2
+ export declare const optimizeImage: (params: OptimizeParams) => Promise<Uint8Array<ArrayBuffer> | undefined>;
3
+ export declare const optimizeImageExt: (params: OptimizeParams) => Promise<{
4
+ data: Uint8Array<ArrayBuffer>;
5
+ originalWidth: number;
6
+ originalHeight: number;
7
+ width: number;
8
+ height: number;
9
+ } | undefined>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.optimizeImageExt = exports.optimizeImage = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
+ /* @ts-ignore */
11
+ const libImage_js_1 = __importDefault(require("../../workers/libImage.js"));
12
+ const optimizeImage_js_1 = require("../lib/optimizeImage.js");
13
+ const libImage = (0, libImage_js_1.default)({
14
+ wasmBinary: fs_1.default.readFileSync(path_1.default.resolve(__dirname, "../../esm/libImage.wasm")),
15
+ });
16
+ const optimizeImage = async (params) => (0, optimizeImage_js_1._optimizeImage)({ ...params, libImage });
17
+ exports.optimizeImage = optimizeImage;
18
+ const optimizeImageExt = async (params) => (0, optimizeImage_js_1._optimizeImageExt)({ ...params, libImage });
19
+ exports.optimizeImageExt = optimizeImageExt;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,6DAA6D;AAC7D,gBAAgB;AAChB,4EAAiD;AACjD,8DAIiC;AAEjC,MAAM,QAAQ,GAAG,IAAA,qBAAQ,EAAC;IACxB,UAAU,EAAE,YAAE,CAAC,YAAY,CACzB,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAC1C;CACX,CAAC,CAAC;AAEI,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC5D,IAAA,iCAAc,EAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAD7B,QAAA,aAAa,iBACgB;AAEnC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC/D,IAAA,oCAAiB,EAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AADhC,QAAA,gBAAgB,oBACgB","sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n/* @ts-ignore */\nimport LibImage from \"../../workers/libImage.js\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\n\nconst libImage = LibImage({\n wasmBinary: fs.readFileSync(\n path.resolve(__dirname, \"../../esm/libImage.wasm\")\n ) as never,\n});\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage });\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage });\n"]}
@@ -1,21 +1,9 @@
1
- export declare const optimizeImage: ({ image, width, height, quality, format, }: {
2
- image: BufferSource;
3
- width?: number;
4
- height?: number;
5
- quality?: number;
6
- format?: "jpeg" | "png" | "webp" | "avif";
7
- }) => Promise<Uint8Array<ArrayBuffer> | undefined>;
8
- export declare const optimizeImageExt: ({ image, width, height, quality, format, }: {
9
- image: BufferSource;
10
- width?: number;
11
- height?: number;
12
- quality?: number;
13
- format?: "jpeg" | "png" | "webp" | "avif";
14
- }) => Promise<{
1
+ import { type OptimizeParams } from "../lib/optimizeImage.js";
2
+ export declare const optimizeImage: (params: OptimizeParams) => Promise<Uint8Array<ArrayBuffer> | undefined>;
3
+ export declare const optimizeImageExt: (params: OptimizeParams) => Promise<{
15
4
  data: Uint8Array<ArrayBuffer>;
16
5
  originalWidth: number;
17
6
  originalHeight: number;
18
7
  width: number;
19
8
  height: number;
20
- index: number;
21
9
  } | undefined>;
package/dist/esm/index.js CHANGED
@@ -1,14 +1,6 @@
1
1
  import LibImage from "./libImage.js";
2
+ import { _optimizeImage, _optimizeImageExt, } from "../lib/optimizeImage.js";
2
3
  const libImage = LibImage();
3
- const result = (result) => {
4
- const r = result
5
- ? { ...result, data: Uint8Array.from(result.data) }
6
- : undefined;
7
- if (r) {
8
- libImage.then(({ releaseResult }) => releaseResult(r.index));
9
- }
10
- return r;
11
- };
12
- export const optimizeImage = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => optimizeImageExt({ image, width, height, quality, format }).then((r) => r?.data);
13
- export const optimizeImageExt = async ({ image, width = 0, height = 0, quality = 100, format = "avif", }) => libImage.then(({ optimize }) => result(optimize(image, width, height, quality, format)));
4
+ export const optimizeImage = async (params) => _optimizeImage({ ...params, libImage });
5
+ export const optimizeImageExt = async (params) => _optimizeImageExt({ ...params, libImage });
14
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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;QACd,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACnD,CAAC,CAAC,SAAS,CAAC;IACd,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\n ? { ...result, data: Uint8Array.from(result.data) }\n : 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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/esm/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC5D,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE,CAC/D,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC","sourcesContent":["import LibImage from \"./libImage.js\";\nimport {\n _optimizeImage,\n _optimizeImageExt,\n type OptimizeParams,\n} from \"../lib/optimizeImage.js\";\n\nconst libImage = LibImage();\n\nexport const optimizeImage = async (params: OptimizeParams) =>\n _optimizeImage({ ...params, libImage });\n\nexport const optimizeImageExt = async (params: OptimizeParams) =>\n _optimizeImageExt({ ...params, libImage });\n"]}