@bgord/bun 1.18.16 → 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 +1 -6
  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
package/src/index.ts CHANGED
@@ -206,41 +206,38 @@ export * from "./i18n.service";
206
206
  export * from "./id-provider.port";
207
207
  export * from "./id-provider-crypto.adapter";
208
208
  export * from "./id-provider-deterministic.adapter";
209
- export * from "./image-alpha.port";
210
- export * from "./image-alpha-noop.adapter";
211
- export * from "./image-alpha-sharp.adapter";
212
- export * from "./image-alpha-with-semaphore.adapter";
209
+ export * from "./image.types";
210
+ export * from "./image-blur.adapter";
213
211
  export * from "./image-blur.port";
214
212
  export * from "./image-blur-noop.adapter";
215
- export * from "./image-blur-sharp.adapter";
216
213
  export * from "./image-blur-with-semaphore.adapter";
214
+ export * from "./image-compressor.adapter";
217
215
  export * from "./image-compressor.port";
218
216
  export * from "./image-compressor-noop.adapter";
219
- export * from "./image-compressor-sharp.adapter";
220
217
  export * from "./image-compressor-with-semaphore.adapter";
218
+ export * from "./image-exif-clear.adapter";
221
219
  export * from "./image-exif-clear.port";
222
220
  export * from "./image-exif-clear-noop.adapter";
223
- export * from "./image-exif-clear-sharp.adapter";
224
221
  export * from "./image-exif-clear-with-semaphore.adapter";
222
+ export * from "./image-formatter.adapter";
225
223
  export * from "./image-formatter.port";
226
224
  export * from "./image-formatter-noop.adapter";
227
- export * from "./image-formatter-sharp.adapter";
228
225
  export * from "./image-formatter-with-semaphore.adapter";
226
+ export * from "./image-grayscale.adapter";
229
227
  export * from "./image-grayscale.port";
230
228
  export * from "./image-grayscale-noop.adapter";
231
- export * from "./image-grayscale-sharp.adapter";
232
229
  export * from "./image-grayscale-with-semaphore.adapter";
230
+ export * from "./image-info.adapter";
233
231
  export * from "./image-info.port";
234
232
  export * from "./image-info-noop.adapter";
235
- export * from "./image-info-sharp.adapter";
236
233
  export * from "./image-info-with-semaphore.adapter";
234
+ export * from "./image-processor.adapter";
237
235
  export * from "./image-processor.port";
238
236
  export * from "./image-processor-noop.adapter";
239
- export * from "./image-processor-sharp.adapter";
240
237
  export * from "./image-processor-with-semaphore.adapter";
238
+ export * from "./image-resizer.adapter";
241
239
  export * from "./image-resizer.port";
242
240
  export * from "./image-resizer-noop.adapter";
243
- export * from "./image-resizer-sharp.adapter";
244
241
  export * from "./image-resizer-with-semaphore.adapter";
245
242
  export * from "./in-flight-requests-hono.middleware";
246
243
  export * from "./in-flight-requests-tracker.service";
@@ -21,6 +21,7 @@ export class MailerFileAdapter implements MailerPort {
21
21
  `Attachments: ${template.attachments?.length ?? 0}`,
22
22
  "-".repeat(50),
23
23
  template.message.html,
24
+ // Stryker disable next-line StringLiteral
24
25
  ].join("\n");
25
26
 
26
27
  const file = new File([content], filename.get());
@@ -42,6 +42,7 @@ export class RequestContextHonoAdapter implements RequestContext {
42
42
 
43
43
  return await request.text();
44
44
  } catch {
45
+ // Stryker disable next-line StringLiteral
45
46
  return "";
46
47
  }
47
48
  },
