@design-edito/tools 0.1.56 → 0.1.57

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 (125) hide show
  1. package/agnostic/arrays/index.js +9 -9
  2. package/agnostic/arrays/is-array-of/index.d.ts +1 -1
  3. package/agnostic/arrays/random-pick/index.js +6 -6
  4. package/agnostic/booleans/is-falsy/index.d.ts +1 -1
  5. package/agnostic/css/bem/index.js +2 -2
  6. package/agnostic/css/index.js +20 -20
  7. package/agnostic/css/styles-set/index.js +8 -8
  8. package/agnostic/errors/index.js +2 -2
  9. package/agnostic/html/hyper-json/cast/index.js +6 -6
  10. package/agnostic/html/hyper-json/index.js +7 -7
  11. package/agnostic/html/hyper-json/smart-tags/coalesced/add/index.js +6 -6
  12. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +6 -6
  13. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.js +6 -6
  14. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +6 -6
  15. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +6 -6
  16. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +6 -6
  17. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.js +6 -6
  18. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +6 -6
  19. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.js +6 -6
  20. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +6 -6
  21. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.js +6 -6
  22. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +6 -6
  23. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +6 -6
  24. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +6 -6
  25. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.js +6 -6
  26. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.js +6 -6
  27. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.js +6 -6
  28. package/agnostic/html/hyper-json/smart-tags/coalesced/negate/index.js +6 -6
  29. package/agnostic/html/hyper-json/smart-tags/coalesced/notrailing/index.js +6 -6
  30. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.js +6 -6
  31. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.js +6 -6
  32. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +6 -6
  33. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +6 -6
  34. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.js +6 -6
  35. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +6 -6
  36. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.js +6 -6
  37. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +6 -6
  38. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +6 -6
  39. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +6 -6
  40. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +6 -6
  41. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +6 -6
  42. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +6 -6
  43. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +6 -6
  44. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +6 -6
  45. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +6 -6
  46. package/agnostic/html/hyper-json/smart-tags/coalesced/split/index.js +6 -6
  47. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +6 -6
  48. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.js +6 -6
  49. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.js +6 -6
  50. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.js +6 -6
  51. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +6 -6
  52. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.js +6 -6
  53. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.js +6 -6
  54. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.js +6 -6
  55. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.js +6 -6
  56. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.js +6 -6
  57. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.js +6 -6
  58. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.js +6 -6
  59. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.js +6 -6
  60. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +6 -6
  61. package/agnostic/html/hyper-json/smart-tags/isolated/boolean/index.js +6 -6
  62. package/agnostic/html/hyper-json/smart-tags/isolated/element/index.js +6 -6
  63. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.js +6 -6
  64. package/agnostic/html/hyper-json/smart-tags/isolated/global/index.js +6 -6
  65. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +6 -6
  66. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +6 -6
  67. package/agnostic/html/hyper-json/smart-tags/isolated/number/index.js +6 -6
  68. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.js +6 -6
  69. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +6 -6
  70. package/agnostic/html/hyper-json/smart-tags/isolated/string/index.js +6 -6
  71. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +6 -6
  72. package/agnostic/html/hyper-json/tree/index.js +6 -6
  73. package/agnostic/html/hyper-json/utils/index.js +6 -6
  74. package/agnostic/html/index.js +24 -24
  75. package/agnostic/html/sanitize/index.js +6 -6
  76. package/agnostic/html/selector-to-element/index.js +6 -6
  77. package/agnostic/html/string-to-nodes/index.js +7 -7
  78. package/agnostic/misc/assert/index.js +3 -3
  79. package/agnostic/misc/crossenv/index.js +2 -2
  80. package/agnostic/misc/index.js +24 -24
  81. package/agnostic/misc/logs/index.js +2 -2
  82. package/agnostic/misc/lorem-ipsum/index.js +12 -12
  83. package/agnostic/numbers/index.js +6 -6
  84. package/agnostic/objects/index.js +14 -14
  85. package/agnostic/optim/index.js +3 -3
  86. package/agnostic/random/index.js +2 -2
  87. package/agnostic/strings/index.js +10 -10
  88. package/chunks/chunk-22Q6VKLR.js +2369 -0
  89. package/chunks/chunk-3UAAYFXA.js +56 -0
  90. package/chunks/chunk-5KEIMXTB.js +20 -0
  91. package/chunks/chunk-CQ3R7BEH.js +173 -0
  92. package/chunks/chunk-CSYW7AAI.js +191 -0
  93. package/chunks/chunk-EHOZ6VCE.js +20 -0
  94. package/chunks/chunk-ITECXQUB.js +100 -0
  95. package/chunks/chunk-JJ5ME3A2.js +191 -0
  96. package/chunks/chunk-JNXO4QEM.js +56 -0
  97. package/chunks/chunk-MMNQZ2IM.js +20 -0
  98. package/chunks/chunk-OJXN5JW7.js +37 -0
  99. package/chunks/chunk-OOETQRTY.js +4430 -0
  100. package/chunks/chunk-T5C73QJF.js +56 -0
  101. package/chunks/chunk-UL6OZKRF.js +20 -0
  102. package/chunks/chunk-WDWDHE7I.js +31 -0
  103. package/chunks/chunk-XXDQWJP3.js +56 -0
  104. package/node/@aws-s3/index.js +3 -3
  105. package/node/@aws-s3/storage/file/index.js +4 -4
  106. package/node/@aws-s3/storage/index.js +3 -3
  107. package/node/@design-edito/index.js +4 -4
  108. package/node/@design-edito/thumbnails/index.js +7 -7
  109. package/node/@design-edito/thumbnails/layout/index.js +2 -2
  110. package/node/@google-cloud/index.js +9 -9
  111. package/node/@google-cloud/storage/file/index.js +15 -15
  112. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +2 -2
  113. package/node/@google-cloud/storage/index.js +9 -9
  114. package/node/cloud-storage/index.js +10 -10
  115. package/node/cloud-storage/operations/download/index.js +3 -3
  116. package/node/cloud-storage/operations/index.js +10 -10
  117. package/node/cloud-storage/operations/upload/index.js +3 -3
  118. package/node/encryption/buffer/index.d.ts +1 -1
  119. package/node/images/index.js +10 -10
  120. package/node/images/prepare/index.js +8 -8
  121. package/node/images/transform/area-composition/index.js +5 -5
  122. package/node/images/transform/index.js +6 -6
  123. package/node/sftp/file/index.js +4 -4
  124. package/node/sftp/index.js +2 -2
  125. package/package.json +1 -1
