ziko 0.0.18 → 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/package.json +16 -45
  2. package/src/__helpers__/index.js +61 -61
  3. package/src/app/json-style-sheet.js +64 -64
  4. package/src/app/ziko-app.js +38 -38
  5. package/src/data/api/fetchdom.js +13 -13
  6. package/src/data/api/index.js +3 -3
  7. package/src/data/api/preload.js +10 -10
  8. package/src/data/converter/adoc.js +130 -130
  9. package/src/data/converter/array.js +42 -42
  10. package/src/data/converter/canvas.js +24 -24
  11. package/src/data/converter/css.js +36 -36
  12. package/src/data/converter/csv.js +32 -32
  13. package/src/data/converter/idea.txt +9 -9
  14. package/src/data/converter/index.js +36 -36
  15. package/src/data/converter/json.js +80 -80
  16. package/src/data/converter/markdown.js +95 -95
  17. package/src/data/converter/object.js +69 -69
  18. package/src/data/converter/svg.js +10 -10
  19. package/src/data/index.js +16 -16
  20. package/src/data/parser/xml.js +46 -46
  21. package/src/data/string/patterns.js +11 -11
  22. package/src/data/string/string.js +169 -169
  23. package/src/global/{themes → _themes}/dark.js +884 -884
  24. package/src/global/{themes → _themes}/index.js +10 -10
  25. package/src/global/{themes → _themes}/light.js +254 -254
  26. package/src/global/app/index.js +45 -45
  27. package/src/global/component/index.js +38 -38
  28. package/src/global/globals/index.js +20 -20
  29. package/src/global/index.js +3 -11
  30. package/src/global/params/index.js +39 -39
  31. package/src/global/router/index.js +66 -66
  32. package/src/global/seo/index.js +42 -42
  33. package/src/graphics/canvas/canvas.js +176 -176
  34. package/src/graphics/canvas/elements/{basic → Basic}/arc.js +42 -42
  35. package/src/graphics/canvas/elements/{basic → Basic}/line.js +25 -25
  36. package/src/graphics/canvas/elements/{basic → Basic}/points.js +47 -47
  37. package/src/graphics/canvas/elements/{basic → Basic}/polygon.js +6 -6
  38. package/src/graphics/canvas/elements/{basic → Basic}/rect.js +45 -45
  39. package/src/graphics/canvas/elements/{chart → Chart}/scatter.js +2 -2
  40. package/src/graphics/canvas/elements/{element.js → Element.js} +114 -114
  41. package/src/graphics/canvas/elements/index.js +12 -12
  42. package/src/graphics/canvas/index.js +1 -1
  43. package/src/graphics/canvas/utils/color.js +7 -7
  44. package/src/graphics/canvas/utils/floodFill.js +57 -57
  45. package/src/graphics/index.js +9 -9
  46. package/src/graphics/svg/{elements/basic → Elements/Basic}/circle.js +28 -28
  47. package/src/graphics/svg/{elements/basic → Elements/Basic}/ellipse.js +23 -23
  48. package/src/graphics/svg/{elements/basic → Elements/Basic}/foreign-object.js +35 -35
  49. package/src/graphics/svg/{elements/basic → Elements/Basic}/groupe.js +32 -32
  50. package/src/graphics/svg/{elements/basic → Elements/Basic}/image.js +35 -35
  51. package/src/graphics/svg/{elements/basic → Elements/Basic}/line.js +31 -31
  52. package/src/graphics/svg/{elements/basic → Elements/Basic}/link.js +33 -33
  53. package/src/graphics/svg/{elements/basic → Elements/Basic}/path.js +61 -61
  54. package/src/graphics/svg/{elements/basic → Elements/Basic}/polygon.js +31 -31
  55. package/src/graphics/svg/{elements/basic → Elements/Basic}/polyline.js +6 -6
  56. package/src/graphics/svg/{elements/basic → Elements/Basic}/rect.js +45 -45
  57. package/src/graphics/svg/{elements/basic → Elements/Basic}/text.js +28 -28
  58. package/src/graphics/svg/{elements/derived → Elements/Derived}/grid.js +8 -8
  59. package/src/graphics/svg/{elements → Elements}/index.js +2 -2
  60. package/src/graphics/svg/{elements → Elements}/ziko-svg-element.js +48 -48
  61. package/src/graphics/svg/index.js +1 -1
  62. package/src/graphics/svg/svg.js +68 -68
  63. package/src/index.js +85 -85
  64. package/src/math/calculus/index.js +2 -2
  65. package/src/math/calculus/special-functions/bessel.js +30 -30
  66. package/src/math/calculus/special-functions/beta.js +37 -37
  67. package/src/math/calculus/special-functions/gamma.js +29 -29
  68. package/src/math/calculus/special-functions/index.js +4 -4
  69. package/src/math/complex/index.js +202 -202
  70. package/src/math/const.js +2 -2
  71. package/src/math/discret/Combinaison/index.js +33 -33
  72. package/src/math/discret/Conversion/index.js +85 -85
  73. package/src/math/discret/Logic/index.js +45 -45
  74. package/src/math/discret/Permutation/index.js +30 -30
  75. package/src/math/discret/Set/index.js +1 -1
  76. package/src/math/discret/Set/power-set.js +14 -14
  77. package/src/math/discret/Set/sub-set.js +10 -10
  78. package/src/math/discret/index.js +11 -11
  79. package/src/math/functions/index.js +161 -161
  80. package/src/math/index.js +32 -32
  81. package/src/math/matrix/Decomposition.js +90 -90
  82. package/src/math/matrix/LinearSystem.js +9 -9
  83. package/src/math/matrix/Matrix.js +716 -716
  84. package/src/math/matrix/index.js +2 -2
  85. package/src/math/random/index.js +172 -172
  86. package/src/math/signal/__np.py.txt +39 -39
  87. package/src/math/signal/conv.js +174 -174
  88. package/src/math/signal/fft.js +54 -54
  89. package/src/math/signal/filter.js +38 -38
  90. package/src/math/signal/functions.js +145 -145
  91. package/src/math/signal/index.js +109 -109
  92. package/src/math/statistics/Functions/index.js +99 -99
  93. package/src/math/statistics/index.js +15 -15
  94. package/src/math/utils/arithmetic.js +138 -138
  95. package/src/math/utils/checkers.js +29 -29
  96. package/src/math/utils/conversions.js +19 -19
  97. package/src/math/utils/discret.js +51 -51
  98. package/src/math/utils/index.js +101 -101
  99. package/src/math/utils/mapfun.js +49 -49
  100. package/src/reactivity/events/Input.js +61 -61
  101. package/src/reactivity/events/Pointer.js +231 -231
  102. package/src/reactivity/events/ZikoEvent.js +90 -90
  103. package/src/reactivity/events/click.js +59 -59
  104. package/src/reactivity/events/clipboard.js +87 -87
  105. package/src/reactivity/events/custom-event.js +56 -56
  106. package/src/reactivity/events/drag.js +136 -136
  107. package/src/reactivity/events/focus.js +58 -58
  108. package/src/reactivity/events/hash.js +46 -46
  109. package/src/reactivity/events/index.js +12 -12
  110. package/src/reactivity/events/key.js +101 -101
  111. package/src/reactivity/events/mouse.js +232 -232
  112. package/src/reactivity/events/swipe.js +149 -149
  113. package/src/reactivity/events/wheel.js +46 -46
  114. package/src/reactivity/hooks/{contexte → Contexte}/useSuccesifKeys.js +13 -13
  115. package/src/reactivity/hooks/{decorators → Decorators}/index.js +6 -6
  116. package/src/reactivity/hooks/{decorators → Decorators}/time.js +16 -16
  117. package/src/reactivity/hooks/{decorators → Decorators}/type.js +87 -87
  118. package/src/reactivity/hooks/{head/useCssText.js → Head/_useCssText.js} +20 -20
  119. package/src/reactivity/hooks/{head → Head}/index.js +5 -5
  120. package/src/reactivity/hooks/{head → Head}/useFavIcon.js +37 -37
  121. package/src/reactivity/hooks/{head → Head}/useHead.js +27 -27
  122. package/src/reactivity/hooks/{head → Head}/useMeta.js +52 -52
  123. package/src/reactivity/hooks/{head → Head}/useTitle.js +29 -29
  124. package/src/reactivity/hooks/{interactions/useBluetooth.js → Interactions/_useBluetooth.js} +47 -47
  125. package/src/reactivity/hooks/{interactions → Interactions}/index.js +4 -4
  126. package/src/reactivity/hooks/{interactions → Interactions}/useChannel.js +49 -49
  127. package/src/reactivity/hooks/{interactions → Interactions}/useEventEmmiter.js +63 -63
  128. package/src/reactivity/hooks/{interactions → Interactions}/useThread.js +43 -43
  129. package/src/reactivity/hooks/Sensors/index.js +2 -0
  130. package/src/reactivity/hooks/{sensors → Sensors}/useBattery.js +35 -35
  131. package/src/reactivity/hooks/{sensors → Sensors}/useGeolocation.js +16 -16
  132. package/src/reactivity/hooks/{storage → Storage}/useStorage.js +72 -72
  133. package/src/reactivity/hooks/{ui → UI}/index.js +5 -5
  134. package/src/reactivity/hooks/{ui → UI}/useMediaQuery.js +43 -43
  135. package/src/reactivity/hooks/{ui → UI}/useStyle.js +79 -79
  136. package/src/reactivity/hooks/{ui → UI}/useTheme.js +61 -61
  137. package/src/reactivity/hooks/index.js +7 -7
  138. package/src/reactivity/hooks/todo.md +26 -26
  139. package/src/reactivity/idea +1 -1
  140. package/src/reactivity/index.js +11 -11
  141. package/src/reactivity/observer/attributes.js +28 -28
  142. package/src/reactivity/observer/children.js +36 -36
  143. package/src/reactivity/observer/index.js +6 -6
  144. package/src/reactivity/observer/intersection.js +43 -43
  145. package/src/reactivity/observer/mutation.js +112 -112
  146. package/src/reactivity/observer/resize.js +46 -46
  147. package/src/reactivity/observer/screen.js +44 -44
  148. package/src/reactivity/observer/screen.js.txt +83 -83
  149. package/src/reactivity/observer/screen.txt +12 -12
  150. package/src/time/animation.js +75 -75
  151. package/src/time/index.js +11 -11
  152. package/src/time/loop.js +87 -87
  153. package/src/time/utils/decorators.js +16 -16
  154. package/src/time/utils/ease.js +143 -143
  155. package/src/time/utils/index.js +17 -17
  156. package/src/time/utils/performance.js +15 -15
  157. package/src/time/utils/ui.js +25 -25
  158. package/src/types.js +73 -73
  159. package/src/ui/elements/derived/accordion/accordion.js +42 -42
  160. package/src/ui/elements/derived/accordion/collapsible.js +82 -82
  161. package/src/ui/elements/derived/accordion/index.js +1 -1
  162. package/src/ui/elements/derived/alert/alert.js +80 -80
  163. package/src/ui/elements/derived/alert/palette.js +51 -51
  164. package/src/ui/elements/derived/carousel/index.js +50 -50
  165. package/src/ui/elements/derived/code-note/SubElements.js.txt +104 -104
  166. package/src/ui/elements/derived/code-note/code-cell.js +194 -194
  167. package/src/ui/elements/derived/code-note/code-note.js +71 -71
  168. package/src/ui/elements/derived/code-note/index.js +1 -1
  169. package/src/ui/elements/derived/code-note/sub-elements.js +66 -66
  170. package/src/ui/elements/derived/elements/Swipper.js +3 -3
  171. package/src/ui/elements/derived/elements/index.js +9 -9
  172. package/src/ui/elements/derived/flex/index.js +102 -102
  173. package/src/ui/elements/derived/grid/index.js +32 -32
  174. package/src/ui/elements/derived/index.js +11 -11
  175. package/src/ui/elements/derived/menu/menu3d.js +259 -259
  176. package/src/ui/elements/derived/modal/index.js +91 -91
  177. package/src/ui/elements/derived/pagination/breadcrumbs.js +53 -53
  178. package/src/ui/elements/derived/slider/__ZikoUISlider__.js +111 -111
  179. package/src/ui/elements/derived/slider/hSlider.js +33 -33
  180. package/src/ui/elements/derived/slider/index.js +11 -11
  181. package/src/ui/elements/derived/slider/vSlider.js +26 -26
  182. package/src/ui/elements/derived/splitter/__ZikoUISplitter__.js +61 -61
  183. package/src/ui/elements/derived/splitter/hsplitter.js +39 -39
  184. package/src/ui/elements/derived/splitter/index.js +11 -11
  185. package/src/ui/elements/derived/splitter/vsplitter.js +39 -39
  186. package/src/ui/elements/derived/tabs/index.js +179 -179
  187. package/src/ui/elements/primitives/ZikoUIContainerElement.js +163 -163
  188. package/src/ui/elements/primitives/ZikoUIElement.js +492 -492
  189. package/src/ui/elements/primitives/embaded/html.js +19 -19
  190. package/src/ui/elements/primitives/embaded/index.js +3 -3
  191. package/src/ui/elements/primitives/embaded/pdf.js +16 -16
  192. package/src/ui/elements/primitives/embaded/youtube.js +23 -23
  193. package/src/ui/elements/primitives/index.js +7 -7
  194. package/src/ui/elements/primitives/io/Form/index.js +41 -41
  195. package/src/ui/elements/primitives/io/Form/index.js.txt +104 -104
  196. package/src/ui/elements/primitives/io/Inputs/__helpers__.js +51 -51
  197. package/src/ui/elements/primitives/io/Inputs/index.js +12 -12
  198. package/src/ui/elements/primitives/io/Inputs/input/index.js +98 -98
  199. package/src/ui/elements/primitives/io/Inputs/input-camera/index.js +26 -26
  200. package/src/ui/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
  201. package/src/ui/elements/primitives/io/Inputs/input-color/index.js +15 -15
  202. package/src/ui/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
  203. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
  204. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
  205. package/src/ui/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
  206. package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +1 -1
  207. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
  208. package/src/ui/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
  209. package/src/ui/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
  210. package/src/ui/elements/primitives/io/Inputs/input-number/index.js +36 -36
  211. package/src/ui/elements/primitives/io/Inputs/input-radio/index.js +25 -25
  212. package/src/ui/elements/primitives/io/Inputs/input-search/index.js +45 -45
  213. package/src/ui/elements/primitives/io/Inputs/input-slider/index.js +34 -34
  214. package/src/ui/elements/primitives/io/Select/index.js +19 -19
  215. package/src/ui/elements/primitives/io/Textarea/index.js +17 -17
  216. package/src/ui/elements/primitives/io/index.js +3 -3
  217. package/src/ui/elements/primitives/list/index.js +138 -138
  218. package/src/ui/elements/primitives/media/Audio/index.js +16 -16
  219. package/src/ui/elements/primitives/media/Image/figure.js +18 -18
  220. package/src/ui/elements/primitives/media/Image/image.js +36 -36
  221. package/src/ui/elements/primitives/media/Image/index.js +1 -1
  222. package/src/ui/elements/primitives/media/Video/index.js +26 -26
  223. package/src/ui/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
  224. package/src/ui/elements/primitives/media/index.js +2 -2
  225. package/src/ui/elements/primitives/misc/index.js +101 -101
  226. package/src/ui/elements/primitives/semantic/index.js +81 -81
  227. package/src/ui/elements/primitives/table/elements.js +93 -93
  228. package/src/ui/elements/primitives/table/index.js +2 -2
  229. package/src/ui/elements/primitives/table/table.js +115 -115
  230. package/src/ui/elements/primitives/table/utils.js +11 -11
  231. package/src/ui/elements/primitives/text/__ZikoUIText__.js +71 -71
  232. package/src/ui/elements/primitives/text/heading.js +35 -35
  233. package/src/ui/elements/primitives/text/index.js +2 -2
  234. package/src/ui/elements/primitives/text/p.js +26 -26
  235. package/src/ui/elements/primitives/text/text.js +80 -80
  236. package/src/ui/index.js +37 -37
  237. package/src/ui/style/index.js +504 -515
  238. package/src/ui/utils/index.js +69 -69
  239. package/starter/bin/index.js +11 -11
  240. package/dist/ziko.cjs +0 -12596
  241. package/dist/ziko.js +0 -13487
  242. package/dist/ziko.min.js +0 -9
  243. package/dist/ziko.mjs +0 -13118
  244. package/src/reactivity/hooks/sensors/index.js +0 -2
  245. /package/{readme.md → README.md} +0 -0
  246. /package/src/graphics/canvas/elements/{basic → Basic}/image.js +0 -0
  247. /package/src/graphics/canvas/elements/{basic → Basic}/path.js +0 -0
  248. /package/src/graphics/canvas/elements/{basic → Basic}/polyline.js +0 -0
  249. /package/src/graphics/canvas/elements/{basic → Basic}/text.js +0 -0
  250. /package/src/graphics/canvas/elements/{chart → Chart}/histogram.js +0 -0
  251. /package/src/graphics/canvas/elements/{chart → Chart}/plot.js +0 -0
  252. /package/src/graphics/canvas/elements/{chart → Chart}/stem.js +0 -0
  253. /package/src/graphics/svg/{elements/basic → Elements/Basic}/index.js +0 -0
  254. /package/src/graphics/svg/{elements/derived → Elements/Derived}/index.js +0 -0
  255. /package/src/reactivity/hooks/{contexte → Contexte}/index.js +0 -0
  256. /package/src/reactivity/hooks/{interactions → Interactions}/useSerial.js +0 -0
  257. /package/src/reactivity/hooks/{interactions → Interactions}/useUsb.js +0 -0
  258. /package/src/reactivity/hooks/{sensors → Sensors}/useCamera.js +0 -0
  259. /package/src/reactivity/hooks/{sensors → Sensors}/useMicro.js +0 -0
  260. /package/src/reactivity/hooks/{sensors → Sensors}/useOrientation.js +0 -0
  261. /package/src/reactivity/hooks/{storage → Storage}/index.js +0 -0
  262. /package/src/reactivity/hooks/{storage → Storage}/useCookie.js +0 -0
  263. /package/src/reactivity/hooks/{storage → Storage}/useIndexedDb.js +0 -0
  264. /package/src/reactivity/hooks/{ui → UI}/useCssLink.js +0 -0
  265. /package/src/reactivity/hooks/{ui → UI}/useLinearGradient.js +0 -0
  266. /package/src/reactivity/hooks/{ui → UI}/useRadialGradient.js +0 -0
  267. /package/src/reactivity/hooks/{ui → UI}/useRoot.js +0 -0
