@design-edito/tools 0.1.54 → 0.1.55

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 (201) hide show
  1. package/agnostic/arrays/index.js +12 -12
  2. package/agnostic/arrays/random-pick/index.js +6 -6
  3. package/agnostic/css/bem/index.js +2 -2
  4. package/agnostic/css/index.js +15 -15
  5. package/agnostic/css/styles-set/index.js +8 -8
  6. package/agnostic/errors/index.js +2 -2
  7. package/agnostic/html/hyper-json/cast/index.js +4 -4
  8. package/agnostic/html/hyper-json/index.js +5 -5
  9. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +4 -4
  10. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +4 -4
  11. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +4 -4
  12. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +4 -4
  13. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +4 -4
  14. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +4 -4
  15. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +4 -4
  16. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +4 -4
  17. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +4 -4
  18. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +4 -4
  19. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +4 -4
  20. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +4 -4
  21. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +4 -4
  22. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +4 -4
  23. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +4 -4
  24. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +4 -4
  25. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +4 -4
  26. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +4 -4
  27. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +4 -4
  28. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +4 -4
  29. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +4 -4
  30. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +4 -4
  31. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +4 -4
  32. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +4 -4
  33. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +4 -4
  34. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +4 -4
  35. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +4 -4
  36. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +4 -4
  37. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +4 -4
  38. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +4 -4
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +4 -4
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +4 -4
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +4 -4
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -4
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +4 -4
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +4 -4
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +4 -4
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +4 -4
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +4 -4
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +4 -4
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +4 -4
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +4 -4
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +4 -4
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +4 -4
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +4 -4
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +4 -4
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +4 -4
  56. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +4 -4
  57. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +4 -4
  58. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +4 -4
  59. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +4 -4
  60. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +4 -4
  61. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +4 -4
  62. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +4 -4
  63. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +4 -4
  64. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +4 -4
  65. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +4 -4
  66. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +4 -4
  67. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +4 -4
  68. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +4 -4
  69. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +4 -4
  70. package/agnostic/html/hyper-json/tree/index.js +4 -4
  71. package/agnostic/html/hyper-json/utils/index.js +4 -4
  72. package/agnostic/html/index.js +23 -23
  73. package/agnostic/html/sanitize/index.js +6 -6
  74. package/agnostic/html/selector-to-element/index.js +6 -6
  75. package/agnostic/html/string-to-nodes/index.js +7 -7
  76. package/agnostic/misc/assert/index.js +3 -3
  77. package/agnostic/misc/crossenv/index.js +2 -2
  78. package/agnostic/misc/index.js +30 -30
  79. package/agnostic/misc/logs/index.js +2 -2
  80. package/agnostic/misc/lorem-ipsum/index.js +15 -15
  81. package/agnostic/numbers/index.js +3 -3
  82. package/agnostic/objects/index.js +9 -9
  83. package/agnostic/random/index.js +2 -2
  84. package/agnostic/strings/index.js +6 -6
  85. package/agnostic/time/index.js +7 -7
  86. package/chunks/chunk-2PNFMIXN.js +20 -0
  87. package/chunks/chunk-454MZ5UE.js +239 -0
  88. package/chunks/chunk-4CAHGPFA.js +32 -0
  89. package/chunks/chunk-55MT7BMY.js +16 -0
  90. package/chunks/chunk-5IPSIDXB.js +31 -0
  91. package/chunks/chunk-6PNTQUTX.js +20 -0
  92. package/chunks/chunk-6WVNJVBE.js +34 -0
  93. package/chunks/chunk-7N7BJA6C.js +36 -0
  94. package/chunks/chunk-AE6L2HYA.js +56 -0
  95. package/chunks/chunk-AIESW26U.js +47 -0
  96. package/chunks/chunk-AM26FWT6.js +31 -0
  97. package/chunks/chunk-AZLVQV5A.js +39 -0
  98. package/chunks/chunk-CMWR77VW.js +54 -0
  99. package/chunks/chunk-D2NTUAFE.js +4284 -0
  100. package/chunks/chunk-D5E2CIDK.js +20 -0
  101. package/chunks/chunk-EHVYR4OU.js +56 -0
  102. package/chunks/chunk-GKG3UQH3.js +191 -0
  103. package/chunks/chunk-HKTNK262.js +23 -0
  104. package/chunks/chunk-HQGZVWBB.js +56 -0
  105. package/chunks/chunk-IJ7SOXLA.js +107 -0
  106. package/chunks/chunk-ISAIFQAY.js +100 -0
  107. package/chunks/chunk-JSYVAPV6.js +6 -0
  108. package/chunks/chunk-KH5JTC2N.js +49 -0
  109. package/chunks/chunk-KTB7NX4Q.js +56 -0
  110. package/chunks/chunk-KUIQRVIC.js +100 -0
  111. package/chunks/chunk-L2L27BLX.js +56 -0
  112. package/chunks/chunk-LXZULGNN.js +37 -0
  113. package/chunks/chunk-MC5RLVK5.js +4284 -0
  114. package/chunks/chunk-MUZGZ3ZF.js +50 -0
  115. package/chunks/chunk-N5QAGJXV.js +49 -0
  116. package/chunks/chunk-OD33BN4K.js +32 -0
  117. package/chunks/chunk-OPO25SDO.js +28 -0
  118. package/chunks/chunk-P3QFJTAE.js +129 -0
  119. package/chunks/chunk-QUWGF5WZ.js +191 -0
  120. package/chunks/chunk-QZPBUDX2.js +20 -0
  121. package/chunks/chunk-RWWYR54P.js +31 -0
  122. package/chunks/chunk-UHH75BZP.js +56 -0
  123. package/chunks/chunk-UJN2WZGO.js +32 -0
  124. package/chunks/chunk-UT75PSLP.js +20 -0
  125. package/chunks/chunk-VHCD3Z4T.js +20 -0
  126. package/chunks/chunk-VLHSIIPO.js +20 -0
  127. package/chunks/chunk-W5LE6YQ5.js +16 -0
  128. package/chunks/chunk-WDXNM5YB.js +20 -0
  129. package/chunks/chunk-WO2R3QFK.js +20 -0
  130. package/chunks/chunk-X4XXZ44B.js +37 -0
  131. package/chunks/chunk-XC2YGMNJ.js +203 -0
  132. package/node/@aws-s3/index.d.ts +2 -0
  133. package/node/@aws-s3/index.js +12 -0
  134. package/node/@aws-s3/storage/file/download/index.d.ts +22 -0
  135. package/node/@aws-s3/storage/file/download/index.js +9 -0
  136. package/node/@aws-s3/storage/file/index.d.ts +3 -0
  137. package/node/@aws-s3/storage/file/index.js +14 -0
  138. package/node/@aws-s3/storage/file/upload/index.d.ts +28 -0
  139. package/node/@aws-s3/storage/file/upload/index.js +9 -0
  140. package/node/@aws-s3/storage/index.d.ts +2 -0
  141. package/node/@aws-s3/storage/index.js +12 -0
  142. package/node/@design-edito/index.js +3 -3
  143. package/node/@design-edito/thumbnails/index.js +5 -5
  144. package/node/@design-edito/thumbnails/layout/index.js +2 -2
  145. package/node/@google-cloud/index.js +13 -13
  146. package/node/@google-cloud/storage/file/copy/index.d.ts +3 -3
  147. package/node/@google-cloud/storage/file/copy/index.js +1 -1
  148. package/node/@google-cloud/storage/file/download/index.d.ts +5 -4
  149. package/node/@google-cloud/storage/file/download/index.js +1 -1
  150. package/node/@google-cloud/storage/file/index.js +19 -19
  151. package/node/@google-cloud/storage/file/move/index.d.ts +3 -3
  152. package/node/@google-cloud/storage/file/move/index.js +1 -1
  153. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +3 -3
  154. package/node/@google-cloud/storage/file/upload/index.d.ts +13 -9
  155. package/node/@google-cloud/storage/file/upload/index.js +1 -1
  156. package/node/@google-cloud/storage/index.js +15 -15
  157. package/node/cloud-storage/client/index.d.ts +14 -0
  158. package/node/cloud-storage/client/index.js +20 -0
  159. package/node/cloud-storage/credentials/index.d.ts +33 -0
  160. package/node/cloud-storage/credentials/index.js +1 -0
  161. package/node/cloud-storage/endpoint/index.d.ts +24 -0
  162. package/node/cloud-storage/endpoint/index.js +13 -0
  163. package/node/cloud-storage/index.d.ts +5 -0
  164. package/node/cloud-storage/index.js +31 -0
  165. package/node/cloud-storage/operations/download/index.d.ts +5 -0
  166. package/node/cloud-storage/operations/download/index.js +15 -0
  167. package/node/cloud-storage/operations/index.d.ts +3 -0
  168. package/node/cloud-storage/operations/index.js +24 -0
  169. package/node/cloud-storage/operations/upload/index.d.ts +6 -0
  170. package/node/cloud-storage/operations/upload/index.js +15 -0
  171. package/node/encryption/buffer/index.d.ts +5 -4
  172. package/node/encryption/buffer/index.js +10 -10
  173. package/node/encryption/index.d.ts +4 -5
  174. package/node/encryption/index.js +9 -21
  175. package/node/encryption/key/index.d.ts +16 -0
  176. package/node/encryption/key/index.js +7 -0
  177. package/node/encryption/uint8-array/index.js +1 -1
  178. package/node/files/index.js +3 -3
  179. package/node/ftps/file/download/index.d.ts +22 -0
  180. package/node/ftps/file/download/index.js +9 -0
  181. package/node/ftps/file/index.d.ts +3 -0
  182. package/node/ftps/file/index.js +14 -0
  183. package/node/ftps/file/upload/index.d.ts +24 -0
  184. package/node/ftps/file/upload/index.js +9 -0
  185. package/node/ftps/index.d.ts +2 -0
  186. package/node/ftps/index.js +11 -0
  187. package/node/images/index.js +9 -9
  188. package/node/images/prepare/index.js +7 -7
  189. package/node/images/transform/area-composition/index.js +4 -4
  190. package/node/images/transform/index.d.ts +182 -5
  191. package/node/images/transform/index.js +5 -5
  192. package/node/index.d.ts +5 -1
  193. package/node/sftp/file/download/index.d.ts +20 -0
  194. package/node/sftp/file/download/index.js +9 -0
  195. package/node/sftp/file/index.d.ts +3 -0
  196. package/node/sftp/file/index.js +14 -0
  197. package/node/sftp/file/upload/index.d.ts +24 -0
  198. package/node/sftp/file/upload/index.js +9 -0
  199. package/node/sftp/index.d.ts +2 -0
  200. package/node/sftp/index.js +11 -0
  201. package/package.json +6 -2
