ziko 0.0.17 → 0.0.19

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 (267) hide show
  1. package/README.md +91 -200
  2. package/package.json +17 -46
  3. package/src/__helpers__/index.js +61 -61
  4. package/src/app/json-style-sheet.js +64 -64
  5. package/src/app/spa-file-based-routing.js +0 -1
  6. package/src/app/ziko-app.js +38 -38
  7. package/src/data/api/fetchdom.js +13 -13
  8. package/src/data/api/index.js +3 -3
  9. package/src/data/api/preload.js +10 -10
  10. package/src/data/converter/adoc.js +130 -130
  11. package/src/data/converter/array.js +42 -42
  12. package/src/data/converter/canvas.js +24 -24
  13. package/src/data/converter/css.js +36 -36
  14. package/src/data/converter/csv.js +32 -32
  15. package/src/data/converter/idea.txt +9 -9
  16. package/src/data/converter/index.js +36 -36
  17. package/src/data/converter/json.js +80 -80
  18. package/src/data/converter/markdown.js +95 -95
  19. package/src/data/converter/object.js +69 -69
  20. package/src/data/converter/svg.js +10 -10
  21. package/src/data/datatypes/color.js +11 -0
  22. package/src/data/index.js +16 -16
  23. package/src/data/parser/xml.js +46 -46
  24. package/src/data/string/patterns.js +11 -11
  25. package/src/data/string/string.js +169 -169
  26. package/src/global/{themes → _themes}/dark.js +884 -884
  27. package/src/global/{themes → _themes}/index.js +10 -10
  28. package/src/global/{themes → _themes}/light.js +254 -254
  29. package/src/global/app/index.js +45 -45
  30. package/src/global/component/index.js +38 -38
  31. package/src/global/globals/index.js +20 -20
  32. package/src/global/index.js +3 -11
  33. package/src/global/params/index.js +39 -39
  34. package/src/global/router/index.js +66 -66
  35. package/src/global/seo/index.js +42 -42
  36. package/src/graphics/canvas/canvas.js +176 -189
  37. package/src/graphics/canvas/elements/Basic/arc.js +42 -42
  38. package/src/graphics/canvas/elements/Basic/line.js +25 -25
  39. package/src/graphics/canvas/elements/Basic/points.js +47 -47
  40. package/src/graphics/canvas/elements/Basic/polygon.js +6 -6
  41. package/src/graphics/canvas/elements/Basic/rect.js +45 -45
  42. package/src/graphics/canvas/elements/Chart/scatter.js +2 -2
  43. package/src/graphics/canvas/elements/Element.js +114 -114
  44. package/src/graphics/canvas/elements/index.js +13 -13
  45. package/src/graphics/canvas/index.js +2 -15
  46. package/src/graphics/canvas/utils/color.js +7 -7
  47. package/src/graphics/canvas/utils/floodFill.js +57 -57
  48. package/src/graphics/index.js +10 -69
  49. package/src/graphics/svg/Elements/Basic/circle.js +29 -26
  50. package/src/graphics/svg/Elements/Basic/ellipse.js +24 -21
  51. package/src/graphics/svg/Elements/Basic/{foreignObject.js → foreign-object.js} +36 -33
  52. package/src/graphics/svg/Elements/Basic/groupe.js +32 -29
  53. package/src/graphics/svg/Elements/Basic/image.js +36 -33
  54. package/src/graphics/svg/Elements/Basic/index.js +11 -0
  55. package/src/graphics/svg/Elements/Basic/line.js +32 -29
  56. package/src/graphics/svg/Elements/Basic/link.js +33 -30
  57. package/src/graphics/svg/Elements/Basic/path.js +62 -59
  58. package/src/graphics/svg/Elements/Basic/polygon.js +31 -31
  59. package/src/graphics/svg/Elements/Basic/polyline.js +7 -4
  60. package/src/graphics/svg/Elements/Basic/rect.js +46 -43
  61. package/src/graphics/svg/Elements/Basic/text.js +29 -26
  62. package/src/graphics/svg/Elements/Derived/grid.js +8 -8
  63. package/src/graphics/svg/Elements/Derived/index.js +1 -0
  64. package/src/graphics/svg/Elements/index.js +2 -14
  65. package/src/graphics/svg/Elements/{ZikoSvgElement.js → ziko-svg-element.js} +48 -46
  66. package/src/graphics/svg/index.js +2 -2
  67. package/src/graphics/svg/svg.js +68 -114
  68. package/src/index.js +85 -84
  69. package/src/math/calculus/index.js +2 -2
  70. package/src/math/calculus/special-functions/bessel.js +30 -30
  71. package/src/math/calculus/special-functions/beta.js +37 -37
  72. package/src/math/calculus/special-functions/gamma.js +29 -29
  73. package/src/math/calculus/special-functions/index.js +4 -4
  74. package/src/math/complex/index.js +202 -202
  75. package/src/math/const.js +2 -2
  76. package/src/math/discret/Combinaison/index.js +33 -33
  77. package/src/math/discret/Conversion/index.js +85 -85
  78. package/src/math/discret/Logic/index.js +45 -45
  79. package/src/math/discret/Permutation/index.js +30 -30
  80. package/src/math/discret/Set/index.js +1 -1
  81. package/src/math/discret/Set/power-set.js +14 -14
  82. package/src/math/discret/Set/sub-set.js +10 -10
  83. package/src/math/discret/index.js +11 -11
  84. package/src/math/functions/index.js +161 -161
  85. package/src/math/index.js +32 -32
  86. package/src/math/matrix/Decomposition.js +90 -90
  87. package/src/math/matrix/LinearSystem.js +9 -9
  88. package/src/math/matrix/Matrix.js +716 -716
  89. package/src/math/matrix/index.js +2 -2
  90. package/src/math/random/index.js +172 -172
  91. package/src/math/signal/__np.py.txt +39 -39
  92. package/src/math/signal/conv.js +174 -174
  93. package/src/math/signal/fft.js +54 -54
  94. package/src/math/signal/filter.js +38 -38
  95. package/src/math/signal/functions.js +145 -145
  96. package/src/math/signal/index.js +109 -109
  97. package/src/math/statistics/Functions/index.js +99 -99
  98. package/src/math/statistics/index.js +15 -15
  99. package/src/math/utils/arithmetic.js +138 -138
  100. package/src/math/utils/checkers.js +29 -29
  101. package/src/math/utils/conversions.js +19 -19
  102. package/src/math/utils/discret.js +51 -51
  103. package/src/math/utils/index.js +101 -101
  104. package/src/math/utils/mapfun.js +49 -49
  105. package/src/reactivity/events/Input.js +61 -61
  106. package/src/reactivity/events/Pointer.js +231 -231
  107. package/src/reactivity/events/ZikoEvent.js +90 -90
  108. package/src/reactivity/events/click.js +59 -59
  109. package/src/reactivity/events/clipboard.js +87 -87
  110. package/src/reactivity/events/custom-event.js +56 -56
  111. package/src/reactivity/events/drag.js +136 -136
  112. package/src/reactivity/events/focus.js +58 -58
  113. package/src/reactivity/events/hash.js +46 -46
  114. package/src/reactivity/events/index.js +12 -63
  115. package/src/reactivity/events/key.js +101 -101
  116. package/src/reactivity/events/mouse.js +232 -232
  117. package/src/reactivity/events/swipe.js +149 -149
  118. package/src/reactivity/events/wheel.js +46 -46
  119. package/src/reactivity/hooks/{contexte → Contexte}/useSuccesifKeys.js +13 -13
  120. package/src/reactivity/hooks/{decorators → Decorators}/index.js +6 -6
  121. package/src/reactivity/hooks/{decorators → Decorators}/time.js +16 -16
  122. package/src/reactivity/hooks/{decorators → Decorators}/type.js +87 -87
  123. package/src/reactivity/hooks/{head/useCssText.js → Head/_useCssText.js} +20 -20
  124. package/src/reactivity/hooks/{head → Head}/index.js +5 -5
  125. package/src/reactivity/hooks/{head → Head}/useFavIcon.js +37 -37
  126. package/src/reactivity/hooks/{head → Head}/useHead.js +27 -27
  127. package/src/reactivity/hooks/{head → Head}/useMeta.js +52 -52
  128. package/src/reactivity/hooks/{head → Head}/useTitle.js +29 -29
  129. package/src/reactivity/hooks/{interactions/useBluetooth.js → Interactions/_useBluetooth.js} +47 -47
  130. package/src/reactivity/hooks/{interactions → Interactions}/index.js +4 -4
  131. package/src/reactivity/hooks/{interactions → Interactions}/useChannel.js +49 -49
  132. package/src/reactivity/hooks/{interactions → Interactions}/useEventEmmiter.js +63 -63
  133. package/src/reactivity/hooks/{interactions → Interactions}/useThread.js +43 -43
  134. package/src/reactivity/hooks/Sensors/index.js +2 -0
  135. package/src/reactivity/hooks/{sensors → Sensors}/useBattery.js +35 -35
  136. package/src/reactivity/hooks/{sensors → Sensors}/useGeolocation.js +16 -16
  137. package/src/reactivity/hooks/{storage → Storage}/useStorage.js +72 -72
  138. package/src/reactivity/hooks/{ui → UI}/index.js +6 -5
  139. package/src/reactivity/hooks/{ui → UI}/useMediaQuery.js +43 -43
  140. package/src/reactivity/hooks/UI/useRoot.js +39 -0
  141. package/src/reactivity/hooks/{ui → UI}/useStyle.js +79 -79
  142. package/src/reactivity/hooks/{ui → UI}/useTheme.js +61 -61
  143. package/src/reactivity/hooks/index.js +8 -91
  144. package/src/reactivity/hooks/todo.md +26 -26
  145. package/src/reactivity/idea +1 -1
  146. package/src/reactivity/index.js +11 -11
  147. package/src/reactivity/observer/attributes.js +28 -28
  148. package/src/reactivity/observer/children.js +36 -36
  149. package/src/reactivity/observer/index.js +6 -6
  150. package/src/reactivity/observer/intersection.js +43 -43
  151. package/src/reactivity/observer/mutation.js +112 -112
  152. package/src/reactivity/observer/resize.js +46 -46
  153. package/src/reactivity/observer/screen.js +44 -44
  154. package/src/reactivity/observer/screen.js.txt +83 -83
  155. package/src/reactivity/observer/screen.txt +12 -12
  156. package/src/time/animation.js +75 -75
  157. package/src/time/index.js +11 -11
  158. package/src/time/loop.js +87 -87
  159. package/src/time/utils/decorators.js +16 -16
  160. package/src/time/utils/ease.js +143 -143
  161. package/src/time/utils/index.js +17 -17
  162. package/src/time/utils/performance.js +15 -15
  163. package/src/time/utils/ui.js +25 -25
  164. package/src/types.js +73 -73
  165. package/src/ui/elements/derived/accordion/accordion.js +42 -42
  166. package/src/ui/elements/derived/accordion/collapsible.js +82 -82
  167. package/src/ui/elements/derived/accordion/index.js +1 -1
  168. package/src/ui/elements/derived/alert/alert.js +80 -80
  169. package/src/ui/elements/derived/alert/palette.js +51 -51
  170. package/src/ui/elements/derived/carousel/index.js +50 -50
  171. package/src/ui/elements/derived/code-note/SubElements.js.txt +104 -104
  172. package/src/ui/elements/derived/code-note/code-cell.js +194 -194
  173. package/src/ui/elements/derived/code-note/code-note.js +71 -71
  174. package/src/ui/elements/derived/code-note/index.js +1 -1
  175. package/src/ui/elements/derived/code-note/sub-elements.js +66 -66
  176. package/src/ui/elements/derived/elements/Swipper.js +3 -3
  177. package/src/ui/elements/derived/elements/index.js +9 -9
  178. package/src/ui/elements/derived/flex/index.js +102 -102
  179. package/src/ui/elements/derived/grid/index.js +32 -32
  180. package/src/ui/elements/derived/index.js +11 -11
  181. package/src/ui/elements/derived/menu/menu3d.js +259 -259
  182. package/src/ui/elements/derived/modal/index.js +91 -91
  183. package/src/ui/elements/derived/pagination/breadcrumbs.js +53 -53
  184. package/src/ui/elements/derived/slider/__ZikoUISlider__.js +111 -111
  185. package/src/ui/elements/derived/slider/hSlider.js +33 -33
  186. package/src/ui/elements/derived/slider/index.js +11 -11
  187. package/src/ui/elements/derived/slider/vSlider.js +26 -26
  188. package/src/ui/elements/derived/splitter/__ZikoUISplitter__.js +61 -61
  189. package/src/ui/elements/derived/splitter/hsplitter.js +39 -39
  190. package/src/ui/elements/derived/splitter/index.js +11 -11
  191. package/src/ui/elements/derived/splitter/vsplitter.js +39 -39
  192. package/src/ui/elements/derived/tabs/index.js +179 -179
  193. package/src/ui/elements/primitives/ZikoUIContainerElement.js +163 -126
  194. package/src/ui/elements/primitives/ZikoUIElement.js +492 -492
  195. package/src/ui/elements/primitives/embaded/html.js +19 -19
  196. package/src/ui/elements/primitives/embaded/index.js +3 -3
  197. package/src/ui/elements/primitives/embaded/pdf.js +16 -16
  198. package/src/ui/elements/primitives/embaded/youtube.js +23 -23
  199. package/src/ui/elements/primitives/index.js +7 -7
  200. package/src/ui/elements/primitives/io/Form/index.js +41 -41
  201. package/src/ui/elements/primitives/io/Form/index.js.txt +104 -104
  202. package/src/ui/elements/primitives/io/Inputs/__helpers__.js +51 -51
  203. package/src/ui/elements/primitives/io/Inputs/index.js +12 -12
  204. package/src/ui/elements/primitives/io/Inputs/input/index.js +98 -98
  205. package/src/ui/elements/primitives/io/Inputs/input-camera/index.js +26 -26
  206. package/src/ui/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
  207. package/src/ui/elements/primitives/io/Inputs/input-color/index.js +15 -15
  208. package/src/ui/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
  209. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
  210. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
  211. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
  212. package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +1 -1
  213. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
  214. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
  215. package/src/ui/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
  216. package/src/ui/elements/primitives/io/Inputs/input-number/index.js +36 -36
  217. package/src/ui/elements/primitives/io/Inputs/input-radio/index.js +25 -25
  218. package/src/ui/elements/primitives/io/Inputs/input-search/index.js +45 -45
  219. package/src/ui/elements/primitives/io/Inputs/input-slider/index.js +34 -34
  220. package/src/ui/elements/primitives/io/Select/index.js +19 -19
  221. package/src/ui/elements/primitives/io/Textarea/index.js +17 -17
  222. package/src/ui/elements/primitives/io/index.js +3 -3
  223. package/src/ui/elements/primitives/list/index.js +138 -138
  224. package/src/ui/elements/primitives/media/Audio/index.js +16 -16
  225. package/src/ui/elements/primitives/media/Image/figure.js +18 -18
  226. package/src/ui/elements/primitives/media/Image/image.js +36 -36
  227. package/src/ui/elements/primitives/media/Image/index.js +1 -1
  228. package/src/ui/elements/primitives/media/Video/index.js +26 -26
  229. package/src/ui/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
  230. package/src/ui/elements/primitives/media/index.js +2 -2
  231. package/src/ui/elements/primitives/misc/index.js +101 -101
  232. package/src/ui/elements/primitives/misc/xml-wrapper.js +3 -2
  233. package/src/ui/elements/primitives/semantic/index.js +81 -81
  234. package/src/ui/elements/primitives/table/elements.js +93 -93
  235. package/src/ui/elements/primitives/table/index.js +2 -2
  236. package/src/ui/elements/primitives/table/table.js +115 -115
  237. package/src/ui/elements/primitives/table/utils.js +11 -11
  238. package/src/ui/elements/primitives/text/__ZikoUIText__.js +71 -71
  239. package/src/ui/elements/primitives/text/heading.js +35 -35
  240. package/src/ui/elements/primitives/text/index.js +2 -2
  241. package/src/ui/elements/primitives/text/p.js +26 -26
  242. package/src/ui/elements/primitives/text/text.js +80 -80
  243. package/src/ui/index.js +37 -37
  244. package/src/ui/style/index.js +504 -515
  245. package/src/ui/utils/index.js +69 -69
  246. package/starter/bin/index.js +11 -11
  247. package/dist/ziko.cjs +0 -14018
  248. package/dist/ziko.js +0 -14028
  249. package/dist/ziko.min.js +0 -9
  250. package/dist/ziko.mjs +0 -13688
  251. package/src/graphics/canvas/elements/Groupe.js +0 -0
  252. package/src/graphics/canvas/elements/grid.js +0 -0
  253. package/src/graphics/canvas/filter/index.js +0 -0
  254. package/src/graphics/canvas/paint/index.js +0 -0
  255. package/src/reactivity/hooks/sensors/index.js +0 -2
  256. /package/src/reactivity/hooks/{contexte → Contexte}/index.js +0 -0
  257. /package/src/reactivity/hooks/{interactions → Interactions}/useSerial.js +0 -0
  258. /package/src/reactivity/hooks/{interactions → Interactions}/useUsb.js +0 -0
  259. /package/src/reactivity/hooks/{sensors → Sensors}/useCamera.js +0 -0
  260. /package/src/reactivity/hooks/{sensors → Sensors}/useMicro.js +0 -0
  261. /package/src/reactivity/hooks/{sensors → Sensors}/useOrientation.js +0 -0
  262. /package/src/reactivity/hooks/{storage → Storage}/index.js +0 -0
  263. /package/src/reactivity/hooks/{storage → Storage}/useCookie.js +0 -0
  264. /package/src/reactivity/hooks/{storage → Storage}/useIndexedDb.js +0 -0
  265. /package/src/reactivity/hooks/{ui → UI}/useCssLink.js +0 -0
  266. /package/src/reactivity/hooks/{ui → UI}/useLinearGradient.js +0 -0
  267. /package/src/reactivity/hooks/{ui → UI}/useRadialGradient.js +0 -0
