@design-edito/tools 0.1.65 → 0.1.66

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 (108) hide show
  1. package/agnostic/arrays/index.js +7 -7
  2. package/agnostic/arrays/random-pick/index.js +4 -4
  3. package/agnostic/colors/index.js +9 -9
  4. package/agnostic/css/index.js +8 -8
  5. package/agnostic/css/styles-set/index.js +4 -4
  6. package/agnostic/errors/index.js +2 -2
  7. package/agnostic/html/index.js +9 -9
  8. package/agnostic/html/sanitize/index.js +4 -4
  9. package/agnostic/html/selector-to-element/index.js +4 -4
  10. package/agnostic/html/string-to-nodes/index.js +5 -5
  11. package/agnostic/misc/assert/index.js +3 -3
  12. package/agnostic/misc/index.js +15 -15
  13. package/agnostic/misc/logs/index.js +2 -2
  14. package/agnostic/misc/lorem-ipsum/index.js +8 -8
  15. package/agnostic/numbers/index.js +4 -4
  16. package/agnostic/objects/index.js +8 -8
  17. package/agnostic/optim/index.js +3 -3
  18. package/agnostic/strings/index.js +3 -3
  19. package/agnostic/time/index.js +3 -3
  20. package/chunks/chunk-2KT7AKRW.js +17 -0
  21. package/chunks/chunk-3UM5CZA5.js +18 -0
  22. package/chunks/chunk-662SOZWA.js +19 -0
  23. package/chunks/chunk-6EIF24H5.js +35 -0
  24. package/chunks/chunk-6IZ5HUJJ.js +21 -0
  25. package/chunks/chunk-7Z7CKAOH.js +98 -0
  26. package/chunks/chunk-BGZ5OVVN.js +20 -0
  27. package/chunks/chunk-C3ZKLONL.js +21 -0
  28. package/chunks/chunk-C7SRAQMW.js +29 -0
  29. package/chunks/chunk-CM6AHRTS.js +16 -0
  30. package/chunks/chunk-CQEDNACN.js +28 -0
  31. package/chunks/chunk-D33KC6NN.js +18 -0
  32. package/chunks/chunk-D47ZPEUU.js +22 -0
  33. package/chunks/chunk-E3GK7YZ7.js +65 -0
  34. package/chunks/chunk-E4FJHD5R.js +67 -0
  35. package/chunks/chunk-FCLAFRIW.js +177 -0
  36. package/chunks/chunk-G2M3VECP.js +20 -0
  37. package/chunks/chunk-G3HAKMUB.js +79 -0
  38. package/chunks/chunk-HALUZA2X.js +16 -0
  39. package/chunks/chunk-KN23H4CI.js +20 -0
  40. package/chunks/chunk-LNSDOGTR.js +63 -0
  41. package/chunks/chunk-LSOHLSF5.js +32 -0
  42. package/chunks/chunk-MXGGOCLX.js +56 -0
  43. package/chunks/chunk-NAP2XNYN.js +23 -0
  44. package/chunks/chunk-P2H6PV4O.js +26 -0
  45. package/chunks/chunk-P5OGBBGM.js +37 -0
  46. package/chunks/chunk-PENYZ6S7.js +31 -0
  47. package/chunks/chunk-PSP2DKDH.js +151 -0
  48. package/chunks/chunk-RCWLMVSZ.js +164 -0
  49. package/chunks/chunk-RDQJSWRC.js +127 -0
  50. package/chunks/chunk-T2T5BYTW.js +18 -0
  51. package/chunks/chunk-U7R6TPHR.js +15 -0
  52. package/chunks/chunk-UNHNZAVP.js +18 -0
  53. package/chunks/chunk-VQUF2TSY.js +191 -0
  54. package/chunks/chunk-W6JPRXQ4.js +16 -0
  55. package/chunks/chunk-WR64YJNW.js +20 -0
  56. package/chunks/chunk-WRRA3BN4.js +31 -0
  57. package/chunks/chunk-X244JGZD.js +69 -0
  58. package/chunks/chunk-X5HMM3LD.js +35 -0
  59. package/chunks/chunk-XJ23DJY4.js +173 -0
  60. package/chunks/chunk-YCSC7QNV.js +30 -0
  61. package/chunks/chunk-YE67BQQN.js +4072 -0
  62. package/chunks/chunk-YEYXAV23.js +16 -0
  63. package/chunks/chunk-Z4PVE6SR.js +21 -0
  64. package/chunks/chunk-ZMMNN3QA.js +16 -0
  65. package/node/@aws-s3/index.js +3 -3
  66. package/node/@aws-s3/storage/file/index.js +4 -4
  67. package/node/@aws-s3/storage/index.js +3 -3
  68. package/node/@google-cloud/index.js +9 -9
  69. package/node/@google-cloud/storage/bucket/index.js +4 -4
  70. package/node/@google-cloud/storage/file/index.js +14 -14
  71. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +2 -2
  72. package/node/@google-cloud/storage/index.js +9 -9
  73. package/node/cloud-storage/index.js +12 -12
  74. package/node/cloud-storage/operations/index.js +8 -8
  75. package/node/encryption/index.js +3 -3
  76. package/node/ftps/file/index.js +4 -4
  77. package/node/ftps/index.js +2 -2
  78. package/node/images/index.js +34 -34
  79. package/node/images/prepare/index.js +34 -34
  80. package/node/images/transform/_utils/color-schema/index.js +2 -2
  81. package/node/images/transform/_utils/positions/index.js +2 -2
  82. package/node/images/transform/blur/index.js +2 -2
  83. package/node/images/transform/brighten/index.js +2 -2
  84. package/node/images/transform/compose/index.js +4 -4
  85. package/node/images/transform/extend/index.js +3 -3
  86. package/node/images/transform/extract/index.js +2 -2
  87. package/node/images/transform/flatten/index.js +3 -3
  88. package/node/images/transform/flip/index.js +2 -2
  89. package/node/images/transform/flop/index.js +2 -2
  90. package/node/images/transform/frame/backgrounds/create-line-background/index.js +2 -2
  91. package/node/images/transform/frame/backgrounds/create-tile-background/index.js +2 -2
  92. package/node/images/transform/frame/index.js +6 -6
  93. package/node/images/transform/hue-rotate/index.js +2 -2
  94. package/node/images/transform/index.js +33 -33
  95. package/node/images/transform/lighten/index.js +2 -2
  96. package/node/images/transform/lineate-levels/index.js +2 -2
  97. package/node/images/transform/modulate/index.js +2 -2
  98. package/node/images/transform/normalize/index.js +2 -2
  99. package/node/images/transform/operations/_utils/frame/backgrounds/create-line-background/index.js +3 -3
  100. package/node/images/transform/operations/_utils/frame/create-color-palette/index.js +4 -4
  101. package/node/images/transform/operations/_utils/frame/index.js +7 -7
  102. package/node/images/transform/resize/index.js +3 -3
  103. package/node/images/transform/rotate/index.js +2 -2
  104. package/node/images/transform/saturate/index.js +2 -2
  105. package/node/images/transform/scale/index.js +3 -3
  106. package/node/sftp/file/index.js +4 -4
  107. package/node/sftp/index.js +2 -2
  108. package/package.json +10 -11
