ziko 0.0.13 → 0.0.15
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.
- package/dist/ziko.cjs +13310 -11794
- package/dist/ziko.js +13868 -12352
- package/dist/ziko.min.js +2 -2
- package/dist/ziko.mjs +13286 -11774
- package/package.json +5 -4
- package/src/__helpers__/index.js +61 -41
- package/src/app/index.js +20 -12
- package/src/app/json-style-sheet.js +64 -0
- package/src/app/routes.js +58 -0
- package/src/app/spa.js +56 -0
- package/src/app/ziko-app.js +39 -0
- package/src/data/api/fetchdom.js +13 -13
- package/src/data/api/index.js +3 -3
- package/src/data/api/preload.js +10 -10
- package/src/data/converter/adoc.js +130 -130
- package/src/data/converter/array.js +42 -42
- package/src/data/converter/canvas.js +24 -24
- package/src/data/converter/css.js +37 -0
- package/src/data/converter/csv.js +32 -32
- package/src/data/converter/idea.txt +9 -9
- package/src/data/converter/index.js +37 -34
- package/src/data/converter/json.js +80 -80
- package/src/data/converter/markdown.js +95 -95
- package/src/data/converter/object.js +69 -69
- package/src/data/converter/svg.js +10 -10
- package/src/data/index.js +16 -73
- package/src/data/parser/index.js +1 -0
- package/src/data/parser/xml.js +46 -46
- package/src/data/string/patterns.js +11 -11
- package/src/data/string/string.js +169 -169
- package/src/{app/app.js → global/app/index.js} +45 -45
- package/src/{app → global}/component/index.js +38 -38
- package/src/global/globals/index.js +20 -0
- package/src/global/index.js +12 -0
- package/src/global/params/index.js +40 -0
- package/src/{app → global}/router/index.js +66 -66
- package/src/{app → global}/seo/index.js +42 -42
- package/src/global/style/index.js +1 -0
- package/src/{app → global}/themes/dark.js +884 -884
- package/src/{app → global}/themes/index.js +10 -10
- package/src/{app → global}/themes/light.js +254 -254
- package/src/graphics/canvas/canvas.js +188 -188
- package/src/graphics/canvas/elements/Basic/arc.js +42 -42
- package/src/graphics/canvas/elements/Basic/line.js +25 -25
- package/src/graphics/canvas/elements/Basic/points.js +47 -47
- package/src/graphics/canvas/elements/Basic/polygon.js +6 -6
- package/src/graphics/canvas/elements/Basic/rect.js +45 -45
- package/src/graphics/canvas/elements/Chart/scatter.js +2 -2
- package/src/graphics/canvas/elements/Element.js +114 -114
- package/src/graphics/canvas/elements/index.js +12 -12
- package/src/graphics/canvas/index.js +14 -14
- package/src/graphics/canvas/utils/color.js +7 -7
- package/src/graphics/canvas/utils/floodFill.js +57 -57
- package/src/graphics/index.js +68 -68
- package/src/graphics/svg/Elements/Basic/circle.js +25 -25
- package/src/graphics/svg/Elements/Basic/ellipse.js +20 -20
- package/src/graphics/svg/Elements/Basic/foreignObject.js +32 -32
- package/src/graphics/svg/Elements/Basic/groupe.js +29 -29
- package/src/graphics/svg/Elements/Basic/image.js +32 -32
- package/src/graphics/svg/Elements/Basic/line.js +28 -28
- package/src/graphics/svg/Elements/Basic/link.js +30 -30
- package/src/graphics/svg/Elements/Basic/path.js +58 -58
- package/src/graphics/svg/Elements/Basic/polygon.js +31 -31
- package/src/graphics/svg/Elements/Basic/polyline.js +3 -3
- package/src/graphics/svg/Elements/Basic/rect.js +42 -42
- package/src/graphics/svg/Elements/Basic/text.js +25 -25
- package/src/graphics/svg/Elements/Derived/grid.js +8 -8
- package/src/graphics/svg/Elements/ZikoSvgElement.js +46 -46
- package/src/graphics/svg/Elements/index.js +14 -14
- package/src/graphics/svg/index.js +1 -1
- package/src/graphics/svg/svg.js +114 -114
- package/src/index.js +83 -88
- package/src/math/calculus/derivation/index.js +7 -0
- package/src/math/calculus/index.js +2 -1
- package/src/math/calculus/special-functions/bessel.js +30 -30
- package/src/math/calculus/special-functions/beta.js +37 -37
- package/src/math/calculus/special-functions/gamma.js +29 -29
- package/src/math/calculus/special-functions/index.js +4 -4
- package/src/math/complex/index.js +202 -202
- package/src/math/const.js +2 -2
- package/src/math/discret/Combinaison/index.js +33 -33
- package/src/math/discret/Conversion/index.js +85 -85
- package/src/math/discret/Logic/index.js +45 -45
- package/src/math/discret/Permutation/index.js +30 -30
- package/src/math/discret/Set/index.js +1 -1
- package/src/math/discret/Set/power-set.js +14 -14
- package/src/math/discret/Set/sub-set.js +10 -10
- package/src/math/discret/index.js +12 -23
- package/src/math/functions/helper.js +20 -0
- package/src/math/functions/index.js +161 -181
- package/src/math/index.js +32 -189
- package/src/math/matrix/Decomposition.js +90 -90
- package/src/math/matrix/LinearSystem.js +9 -9
- package/src/math/matrix/Matrix.js +716 -716
- package/src/math/matrix/index.js +2 -2
- package/src/math/random/index.js +172 -172
- package/src/math/signal/__np.py.txt +39 -39
- package/src/math/signal/conv.js +174 -174
- package/src/math/signal/fft.js +54 -54
- package/src/math/signal/filter.js +38 -38
- package/src/math/signal/functions.js +145 -145
- package/src/math/signal/index.js +109 -109
- package/src/math/statistics/Functions/index.js +99 -99
- package/src/math/statistics/index.js +15 -15
- package/src/math/utils/arithmetic.js +138 -138
- package/src/math/utils/checkers.js +29 -29
- package/src/math/utils/conversions.js +19 -19
- package/src/math/utils/discret.js +51 -51
- package/src/math/utils/index.js +101 -101
- package/src/math/utils/mapfun.js +49 -49
- package/src/reactivity/events/{Partiel/Input.js → Input.js} +62 -59
- package/src/reactivity/events/{Global/Pointer.js → Pointer.js} +232 -234
- package/src/reactivity/events/ZikoEvent.js +90 -90
- package/src/reactivity/events/{Global/Click.js → click.js} +60 -56
- package/src/reactivity/events/{Global/Clipboard.js → clipboard.js} +88 -84
- package/src/reactivity/events/{Global/CustomEvent.js → custom-event.js} +57 -53
- package/src/reactivity/events/{Global/Drag.js → drag.js} +136 -136
- package/src/reactivity/events/{Global/Focus.js → focus.js} +59 -56
- package/src/reactivity/events/{Partiel/Hash.js → hash.js} +47 -44
- package/src/reactivity/events/index.js +62 -62
- package/src/reactivity/events/{Global/Key.js → key.js} +102 -104
- package/src/reactivity/events/{Global/Mouse.js → mouse.js} +233 -230
- package/src/reactivity/events/{Global/Swipe.js → swipe.js} +149 -147
- package/src/reactivity/events/{Global/Wheel.js → wheel.js} +47 -44
- package/src/reactivity/hooks/{Contexte → contexte}/useSuccesifKeys.js +13 -13
- package/src/reactivity/hooks/{Decorators → decorators}/index.js +6 -6
- package/src/reactivity/hooks/{Decorators → decorators}/time.js +16 -16
- package/src/reactivity/hooks/{Decorators → decorators}/type.js +87 -87
- package/src/reactivity/hooks/head/index.js +5 -0
- package/src/reactivity/hooks/{UI → head}/useCssText.js +21 -21
- package/src/reactivity/hooks/{UI → head}/useFavIcon.js +37 -37
- package/src/reactivity/hooks/head/useHead.js +28 -0
- package/src/reactivity/hooks/head/useMeta.js +52 -0
- package/src/reactivity/hooks/{UI → head}/useTitle.js +29 -29
- package/src/reactivity/hooks/index.js +91 -85
- package/src/reactivity/hooks/{Interactions → interactions}/index.js +3 -3
- package/src/reactivity/hooks/{Interactions → interactions}/useBluetooth.js +47 -47
- package/src/reactivity/hooks/{Interactions → interactions}/useChannel.js +49 -49
- package/src/reactivity/hooks/{Interactions → interactions}/useEventEmmiter.js +63 -63
- package/src/reactivity/hooks/{Interactions → interactions}/useThread.js +43 -43
- package/src/reactivity/hooks/sensors/index.js +2 -0
- package/src/reactivity/hooks/{Sensors → sensors}/useBattery.js +35 -35
- package/src/reactivity/hooks/{Sensors → sensors}/useGeolocation.js +16 -16
- package/src/reactivity/hooks/{Storage → storage}/useStorage.js +72 -72
- package/src/reactivity/hooks/todo.md +26 -26
- package/src/reactivity/hooks/ui/index.js +5 -0
- package/src/reactivity/hooks/{UI → ui}/useMediaQuery.js +43 -43
- package/src/reactivity/hooks/{UI → ui}/useStyle.js +79 -79
- package/src/reactivity/hooks/{UI → ui}/useTheme.js +61 -61
- package/src/reactivity/idea +1 -1
- package/src/reactivity/index.js +11 -21
- package/src/reactivity/observer/attributes.js +28 -28
- package/src/reactivity/observer/children.js +36 -36
- package/src/reactivity/observer/index.js +6 -44
- package/src/reactivity/observer/intersection.js +43 -43
- package/src/reactivity/observer/mutation.js +112 -112
- package/src/reactivity/observer/resize.js +46 -46
- package/src/reactivity/observer/screen.js +44 -44
- package/src/reactivity/observer/screen.js.txt +83 -83
- package/src/reactivity/observer/screen.txt +12 -12
- package/src/time/animation.js +75 -75
- package/src/time/index.js +12 -54
- package/src/time/loop.js +87 -87
- package/src/time/utils/decorators.js +16 -16
- package/src/time/utils/ease.js +143 -143
- package/src/time/utils/index.js +17 -17
- package/src/time/utils/performance.js +15 -15
- package/src/time/utils/ui.js +25 -25
- package/src/types.js +73 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/accordion.js +42 -45
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/collapsible.js +82 -82
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/accordion/index.js +1 -1
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/alert.js +80 -80
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/palette.js +51 -51
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/carousel/index.js +50 -49
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/SubElements.js.txt +104 -104
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-cell.js +194 -194
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/code-note.js +71 -71
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/index.js +1 -1
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/code-note/sub-elements.js +66 -66
- package/src/{user-interface → ui}/elements/derived/elements/Swipper.js +3 -3
- package/src/{user-interface → ui}/elements/derived/elements/index.js +9 -9
- package/src/{user-interface/elements/derived/Flex.js → ui/elements/derived/flex/index.js} +102 -102
- package/src/{user-interface/elements/derived/Grid.js → ui/elements/derived/grid/index.js} +32 -32
- package/src/ui/elements/derived/index.js +12 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/menu3d.js +259 -259
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/modal/index.js +91 -91
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/breadcrumbs.js +53 -53
- package/src/ui/elements/derived/slider/__ZikoUISlider__.js +112 -0
- package/src/ui/elements/derived/slider/hSlider.js +34 -0
- package/src/ui/elements/derived/slider/index.js +12 -0
- package/src/ui/elements/derived/slider/vSlider.js +27 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/__ZikoUISplitter__.js +61 -61
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/hsplitter.js +39 -39
- package/src/ui/elements/derived/splitter/index.js +12 -0
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/splitter/vsplitter.js +39 -39
- package/src/{user-interface/elements/derived/elements → ui/elements/derived}/tabs/index.js +179 -179
- package/src/{user-interface → ui}/elements/primitives/ZikoUIContainerElement.js +126 -126
- package/src/{user-interface → ui}/elements/primitives/ZikoUIElement.js +492 -478
- package/src/ui/elements/primitives/embaded/html.js +20 -0
- package/src/ui/elements/primitives/embaded/index.js +3 -0
- package/src/ui/elements/primitives/embaded/pdf.js +17 -0
- package/src/ui/elements/primitives/embaded/youtube.js +24 -0
- package/src/{user-interface → ui}/elements/primitives/index.js +7 -7
- package/src/{user-interface → ui}/elements/primitives/io/Form/index.js +41 -41
- package/src/{user-interface → ui}/elements/primitives/io/Form/index.js.txt +104 -104
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/__helpers__.js +51 -51
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/index.js +12 -12
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input/index.js +98 -97
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-camera/index.js +26 -26
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-checkbox/index.js +25 -25
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-color/index.js +15 -15
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/index.js +2 -2
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date-time.js +13 -13
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-date.js +13 -13
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-date-time/input-time.js +13 -13
- package/src/ui/elements/primitives/io/Inputs/input-email-password/index.js +2 -0
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-email.js +14 -14
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-email-password/input-password.js +13 -13
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-image.js +42 -42
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-number/index.js +36 -36
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-radio/index.js +25 -25
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-search/index.js +45 -45
- package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-slider/index.js +34 -34
- package/src/{user-interface → ui}/elements/primitives/io/Select/index.js +19 -19
- package/src/{user-interface → ui}/elements/primitives/io/Textarea/index.js +17 -17
- package/src/{user-interface → ui}/elements/primitives/io/index.js +3 -3
- package/src/{user-interface → ui}/elements/primitives/list/index.js +138 -138
- package/src/{user-interface → ui}/elements/primitives/media/Audio/index.js +16 -16
- package/src/{user-interface → ui}/elements/primitives/media/Image/figure.js +18 -18
- package/src/{user-interface → ui}/elements/primitives/media/Image/image.js +36 -35
- package/src/ui/elements/primitives/media/Image/index.js +2 -0
- package/src/{user-interface → ui}/elements/primitives/media/Video/index.js +26 -26
- package/src/{user-interface → ui}/elements/primitives/media/__ZikoUIDynamicMediaELement__.js +46 -46
- package/src/{user-interface → ui}/elements/primitives/media/index.js +2 -2
- package/src/{user-interface → ui}/elements/primitives/misc/index.js +100 -99
- package/src/{user-interface → ui}/elements/primitives/semantic/index.js +81 -81
- package/src/{user-interface → ui}/elements/primitives/table/elements.js +93 -93
- package/src/ui/elements/primitives/table/index.js +3 -0
- package/src/{user-interface → ui}/elements/primitives/table/table.js +115 -115
- package/src/{user-interface → ui}/elements/primitives/table/utils.js +11 -11
- package/src/{user-interface → ui}/elements/primitives/text/__ZikoUIText__.js +71 -71
- package/src/{user-interface → ui}/elements/primitives/text/heading.js +35 -35
- package/src/{user-interface → ui}/elements/primitives/text/index.js +2 -2
- package/src/{user-interface → ui}/elements/primitives/text/p.js +26 -26
- package/src/{user-interface → ui}/elements/primitives/text/text.js +80 -80
- package/src/ui/index.js +29 -0
- package/src/{user-interface → ui}/style/index.js +515 -509
- package/src/{user-interface → ui}/utils/index.js +69 -69
- package/src/reactivity/events/Global/Touch.js +0 -0
- package/src/reactivity/hooks/Sensors/index.js +0 -2
- package/src/reactivity/hooks/UI/index.js +0 -5
- package/src/user-interface/elements/derived/elements/splitter/index.js +0 -2
- package/src/user-interface/elements/derived/index.js +0 -3
- package/src/user-interface/elements/primitives/embaded/index.js +0 -1
- package/src/user-interface/elements/primitives/io/Inputs/input-email-password/index.js +0 -2
- package/src/user-interface/elements/primitives/media/Image/index.js +0 -2
- package/src/user-interface/elements/primitives/table/index.js +0 -3
- package/src/user-interface/index.js +0 -188
- /package/src/app/{globals/index.js → globals.js} +0 -0
- /package/src/app/{params/index.js → params.js} +0 -0
- /package/src/reactivity/events/{Partiel/Media.js → media.js} +0 -0
- /package/src/{app/accessibility/index.js → reactivity/events/touch.js} +0 -0
- /package/src/reactivity/hooks/{Contexte → contexte}/index.js +0 -0
- /package/src/reactivity/hooks/{Interactions → interactions}/useSerial.js +0 -0
- /package/src/reactivity/hooks/{Interactions → interactions}/useUsb.js +0 -0
- /package/src/reactivity/hooks/{Sensors → sensors}/useCamera.js +0 -0
- /package/src/reactivity/hooks/{Sensors → sensors}/useMicro.js +0 -0
- /package/src/reactivity/hooks/{Sensors → sensors}/useOrientation.js +0 -0
- /package/src/reactivity/hooks/{Storage → storage}/index.js +0 -0
- /package/src/reactivity/hooks/{Storage → storage}/useCookie.js +0 -0
- /package/src/reactivity/hooks/{Storage → storage}/useIndexedDb.js +0 -0
- /package/src/reactivity/hooks/{UI → ui}/useCssLink.js +0 -0
- /package/src/reactivity/hooks/{UI → ui}/useLinearGradient.js +0 -0
- /package/src/reactivity/hooks/{UI → ui}/useRadialGradient.js +0 -0
- /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/alert/index.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Notification.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Popover.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Popup.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Timeline.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Toast.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/Treeview.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/columns.js +0 -0
- /package/src/{user-interface → ui}/elements/derived/elements/fab.js +0 -0
- /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/menu/index.js +0 -0
- /package/src/{user-interface/elements/derived/elements → ui/elements/derived}/pagination/index.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/index.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/io/Inputs/input-file/input-file.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/list/elements.js +0 -0
- /package/src/{user-interface → ui}/elements/primitives/text/pre.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 "../../
|
|
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,74 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
json2xmlFile,
|
|
18
|
-
svg2str,
|
|
19
|
-
svg2ascii,
|
|
20
|
-
svg2imgUrl,
|
|
21
|
-
svg2img,
|
|
22
|
-
} from "./converter/index.js";
|
|
23
|
-
import parseXML from "./parser/xml.js";
|
|
24
|
-
import { preload } from "./api/preload.js";
|
|
25
|
-
import {str,Str} from "./string/index.js"
|
|
26
|
-
const Data={
|
|
27
|
-
str,
|
|
28
|
-
Str,
|
|
29
|
-
parseXML,
|
|
30
|
-
preload,
|
|
31
|
-
obj2str,
|
|
32
|
-
arr2str,
|
|
33
|
-
markdown2html,
|
|
34
|
-
adoc2html,
|
|
35
|
-
csv2arr,
|
|
36
|
-
csv2matrix,
|
|
37
|
-
csv2object,
|
|
38
|
-
csv2json,
|
|
39
|
-
csv2sql,
|
|
40
|
-
json2arr,
|
|
41
|
-
json2csv,
|
|
42
|
-
json2csvFile,
|
|
43
|
-
json2yml,
|
|
44
|
-
json2ymlFile,
|
|
45
|
-
json2xml,
|
|
46
|
-
json2xmlFile,
|
|
47
|
-
svg2str,
|
|
48
|
-
svg2ascii,
|
|
49
|
-
svg2imgUrl,
|
|
50
|
-
svg2img,
|
|
51
|
-
ExtractAll: function () {
|
|
52
|
-
const keys = Object.keys(this);
|
|
53
|
-
for (let i = 0; i < keys.length; i++) {
|
|
54
|
-
const key = keys[i];
|
|
55
|
-
if (key !== 'ExtractAll' && key !== 'RemoveAll') {
|
|
56
|
-
globalThis[key] = this[key];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return this;
|
|
60
|
-
},
|
|
61
|
-
RemoveAll: function () {
|
|
62
|
-
const keys = Object.keys(this);
|
|
63
|
-
for (let i = 0; i < keys.length; i++) {
|
|
64
|
-
const key = keys[i];
|
|
65
|
-
if (key !== 'RemoveAll') {
|
|
66
|
-
delete globalThis[key];
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return this;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
export * from "./converter/index.js";
|
|
73
|
-
export * from "./string/index.js"
|
|
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
|
+
}
|
|
74
17
|
export default Data
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./markdown"
|