@@ -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
  }
@@ -1,11 +1,11 @@
1
- import { image } from "../../ui"
2
- const svg2str=svg=>(new XMLSerializer()).serializeToString(svg);
3
- const svg2ascii=svg=>btoa(svg2str(svg));
4
- const svg2imgUrl=svg=>'data:image/svg+xml;base64,'+svg2ascii(svg);
5
- const svg2img=(svg,render=true)=>image(svg2imgUrl(svg)).render(render);
6
- export{
7
- svg2str,
8
- svg2ascii,
9
- svg2imgUrl,
10
- svg2img
1
+ import { image } from "../../ui"
2
+ const svg2str=svg=>(new XMLSerializer()).serializeToString(svg);
3
+ const svg2ascii=svg=>btoa(svg2str(svg));
4
+ const svg2imgUrl=svg=>'data:image/svg+xml;base64,'+svg2ascii(svg);
5
+ const svg2img=(svg,render=true)=>image(svg2imgUrl(svg)).render(render);
6
+ export{
7
+ svg2str,
8
+ svg2ascii,
9
+ svg2imgUrl,
10
+ svg2img
11
11
  }
package/src/data/index.js CHANGED
@@ -1,17 +1,17 @@
1
- export * from "./api"
2
- export * from "./converter"
3
- export * from "./parser"
4
- export * from "./string"
5
-
6
- import * as Api from "./api"
7
- import * as Converter from "./converter"
8
- import * as Parser from "./parser"
9
- import * as String from "./string"
10
-
11
- const Data = {
12
- ...Api,
13
- ...Converter,
14
- ...Parser,
15
- ...String
16
- }
1
+ export * from "./api"
2
+ export * from "./converter"
3
+ export * from "./parser"
4
+ export * from "./string"
5
+
6
+ import * as Api from "./api"
7
+ import * as Converter from "./converter"
8
+ import * as Parser from "./parser"
9
+ import * as String from "./string"
10
+
11
+ const Data = {
12
+ ...Api,
13
+ ...Converter,
14
+ ...Parser,
15
+ ...String
16
+ }
17
17
  export default Data
@@ -1,47 +1,47 @@
1
- function parseXML(xmlString) {
2
- const parser = new DOMParser();
3
- const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
4
- const rootNode = xmlDoc.documentElement;
5
- const result = parseNode(rootNode);
6
- return result;
7
- }
8
-
9
- function parseNode(node) {
10
- const obj = {
11
- type: node.nodeName,
12
- attributes: {},
13
- children: []
14
- };
15
- for (let i = 0; i < node.attributes.length; i++) {
16
- const attr = node.attributes[i];
17
- obj.attributes[attr.name] = attr.value;
18
- }
19
- for (let i = 0; i < node.childNodes.length; i++) {
20
- const child = node.childNodes[i];
21
- if (child.nodeType === Node.ELEMENT_NODE) {
22
- obj.children.push(parseNode(child));
23
- } else if (child.nodeType === Node.TEXT_NODE) {
24
- obj.text = child.textContent.trim();
25
- }
26
- }
27
- return obj;
28
- }
29
- export default parseXML;
30
-
31
- // function htmlParser(element) {
32
- // const obj = {
33
- // type: element.tagName,
34
- // attributes: {},
35
- // children: [],
36
- // };
37
- // for (let i = 0; i < element.attributes.length; i++) {
38
- // const attr = element.attributes[i];
39
- // obj.attributes[attr.name] = attr.value;
40
- // }
41
- // for (let i = 0; i < element.children.length; i++) {
42
- // const child = element.children[i];
43
- // obj.children.push(htmlParser(child));
44
- // }
45
- // return obj;
46
- // }
1
+ function parseXML(xmlString) {
2
+ const parser = new DOMParser();
3
+ const xmlDoc = parser.parseFromString(xmlString, 'text/xml');
4
+ const rootNode = xmlDoc.documentElement;
5
+ const result = parseNode(rootNode);
6
+ return result;
7
+ }
8
+
9
+ function parseNode(node) {
10
+ const obj = {
11
+ type: node.nodeName,
12
+ attributes: {},
13
+ children: []
14
+ };
15
+ for (let i = 0; i < node.attributes.length; i++) {
16
+ const attr = node.attributes[i];
17
+ obj.attributes[attr.name] = attr.value;
18
+ }
19
+ for (let i = 0; i < node.childNodes.length; i++) {
20
+ const child = node.childNodes[i];
21
+ if (child.nodeType === Node.ELEMENT_NODE) {
22
+ obj.children.push(parseNode(child));
23
+ } else if (child.nodeType === Node.TEXT_NODE) {
24
+ obj.text = child.textContent.trim();
25
+ }
26
+ }
27
+ return obj;
28
+ }
29
+ export default parseXML;
30
+
31
+ // function htmlParser(element) {
32
+ // const obj = {
33
+ // type: element.tagName,
34
+ // attributes: {},
35
+ // children: [],
36
+ // };
37
+ // for (let i = 0; i < element.attributes.length; i++) {
38
+ // const attr = element.attributes[i];
39
+ // obj.attributes[attr.name] = attr.value;
40
+ // }
41
+ // for (let i = 0; i < element.children.length; i++) {
42
+ // const child = element.children[i];
43
+ // obj.children.push(htmlParser(child));
44
+ // }
45
+ // return obj;
46
+ // }
47
47