@wener/utils 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/README.md +5 -3
  2. package/lib/cjs/arrays/MaybeArray.js +44 -27
  3. package/lib/cjs/arrays/index.js +17 -5
  4. package/lib/cjs/asyncs/AsyncInterval.js +31 -14
  5. package/lib/cjs/asyncs/LazyPromise.js +41 -24
  6. package/lib/cjs/asyncs/MaybePromise.js +15 -3
  7. package/lib/cjs/asyncs/generatorOfStream.js +32 -15
  8. package/lib/cjs/asyncs/index.js +23 -11
  9. package/lib/cjs/asyncs/isPromise.js +23 -6
  10. package/lib/cjs/asyncs/promiseOfCallback.js +34 -19
  11. package/lib/cjs/asyncs/sleep.js +22 -5
  12. package/lib/cjs/asyncs/timeout.js +40 -23
  13. package/lib/cjs/browsers/copy.js +65 -49
  14. package/lib/cjs/browsers/download.js +44 -32
  15. package/lib/cjs/browsers/getFileFromDataTransfer.js +44 -37
  16. package/lib/cjs/browsers/index.js +20 -8
  17. package/lib/cjs/browsers/loaders.js +48 -32
  18. package/lib/cjs/formats/formatBytes.js +34 -29
  19. package/lib/cjs/index.js +35 -15
  20. package/lib/cjs/io/index.js +17 -5
  21. package/lib/cjs/io/isBuffer.js +23 -10
  22. package/lib/cjs/isomorphics/getGlobalThis.js +31 -23
  23. package/lib/cjs/maths/index.js +17 -5
  24. package/lib/cjs/maths/random.js +33 -17
  25. package/lib/cjs/shim/urljoin.js +70 -0
  26. package/lib/cjs/shim/urljoin.test.js +4 -0
  27. package/lib/cjs/strings/camelCase.js +68 -65
  28. package/lib/cjs/strings/index.js +18 -7
  29. package/lib/cjs/strings/templates.js +25 -16
  30. package/lib/cjs/validations/asserts.js +25 -14
  31. package/lib/cjs/validations/index.js +20 -8
  32. package/lib/cjs/validations/isClass.js +23 -6
  33. package/lib/cjs/validations/isDefined.js +23 -6
  34. package/lib/cjs/validations/isEmptyObject.js +26 -9
  35. package/lib/esm/index.d.ts +2 -1
  36. package/lib/esm/index.js +5 -2
  37. package/lib/esm/shim/urljoin.d.ts +2 -0
  38. package/lib/esm/{strings → shim}/urljoin.js +3 -5
  39. package/lib/{cjs/strings → esm/shim}/urljoin.test.d.ts +0 -0
  40. package/lib/esm/{strings → shim}/urljoin.test.js +0 -0
  41. package/lib/esm/strings/index.d.ts +0 -1
  42. package/lib/esm/strings/index.js +0 -1
  43. package/package.json +3 -3
  44. package/src/index.ts +2 -1
  45. package/src/{strings → shim}/urljoin.test.ts +0 -0
  46. package/src/{strings → shim}/urljoin.ts +6 -10
  47. package/src/strings/index.ts +0 -1
  48. package/tsconfig.json +1 -1
  49. package/dist/utils.cjs +0 -497
  50. package/dist/utils.cjs.map +0 -7
  51. package/dist/utils.js +0 -445
  52. package/dist/utils.js.map +0 -7
  53. package/dist/utils.mjs +0 -475
  54. package/dist/utils.mjs.map +0 -7
  55. package/lib/cjs/arrays/MaybeArray.d.ts +0 -5
  56. package/lib/cjs/arrays/MaybeArray.js.map +0 -1
  57. package/lib/cjs/arrays/index.d.ts +0 -1
  58. package/lib/cjs/arrays/index.js.map +0 -1
  59. package/lib/cjs/asyncs/AsyncInterval.d.ts +0 -3
  60. package/lib/cjs/asyncs/AsyncInterval.js.map +0 -1
  61. package/lib/cjs/asyncs/LazyPromise.d.ts +0 -5
  62. package/lib/cjs/asyncs/LazyPromise.js.map +0 -1
  63. package/lib/cjs/asyncs/MaybePromise.d.ts +0 -1
  64. package/lib/cjs/asyncs/MaybePromise.js.map +0 -1
  65. package/lib/cjs/asyncs/generatorOfStream.d.ts +0 -1
  66. package/lib/cjs/asyncs/generatorOfStream.js.map +0 -1
  67. package/lib/cjs/asyncs/index.d.ts +0 -7
  68. package/lib/cjs/asyncs/index.js.map +0 -1
  69. package/lib/cjs/asyncs/isPromise.d.ts +0 -1
  70. package/lib/cjs/asyncs/isPromise.js.map +0 -1
  71. package/lib/cjs/asyncs/promiseOfCallback.d.ts +0 -1
  72. package/lib/cjs/asyncs/promiseOfCallback.js.map +0 -1
  73. package/lib/cjs/asyncs/sleep.d.ts +0 -1
  74. package/lib/cjs/asyncs/sleep.js.map +0 -1
  75. package/lib/cjs/asyncs/timeout.d.ts +0 -4
  76. package/lib/cjs/asyncs/timeout.js.map +0 -1
  77. package/lib/cjs/browsers/copy.d.ts +0 -1
  78. package/lib/cjs/browsers/copy.js.map +0 -1
  79. package/lib/cjs/browsers/download.d.ts +0 -4
  80. package/lib/cjs/browsers/download.js.map +0 -1
  81. package/lib/cjs/browsers/getFileFromDataTransfer.d.ts +0 -4
  82. package/lib/cjs/browsers/getFileFromDataTransfer.js.map +0 -1
  83. package/lib/cjs/browsers/index.d.ts +0 -4
  84. package/lib/cjs/browsers/index.js.map +0 -1
  85. package/lib/cjs/browsers/loaders.d.ts +0 -6
  86. package/lib/cjs/browsers/loaders.js.map +0 -1
  87. package/lib/cjs/formats/formatBytes.d.ts +0 -11
  88. package/lib/cjs/formats/formatBytes.js.map +0 -1
  89. package/lib/cjs/index.d.ts +0 -9
  90. package/lib/cjs/index.js.map +0 -1
  91. package/lib/cjs/io/index.d.ts +0 -1
  92. package/lib/cjs/io/index.js.map +0 -1
  93. package/lib/cjs/io/isBuffer.d.ts +0 -2
  94. package/lib/cjs/io/isBuffer.js.map +0 -1
  95. package/lib/cjs/isomorphics/getGlobalThis.d.ts +0 -9
  96. package/lib/cjs/isomorphics/getGlobalThis.js.map +0 -1
  97. package/lib/cjs/isomorphics/index.d.ts +0 -1
  98. package/lib/cjs/isomorphics/index.js +0 -5
  99. package/lib/cjs/isomorphics/index.js.map +0 -1
  100. package/lib/cjs/maths/index.d.ts +0 -1
  101. package/lib/cjs/maths/index.js.map +0 -1
  102. package/lib/cjs/maths/random.d.ts +0 -3
  103. package/lib/cjs/maths/random.js.map +0 -1
  104. package/lib/cjs/strings/camelCase.d.ts +0 -4
  105. package/lib/cjs/strings/camelCase.js.map +0 -1
  106. package/lib/cjs/strings/index.d.ts +0 -3
  107. package/lib/cjs/strings/index.js.map +0 -1
  108. package/lib/cjs/strings/templates.d.ts +0 -7
  109. package/lib/cjs/strings/templates.js.map +0 -1
  110. package/lib/cjs/strings/urljoin.d.ts +0 -2
  111. package/lib/cjs/strings/urljoin.js +0 -69
  112. package/lib/cjs/strings/urljoin.js.map +0 -1
  113. package/lib/cjs/strings/urljoin.test.js +0 -7
  114. package/lib/cjs/strings/urljoin.test.js.map +0 -1
  115. package/lib/cjs/validations/asserts.d.ts +0 -2
  116. package/lib/cjs/validations/asserts.js.map +0 -1
  117. package/lib/cjs/validations/index.d.ts +0 -4
  118. package/lib/cjs/validations/index.js.map +0 -1
  119. package/lib/cjs/validations/isClass.d.ts +0 -1
  120. package/lib/cjs/validations/isClass.js.map +0 -1
  121. package/lib/cjs/validations/isDefined.d.ts +0 -1
  122. package/lib/cjs/validations/isDefined.js.map +0 -1
  123. package/lib/cjs/validations/isEmptyObject.d.ts +0 -1
  124. package/lib/cjs/validations/isEmptyObject.js.map +0 -1
  125. package/lib/esm/isomorphics/index.d.ts +0 -1
  126. package/lib/esm/isomorphics/index.js +0 -1
  127. package/lib/esm/strings/urljoin.d.ts +0 -2
  128. package/lib/esm/strings/urljoin.test.d.ts +0 -1
  129. package/lib/esnext/arrays/MaybeArray.d.ts +0 -5
  130. package/lib/esnext/arrays/MaybeArray.js +0 -28
  131. package/lib/esnext/arrays/MaybeArray.js.map +0 -1
  132. package/lib/esnext/arrays/index.d.ts +0 -1
  133. package/lib/esnext/arrays/index.js +0 -2
  134. package/lib/esnext/arrays/index.js.map +0 -1
  135. package/lib/esnext/asyncs/AsyncInterval.d.ts +0 -3
  136. package/lib/esnext/asyncs/AsyncInterval.js +0 -13
  137. package/lib/esnext/asyncs/AsyncInterval.js.map +0 -1
  138. package/lib/esnext/asyncs/LazyPromise.d.ts +0 -5
  139. package/lib/esnext/asyncs/LazyPromise.js +0 -22
  140. package/lib/esnext/asyncs/LazyPromise.js.map +0 -1
  141. package/lib/esnext/asyncs/MaybePromise.d.ts +0 -1
  142. package/lib/esnext/asyncs/MaybePromise.js +0 -2
  143. package/lib/esnext/asyncs/MaybePromise.js.map +0 -1
  144. package/lib/esnext/asyncs/generatorOfStream.d.ts +0 -1
  145. package/lib/esnext/asyncs/generatorOfStream.js +0 -14
  146. package/lib/esnext/asyncs/generatorOfStream.js.map +0 -1
  147. package/lib/esnext/asyncs/index.d.ts +0 -7
  148. package/lib/esnext/asyncs/index.js +0 -8
  149. package/lib/esnext/asyncs/index.js.map +0 -1
  150. package/lib/esnext/asyncs/isPromise.d.ts +0 -1
  151. package/lib/esnext/asyncs/isPromise.js +0 -4
  152. package/lib/esnext/asyncs/isPromise.js.map +0 -1
  153. package/lib/esnext/asyncs/promiseOfCallback.d.ts +0 -1
  154. package/lib/esnext/asyncs/promiseOfCallback.js +0 -18
  155. package/lib/esnext/asyncs/promiseOfCallback.js.map +0 -1
  156. package/lib/esnext/asyncs/sleep.d.ts +0 -1
  157. package/lib/esnext/asyncs/sleep.js +0 -2
  158. package/lib/esnext/asyncs/sleep.js.map +0 -1
  159. package/lib/esnext/asyncs/timeout.d.ts +0 -4
  160. package/lib/esnext/asyncs/timeout.js +0 -22
  161. package/lib/esnext/asyncs/timeout.js.map +0 -1
  162. package/lib/esnext/browsers/copy.d.ts +0 -1
  163. package/lib/esnext/browsers/copy.js +0 -51
  164. package/lib/esnext/browsers/copy.js.map +0 -1
  165. package/lib/esnext/browsers/download.d.ts +0 -4
  166. package/lib/esnext/browsers/download.js +0 -31
  167. package/lib/esnext/browsers/download.js.map +0 -1
  168. package/lib/esnext/browsers/getFileFromDataTransfer.d.ts +0 -4
  169. package/lib/esnext/browsers/getFileFromDataTransfer.js +0 -37
  170. package/lib/esnext/browsers/getFileFromDataTransfer.js.map +0 -1
  171. package/lib/esnext/browsers/index.d.ts +0 -4
  172. package/lib/esnext/browsers/index.js +0 -5
  173. package/lib/esnext/browsers/index.js.map +0 -1
  174. package/lib/esnext/browsers/loaders.d.ts +0 -6
  175. package/lib/esnext/browsers/loaders.js +0 -33
  176. package/lib/esnext/browsers/loaders.js.map +0 -1
  177. package/lib/esnext/formats/formatBytes.d.ts +0 -11
  178. package/lib/esnext/formats/formatBytes.js +0 -27
  179. package/lib/esnext/formats/formatBytes.js.map +0 -1
  180. package/lib/esnext/index.d.ts +0 -9
  181. package/lib/esnext/index.js +0 -10
  182. package/lib/esnext/index.js.map +0 -1
  183. package/lib/esnext/io/index.d.ts +0 -1
  184. package/lib/esnext/io/index.js +0 -2
  185. package/lib/esnext/io/index.js.map +0 -1
  186. package/lib/esnext/io/isBuffer.d.ts +0 -2
  187. package/lib/esnext/io/isBuffer.js +0 -8
  188. package/lib/esnext/io/isBuffer.js.map +0 -1
  189. package/lib/esnext/isomorphics/getGlobalThis.d.ts +0 -9
  190. package/lib/esnext/isomorphics/getGlobalThis.js +0 -21
  191. package/lib/esnext/isomorphics/getGlobalThis.js.map +0 -1
  192. package/lib/esnext/isomorphics/index.d.ts +0 -1
  193. package/lib/esnext/isomorphics/index.js +0 -2
  194. package/lib/esnext/isomorphics/index.js.map +0 -1
  195. package/lib/esnext/maths/index.d.ts +0 -1
  196. package/lib/esnext/maths/index.js +0 -2
  197. package/lib/esnext/maths/index.js.map +0 -1
  198. package/lib/esnext/maths/random.d.ts +0 -3
  199. package/lib/esnext/maths/random.js +0 -16
  200. package/lib/esnext/maths/random.js.map +0 -1
  201. package/lib/esnext/strings/camelCase.d.ts +0 -4
  202. package/lib/esnext/strings/camelCase.js +0 -68
  203. package/lib/esnext/strings/camelCase.js.map +0 -1
  204. package/lib/esnext/strings/index.d.ts +0 -3
  205. package/lib/esnext/strings/index.js +0 -4
  206. package/lib/esnext/strings/index.js.map +0 -1
  207. package/lib/esnext/strings/templates.d.ts +0 -7
  208. package/lib/esnext/strings/templates.js +0 -14
  209. package/lib/esnext/strings/templates.js.map +0 -1
  210. package/lib/esnext/strings/urljoin.d.ts +0 -2
  211. package/lib/esnext/strings/urljoin.js +0 -65
  212. package/lib/esnext/strings/urljoin.js.map +0 -1
  213. package/lib/esnext/strings/urljoin.test.d.ts +0 -1
  214. package/lib/esnext/strings/urljoin.test.js +0 -5
  215. package/lib/esnext/strings/urljoin.test.js.map +0 -1
  216. package/lib/esnext/validations/asserts.d.ts +0 -2
  217. package/lib/esnext/validations/asserts.js +0 -13
  218. package/lib/esnext/validations/asserts.js.map +0 -1
  219. package/lib/esnext/validations/index.d.ts +0 -4
  220. package/lib/esnext/validations/index.js +0 -5
  221. package/lib/esnext/validations/index.js.map +0 -1
  222. package/lib/esnext/validations/isClass.d.ts +0 -1
  223. package/lib/esnext/validations/isClass.js +0 -4
  224. package/lib/esnext/validations/isClass.js.map +0 -1
  225. package/lib/esnext/validations/isDefined.d.ts +0 -1
  226. package/lib/esnext/validations/isDefined.js +0 -4
  227. package/lib/esnext/validations/isDefined.js.map +0 -1
  228. package/lib/esnext/validations/isEmptyObject.d.ts +0 -1
  229. package/lib/esnext/validations/isEmptyObject.js +0 -7
  230. package/lib/esnext/validations/isEmptyObject.js.map +0 -1
  231. package/src/isomorphics/index.ts +0 -1
