@bgord/bun 1.12.7 → 1.12.9

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 (136) hide show
  1. package/dist/certificate-inspector-tls.adapter.d.ts.map +1 -1
  2. package/dist/certificate-inspector-tls.adapter.js +17 -14
  3. package/dist/certificate-inspector-tls.adapter.js.map +1 -1
  4. package/dist/csv-stringifier.adapter.d.ts +1 -4
  5. package/dist/csv-stringifier.adapter.d.ts.map +1 -1
  6. package/dist/csv-stringifier.adapter.js +4 -13
  7. package/dist/csv-stringifier.adapter.js.map +1 -1
  8. package/dist/dynamic-import.service.d.ts +10 -0
  9. package/dist/dynamic-import.service.d.ts.map +1 -0
  10. package/dist/dynamic-import.service.js +26 -0
  11. package/dist/dynamic-import.service.js.map +1 -0
  12. package/dist/file-draft-zip.service.d.ts +1 -4
  13. package/dist/file-draft-zip.service.d.ts.map +1 -1
  14. package/dist/file-draft-zip.service.js +4 -13
  15. package/dist/file-draft-zip.service.js.map +1 -1
  16. package/dist/i18n.service.d.ts.map +1 -1
  17. package/dist/i18n.service.js +2 -1
  18. package/dist/i18n.service.js.map +1 -1
  19. package/dist/image-alpha-sharp.adapter.d.ts +1 -7
  20. package/dist/image-alpha-sharp.adapter.d.ts.map +1 -1
  21. package/dist/image-alpha-sharp.adapter.js +4 -16
  22. package/dist/image-alpha-sharp.adapter.js.map +1 -1
  23. package/dist/image-blur-sharp.adapter.d.ts +1 -7
  24. package/dist/image-blur-sharp.adapter.d.ts.map +1 -1
  25. package/dist/image-blur-sharp.adapter.js +4 -16
  26. package/dist/image-blur-sharp.adapter.js.map +1 -1
  27. package/dist/image-compressor-sharp.adapter.d.ts +1 -7
  28. package/dist/image-compressor-sharp.adapter.d.ts.map +1 -1
  29. package/dist/image-compressor-sharp.adapter.js +4 -16
  30. package/dist/image-compressor-sharp.adapter.js.map +1 -1
  31. package/dist/image-exif-clear-sharp.adapter.d.ts +1 -7
  32. package/dist/image-exif-clear-sharp.adapter.d.ts.map +1 -1
  33. package/dist/image-exif-clear-sharp.adapter.js +4 -16
  34. package/dist/image-exif-clear-sharp.adapter.js.map +1 -1
  35. package/dist/image-formatter-sharp.adapter.d.ts +1 -7
  36. package/dist/image-formatter-sharp.adapter.d.ts.map +1 -1
  37. package/dist/image-formatter-sharp.adapter.js +4 -16
  38. package/dist/image-formatter-sharp.adapter.js.map +1 -1
  39. package/dist/image-info-sharp.adapter.d.ts +1 -7
  40. package/dist/image-info-sharp.adapter.d.ts.map +1 -1
  41. package/dist/image-info-sharp.adapter.js +4 -16
  42. package/dist/image-info-sharp.adapter.js.map +1 -1
  43. package/dist/image-processor-sharp.adapter.d.ts +1 -7
  44. package/dist/image-processor-sharp.adapter.d.ts.map +1 -1
  45. package/dist/image-processor-sharp.adapter.js +4 -16
  46. package/dist/image-processor-sharp.adapter.js.map +1 -1
  47. package/dist/image-resizer-sharp.adapter.d.ts +1 -7
  48. package/dist/image-resizer-sharp.adapter.d.ts.map +1 -1
  49. package/dist/image-resizer-sharp.adapter.js +4 -16
  50. package/dist/image-resizer-sharp.adapter.js.map +1 -1
  51. package/dist/index.d.ts +12 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +12 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/mailer-resend.adapter.d.ts +1 -2
  56. package/dist/mailer-resend.adapter.d.ts.map +1 -1
  57. package/dist/mailer-resend.adapter.js +6 -17
  58. package/dist/mailer-resend.adapter.js.map +1 -1
  59. package/dist/mailer-smtp.adapter.d.ts +1 -2
  60. package/dist/mailer-smtp.adapter.d.ts.map +1 -1
  61. package/dist/mailer-smtp.adapter.js +3 -13
  62. package/dist/mailer-smtp.adapter.js.map +1 -1
  63. package/dist/message-bus-with-logger.adapter.d.ts +3 -3
  64. package/dist/message-bus-with-logger.adapter.d.ts.map +1 -1
  65. package/dist/message-bus-with-logger.adapter.js +3 -5
  66. package/dist/message-bus-with-logger.adapter.js.map +1 -1
  67. package/dist/sse-connection-hono.adapter.d.ts +19 -0
  68. package/dist/sse-connection-hono.adapter.d.ts.map +1 -0
  69. package/dist/sse-connection-hono.adapter.js +38 -0
  70. package/dist/sse-connection-hono.adapter.js.map +1 -0
  71. package/dist/sse-connection-hono.handler.d.ts +17 -0
  72. package/dist/sse-connection-hono.handler.d.ts.map +1 -0
  73. package/dist/sse-connection-hono.handler.js +19 -0
  74. package/dist/sse-connection-hono.handler.js.map +1 -0
  75. package/dist/sse-connection-noop.adapter.d.ts +7 -0
  76. package/dist/sse-connection-noop.adapter.d.ts.map +1 -0
  77. package/dist/sse-connection-noop.adapter.js +5 -0
  78. package/dist/sse-connection-noop.adapter.js.map +1 -0
  79. package/dist/sse-connection-with-logger.adapter.d.ts +16 -0
  80. package/dist/sse-connection-with-logger.adapter.d.ts.map +1 -0
  81. package/dist/sse-connection-with-logger.adapter.js +27 -0
  82. package/dist/sse-connection-with-logger.adapter.js.map +1 -0
  83. package/dist/sse-connection.port.d.ts +6 -0
  84. package/dist/sse-connection.port.d.ts.map +1 -0
  85. package/dist/sse-connection.port.js +2 -0
  86. package/dist/sse-connection.port.js.map +1 -0
  87. package/dist/sse-registry-collecting.adapter.d.ts +13 -0
  88. package/dist/sse-registry-collecting.adapter.d.ts.map +1 -0
  89. package/dist/sse-registry-collecting.adapter.js +9 -0
  90. package/dist/sse-registry-collecting.adapter.js.map +1 -0
  91. package/dist/sse-registry-noop.adapter.d.ts +9 -0
  92. package/dist/sse-registry-noop.adapter.d.ts.map +1 -0
  93. package/dist/sse-registry-noop.adapter.js +6 -0
  94. package/dist/sse-registry-noop.adapter.js.map +1 -0
  95. package/dist/sse-registry-with-logger.adapter.d.ts +18 -0
  96. package/dist/sse-registry-with-logger.adapter.d.ts.map +1 -0
  97. package/dist/sse-registry-with-logger.adapter.js +36 -0
  98. package/dist/sse-registry-with-logger.adapter.js.map +1 -0
  99. package/dist/sse-registry.adapter.d.ts +10 -0
  100. package/dist/sse-registry.adapter.d.ts.map +1 -0
  101. package/dist/sse-registry.adapter.js +17 -0
  102. package/dist/sse-registry.adapter.js.map +1 -0
  103. package/dist/sse-registry.port.d.ts +8 -0
  104. package/dist/sse-registry.port.d.ts.map +1 -0
  105. package/dist/sse-registry.port.js +2 -0
  106. package/dist/sse-registry.port.js.map +1 -0
  107. package/dist/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +4 -4
  109. package/readme.md +11 -0
  110. package/src/certificate-inspector-tls.adapter.ts +17 -12
  111. package/src/csv-stringifier.adapter.ts +8 -13
  112. package/src/dynamic-import.service.ts +26 -0
  113. package/src/file-draft-zip.service.ts +8 -14
  114. package/src/i18n.service.ts +2 -1
  115. package/src/image-alpha-sharp.adapter.ts +10 -19
  116. package/src/image-blur-sharp.adapter.ts +10 -19
  117. package/src/image-compressor-sharp.adapter.ts +9 -19
  118. package/src/image-exif-clear-sharp.adapter.ts +10 -19
  119. package/src/image-formatter-sharp.adapter.ts +10 -19
  120. package/src/image-info-sharp.adapter.ts +10 -19
  121. package/src/image-processor-sharp.adapter.ts +9 -19
  122. package/src/image-resizer-sharp.adapter.ts +10 -19
  123. package/src/index.ts +12 -0
  124. package/src/mailer-resend.adapter.ts +9 -22
  125. package/src/mailer-smtp.adapter.ts +9 -15
  126. package/src/message-bus-with-logger.adapter.ts +4 -7
  127. package/src/sse-connection-hono.adapter.ts +49 -0
  128. package/src/sse-connection-hono.handler.ts +22 -0
  129. package/src/sse-connection-noop.adapter.ts +8 -0
  130. package/src/sse-connection-with-logger.adapter.ts +34 -0
  131. package/src/sse-connection.port.ts +7 -0
  132. package/src/sse-registry-collecting.adapter.ts +15 -0
  133. package/src/sse-registry-noop.adapter.ts +11 -0
  134. package/src/sse-registry-with-logger.adapter.ts +46 -0
  135. package/src/sse-registry.adapter.ts +23 -0
  136. package/src/sse-registry.port.ts +10 -0