@@ -1,6 +0,0 @@
1
- import type * as tools from "@bgord/tools";
2
- import type { ImageAlphaPort, ImageAlphaStrategy } from "./image-alpha.port";
3
- export declare class ImageAlphaNoopAdapter implements ImageAlphaPort {
4
- flatten(recipe: ImageAlphaStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
5
- }
6
- //# sourceMappingURL=image-alpha-noop.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha-noop.adapter.d.ts","sourceRoot":"","sources":["../src/image-alpha-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,qBAAa,qBAAsB,YAAW,cAAc;IACpD,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAElG;CACF"}
@@ -1,6 +0,0 @@
1
- export class ImageAlphaNoopAdapter {
2
- async flatten(recipe) {
3
- return recipe.strategy === "output_path" ? recipe.output : recipe.input;
4
- }
5
- }
6
- //# sourceMappingURL=image-alpha-noop.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha-noop.adapter.js","sourceRoot":"","sources":["../src/image-alpha-noop.adapter.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,OAAO,CAAC,MAA0B;QACtC,OAAO,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1E,CAAC;CACF"}
@@ -1,19 +0,0 @@
1
- import type * as tools from "@bgord/tools";
2
- import type { FileRenamerPort } from "./file-renamer.port";
3
- import type { ImageAlphaPort, ImageAlphaStrategy } from "./image-alpha.port";
4
- export declare const ImageAlphaSharpAdapterError: {
5
- MissingDependency: string;
6
- };
7
- type Dependencies = {
8
- FileRenamer: FileRenamerPort;
9
- };
10
- export declare class ImageAlphaSharpAdapter implements ImageAlphaPort {
11
- private readonly sharp;
12
- private readonly deps;
13
- private static readonly importer;
14
- private constructor();
15
- static build(deps: Dependencies): Promise<ImageAlphaSharpAdapter>;
16
- flatten(recipe: ImageAlphaStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
17
- }
18
- export {};
19
- //# sourceMappingURL=image-alpha-sharp.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-alpha-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,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,eAAO,MAAM,2BAA2B;IACtC,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAGrD,qBAAa,sBAAuB,YAAW,cAAc;IAOzD,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,sBAAsB,CAAC,CAItE;IAEK,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAqBlG;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 ImageAlphaSharpAdapterError = {
55
- MissingDependency: "image.alpha.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageAlphaSharpAdapter {
58
- sharp;
59
- deps;
60
- static importer = DynamicImport.for("sharp", ImageAlphaSharpAdapterError.MissingDependency);
61
- constructor(sharp, deps) {
62
- this.sharp = sharp;
63
- this.deps = deps;
64
- }
65
- static async build(deps) {
66
- const library = await ImageAlphaSharpAdapter.importer.resolve();
67
- return new ImageAlphaSharpAdapter(library.default, deps);
68
- }
69
- async flatten(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("-flattened"));
75
- const extension = final.getFilename().getExtension();
76
- const format = (extension === "jpg" ? "jpeg" : extension);
77
- const pipeline = this.sharp(recipe.input.get());
78
- const _pipeline_dispose = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
79
- await pipeline
80
- .rotate()
81
- .flatten({ background: recipe.background })
82
- .toFormat(format)
83
- .toFile(temporary.get());
84
- await this.deps.FileRenamer.rename(temporary, final);
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-alpha-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha-sharp.adapter.js","sourceRoot":"","sources":["../src/image-alpha-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,iBAAiB,EAAE,oDAAoD;CACxE,CAAC;AAKF,MAAM,OAAO,sBAAsB;IAOd,KAAK;IACL,IAAI;IAPf,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,2BAA2B,CAAC,iBAAiB,CAC9C,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,sBAAsB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEhE,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA0B;;;YACtC,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,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;YAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,iBAAiB,kCAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAA,CAAC;YAEzE,MAAM,QAAQ;iBACX,MAAM,EAAE;iBACR,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;iBAC1C,QAAQ,CAAC,MAAM,CAAC;iBAChB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YAE3B,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErD,OAAO,KAAK,CAAC;;;;;;;;;IACf,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- import type * as tools from "@bgord/tools";
2
- import type { ImageAlphaPort, ImageAlphaStrategy } from "./image-alpha.port";
3
- import type { Semaphore } from "./semaphore.service";
4
- type Dependencies = {
5
- inner: ImageAlphaPort;
6
- semaphore: Semaphore;
7
- };
8
- export declare class ImageAlphaWithSemaphoreAdapter implements ImageAlphaPort {
9
- private readonly deps;
10
- constructor(deps: Dependencies);
11
- flatten(recipe: ImageAlphaStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
12
- }
13
- export {};
14
- //# sourceMappingURL=image-alpha-with-semaphore.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha-with-semaphore.adapter.d.ts","sourceRoot":"","sources":["../src/image-alpha-with-semaphore.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpE,qBAAa,8BAA+B,YAAW,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,YAAY,EAAI;IAE7C,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAElG;CACF"}
@@ -1,10 +0,0 @@
1
- export class ImageAlphaWithSemaphoreAdapter {
2
- deps;
3
- constructor(deps) {
4
- this.deps = deps;
5
- }
6
- async flatten(recipe) {
7
- return this.deps.semaphore.run(() => this.deps.inner.flatten(recipe));
8
- }
9
- }
10
- //# sourceMappingURL=image-alpha-with-semaphore.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha-with-semaphore.adapter.js","sourceRoot":"","sources":["../src/image-alpha-with-semaphore.adapter.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,8BAA8B;IACZ,IAAI;IAAjC,YAA6B,IAAkB;oBAAlB,IAAI;IAAiB,CAAC;IAEnD,KAAK,CAAC,OAAO,CAAC,MAA0B;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;CACF"}
@@ -1,24 +0,0 @@
1
- import type * as tools from "@bgord/tools";
2
- type ImageAlphaBackground = string | {
3
- r: number;
4
- g: number;
5
- b: number;
6
- alpha?: number;
7
- };
8
- type ImageAlphaOutputPathStrategy = {
9
- strategy: "output_path";
10
- input: tools.FilePathRelative | tools.FilePathAbsolute;
11
- output: tools.FilePathRelative | tools.FilePathAbsolute;
12
- background: ImageAlphaBackground;
13
- };
14
- type ImageAlphaInPlaceStrategy = {
15
- strategy: "in_place";
16
- input: tools.FilePathRelative | tools.FilePathAbsolute;
17
- background: ImageAlphaBackground;
18
- };
19
- export type ImageAlphaStrategy = ImageAlphaInPlaceStrategy | ImageAlphaOutputPathStrategy;
20
- export interface ImageAlphaPort {
21
- flatten(recipe: ImageAlphaStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
22
- }
23
- export {};
24
- //# sourceMappingURL=image-alpha.port.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha.port.d.ts","sourceRoot":"","sources":["../src/image-alpha.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,KAAK,oBAAoB,GAAG,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACzF,KAAK,4BAA4B,GAAG;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACvD,MAAM,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACxD,UAAU,EAAE,oBAAoB,CAAC;CAClC,CAAC;AACF,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACvD,UAAU,EAAE,oBAAoB,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,4BAA4B,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;CAC/F"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=image-alpha.port.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-alpha.port.js","sourceRoot":"","sources":["../src/image-alpha.port.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-blur-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-blur-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,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,eAAO,MAAM,0BAA0B;IACrC,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAGrD,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,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAgB9F;CACF"}
@@ -1,92 +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 ImageBlurSharpAdapterError = {
55
- MissingDependency: "image.blur.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageBlurSharpAdapter {
58
- sharp;
59
- deps;
60
- static importer = DynamicImport.for("sharp", ImageBlurSharpAdapterError.MissingDependency);
61
- constructor(sharp, deps) {
62
- this.sharp = sharp;
63
- this.deps = deps;
64
- }
65
- static async build(deps) {
66
- const library = await ImageBlurSharpAdapter.importer.resolve();
67
- return new ImageBlurSharpAdapter(library.default, deps);
68
- }
69
- async blur(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("-blurred"));
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.rotate().blur(recipe.sigma).toFormat(format).toFile(temporary.get());
80
- await this.deps.FileRenamer.rename(temporary, final);
81
- return final;
82
- }
83
- catch (e_1) {
84
- env_1.error = e_1;
85
- env_1.hasError = true;
86
- }
87
- finally {
88
- __disposeResources(env_1);
89
- }
90
- }
91
- }
92
- //# sourceMappingURL=image-blur-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-blur-sharp.adapter.js","sourceRoot":"","sources":["../src/image-blur-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,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,IAAI,CAAC,MAAyB;;;YAClC,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,UAAU,CAAC,CAAC,CAAC;YAEtE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;YAE9F,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,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YACpF,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-compressor-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-compressor-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,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE5F,eAAO,MAAM,gCAAgC;IAC3C,iBAAiB;CAClB,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAGrD,qBAAa,2BAA4B,YAAW,mBAAmB;IAQnE,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,2BAA2B,CAAC,CAI3E;IAEK,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAiBxG;CACF"}
@@ -1,94 +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 ImageCompressorSharpAdapterError = {
55
- MissingDependency: "image.compressor.sharp.adapter.error.missing.dependency",
56
- };
57
- export class ImageCompressorSharpAdapter {
58
- sharp;
59
- deps;
60
- static DEFAULT_QUALITY = 85;
61
- static importer = DynamicImport.for("sharp", ImageCompressorSharpAdapterError.MissingDependency);
62
- constructor(sharp, deps) {
63
- this.sharp = sharp;
64
- this.deps = deps;
65
- }
66
- static async build(deps) {
67
- const library = await ImageCompressorSharpAdapter.importer.resolve();
68
- return new ImageCompressorSharpAdapter(library.default, deps);
69
- }
70
- async compress(recipe) {
71
- const env_1 = { stack: [], error: void 0, hasError: false };
72
- try {
73
- const quality = recipe.quality ?? ImageCompressorSharpAdapter.DEFAULT_QUALITY;
74
- const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
75
- const filename = final.getFilename();
76
- const temporary = final.withFilename(filename.withSuffix("-compressed"));
77
- const extension = final.getFilename().getExtension();
78
- const format = (extension === "jpg" ? "jpeg" : extension);
79
- const pipeline = this.sharp(recipe.input.get());
80
- const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
81
- await pipeline.rotate().toFormat(format, { quality }).toFile(temporary.get());
82
- await this.deps.FileRenamer.rename(temporary, final);
83
- return final;
84
- }
85
- catch (e_1) {
86
- env_1.error = e_1;
87
- env_1.hasError = true;
88
- }
89
- finally {
90
- __disposeResources(env_1);
91
- }
92
- }
93
- }
94
- //# sourceMappingURL=image-compressor-sharp.adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-compressor-sharp.adapter.js","sourceRoot":"","sources":["../src/image-compressor-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,iBAAiB,EAAE,yDAAyD;CAC7E,CAAC;AAKF,MAAM,OAAO,2BAA2B;IAQnB,KAAK;IACL,IAAI;IARf,MAAM,CAAU,eAAe,GAAG,EAAE,CAAC;IACrC,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,gCAAgC,CAAC,iBAAiB,CACnD,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,2BAA2B,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAErE,OAAO,IAAI,2BAA2B,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA+B;;;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC,eAAe,CAAC;YAE9E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YAEzE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;YAE9F,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,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErD,OAAO,KAAK,CAAC;;;;;;;;;IACf,CAAC;CACF"}
@@ -1,19 +0,0 @@
1
- import type * as tools from "@bgord/tools";
2
- import type { FileRenamerPort } from "./file-renamer.port";
3
- import type { ImageExifClearPort, ImageExifClearStrategy } from "./image-exif-clear.port";
4
- export declare const ImageExifClearSharpAdapterError: {
5
- MissingDependency: string;
6
- };
7
- type Dependencies = {
8
- FileRenamer: FileRenamerPort;
9
- };
10
- export declare class ImageExifClearSharpAdapter implements ImageExifClearPort {
11
- private readonly sharp;
12
- private readonly deps;
13
- private static readonly importer;
14
- private constructor();
15
- static build(deps: Dependencies): Promise<ImageExifClearSharpAdapter>;
16
- clear(recipe: ImageExifClearStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
17
- }
18
- export {};
19
- //# sourceMappingURL=image-exif-clear-sharp.adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-exif-clear-sharp.adapter.d.ts","sourceRoot":"","sources":["../src/image-exif-clear-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,yBAAyB,CAAC;AAE1F,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,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAapG;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 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"}