@@ -1,51 +0,0 @@
1
- // https://gist.github.com/rproenca/64781c6a1329b48a455b645d361a9aa3
2
- let _copy;
3
- function initCopy() {
4
- let textArea;
5
- function isIOS() {
6
- return navigator.userAgent.match(/ipad|iphone/i);
7
- }
8
- function createTextArea(text) {
9
- textArea = document.createElement('textArea');
10
- textArea.value = text;
11
- document.body.appendChild(textArea);
12
- }
13
- function selectText() {
14
- let range, selection;
15
- if (isIOS()) {
16
- range = document.createRange();
17
- range.selectNodeContents(textArea);
18
- selection = window.getSelection();
19
- if (selection === null) {
20
- console.error(`no selection`);
21
- return;
22
- }
23
- selection.removeAllRanges();
24
- selection.addRange(range);
25
- textArea.setSelectionRange(0, 999999);
26
- }
27
- else {
28
- textArea.select();
29
- }
30
- }
31
- function copyToClipboard() {
32
- document.execCommand('copy');
33
- document.body.removeChild(textArea);
34
- }
35
- _copy = (text) => {
36
- createTextArea(text);
37
- selectText();
38
- copyToClipboard();
39
- };
40
- }
41
- export function copy(text) {
42
- if (window.navigator?.clipboard?.writeText) {
43
- window.navigator.clipboard.writeText(text);
44
- return;
45
- }
46
- if (!_copy) {
47
- initCopy();
48
- }
49
- _copy(text);
50
- }
51
- //# sourceMappingURL=copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../../../src/browsers/copy.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,IAAI,KAAuB,CAAC;AAE5B,SAAS,QAAQ;IACf,IAAI,QAA6B,CAAC;IAElC,SAAS,KAAK;QACZ,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,cAAc,CAAC,IAAY;QAClC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAwB,CAAC;QACrE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,UAAU;QACjB,IAAI,KAAK,EAAE,SAAS,CAAC;QAErB,IAAI,KAAK,EAAE,EAAE;YACX,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC/B,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACnC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAClC,IAAI,SAAS,KAAK,IAAI,EAAE;gBACtB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC9B,OAAO;aACR;YACD,SAAS,CAAC,eAAe,EAAE,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1B,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SACvC;aAAM;YACL,QAAQ,CAAC,MAAM,EAAE,CAAC;SACnB;IACH,CAAC;IAED,SAAS,eAAe;QACtB,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,GAAG,CAAC,IAAI,EAAE,EAAE;QACf,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,IAAI,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;QAC1C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO;KACR;IACD,IAAI,CAAC,KAAK,EAAE;QACV,QAAQ,EAAE,CAAC;KACZ;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;AACd,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function download(filename: string, data: any, { type, raw }?: {
2
- type?: string | undefined;
3
- raw?: boolean | undefined;
4
- }): void;
@@ -1,31 +0,0 @@
1
- export function download(filename, data, { type = 'application/octet-stream', raw = false } = {}) {
2
- const a = document.createElement('a');
3
- let closer = () => null;
4
- try {
5
- a.download = filename;
6
- // console.info(`downloading ${name}`, data);
7
- // url or data url
8
- if (typeof data === 'string' && /^(https?:|data:)/.test(data) && !raw) {
9
- a.href = data;
10
- }
11
- else if (typeof data === 'string') {
12
- data = new TextEncoder().encode(data);
13
- }
14
- if (data instanceof Uint8Array) {
15
- data = new Blob([data], { type });
16
- }
17
- if (data instanceof File || data instanceof Blob || data instanceof MediaSource) {
18
- a.href = URL.createObjectURL(data);
19
- closer = () => URL.revokeObjectURL(a.href);
20
- }
21
- else {
22
- console.error(`invalid download data`, data);
23
- throw new Error(`can not download ${Object.getPrototypeOf(data)}`);
24
- }
25
- a.click();
26
- }
27
- finally {
28
- closer();
29
- }
30
- }
31
- //# sourceMappingURL=download.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/browsers/download.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAS,EAAE,EAAE,IAAI,GAAG,0BAA0B,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE;IAC3G,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,MAAM,GAAe,GAAG,EAAE,CAAC,IAAI,CAAC;IACpC,IAAI;QACF,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEtB,6CAA6C;QAE7C,kBAAkB;QAClB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACrE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;SACf;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACnC,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACvC;QAED,IAAI,IAAI,YAAY,UAAU,EAAE;YAC9B,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;SACnC;QAED,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,WAAW,EAAE;YAC/E,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACpE;QACD,CAAC,CAAC,KAAK,EAAE,CAAC;KACX;YAAS;QACR,MAAM,EAAE,CAAC;KACV;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function getFileFromDataTransfer(dataTransfer?: DataTransfer | null): {
2
- file?: File;
3
- name?: string;
4
- };
@@ -1,37 +0,0 @@
1
- export function getFileFromDataTransfer(dataTransfer) {
2
- if (!dataTransfer) {
3
- return {};
4
- }
5
- const items = dataTransfer.items ?? [];
6
- if (items.length >= 2 && items[0].kind === 'string' && items[1].kind === 'file') {
7
- // name, file
8
- const text = dataTransfer.getData('text');
9
- const file = items[1].getAsFile() ?? dataTransfer.files?.item(0);
10
- if (!file) {
11
- console.error(`no file ${text}`, items[1]);
12
- return {};
13
- }
14
- // let type = file.type;
15
- // // fix type
16
- // type = type;
17
- // // NOTE paste file can not parse by libs
18
- // if (type !== file.type) {
19
- // const blob = file.slice(0, file.size);
20
- // file = new File([blob], text, {type});
21
- // }
22
- return { file, name: text };
23
- }
24
- else if (items[0].kind === 'file') {
25
- const file = items[0].getAsFile();
26
- if (!file) {
27
- console.error(`no file`, items[0]);
28
- return {};
29
- }
30
- return { file, name: file.name };
31
- }
32
- else {
33
- console.debug(`file item not match`, Array.from(items).map((v) => ({ type: v.type, kind: v.kind })));
34
- }
35
- return {};
36
- }
37
- //# sourceMappingURL=getFileFromDataTransfer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFileFromDataTransfer.js","sourceRoot":"","sources":["../../../src/browsers/getFileFromDataTransfer.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CAAC,YAAkC;IACxE,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,KAAK,GAAyB,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;IAE7D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;QAC/E,aAAa;QACb,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC;SACX;QAED,wBAAwB;QACxB,cAAc;QACd,eAAe;QACf,2CAA2C;QAC3C,4BAA4B;QAC5B,2CAA2C;QAC3C,2CAA2C;QAC3C,IAAI;QAEJ,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KAC7B;SAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;SACX;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;KAClC;SAAM;QACL,OAAO,CAAC,KAAK,CACX,qBAAqB,EACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC/D,CAAC;KACH;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './copy';
2
- export * from './download';
3
- export * from './loaders';
4
- export * from './getFileFromDataTransfer';
@@ -1,5 +0,0 @@
1
- export * from './copy';
2
- export * from './download';
3
- export * from './loaders';
4
- export * from './getFileFromDataTransfer';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare function loadScripts(src: string, options?: {
2
- attributes: Record<string, string>;
3
- }): Promise<unknown>;
4
- export declare function loadStyles(href: string, options?: {
5
- attributes: Record<string, string>;
6
- }): Promise<unknown>;
@@ -1,33 +0,0 @@
1
- function load(el, resolve, reject, options) {
2
- el.onload = resolve;
3
- el.onerror = (e) => {
4
- el.remove();
5
- reject(e);
6
- };
7
- const { attributes = {} } = options || {};
8
- Object.entries(attributes).forEach(([k, v]) => el.setAttribute(k, v));
9
- document.head.appendChild(el);
10
- }
11
- export function loadScripts(src, options) {
12
- // todo quote ?
13
- if (document.querySelector(`script[src="${src}"]`)) {
14
- return Promise.resolve();
15
- }
16
- return new Promise((resolve, reject) => {
17
- const el = document.createElement('script');
18
- el.src = src;
19
- load(el, resolve, reject, options);
20
- });
21
- }
22
- export function loadStyles(href, options) {
23
- if (document.querySelector(`link[href="${href}"]`)) {
24
- return Promise.resolve();
25
- }
26
- return new Promise((resolve, reject) => {
27
- const el = document.createElement('link');
28
- el.rel = 'stylesheet';
29
- el.href = href;
30
- load(el, resolve, reject, options);
31
- });
32
- }
33
- //# sourceMappingURL=loaders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../../src/browsers/loaders.ts"],"names":[],"mappings":"AAAA,SAAS,IAAI,CACX,EAAuC,EACvC,OAAyB,EACzB,MAAwB,EACxB,OAA2D;IAE3D,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC;IACpB,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACjB,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEtE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,OAAgD;IACvF,eAAe;IACf,IAAI,QAAQ,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5C,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC;QACb,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAAgD;IACvF,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC;QACtB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Format bytes as human-readable text.
3
- *
4
- * @param bytes Number of bytes.
5
- * @param si True to use metric (SI) units, aka powers of 1000. False to use
6
- * binary (IEC), aka powers of 1024.
7
- * @param dp Number of decimal places to display.
8
- *
9
- * @return Formatted string.
10
- */
11
- export declare function formatBytes(bytes: number, si?: boolean, dp?: number): string;
@@ -1,27 +0,0 @@
1
- /**
2
- * Format bytes as human-readable text.
3
- *
4
- * @param bytes Number of bytes.
5
- * @param si True to use metric (SI) units, aka powers of 1000. False to use
6
- * binary (IEC), aka powers of 1024.
7
- * @param dp Number of decimal places to display.
8
- *
9
- * @return Formatted string.
10
- */
11
- export function formatBytes(bytes, si = false, dp = 1) {
12
- const thresh = si ? 1000 : 1024;
13
- if (Math.abs(bytes) < thresh) {
14
- return bytes + ' B';
15
- }
16
- const units = si
17
- ? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
18
- : ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
19
- let u = -1;
20
- const r = 10 ** dp;
21
- do {
22
- bytes /= thresh;
23
- ++u;
24
- } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);
25
- return bytes.toFixed(dp) + ' ' + units[u];
26
- }
27
- //# sourceMappingURL=formatBytes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatBytes.js","sourceRoot":"","sources":["../../../src/formats/formatBytes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,CAAC;IAC3D,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;QAC5B,OAAO,KAAK,GAAG,IAAI,CAAC;KACrB;IAED,MAAM,KAAK,GAAG,EAAE;QACd,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACX,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IAEnB,GAAG;QACD,KAAK,IAAI,MAAM,CAAC;QAChB,EAAE,CAAC,CAAC;KACL,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;IAEhF,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,9 +0,0 @@
1
- export * from './arrays/index';
2
- export * from './asyncs';
3
- export * from './validations';
4
- export * from './strings';
5
- export * from './maths';
6
- export * from './io';
7
- export * from './browsers';
8
- export * from './isomorphics';
9
- export { formatBytes } from './formats/formatBytes';
@@ -1,10 +0,0 @@
1
- export * from './arrays/index';
2
- export * from './asyncs';
3
- export * from './validations';
4
- export * from './strings';
5
- export * from './maths';
6
- export * from './io';
7
- export * from './browsers';
8
- export * from './isomorphics';
9
- export { formatBytes } from './formats/formatBytes';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +0,0 @@
1
- export * from './isBuffer';
@@ -1,2 +0,0 @@
1
- export * from './isBuffer';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,2 +0,0 @@
1
- /// <reference types="node" />
2
- export declare function isBuffer(obj: any): obj is Buffer;
@@ -1,8 +0,0 @@
1
- // https://github.com/feross/is-buffer/blob/master/index.js
2
- export function isBuffer(obj) {
3
- return (obj != null &&
4
- obj.constructor != null &&
5
- typeof obj.constructor.isBuffer === 'function' &&
6
- obj.constructor.isBuffer(obj));
7
- }
8
- //# sourceMappingURL=isBuffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isBuffer.js","sourceRoot":"","sources":["../../../src/io/isBuffer.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,UAAU,QAAQ,CAAC,GAAQ;IAC/B,OAAO,CACL,GAAG,IAAI,IAAI;QACX,GAAG,CAAC,WAAW,IAAI,IAAI;QACvB,OAAO,GAAG,CAAC,WAAW,CAAC,QAAQ,KAAK,UAAU;QAC9C,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC9B,CAAC;AACJ,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * isomorphic globalThis
3
- *
4
- * globalThis supported by ff 65, Chrome 71, Node 12, babel
5
- *
6
- * @see https://caniuse.com/#search=globalThis
7
- * @see https://v8.dev/features/globalthis
8
- */
9
- export declare const getGlobalThis: () => typeof globalThis;
@@ -1,21 +0,0 @@
1
- /**
2
- * isomorphic globalThis
3
- *
4
- * globalThis supported by ff 65, Chrome 71, Node 12, babel
5
- *
6
- * @see https://caniuse.com/#search=globalThis
7
- * @see https://v8.dev/features/globalthis
8
- */
9
- export const getGlobalThis = () => {
10
- if (typeof globalThis !== 'undefined')
11
- return globalThis;
12
- if (typeof self !== 'undefined')
13
- return self;
14
- if (typeof window !== 'undefined')
15
- return window;
16
- if (typeof global !== 'undefined')
17
- return global;
18
- // if (typeof this !== 'undefined') return this;
19
- throw new Error('Unable to locate global `this`');
20
- };
21
- //# sourceMappingURL=getGlobalThis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getGlobalThis.js","sourceRoot":"","sources":["../../../src/isomorphics/getGlobalThis.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAsB,EAAE;IACnD,IAAI,OAAO,UAAU,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC;IACzD,IAAI,OAAO,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IACjD,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,MAAa,CAAC;IACxD,gDAAgD;IAChD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACpD,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export * from './getGlobalThis';
@@ -1,2 +0,0 @@
1
- export * from './getGlobalThis';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/isomorphics/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- export * from './random';
@@ -1,2 +0,0 @@
1
- export * from './random';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/maths/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function createRandom(o?: {
2
- seed?: string | number;
3
- }): () => number;
@@ -1,16 +0,0 @@
1
- /// javascript pseudo random
2
- export function createRandom(o = {}) {
3
- let seed = typeof o.seed === 'string' ? 0 : o.seed ?? 0;
4
- if (typeof o.seed === 'string') {
5
- let sum = 0;
6
- for (let i = 0; i < o.seed.length; i++) {
7
- sum += o.seed.charCodeAt(i);
8
- }
9
- seed = sum;
10
- }
11
- return () => {
12
- const x = Math.sin(seed++) * 10000;
13
- return x - Math.floor(x);
14
- };
15
- }
16
- //# sourceMappingURL=random.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"random.js","sourceRoot":"","sources":["../../../src/maths/random.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,MAAM,UAAU,YAAY,CAAC,IAAgC,EAAE;IAC7D,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,IAAI,GAAG,GAAG,CAAC;KACZ;IAED,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;QACnC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function pascalCase(input: string | string[]): string;
2
- export declare function camelCase(input: string | string[], options?: {
3
- pascalCase: boolean;
4
- }): string;
@@ -1,68 +0,0 @@
1
- // https://github.com/sindresorhus/camelcase/blob/master/index.js
2
- function preserveCamelCase(string) {
3
- let isLastCharLower = false;
4
- let isLastCharUpper = false;
5
- let isLastLastCharUpper = false;
6
- for (let i = 0; i < string.length; i++) {
7
- const character = string[i];
8
- if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {
9
- string = string.slice(0, i) + '-' + string.slice(i);
10
- isLastCharLower = false;
11
- isLastLastCharUpper = isLastCharUpper;
12
- isLastCharUpper = true;
13
- i++;
14
- }
15
- else if (isLastCharUpper &&
16
- isLastLastCharUpper &&
17
- /[a-zA-Z]/.test(character) &&
18
- character.toLowerCase() === character) {
19
- string = string.slice(0, i - 1) + '-' + string.slice(i - 1);
20
- isLastLastCharUpper = isLastCharUpper;
21
- isLastCharUpper = false;
22
- isLastCharLower = true;
23
- }
24
- else {
25
- isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;
26
- isLastLastCharUpper = isLastCharUpper;
27
- isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;
28
- }
29
- }
30
- return string;
31
- }
32
- export function pascalCase(input) {
33
- return camelCase(input, { pascalCase: true });
34
- }
35
- export function camelCase(input, options = {
36
- pascalCase: false,
37
- }) {
38
- if (!(typeof input === 'string' || Array.isArray(input))) {
39
- throw new TypeError('Expected the input to be `string | string[]`');
40
- }
41
- const postProcess = (x) => (options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x);
42
- if (Array.isArray(input)) {
43
- input = input
44
- .map((x) => x.trim())
45
- .filter((x) => x.length)
46
- .join('-');
47
- }
48
- else {
49
- input = input.trim();
50
- }
51
- if (input.length === 0) {
52
- return '';
53
- }
54
- if (input.length === 1) {
55
- return options.pascalCase ? input.toUpperCase() : input.toLowerCase();
56
- }
57
- const hasUpperCase = input !== input.toLowerCase();
58
- if (hasUpperCase) {
59
- input = preserveCamelCase(input);
60
- }
61
- input = input
62
- .replace(/^[_.\- ]+/, '')
63
- .toLowerCase()
64
- .replace(/[_.\- ]+(\w|$)/g, (_, p1) => p1.toUpperCase())
65
- .replace(/\d+(\w|$)/g, (m) => m.toUpperCase());
66
- return postProcess(input);
67
- }
68
- //# sourceMappingURL=camelCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"camelCase.js","sourceRoot":"","sources":["../../../src/strings/camelCase.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,SAAS,iBAAiB,CAAC,MAAc;IACvC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,eAAe,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;YAC1F,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,eAAe,GAAG,KAAK,CAAC;YACxB,mBAAmB,GAAG,eAAe,CAAC;YACtC,eAAe,GAAG,IAAI,CAAC;YACvB,CAAC,EAAE,CAAC;SACL;aAAM,IACL,eAAe;YACf,mBAAmB;YACnB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1B,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,EACrC;YACA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,mBAAmB,GAAG,eAAe,CAAC;YACtC,eAAe,GAAG,KAAK,CAAC;YACxB,eAAe,GAAG,IAAI,CAAC;SACxB;aAAM;YACL,eAAe,GAAG,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC;YACjG,mBAAmB,GAAG,eAAe,CAAC;YACtC,eAAe,GAAG,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC;SAClG;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,KAAwB,EACxB,UAAmC;IACjC,UAAU,EAAE,KAAK;CAClB;IAED,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;QACxD,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;KACrE;IAED,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,KAAK,GAAG,KAAK;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aACvB,IAAI,CAAC,GAAG,CAAC,CAAC;KACd;SAAM;QACL,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;KACtB;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;KACvE;IAED,MAAM,YAAY,GAAG,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;IAEnD,IAAI,YAAY,EAAE;QAChB,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,KAAK,GAAG,KAAK;SACV,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,WAAW,EAAE;SACb,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACvD,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAEjD,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './camelCase';
2
- export * from './templates';
3
- export * from './urljoin';
@@ -1,4 +0,0 @@
1
- export * from './camelCase';
2
- export * from './templates';
3
- export * from './urljoin';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * 替换类似于 JS 的模板字符串
3
- *
4
- * @example
5
- * templateString('My name is ${name}',{name:'wener'})
6
- */
7
- export declare function templateString(template: string, getter: (v: string) => any): string;
@@ -1,14 +0,0 @@
1
- /**
2
- * 替换类似于 JS 的模板字符串
3
- *
4
- * @example
5
- * templateString('My name is ${name}',{name:'wener'})
6
- */
7
- export function templateString(template, getter) {
8
- return template.replace(/\${(.*?)}/g, (_, g) => {
9
- // variables[g.trim()]
10
- // 支持路径 - 例如 a.b[0]
11
- return getter(g.trim());
12
- });
13
- }
14
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/strings/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,MAA0B;IACzE,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7C,sBAAsB;QACtB,mBAAmB;QACnB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function urljoin(...strArray: string[]): any;
2
- export declare function urljoin(strArray: string[]): any;
@@ -1,65 +0,0 @@
1
- /**
2
- * @see {@link https://github.com/jfromaniello/url-join}
3
- */
4
- export function urljoin(...args) {
5
- let input;
6
- if (typeof args[0] === 'object') {
7
- input = args[0];
8
- }
9
- else {
10
- input = args;
11
- }
12
- return normalize(input);
13
- }
14
- function normalize(strArray) {
15
- const resultArray = [];
16
- if (strArray.length === 0) {
17
- return '';
18
- }
19
- if (typeof strArray[0] !== 'string') {
20
- throw new TypeError('Url must be a string. Received ' + strArray[0]);
21
- }
22
- // If the first part is a plain protocol, we combine it with the next part.
23
- if (strArray[0].match(/^[^/:]+:\/*$/) && strArray.length > 1) {
24
- const first = strArray.shift();
25
- strArray[0] = first + strArray[0];
26
- }
27
- // There must be two or three slashes in the file protocol, two slashes in anything else.
28
- if (strArray[0].match(/^file:\/\/\//)) {
29
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1:///');
30
- }
31
- else {
32
- strArray[0] = strArray[0].replace(/^([^/:]+):\/*/, '$1://');
33
- }
34
- for (let i = 0; i < strArray.length; i++) {
35
- let component = strArray[i];
36
- if (typeof component !== 'string') {
37
- throw new TypeError('Url must be a string. Received ' + component);
38
- }
39
- if (component === '') {
40
- continue;
41
- }
42
- if (i > 0) {
43
- // Removing the starting slashes for each component but the first.
44
- component = component.replace(/^[\/]+/, '');
45
- }
46
- if (i < strArray.length - 1) {
47
- // Removing the ending slashes for each component but the last.
48
- component = component.replace(/[\/]+$/, '');
49
- }
50
- else {
51
- // For the last component we will combine multiple slashes to a single one.
52
- component = component.replace(/[\/]+$/, '/');
53
- }
54
- resultArray.push(component);
55
- }
56
- let str = resultArray.join('/');
57
- // Each input component is now separated by a single slash except the possible first plain protocol part.
58
- // remove trailing slash before parameters or hash
59
- str = str.replace(/\/(\?|&|#[^!])/g, '$1');
60
- // replace ? in parameters with &
61
- const parts = str.split('?');
62
- str = parts.shift() + (parts.length > 0 ? '?' : '') + parts.join('&');
63
- return str;
64
- }
65
- //# sourceMappingURL=urljoin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urljoin.js","sourceRoot":"","sources":["../../../src/strings/urljoin.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { urljoin } from './urljoin';
2
- test('join ext', () => {
3
- expect(urljoin('http://wener.me/sub/', '/a/', '/hello.js')).toBe('http://wener.me/sub/a/hello.js');
4
- });
5
- //# sourceMappingURL=urljoin.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urljoin.test.js","sourceRoot":"","sources":["../../../src/strings/urljoin.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACpB,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function assert(condition: any, msg?: string): asserts condition;
2
- export declare function assertIsDefined<T>(val: T): asserts val is NonNullable<T>;