imagescript 1.2.15 → 1.2.16

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.
Files changed (51) hide show
  1. package/ImageScript.d.ts +223 -223
  2. package/ImageScript.js +1646 -1646
  3. package/LICENSE +619 -619
  4. package/README.md +46 -46
  5. package/bench/_.mjs +165 -165
  6. package/bench/all.mjs +3 -3
  7. package/bench/blur.mjs +58 -58
  8. package/bench/flip.mjs +62 -62
  9. package/bench/overlay.mjs +34 -34
  10. package/bench/package.json +6 -6
  11. package/bench/readme.md +63 -63
  12. package/bench/resize.mjs +51 -51
  13. package/codecs/LICENSE +20 -20
  14. package/codecs/lib.d.ts +49 -49
  15. package/codecs/lib.js +5 -5
  16. package/codecs/node/index.js +2 -2
  17. package/codecs/node/index.mjs +5 -5
  18. package/codecs/package.json +13 -13
  19. package/codecs/readme.md +37 -37
  20. package/package.json +41 -41
  21. package/png/node.js +1137 -1137
  22. package/png/src/crc.mjs +48 -48
  23. package/png/src/mem.mjs +23 -23
  24. package/png/src/png.mjs +254 -254
  25. package/png/src/zlib.mjs +617 -617
  26. package/tsconfig.json +21 -21
  27. package/utils/mem.js +25 -25
  28. package/v2/codecs/magic.js +24 -24
  29. package/v2/framebuffer.d.ts +66 -66
  30. package/v2/framebuffer.js +2352 -2352
  31. package/v2/framebuffer.mjs +125 -125
  32. package/v2/framebuffer.rs +1263 -1263
  33. package/v2/index.d.ts +83 -83
  34. package/v2/index.js +260 -260
  35. package/v2/ops/blur.mjs +302 -302
  36. package/v2/ops/color.mjs +276 -276
  37. package/v2/ops/crop.mjs +63 -63
  38. package/v2/ops/fill.mjs +32 -32
  39. package/v2/ops/flip.mjs +32 -32
  40. package/v2/ops/index.mjs +8 -8
  41. package/v2/ops/iterator.mjs +33 -33
  42. package/v2/ops/overlay.mjs +62 -62
  43. package/v2/ops/resize.mjs +165 -165
  44. package/v2/ops/rotate.mjs +116 -116
  45. package/v2/util/mem.mjs +23 -23
  46. package/wasm/node/font.js +141 -141
  47. package/wasm/node/gif.js +76 -76
  48. package/wasm/node/jpeg.js +91 -91
  49. package/wasm/node/png.js +49 -49
  50. package/wasm/node/svg.js +55 -55
  51. package/wasm/node/tiff.js +46 -46
