@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,239 @@
1
+ import {
2
+ ease
3
+ } from "./chunk-JJWKHBXD.js";
4
+ import {
5
+ clampNumber,
6
+ randomIntRange,
7
+ shuffleArray
8
+ } from "./chunk-7DDXALPH.js";
9
+ import {
10
+ __export
11
+ } from "./chunk-WSFCRVEQ.js";
12
+
13
+ // src/node/@design-edito/thumbnails/layout/index.ts
14
+ var layout_exports = {};
15
+ __export(layout_exports, {
16
+ alignBottomCenter: () => alignBottomCenter,
17
+ alignBottomLeft: () => alignBottomLeft,
18
+ alignBottomRight: () => alignBottomRight,
19
+ alignCenter: () => alignCenter,
20
+ alignLeftCenter: () => alignLeftCenter,
21
+ alignRightCenter: () => alignRightCenter,
22
+ alignTopCenter: () => alignTopCenter,
23
+ alignTopLeft: () => alignTopLeft,
24
+ alignTopRight: () => alignTopRight,
25
+ getContainedDimensions: () => getContainedDimensions,
26
+ getOffset: () => getOffset,
27
+ packAreasAndTiles: () => packAreasAndTiles
28
+ });
29
+ function getContainedDimensions(w, h, wrapperW, wrapperH, ignoreIfSmaller) {
30
+ if (ignoreIfSmaller && w <= wrapperW && h <= wrapperH) {
31
+ return { w, h };
32
+ }
33
+ const wrapperRatio = wrapperW / wrapperH;
34
+ const imgRatio = w / h;
35
+ const containRatio = imgRatio > wrapperRatio ? wrapperW / w : wrapperH / h;
36
+ return {
37
+ w: Math.round(w * containRatio),
38
+ h: Math.round(h * containRatio)
39
+ };
40
+ }
41
+ function packAreasAndTiles(initialShape, dimensions, tileCoverage, tileDensity, tileEasing, tileFormat) {
42
+ const areas = [];
43
+ const basePositions = {
44
+ top: Math.ceil(initialShape.y),
45
+ bottom: Math.ceil(initialShape.y + initialShape.h),
46
+ left: Math.ceil(initialShape.x),
47
+ right: Math.ceil(initialShape.x + initialShape.w)
48
+ };
49
+ for (let i = 0; i < 9; i++) {
50
+ if (i === 4) {
51
+ continue;
52
+ }
53
+ const middleColumn = i % 3 === 1;
54
+ const rightColumn = i % 3 === 2;
55
+ const topRow = i < 3;
56
+ const middleRow = !topRow && i < 6;
57
+ const bottomRow = !topRow && !middleRow;
58
+ areas[i] = { x: 0, y: 0, w: basePositions.left, h: basePositions.top };
59
+ if (middleColumn) {
60
+ areas[i].x = basePositions.left;
61
+ areas[i].w = initialShape.w;
62
+ }
63
+ if (rightColumn) {
64
+ areas[i].x = basePositions.right;
65
+ }
66
+ if (middleRow) {
67
+ areas[i].y = basePositions.top;
68
+ areas[i].h = initialShape.h;
69
+ }
70
+ if (bottomRow) {
71
+ areas[i].y = basePositions.bottom;
72
+ areas[i].h = dimensions.h - basePositions.bottom;
73
+ }
74
+ }
75
+ const filteredAreas = shuffleArray(areas.filter((area) => area.w !== 0 && area.h !== 0));
76
+ const subTiles = [];
77
+ const nbAreas = filteredAreas.length;
78
+ const nbAreasToCover = Math.round(nbAreas * tileCoverage / 100);
79
+ if (tileDensity.A.min > 1 || tileDensity.A.max > 1 || tileDensity.B.min > 1 || tileDensity.B.max > 1) {
80
+ filteredAreas.forEach((area, areaI) => {
81
+ if (areaI > nbAreasToCover) {
82
+ subTiles.push(area);
83
+ return;
84
+ }
85
+ const { nbRows, nbColumns } = getNbRowsAndColumnsForFormat(randomIntRange(tileDensity.A.min, tileDensity.A.max), randomIntRange(tileDensity.B.min, tileDensity.B.max), area, tileFormat);
86
+ const tiles = [];
87
+ for (let i = 0; i < nbRows; i++) {
88
+ for (let j = 0; j < nbColumns; j++) {
89
+ const columnI = j;
90
+ const rowI = i;
91
+ const x = Math.ceil(area.w * ease(columnI / nbColumns, tileEasing.X));
92
+ const y = Math.ceil(area.h * ease(rowI / nbRows, tileEasing.Y));
93
+ tiles.push({
94
+ x: area.x + x,
95
+ y: area.y + y
96
+ });
97
+ }
98
+ }
99
+ const nbTiles = tiles.length;
100
+ tiles.forEach((subTileCoord, i) => {
101
+ const tileNum = i + 1;
102
+ const nextTileX = tileNum % nbColumns > 0 ? tiles[i + 1] : null;
103
+ const nextTileY = i + nbColumns < nbTiles ? tiles[i + nbColumns] : null;
104
+ const subTileBounds = {
105
+ x: nextTileX ? nextTileX.x : area.x + area.w,
106
+ y: nextTileY ? nextTileY.y : area.y + area.h
107
+ };
108
+ subTiles.push({
109
+ x: subTileCoord.x,
110
+ y: subTileCoord.y,
111
+ w: subTileBounds.x - subTileCoord.x,
112
+ h: subTileBounds.y - subTileCoord.y
113
+ });
114
+ });
115
+ });
116
+ }
117
+ return (subTiles.length ? subTiles : filteredAreas).map((tile) => ({
118
+ w: clampNumber(tile.w, 0, dimensions.w),
119
+ h: clampNumber(tile.h, 0, dimensions.h),
120
+ x: clampNumber(tile.x, 0, dimensions.w),
121
+ y: clampNumber(tile.y, 0, dimensions.h)
122
+ })).filter((tile) => tile.w > 0 && tile.h > 0);
123
+ }
124
+ function getNbRowsAndColumnsForFormat(tileDensityA, tileDensityB, tileDimensions, tileFormat) {
125
+ switch (tileFormat) {
126
+ case "random":
127
+ const random = Math.random() > Math.random();
128
+ return {
129
+ nbRows: random ? tileDensityA : tileDensityB,
130
+ nbColumns: random ? tileDensityB : tileDensityA
131
+ };
132
+ case "portrait":
133
+ return {
134
+ nbRows: tileDensityA,
135
+ nbColumns: tileDensityB
136
+ };
137
+ case "landscape":
138
+ return {
139
+ nbRows: tileDensityB,
140
+ nbColumns: tileDensityA
141
+ };
142
+ default:
143
+ return {
144
+ nbRows: tileDimensions.w > tileDimensions.w ? tileDensityA : tileDensityB,
145
+ nbColumns: tileDimensions.w > tileDimensions.h ? tileDensityB : tileDensityA
146
+ };
147
+ }
148
+ }
149
+ function alignTopLeft(dimensions, containedDimensions, wrapperDimensions) {
150
+ return {
151
+ x: alignHorizontalLeft(dimensions, containedDimensions, wrapperDimensions),
152
+ y: alignVerticalTop(dimensions, containedDimensions, wrapperDimensions)
153
+ };
154
+ }
155
+ function alignTopCenter(dimensions, containedDimensions, wrapperDimensions) {
156
+ return {
157
+ x: alignHorizontalCenter(dimensions, containedDimensions, wrapperDimensions),
158
+ y: alignVerticalTop(dimensions, containedDimensions, wrapperDimensions)
159
+ };
160
+ }
161
+ function alignTopRight(dimensions, containedDimensions, wrapperDimensions) {
162
+ return {
163
+ x: alignHorizontalRight(dimensions, containedDimensions, wrapperDimensions),
164
+ y: alignVerticalTop(dimensions, containedDimensions, wrapperDimensions)
165
+ };
166
+ }
167
+ function alignLeftCenter(dimensions, containedDimensions, wrapperDimensions) {
168
+ return {
169
+ x: alignHorizontalLeft(dimensions, containedDimensions, wrapperDimensions),
170
+ y: alignVerticalCenter(dimensions, containedDimensions, wrapperDimensions)
171
+ };
172
+ }
173
+ function alignRightCenter(dimensions, containedDimensions, wrapperDimensions) {
174
+ return {
175
+ x: alignHorizontalRight(dimensions, containedDimensions, wrapperDimensions),
176
+ y: alignVerticalCenter(dimensions, containedDimensions, wrapperDimensions)
177
+ };
178
+ }
179
+ function alignCenter(dimensions, containedDimensions, wrapperDimensions) {
180
+ return {
181
+ x: alignHorizontalCenter(dimensions, containedDimensions, wrapperDimensions),
182
+ y: alignVerticalCenter(dimensions, containedDimensions, wrapperDimensions)
183
+ };
184
+ }
185
+ function alignBottomLeft(dimensions, containedDimensions, wrapperDimensions) {
186
+ return {
187
+ x: alignHorizontalLeft(dimensions, containedDimensions, wrapperDimensions),
188
+ y: alignVerticalBottom(dimensions, containedDimensions, wrapperDimensions)
189
+ };
190
+ }
191
+ function alignBottomCenter(dimensions, containedDimensions, wrapperDimensions) {
192
+ return {
193
+ x: alignHorizontalCenter(dimensions, containedDimensions, wrapperDimensions),
194
+ y: alignVerticalBottom(dimensions, containedDimensions, wrapperDimensions)
195
+ };
196
+ }
197
+ function alignBottomRight(dimensions, containedDimensions, wrapperDimensions) {
198
+ return {
199
+ x: alignHorizontalRight(dimensions, containedDimensions, wrapperDimensions),
200
+ y: alignVerticalBottom(dimensions, containedDimensions, wrapperDimensions)
201
+ };
202
+ }
203
+ function alignHorizontalLeft(dimensions, containedDimensions, wrapperDimensions) {
204
+ return getOffset(dimensions.w, containedDimensions.w);
205
+ }
206
+ function alignHorizontalCenter(dimensions, containedDimensions, wrapperDimensions) {
207
+ return getOffset(dimensions.w, wrapperDimensions.w);
208
+ }
209
+ function alignHorizontalRight(dimensions, containedDimensions, wrapperDimensions) {
210
+ return wrapperDimensions.w - (dimensions.w - getOffset(containedDimensions.w, dimensions.w));
211
+ }
212
+ function alignVerticalTop(dimensions, containedDimensions, wrapperDimensions) {
213
+ return getOffset(dimensions.h, containedDimensions.h);
214
+ }
215
+ function alignVerticalCenter(dimensions, containedDimensions, wrapperDimensions) {
216
+ return getOffset(dimensions.h, wrapperDimensions.h);
217
+ }
218
+ function alignVerticalBottom(dimensions, containedDimensions, wrapperDimensions) {
219
+ return wrapperDimensions.h - (dimensions.h - getOffset(containedDimensions.h, dimensions.h));
220
+ }
221
+ function getOffset(size, wrapperSize) {
222
+ return (wrapperSize - size) / 2;
223
+ }
224
+
225
+ export {
226
+ getContainedDimensions,
227
+ packAreasAndTiles,
228
+ alignTopLeft,
229
+ alignTopCenter,
230
+ alignTopRight,
231
+ alignLeftCenter,
232
+ alignRightCenter,
233
+ alignCenter,
234
+ alignBottomLeft,
235
+ alignBottomCenter,
236
+ alignBottomRight,
237
+ getOffset,
238
+ layout_exports
239
+ };
@@ -0,0 +1,32 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/@google-cloud/storage/file/move/index.ts
12
+ var move_exports = {};
13
+ __export(move_exports, {
14
+ move: () => move
15
+ });
16
+ async function move(sourcePath, targetPath, bucket, options) {
17
+ const { fileOptions, copyOptions, deleteOptions } = options ?? {};
18
+ try {
19
+ const file = bucket.file(sourcePath, fileOptions);
20
+ await file.copy(targetPath, copyOptions);
21
+ await file.delete(deleteOptions);
22
+ return Outcome.makeSuccess(true);
23
+ } catch (err) {
24
+ const errStr = unknownToString(err);
25
+ return Outcome.makeFailure(errStr);
26
+ }
27
+ }
28
+
29
+ export {
30
+ move,
31
+ move_exports
32
+ };
@@ -0,0 +1,16 @@
1
+ import {
2
+ file_exports
3
+ } from "./chunk-D5E2CIDK.js";
4
+ import {
5
+ __export
6
+ } from "./chunk-WSFCRVEQ.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
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/@google-cloud/storage/file/copy/index.ts
12
+ var copy_exports = {};
13
+ __export(copy_exports, {
14
+ copy: () => copy
15
+ });
16
+ async function copy(sourcePath, targetPath, bucket, options) {
17
+ const { fileOptions, copyOptions } = options ?? {};
18
+ try {
19
+ const file = bucket.file(sourcePath, fileOptions);
20
+ await file.copy(targetPath, copyOptions);
21
+ return Outcome.makeSuccess(true);
22
+ } catch (err) {
23
+ const errStr = unknownToString(err);
24
+ return Outcome.makeFailure(errStr);
25
+ }
26
+ }
27
+
28
+ export {
29
+ copy,
30
+ copy_exports
31
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ bucket_exports
3
+ } from "./chunk-YMRAUWRW.js";
4
+ import {
5
+ file_exports
6
+ } from "./chunk-UHH75BZP.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.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,34 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/@google-cloud/storage/file/download/index.ts
12
+ var download_exports = {};
13
+ __export(download_exports, {
14
+ download: () => download
15
+ });
16
+ async function download(sourcePath, bucket, options) {
17
+ const { fileOptions, downloadOptions } = options ?? {};
18
+ try {
19
+ const file = bucket.file(sourcePath, fileOptions);
20
+ const stream = file.createReadStream(downloadOptions);
21
+ stream.on("error", (err) => {
22
+ throw err;
23
+ });
24
+ return Outcome.makeSuccess(stream);
25
+ } catch (err) {
26
+ const errStr = unknownToString(err);
27
+ return Outcome.makeFailure(errStr);
28
+ }
29
+ }
30
+
31
+ export {
32
+ download,
33
+ download_exports
34
+ };
@@ -0,0 +1,36 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/@aws-s3/storage/file/download/index.ts
12
+ var download_exports = {};
13
+ __export(download_exports, {
14
+ download: () => download
15
+ });
16
+ async function download(sourcePath, bucketName, s3, options) {
17
+ const { downloadSettings } = options ?? {};
18
+ const params = {
19
+ ...downloadSettings,
20
+ Bucket: bucketName,
21
+ Key: sourcePath
22
+ };
23
+ try {
24
+ const data = await s3.getObject(params).promise();
25
+ const stream = data.Body;
26
+ return Outcome.makeSuccess(stream);
27
+ } catch (err) {
28
+ const errStr = unknownToString(err);
29
+ return Outcome.makeFailure(errStr);
30
+ }
31
+ }
32
+
33
+ export {
34
+ download,
35
+ download_exports
36
+ };
@@ -0,0 +1,56 @@
1
+ import {
2
+ upload as upload2
3
+ } from "./chunk-N5QAGJXV.js";
4
+ import {
5
+ upload
6
+ } from "./chunk-KH5JTC2N.js";
7
+ import {
8
+ upload as upload4
9
+ } from "./chunk-AZLVQV5A.js";
10
+ import {
11
+ upload as upload3
12
+ } from "./chunk-AIESW26U.js";
13
+ import {
14
+ makeClient
15
+ } from "./chunk-P3QFJTAE.js";
16
+ import {
17
+ s3IdentifierData
18
+ } from "./chunk-CMWR77VW.js";
19
+ import {
20
+ Outcome
21
+ } from "./chunk-JMU5PDBD.js";
22
+ import {
23
+ __export
24
+ } from "./chunk-WSFCRVEQ.js";
25
+
26
+ // src/node/cloud-storage/operations/upload/index.ts
27
+ var upload_exports = {};
28
+ __export(upload_exports, {
29
+ upload: () => upload5
30
+ });
31
+ import { Bucket } from "@google-cloud/storage";
32
+ import { S3 } from "aws-sdk";
33
+ import { Client as FtpClient } from "basic-ftp";
34
+ import SftpClient from "ssh2-sftp-client";
35
+ async function upload5(fileReadable, targetPath, endpointType, endpointIdentifier, credentials, client) {
36
+ if (client === void 0) {
37
+ const clientCreationOutcome = await makeClient(endpointType, endpointIdentifier, credentials);
38
+ if (!clientCreationOutcome.success) return Outcome.makeFailure(clientCreationOutcome.error);
39
+ client = clientCreationOutcome.payload;
40
+ }
41
+ if (endpointType === "gcs-bucket" /* GCS */ && client instanceof Bucket) return await upload(fileReadable, targetPath, client);
42
+ if (endpointType === "s3-bucket" /* S3 */ && client instanceof S3) {
43
+ const { bucketName } = s3IdentifierData(endpointIdentifier);
44
+ if (bucketName === null) return Outcome.makeFailure("Invalid S3 bucket name");
45
+ return await upload2(fileReadable, targetPath, bucketName, client);
46
+ }
47
+ if (endpointType === "ftp" /* FTP */ && client instanceof FtpClient) return await upload3(fileReadable, targetPath, client);
48
+ if (endpointType === "ftps" /* FTPS */ && client instanceof FtpClient) return await upload3(fileReadable, targetPath, client);
49
+ if (endpointType === "sftp" /* SFTP */ && client instanceof SftpClient) return await upload4(fileReadable, targetPath, client);
50
+ return Outcome.makeFailure("Invalid endpoint or client type");
51
+ }
52
+
53
+ export {
54
+ upload5 as upload,
55
+ upload_exports
56
+ };
@@ -0,0 +1,47 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/ftps/file/upload/index.ts
12
+ var upload_exports = {};
13
+ __export(upload_exports, {
14
+ upload: () => upload
15
+ });
16
+ async function upload(fileStream, targetPath, ftpClient, options) {
17
+ const {
18
+ ensureDir = false,
19
+ overwrite = false
20
+ } = options ?? {};
21
+ try {
22
+ if (ensureDir) {
23
+ const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
24
+ await ftpClient.ensureDir(dirPath);
25
+ }
26
+ let fileExists = false;
27
+ try {
28
+ await ftpClient.size(targetPath);
29
+ fileExists = true;
30
+ } catch {
31
+ fileExists = false;
32
+ }
33
+ if (fileExists && !overwrite) {
34
+ return Outcome.makeFailure(`File already exists at ${targetPath}.`);
35
+ }
36
+ await ftpClient.uploadFrom(fileStream, targetPath, options);
37
+ return Outcome.makeSuccess(true);
38
+ } catch (err) {
39
+ const errStr = unknownToString(err);
40
+ return Outcome.makeFailure(errStr);
41
+ }
42
+ }
43
+
44
+ export {
45
+ upload,
46
+ upload_exports
47
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ shuffle
3
+ } from "./chunk-VJJIYJMY.js";
4
+ import {
5
+ isArrayOf
6
+ } from "./chunk-6RGDWX4A.js";
7
+ import {
8
+ make
9
+ } from "./chunk-RLAZR3NL.js";
10
+ import {
11
+ randomPick,
12
+ randomPickMany
13
+ } from "./chunk-B446JIN3.js";
14
+ import {
15
+ findDuplicates
16
+ } from "./chunk-YS6WMSWC.js";
17
+
18
+ // src/agnostic/arrays/index.tsx
19
+ var Arrays;
20
+ ((Arrays2) => {
21
+ Arrays2.findDuplicates = findDuplicates;
22
+ Arrays2.isArrayOf = isArrayOf;
23
+ Arrays2.make = make;
24
+ Arrays2.randomPick = randomPick;
25
+ Arrays2.randomPickMany = randomPickMany;
26
+ Arrays2.shuffle = shuffle;
27
+ })(Arrays || (Arrays = {}));
28
+
29
+ export {
30
+ Arrays
31
+ };
@@ -0,0 +1,39 @@
1
+ import {
2
+ Outcome
3
+ } from "./chunk-JMU5PDBD.js";
4
+ import {
5
+ unknownToString
6
+ } from "./chunk-FENXVJYO.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.js";
10
+
11
+ // src/node/sftp/file/upload/index.ts
12
+ var upload_exports = {};
13
+ __export(upload_exports, {
14
+ upload: () => upload
15
+ });
16
+ async function upload(fileStream, targetPath, sftp, options) {
17
+ const {
18
+ ensureDir = false,
19
+ overwrite = false
20
+ } = options ?? {};
21
+ try {
22
+ const exists = await sftp.exists(targetPath);
23
+ if (exists && !overwrite) return Outcome.makeFailure(`File already exists at ${targetPath}.`);
24
+ if (ensureDir) {
25
+ const dirPath = targetPath.substring(0, targetPath.lastIndexOf("/"));
26
+ await sftp.mkdir(dirPath, true);
27
+ }
28
+ await sftp.put(fileStream, targetPath, options);
29
+ return Outcome.makeSuccess(true);
30
+ } catch (err) {
31
+ const errStr = unknownToString(err);
32
+ return Outcome.makeFailure(errStr);
33
+ }
34
+ }
35
+
36
+ export {
37
+ upload,
38
+ upload_exports
39
+ };
@@ -0,0 +1,54 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-WSFCRVEQ.js";
4
+
5
+ // src/node/cloud-storage/endpoint/index.ts
6
+ var endpoint_exports = {};
7
+ __export(endpoint_exports, {
8
+ Type: () => Type,
9
+ ftpIdentifierData: () => ftpIdentifierData,
10
+ gcsIdentifierData: () => gcsIdentifierData,
11
+ s3IdentifierData: () => s3IdentifierData
12
+ });
13
+ var Type = /* @__PURE__ */ ((Type2) => {
14
+ Type2["GCS"] = "gcs-bucket";
15
+ Type2["S3"] = "s3-bucket";
16
+ Type2["FTP"] = "ftp";
17
+ Type2["FTPS"] = "ftps";
18
+ Type2["SFTP"] = "sftp";
19
+ return Type2;
20
+ })(Type || {});
21
+ function gcsIdentifierData(identifier) {
22
+ identifier = identifier.trim().replace(/^\//, "");
23
+ const [bucketName, ...pathChunks] = identifier.split("/");
24
+ return {
25
+ bucketName: bucketName ?? null,
26
+ path: `/${pathChunks.join("/")}`
27
+ };
28
+ }
29
+ function s3IdentifierData(identifier) {
30
+ identifier = identifier.trim().replace(/^\//, "");
31
+ const [bucketName, ...pathChunks] = identifier.split("/");
32
+ return {
33
+ bucketName: bucketName ?? null,
34
+ path: `/${pathChunks.join("/")}`
35
+ };
36
+ }
37
+ function ftpIdentifierData(identifier) {
38
+ identifier = identifier.trim().replace(/^\//, "");
39
+ const [hostAndPort, ...pathChunks] = identifier.split("/");
40
+ const [host, port] = hostAndPort?.split(":") ?? [];
41
+ return {
42
+ host: host ?? null,
43
+ port: port ?? null,
44
+ path: `/${pathChunks.join("/")}`
45
+ };
46
+ }
47
+
48
+ export {
49
+ Type,
50
+ gcsIdentifierData,
51
+ s3IdentifierData,
52
+ ftpIdentifierData,
53
+ endpoint_exports
54
+ };