@@ -1,33 +1,33 @@
1
- import { Matrix } from "../../math/matrix/Matrix.js"
2
- const csv2arr = (csv, delimiter = ",")=>csv.trim().trimEnd().split("\n").map(n=>n.split(delimiter));
3
- const csv2matrix = (csv, delimiter = ",")=>new Matrix(csv2arr(csv,delimiter));
4
- const csv2object = (csv, delimiter = ",") => {
5
- const [header, ...rows] = csv2arr(csv,delimiter);
6
- const result = rows.map(row => {
7
- const obj = {};
8
- header.forEach((key, index) => {
9
- obj[key] = row[index];
10
- });
11
- return obj;
12
- });
13
- return result;
14
- };
15
- const csv2json = (csv, delimiter = ",") => JSON.stringify(csv2object(csv,delimiter));
16
- const csv2sql=(csv, Table)=>{
17
- const lines = csv.trim().trimEnd().split('\n').filter(n=>n);
18
- const columns = lines[0].split(',');
19
- let sqlQuery = `INSERT INTO ${Table} (${columns.join(', ')}) Values `
20
- let sqlValues = []
21
- for (let i = 1; i < lines.length; i++) {
22
- const values = lines[i].split(',');
23
- sqlValues.push(`(${values})`)
24
- }
25
- return sqlQuery+sqlValues.join(",\n");
26
- }
27
- export{
28
- csv2arr,
29
- csv2matrix,
30
- csv2object,
31
- csv2json,
32
- csv2sql
1
+ import { Matrix } from "../../math/matrix/Matrix.js"
2
+ const csv2arr = (csv, delimiter = ",")=>csv.trim().trimEnd().split("\n").map(n=>n.split(delimiter));
3
+ const csv2matrix = (csv, delimiter = ",")=>new Matrix(csv2arr(csv,delimiter));
4
+ const csv2object = (csv, delimiter = ",") => {
5
+ const [header, ...rows] = csv2arr(csv,delimiter);
6
+ const result = rows.map(row => {
7
+ const obj = {};
8
+ header.forEach((key, index) => {
9
+ obj[key] = row[index];
10
+ });
11
+ return obj;
12
+ });
13
+ return result;
14
+ };
15
+ const csv2json = (csv, delimiter = ",") => JSON.stringify(csv2object(csv,delimiter));
16
+ const csv2sql=(csv, Table)=>{
17
+ const lines = csv.trim().trimEnd().split('\n').filter(n=>n);
18
+ const columns = lines[0].split(',');
19
+ let sqlQuery = `INSERT INTO ${Table} (${columns.join(', ')}) Values `
20
+ let sqlValues = []
21
+ for (let i = 1; i < lines.length; i++) {
22
+ const values = lines[i].split(',');
23
+ sqlValues.push(`(${values})`)
24
+ }
25
+ return sqlQuery+sqlValues.join(",\n");
26
+ }
27
+ export{
28
+ csv2arr,
29
+ csv2matrix,
30
+ csv2object,
31
+ csv2json,
32
+ csv2sql
33
33
  }
@@ -1,10 +1,10 @@
1
- a={
2
- a:complex(1,1),
3
- b:complex(2,2),
4
- c:{
5
- d:complex(1,2)
6
- }
7
- }
8
- d=mapfun(a=>a.toString(),a)
9
- t=JSON.stringify(d,""," ").replace(/"([^"]+)":/g, '$1:')
1
+ a={
2
+ a:complex(1,1),
3
+ b:complex(2,2),
4
+ c:{
5
+ d:complex(1,2)
6
+ }
7
+ }
8
+ d=mapfun(a=>a.toString(),a)
9
+ t=JSON.stringify(d,""," ").replace(/"([^"]+)":/g, '$1:')
10
10
  text(t)
