@bgord/bun 1.18.15 → 1.19.0

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 (120) hide show
  1. package/dist/{image-blur-sharp.adapter.d.ts → image-blur.adapter.d.ts} +5 -9
  2. package/dist/image-blur.adapter.d.ts.map +1 -0
  3. package/dist/image-blur.adapter.js +19 -0
  4. package/dist/image-blur.adapter.js.map +1 -0
  5. package/dist/image-blur.port.d.ts +0 -2
  6. package/dist/image-blur.port.d.ts.map +1 -1
  7. package/dist/{image-compressor-sharp.adapter.d.ts → image-compressor.adapter.d.ts} +5 -9
  8. package/dist/image-compressor.adapter.d.ts.map +1 -0
  9. package/dist/image-compressor.adapter.js +20 -0
  10. package/dist/image-compressor.adapter.js.map +1 -0
  11. package/dist/image-exif-clear.adapter.d.ts +15 -0
  12. package/dist/image-exif-clear.adapter.d.ts.map +1 -0
  13. package/dist/image-exif-clear.adapter.js +17 -0
  14. package/dist/image-exif-clear.adapter.js.map +1 -0
  15. package/dist/{image-formatter-sharp.adapter.d.ts → image-formatter.adapter.d.ts} +5 -9
  16. package/dist/image-formatter.adapter.d.ts.map +1 -0
  17. package/dist/image-formatter.adapter.js +22 -0
  18. package/dist/image-formatter.adapter.js.map +1 -0
  19. package/dist/{image-grayscale-sharp.adapter.d.ts → image-grayscale.adapter.d.ts} +5 -9
  20. package/dist/image-grayscale.adapter.d.ts.map +1 -0
  21. package/dist/image-grayscale.adapter.js +22 -0
  22. package/dist/image-grayscale.adapter.js.map +1 -0
  23. package/dist/image-info.adapter.d.ts +12 -0
  24. package/dist/image-info.adapter.d.ts.map +1 -0
  25. package/dist/image-info.adapter.js +21 -0
  26. package/dist/image-info.adapter.js.map +1 -0
  27. package/dist/{image-processor-sharp.adapter.d.ts → image-processor.adapter.d.ts} +5 -9
  28. package/dist/image-processor.adapter.d.ts.map +1 -0
  29. package/dist/image-processor.adapter.js +28 -0
  30. package/dist/image-processor.adapter.js.map +1 -0
  31. package/dist/image-processor.port.d.ts +0 -8
  32. package/dist/image-processor.port.d.ts.map +1 -1
  33. package/dist/{image-resizer-sharp.adapter.d.ts → image-resizer.adapter.d.ts} +5 -9
  34. package/dist/image-resizer.adapter.d.ts.map +1 -0
  35. package/dist/image-resizer.adapter.js +21 -0
  36. package/dist/image-resizer.adapter.js.map +1 -0
  37. package/dist/image.types.d.ts +2 -0
  38. package/dist/image.types.d.ts.map +1 -0
  39. package/dist/image.types.js +2 -0
  40. package/dist/image.types.js.map +1 -0
  41. package/dist/index.d.ts +9 -12
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +9 -12
  44. package/dist/index.js.map +1 -1
  45. package/dist/mailer-file.adapter.d.ts.map +1 -1
  46. package/dist/mailer-file.adapter.js +1 -0
  47. package/dist/mailer-file.adapter.js.map +1 -1
  48. package/dist/request-context-hono.adapter.d.ts.map +1 -1
  49. package/dist/request-context-hono.adapter.js +1 -0
  50. package/dist/request-context-hono.adapter.js.map +1 -1
  51. package/package.json +10 -15
  52. package/readme.md +9 -12
  53. package/src/image-blur.adapter.ts +29 -0
  54. package/src/image-blur.port.ts +0 -2
  55. package/src/image-compressor.adapter.ts +31 -0
  56. package/src/image-exif-clear.adapter.ts +26 -0
  57. package/src/image-formatter.adapter.ts +39 -0
  58. package/src/image-grayscale.adapter.ts +33 -0
  59. package/src/image-info.adapter.ts +26 -0
  60. package/src/image-processor.adapter.ts +46 -0
  61. package/src/image-processor.port.ts +0 -3
  62. package/src/image-resizer.adapter.ts +31 -0
  63. package/src/image.types.ts +1 -0
  64. package/src/index.ts +9 -12
  65. package/src/mailer-file.adapter.ts +1 -0
  66. package/src/request-context-hono.adapter.ts +1 -0
  67. package/dist/image-alpha-noop.adapter.d.ts +0 -6
  68. package/dist/image-alpha-noop.adapter.d.ts.map +0 -1
  69. package/dist/image-alpha-noop.adapter.js +0 -6
  70. package/dist/image-alpha-noop.adapter.js.map +0 -1
  71. package/dist/image-alpha-sharp.adapter.d.ts +0 -19
  72. package/dist/image-alpha-sharp.adapter.d.ts.map +0 -1
  73. package/dist/image-alpha-sharp.adapter.js +0 -96
  74. package/dist/image-alpha-sharp.adapter.js.map +0 -1
  75. package/dist/image-alpha-with-semaphore.adapter.d.ts +0 -14
  76. package/dist/image-alpha-with-semaphore.adapter.d.ts.map +0 -1
  77. package/dist/image-alpha-with-semaphore.adapter.js +0 -10
  78. package/dist/image-alpha-with-semaphore.adapter.js.map +0 -1
  79. package/dist/image-alpha.port.d.ts +0 -24
  80. package/dist/image-alpha.port.d.ts.map +0 -1
  81. package/dist/image-alpha.port.js +0 -2
  82. package/dist/image-alpha.port.js.map +0 -1
  83. package/dist/image-blur-sharp.adapter.d.ts.map +0 -1
  84. package/dist/image-blur-sharp.adapter.js +0 -92
  85. package/dist/image-blur-sharp.adapter.js.map +0 -1
  86. package/dist/image-compressor-sharp.adapter.d.ts.map +0 -1
  87. package/dist/image-compressor-sharp.adapter.js +0 -94
  88. package/dist/image-compressor-sharp.adapter.js.map +0 -1
  89. package/dist/image-exif-clear-sharp.adapter.d.ts +0 -19
  90. package/dist/image-exif-clear-sharp.adapter.d.ts.map +0 -1
  91. package/dist/image-exif-clear-sharp.adapter.js +0 -90
  92. package/dist/image-exif-clear-sharp.adapter.js.map +0 -1
  93. package/dist/image-formatter-sharp.adapter.d.ts.map +0 -1
  94. package/dist/image-formatter-sharp.adapter.js +0 -96
  95. package/dist/image-formatter-sharp.adapter.js.map +0 -1
  96. package/dist/image-grayscale-sharp.adapter.d.ts.map +0 -1
  97. package/dist/image-grayscale-sharp.adapter.js +0 -90
  98. package/dist/image-grayscale-sharp.adapter.js.map +0 -1
  99. package/dist/image-info-sharp.adapter.d.ts +0 -20
  100. package/dist/image-info-sharp.adapter.d.ts.map +0 -1
  101. package/dist/image-info-sharp.adapter.js +0 -95
  102. package/dist/image-info-sharp.adapter.js.map +0 -1
  103. package/dist/image-processor-sharp.adapter.d.ts.map +0 -1
  104. package/dist/image-processor-sharp.adapter.js +0 -109
  105. package/dist/image-processor-sharp.adapter.js.map +0 -1
  106. package/dist/image-resizer-sharp.adapter.d.ts.map +0 -1
  107. package/dist/image-resizer-sharp.adapter.js +0 -101
  108. package/dist/image-resizer-sharp.adapter.js.map +0 -1
  109. package/src/image-alpha-noop.adapter.ts +0 -8
  110. package/src/image-alpha-sharp.adapter.ts +0 -53
  111. package/src/image-alpha-with-semaphore.adapter.ts +0 -13
  112. package/src/image-alpha.port.ts +0 -19
  113. package/src/image-blur-sharp.adapter.ts +0 -48
  114. package/src/image-compressor-sharp.adapter.ts +0 -50
  115. package/src/image-exif-clear-sharp.adapter.ts +0 -45
  116. package/src/image-formatter-sharp.adapter.ts +0 -55
  117. package/src/image-grayscale-sharp.adapter.ts +0 -45
  118. package/src/image-info-sharp.adapter.ts +0 -49
  119. package/src/image-processor-sharp.adapter.ts +0 -73
  120. package/src/image-resizer-sharp.adapter.ts +0 -56