@@ -1 +1 @@
1
- {"version":3,"file":"certificate-inspector-tls.adapter.d.ts","sourceRoot":"","sources":["../src/certificate-inspector-tls.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAGzC,qBAAa,8BAA+B,YAAW,wBAAwB;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEzC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA6BhE"}
1
+ {"version":3,"file":"certificate-inspector-tls.adapter.d.ts","sourceRoot":"","sources":["../src/certificate-inspector-tls.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzC,qBAAa,8BAA+B,YAAW,wBAAwB;IACjE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,YAAY;IAEzC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAoChE"}
@@ -1,6 +1,5 @@
1
1
  import tls from "node:tls";
2
2
  import * as tools from "@bgord/tools";
3
- // Stryker disable all
4
3
  export class CertificateInspectorTLSAdapter {
5
4
  deps;
6
5
  constructor(deps) {
@@ -8,25 +7,29 @@ export class CertificateInspectorTLSAdapter {
8
7
  }
9
8
  async inspect(hostname) {
10
9
  return new Promise((resolve) => {
11
- const settle = (value) => {
12
- try {
13
- socket.end();
14
- socket.destroy();
15
- }
16
- finally {
17
- resolve(value);
18
- }
10
+ // Stryker disable all
11
+ const cleanup = (socket) => {
12
+ socket.end();
13
+ socket.destroy();
19
14
  };
15
+ // Stryker restore all
20
16
  const socket = tls.connect({ host: hostname, port: 443, servername: hostname, rejectUnauthorized: false }, () => {
21
17
  const certificate = socket.getPeerCertificate();
22
- if (!certificate?.valid_to)
23
- return settle({ success: false });
18
+ if (!certificate?.valid_to) {
19
+ cleanup(socket);
20
+ return resolve({ success: false });
21
+ }
24
22
  const remaining = tools.Timestamp.fromDateLike(certificate.valid_to).difference(this.deps.Clock.now());
25
- settle({ success: true, remaining });
23
+ cleanup(socket);
24
+ resolve({ success: true, remaining });
25
+ });
26
+ // Stryker disable all
27
+ socket.once("error", () => {
28
+ // Stryker restore all
29
+ cleanup(socket);
30
+ resolve({ success: false });
26
31
  });
27
- socket.once("error", () => settle({ success: false }));
28
32
  });
29
33
  }
30
34
  }
31
- // Stryker restore all
32
35
  //# sourceMappingURL=certificate-inspector-tls.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"certificate-inspector-tls.adapter.js","sourceRoot":"","sources":["../src/certificate-inspector-tls.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,sBAAsB;AACtB,MAAM,OAAO,8BAA8B;IACZ;IAA7B,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAEnD,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAE,EAAE;gBAC9C,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;wBAAS,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAC9E,GAAG,EAAE;gBACH,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAEhD,IAAI,CAAC,WAAW,EAAE,QAAQ;oBAAE,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE9D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CACtB,CAAC;gBAEF,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACvC,CAAC,CACF,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AACD,sBAAsB"}
1
+ {"version":3,"file":"certificate-inspector-tls.adapter.js","sourceRoot":"","sources":["../src/certificate-inspector-tls.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,MAAM,OAAO,8BAA8B;IACZ;IAA7B,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAEnD,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,sBAAsB;YACtB,MAAM,OAAO,GAAG,CAAC,MAAqB,EAAE,EAAE;gBACxC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC;YACF,sBAAsB;YAEtB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAC9E,GAAG,EAAE;gBACH,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBAEhD,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC;oBAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,OAAO,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrC,CAAC;gBAED,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,UAAU,CAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CACtB,CAAC;gBAEF,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACxC,CAAC,CACF,CAAC;YAEF,sBAAsB;YACtB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxB,sBAAsB;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -2,14 +2,11 @@ import type { CsvColumnType, CsvRowType, CsvStringifierPort } from "./csv-string
2
2
  export declare const CsvStringifierAdapterError: {
3
3
  MissingDependency: string;
4
4
  };
5
- type CsvLibrary = typeof import("csv");
6
5
  export declare class CsvStringifierAdapter implements CsvStringifierPort {
7
6
  private readonly csv;
7
+ private static readonly importer;
8
8
  private constructor();
9
9
  static build(): Promise<CsvStringifierAdapter>;
10
- private static resolve;
11
- static import(): Promise<CsvLibrary>;
12
10
  process(columns: ReadonlyArray<CsvColumnType>, data: Array<CsvRowType>): Promise<string>;
13
11
  }
14
- export {};
15
12
  //# sourceMappingURL=csv-stringifier.adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"csv-stringifier.adapter.d.ts","sourceRoot":"","sources":["../src/csv-stringifier.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5F,eAAO,MAAM,0BAA0B;;CAEtC,CAAC;AAEF,KAAK,UAAU,GAAG,cAAc,KAAK,CAAC,CAAC;AAEvC,qBAAa,qBAAsB,YAAW,kBAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAxC,OAAO;WAEM,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;mBAI/B,OAAO;WAQf,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAKpC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAG/F"}
1
+ {"version":3,"file":"csv-stringifier.adapter.d.ts","sourceRoot":"","sources":["../src/csv-stringifier.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5F,eAAO,MAAM,0BAA0B;;CAEtC,CAAC;AAIF,qBAAa,qBAAsB,YAAW,kBAAkB;IAM1C,OAAO,CAAC,QAAQ,CAAC,GAAG;IALxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO;WAEM,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAM9C,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAG/F"}
@@ -1,26 +1,17 @@
1
1
  import { text } from "node:stream/consumers";
2
+ import { DynamicImport } from "./dynamic-import.service";
2
3
  export const CsvStringifierAdapterError = {
3
4
  MissingDependency: "csv.stringifier.adapter.error.missing.dependency",
4
5
  };
5
6
  export class CsvStringifierAdapter {
6
7
  csv;
8
+ static importer = DynamicImport.for("csv", CsvStringifierAdapterError.MissingDependency);
7
9
  constructor(csv) {
8
10
  this.csv = csv;
9
11
  }
10
12
  static async build() {
11
- return new CsvStringifierAdapter(await CsvStringifierAdapter.resolve());
12
- }
13
- static async resolve() {
14
- try {
15
- return await CsvStringifierAdapter.import();
16
- }
17
- catch {
18
- throw new Error(CsvStringifierAdapterError.MissingDependency);
19
- }
20
- }
21
- static async import() {
22
- const name = "c" + "sv"; // Bun does not resolve dynamic imports with a dynamic name
23
- return import(name);
13
+ const dependency = await CsvStringifierAdapter.importer.resolve();
14
+ return new CsvStringifierAdapter(dependency);
24
15
  }
25
16
  async process(columns, data) {
26
17
  return text(this.csv.stringify(data, { header: true, columns }));
@@ -1 +1 @@
1
- {"version":3,"file":"csv-stringifier.adapter.js","sourceRoot":"","sources":["../src/csv-stringifier.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,iBAAiB,EAAE,kDAAkD;CACtE,CAAC;AAIF,MAAM,OAAO,qBAAqB;IACK;IAArC,YAAqC,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;IAAG,CAAC;IAExD,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,qBAAqB,CAAC,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,2DAA2D;QACpF,OAAO,MAAM,CAAC,IAAI,CAAwB,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqC,EAAE,IAAuB;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"csv-stringifier.adapter.js","sourceRoot":"","sources":["../src/csv-stringifier.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,iBAAiB,EAAE,kDAAkD;CACtE,CAAC;AAIF,MAAM,OAAO,qBAAqB;IAMK;IAL7B,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,KAAK,EACL,0BAA0B,CAAC,iBAAiB,CAC7C,CAAC;IAEF,YAAqC,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;IAAG,CAAC;IAExD,MAAM,CAAC,KAAK,CAAC,KAAK;QAChB,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAElE,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqC,EAAE,IAAuB;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare class DynamicImport<T> {
2
+ private readonly dependency;
3
+ private readonly error;
4
+ private constructor();
5
+ static for<T>(dependency: string, error: string): DynamicImport<T>;
6
+ resolve(): Promise<T>;
7
+ private import;
8
+ private obfuscate;
9
+ }
10
+ //# sourceMappingURL=dynamic-import.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-import.service.d.ts","sourceRoot":"","sources":["../src/dynamic-import.service.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAa,CAAC,CAAC;IAExB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFxB,OAAO;IAKP,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;IAI5D,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;YAQb,MAAM;IAIpB,OAAO,CAAC,SAAS;CAGlB"}
@@ -0,0 +1,26 @@
1
+ export class DynamicImport {
2
+ dependency;
3
+ error;
4
+ constructor(dependency, error) {
5
+ this.dependency = dependency;
6
+ this.error = error;
7
+ }
8
+ static for(dependency, error) {
9
+ return new DynamicImport(dependency, error);
10
+ }
11
+ async resolve() {
12
+ try {
13
+ return await this.import();
14
+ }
15
+ catch {
16
+ throw new Error(this.error);
17
+ }
18
+ }
19
+ async import() {
20
+ return import(this.obfuscate(this.dependency));
21
+ }
22
+ obfuscate(name) {
23
+ return name;
24
+ }
25
+ }
26
+ //# sourceMappingURL=dynamic-import.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-import.service.js","sourceRoot":"","sources":["../src/dynamic-import.service.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAa;IAEL;IACA;IAFnB,YACmB,UAAkB,EAClB,KAAa;QADb,eAAU,GAAV,UAAU,CAAQ;QAClB,UAAK,GAAL,KAAK,CAAQ;IAC7B,CAAC;IAEJ,MAAM,CAAC,GAAG,CAAI,UAAkB,EAAE,KAAa;QAC7C,OAAO,IAAI,aAAa,CAAI,UAAU,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAe,CAAC;IAC/D,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -3,15 +3,12 @@ import { FileDraft } from "./file-draft.service";
3
3
  export declare const FileDraftZipError: {
4
4
  MissingDependency: string;
5
5
  };
6
- type YazlLibrary = typeof import("yazl");
7
6
  export declare class FileDraftZip extends FileDraft {
8
7
  private readonly parts;
9
8
  private readonly yazl;
9
+ private static readonly importer;
10
10
  private constructor();
11
11
  static build(basename: tools.BasenameType, parts: ReadonlyArray<FileDraft>): Promise<FileDraftZip>;
12
- private static resolve;
13
- static import(): Promise<YazlLibrary>;
14
12
  create(): Promise<BodyInit>;
15
13
  }
16
- export {};
17
14
  //# sourceMappingURL=file-draft-zip.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-draft-zip.service.d.ts","sourceRoot":"","sources":["../src/file-draft-zip.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,KAAK,WAAW,GAAG,cAAc,MAAM,CAAC,CAAC;AAEzC,qBAAa,YAAa,SAAQ,SAAS;IAGvC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHvB,OAAO;WAQM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;mBAInF,OAAO;WAQf,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAKrC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC;CAwBlC"}
1
+ {"version":3,"file":"file-draft-zip.service.d.ts","sourceRoot":"","sources":["../src/file-draft-zip.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAIF,qBAAa,YAAa,SAAQ,SAAS;IAQvC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAG9B;IAEF,OAAO;WAQM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAKlG,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC;CAwBlC"}
@@ -1,5 +1,6 @@
1
1
  import { Readable } from "node:stream";
2
2
  import * as tools from "@bgord/tools";
3
+ import { DynamicImport } from "./dynamic-import.service";
3
4
  import { FileDraft } from "./file-draft.service";
4
5
  export const FileDraftZipError = {
5
6
  MissingDependency: "file.draft.zip.error.missing.dependency",
@@ -7,25 +8,15 @@ export const FileDraftZipError = {
7
8
  export class FileDraftZip extends FileDraft {
8
9
  parts;
9
10
  yazl;
11
+ static importer = DynamicImport.for("yazl", FileDraftZipError.MissingDependency);
10
12
  constructor(basename, parts, yazl) {
11
13
  super(basename, tools.Extension.parse("zip"), tools.Mimes.zip.mime);
12
14
  this.parts = parts;
13
15
  this.yazl = yazl;
14
16
  }
15
17
  static async build(basename, parts) {
16
- return new FileDraftZip(basename, parts, await FileDraftZip.resolve());
17
- }
18
- static async resolve() {
19
- try {
20
- return await FileDraftZip.import();
21
- }
22
- catch {
23
- throw new Error(FileDraftZipError.MissingDependency);
24
- }
25
- }
26
- static async import() {
27
- const name = "ya" + "zl"; // Bun does not resolve dynamic imports with a dynamic name
28
- return import(name);
18
+ const library = await FileDraftZip.importer.resolve();
19
+ return new FileDraftZip(basename, parts, library);
29
20
  }
30
21
  async create() {
31
22
  const zip = new this.yazl.ZipFile();
@@ -1 +1 @@
1
- {"version":3,"file":"file-draft-zip.service.js","sourceRoot":"","sources":["../src/file-draft-zip.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,iBAAiB,EAAE,yCAAyC;CAC7D,CAAC;AAIF,MAAM,OAAO,YAAa,SAAQ,SAAS;IAGtB;IACA;IAHnB,YACE,QAA4B,EACX,KAA+B,EAC/B,IAAiB;QAElC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAHnD,UAAK,GAAL,KAAK,CAA0B;QAC/B,SAAI,GAAJ,IAAI,CAAa;IAGpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAA4B,EAAE,KAA+B;QAC9E,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,2DAA2D;QACrF,OAAO,MAAM,CAAC,IAAI,CAAyB,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,sBAAsB;YACtB,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,sBAAsB;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAErE,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;QAEV,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"file-draft-zip.service.js","sourceRoot":"","sources":["../src/file-draft-zip.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,iBAAiB,EAAE,yCAAyC;CAC7D,CAAC;AAIF,MAAM,OAAO,YAAa,SAAQ,SAAS;IAQtB;IACA;IARX,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,MAAM,EACN,iBAAiB,CAAC,iBAAiB,CACpC,CAAC;IAEF,YACE,QAA4B,EACX,KAA+B,EAC/B,IAAiB;QAElC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAHnD,UAAK,GAAL,KAAK,CAA0B;QAC/B,SAAI,GAAJ,IAAI,CAAa;IAGpC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAA4B,EAAE,KAA+B;QAC9E,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtD,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,MAAM,GAAkB,EAAE,CAAC;QAEjC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,sBAAsB;YACtB,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,sBAAsB;QACxB,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAErE,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;QAEV,OAAO,MAAM,CAAC;IAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.service.d.ts","sourceRoot":"","sources":["../src/i18n.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAC;AAE1G,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/E,qBAAa,IAAI;IAIb,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,gBAAgB;IAJ1B,MAAM,CAAC,yBAAyB,+DAAiE;gBAG9E,IAAI,EAAE,YAAY,EAC3B,gBAAgB,GAAE,KAAK,CAAC,yBAA0D;IAGtF,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9E,eAAe,CAAC,YAAY,EAAE,gBAAgB,IAGlB,KAAK,mBAAmB,EAAE,YAAY,uBAAuB;IAsBzF,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,gBAAgB;CAMpF"}
1
+ {"version":3,"file":"i18n.service.d.ts","sourceRoot":"","sources":["../src/i18n.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAC;AAE1G,KAAK,YAAY,GAAG;IAAE,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE/E,qBAAa,IAAI;IAIb,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,gBAAgB;IAJ1B,MAAM,CAAC,yBAAyB,+DAAiE;gBAG9E,IAAI,EAAE,YAAY,EAC3B,gBAAgB,GAAE,KAAK,CAAC,yBAA0D;IAGtF,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI9E,eAAe,CAAC,YAAY,EAAE,gBAAgB,IAGlB,KAAK,mBAAmB,EAAE,YAAY,uBAAuB;IAuBzF,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,gBAAgB;CAMpF"}
@@ -16,9 +16,10 @@ export class I18n {
16
16
  const translation = translations[key];
17
17
  if (!translation) {
18
18
  that.deps.Logger.warn({
19
- message: `Missing translation for key ${key}`,
19
+ message: "Missing translation key",
20
20
  component: "infra",
21
21
  operation: "translations",
22
+ metadata: { key },
22
23
  });
23
24
  return key;
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.service.js","sourceRoot":"","sources":["../src/i18n.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAatC,MAAM,OAAO,IAAI;IAII;IACT;IAJV,MAAM,CAAC,yBAAyB,GAAG,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEjG,YACmB,IAAkB,EAC3B,mBAAoD,IAAI,CAAC,yBAAyB;QADzE,SAAI,GAAJ,IAAI,CAAc;QAC3B,qBAAgB,GAAhB,gBAAgB,CAAkE;IACzF,CAAC;IAEJ,KAAK,CAAC,eAAe,CAAC,QAA4B;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,YAA8B;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,OAAO,SAAS,SAAS,CAAC,GAAwB,EAAE,SAAmC;YACrF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,+BAA+B,GAAG,EAAE;oBAC7C,SAAS,EAAE,OAAO;oBAClB,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAC;gBAEH,OAAO,GAAG,CAAC;YACb,CAAC;YAED,IAAI,CAAC,SAAS;gBAAE,OAAO,WAAW,CAAC;YAEnC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACrC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EACrF,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B,CAAC,QAA4B;QACxD,OAAO,KAAK,CAAC,gBAAgB,CAAC,SAAS,CACrC,IAAI,CAAC,gBAAgB,EACrB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAC3C,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"i18n.service.js","sourceRoot":"","sources":["../src/i18n.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAatC,MAAM,OAAO,IAAI;IAII;IACT;IAJV,MAAM,CAAC,yBAAyB,GAAG,KAAK,CAAC,2BAA2B,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEjG,YACmB,IAAkB,EAC3B,mBAAoD,IAAI,CAAC,yBAAyB;QADzE,SAAI,GAAJ,IAAI,CAAc;QAC3B,qBAAgB,GAAhB,gBAAgB,CAAkE;IACzF,CAAC;IAEJ,KAAK,CAAC,eAAe,CAAC,QAA4B;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,YAA8B;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,OAAO,SAAS,SAAS,CAAC,GAAwB,EAAE,SAAmC;YACrF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,yBAAyB;oBAClC,SAAS,EAAE,OAAO;oBAClB,SAAS,EAAE,cAAc;oBACzB,QAAQ,EAAE,EAAE,GAAG,EAAE;iBAClB,CAAC,CAAC;gBAEH,OAAO,GAAG,CAAC;YACb,CAAC;YAED,IAAI,CAAC,SAAS;gBAAE,OAAO,WAAW,CAAC;YAEnC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACrC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EACrF,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B,CAAC,QAA4B;QACxD,OAAO,KAAK,CAAC,gBAAgB,CAAC,SAAS,CACrC,IAAI,CAAC,gBAAgB,EACrB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAC3C,CAAC;IACJ,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type * as tools from "@bgord/tools";
2
- import type sharp from "sharp";
3
2
  import type { FileRenamerPort } from "./file-renamer.port";
4
3
  import type { ImageAlphaPort, ImageAlphaStrategy } from "./image-alpha.port";
5
4
  export declare const ImageAlphaSharpAdapterError: {
@@ -8,17 +7,12 @@ export declare const ImageAlphaSharpAdapterError: {
8
7
  type Dependencies = {
9
8
  FileRenamer: FileRenamerPort;
10
9
  };
11
- type SharpCallable = typeof sharp;
12
- type SharpModule = {
13
- default: SharpCallable;
14
- };
15
10
  export declare class ImageAlphaSharpAdapter implements ImageAlphaPort {
16
11
  private readonly sharp;
17
12
  private readonly deps;
13
+ private static readonly importer;
18
14
  private constructor();
19
15
  static build(deps: Dependencies): Promise<ImageAlphaSharpAdapter>;
20
- private static resolve;
21
- static import(): Promise<SharpModule>;
22
16
  flatten(recipe: ImageAlphaStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
23
17
  }
24
18
  export {};
@@ -1 +1 @@
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;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7E,eAAO,MAAM,2BAA2B;;CAEvC,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AACrD,KAAK,aAAa,GAAG,OAAO,KAAK,CAAC;AAClC,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9C,qBAAa,sBAAuB,YAAW,cAAc;IAEzD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,OAAO;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC;mBAIlD,OAAO;WAUf,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAMrC,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CAsBpG"}
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;;CAEvC,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;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAMjE,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CAsBpG"}
@@ -1,31 +1,19 @@
1
+ import { DynamicImport } from "./dynamic-import.service";
1
2
  export const ImageAlphaSharpAdapterError = {
2
3
  MissingDependency: "image.alpha.sharp.adapter.error.missing.dependency",
3
4
  };
4
5
  export class ImageAlphaSharpAdapter {
5
6
  sharp;
6
7
  deps;
8
+ static importer = DynamicImport.for("sharp", ImageAlphaSharpAdapterError.MissingDependency);
7
9
  constructor(sharp, deps) {
8
10
  this.sharp = sharp;
9
11
  this.deps = deps;
10
12
  }
11
13
  static async build(deps) {
12
- return new ImageAlphaSharpAdapter(await ImageAlphaSharpAdapter.resolve(), deps);
14
+ const library = await ImageAlphaSharpAdapter.importer.resolve();
15
+ return new ImageAlphaSharpAdapter(library.default, deps);
13
16
  }
14
- static async resolve() {
15
- try {
16
- const module = await ImageAlphaSharpAdapter.import();
17
- return module.default;
18
- }
19
- catch {
20
- throw new Error(ImageAlphaSharpAdapterError.MissingDependency);
21
- }
22
- }
23
- // Stryker disable all
24
- static async import() {
25
- const name = "sha" + "rp"; // Bun does not resolve dynamic imports with a dynamic name
26
- return import(name);
27
- }
28
- // Stryker restore all
29
17
  async flatten(recipe) {
30
18
  const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
31
19
  const filename = final.getFilename();
@@ -1 +1 @@
1
- {"version":3,"file":"image-alpha-sharp.adapter.js","sourceRoot":"","sources":["../src/image-alpha-sharp.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,iBAAiB,EAAE,oDAAoD;CACxE,CAAC;AAMF,MAAM,OAAO,sBAAsB;IAEd;IACA;IAFnB,YACmB,KAAoB,EACpB,IAAkB;QADlB,UAAK,GAAL,KAAK,CAAe;QACpB,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,OAAO,IAAI,sBAAsB,CAAC,MAAM,sBAAsB,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,2DAA2D;QACtF,OAAO,MAAM,CAAC,IAAI,CAAyB,CAAC;IAC9C,CAAC;IACD,sBAAsB;IAEtB,KAAK,CAAC,OAAO,CAAC,MAA0B;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;QAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAEzE,MAAM,QAAQ;aACX,MAAM,EAAE;aACR,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;aAC1C,QAAQ,CAAC,MAAM,CAAC;aAChB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
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;IACA;IAPX,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,2BAA2B,CAAC,iBAAiB,CAC9C,CAAC;IAEF,YACmB,KAAY,EACZ,IAAkB;QADlB,UAAK,GAAL,KAAK,CAAO;QACZ,SAAI,GAAJ,IAAI,CAAc;IAClC,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;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;QAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAEzE,MAAM,QAAQ;aACX,MAAM,EAAE;aACR,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;aAC1C,QAAQ,CAAC,MAAM,CAAC;aAChB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type * as tools from "@bgord/tools";
2
- import type sharp from "sharp";
3
2
  import type { FileRenamerPort } from "./file-renamer.port";
4
3
  import type { ImageBlurPort, ImageBlurStrategy } from "./image-blur.port";
5
4
  export declare const ImageBlurSharpAdapterError: {
@@ -8,17 +7,12 @@ export declare const ImageBlurSharpAdapterError: {
8
7
  type Dependencies = {
9
8
  FileRenamer: FileRenamerPort;
10
9
  };
11
- type SharpCallable = typeof sharp;
12
- type SharpModule = {
13
- default: SharpCallable;
14
- };
15
10
  export declare class ImageBlurSharpAdapter implements ImageBlurPort {
16
11
  private readonly sharp;
17
12
  private readonly deps;
13
+ private static readonly importer;
18
14
  private constructor();
19
15
  static build(deps: Dependencies): Promise<ImageBlurSharpAdapter>;
20
- private static resolve;
21
- static import(): Promise<SharpModule>;
22
16
  blur(recipe: ImageBlurStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
23
17
  }
24
18
  export {};
@@ -1 +1 @@
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;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,eAAO,MAAM,0BAA0B;;CAEtC,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AACrD,KAAK,aAAa,GAAG,OAAO,KAAK,CAAC;AAClC,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9C,qBAAa,qBAAsB,YAAW,aAAa;IAEvD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,OAAO;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC;mBAIjD,OAAO;WAUf,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAMrC,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CAiBhG"}
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;;CAEtC,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;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAMhE,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CAiBhG"}
@@ -1,31 +1,19 @@
1
+ import { DynamicImport } from "./dynamic-import.service";
1
2
  export const ImageBlurSharpAdapterError = {
2
3
  MissingDependency: "image.blur.sharp.adapter.error.missing.dependency",
3
4
  };
4
5
  export class ImageBlurSharpAdapter {
5
6
  sharp;
6
7
  deps;
8
+ static importer = DynamicImport.for("sharp", ImageBlurSharpAdapterError.MissingDependency);
7
9
  constructor(sharp, deps) {
8
10
  this.sharp = sharp;
9
11
  this.deps = deps;
10
12
  }
11
13
  static async build(deps) {
12
- return new ImageBlurSharpAdapter(await ImageBlurSharpAdapter.resolve(), deps);
14
+ const library = await ImageBlurSharpAdapter.importer.resolve();
15
+ return new ImageBlurSharpAdapter(library.default, deps);
13
16
  }
14
- static async resolve() {
15
- try {
16
- const module = await ImageBlurSharpAdapter.import();
17
- return module.default;
18
- }
19
- catch {
20
- throw new Error(ImageBlurSharpAdapterError.MissingDependency);
21
- }
22
- }
23
- // Stryker disable all
24
- static async import() {
25
- const name = "sha" + "rp"; // Bun does not resolve dynamic imports with a dynamic name
26
- return import(name);
27
- }
28
- // Stryker restore all
29
17
  async blur(recipe) {
30
18
  const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
31
19
  const filename = final.getFilename();
@@ -1 +1 @@
1
- {"version":3,"file":"image-blur-sharp.adapter.js","sourceRoot":"","sources":["../src/image-blur-sharp.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,iBAAiB,EAAE,mDAAmD;CACvE,CAAC;AAMF,MAAM,OAAO,qBAAqB;IAEb;IACA;IAFnB,YACmB,KAAoB,EACpB,IAAkB;QADlB,UAAK,GAAL,KAAK,CAAe;QACpB,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,OAAO,IAAI,qBAAqB,CAAC,MAAM,qBAAqB,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,2DAA2D;QACtF,OAAO,MAAM,CAAC,IAAI,CAAyB,CAAC;IAC9C,CAAC;IACD,sBAAsB;IAEtB,KAAK,CAAC,IAAI,CAAC,MAAyB;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;QAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAE/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;QACpF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
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;IACA;IAPX,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,0BAA0B,CAAC,iBAAiB,CAC7C,CAAC;IAEF,YACmB,KAAY,EACZ,IAAkB;QADlB,UAAK,GAAL,KAAK,CAAO;QACZ,SAAI,GAAJ,IAAI,CAAc;IAClC,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;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAEtE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;QAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAE/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;QACpF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type * as tools from "@bgord/tools";
2
- import type sharp from "sharp";
3
2
  import type { FileRenamerPort } from "./file-renamer.port";
4
3
  import type { ImageCompressorPort, ImageCompressorStrategy } from "./image-compressor.port";
5
4
  export declare const ImageCompressorSharpAdapterError: {
@@ -8,18 +7,13 @@ export declare const ImageCompressorSharpAdapterError: {
8
7
  type Dependencies = {
9
8
  FileRenamer: FileRenamerPort;
10
9
  };
11
- type SharpCallable = typeof sharp;
12
- type SharpModule = {
13
- default: SharpCallable;
14
- };
15
10
  export declare class ImageCompressorSharpAdapter implements ImageCompressorPort {
16
11
  private readonly sharp;
17
12
  private readonly deps;
18
13
  private static readonly DEFAULT_QUALITY;
14
+ private static readonly importer;
19
15
  private constructor();
20
16
  static build(deps: Dependencies): Promise<ImageCompressorSharpAdapter>;
21
- private static resolve;
22
- static import(): Promise<SharpModule>;
23
17
  compress(recipe: ImageCompressorStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
24
18
  }
25
19
  export {};
@@ -1 +1 @@
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;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAE5F,eAAO,MAAM,gCAAgC;;CAE5C,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AACrD,KAAK,aAAa,GAAG,OAAO,KAAK,CAAC;AAClC,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9C,qBAAa,2BAA4B,YAAW,mBAAmB;IAInE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAE7C,OAAO;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAC;mBAIvD,OAAO;WAUf,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAMrC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CAkB1G"}
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;;CAE5C,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;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAMtE,QAAQ,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CAkB1G"}
@@ -1,3 +1,4 @@
1
+ import { DynamicImport } from "./dynamic-import.service";
1
2
  export const ImageCompressorSharpAdapterError = {
2
3
  MissingDependency: "image.compressor.sharp.adapter.error.missing.dependency",
3
4
  };
@@ -5,28 +6,15 @@ export class ImageCompressorSharpAdapter {
5
6
  sharp;
6
7
  deps;
7
8
  static DEFAULT_QUALITY = 85;
9
+ static importer = DynamicImport.for("sharp", ImageCompressorSharpAdapterError.MissingDependency);
8
10
  constructor(sharp, deps) {
9
11
  this.sharp = sharp;
10
12
  this.deps = deps;
11
13
  }
12
14
  static async build(deps) {
13
- return new ImageCompressorSharpAdapter(await ImageCompressorSharpAdapter.resolve(), deps);
15
+ const library = await ImageCompressorSharpAdapter.importer.resolve();
16
+ return new ImageCompressorSharpAdapter(library.default, deps);
14
17
  }
15
- static async resolve() {
16
- try {
17
- const module = await ImageCompressorSharpAdapter.import();
18
- return module.default;
19
- }
20
- catch {
21
- throw new Error(ImageCompressorSharpAdapterError.MissingDependency);
22
- }
23
- }
24
- // Stryker disable all
25
- static async import() {
26
- const name = "sha" + "rp"; // Bun does not resolve dynamic imports with a dynamic name
27
- return import(name);
28
- }
29
- // Stryker restore all
30
18
  async compress(recipe) {
31
19
  const quality = recipe.quality ?? ImageCompressorSharpAdapter.DEFAULT_QUALITY;
32
20
  const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
@@ -1 +1 @@
1
- {"version":3,"file":"image-compressor-sharp.adapter.js","sourceRoot":"","sources":["../src/image-compressor-sharp.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,iBAAiB,EAAE,yDAAyD;CAC7E,CAAC;AAMF,MAAM,OAAO,2BAA2B;IAInB;IACA;IAJX,MAAM,CAAU,eAAe,GAAG,EAAE,CAAC;IAE7C,YACmB,KAAoB,EACpB,IAAkB;QADlB,UAAK,GAAL,KAAK,CAAe;QACpB,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,OAAO,IAAI,2BAA2B,CAAC,MAAM,2BAA2B,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5F,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,2DAA2D;QACtF,OAAO,MAAM,CAAC,IAAI,CAAyB,CAAC;IAC9C,CAAC;IACD,sBAAsB;IAEtB,KAAK,CAAC,QAAQ,CAAC,MAA+B;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC,eAAe,CAAC;QAE9E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAEzE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;QAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAE/D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC"}
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;IACA;IARX,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;QADlB,UAAK,GAAL,KAAK,CAAO;QACZ,SAAI,GAAJ,IAAI,CAAc;IAClC,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;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,2BAA2B,CAAC,eAAe,CAAC;QAE9E,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAEzE,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;QAE9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAE/D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type * as tools from "@bgord/tools";
2
- import type sharp from "sharp";
3
2
  import type { FileRenamerPort } from "./file-renamer.port";
4
3
  import type { ImageExifClearPort, ImageExifClearStrategy } from "./image-exif-clear.port";
5
4
  export declare const ImageExifClearSharpAdapterError: {
@@ -8,17 +7,12 @@ export declare const ImageExifClearSharpAdapterError: {
8
7
  type Dependencies = {
9
8
  FileRenamer: FileRenamerPort;
10
9
  };
11
- type SharpCallable = typeof sharp;
12
- type SharpModule = {
13
- default: SharpCallable;
14
- };
15
10
  export declare class ImageExifClearSharpAdapter implements ImageExifClearPort {
16
11
  private readonly sharp;
17
12
  private readonly deps;
13
+ private static readonly importer;
18
14
  private constructor();
19
15
  static build(deps: Dependencies): Promise<ImageExifClearSharpAdapter>;
20
- private static resolve;
21
- static import(): Promise<SharpModule>;
22
16
  clear(recipe: ImageExifClearStrategy): Promise<tools.FilePathRelative | tools.FilePathAbsolute>;
23
17
  }
24
18
  export {};
@@ -1 +1 @@
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;AAC3C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,eAAO,MAAM,+BAA+B;;CAE3C,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AACrD,KAAK,aAAa,GAAG,OAAO,KAAK,CAAC;AAClC,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9C,qBAAa,0BAA2B,YAAW,kBAAkB;IAEjE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFvB,OAAO;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC;mBAItD,OAAO;WAUf,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC;IAMrC,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CActG"}
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;;CAE3C,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;WAKM,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAMrE,KAAK,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CActG"}
@@ -1,31 +1,19 @@
1
+ import { DynamicImport } from "./dynamic-import.service";
1
2
  export const ImageExifClearSharpAdapterError = {
2
3
  MissingDependency: "image.exif.clear.sharp.adapter.error.missing.dependency",
3
4
  };
4
5
  export class ImageExifClearSharpAdapter {
5
6
  sharp;
6
7
  deps;
8
+ static importer = DynamicImport.for("sharp", ImageExifClearSharpAdapterError.MissingDependency);
7
9
  constructor(sharp, deps) {
8
10
  this.sharp = sharp;
9
11
  this.deps = deps;
10
12
  }
11
13
  static async build(deps) {
12
- return new ImageExifClearSharpAdapter(await ImageExifClearSharpAdapter.resolve(), deps);
14
+ const library = await ImageExifClearSharpAdapter.importer.resolve();
15
+ return new ImageExifClearSharpAdapter(library.default, deps);
13
16
  }
14
- static async resolve() {
15
- try {
16
- const module = await ImageExifClearSharpAdapter.import();
17
- return module.default;
18
- }
19
- catch {
20
- throw new Error(ImageExifClearSharpAdapterError.MissingDependency);
21
- }
22
- }
23
- // Stryker disable all
24
- static async import() {
25
- const name = "sha" + "rp"; // Bun does not resolve dynamic imports with a dynamic name
26
- return import(name);
27
- }
28
- // Stryker restore all
29
17
  async clear(recipe) {
30
18
  const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
31
19
  const filename = final.getFilename();
@@ -1 +1 @@
1
- {"version":3,"file":"image-exif-clear-sharp.adapter.js","sourceRoot":"","sources":["../src/image-exif-clear-sharp.adapter.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,yDAAyD;CAC7E,CAAC;AAMF,MAAM,OAAO,0BAA0B;IAElB;IACA;IAFnB,YACmB,KAAoB,EACpB,IAAkB;QADlB,UAAK,GAAL,KAAK,CAAe;QACpB,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAkB;QACnC,OAAO,IAAI,0BAA0B,CAAC,MAAM,0BAA0B,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,OAAO;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,CAAC,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,2DAA2D;QACtF,OAAO,MAAM,CAAC,IAAI,CAAyB,CAAC;IAC9C,CAAC;IACD,sBAAsB;IAEtB,KAAK,CAAC,KAAK,CAAC,MAA8B;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE3E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAE/D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
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;IACA;IAPX,MAAM,CAAU,QAAQ,GAAG,aAAa,CAAC,GAAG,CAClD,OAAO,EACP,+BAA+B,CAAC,iBAAiB,CAClD,CAAC;IAEF,YACmB,KAAY,EACZ,IAAkB;QADlB,UAAK,GAAL,KAAK,CAAO;QACZ,SAAI,GAAJ,IAAI,CAAc;IAClC,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;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;QAE3E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAE/D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC"}