@@ -0,0 +1,20 @@
1
+ import {
2
+ download_exports
3
+ } from "./chunk-OD33BN4K.js";
4
+ import {
5
+ upload_exports
6
+ } from "./chunk-AZLVQV5A.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/sftp/file/index.ts
12
+ var file_exports = {};
13
+ __export(file_exports, {
14
+ Download: () => download_exports,
15
+ Upload: () => upload_exports
16
+ });
17
+
18
+ export {
19
+ file_exports
20
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ upload_exports
3
+ } from "./chunk-AIESW26U.js";
4
+ import {
5
+ download_exports
6
+ } from "./chunk-UJN2WZGO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/ftps/file/index.ts
12
+ var file_exports = {};
13
+ __export(file_exports, {
14
+ Download: () => download_exports,
15
+ Upload: () => upload_exports
16
+ });
17
+
18
+ export {
19
+ file_exports
20
+ };
@@ -0,0 +1,37 @@
1
+ import {
2
+ erase
3
+ } from "./chunk-G66DWXF3.js";
4
+ import {
5
+ upload
6
+ } from "./chunk-KH5JTC2N.js";
7
+ import {
8
+ download
9
+ } from "./chunk-6WVNJVBE.js";
10
+ import {
11
+ Outcome
12
+ } from "./chunk-JMU5PDBD.js";
13
+ import {
14
+ __export
15
+ } from "./chunk-WSFCRVEQ.js";
16
+
17
+ // src/node/@google-cloud/storage/file/revoke-signed-urls/index.ts
18
+ var revoke_signed_urls_exports = {};
19
+ __export(revoke_signed_urls_exports, {
20
+ revokeSignedUrls: () => revokeSignedUrls
21
+ });
22
+ async function revokeSignedUrls(sourcePath, bucket, options) {
23
+ const { downloadOptions, eraseOptions, uploadOptions } = options ?? {};
24
+ const downloadAttempt = await download(sourcePath, bucket, downloadOptions);
25
+ if (!downloadAttempt.success) return downloadAttempt;
26
+ const deletionAttempt = await erase(sourcePath, bucket, eraseOptions);
27
+ if (!deletionAttempt.success) return deletionAttempt;
28
+ const downloaded = downloadAttempt.payload;
29
+ const reuploadAttempt = await upload(downloaded, sourcePath, bucket, uploadOptions);
30
+ if (!reuploadAttempt.success) return reuploadAttempt;
31
+ return Outcome.makeSuccess(true);
32
+ }
33
+
34
+ export {
35
+ revokeSignedUrls,
36
+ revoke_signed_urls_exports
37
+ };
@@ -0,0 +1,203 @@
1
+ import {
2
+ thumbnails_exports
3
+ } from "./chunk-OPO25SDO.js";
4
+
5
+ // src/node/images/transform/area-composition/index.ts
6
+ import sharp from "sharp";
7
+ var DEFAULT_GENERATE_OPTIONS = {
8
+ formats: ["jpeg"],
9
+ nbOutputs: 1,
10
+ imagePosition: "center",
11
+ imageOccupation: 60,
12
+ dimensions: { w: 300, h: 500 },
13
+ palette: ["default"],
14
+ maxPaletteDensity: 100,
15
+ extractPaletteDensity: 8,
16
+ lightenIntensity: 20,
17
+ saturateIntensity: 20,
18
+ colorFilterApply: "all",
19
+ tileDensityA: { min: 1, max: 1 },
20
+ tileDensityB: { min: 1, max: 1 },
21
+ tileCoverage: 50,
22
+ tileFormat: "default",
23
+ tileXEasing: "none",
24
+ tileYEasing: "none"
25
+ };
26
+ async function areaCompose(inputSharp, customOptions) {
27
+ const options = getOptions(customOptions);
28
+ const inputMetadata = await inputSharp.metadata();
29
+ const initialDimensions = {
30
+ w: inputMetadata.width || 0,
31
+ h: inputMetadata.height || 0
32
+ };
33
+ const inputBufferData = await inputSharp.raw().toBuffer();
34
+ const imagePalette = thumbnails_exports.Colors.extractPaletteFromImage(inputBufferData, initialDimensions, options);
35
+ const composedPalette = composePalette(imagePalette, options.palette, options.maxPaletteDensity);
36
+ inputSharp.png({ quality: 100 });
37
+ const outputDimensions = {
38
+ w: options.dimensions.w,
39
+ h: options.dimensions.h
40
+ };
41
+ const resizeInputDimensions = getNewInputImageDimensions(outputDimensions, options.imageOccupation);
42
+ const resizedInput = inputSharp.resize({
43
+ width: resizeInputDimensions.w,
44
+ height: resizeInputDimensions.h,
45
+ fit: "contain",
46
+ background: { r: 255, g: 255, b: 255, alpha: 0 }
47
+ // Add a transparent background
48
+ }).toFormat("png");
49
+ const resizedInputPositions = getImagePositions(options.imagePosition, resizeInputDimensions, resizeInputDimensions, outputDimensions);
50
+ const shapesLayout = thumbnails_exports.Layout.packAreasAndTiles(
51
+ {
52
+ ...resizedInputPositions,
53
+ ...resizeInputDimensions
54
+ },
55
+ outputDimensions,
56
+ options.tileCoverage,
57
+ { A: options.tileDensityA, B: options.tileDensityB },
58
+ { X: options.tileXEasing, Y: options.tileYEasing }
59
+ );
60
+ const sharpShapes = getSharpTilesInputs(shapesLayout, composedPalette);
61
+ const sharpShapesForComposite = [];
62
+ for await (const sharpShape of sharpShapes) {
63
+ ;
64
+ sharpShapesForComposite.push({
65
+ input: await sharpShape.input.toFormat("png").toBuffer(),
66
+ left: sharpShape.left,
67
+ top: sharpShape.top
68
+ });
69
+ }
70
+ const background = composedPalette[0] || [255, 255, 255];
71
+ const outputSharp = await createSharpShape(outputDimensions, background).toFormat("webp");
72
+ const composedSharp = outputSharp.composite([
73
+ {
74
+ input: await resizedInput.toFormat("webp").toBuffer(),
75
+ /* Converting to png to handle alpha */
76
+ left: Math.round(resizedInputPositions.x),
77
+ top: Math.round(resizedInputPositions.y)
78
+ },
79
+ ...sharpShapesForComposite
80
+ ]);
81
+ return await composedSharp.flatten();
82
+ }
83
+ function getOptions(customOptions) {
84
+ if (!customOptions) {
85
+ return DEFAULT_GENERATE_OPTIONS;
86
+ }
87
+ ;
88
+ const options = {
89
+ ...DEFAULT_GENERATE_OPTIONS,
90
+ ...customOptions
91
+ };
92
+ return options;
93
+ }
94
+ function getNewInputImageDimensions(formatDimensions, imageOccupation) {
95
+ const placeRatio = imageOccupation / 100;
96
+ return {
97
+ w: Math.round(formatDimensions.w * placeRatio),
98
+ h: Math.round(formatDimensions.h * placeRatio)
99
+ };
100
+ }
101
+ function composePalette(palette, paletteOption, maxPaletteDensity) {
102
+ let composedPalette = [];
103
+ if (paletteOption.includes("default-lighten")) {
104
+ composedPalette = [...composedPalette, ...palette.default.lighten];
105
+ }
106
+ if (paletteOption.includes("default-saturate")) {
107
+ composedPalette = [...composedPalette, ...palette.default.saturate];
108
+ }
109
+ if (paletteOption.includes("complementary")) {
110
+ composedPalette = [...composedPalette, ...palette.complementary.default];
111
+ }
112
+ if (paletteOption.includes("complementary-lighten")) {
113
+ composedPalette = [...composedPalette, ...palette.complementary.lighten];
114
+ }
115
+ if (paletteOption.includes("complementary-saturate")) {
116
+ composedPalette = [...composedPalette, ...palette.complementary.saturate];
117
+ }
118
+ if (paletteOption.includes("default") || !composedPalette.length) {
119
+ composedPalette = [...composedPalette, ...palette.default.default];
120
+ }
121
+ const shuffledPalette = thumbnails_exports.Common.shuffleArray(composedPalette);
122
+ const outputPalette = composedPalette.length > maxPaletteDensity ? shuffledPalette.splice(0, maxPaletteDensity) : shuffledPalette;
123
+ return outputPalette;
124
+ }
125
+ function getImagePositions(position, resizedImageDimensions, containedImageDimensions, wrapperDimensions) {
126
+ switch (position) {
127
+ case "top-left":
128
+ return thumbnails_exports.Layout.alignTopLeft(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
129
+ case "top-center":
130
+ return thumbnails_exports.Layout.alignTopCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
131
+ case "top-right":
132
+ return thumbnails_exports.Layout.alignTopRight(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
133
+ case "left-center":
134
+ return thumbnails_exports.Layout.alignLeftCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
135
+ case "center":
136
+ return thumbnails_exports.Layout.alignCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
137
+ case "right-center":
138
+ return thumbnails_exports.Layout.alignRightCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
139
+ case "bottom-left":
140
+ return thumbnails_exports.Layout.alignBottomLeft(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
141
+ case "bottom-center":
142
+ return thumbnails_exports.Layout.alignBottomCenter(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
143
+ case "bottom-right":
144
+ return thumbnails_exports.Layout.alignBottomRight(resizedImageDimensions, containedImageDimensions, wrapperDimensions);
145
+ default:
146
+ return { x: 0, y: 0 };
147
+ }
148
+ }
149
+ function createSharpShape(dimensions, background) {
150
+ return sharp(
151
+ {
152
+ create: getCreateSharpShape(dimensions, background)
153
+ }
154
+ );
155
+ }
156
+ function getCreateSharpShape(dimensions, background) {
157
+ return {
158
+ width: Math.round(dimensions.w),
159
+ height: Math.round(dimensions.h),
160
+ channels: 4,
161
+ background: { r: background[0], g: background[1], b: background[2], alpha: 1 }
162
+ };
163
+ }
164
+ function getSharpTilesInputs(tiles, palette) {
165
+ let usedColorsIndexes = [];
166
+ const paletteLength = palette.length;
167
+ const getUnusedColorIndex = () => {
168
+ const paletteIndex = thumbnails_exports.Common.randomInt(paletteLength);
169
+ resetUnusedColorIndexesIfNeeded();
170
+ if (usedColorsIndexes.includes(paletteIndex)) {
171
+ return getUnusedColorIndex();
172
+ }
173
+ usedColorsIndexes.push(paletteIndex);
174
+ return paletteIndex;
175
+ };
176
+ const resetUnusedColorIndexesIfNeeded = () => {
177
+ if (usedColorsIndexes.length !== paletteLength) {
178
+ return;
179
+ }
180
+ usedColorsIndexes = [];
181
+ };
182
+ return tiles.map((tile) => {
183
+ const paletteIndex = getUnusedColorIndex();
184
+ const color = palette[paletteIndex];
185
+ if (!color) {
186
+ return;
187
+ }
188
+ return {
189
+ top: Math.round(tile.y),
190
+ left: Math.round(tile.x),
191
+ input: sharp(
192
+ {
193
+ create: getCreateSharpShape(tile, color)
194
+ }
195
+ )
196
+ };
197
+ }).filter((sharpShape) => sharpShape !== void 0);
198
+ }
199
+
200
+ export {
201
+ areaCompose,
202
+ getSharpTilesInputs
203
+ };
@@ -0,0 +1,2 @@
1
+ import * as Storage from './storage';
2
+ export { Storage };
@@ -0,0 +1,12 @@
1
+ import {
2
+ storage_exports
3
+ } from "../../chunks/chunk-55MT7BMY.js";
4
+ import "../../chunks/chunk-D5E2CIDK.js";
5
+ import "../../chunks/chunk-N5QAGJXV.js";
6
+ import "../../chunks/chunk-7N7BJA6C.js";
7
+ import "../../chunks/chunk-JMU5PDBD.js";
8
+ import "../../chunks/chunk-FENXVJYO.js";
9
+ import "../../chunks/chunk-WSFCRVEQ.js";
10
+ export {
11
+ storage_exports as Storage
12
+ };
@@ -0,0 +1,22 @@
1
+ import { Readable } from 'node:stream';
2
+ import { S3 } from 'aws-sdk';
3
+ import { Outcome } from '~/agnostic/misc/outcome';
4
+ export type DownloadOptions = {
5
+ downloadSettings?: S3.Types.GetObjectRequest;
6
+ };
7
+ /**
8
+ * Downloads a file from a specified Amazon S3 bucket.
9
+ *
10
+ * This function downloads a file from the given bucket and path, returning the file content as a `Readable` stream.
11
+ * The download process can be customized using optional `downloadSettings`.
12
+ *
13
+ * @param {string} sourcePath - The path of the file to be downloaded in the bucket.
14
+ * @param {string} bucketName - The name of the S3 bucket from which to download the file.
15
+ * @param {S3} s3 - The AWS S3 client instance.
16
+ * @param {DownloadOptions} [options] - Optional configuration options for the download.
17
+ * @param {S3.Types.GetObjectRequest} [options.downloadSettings] - Settings for the download process.
18
+ * @returns {Promise<Outcome.Either<Readable, string>>} A promise that resolves to an `Outcome.Either`.
19
+ * - On success: `Outcome.makeSuccess(stream)` containing the downloaded file's content as a `Readable` stream.
20
+ * - On failure: `Outcome.makeFailure(errStr)` with an error message if the download fails.
21
+ */
22
+ export declare function download(sourcePath: string, bucketName: string, s3: S3, options?: DownloadOptions): Promise<Outcome.Either<Readable, string>>;
@@ -0,0 +1,9 @@
1
+ import {
2
+ download
3
+ } from "../../../../../chunks/chunk-7N7BJA6C.js";
4
+ import "../../../../../chunks/chunk-JMU5PDBD.js";
5
+ import "../../../../../chunks/chunk-FENXVJYO.js";
6
+ import "../../../../../chunks/chunk-WSFCRVEQ.js";
7
+ export {
8
+ download
9
+ };
@@ -0,0 +1,3 @@
1
+ import * as Download from './download';
2
+ import * as Upload from './upload';
3
+ export { Download, Upload };
@@ -0,0 +1,14 @@
1
+ import "../../../../chunks/chunk-D5E2CIDK.js";
2
+ import {
3
+ upload_exports
4
+ } from "../../../../chunks/chunk-N5QAGJXV.js";
5
+ import {
6
+ download_exports
7
+ } from "../../../../chunks/chunk-7N7BJA6C.js";
8
+ import "../../../../chunks/chunk-JMU5PDBD.js";
9
+ import "../../../../chunks/chunk-FENXVJYO.js";
10
+ import "../../../../chunks/chunk-WSFCRVEQ.js";
11
+ export {
12
+ download_exports as Download,
13
+ upload_exports as Upload
14
+ };
@@ -0,0 +1,28 @@
1
+ import { Readable } from 'node:stream';
2
+ import { S3 } from 'aws-sdk';
3
+ import { Outcome } from '~/agnostic/misc/outcome';
4
+ export type UploadOptions = {
5
+ fileMetadata?: S3.Types.PutObjectRequest;
6
+ uploadSettings?: S3.ManagedUpload.ManagedUploadOptions;
7
+ overwrite?: boolean;
8
+ };
9
+ /**
10
+ * Uploads a file stream to a specified Amazon S3 bucket.
11
+ *
12
+ * This function uploads the provided file stream to the specified bucket at the given target path.
13
+ * The upload can be customized using optional `fileMetadata` and `uploadSettings`.
14
+ * If the `overwrite` option is false and a file already exists at the target path, the upload is aborted.
15
+ *
16
+ * @param {Readable} fileStream - The file content to be uploaded.
17
+ * @param {string} targetPath - The target path where the file will be saved in the bucket.
18
+ * @param {string} bucketName - The name of the S3 bucket.
19
+ * @param {S3} s3 - The AWS S3 client instance.
20
+ * @param {UploadOptions} [options] - Optional options to configure the upload process.
21
+ * @param {S3.Types.PutObjectRequest} [options.fileMetadata] - Additional metadata for the file being uploaded.
22
+ * @param {S3.ManagedUpload.ManagedUploadOptions} [options.uploadSettings] - Settings for the managed upload process.
23
+ * @param {boolean} [options.overwrite] - If false and a file exists at the target path, the upload is aborted.
24
+ * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an Outcome.Either.
25
+ * - On success: Outcome.makeSuccess(true) indicating the upload was successful.
26
+ * - On failure: Outcome.makeFailure(errStr) with an error message if the upload fails.
27
+ */
28
+ export declare function upload(fileStream: Readable, targetPath: string, bucketName: string, s3: S3, options?: UploadOptions): Promise<Outcome.Either<true, string>>;
@@ -0,0 +1,9 @@
1
+ import {
2
+ upload
3
+ } from "../../../../../chunks/chunk-N5QAGJXV.js";
4
+ import "../../../../../chunks/chunk-JMU5PDBD.js";
5
+ import "../../../../../chunks/chunk-FENXVJYO.js";
6
+ import "../../../../../chunks/chunk-WSFCRVEQ.js";
7
+ export {
8
+ upload
9
+ };
@@ -0,0 +1,2 @@
1
+ import * as File from './file';
2
+ export { File };
@@ -0,0 +1,12 @@
1
+ import "../../../chunks/chunk-55MT7BMY.js";
2
+ import {
3
+ file_exports
4
+ } from "../../../chunks/chunk-D5E2CIDK.js";
5
+ import "../../../chunks/chunk-N5QAGJXV.js";
6
+ import "../../../chunks/chunk-7N7BJA6C.js";
7
+ import "../../../chunks/chunk-JMU5PDBD.js";
8
+ import "../../../chunks/chunk-FENXVJYO.js";
9
+ import "../../../chunks/chunk-WSFCRVEQ.js";
10
+ export {
11
+ file_exports as File
12
+ };
@@ -1,11 +1,11 @@
1
1
  import "../../chunks/chunk-L7EUEQZP.js";
2
2
  import {
3
3
  thumbnails_exports
4
- } from "../../chunks/chunk-UVSTFYSD.js";
4
+ } from "../../chunks/chunk-OPO25SDO.js";
5
5
  import "../../chunks/chunk-X5FAZBWL.js";
6
- import "../../chunks/chunk-BONBND7I.js";
7
- import "../../chunks/chunk-7DDXALPH.js";
6
+ import "../../chunks/chunk-454MZ5UE.js";
8
7
  import "../../chunks/chunk-JJWKHBXD.js";
8
+ import "../../chunks/chunk-7DDXALPH.js";
9
9
  import "../../chunks/chunk-WSFCRVEQ.js";
10
10
  export {
11
11
  thumbnails_exports as Thumbnails
@@ -1,16 +1,16 @@
1
- import "../../../chunks/chunk-UVSTFYSD.js";
1
+ import "../../../chunks/chunk-OPO25SDO.js";
2
2
  import {
3
3
  colors_exports
4
4
  } from "../../../chunks/chunk-X5FAZBWL.js";
5
5
  import {
6
6
  layout_exports
7
- } from "../../../chunks/chunk-BONBND7I.js";
8
- import {
9
- common_exports
10
- } from "../../../chunks/chunk-7DDXALPH.js";
7
+ } from "../../../chunks/chunk-454MZ5UE.js";
11
8
  import {
12
9
  easings_exports
13
10
  } from "../../../chunks/chunk-JJWKHBXD.js";
11
+ import {
12
+ common_exports
13
+ } from "../../../chunks/chunk-7DDXALPH.js";
14
14
  import "../../../chunks/chunk-WSFCRVEQ.js";
15
15
  export {
16
16
  colors_exports as Colors,
@@ -11,9 +11,9 @@ import {
11
11
  getContainedDimensions,
12
12
  getOffset,
13
13
  packAreasAndTiles
14
- } from "../../../../chunks/chunk-BONBND7I.js";
15
- import "../../../../chunks/chunk-7DDXALPH.js";
14
+ } from "../../../../chunks/chunk-454MZ5UE.js";
16
15
  import "../../../../chunks/chunk-JJWKHBXD.js";
16
+ import "../../../../chunks/chunk-7DDXALPH.js";
17
17
  import "../../../../chunks/chunk-WSFCRVEQ.js";
18
18
  export {
19
19
  alignBottomCenter,
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  storage_exports
3
- } from "../../chunks/chunk-Q7HA7IAA.js";
4
- import "../../chunks/chunk-W6BFU7Y5.js";
5
- import "../../chunks/chunk-JBDWHJ4Q.js";
6
- import "../../chunks/chunk-QTTNO4T6.js";
7
- import "../../chunks/chunk-3GTGE66Y.js";
8
- import "../../chunks/chunk-4WOYAD35.js";
9
- import "../../chunks/chunk-N4LMP4UM.js";
10
- import "../../chunks/chunk-G66DWXF3.js";
11
- import "../../chunks/chunk-I66DPQN2.js";
12
- import "../../chunks/chunk-5VHFXWFM.js";
13
- import "../../chunks/chunk-QVIRBFMQ.js";
14
- import "../../chunks/chunk-EM37BFXO.js";
15
- import "../../chunks/chunk-WOGRENMM.js";
3
+ } from "../../chunks/chunk-VHCD3Z4T.js";
16
4
  import "../../chunks/chunk-YMRAUWRW.js";
17
5
  import "../../chunks/chunk-ZNA7SWFK.js";
18
6
  import "../../chunks/chunk-7YSTZ7GY.js";
7
+ import "../../chunks/chunk-L2L27BLX.js";
8
+ import "../../chunks/chunk-EM37BFXO.js";
9
+ import "../../chunks/chunk-QVIRBFMQ.js";
10
+ import "../../chunks/chunk-4CAHGPFA.js";
11
+ import "../../chunks/chunk-WOGRENMM.js";
12
+ import "../../chunks/chunk-X4XXZ44B.js";
13
+ import "../../chunks/chunk-G66DWXF3.js";
14
+ import "../../chunks/chunk-JBDWHJ4Q.js";
15
+ import "../../chunks/chunk-5IPSIDXB.js";
16
+ import "../../chunks/chunk-5VHFXWFM.js";
17
+ import "../../chunks/chunk-KH5JTC2N.js";
18
+ import "../../chunks/chunk-6WVNJVBE.js";
19
19
  import "../../chunks/chunk-JMU5PDBD.js";
20
20
  import "../../chunks/chunk-FENXVJYO.js";
21
21
  import "../../chunks/chunk-WSFCRVEQ.js";
@@ -7,15 +7,15 @@ export type CopyOptions = {
7
7
  /**
8
8
  * Copies a file from one location to another within a Google Cloud Storage bucket.
9
9
  *
10
- * This function copies the file located at `sourcePath` to `destinationPath` in the same or a different Google Cloud Storage bucket.
10
+ * This function copies the file located at `sourcePath` to `targetPath` in the same or a different Google Cloud Storage bucket.
11
11
  * It can be customized using optional `fileOptions` and `copyOptions` to control the copying behavior.
12
12
  *
13
13
  * @param {string} sourcePath - The path of the source file to be copied.
14
- * @param {string} destinationPath - The destination path where the file will be copied to.
14
+ * @param {string} targetPath - The target path where the file will be copied to.
15
15
  * @param {Bucket} bucket - The Google Cloud Storage bucket object containing the file to be copied.
16
16
  * @param {CopyOptions} [options] - Optional configuration options for the file copy operation.
17
17
  * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`.
18
18
  * - On success: `Outcome.makeSuccess(true)` indicating the file was successfully copied.
19
19
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the copy operation fails.
20
20
  */
21
- export declare function copy(sourcePath: string, destinationPath: string, bucket: Bucket, options?: CopyOptions): Promise<Outcome.Either<true, string>>;
21
+ export declare function copy(sourcePath: string, targetPath: string, bucket: Bucket, options?: CopyOptions): Promise<Outcome.Either<true, string>>;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  copy
3
- } from "../../../../../chunks/chunk-N4LMP4UM.js";
3
+ } from "../../../../../chunks/chunk-5IPSIDXB.js";
4
4
  import "../../../../../chunks/chunk-JMU5PDBD.js";
5
5
  import "../../../../../chunks/chunk-FENXVJYO.js";
6
6
  import "../../../../../chunks/chunk-WSFCRVEQ.js";
@@ -1,3 +1,4 @@
1
+ import { Readable } from 'node:stream';
1
2
  import { Bucket, FileOptions, DownloadOptions as GCSFileDownloadOptions } from '@google-cloud/storage';
2
3
  import { Outcome } from '~/agnostic/misc/outcome';
3
4
  export type DownloadOptions = {
@@ -7,14 +8,14 @@ export type DownloadOptions = {
7
8
  /**
8
9
  * Downloads a file from a specified Google Cloud Storage bucket.
9
10
  *
10
- * This function downloads a file from the given bucket and path, returning the file content as a `Buffer`.
11
+ * This function downloads a file from the given bucket and path, returning the file content as a `Readable`.
11
12
  * The download process can be customized using optional `fileOptions` and `downloadOptions`.
12
13
  *
13
14
  * @param {string} sourcePath - The path of the file to be downloaded in the bucket.
14
15
  * @param {Bucket} bucket - The Google Cloud Storage bucket object from which to download the file.
15
16
  * @param {DownloadOptions} [options] - Optional configuration options for the download.
16
- * @returns {Promise<Outcome.Either<Buffer, string>>} A promise that resolves to an `Outcome.Either`.
17
- * - On success: `Outcome.makeSuccess(buffer)` containing the downloaded file's content as a `Buffer`.
17
+ * @returns {Promise<Outcome.Either<Readable, string>>} A promise that resolves to an `Outcome.Either`.
18
+ * - On success: `Outcome.makeSuccess(stream)` containing the downloaded file's content as a `Readable`.
18
19
  * - On failure: `Outcome.makeFailure(errStr)` with an error message if the download fails.
19
20
  */
20
- export declare function download(sourcePath: string, bucket: Bucket, options?: DownloadOptions): Promise<Outcome.Either<Buffer, string>>;
21
+ export declare function download(sourcePath: string, bucket: Bucket, options?: DownloadOptions): Promise<Outcome.Either<Readable, string>>;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  download
3
- } from "../../../../../chunks/chunk-I66DPQN2.js";
3
+ } from "../../../../../chunks/chunk-6WVNJVBE.js";
4
4
  import "../../../../../chunks/chunk-JMU5PDBD.js";
5
5
  import "../../../../../chunks/chunk-FENXVJYO.js";
6
6
  import "../../../../../chunks/chunk-WSFCRVEQ.js";
@@ -1,37 +1,37 @@
1
- import "../../../../chunks/chunk-W6BFU7Y5.js";
1
+ import "../../../../chunks/chunk-L2L27BLX.js";
2
2
  import {
3
- update_metadata_exports
4
- } from "../../../../chunks/chunk-JBDWHJ4Q.js";
3
+ generate_signed_url_exports
4
+ } from "../../../../chunks/chunk-EM37BFXO.js";
5
5
  import {
6
- revoke_signed_urls_exports
7
- } from "../../../../chunks/chunk-QTTNO4T6.js";
6
+ get_metadata_exports
7
+ } from "../../../../chunks/chunk-QVIRBFMQ.js";
8
8
  import {
9
9
  move_exports
10
- } from "../../../../chunks/chunk-3GTGE66Y.js";
10
+ } from "../../../../chunks/chunk-4CAHGPFA.js";
11
11
  import {
12
- upload_exports
13
- } from "../../../../chunks/chunk-4WOYAD35.js";
12
+ get_permissions_exports
13
+ } from "../../../../chunks/chunk-WOGRENMM.js";
14
14
  import {
15
- copy_exports
16
- } from "../../../../chunks/chunk-N4LMP4UM.js";
15
+ revoke_signed_urls_exports
16
+ } from "../../../../chunks/chunk-X4XXZ44B.js";
17
17
  import {
18
18
  erase_exports
19
19
  } from "../../../../chunks/chunk-G66DWXF3.js";