@@ -1,37 +1,37 @@
1
- export {
2
- markdown2html
3
- } from "./markdown.js";
4
- export {
5
- adoc2html
6
- } from "./adoc.js";
7
- export {
8
- csv2arr,
9
- csv2matrix,
10
- csv2object,
11
- csv2json,
12
- csv2sql
13
- } from "./csv.js";
14
- export {
15
- json2arr,
16
- json2csv,
17
- json2csvFile,
18
- json2yml,
19
- json2ymlFile,
20
- json2xml,
21
- json2xmlFile
22
- } from "./json.js";
23
- export {
24
- svg2str,
25
- svg2ascii,
26
- svg2imgUrl,
27
- svg2img
28
- } from "./svg.js";
29
- export{
30
- obj2str
31
- } from "./object.js"
32
- export{
33
- arr2str
34
- } from "./array.js"
35
- export{
36
- json2css
1
+ export {
2
+ markdown2html
3
+ } from "./markdown.js";
4
+ export {
5
+ adoc2html
6
+ } from "./adoc.js";
7
+ export {
8
+ csv2arr,
9
+ csv2matrix,
10
+ csv2object,
11
+ csv2json,
12
+ csv2sql
13
+ } from "./csv.js";
14
+ export {
15
+ json2arr,
16
+ json2csv,
17
+ json2csvFile,
18
+ json2yml,
19
+ json2ymlFile,
20
+ json2xml,
21
+ json2xmlFile
22
+ } from "./json.js";
23
+ export {
24
+ svg2str,
25
+ svg2ascii,
26
+ svg2imgUrl,
27
+ svg2img
28
+ } from "./svg.js";
29
+ export{
30
+ obj2str
31
+ } from "./object.js"
32
+ export{
33
+ arr2str
34
+ } from "./array.js"
35
+ export{
36
+ json2css
37
37
  } from "./css.js"
@@ -1,80 +1,80 @@
1
- const _objects2arr=data=>data instanceof Array?[Object.keys(data[0]),...data.map(n=>Object.values(n))]:[Object.keys(data)];
2
- const _objects2csv=(data,delimiter)=>_objects2arr(data).map(n=>n.join(delimiter)).join("\n")
3
- const json2arr=json=>json instanceof Object?_objects2arr(json):_objects2arr(JSON.parse(json));
4
- const json2csv=(json,delimiter=",")=>json instanceof Object?_objects2csv(json,delimiter):_objects2csv(JSON.parse(json),delimiter);
5
- const json2csvFile=(json,delimiter)=>{
6
- const str=json2csv(json,delimiter);
7
- const blob=new Blob([str], { type: 'text/csv;charset=utf-8;' });
8
- return{
9
- str,
10
- blob,
11
- url:URL.createObjectURL(blob)
12
- }
13
- }
14
- const _processObject=(obj, indent)=>{
15
- const yml = [];
16
- if (Array.isArray(obj)) {
17
- obj.forEach(item => {
18
- if (typeof item === 'object' && item !== null) {
19
- yml.push(`${indent}-`);
20
- const nestedLines = _processObject(item, `${indent} `);
21
- yml.push(...nestedLines);
22
- } else yml.push(`${indent}- ${item}`);
23
- });
24
- } else {
25
- for (const key in obj) {
26
- if (obj.hasOwnProperty(key)) {
27
- const value = obj[key];
28
- if (typeof value === 'object' && value !== null) {
29
- yml.push(`${indent}${key}:`);
30
- const nestedLines = _processObject(value, `${indent} `);
31
- yml.push(...nestedLines);
32
- } else {
33
- yml.push(`${indent}${key}: ${value}`);
34
- }
35
- }
36
- }
37
- }
38
- return yml;
39
- }
40
- const _object2yml=(object,indent="")=>_processObject(object,indent).join('\n')
41
- const json2yml=(json,indent)=>json instanceof Object?_object2yml(json,indent):_object2yml(JSON.parse(json),indent)
42
- const json2ymlFile=(json,indent)=>{
43
- const str=json2yml(json,indent);
44
- const blob=new Blob([str], { type: 'text/yml;charset=utf-8;' });
45
- return{
46
- str,
47
- blob,
48
- url:URL.createObjectURL(blob)
49
- }
50
- }
51
- const json2xml=(json, indent = 1)=>{
52
- let xml = '';
53
- for (const key in json) {
54
- if (json.hasOwnProperty(key)) {
55
- const value = json[key];
56
- xml += '\n' + ' '.repeat(indent) + `<${key}>`;
57
- (typeof value === 'object') ? xml += json2xml(value, indent + 2) : xml += `${value}`;
58
- xml += `</${key}>`;
59
- }
60
- }
61
- return xml.trim();
62
- }
63
- const json2xmlFile=(json,indent)=>{
64
- const str=json2xml(json,indent);
65
- const blob=new Blob([str], { type: 'text/xml;charset=utf-8;' });
66
- return{
67
- str,
68
- blob,
69
- url:URL.createObjectURL(blob)
70
- }
71
- }
72
- export{
73
- json2arr,
74
- json2csv,
75
- json2csvFile,
76
- json2yml,
77
- json2ymlFile,
78
- json2xml,
79
- json2xmlFile
80
- }
1
+ const _objects2arr=data=>data instanceof Array?[Object.keys(data[0]),...data.map(n=>Object.values(n))]:[Object.keys(data)];
2
+ const _objects2csv=(data,delimiter)=>_objects2arr(data).map(n=>n.join(delimiter)).join("\n")
3
+ const json2arr=json=>json instanceof Object?_objects2arr(json):_objects2arr(JSON.parse(json));
4
+ const json2csv=(json,delimiter=",")=>json instanceof Object?_objects2csv(json,delimiter):_objects2csv(JSON.parse(json),delimiter);
5
+ const json2csvFile=(json,delimiter)=>{
6
+ const str=json2csv(json,delimiter);
7
+ const blob=new Blob([str], { type: 'text/csv;charset=utf-8;' });
8
+ return{
9
+ str,
10
+ blob,
11
+ url:URL.createObjectURL(blob)
12
+ }
13
+ }
14
+ const _processObject=(obj, indent)=>{
15
+ const yml = [];
16
+ if (Array.isArray(obj)) {
17
+ obj.forEach(item => {
18
+ if (typeof item === 'object' && item !== null) {
19
+ yml.push(`${indent}-`);
20
+ const nestedLines = _processObject(item, `${indent} `);
21
+ yml.push(...nestedLines);
22
+ } else yml.push(`${indent}- ${item}`);
23
+ });
24
+ } else {
25
+ for (const key in obj) {
26
+ if (obj.hasOwnProperty(key)) {
27
+ const value = obj[key];
28
+ if (typeof value === 'object' && value !== null) {
29
+ yml.push(`${indent}${key}:`);
30
+ const nestedLines = _processObject(value, `${indent} `);
31
+ yml.push(...nestedLines);
32
+ } else {
33
+ yml.push(`${indent}${key}: ${value}`);
34
+ }
35
+ }
36
+ }
37
+ }
38
+ return yml;
39
+ }
40
+ const _object2yml=(object,indent="")=>_processObject(object,indent).join('\n')
41
+ const json2yml=(json,indent)=>json instanceof Object?_object2yml(json,indent):_object2yml(JSON.parse(json),indent)
42
+ const json2ymlFile=(json,indent)=>{
43
+ const str=json2yml(json,indent);
44
+ const blob=new Blob([str], { type: 'text/yml;charset=utf-8;' });
45
+ return{
46
+ str,
47
+ blob,
48
+ url:URL.createObjectURL(blob)
49
+ }
50
+ }
51
+ const json2xml=(json, indent = 1)=>{
52
+ let xml = '';
53
+ for (const key in json) {
54
+ if (json.hasOwnProperty(key)) {
55
+ const value = json[key];
56
+ xml += '\n' + ' '.repeat(indent) + `<${key}>`;
57
+ (typeof value === 'object') ? xml += json2xml(value, indent + 2) : xml += `${value}`;
58
+ xml += `</${key}>`;
59
+ }
60
+ }
61
+ return xml.trim();
62
+ }
63
+ const json2xmlFile=(json,indent)=>{
64
+ const str=json2xml(json,indent);
65
+ const blob=new Blob([str], { type: 'text/xml;charset=utf-8;' });
66
+ return{
67
+ str,
68
+ blob,
69
+ url:URL.createObjectURL(blob)
70
+ }
71
+ }
72
+ export{
73
+ json2arr,
74
+ json2csv,
75
+ json2csvFile,
76
+ json2yml,
77
+ json2ymlFile,
78
+ json2xml,
79
+ json2xmlFile
80
+ }
@@ -1,95 +1,95 @@
1
- const parseInlineElements = text => {
2
- return text
3
- .replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>')
4
- .replace(/\*(.*?)\*/g, '<em>$1</em>')
5
- .replace(/\[(.*?)\]\((.*?)\)/g, '<a href="$2">$1</a>')
6
- .replace(/!\[(.*?)\]\((.*?)\)/g, '<img src="$2" alt="$1">')
7
- .replace(/`([^`]+)`/g, '<code>$1</code>'); // Inline Code
8
- };
9
-
10
- const parseTable = line => {
11
- const cells = line.split('|').map(cell => cell.trim()).filter(cell => cell !== '');
12
- const tableRow = cells.map(cell => `<td>${parseInlineElements(cell)}</td>`).join('');
13
- return `<tr>${tableRow}</tr>\n`;
14
- };
15
-
16
- const parseCodeBlock = (lines, language) => {
17
- const codeContent = lines.join('\n'); // No need to exclude the triple backticks
18
- const highlightedCode = language ? `<pre><code data-language="${language}">${codeContent}</code></pre>` : `<pre><code>${codeContent}</code></pre>`;
19
- return `${highlightedCode}\n`;
20
- };
21
-
22
- const parseList = line => {
23
- const DIGIT_FOLLOWED_BY_A_DOT_AND_SPACE = /^\d+\.\s/;
24
- const match = line.match(DIGIT_FOLLOWED_BY_A_DOT_AND_SPACE);
25
- if (match) {
26
- let start = +match[1];
27
- return `<ol${start===1?"":` start="${start}"`}>${parseInlineElements(line.slice(match[0].length))}</ol>\n`;
28
- }
29
- return `<ul>${parseInlineElements(line)}</ul>\n`;
30
- };
31
-
32
- const parseHorizontalRule = () => {
33
- return '<hr>\n';
34
- };
35
-
36
- const markdown2html = markdownText => {
37
- const lines = markdownText.split('\n');
38
- let htmlOutput = '';
39
- let inTable = false;
40
- let inCodeBlock = false;
41
- let codeBlockLines = [];
42
- let codeBlockLanguage = '';
43
- for (let i = 0; i < lines.length; i++) {
44
- let line = lines[i];
45
- // Table
46
- if (line.startsWith('|')) {
47
- if (!inTable) {
48
- inTable = true;
49
- htmlOutput += '<table>\n';
50
- }
51
- htmlOutput += parseTable(line);
52
- continue;
53
- } else if (inTable) {
54
- inTable = false;
55
- htmlOutput += '</table>\n';
56
- }
57
- // Code block
58
- if (line.startsWith('```')) {
59
- if (!inCodeBlock) {
60
- inCodeBlock = true;
61
- codeBlockLines = [];
62
- codeBlockLanguage = line.slice(3).trim();
63
- } else {
64
- inCodeBlock = false;
65
- htmlOutput += parseCodeBlock(codeBlockLines, codeBlockLanguage);
66
- }
67
- continue;
68
- } else if (inCodeBlock) {
69
- codeBlockLines.push(line);
70
- continue;
71
- }
72
- // Headings
73
- if (line.startsWith('# ')) {
74
- const headingLevel = line.indexOf(' ');
75
- const headingText = line.slice(headingLevel + 1);
76
- htmlOutput += `<h${headingLevel}>${parseInlineElements(headingText)}</h${headingLevel}>\n`;
77
- continue;
78
- }
79
- // Lists
80
- if (line.startsWith('- ') || line.startsWith('* ') || line.match(/^\d+\.\s/)) {
81
- htmlOutput += parseList(line);
82
- continue;
83
- }
84
- // Horizontal Rule
85
- if (line.trim() === '---') {
86
- htmlOutput += parseHorizontalRule();
87
- continue;
88
- }
89
- // Other paragraphs
90
- htmlOutput += `<p>${parseInlineElements(line)}</p>\n`;
91
- }
92
- return htmlOutput;
93
- };
94
-
95
- export { markdown2html };
1
+ const parseInlineElements = text => {
2
+ return text
3
+ .replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>')
4
+ .replace(/\*(.*?)\*/g, '<em>$1</em>')
5
+ .replace(/\[(.*?)\]\((.*?)\)/g, '<a href="$2">$1</a>')
6
+ .replace(/!\[(.*?)\]\((.*?)\)/g, '<img src="$2" alt="$1">')
7
+ .replace(/`([^`]+)`/g, '<code>$1</code>'); // Inline Code
8
+ };
9
+
10
+ const parseTable = line => {
11
+ const cells = line.split('|').map(cell => cell.trim()).filter(cell => cell !== '');
12
+ const tableRow = cells.map(cell => `<td>${parseInlineElements(cell)}</td>`).join('');
13
+ return `<tr>${tableRow}</tr>\n`;
14
+ };
15
+
16
+ const parseCodeBlock = (lines, language) => {
17
+ const codeContent = lines.join('\n'); // No need to exclude the triple backticks
18
+ const highlightedCode = language ? `<pre><code data-language="${language}">${codeContent}</code></pre>` : `<pre><code>${codeContent}</code></pre>`;
19
+ return `${highlightedCode}\n`;
20
+ };
21
+
22
+ const parseList = line => {
23
+ const DIGIT_FOLLOWED_BY_A_DOT_AND_SPACE = /^\d+\.\s/;
24
+ const match = line.match(DIGIT_FOLLOWED_BY_A_DOT_AND_SPACE);
25
+ if (match) {
26
+ let start = +match[1];
27
+ return `<ol${start===1?"":` start="${start}"`}>${parseInlineElements(line.slice(match[0].length))}</ol>\n`;
28
+ }
29
+ return `<ul>${parseInlineElements(line)}</ul>\n`;
30
+ };
31
+
32
+ const parseHorizontalRule = () => {
33
+ return '<hr>\n';
34
+ };
35
+
36
+ const markdown2html = markdownText => {
37
+ const lines = markdownText.split('\n');
38
+ let htmlOutput = '';
39
+ let inTable = false;
40
+ let inCodeBlock = false;
41
+ let codeBlockLines = [];
42
+ let codeBlockLanguage = '';
43
+ for (let i = 0; i < lines.length; i++) {
44
+ let line = lines[i];
45
+ // Table
46
+ if (line.startsWith('|')) {
47
+ if (!inTable) {
48
+ inTable = true;
49
+ htmlOutput += '<table>\n';
50
+ }
51
+ htmlOutput += parseTable(line);
52
+ continue;
53
+ } else if (inTable) {
54
+ inTable = false;
55
+ htmlOutput += '</table>\n';
56
+ }
57
+ // Code block
58
+ if (line.startsWith('```')) {
59
+ if (!inCodeBlock) {
60
+ inCodeBlock = true;
61
+ codeBlockLines = [];
62
+ codeBlockLanguage = line.slice(3).trim();
63
+ } else {
64
+ inCodeBlock = false;
65
+ htmlOutput += parseCodeBlock(codeBlockLines, codeBlockLanguage);
66
+ }
67
+ continue;
68
+ } else if (inCodeBlock) {
69
+ codeBlockLines.push(line);
70
+ continue;
71
+ }
72
+ // Headings
73
+ if (line.startsWith('# ')) {
74
+ const headingLevel = line.indexOf(' ');
75
+ const headingText = line.slice(headingLevel + 1);
76
+ htmlOutput += `<h${headingLevel}>${parseInlineElements(headingText)}</h${headingLevel}>\n`;
77
+ continue;
78
+ }
79
+ // Lists
80
+ if (line.startsWith('- ') || line.startsWith('* ') || line.match(/^\d+\.\s/)) {
81
+ htmlOutput += parseList(line);
82
+ continue;
83
+ }
84
+ // Horizontal Rule
85
+ if (line.trim() === '---') {
86
+ htmlOutput += parseHorizontalRule();
87
+ continue;
88
+ }
89
+ // Other paragraphs
90
+ htmlOutput += `<p>${parseInlineElements(line)}</p>\n`;
91
+ }
92
+ return htmlOutput;
93
+ };
94
+
95
+ export { markdown2html };
@@ -1,70 +1,70 @@
1
- import { arr2str } from "../index.js";
2
- import { Complex, mapfun, Matrix } from "../../math/index.js";
3
-
4
- // const obj2str=(object)=>{
5
- // const recursiveToString = (obj) => {
6
- // if (Array.isArray(obj)) return arr2str(obj);
7
- // if (typeof obj === 'object' && obj !== null) {
8
- // return `{ ${Object.entries(obj)
9
- // .map(([key, value]) => `${key}:${recursiveToString(value)}`)
10
- // .join(" , ")} }`;
11
- // }
12
- // return String(obj);
13
- // };
14
- // return recursiveToString(object);
15
- // };
16
- // const obj2str = (object) => {
17
- // const recursiveToString = (obj, indentLevel = 0) => {
18
- // const indent = ' '.repeat(indentLevel);
19
- // const nextIndent = ' '.repeat(indentLevel + 1);
20
- // if(Array.isArray(obj)) return arr2str(obj, indentLevel);
21
- // if(obj instanceof Complex || obj instanceof Matrix) return obj.toString();
22
- // if (typeof obj === 'object' && obj !== null) {
23
- // const entries = Object.entries(obj)
24
- // .map(([key, value]) => `${nextIndent}${key}: ${recursiveToString(value, indentLevel + 1)}`)
25
- // .join(",\n");
26
-
27
- // return `{\n${entries}\n${indent}}`;
28
- // }
29
-
30
- // return String(obj);
31
- // };
32
-
33
- // return recursiveToString(object);
34
- // };
35
- // const obj2str = (object, useIndentation = true, indentLevel = 0) => {
36
- // const recursiveToString = (obj, level = 0) => {
37
- // const indent = useIndentation ? ' '.repeat(level) : '';
38
- // const nextIndent = useIndentation ? ' '.repeat(level + 1) : '';
39
- // if (Array.isArray(obj)) return arr2str(obj, false, level);
40
- // if(obj instanceof Complex || obj instanceof Matrix) return obj.toString();
41
- // if (typeof obj === 'object' && obj !== null) {
42
- // const entries = Object.entries(obj)
43
- // .map(([key, value]) => useIndentation
44
- // ? `${nextIndent}${key}: ${recursiveToString(value, level + 1)}`
45
- // : `${key}: ${recursiveToString(value, level + 1)}`
46
- // ).join(useIndentation ? ",\n" : ", ");
47
-
48
- // return useIndentation
49
- // ? `{\n${entries}\n${indent}}`
50
- // : `{${entries}}`;
51
- // }
52
-
53
- // return String(obj);
54
- // };
55
-
56
- // return recursiveToString(object, indentLevel);
57
- // };
58
-
59
- const obj2str=(obj)=>JSON.stringify(
60
- mapfun(n=>{
61
- if(["number","string","boolean","bigint"].includes(typeof n)) return String(n);
62
- if(n instanceof Complex || n instanceof Matrix) return n.toString();
63
- if(n instanceof Array) return arr2str(n)
64
- },
65
- obj), null, " ")
66
- .replace(/"([^"]+)":/g, '$1:') // Remove Quotes from Keys
67
- .replace(/: "([^"]+)"/g, ': $1'); // Remove Quotes from str values
68
- export{
69
- obj2str
1
+ import { arr2str } from "../index.js";
2
+ import { Complex, mapfun, Matrix } from "../../math/index.js";
3
+
4
+ // const obj2str=(object)=>{
5
+ // const recursiveToString = (obj) => {
6
+ // if (Array.isArray(obj)) return arr2str(obj);
7
+ // if (typeof obj === 'object' && obj !== null) {
8
+ // return `{ ${Object.entries(obj)
9
+ // .map(([key, value]) => `${key}:${recursiveToString(value)}`)
10
+ // .join(" , ")} }`;
11
+ // }
12
+ // return String(obj);
13
+ // };
14
+ // return recursiveToString(object);
15
+ // };
16
+ // const obj2str = (object) => {
17
+ // const recursiveToString = (obj, indentLevel = 0) => {
18
+ // const indent = ' '.repeat(indentLevel);
19
+ // const nextIndent = ' '.repeat(indentLevel + 1);
20
+ // if(Array.isArray(obj)) return arr2str(obj, indentLevel);
21
+ // if(obj instanceof Complex || obj instanceof Matrix) return obj.toString();
22
+ // if (typeof obj === 'object' && obj !== null) {
23
+ // const entries = Object.entries(obj)
24
+ // .map(([key, value]) => `${nextIndent}${key}: ${recursiveToString(value, indentLevel + 1)}`)
25
+ // .join(",\n");
26
+
27
+ // return `{\n${entries}\n${indent}}`;
28
+ // }
29
+
30
+ // return String(obj);
31
+ // };
32
+
33
+ // return recursiveToString(object);
34
+ // };
35
+ // const obj2str = (object, useIndentation = true, indentLevel = 0) => {
36
+ // const recursiveToString = (obj, level = 0) => {
37
+ // const indent = useIndentation ? ' '.repeat(level) : '';
38
+ // const nextIndent = useIndentation ? ' '.repeat(level + 1) : '';
39
+ // if (Array.isArray(obj)) return arr2str(obj, false, level);
40
+ // if(obj instanceof Complex || obj instanceof Matrix) return obj.toString();
41
+ // if (typeof obj === 'object' && obj !== null) {
42
+ // const entries = Object.entries(obj)
43
+ // .map(([key, value]) => useIndentation
44
+ // ? `${nextIndent}${key}: ${recursiveToString(value, level + 1)}`
45
+ // : `${key}: ${recursiveToString(value, level + 1)}`
46
+ // ).join(useIndentation ? ",\n" : ", ");
47
+
48
+ // return useIndentation
49
+ // ? `{\n${entries}\n${indent}}`
50
+ // : `{${entries}}`;
51
+ // }
52
+
53
+ // return String(obj);
54
+ // };
55
+
56
+ // return recursiveToString(object, indentLevel);
57
+ // };
58
+
59
+ const obj2str=(obj)=>JSON.stringify(
60
+ mapfun(n=>{
61
+ if(["number","string","boolean","bigint"].includes(typeof n)) return String(n);
62
+ if(n instanceof Complex || n instanceof Matrix) return n.toString();
63
+ if(n instanceof Array) return arr2str(n)
64
+ },
65
+ obj), null, " ")
66
+ .replace(/"([^"]+)":/g, '$1:') // Remove Quotes from Keys
67
+ .replace(/: "([^"]+)"/g, ': $1'); // Remove Quotes from str values
68
+ export{
69
+ obj2str
70
70
  }