@@ -1,14 +1,14 @@
1
- {
2
- "license": "MIT",
3
- "main": "lib.js",
4
- "version": "0.0.1",
5
- "types": "lib.d.ts",
6
- "name": "@imagescript/codecs",
7
- "description": "fast codecs bindings for node and browsers",
8
- "author": "imagescript (https://github.com/matmen/imagescript)",
9
- "bugs": { "url": "https://github.com/matmen/imagescript/issues" },
10
- "homepage": "https://github.com/matmen/ImageScript/blob/master/codecs/readme.md",
11
- "repository": { "type": "git", "url": "git+https://github.com/matmen/imagescript.git" },
12
- "exports": { ".": [{ "import": "./lib.mjs", "require": "./lib.js" }, "./lib.js"], "./*": "./*" },
13
- "keywords": ["png", "jpg", "gif", "jpeg", "webp", "fast", "wasm", "codecs", "native", "bindings"]
1
+ {
2
+ "license": "MIT",
3
+ "main": "lib.js",
4
+ "version": "0.0.1",
5
+ "types": "lib.d.ts",
6
+ "name": "@imagescript/codecs",
7
+ "description": "fast codecs bindings for node and browsers",
8
+ "author": "imagescript (https://github.com/matmen/imagescript)",
9
+ "bugs": { "url": "https://github.com/matmen/imagescript/issues" },
10
+ "homepage": "https://github.com/matmen/ImageScript/blob/master/codecs/readme.md",
11
+ "repository": { "type": "git", "url": "git+https://github.com/matmen/imagescript.git" },
12
+ "exports": { ".": [{ "import": "./lib.mjs", "require": "./lib.js" }, "./lib.js"], "./*": "./*" },
13
+ "keywords": ["png", "jpg", "gif", "jpeg", "webp", "fast", "wasm", "codecs", "native", "bindings"]
14
14
  }
package/codecs/readme.md CHANGED
@@ -1,38 +1,38 @@
1
- # fast codecs bindings for node and browsers
2
-
3
- `npm i @imagescript/codecs`
4
-
5
- ```js
6
- import { png } from '@imagescript/codecs';
7
-
8
- const rgba = new Uint32Array(256 * 256);
9
- const image = png.encode(rgba, { width: 256, height: 256 });
10
- ```
11
-
12
- ## supported platforms
13
- | | node@10 | node@12 | node@14 | node@16 |
14
- | ---------------- | ------- | ------- | ------- | ------- |
15
- | wasm32 | ✕ | ✕ | ✕ | ✕ |
16
- | macos x64 | ✓ | ✓ | ✓ | ✓ |
17
- | macos arm64 | ✓ | ✓ | ✓ | ✓ |
18
- | windows x64 | ✓ | ✓ | ✓ | ✓ |
19
- | linux x64 gnu | ✓ | ✓ | ✓ | ✓ |
20
- | linux arm64 gnu | ✓ | ✓ | ✓ | ✓ |
21
-
22
- you can force usage of wasm by setting `CODECS_FORCE_WASM` env variable
23
-
24
- for deno and browsers use `@imagescript/codecs/wasm/bundle/browser.js` [cdn](https://unpkg.com/@imagescript/codecs/wasm/bundle/browser.js)
25
-
26
- ## benchmarks
27
-
28
- image used for benchmarks: `new framebuffer(width, height).fill((x, y) => x * y)`
29
-
30
- ![benchmark](https://plot.evan.lol/bar/eyJ0aXRsZSI6IkdJRiBvcHMvcyAoaGlnaGVyIGlzIGJldHRlcikiLCJwb2ludHMiOlt7Im5hbWUiOiJlbmNvZGUoNXggUkdCQSAyNTZ4MjU2KSIsInNjb3JlcyI6WzE0LjU2LDIuMzZdfSx7Im5hbWUiOiJlbmNvZGUoNXggUkdCQSAxMDI0eDEwMjQpIiwic2NvcmVzIjpbMC43MywwLjIxXX1dLCJsZWdlbmQiOlt7Im5hbWUiOiJuYXRpdmUoQGltYWdlc2NyaXB0L2NvZGVjcykiLCJjb2xvciI6ODUxMTM4MDQ3fSx7Im5hbWUiOiJqcyhAc2t5cmEvZ2lmZW5jKSIsImNvbG9yIjotMTI1MDk3MjY3M31dfQ==.png)
31
-
32
- ![benchmark](https://plot.evan.lol/bar/eyJ0aXRsZSI6IkpQRUcgb3BzL3MgKGhpZ2hlciBpcyBiZXR0ZXIpIiwicG9pbnRzIjpbeyJuYW1lIjoiZW5jb2RlKFJHQkEgNjR4NjQpIiwic2NvcmVzIjpbNDMuNTgsNTcyOS4wOCw4MTEuMjldfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAyNTZ4MjU2KSIsInNjb3JlcyI6WzMyLjQ0LDM2NS45MywyMjguN119LHsibmFtZSI6ImVuY29kZShSR0JBIDUxMng1MTIpIiwic2NvcmVzIjpbMTYuMjIsODIuOTgsNzkuMjddfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAxMDI0eDEwMjQpIiwic2NvcmVzIjpbNC4yMiwxOS4xNiwyMi43OV19LHsibmFtZSI6ImVuY29kZShSR0JBIDIwNDh4MjA0OCkiLCJzY29yZXMiOlsxLjA1LDQuODksNS42N119XSwibGVnZW5kIjpbeyJuYW1lIjoianMoanBlZy1qcykiLCJjb2xvciI6ODUxMTM4MDQ3fSx7Im5hbWUiOiJuYXRpdmUoQGltYWdlc2NyaXB0L2NvZGVjcykiLCJjb2xvciI6LTEyNTA5NzI2NzN9LHsibmFtZSI6Im5hdGl2ZShzaGFycCkiLCJjb2xvciI6LTExNTY1MDA0ODF9XX0=.png)
33
-
34
- ![benchmark](https://plot.evan.lol/bar/eyJ0aXRsZSI6IlBORyBvcHMvcyAoaGlnaGVyIGlzIGJldHRlcikiLCJwb2ludHMiOlt7Im5hbWUiOiJlbmNvZGUoUkdCQSA2NHg2NCkiLCJzY29yZXMiOlsyNDAuNzEsMTQzNy44Nyw2OTAuOTQsNzY2LjA1XX0seyJuYW1lIjoiZW5jb2RlKFJHQkEgMjU2eDI1NikiLCJzY29yZXMiOlsxMi43OSw1Ni4yOCwzMS41MywxMTIuNDZdfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSA1MTJ4NTEyKSIsInNjb3JlcyI6WzkuOTQsMjUuODMsMTAuMzEsMzQuODZdfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAxMDI0eDEwMjQpIiwic2NvcmVzIjpbMy4wNCw3LDMuMzcsMTAuMzddfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAyMDQ4eDIwNDgpIiwic2NvcmVzIjpbMC44LDEuNzYsMC45NywyLjddfV0sImxlZ2VuZCI6W3sibmFtZSI6ImpzKHVwbmcpIiwiY29sb3IiOjg1MTEzODA0N30seyJuYW1lIjoibmF0aXZlKEBpbWFnZXNjcmlwdC9jb2RlY3MpIiwiY29sb3IiOi0xMjUwOTcyNjczfSx7Im5hbWUiOiJqcyhpbWFnZXNjcmlwdCkiLCJjb2xvciI6LTExNTY1MDA0ODF9LHsibmFtZSI6Im5hdGl2ZShzaGFycCkiLCJjb2xvciI6LTE0MTI4NzE2OX1dfQ==.png)
35
-
36
- ## License
37
-
1
+ # fast codecs bindings for node and browsers
2
+
3
+ `npm i @imagescript/codecs`
4
+
5
+ ```js
6
+ import { png } from '@imagescript/codecs';
7
+
8
+ const rgba = new Uint32Array(256 * 256);
9
+ const image = png.encode(rgba, { width: 256, height: 256 });
10
+ ```
11
+
12
+ ## supported platforms
13
+ | | node@10 | node@12 | node@14 | node@16 |
14
+ | ---------------- | ------- | ------- | ------- | ------- |
15
+ | wasm32 | ✕ | ✕ | ✕ | ✕ |
16
+ | macos x64 | ✓ | ✓ | ✓ | ✓ |
17
+ | macos arm64 | ✓ | ✓ | ✓ | ✓ |
18
+ | windows x64 | ✓ | ✓ | ✓ | ✓ |
19
+ | linux x64 gnu | ✓ | ✓ | ✓ | ✓ |
20
+ | linux arm64 gnu | ✓ | ✓ | ✓ | ✓ |
21
+
22
+ you can force usage of wasm by setting `CODECS_FORCE_WASM` env variable
23
+
24
+ for deno and browsers use `@imagescript/codecs/wasm/bundle/browser.js` [cdn](https://unpkg.com/@imagescript/codecs/wasm/bundle/browser.js)
25
+
26
+ ## benchmarks
27
+
28
+ image used for benchmarks: `new framebuffer(width, height).fill((x, y) => x * y)`
29
+
30
+ ![benchmark](https://plot.evan.lol/bar/eyJ0aXRsZSI6IkdJRiBvcHMvcyAoaGlnaGVyIGlzIGJldHRlcikiLCJwb2ludHMiOlt7Im5hbWUiOiJlbmNvZGUoNXggUkdCQSAyNTZ4MjU2KSIsInNjb3JlcyI6WzE0LjU2LDIuMzZdfSx7Im5hbWUiOiJlbmNvZGUoNXggUkdCQSAxMDI0eDEwMjQpIiwic2NvcmVzIjpbMC43MywwLjIxXX1dLCJsZWdlbmQiOlt7Im5hbWUiOiJuYXRpdmUoQGltYWdlc2NyaXB0L2NvZGVjcykiLCJjb2xvciI6ODUxMTM4MDQ3fSx7Im5hbWUiOiJqcyhAc2t5cmEvZ2lmZW5jKSIsImNvbG9yIjotMTI1MDk3MjY3M31dfQ==.png)
31
+
32
+ ![benchmark](https://plot.evan.lol/bar/eyJ0aXRsZSI6IkpQRUcgb3BzL3MgKGhpZ2hlciBpcyBiZXR0ZXIpIiwicG9pbnRzIjpbeyJuYW1lIjoiZW5jb2RlKFJHQkEgNjR4NjQpIiwic2NvcmVzIjpbNDMuNTgsNTcyOS4wOCw4MTEuMjldfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAyNTZ4MjU2KSIsInNjb3JlcyI6WzMyLjQ0LDM2NS45MywyMjguN119LHsibmFtZSI6ImVuY29kZShSR0JBIDUxMng1MTIpIiwic2NvcmVzIjpbMTYuMjIsODIuOTgsNzkuMjddfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAxMDI0eDEwMjQpIiwic2NvcmVzIjpbNC4yMiwxOS4xNiwyMi43OV19LHsibmFtZSI6ImVuY29kZShSR0JBIDIwNDh4MjA0OCkiLCJzY29yZXMiOlsxLjA1LDQuODksNS42N119XSwibGVnZW5kIjpbeyJuYW1lIjoianMoanBlZy1qcykiLCJjb2xvciI6ODUxMTM4MDQ3fSx7Im5hbWUiOiJuYXRpdmUoQGltYWdlc2NyaXB0L2NvZGVjcykiLCJjb2xvciI6LTEyNTA5NzI2NzN9LHsibmFtZSI6Im5hdGl2ZShzaGFycCkiLCJjb2xvciI6LTExNTY1MDA0ODF9XX0=.png)
33
+
34
+ ![benchmark](https://plot.evan.lol/bar/eyJ0aXRsZSI6IlBORyBvcHMvcyAoaGlnaGVyIGlzIGJldHRlcikiLCJwb2ludHMiOlt7Im5hbWUiOiJlbmNvZGUoUkdCQSA2NHg2NCkiLCJzY29yZXMiOlsyNDAuNzEsMTQzNy44Nyw2OTAuOTQsNzY2LjA1XX0seyJuYW1lIjoiZW5jb2RlKFJHQkEgMjU2eDI1NikiLCJzY29yZXMiOlsxMi43OSw1Ni4yOCwzMS41MywxMTIuNDZdfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSA1MTJ4NTEyKSIsInNjb3JlcyI6WzkuOTQsMjUuODMsMTAuMzEsMzQuODZdfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAxMDI0eDEwMjQpIiwic2NvcmVzIjpbMy4wNCw3LDMuMzcsMTAuMzddfSx7Im5hbWUiOiJlbmNvZGUoUkdCQSAyMDQ4eDIwNDgpIiwic2NvcmVzIjpbMC44LDEuNzYsMC45NywyLjddfV0sImxlZ2VuZCI6W3sibmFtZSI6ImpzKHVwbmcpIiwiY29sb3IiOjg1MTEzODA0N30seyJuYW1lIjoibmF0aXZlKEBpbWFnZXNjcmlwdC9jb2RlY3MpIiwiY29sb3IiOi0xMjUwOTcyNjczfSx7Im5hbWUiOiJqcyhpbWFnZXNjcmlwdCkiLCJjb2xvciI6LTExNTY1MDA0ODF9LHsibmFtZSI6Im5hdGl2ZShzaGFycCkiLCJjb2xvciI6LTE0MTI4NzE2OX1dfQ==.png)
35
+
36
+ ## License
37
+
38
38
  MIT © [evan](https://github.com/evanwashere) [matmen](https://github.com/matmen)
package/package.json CHANGED
@@ -1,41 +1,41 @@
1
- {
2
- "name": "imagescript",
3
- "version": "1.2.15",
4
- "description": "zero-dependency javascript image manipulation",
5
- "main": "ImageScript.js",
6
- "types": "ImageScript.d.ts",
7
- "scripts": {
8
- "test": "node ./tests/run.js",
9
- "coverage": "nyc --reporter=html npm test"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/matmen/ImageScript.git"
14
- },
15
- "keywords": [
16
- "image",
17
- "image processing",
18
- "image manipulation",
19
- "png",
20
- "jpeg",
21
- "jpg",
22
- "scale",
23
- "resize",
24
- "crop",
25
- "webp",
26
- "svg",
27
- "bitmap",
28
- "gif",
29
- "picture",
30
- "thumbnail"
31
- ],
32
- "author": "Mathis Mensing <mathis@matmen.dev>",
33
- "license": "AGPL-3.0-or-later",
34
- "bugs": {
35
- "url": "https://github.com/matmen/ImageScript/issues"
36
- },
37
- "homepage": "https://github.com/matmen/ImageScript#readme",
38
- "engines": {
39
- "node": ">=14.0.0"
40
- }
41
- }
1
+ {
2
+ "name": "imagescript",
3
+ "version": "1.2.16",
4
+ "description": "zero-dependency javascript image manipulation",
5
+ "main": "ImageScript.js",
6
+ "types": "ImageScript.d.ts",
7
+ "scripts": {
8
+ "test": "node ./tests/run.js",
9
+ "coverage": "nyc --reporter=html npm test"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/matmen/ImageScript.git"
14
+ },
15
+ "keywords": [
16
+ "image",
17
+ "image processing",
18
+ "image manipulation",
19
+ "png",
20
+ "jpeg",
21
+ "jpg",
22
+ "scale",
23
+ "resize",
24
+ "crop",
25
+ "webp",
26
+ "svg",
27
+ "bitmap",
28
+ "gif",
29
+ "picture",
30
+ "thumbnail"
31
+ ],
32
+ "author": "Mathis Mensing <mathis@matmen.dev>",
33
+ "license": "(AGPL-3.0-or-later OR MIT)",
34
+ "bugs": {
35
+ "url": "https://github.com/matmen/ImageScript/issues"
36
+ },
37
+ "homepage": "https://github.com/matmen/ImageScript#readme",
38
+ "engines": {
39
+ "node": ">=14.0.0"
40
+ }
41
+ }