20
20
  import {
21
- download_exports
22
- } from "../../../../chunks/chunk-I66DPQN2.js";
21
+ update_metadata_exports
22
+ } from "../../../../chunks/chunk-JBDWHJ4Q.js";
23
+ import {
24
+ copy_exports
25
+ } from "../../../../chunks/chunk-5IPSIDXB.js";
23
26
  import {
24
27
  exists_exports
25
28
  } from "../../../../chunks/chunk-5VHFXWFM.js";
26
29
  import {
27
- get_metadata_exports
28
- } from "../../../../chunks/chunk-QVIRBFMQ.js";
29
- import {
30
- generate_signed_url_exports
31
- } from "../../../../chunks/chunk-EM37BFXO.js";
30
+ upload_exports
31
+ } from "../../../../chunks/chunk-KH5JTC2N.js";
32
32
  import {
33
- get_permissions_exports
34
- } from "../../../../chunks/chunk-WOGRENMM.js";
33
+ download_exports
34
+ } from "../../../../chunks/chunk-6WVNJVBE.js";
35
35
  import "../../../../chunks/chunk-JMU5PDBD.js";
36
36
  import "../../../../chunks/chunk-FENXVJYO.js";
37
37
  import "../../../../chunks/chunk-WSFCRVEQ.js";