@@ -0,0 +1,98 @@
1
+ import {
2
+ extractColorsFromImage
3
+ } from "./chunk-ZRWVPWQC.js";
4
+ import {
5
+ clamp
6
+ } from "./chunk-OSAXBA7G.js";
7
+ import {
8
+ lightenColor
9
+ } from "./chunk-U57Q62IN.js";
10
+ import {
11
+ saturateColor
12
+ } from "./chunk-MB7HWF22.js";
13
+ import {
14
+ complementColor
15
+ } from "./chunk-2POD3TAX.js";
16
+ import {
17
+ shuffle
18
+ } from "./chunk-VJJIYJMY.js";
19
+
20
+ // src/node/images/transform/operations/_utils/frame/create-color-palette/index.ts
21
+ function densifyPalette(RGBColors, types, ligthenIntensity, saturateIntensity) {
22
+ const densifiedPalette = [];
23
+ const complementaryRGBColors = RGBColors.map((color) => complementColor(color));
24
+ if (!types) {
25
+ return RGBColors;
26
+ }
27
+ if (types.includes("default")) {
28
+ densifiedPalette.push(...RGBColors);
29
+ }
30
+ if (types.includes("default-lighten")) {
31
+ densifiedPalette.push(...RGBColors.map((RGBColor) => lightenColor(RGBColor, ligthenIntensity || 0)));
32
+ }
33
+ if (types.includes("default-saturate")) {
34
+ densifiedPalette.push(...RGBColors.map((RGBColor) => saturateColor(RGBColor, saturateIntensity)));
35
+ }
36
+ if (types.includes("complementary")) {
37
+ densifiedPalette.push(...complementaryRGBColors);
38
+ }
39
+ if (types.includes("complementary-lighten")) {
40
+ densifiedPalette.push(...complementaryRGBColors.map((RGBColor) => lightenColor(RGBColor, ligthenIntensity || 0)));
41
+ }
42
+ if (types.includes("complementary-saturate")) {
43
+ densifiedPalette.push(...RGBColors.map((RGBColor) => saturateColor(RGBColor, saturateIntensity)));
44
+ }
45
+ return densifiedPalette;
46
+ }
47
+ function createColorPalette(image, createPalette) {
48
+ if (!createPalette) {
49
+ return [
50
+ [0, 0, 0],
51
+ [0, 0, 0],
52
+ [0, 0, 0],
53
+ [0, 0, 0],
54
+ [0, 0, 0]
55
+ ];
56
+ }
57
+ const colorPalette = [];
58
+ if ("extract" in createPalette && createPalette.extract) {
59
+ colorPalette.push(
60
+ ...extractColorsFromImage(
61
+ {
62
+ buffer: image.buffer,
63
+ dimensions: image.dimensions,
64
+ nbChannels: image.nbChannels
65
+ },
66
+ createPalette.extract.nbColor
67
+ )
68
+ );
69
+ }
70
+ if ("use" in createPalette && createPalette.use) {
71
+ colorPalette.push(...createPalette.use.RGBColors);
72
+ }
73
+ if ("densify" in createPalette && createPalette.densify) {
74
+ colorPalette.push(
75
+ ...densifyPalette(
76
+ colorPalette,
77
+ createPalette.densify.types,
78
+ createPalette.densify.ligthenIntensity,
79
+ createPalette.densify.saturateIntensity
80
+ )
81
+ );
82
+ }
83
+ if ("compose" in createPalette && createPalette.compose) {
84
+ if ("nbColor" in createPalette.compose) {
85
+ const maxNbColor = createPalette.compose.nbColor ? clamp(createPalette.compose.nbColor, 0, colorPalette.length) : colorPalette.length;
86
+ colorPalette.splice(0, maxNbColor);
87
+ }
88
+ if ("mix" in createPalette.compose) {
89
+ return shuffle(colorPalette);
90
+ }
91
+ }
92
+ return colorPalette;
93
+ }
94
+
95
+ export {
96
+ densifyPalette,
97
+ createColorPalette
98
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ upload_exports
3
+ } from "./chunk-H7LDIXVY.js";
4
+ import {
5
+ download_exports
6
+ } from "./chunk-XF5QBETN.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-NZLE2WMY.js";
10
+
11
+ // src/node/cloud-storage/operations/index.ts
12
+ var operations_exports = {};
13
+ __export(operations_exports, {
14
+ Download: () => download_exports,
15
+ Upload: () => upload_exports
16
+ });
17
+
18
+ export {
19
+ operations_exports
20
+ };
@@ -0,0 +1,21 @@
1
+ import {
2
+ OperationNames
3
+ } from "./chunk-MOVLLUDL.js";
4
+ import {
5
+ esm_default
6
+ } from "./chunk-YE67BQQN.js";
7
+
8
+ // src/node/images/transform/extract/index.ts
9
+ var extractSchema = esm_default.object({
10
+ name: esm_default.literal(OperationNames.Extract),
11
+ params: esm_default.object({
12
+ width: esm_default.number(),
13
+ height: esm_default.number(),
14
+ left: esm_default.number(),
15
+ top: esm_default.number()
16
+ })
17
+ });
18
+
19
+ export {
20
+ extractSchema
21
+ };
@@ -0,0 +1,29 @@
1
+ import {
2
+ register
3
+ } from "./chunk-P2H6PV4O.js";
4
+
5
+ // src/agnostic/arrays/random-pick/index.ts
6
+ function randomPick(arr, exclude = []) {
7
+ const filteredArr = [...arr].filter((elt) => !exclude.includes(elt));
8
+ const length = filteredArr.length;
9
+ if (length === 0) throw register.getError("impossible-to-pick-in-array" /* IMPOSSIBLE_TO_PICK_IN_ARRAY */, arr);
10
+ const pos = Math.floor(Math.random() * length);
11
+ const found = filteredArr[pos];
12
+ return found;
13
+ }
14
+ function randomPickMany(howMuch, arr, exclude = []) {
15
+ const grindedArr = [...arr];
16
+ const pickedSelection = [];
17
+ for (let i = 0; i < howMuch; i++) {
18
+ const picked = randomPick(grindedArr, exclude);
19
+ const indexOfPicked = grindedArr.indexOf(picked);
20
+ grindedArr.splice(indexOfPicked, 1);
21
+ pickedSelection.push(picked);
22
+ }
23
+ return pickedSelection;
24
+ }
25
+
26
+ export {
27
+ randomPick,
28
+ randomPickMany
29
+ };
@@ -0,0 +1,16 @@
1
+ import {
2
+ OperationNames
3
+ } from "./chunk-MOVLLUDL.js";
4
+ import {
5
+ esm_default
6
+ } from "./chunk-YE67BQQN.js";
7
+
8
+ // src/node/images/transform/brighten/index.ts
9
+ var brightenSchema = esm_default.object({
10
+ name: esm_default.literal(OperationNames.Brighten),
11
+ params: esm_default.number().min(0)
12
+ });
13
+
14
+ export {
15
+ brightenSchema
16
+ };
@@ -0,0 +1,28 @@
1
+ import {
2
+ Sanitize
3
+ } from "./chunk-RDQJSWRC.js";
4
+ import {
5
+ register
6
+ } from "./chunk-P2H6PV4O.js";
7
+
8
+ // src/agnostic/html/string-to-nodes/index.ts
9
+ function stringToNodes(dirtyStr, options) {
10
+ const actualDocument = options?.documentObj ?? window.document;
11
+ if (actualDocument === null) throw register.getError("no-window-document-on-runtime-please-provide" /* NO_DOCUMENT_PLEASE_PROVIDE */, "See documentObj in the options object");
12
+ const sanitizeOptions = {
13
+ ...options?.sanitize,
14
+ documentObj: options?.sanitize?.documentObj ?? options?.documentObj
15
+ };
16
+ const str = options?.sanitize !== void 0 ? Sanitize.sanitize(dirtyStr, sanitizeOptions) : dirtyStr;
17
+ const wrapperDiv = actualDocument.createElement("div");
18
+ wrapperDiv.innerHTML = str;
19
+ const nodes = Array.from(wrapperDiv.childNodes).filter((node) => {
20
+ const allowedNodeTypes = [Node.ELEMENT_NODE, Node.TEXT_NODE];
21
+ return allowedNodeTypes.includes(node.nodeType);
22
+ });
23
+ return nodes;
24
+ }
25
+
26
+ export {
27
+ stringToNodes
28
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ OperationNames
3
+ } from "./chunk-MOVLLUDL.js";
4
+ import {
5
+ esm_default
6
+ } from "./chunk-YE67BQQN.js";
7
+
8
+ // src/node/images/transform/rotate/index.ts
9
+ var rotateSchema = esm_default.object({
10
+ name: esm_default.literal(OperationNames.Rotate),
11
+ params: esm_default.object({
12
+ angle: esm_default.number()
13
+ })
14
+ });
15
+
16
+ export {
17
+ rotateSchema
18
+ };
@@ -0,0 +1,22 @@
1
+ import {
2
+ esm_default
3
+ } from "./chunk-YE67BQQN.js";
4
+
5
+ // src/node/images/transform/_utils/positions/index.ts
6
+ var positionSchema = esm_default.union([
7
+ esm_default.number().min(0),
8
+ esm_default.string()
9
+ ]).optional();
10
+ var positionsSchema = esm_default.object({
11
+ top: positionSchema,
12
+ left: positionSchema,
13
+ bottom: positionSchema,
14
+ right: positionSchema,
15
+ translateX: positionSchema,
16
+ translateY: positionSchema
17
+ });
18
+
19
+ export {
20
+ positionSchema,
21
+ positionsSchema
22
+ };
@@ -0,0 +1,65 @@
1
+ import {
2
+ esm_default
3
+ } from "./chunk-YE67BQQN.js";
4
+
5
+ // src/node/images/transform/frame/backgrounds/create-tile-background/index.ts
6
+ var TransitionNames = [
7
+ "linear",
8
+ "ease-in-quad",
9
+ "ease-out-quad",
10
+ "ease-in-out-quad",
11
+ "ease-in-cubic",
12
+ "ease-out-cubic",
13
+ "ease-in-out-cubic",
14
+ "ease-in-quart",
15
+ "ease-out-quart",
16
+ "ease-in-out-quart",
17
+ "ease-in-quint",
18
+ "ease-out-quint",
19
+ "ease-in-out-quint",
20
+ "ease-in-sine",
21
+ "ease-out-sine",
22
+ "ease-in-out-sine",
23
+ "ease-in-expo",
24
+ "ease-out-expo",
25
+ "ease-in-out-expo",
26
+ "ease-in-circ",
27
+ "ease-out-circ",
28
+ "ease-in-out-circ",
29
+ "ease-in-back",
30
+ "ease-out-back",
31
+ "ease-in-out-back",
32
+ "ease-in-elastic",
33
+ "ease-out-elastic",
34
+ "ease-in-out-elastic",
35
+ "ease-in-bounce",
36
+ "ease-out-bounce",
37
+ "ease-in-out-bounce"
38
+ ];
39
+ var createTileBackgroundSchema = esm_default.object({
40
+ type: esm_default.literal("tile"),
41
+ params: esm_default.object({
42
+ coverageRatio: esm_default.number(),
43
+ densityA: esm_default.object({
44
+ min: esm_default.number(),
45
+ max: esm_default.number()
46
+ }),
47
+ densityB: esm_default.object({
48
+ min: esm_default.number(),
49
+ max: esm_default.number()
50
+ }),
51
+ format: esm_default.enum([
52
+ "random",
53
+ "default",
54
+ "portrait",
55
+ "landscape"
56
+ ]),
57
+ xEasing: esm_default.enum(TransitionNames),
58
+ yEasing: esm_default.enum(TransitionNames)
59
+ })
60
+ });
61
+
62
+ export {
63
+ TransitionNames,
64
+ createTileBackgroundSchema
65
+ };
@@ -0,0 +1,67 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ Errors
6
+ } from "./chunk-2KT7AKRW.js";
7
+
8
+ // src/agnostic/misc/assert/index.ts
9
+ var Assert;
10
+ ((Assert2) => {
11
+ function makeSuccess(label) {
12
+ const formattedLabel = label.split("\n").join("\n ");
13
+ console.info(`\u2705 SUCCESS:
14
+ ${formattedLabel}`);
15
+ }
16
+ function makeFailure(label) {
17
+ const formattedLabel = label.split("\n").join("\n ");
18
+ throw new Error(`\u{1F6AB} FAILURE:
19
+ ${formattedLabel}`);
20
+ }
21
+ async function assert(label, assertion) {
22
+ if (typeof assertion === "boolean") return assertion ? Outcome.makeSuccess(label) : Outcome.makeFailure(label);
23
+ else if (typeof assertion === "function") {
24
+ try {
25
+ const result = await assertion();
26
+ if (result === false) return Outcome.makeFailure(label);
27
+ else return Outcome.makeSuccess(label);
28
+ } catch (err) {
29
+ const errStr = Errors.unknownToString(err);
30
+ return Outcome.makeFailure(`${label} / ${errStr}`);
31
+ }
32
+ } else {
33
+ let assertions;
34
+ if (Array.isArray(assertion)) {
35
+ assertions = [...assertion].map((a, p) => [`${p}`, a]);
36
+ } else if (assertion instanceof Map) {
37
+ assertions = Array.from(assertion);
38
+ } else {
39
+ assertions = Object.entries(assertion);
40
+ }
41
+ const allAsserted = await Promise.all(assertions.map(([innerLabel, innerAssertion]) => {
42
+ const fullLabel = `${label} / ${innerLabel}`;
43
+ const asserted = assert(fullLabel, innerAssertion);
44
+ return asserted;
45
+ }));
46
+ const allSuccess = allAsserted.every((asserted) => asserted.success);
47
+ if (allSuccess) return Outcome.makeSuccess(allAsserted.map((e) => e.payload).join("\n"));
48
+ const failures = allAsserted.filter((asserted) => asserted.success === false);
49
+ const failuresStr = failures.map((failure) => failure.error).join("\n ");
50
+ return Outcome.makeFailure(failuresStr);
51
+ }
52
+ }
53
+ Assert2.assert = assert;
54
+ async function assertVerbose(label, assertion) {
55
+ const asserted = await assert(label, assertion);
56
+ if (asserted?.success) {
57
+ makeSuccess(asserted.payload);
58
+ return asserted;
59
+ }
60
+ return makeFailure(asserted.error);
61
+ }
62
+ Assert2.assertVerbose = assertVerbose;
63
+ })(Assert || (Assert = {}));
64
+
65
+ export {
66
+ Assert
67
+ };
@@ -0,0 +1,177 @@
1
+ import {
2
+ frame
3
+ } from "./chunk-RCWLMVSZ.js";
4
+ import {
5
+ frameSchema
6
+ } from "./chunk-X244JGZD.js";
7
+ import {
8
+ compose
9
+ } from "./chunk-AWVQJNGX.js";
10
+ import {
11
+ scale
12
+ } from "./chunk-JRYI4VBX.js";
13
+ import {
14
+ flopSchema
15
+ } from "./chunk-UNHNZAVP.js";
16
+ import {
17
+ lineateLevelsSchema
18
+ } from "./chunk-6EIF24H5.js";
19
+ import {
20
+ saturateSchema
21
+ } from "./chunk-ZMMNN3QA.js";
22
+ import {
23
+ rotateSchema
24
+ } from "./chunk-D33KC6NN.js";
25
+ import {
26
+ scaleSchema
27
+ } from "./chunk-NAP2XNYN.js";
28
+ import {
29
+ resizeSchema
30
+ } from "./chunk-LSOHLSF5.js";
31
+ import {
32
+ extendSchema
33
+ } from "./chunk-WRRA3BN4.js";
34
+ import {
35
+ brightenSchema
36
+ } from "./chunk-CM6AHRTS.js";
37
+ import {
38
+ flipSchema
39
+ } from "./chunk-T2T5BYTW.js";
40
+ import {
41
+ hueRotateSchema
42
+ } from "./chunk-YEYXAV23.js";
43
+ import {
44
+ flattenSchema
45
+ } from "./chunk-Z4PVE6SR.js";
46
+ import {
47
+ modulateSchema
48
+ } from "./chunk-6IZ5HUJJ.js";
49
+ import {
50
+ normalizeSchema
51
+ } from "./chunk-662SOZWA.js";
52
+ import {
53
+ lightenSchema
54
+ } from "./chunk-W6JPRXQ4.js";
55
+ import {
56
+ composeSchema
57
+ } from "./chunk-G3HAKMUB.js";
58
+ import {
59
+ blurSchema
60
+ } from "./chunk-3UM5CZA5.js";
61
+ import {
62
+ extractSchema
63
+ } from "./chunk-C3ZKLONL.js";
64
+ import {
65
+ OperationNames
66
+ } from "./chunk-MOVLLUDL.js";
67
+ import {
68
+ esm_default
69
+ } from "./chunk-YE67BQQN.js";
70
+ import {
71
+ Outcome
72
+ } from "./chunk-JMU5PDBD.js";
73
+ import {
74
+ unknownToString
75
+ } from "./chunk-FENXVJYO.js";
76
+ import {
77
+ __export
78
+ } from "./chunk-NZLE2WMY.js";
79
+
80
+ // src/node/images/transform/index.ts
81
+ var transform_exports = {};
82
+ __export(transform_exports, {
83
+ apply: () => apply,
84
+ isOperation: () => isOperation,
85
+ transform: () => transform
86
+ });
87
+ import sharp from "sharp";
88
+ var operationSchema = esm_default.union([
89
+ // areaComposeSchema,
90
+ blurSchema,
91
+ brightenSchema,
92
+ composeSchema,
93
+ extendSchema,
94
+ extractSchema,
95
+ flattenSchema,
96
+ flipSchema,
97
+ flopSchema,
98
+ frameSchema,
99
+ hueRotateSchema,
100
+ lightenSchema,
101
+ lineateLevelsSchema,
102
+ modulateSchema,
103
+ normalizeSchema,
104
+ resizeSchema,
105
+ rotateSchema,
106
+ saturateSchema,
107
+ scaleSchema
108
+ ]);
109
+ function isOperation(operation) {
110
+ try {
111
+ return Outcome.makeSuccess(operationSchema.parse(operation));
112
+ } catch (err) {
113
+ return Outcome.makeFailure(unknownToString(err));
114
+ }
115
+ }
116
+ async function transform(imageBuffer, operations, checkValidOperations) {
117
+ let sharpInstance = sharp(imageBuffer);
118
+ const needsValidation = checkValidOperations ?? false;
119
+ for (const operation of operations) {
120
+ const _isOperation = isOperation(operation);
121
+ if (!needsValidation || _isOperation.success) {
122
+ console.log("Images:Transform:Operation:Start", operation.name);
123
+ sharpInstance = await apply(sharpInstance, operation);
124
+ console.log("Images:Transform:Operation:Done", operation.name);
125
+ }
126
+ }
127
+ return sharpInstance.toBuffer();
128
+ }
129
+ async function apply(sharpInstance, operation) {
130
+ switch (operation.name) {
131
+ case OperationNames.Blur:
132
+ return sharpInstance.blur(operation.params.sigma);
133
+ case OperationNames.Brighten:
134
+ return sharpInstance.blur(operation.params);
135
+ case OperationNames.Compose:
136
+ return compose(sharpInstance, operation.params);
137
+ case OperationNames.Extend:
138
+ return sharpInstance.extend(operation.params);
139
+ case OperationNames.Extract:
140
+ return sharpInstance.extract(operation.params);
141
+ case OperationNames.Flip:
142
+ return sharpInstance.flip(operation.params.flip);
143
+ case OperationNames.Flop:
144
+ return sharpInstance.flop(operation.params.flop);
145
+ case OperationNames.Frame:
146
+ return frame(sharpInstance, operation.params);
147
+ case OperationNames.Flatten:
148
+ return sharpInstance.flatten(operation.params);
149
+ case OperationNames.HueRotate:
150
+ return sharpInstance.modulate({ hue: operation.params });
151
+ case OperationNames.Lighten:
152
+ return sharpInstance.modulate({ lightness: operation.params });
153
+ case OperationNames.LineateLevels:
154
+ return sharpInstance.linear(operation.params.multiplier, operation.params.offset);
155
+ case OperationNames.Modulate:
156
+ return sharpInstance.modulate(operation.params);
157
+ case OperationNames.Normalize:
158
+ return sharpInstance.normalize(operation.params);
159
+ case OperationNames.Resize:
160
+ return sharpInstance.resize(operation.params);
161
+ case OperationNames.Rotate:
162
+ return sharpInstance.rotate(operation.params.angle);
163
+ case OperationNames.Saturate:
164
+ return sharpInstance.modulate({ saturation: operation.params });
165
+ case OperationNames.Scale:
166
+ return scale(sharpInstance, operation.params);
167
+ default:
168
+ return sharpInstance;
169
+ }
170
+ }
171
+
172
+ export {
173
+ isOperation,
174
+ transform,
175
+ apply,
176
+ transform_exports
177
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ bucket_exports
3
+ } from "./chunk-XSVBWVVC.js";
4
+ import {
5
+ file_exports
6
+ } from "./chunk-MXGGOCLX.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-NZLE2WMY.js";
10
+
11
+ // src/node/@google-cloud/storage/index.ts
12
+ var storage_exports = {};
13
+ __export(storage_exports, {
14
+ Bucket: () => bucket_exports,
15
+ File: () => file_exports
16
+ });
17
+
18
+ export {
19
+ storage_exports
20
+ };
@@ -0,0 +1,79 @@
1
+ import {
2
+ positionsSchema
3
+ } from "./chunk-D47ZPEUU.js";
4
+ import {
5
+ colorSchema
6
+ } from "./chunk-U7R6TPHR.js";
7
+ import {
8
+ OperationNames
9
+ } from "./chunk-MOVLLUDL.js";
10
+ import {
11
+ esm_default
12
+ } from "./chunk-YE67BQQN.js";
13
+
14
+ // src/node/images/transform/compose/index.ts
15
+ var composeSchema = esm_default.object({
16
+ name: esm_default.literal(OperationNames.Compose),
17
+ params: esm_default.object({
18
+ background: esm_default.optional(colorSchema),
19
+ images: esm_default.array(
20
+ esm_default.object({
21
+ input: esm_default.union([
22
+ esm_default.custom((val) => Buffer.isBuffer(val)),
23
+ esm_default.object({
24
+ mode: esm_default.literal("fill"),
25
+ nbChannels: esm_default.optional(esm_default.literal(3).or(esm_default.literal(4))),
26
+ background: colorSchema
27
+ }),
28
+ esm_default.object({
29
+ mode: esm_default.literal("gradient"),
30
+ angleDeg: esm_default.number(),
31
+ colorStops: esm_default.array(
32
+ esm_default.object({
33
+ color: colorSchema,
34
+ offsetPercent: esm_default.number()
35
+ })
36
+ )
37
+ })
38
+ ]),
39
+ dimensions: esm_default.object({
40
+ widthPx: esm_default.number().min(1).optional(),
41
+ heightPx: esm_default.number().min(1).optional()
42
+ }).optional(),
43
+ positions: positionsSchema.optional(),
44
+ tile: esm_default.optional(esm_default.boolean()),
45
+ blend: esm_default.optional(esm_default.enum([
46
+ "clear",
47
+ "source",
48
+ "over",
49
+ "in",
50
+ "out",
51
+ "atop",
52
+ "dest",
53
+ "dest-over",
54
+ "dest-in",
55
+ "dest-out",
56
+ "dest-atop",
57
+ "xor",
58
+ "add",
59
+ "saturate",
60
+ "multiply",
61
+ "screen",
62
+ "overlay",
63
+ "darken",
64
+ "lighten",
65
+ "color-dodge",
66
+ "color-burn",
67
+ "hard-light",
68
+ "soft-light",
69
+ "difference",
70
+ "exclusion"
71
+ ]))
72
+ })
73
+ )
74
+ })
75
+ });
76
+
77
+ export {
78
+ composeSchema
79
+ };
@@ -0,0 +1,16 @@
1
+ import {
2
+ file_exports
3
+ } from "./chunk-WR64YJNW.js";
4
+ import {
5
+ __export
6
+ } from "./chunk-NZLE2WMY.js";
7
+
8
+ // src/node/@aws-s3/storage/index.ts
9
+ var storage_exports = {};
10
+ __export(storage_exports, {
11
+ File: () => file_exports
12
+ });
13
+
14
+ export {
15
+ storage_exports
16
+ };