@@ -1,90 +0,0 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
- import { DynamicImport } from "./dynamic-import.service";
54
- export const ImageExifClearSharpAdapterError = {
55
- MissingDependency: "image.exif.clear.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageExifClearSharpAdapter {
58
- sharp;
59
- deps;
60
- static importer = DynamicImport.for("sharp", ImageExifClearSharpAdapterError.MissingDependency);
61
- constructor(sharp, deps) {
62
- this.sharp = sharp;
63
- this.deps = deps;
64
- }
65
- static async build(deps) {
66
- const library = await ImageExifClearSharpAdapter.importer.resolve();
67
- return new ImageExifClearSharpAdapter(library.default, deps);
68
- }
69
- async clear(recipe) {
70
- const env_1 = { stack: [], error: void 0, hasError: false };
71
- try {
72
- const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
73
- const filename = final.getFilename();
74
- const temporary = final.withFilename(filename.withSuffix("-exif-cleared"));
75
- const pipeline = this.sharp(recipe.input.get());
76
- const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
77
- await pipeline.rotate().toFile(temporary.get());
78
- await this.deps.FileRenamer.rename(temporary, final);
79
- return final;
80
- }
81
- catch (e_1) {
82
- env_1.error = e_1;
83
- env_1.hasError = true;
84
- }
85
- finally {
86
- __disposeResources(env_1);
87
- }
88
- }
89
- }
90
- //# sourceMappingURL=image-exif-clear-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-exif-clear-sharp.adapter.js","sourceRoot":"","sources":["../src/image-exif-clear-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,yDAAyD;CAC7E,CAAC;AAKF,MAAM,OAAO,0BAA0B;IAOlB,KAAK;IACL,IAAI;IAPf,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,+BAA+B,CAAC,iBAAiB,CAClD,CAAC;IAEF,YACmB,KAAY,EACZ,IAAkB;qBADlB,KAAK;oBACL,IAAI;IACpB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEpE,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAA8B;;;YACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;YAE3E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,OAAO,kCAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAA,CAAC;YAE/D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErD,OAAO,KAAK,CAAC;;;;;;;;;IACf,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-formatter-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-formatter-sharp.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,eAAO,MAAM,+BAA+B;IAC1C,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAGnF,qBAAa,0BAA2B,YAAW,kBAAkB;IAOjE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO,eAGH;IAEJ,OAAa,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAI1E;IAEK,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAsBrG;CACF"}
@@ -1,96 +0,0 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
- import { DynamicImport } from "./dynamic-import.service";
54
- export const ImageFormatterSharpAdapterError = {
55
- MissingDependency: "image.formatter.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageFormatterSharpAdapter {
58
- sharp;
59
- deps;
60
- static importer = DynamicImport.for("sharp", ImageFormatterSharpAdapterError.MissingDependency);
61
- constructor(sharp, deps) {
62
- this.sharp = sharp;
63
- this.deps = deps;
64
- }
65
- static async build(deps) {
66
- const library = await ImageFormatterSharpAdapter.importer.resolve();
67
- return new ImageFormatterSharpAdapter(library.default, deps);
68
- }
69
- async format(recipe) {
70
- const env_1 = { stack: [], error: void 0, hasError: false };
71
- try {
72
- const final = recipe.strategy === "output_path"
73
- ? recipe.output
74
- : recipe.input.withFilename(recipe.input.getFilename().withExtension(recipe.to));
75
- const temporary = final.withFilename(final.getFilename().withSuffix("-formatted"));
76
- const extension = final.getFilename().getExtension();
77
- const encoder = (extension === "jpg" ? "jpeg" : extension);
78
- const pipeline = this.sharp(recipe.input.get());
79
- const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
80
- await pipeline.toFormat(encoder).toFile(temporary.get());
81
- await this.deps.FileRenamer.rename(temporary, final);
82
- if (recipe.strategy === "in_place" && final.get() !== recipe.input.get()) {
83
- await this.deps.FileCleaner.delete(recipe.input.get());
84
- }
85
- return final;
86
- }
87
- catch (e_1) {
88
- env_1.error = e_1;
89
- env_1.hasError = true;
90
- }
91
- finally {
92
- __disposeResources(env_1);
93
- }
94
- }
95
- }
96
- //# sourceMappingURL=image-formatter-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-formatter-sharp.adapter.js","sourceRoot":"","sources":["../src/image-formatter-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,wDAAwD;CAC5E,CAAC;AAKF,MAAM,OAAO,0BAA0B;IAOlB,KAAK;IACL,IAAI;IAPf,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,+BAA+B,CAAC,iBAAiB,CAClD,CAAC;IAEF,YACmB,KAAY,EACZ,IAAkB;qBADlB,KAAK;oBACL,IAAI;IACpB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEpE,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAA8B;;;YACzC,MAAM,KAAK,GACT,MAAM,CAAC,QAAQ,KAAK,aAAa;gBAC/B,CAAC,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAErF,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YAEnF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;YAE/F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,OAAO,kCAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAA,CAAC;YAE/D,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;gBACzE,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,KAAK,CAAC;;;;;;;;;IACf,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-grayscale-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-grayscale-sharp.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,eAAO,MAAM,+BAA+B;IAC1C,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAGrD,qBAAa,0BAA2B,YAAW,kBAAkB;IAOjE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO,eAGH;IAEJ,OAAa,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAI1E;IAEK,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAaxG;CACF"}
@@ -1,90 +0,0 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
- import { DynamicImport } from "./dynamic-import.service";
54
- export const ImageGrayscaleSharpAdapterError = {
55
- MissingDependency: "image.grayscale.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageGrayscaleSharpAdapter {
58
- sharp;
59
- deps;
60
- static importer = DynamicImport.for("sharp", ImageGrayscaleSharpAdapterError.MissingDependency);
61
- constructor(sharp, deps) {
62
- this.sharp = sharp;
63
- this.deps = deps;
64
- }
65
- static async build(deps) {
66
- const library = await ImageGrayscaleSharpAdapter.importer.resolve();
67
- return new ImageGrayscaleSharpAdapter(library.default, deps);
68
- }
69
- async grayscale(recipe) {
70
- const env_1 = { stack: [], error: void 0, hasError: false };
71
- try {
72
- const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
73
- const filename = final.getFilename();
74
- const temporary = final.withFilename(filename.withSuffix("-grayscale"));
75
- const pipeline = this.sharp(recipe.input.get());
76
- const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
77
- await pipeline.rotate().grayscale().toFile(temporary.get());
78
- await this.deps.FileRenamer.rename(temporary, final);
79
- return final;
80
- }
81
- catch (e_1) {
82
- env_1.error = e_1;
83
- env_1.hasError = true;
84
- }
85
- finally {
86
- __disposeResources(env_1);
87
- }
88
- }
89
- }
90
- //# sourceMappingURL=image-grayscale-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-grayscale-sharp.adapter.js","sourceRoot":"","sources":["../src/image-grayscale-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,wDAAwD;CAC5E,CAAC;AAKF,MAAM,OAAO,0BAA0B;IAOlB,KAAK;IACL,IAAI;IAPf,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,+BAA+B,CAAC,iBAAiB,CAClD,CAAC;IAEF,YACmB,KAAY,EACZ,IAAkB;qBADlB,KAAK;oBACL,IAAI;IACpB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEpE,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAA8B;;;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YAExE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,OAAO,kCAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAA,CAAC;YAE/D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErD,OAAO,KAAK,CAAC;;;;;;;;;IACf,CAAC;CACF"}
@@ -1,20 +0,0 @@
1
- import * as tools from "@bgord/tools";
2
- import type { FileInspectionPort } from "./file-inspection.port";
3
- import type { ImageInfoPort, ImageInfoType } from "./image-info.port";
4
- export declare const ImageInfoSharpAdapterError: {
5
- MissingDependency: string;
6
- };
7
- type Dependencies = {
8
- FileInspection: FileInspectionPort;
9
- MimeRegistry: tools.MimeRegistry;
10
- };
11
- export declare class ImageInfoSharpAdapter implements ImageInfoPort {
12
- private readonly sharp;
13
- private readonly deps;
14
- private static readonly importer;
15
- private constructor();
16
- static build(deps: Dependencies): Promise<ImageInfoSharpAdapter>;
17
- inspect(input: tools.FilePathRelative | tools.FilePathAbsolute): Promise<ImageInfoType>;
18
- }
19
- export {};
20
- //# sourceMappingURL=image-info-sharp.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-info-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-info-sharp.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEtE,eAAO,MAAM,0BAA0B;IACrC,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,CAAC;AAG7F,qBAAa,qBAAsB,YAAW,aAAa;IAOvD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO,eAGH;IAEJ,OAAa,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAIrE;IAEK,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgB5F;CACF"}
@@ -1,95 +0,0 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
- import * as tools from "@bgord/tools";
54
- import * as v from "valibot";
55
- import { DynamicImport } from "./dynamic-import.service";
56
- export const ImageInfoSharpAdapterError = {
57
- MissingDependency: "image.info.sharp.adapter.error.missing.dependency",
58
- };
59
- export class ImageInfoSharpAdapter {
60
- sharp;
61
- deps;
62
- static importer = DynamicImport.for("sharp", ImageInfoSharpAdapterError.MissingDependency);
63
- constructor(sharp, deps) {
64
- this.sharp = sharp;
65
- this.deps = deps;
66
- }
67
- static async build(deps) {
68
- const library = await ImageInfoSharpAdapter.importer.resolve();
69
- return new ImageInfoSharpAdapter(library.default, deps);
70
- }
71
- async inspect(input) {
72
- const env_1 = { stack: [], error: void 0, hasError: false };
73
- try {
74
- const size = await this.deps.FileInspection.size(input);
75
- const pipeline = this.sharp(input.get());
76
- const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
77
- const metadata = await pipeline.metadata();
78
- const width = v.parse(tools.ImageWidth, metadata.width);
79
- const height = v.parse(tools.ImageHeight, metadata.height);
80
- const extension = v.parse(tools.Extension, metadata.format);
81
- const mime = this.deps.MimeRegistry.fromExtension(extension);
82
- if (!mime)
83
- throw new Error(tools.MimeRegistryError.MimeNotFound);
84
- return { width, height, mime, size };
85
- }
86
- catch (e_1) {
87
- env_1.error = e_1;
88
- env_1.hasError = true;
89
- }
90
- finally {
91
- __disposeResources(env_1);
92
- }
93
- }
94
- }
95
- //# sourceMappingURL=image-info-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-info-sharp.adapter.js","sourceRoot":"","sources":["../src/image-info-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,iBAAiB,EAAE,mDAAmD;CACvE,CAAC;AAKF,MAAM,OAAO,qBAAqB;IAOb,KAAK;IACL,IAAI;IAPf,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,0BAA0B,CAAC,iBAAiB,CAC7C,CAAC;IAEF,YACmB,KAAY,EACZ,IAAkB;qBADlB,KAAK;oBACL,IAAI;IACpB,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAE/D,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAsD;;;YAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAExD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACzC,MAAM,OAAO,kCAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAA,CAAC;YAE/D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAE3C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAE7D,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;;;;;;;;IACvC,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-processor-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-processor-sharp.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,eAAO,MAAM,+BAA+B;IAC1C,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAGnF,qBAAa,0BAA2B,YAAW,kBAAkB;IAQjE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO,eAGH;IAEJ,OAAa,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAI1E;IAEK,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAuCtG;CACF"}
@@ -1,109 +0,0 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
- import { DynamicImport } from "./dynamic-import.service";
54
- export const ImageProcessorSharpAdapterError = {
55
- MissingDependency: "image.processor.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageProcessorSharpAdapter {
58
- sharp;
59
- deps;
60
- static DEFAULT_QUALITY = 85;
61
- static importer = DynamicImport.for("sharp", ImageProcessorSharpAdapterError.MissingDependency);
62
- constructor(sharp, deps) {
63
- this.sharp = sharp;
64
- this.deps = deps;
65
- }
66
- static async build(deps) {
67
- const library = await ImageProcessorSharpAdapter.importer.resolve();
68
- return new ImageProcessorSharpAdapter(library.default, deps);
69
- }
70
- async process(recipe) {
71
- const env_1 = { stack: [], error: void 0, hasError: false };
72
- try {
73
- const final = recipe.strategy === "output_path"
74
- ? recipe.output
75
- : recipe.input.withFilename(recipe.input.getFilename().withExtension(recipe.to));
76
- const temporary = final.withFilename(final.getFilename().withSuffix("-processed"));
77
- const extension = final.getFilename().getExtension();
78
- const encoder = (extension === "jpg" ? "jpeg" : extension);
79
- const quality = recipe.quality ?? ImageProcessorSharpAdapter.DEFAULT_QUALITY;
80
- const pipeline = this.sharp(recipe.input.get());
81
- const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
82
- let processor = pipeline.rotate();
83
- if (recipe.background) {
84
- processor = processor.flatten({ background: recipe.background });
85
- }
86
- processor = processor.resize({
87
- width: recipe.maxSide,
88
- height: recipe.maxSide,
89
- fit: "inside",
90
- withoutEnlargement: true,
91
- });
92
- processor = processor.toFormat(encoder, { quality });
93
- await processor.toFile(temporary.get());
94
- await this.deps.FileRenamer.rename(temporary, final);
95
- if (recipe.strategy === "in_place" && final.get() !== recipe.input.get()) {
96
- await this.deps.FileCleaner.delete(recipe.input.get());
97
- }
98
- return final;
99
- }
100
- catch (e_1) {
101
- env_1.error = e_1;
102
- env_1.hasError = true;
103
- }
104
- finally {
105
- __disposeResources(env_1);
106
- }
107
- }
108
- }
109
- //# sourceMappingURL=image-processor-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-processor-sharp.adapter.js","sourceRoot":"","sources":["../src/image-processor-sharp.adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-resizer-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-resizer-sharp.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,eAAO,MAAM,6BAA6B;IACxC,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAGrD,qBAAa,wBAAyB,YAAW,gBAAgB;IAO7D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO,eAGH;IAEJ,OAAa,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAIxE;IAEK,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAwBnG;CACF"}
@@ -1,101 +0,0 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
- import { DynamicImport } from "./dynamic-import.service";
54
- export const ImageResizerSharpAdapterError = {
55
- MissingDependency: "image.resizer.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageResizerSharpAdapter {
58
- sharp;
59
- deps;
60
- static importer = DynamicImport.for("sharp", ImageResizerSharpAdapterError.MissingDependency);
61
- constructor(sharp, deps) {
62
- this.sharp = sharp;
63
- this.deps = deps;
64
- }
65
- static async build(deps) {
66
- const library = await ImageResizerSharpAdapter.importer.resolve();
67
- return new ImageResizerSharpAdapter(library.default, deps);
68
- }
69
- async resize(recipe) {
70
- const env_1 = { stack: [], error: void 0, hasError: false };
71
- try {
72
- const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
73
- const filename = final.getFilename();
74
- const temporary = final.withFilename(filename.withSuffix("-resized"));
75
- const extension = final.getFilename().getExtension();
76
- const format = (extension === "jpg" ? "jpeg" : extension);
77
- const pipeline = this.sharp(recipe.input.get());
78
- const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
79
- await pipeline
80
- .rotate()
81
- .resize({
82
- width: recipe.maxSide,
83
- height: recipe.maxSide,
84
- fit: "inside",
85
- withoutEnlargement: true,
86
- })
87
- .toFormat(format)
88
- .toFile(temporary.get());
89
- await this.deps.FileRenamer.rename(temporary, final);
90
- return final;
91
- }
92
- catch (e_1) {
93
- env_1.error = e_1;
94
- env_1.hasError = true;
95
- }
96
- finally {
97
- __disposeResources(env_1);
98
- }
99
- }
100
- }
101
- //# sourceMappingURL=image-resizer-sharp.adapter.js.map