@@ -8,11 +8,11 @@ export type MoveOptions = {
8
8
  /**
9
9
  * Moves a file from one location to another within a Google Cloud Storage bucket.
10
10
  *
11
- * This function first copies the file located at `sourcePath` to `destinationPath`, then deletes the source file
11
+ * This function first copies the file located at `sourcePath` to `targetPath`, then deletes the source file
12
12
  * after the copy is successful. The process can be customized using optional `fileOptions`, `copyOptions`, and `deleteOptions`.
13
13
  *
14
14
  * @param {string} sourcePath - The path of the source file to be moved.
15
- * @param {string} destinationPath - The destination path where the file will be moved to.
15
+ * @param {string} targetPath - The target path where the file will be moved to.
16
16
  * @param {Bucket} bucket - The Google Cloud Storage bucket object containing the file to be moved.
17
17
  * @param {MoveOptions} [options] - Optional configuration options for the file move operation.
18
18
  * @returns {Promise<Outcome.Either<true, string>>} A promise that resolves to an `Outcome.Either`.
@@ -21,4 +21,4 @@ export type MoveOptions = {
21
21
  *
22
22
  * @throws {Error} Throws an error if the move operation fails (e.g., source file not found, insufficient permissions, etc.).
23
23
  */
24
- export declare function move(sourcePath: string, destinationPath: string, bucket: Bucket, options?: MoveOptions): Promise<Outcome.Either<true, string>>;
24
+ export declare function move(sourcePath: string, targetPath: string, bucket: Bucket, options?: MoveOptions): Promise<Outcome.Either<true, string>>;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  move
3
- } from "../../../../../chunks/chunk-3GTGE66Y.js";
3
+ } from "../../../../../chunks/chunk-4CAHGPFA.js";
4
4
  import "../../../../../chunks/chunk-JMU5PDBD.js";
5
5
  import "../../../../../chunks/chunk-FENXVJYO.js";
6
6
  import "../../../../../chunks/chunk-WSFCRVEQ.js";