@bgord/bun 1.15.5 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/antivirus-clamav.adapter.js +1 -1
- package/dist/antivirus-clamav.adapter.js.map +1 -1
- package/dist/api-version-hono.middleware.d.ts +3 -2
- package/dist/api-version-hono.middleware.d.ts.map +1 -1
- package/dist/api-version-hono.middleware.js.map +1 -1
- package/dist/api-version.middleware.d.ts +4 -3
- package/dist/api-version.middleware.d.ts.map +1 -1
- package/dist/api-version.middleware.js +1 -1
- package/dist/api-version.middleware.js.map +1 -1
- package/dist/build-info.vo.d.ts +11 -0
- package/dist/build-info.vo.d.ts.map +1 -0
- package/dist/build-info.vo.js +11 -0
- package/dist/build-info.vo.js.map +1 -0
- package/dist/error-normalizer.service.js +1 -1
- package/dist/error-normalizer.service.js.map +1 -1
- package/dist/event-envelope.d.ts +0 -7
- package/dist/event-envelope.d.ts.map +1 -1
- package/dist/event-envelope.js +2 -2
- package/dist/event-envelope.js.map +1 -1
- package/dist/event-serializer-collecting.adapter.d.ts +5 -4
- package/dist/event-serializer-collecting.adapter.d.ts.map +1 -1
- package/dist/event-serializer-collecting.adapter.js.map +1 -1
- package/dist/event-serializer-json.adapter.d.ts +3 -2
- package/dist/event-serializer-json.adapter.d.ts.map +1 -1
- package/dist/event-serializer-json.adapter.js.map +1 -1
- package/dist/event-serializer.port.d.ts +3 -2
- package/dist/event-serializer.port.d.ts.map +1 -1
- package/dist/event-store.adapter.d.ts +2 -0
- package/dist/event-store.adapter.d.ts.map +1 -1
- package/dist/event-store.adapter.js +1 -0
- package/dist/event-store.adapter.js.map +1 -1
- package/dist/event-upcaster-chain.adapter.d.ts +11 -0
- package/dist/event-upcaster-chain.adapter.d.ts.map +1 -0
- package/dist/event-upcaster-chain.adapter.js +31 -0
- package/dist/event-upcaster-chain.adapter.js.map +1 -0
- package/dist/event-upcaster-noop.adapter.d.ts +6 -0
- package/dist/event-upcaster-noop.adapter.d.ts.map +1 -0
- package/dist/event-upcaster-noop.adapter.js +6 -0
- package/dist/event-upcaster-noop.adapter.js.map +1 -0
- package/dist/event-upcaster-step.vo.d.ts +11 -0
- package/dist/event-upcaster-step.vo.d.ts.map +1 -0
- package/dist/event-upcaster-step.vo.js +10 -0
- package/dist/event-upcaster-step.vo.js.map +1 -0
- package/dist/event-upcaster.port.d.ts +5 -0
- package/dist/event-upcaster.port.d.ts.map +1 -0
- package/dist/event-upcaster.port.js +2 -0
- package/dist/event-upcaster.port.js.map +1 -0
- package/dist/event.types.d.ts +1 -1
- package/dist/event.types.d.ts.map +1 -1
- package/dist/healthcheck-hono.handler.d.ts +3 -2
- package/dist/healthcheck-hono.handler.d.ts.map +1 -1
- package/dist/healthcheck-hono.handler.js.map +1 -1
- package/dist/healthcheck.handler.d.ts +3 -2
- package/dist/healthcheck.handler.d.ts.map +1 -1
- package/dist/healthcheck.handler.js +6 -6
- package/dist/healthcheck.handler.js.map +1 -1
- package/dist/image-alpha-sharp.adapter.js +76 -14
- package/dist/image-alpha-sharp.adapter.js.map +1 -1
- package/dist/image-blur-sharp.adapter.js +72 -10
- package/dist/image-blur-sharp.adapter.js.map +1 -1
- package/dist/image-compressor-sharp.adapter.js +73 -11
- package/dist/image-compressor-sharp.adapter.js.map +1 -1
- package/dist/image-exif-clear-sharp.adapter.js +70 -8
- package/dist/image-exif-clear-sharp.adapter.js.map +1 -1
- package/dist/image-formatter-sharp.adapter.js +75 -13
- package/dist/image-formatter-sharp.adapter.js.map +1 -1
- package/dist/image-grayscale-sharp.adapter.js +70 -8
- package/dist/image-grayscale-sharp.adapter.js.map +1 -1
- package/dist/image-info-sharp.adapter.js +73 -11
- package/dist/image-info-sharp.adapter.js.map +1 -1
- package/dist/image-processor-sharp.adapter.js +86 -24
- package/dist/image-processor-sharp.adapter.js.map +1 -1
- package/dist/image-resizer-sharp.adapter.js +81 -19
- package/dist/image-resizer-sharp.adapter.js.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts.map +1 -1
- package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js +4 -8
- package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.js.map +1 -1
- package/dist/modules/system/services/passage-of-time-hourly.service.d.ts.map +1 -1
- package/dist/modules/system/services/passage-of-time-hourly.service.js +5 -9
- package/dist/modules/system/services/passage-of-time-hourly.service.js.map +1 -1
- package/dist/modules/system/services/passage-of-time-minute.service.d.ts.map +1 -1
- package/dist/modules/system/services/passage-of-time-minute.service.js +5 -9
- package/dist/modules/system/services/passage-of-time-minute.service.js.map +1 -1
- package/dist/reactive-config-file-json.adapter.d.ts +15 -0
- package/dist/reactive-config-file-json.adapter.d.ts.map +1 -0
- package/dist/reactive-config-file-json.adapter.js +21 -0
- package/dist/reactive-config-file-json.adapter.js.map +1 -0
- package/dist/reactive-config-noop.adapter.d.ts +8 -0
- package/dist/reactive-config-noop.adapter.d.ts.map +1 -0
- package/dist/reactive-config-noop.adapter.js +18 -0
- package/dist/reactive-config-noop.adapter.js.map +1 -0
- package/dist/reactive-config-with-cache.adapter.d.ts +16 -0
- package/dist/reactive-config-with-cache.adapter.d.ts.map +1 -0
- package/dist/reactive-config-with-cache.adapter.js +15 -0
- package/dist/reactive-config-with-cache.adapter.js.map +1 -0
- package/dist/reactive-config-with-fallback.adapter.d.ts +9 -0
- package/dist/reactive-config-with-fallback.adapter.d.ts.map +1 -0
- package/dist/reactive-config-with-fallback.adapter.js +25 -0
- package/dist/reactive-config-with-fallback.adapter.js.map +1 -0
- package/dist/reactive-config.port.d.ts +9 -0
- package/dist/reactive-config.port.d.ts.map +1 -0
- package/dist/reactive-config.port.js +2 -0
- package/dist/reactive-config.port.js.map +1 -0
- package/dist/redactor-error-cause-depth-limit.strategy.d.ts.map +1 -1
- package/dist/redactor-error-cause-depth-limit.strategy.js +2 -2
- package/dist/redactor-error-cause-depth-limit.strategy.js.map +1 -1
- package/dist/redactor-error-stack-hide.strategy.d.ts.map +1 -1
- package/dist/redactor-error-stack-hide.strategy.js +2 -2
- package/dist/redactor-error-stack-hide.strategy.js.map +1 -1
- package/dist/redactor-metadata-compact-array.strategy.js +1 -1
- package/dist/redactor-metadata-compact-array.strategy.js.map +1 -1
- package/dist/redactor-metadata-compact-object.strategy.js +1 -1
- package/dist/redactor-metadata-compact-object.strategy.js.map +1 -1
- package/dist/security-countermeasure-ban.strategy.d.ts.map +1 -1
- package/dist/security-countermeasure-ban.strategy.js +5 -8
- package/dist/security-countermeasure-ban.strategy.js.map +1 -1
- package/dist/setup-hono.service.d.ts +3 -2
- package/dist/setup-hono.service.d.ts.map +1 -1
- package/dist/setup-hono.service.js.map +1 -1
- package/dist/shield-ip-whitelist.strategy.d.ts.map +1 -1
- package/dist/shield-ip-whitelist.strategy.js +2 -0
- package/dist/shield-ip-whitelist.strategy.js.map +1 -1
- package/dist/shield-recaptcha.strategy.js +1 -1
- package/dist/shield-recaptcha.strategy.js.map +1 -1
- package/package.json +13 -12
- package/readme.md +10 -4
- package/src/antivirus-clamav.adapter.ts +1 -1
- package/src/api-version-hono.middleware.ts +3 -2
- package/src/api-version.middleware.ts +5 -4
- package/src/build-info.vo.ts +14 -0
- package/src/error-normalizer.service.ts +1 -1
- package/src/event-envelope.ts +2 -2
- package/src/event-serializer-collecting.adapter.ts +5 -4
- package/src/event-serializer-json.adapter.ts +3 -2
- package/src/event-serializer.port.ts +4 -2
- package/src/event-store.adapter.ts +3 -0
- package/src/event-upcaster-chain.adapter.ts +49 -0
- package/src/event-upcaster-noop.adapter.ts +8 -0
- package/src/event-upcaster-step.vo.ts +21 -0
- package/src/event-upcaster.port.ts +5 -0
- package/src/event.types.ts +1 -1
- package/src/healthcheck-hono.handler.ts +3 -2
- package/src/healthcheck.handler.ts +9 -8
- package/src/index.ts +10 -4
- package/src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts +9 -9
- package/src/modules/system/services/passage-of-time-hourly.service.ts +5 -14
- package/src/modules/system/services/passage-of-time-minute.service.ts +5 -14
- package/src/reactive-config-file-json.adapter.ts +26 -0
- package/src/reactive-config-noop.adapter.ts +19 -0
- package/src/reactive-config-with-cache.adapter.ts +19 -0
- package/src/reactive-config-with-fallback.adapter.ts +24 -0
- package/src/reactive-config.port.ts +9 -0
- package/src/redactor-error-cause-depth-limit.strategy.ts +2 -3
- package/src/redactor-error-stack-hide.strategy.ts +2 -3
- package/src/redactor-metadata-compact-array.strategy.ts +1 -1
- package/src/redactor-metadata-compact-object.strategy.ts +1 -1
- package/src/security-countermeasure-ban.strategy.ts +4 -9
- package/src/setup-hono.service.ts +3 -2
- package/src/shield-ip-whitelist.strategy.ts +2 -0
- package/src/shield-recaptcha.strategy.ts +1 -1
- package/dist/build-info-repository-file.strategy.d.ts +0 -14
- package/dist/build-info-repository-file.strategy.d.ts.map +0 -1
- package/dist/build-info-repository-file.strategy.js +0 -18
- package/dist/build-info-repository-file.strategy.js.map +0 -1
- package/dist/build-info-repository-noop.strategy.d.ts +0 -12
- package/dist/build-info-repository-noop.strategy.d.ts.map +0 -1
- package/dist/build-info-repository-noop.strategy.js +0 -16
- package/dist/build-info-repository-noop.strategy.js.map +0 -1
- package/dist/build-info-repository-package-json.strategy.d.ts +0 -14
- package/dist/build-info-repository-package-json.strategy.d.ts.map +0 -1
- package/dist/build-info-repository-package-json.strategy.js +0 -21
- package/dist/build-info-repository-package-json.strategy.js.map +0 -1
- package/dist/build-info-repository.strategy.d.ts +0 -12
- package/dist/build-info-repository.strategy.d.ts.map +0 -1
- package/dist/build-info-repository.strategy.js +0 -2
- package/dist/build-info-repository.strategy.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/build-info-repository-file.strategy.ts +0 -23
- package/src/build-info-repository-noop.strategy.ts +0 -16
- package/src/build-info-repository-package-json.strategy.ts +0 -25
- package/src/build-info-repository.strategy.ts +0 -13
|
@@ -1,3 +1,55 @@
|
|
|
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
|
+
});
|
|
1
53
|
import { DynamicImport } from "./dynamic-import.service";
|
|
2
54
|
export const ImageAlphaSharpAdapterError = {
|
|
3
55
|
MissingDependency: "image.alpha.sharp.adapter.error.missing.dependency",
|
|
@@ -15,20 +67,30 @@ export class ImageAlphaSharpAdapter {
|
|
|
15
67
|
return new ImageAlphaSharpAdapter(library.default, deps);
|
|
16
68
|
}
|
|
17
69
|
async flatten(recipe) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
+
}
|
|
32
94
|
}
|
|
33
95
|
}
|
|
34
96
|
//# sourceMappingURL=image-alpha-sharp.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;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;;;;;;;;;KACd"}
|
|
@@ -1,3 +1,55 @@
|
|
|
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
|
+
});
|
|
1
53
|
import { DynamicImport } from "./dynamic-import.service";
|
|
2
54
|
export const ImageBlurSharpAdapterError = {
|
|
3
55
|
MissingDependency: "image.blur.sharp.adapter.error.missing.dependency",
|
|
@@ -15,16 +67,26 @@ export class ImageBlurSharpAdapter {
|
|
|
15
67
|
return new ImageBlurSharpAdapter(library.default, deps);
|
|
16
68
|
}
|
|
17
69
|
async blur(recipe) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
+
}
|
|
28
90
|
}
|
|
29
91
|
}
|
|
30
92
|
//# sourceMappingURL=image-blur-sharp.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;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;;;;;;;;;KACd"}
|
|
@@ -1,3 +1,55 @@
|
|
|
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
|
+
});
|
|
1
53
|
import { DynamicImport } from "./dynamic-import.service";
|
|
2
54
|
export const ImageCompressorSharpAdapterError = {
|
|
3
55
|
MissingDependency: "image.compressor.sharp.adapter.error.missing.dependency",
|
|
@@ -16,17 +68,27 @@ export class ImageCompressorSharpAdapter {
|
|
|
16
68
|
return new ImageCompressorSharpAdapter(library.default, deps);
|
|
17
69
|
}
|
|
18
70
|
async compress(recipe) {
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
+
}
|
|
30
92
|
}
|
|
31
93
|
}
|
|
32
94
|
//# sourceMappingURL=image-compressor-sharp.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;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;;;;;;;;;KACd"}
|
|
@@ -1,3 +1,55 @@
|
|
|
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
|
+
});
|
|
1
53
|
import { DynamicImport } from "./dynamic-import.service";
|
|
2
54
|
export const ImageExifClearSharpAdapterError = {
|
|
3
55
|
MissingDependency: "image.exif.clear.sharp.adapter.error.missing.dependency",
|
|
@@ -15,14 +67,24 @@ export class ImageExifClearSharpAdapter {
|
|
|
15
67
|
return new ImageExifClearSharpAdapter(library.default, deps);
|
|
16
68
|
}
|
|
17
69
|
async clear(recipe) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
+
}
|
|
26
88
|
}
|
|
27
89
|
}
|
|
28
90
|
//# sourceMappingURL=image-exif-clear-sharp.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;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;;;;;;;;;KACd"}
|
|
@@ -1,3 +1,55 @@
|
|
|
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
|
+
});
|
|
1
53
|
import { DynamicImport } from "./dynamic-import.service";
|
|
2
54
|
export const ImageFormatterSharpAdapterError = {
|
|
3
55
|
MissingDependency: "image.formatter.sharp.adapter.error.missing.dependency",
|
|
@@ -15,20 +67,30 @@ export class ImageFormatterSharpAdapter {
|
|
|
15
67
|
return new ImageFormatterSharpAdapter(library.default, deps);
|
|
16
68
|
}
|
|
17
69
|
async format(recipe) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
await this.deps.
|
|
70
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
71
|
+
try {
|
|
72
|
+
const final = recipe.strategy === "output_path"
|
|
73
|
+
? recipe.output
|
|
74
|
+
: recipe.input.withFilename(recipe.input.getFilename().withExtension(recipe.to));
|
|
75
|
+
const temporary = final.withFilename(final.getFilename().withSuffix("-formatted"));
|
|
76
|
+
const extension = final.getFilename().getExtension();
|
|
77
|
+
const encoder = (extension === "jpg" ? "jpeg" : extension);
|
|
78
|
+
const pipeline = this.sharp(recipe.input.get());
|
|
79
|
+
const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
|
|
80
|
+
await pipeline.toFormat(encoder).toFile(temporary.get());
|
|
81
|
+
await this.deps.FileRenamer.rename(temporary, final);
|
|
82
|
+
if (recipe.strategy === "in_place" && final.get() !== recipe.input.get()) {
|
|
83
|
+
await this.deps.FileCleaner.delete(recipe.input.get());
|
|
84
|
+
}
|
|
85
|
+
return final;
|
|
86
|
+
}
|
|
87
|
+
catch (e_1) {
|
|
88
|
+
env_1.error = e_1;
|
|
89
|
+
env_1.hasError = true;
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
__disposeResources(env_1);
|
|
30
93
|
}
|
|
31
|
-
return final;
|
|
32
94
|
}
|
|
33
95
|
}
|
|
34
96
|
//# sourceMappingURL=image-formatter-sharp.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-formatter-sharp.adapter.js","sourceRoot":"","sources":["../src/image-formatter-sharp.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,wDAAwD;CAC5E,CAAC;AAKF,MAAM,OAAO,0BAA0B;IAOlB;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,MAAM,CAAC,MAA8B
|
|
1
|
+
{"version":3,"file":"image-formatter-sharp.adapter.js","sourceRoot":"","sources":["../src/image-formatter-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,wDAAwD;CAC5E,CAAC;AAKF,MAAM,OAAO,0BAA0B;IAOlB;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,MAAM,CAAC,MAA8B;;;YACzC,MAAM,KAAK,GACT,MAAM,CAAC,QAAQ,KAAK,aAAa;gBAC/B,CAAC,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAErF,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YAEnF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAqC,CAAC;YAE/F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,OAAO,kCAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAA,CAAC;YAE/D,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;gBACzE,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,KAAK,CAAC;;;;;;;;;KACd"}
|
|
@@ -1,3 +1,55 @@
|
|
|
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
|
+
});
|
|
1
53
|
import { DynamicImport } from "./dynamic-import.service";
|
|
2
54
|
export const ImageGrayscaleSharpAdapterError = {
|
|
3
55
|
MissingDependency: "image.grayscale.sharp.adapter.error.missing.dependency",
|
|
@@ -15,14 +67,24 @@ export class ImageGrayscaleSharpAdapter {
|
|
|
15
67
|
return new ImageGrayscaleSharpAdapter(library.default, deps);
|
|
16
68
|
}
|
|
17
69
|
async grayscale(recipe) {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
70
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
71
|
+
try {
|
|
72
|
+
const final = recipe.strategy === "output_path" ? recipe.output : recipe.input;
|
|
73
|
+
const filename = final.getFilename();
|
|
74
|
+
const temporary = final.withFilename(filename.withSuffix("-grayscale"));
|
|
75
|
+
const pipeline = this.sharp(recipe.input.get());
|
|
76
|
+
const _sharp_ = __addDisposableResource(env_1, { [Symbol.dispose]: () => pipeline.destroy() }, false);
|
|
77
|
+
await pipeline.rotate().grayscale().toFile(temporary.get());
|
|
78
|
+
await this.deps.FileRenamer.rename(temporary, final);
|
|
79
|
+
return final;
|
|
80
|
+
}
|
|
81
|
+
catch (e_1) {
|
|
82
|
+
env_1.error = e_1;
|
|
83
|
+
env_1.hasError = true;
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
__disposeResources(env_1);
|
|
87
|
+
}
|
|
26
88
|
}
|
|
27
89
|
}
|
|
28
90
|
//# sourceMappingURL=image-grayscale-sharp.adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-grayscale-sharp.adapter.js","sourceRoot":"","sources":["../src/image-grayscale-sharp.adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,wDAAwD;CAC5E,CAAC;AAKF,MAAM,OAAO,0BAA0B;IAOlB;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,SAAS,CAAC,MAA8B
|
|
1
|
+
{"version":3,"file":"image-grayscale-sharp.adapter.js","sourceRoot":"","sources":["../src/image-grayscale-sharp.adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,iBAAiB,EAAE,wDAAwD;CAC5E,CAAC;AAKF,MAAM,OAAO,0BAA0B;IAOlB;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,SAAS,CAAC,MAA8B;;;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAE/E,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YAExE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,OAAO,kCAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,QAAA,CAAC;YAE/D,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAErD,OAAO,KAAK,CAAC;;;;;;;;;KACd"}
|