@@ -0,0 +1,56 @@
1
+ import {
2
+ upload as upload3
3
+ } from "./chunk-N5QAGJXV.js";
4
+ import {
5
+ upload as upload2
6
+ } from "./chunk-KH5JTC2N.js";
7
+ import {
8
+ makeClient
9
+ } from "./chunk-P3QFJTAE.js";
10
+ import {
11
+ s3IdentifierData
12
+ } from "./chunk-CMWR77VW.js";
13
+ import {
14
+ upload as upload4
15
+ } from "./chunk-AZLVQV5A.js";
16
+ import {
17
+ upload
18
+ } from "./chunk-AIESW26U.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 upload2(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 upload3(fileReadable, targetPath, bucketName, client);
46
+ }
47
+ if (endpointType === "ftp" /* FTP */ && client instanceof FtpClient) return await upload(fileReadable, targetPath, client);
48
+ if (endpointType === "ftps" /* FTPS */ && client instanceof FtpClient) return await upload(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,20 @@
1
+ import {
2
+ bucket_exports
3
+ } from "./chunk-YMRAUWRW.js";
4
+ import {
5
+ file_exports
6
+ } from "./chunk-T5C73QJF.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,173 @@
1
+ import {
2
+ Random
3
+ } from "./chunk-DCKTGQOX.js";
4
+ import {
5
+ register
6
+ } from "./chunk-7NO34XJI.js";
7
+
8
+ // src/agnostic/css/styles-set/index.tsx
9
+ import { Component } from "react";
10
+ import { createRoot as reactCreateRoot } from "react-dom/client";
11
+ import { Fragment, jsx } from "react/jsx-runtime";
12
+ var StylesSet = class _StylesSet {
13
+ static defaultPrivateIDAttribute = "data-styleset-private-id";
14
+ static defaultPublicIDAttribute = "data-styleset-public-id";
15
+ tagsPrivateIDAttribute = _StylesSet.defaultPrivateIDAttribute;
16
+ tagsPublicIDAttribute = _StylesSet.defaultPublicIDAttribute;
17
+ _items = /* @__PURE__ */ new Map();
18
+ get items() {
19
+ const sortedItemsArray = Array.from(this._items).map(([privateId, item]) => {
20
+ const targetPosition = this.getTargetPosition(privateId) ?? 0;
21
+ return { targetPosition, privateId, item };
22
+ }).sort((a, b) => a.targetPosition - b.targetPosition).map(({ item, privateId }) => [privateId, item]);
23
+ const sortedItemsMap = new Map(sortedItemsArray);
24
+ return sortedItemsMap;
25
+ }
26
+ getTargetPosition(privateId) {
27
+ const orderedStyles = Array.from(this._items).map(([privateId2, data]) => ({ privateId: privateId2, data })).sort((a, b) => {
28
+ const aPos = a.data.position ?? 0;
29
+ const bPos = b.data.position ?? 0;
30
+ return aPos - bPos;
31
+ });
32
+ const foundIndex = orderedStyles.findIndex((item) => item.privateId === privateId);
33
+ return foundIndex === -1 ? null : foundIndex;
34
+ }
35
+ setTagsPrivateIDAttribute(str) {
36
+ this.tagsPrivateIDAttribute = str;
37
+ return this;
38
+ }
39
+ setTagsPublicIDAttribute(str) {
40
+ this.tagsPublicIDAttribute = str;
41
+ return this;
42
+ }
43
+ getById(id) {
44
+ const found = Array.from(this._items.values()).find((entry) => entry.id === id);
45
+ if (found === void 0) return void 0;
46
+ return found;
47
+ }
48
+ generateUniquePrivateId() {
49
+ const existingIds = Array.from(this._items.keys());
50
+ const generated = Random.randomHash(12);
51
+ if (existingIds.includes(generated)) return this.generateUniquePrivateId();
52
+ return generated;
53
+ }
54
+ _rendered = /* @__PURE__ */ new Map();
55
+ render(element) {
56
+ const root = reactCreateRoot(element);
57
+ const items = this.items;
58
+ root.render(/* @__PURE__ */ jsx(
59
+ StylesSetComp,
60
+ {
61
+ items,
62
+ privateIDAttribute: this.tagsPrivateIDAttribute,
63
+ publicIDAttribute: this.tagsPublicIDAttribute
64
+ }
65
+ ));
66
+ this._rendered.set(element, root);
67
+ return this;
68
+ }
69
+ unmount(element) {
70
+ if (!this._rendered.has(element)) return this;
71
+ const root = this._rendered.get(element);
72
+ if (root === void 0) return this;
73
+ root.unmount();
74
+ this._rendered.delete(element);
75
+ return this;
76
+ }
77
+ updateRendered() {
78
+ const { items } = this;
79
+ this._rendered.forEach((root) => root.render(/* @__PURE__ */ jsx(
80
+ StylesSetComp,
81
+ {
82
+ items,
83
+ privateIDAttribute: this.tagsPrivateIDAttribute,
84
+ publicIDAttribute: this.tagsPublicIDAttribute
85
+ }
86
+ )));
87
+ return this;
88
+ }
89
+ addItem(item, abortIfIdExists = true) {
90
+ const existing = Array.from(this._items.entries()).map(([privateId2, entry]) => ({ privateId: privateId2, entry })).find(({ entry }) => entry.id !== void 0 && entry.id === item.id);
91
+ if (existing !== void 0) {
92
+ if (abortIfIdExists) return this;
93
+ this._items.delete(existing.privateId);
94
+ }
95
+ const privateId = this.generateUniquePrivateId();
96
+ this._items.set(privateId, item);
97
+ this.updateRendered();
98
+ return this;
99
+ }
100
+ removeItem(idOrPosition) {
101
+ if (typeof idOrPosition === "string") {
102
+ const existing = Array.from(this._items.entries()).map(([privateId, entry]) => ({ privateId, entry })).find(({ entry }) => entry.id !== void 0 && entry.id === idOrPosition);
103
+ if (existing === void 0) return this;
104
+ this._items.delete(existing.privateId);
105
+ this.updateRendered();
106
+ return this;
107
+ }
108
+ const toRemove = Array.from(this._items).map(([privateId, entry]) => ({ privateId, entry })).at(idOrPosition);
109
+ if (toRemove === void 0) return this;
110
+ this._items.delete(toRemove.privateId);
111
+ this.updateRendered();
112
+ return this;
113
+ }
114
+ async getDomString(documentObj) {
115
+ const actualDocumentObj = documentObj ?? window.document;
116
+ if (actualDocumentObj === null) throw register.getError("no-window-document-on-runtime" /* NO_DOCUMENT */);
117
+ return new Promise((resolve) => {
118
+ const tempElt = actualDocumentObj.createElement("div");
119
+ const tempRoot = reactCreateRoot(tempElt);
120
+ const { items } = this;
121
+ const onRendered = () => {
122
+ resolve(tempElt.innerHTML);
123
+ tempRoot.unmount();
124
+ tempElt.remove();
125
+ };
126
+ tempRoot.render(/* @__PURE__ */ jsx(
127
+ StylesSetComp,
128
+ {
129
+ items,
130
+ privateIDAttribute: this.tagsPrivateIDAttribute,
131
+ publicIDAttribute: this.tagsPublicIDAttribute,
132
+ onRendered
133
+ }
134
+ ));
135
+ });
136
+ }
137
+ };
138
+ var StylesSetComp = class extends Component {
139
+ componentDidMount() {
140
+ const { props } = this;
141
+ const { onRendered } = props;
142
+ if (onRendered !== void 0) onRendered();
143
+ }
144
+ componentDidUpdate() {
145
+ const { props } = this;
146
+ const { onRendered } = props;
147
+ if (onRendered !== void 0) onRendered();
148
+ }
149
+ render() {
150
+ const { props } = this;
151
+ const items = props.items ?? /* @__PURE__ */ new Map();
152
+ const pidAttr = props.privateIDAttribute ?? StylesSet.defaultPrivateIDAttribute;
153
+ const idAttr = props.publicIDAttribute ?? StylesSet.defaultPublicIDAttribute;
154
+ return /* @__PURE__ */ jsx(Fragment, { children: Array.from(items).map(([privateId, itemData]) => {
155
+ const customAttributes = { [pidAttr]: privateId, [idAttr]: itemData.id };
156
+ if (itemData.type === "url") return /* @__PURE__ */ jsx(
157
+ "link",
158
+ {
159
+ onLoad: itemData.onLoad,
160
+ rel: "stylesheet",
161
+ href: itemData.content,
162
+ ...customAttributes
163
+ }
164
+ );
165
+ return /* @__PURE__ */ jsx("style", { ...customAttributes, children: itemData.content });
166
+ }) });
167
+ }
168
+ };
169
+
170
+ export {
171
+ StylesSet,
172
+ StylesSetComp
173
+ };
@@ -0,0 +1,191 @@
1
+ import {
2
+ Random
3
+ } from "./chunk-DCKTGQOX.js";
4
+ import {
5
+ Arrays
6
+ } from "./chunk-TSQVG7GA.js";
7
+
8
+ // src/agnostic/misc/lorem-ipsum/index.ts
9
+ var LoremIpsum;
10
+ ((LoremIpsum2) => {
11
+ LoremIpsum2.words = [
12
+ "a",
13
+ "ac",
14
+ "accumsan",
15
+ "adipiscing",
16
+ "aenean",
17
+ "aliquam",
18
+ "aliquet",
19
+ "amet",
20
+ "ante",
21
+ "arcu",
22
+ "at",
23
+ "auctor",
24
+ "augue",
25
+ "bibendum",
26
+ "blandit",
27
+ "condimentum",
28
+ "consectetur",
29
+ "consequat",
30
+ "convallis",
31
+ "cras",
32
+ "curabitur",
33
+ "cursus",
34
+ "dapibus",
35
+ "diam",
36
+ "dictum",
37
+ "dictumst",
38
+ "dignissim",
39
+ "dolor",
40
+ "donec",
41
+ "dui",
42
+ "duis",
43
+ "efficitur",
44
+ "egestas",
45
+ "eget",
46
+ "eleifend",
47
+ "elementum",
48
+ "elit",
49
+ "enim",
50
+ "erat",
51
+ "eros",
52
+ "est",
53
+ "et",
54
+ "eu",
55
+ "euismod",
56
+ "ex",
57
+ "facilisis",
58
+ "faucibus",
59
+ "felis",
60
+ "feugiat",
61
+ "finibus",
62
+ "fringilla",
63
+ "fusce",
64
+ "gravida",
65
+ "habitasse",
66
+ "hac",
67
+ "hendrerit",
68
+ "iaculis",
69
+ "id",
70
+ "imperdiet",
71
+ "in",
72
+ "integer",
73
+ "interdum",
74
+ "ipsum",
75
+ "justo",
76
+ "lacinia",
77
+ "lacus",
78
+ "laoreet",
79
+ "lectus",
80
+ "leo",
81
+ "libero",
82
+ "ligula",
83
+ "lobortis",
84
+ "lorem",
85
+ "luctus",
86
+ "maecenas",
87
+ "magna",
88
+ "malesuada",
89
+ "massa",
90
+ "mattis",
91
+ "mauris",
92
+ "maximus",
93
+ "metus",
94
+ "mi",
95
+ "molestie",
96
+ "mollis",
97
+ "morbi",
98
+ "nam",
99
+ "nec",
100
+ "neque",
101
+ "nibh",
102
+ "nisi",
103
+ "nisl",
104
+ "non",
105
+ "nulla",
106
+ "nullam",
107
+ "nunc",
108
+ "odio",
109
+ "orci",
110
+ "ornare",
111
+ "pellentesque",
112
+ "pharetra",
113
+ "phasellus",
114
+ "placerat",
115
+ "platea",
116
+ "porta",
117
+ "porttitor",
118
+ "posuere",
119
+ "praesent",
120
+ "pulvinar",
121
+ "purus",
122
+ "quam",
123
+ "quis",
124
+ "quisque",
125
+ "risus",
126
+ "rutrum",
127
+ "sagittis",
128
+ "sapien",
129
+ "sed",
130
+ "sem",
131
+ "semper",
132
+ "sit",
133
+ "sodales",
134
+ "sollicitudin",
135
+ "suscipit",
136
+ "suspendisse",
137
+ "tellus",
138
+ "tempor",
139
+ "tempus",
140
+ "tincidunt",
141
+ "tortor",
142
+ "tristique",
143
+ "turpis",
144
+ "ultrices",
145
+ "ultricies",
146
+ "urna",
147
+ "ut",
148
+ "vehicula",
149
+ "vel",
150
+ "velit",
151
+ "venenatis",
152
+ "vestibulum",
153
+ "vitae",
154
+ "vivamus",
155
+ "viverra",
156
+ "volutpat",
157
+ "vulputate"
158
+ ];
159
+ LoremIpsum2.generateSentence = (wordCount) => {
160
+ const resultArr = [];
161
+ let currentWordCound = wordCount;
162
+ for (let i = 0; i < currentWordCound; i++) {
163
+ const picked = Arrays.randomPick(LoremIpsum2.words);
164
+ if (typeof picked === "string") resultArr.push(picked);
165
+ else {
166
+ currentWordCound += 1;
167
+ }
168
+ }
169
+ const [firstWord, ...otherWords] = resultArr;
170
+ if (firstWord === void 0) return "";
171
+ const capFirstLetter = firstWord?.charAt(0).toUpperCase();
172
+ const restOfFirstWord = firstWord?.slice(1);
173
+ const sentence = [
174
+ `${capFirstLetter}${restOfFirstWord}`,
175
+ ...otherWords
176
+ ].join(" ");
177
+ return `${sentence}.`;
178
+ };
179
+ LoremIpsum2.generateSentences = (sentencesCount, maxSentenceLength = 12, minSentenceLength = 4) => {
180
+ const sentences = [];
181
+ for (let i = 0; i < sentencesCount; i++) {
182
+ const length = Random.randomInt(maxSentenceLength, minSentenceLength) ?? 8;
183
+ sentences.push((0, LoremIpsum2.generateSentence)(length));
184
+ }
185
+ return sentences;
186
+ };
187
+ })(LoremIpsum || (LoremIpsum = {}));
188
+
189
+ export {
190
+ LoremIpsum
191
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ upload_exports
3
+ } from "./chunk-3UAAYFXA.js";
4
+ import {
5
+ download_exports
6
+ } from "./chunk-XXDQWJP3.js";
7
+ import {
8
+ __export
9
+ } from "./chunk-WSFCRVEQ.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,100 @@
1
+ import {
2
+ transformImage
3
+ } from "./chunk-OOETQRTY.js";
4
+ import {
5
+ thumbnails_exports
6
+ } from "./chunk-HTNLTDQT.js";
7
+ import {
8
+ exportZipBuffer,
9
+ prepareExport
10
+ } from "./chunk-5RGHYFQH.js";
11
+ import {
12
+ __export
13
+ } from "./chunk-WSFCRVEQ.js";
14
+
15
+ // src/node/images/prepare/index.ts
16
+ var prepare_exports = {};
17
+ __export(prepare_exports, {
18
+ MAX_NB_OUTPUTS: () => MAX_NB_OUTPUTS,
19
+ OUTPUT_ZIP_FOLDER: () => OUTPUT_ZIP_FOLDER,
20
+ prepareImage: () => prepareImage
21
+ });
22
+ import sharp from "sharp";
23
+ var MAX_NB_OUTPUTS = 50;
24
+ var OUTPUT_ZIP_FOLDER = "./output-zips";
25
+ async function prepareImage(imageBuffer, customOptions) {
26
+ const sharpImage = sharp(imageBuffer);
27
+ const sharpImageMetadata = await sharpImage.metadata();
28
+ const imageBufferMetadata = {
29
+ width: sharpImageMetadata.width || 0,
30
+ height: sharpImageMetadata.height || 0,
31
+ format: sharpImageMetadata.format || "png"
32
+ };
33
+ const options = getOptions(imageBufferMetadata, customOptions);
34
+ const nbOutputs = options.qualities.length * (options.ratios.length + 1) * (options.widths.length + 1) * (options.heights.length + 1);
35
+ if (nbOutputs > MAX_NB_OUTPUTS) {
36
+ throw Error("Nb output exceeds supported max nb output");
37
+ }
38
+ const transformedBuffer = await transformImage(imageBuffer, options.inputOperations, {
39
+ width: thumbnails_exports.Common.getArrayMax(options.widths) || 0,
40
+ height: thumbnails_exports.Common.getArrayMax(options.heights) || 0
41
+ });
42
+ const exportsBuffers = [{
43
+ buffer: imageBuffer,
44
+ name: generateFileName({
45
+ ...imageBufferMetadata,
46
+ quality: 100,
47
+ suffix: "original",
48
+ preffix: options.name
49
+ })
50
+ }];
51
+ for await (const width of options.widths) {
52
+ for await (const height of options.heights) {
53
+ for await (const quality of options.qualities) {
54
+ for await (const format of options.formats) {
55
+ const exportBuffer = await prepareExport(transformedBuffer, {
56
+ format,
57
+ quality,
58
+ width,
59
+ height
60
+ });
61
+ exportsBuffers.push({
62
+ buffer: exportBuffer,
63
+ name: generateFileName({ width, height, quality, format, preffix: options.name })
64
+ });
65
+ }
66
+ }
67
+ }
68
+ }
69
+ const zipBuffer = exportZipBuffer(exportsBuffers, generateZipName());
70
+ return zipBuffer;
71
+ }
72
+ function getOptions(imageBufferMetadata, options) {
73
+ return {
74
+ center: [0.5, 0.5],
75
+ qualities: [100],
76
+ inputOperations: [],
77
+ ...options,
78
+ name: options?.name || "",
79
+ formats: [imageBufferMetadata.format, ...options?.formats ? options.formats : []],
80
+ ratios: [...options?.ratios ? options.ratios : []],
81
+ widths: [imageBufferMetadata.width, ...options?.widths ? options.widths : []],
82
+ heights: [imageBufferMetadata.height, ...options?.heights ? options.heights : []]
83
+ };
84
+ }
85
+ function generateZipName() {
86
+ const date = /* @__PURE__ */ new Date();
87
+ return `image-exports_${date.toLocaleDateString()}_${date.toLocaleTimeString()}_${date.getTime()}`.replace(/\/|:/g, "-").replace(/ /g, "").trim();
88
+ }
89
+ function generateFileName({ width, height, quality, format, suffix, preffix }) {
90
+ const _preffix = preffix ? `${preffix}_` : "image-formats_";
91
+ const _suffix = `${suffix ? `_${suffix}` : ""}.${format}`;
92
+ return `${_preffix}${width}${height}_Q${quality}${_suffix}`;
93
+ }
94
+
95
+ export {
96
+ MAX_NB_OUTPUTS,
97
+ OUTPUT_ZIP_FOLDER,
98
+ prepareImage,
99
+ prepare_exports
100
+ };