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,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
  }
@@ -0,0 +1,11 @@
1
+ class Color {
2
+ constructor(){
3
+
4
+ }
5
+ static rgb(){
6
+
7
+ }
8
+ static rgba(){
9
+
10
+ }
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
 
@@ -1,12 +1,12 @@
1
- const Patterns={
2
- isDigit: /^\d+$/,
3
- isEmail: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
4
- isURL: /^(https?:\/\/)?([\w\-]+\.)+[\w\-]+(\/[\w\-./?%&=]*)?$/,
5
- isHexColor: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,
6
- isIPv4: /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
7
- isMACAddress: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,
8
- isDate: /^\d{4}-\d{2}-\d{2}$/,
9
- }
10
- export{
11
- Patterns
1
+ const Patterns={
2
+ isDigit: /^\d+$/,
3
+ isEmail: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
4
+ isURL: /^(https?:\/\/)?([\w\-]+\.)+[\w\-]+(\/[\w\-./?%&=]*)?$/,
5
+ isHexColor: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,
6
+ isIPv4: /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,
7
+ isMACAddress: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,
8
+ isDate: /^\d{4}-\d{2}-\d{2}$/,
9
+ }
10
+ export{
11
+ Patterns
12
12
  }
@@ -1,170 +1,170 @@
1
- import { Patterns } from "./patterns.js";
2
- class Str{
3
- constructor(string){
4
- this.string=string;
5
- }
6
- isDigit() {
7
- return Patterns.isDigit.test(this.string);
8
- }
9
- static isDigit(string){
10
- return new Str(string).isDigit();
11
- }
12
- isNumber() {
13
- return !isNaN(this.string);
14
- }
15
- static isNumber(string){
16
- return new Str(string).isNumber();
17
- }
18
- isUrl(){
19
- return Patterns.isURL.test(this.string);
20
- }
21
- static isUrl(string){
22
- return new Str(string).isUrl();
23
- }
24
- isHexColor(){
25
- return Patterns.isHexColor.test(this.string);
26
- }
27
- static isHexColor(string){
28
- return new Str(string).isHexColor();
29
- }
30
- isIPv4(){
31
- return Patterns.isIPv4.test(this.string);
32
- }
33
- static isIPv4(string){
34
- return new Str(string).isIPv4();
35
- }
36
- isDate(){
37
- return Patterns.isDate.test(this.string);
38
- }
39
- static isDate(string){
40
- return new Str(string).isDate();
41
- }
42
- isMACAddress(){
43
- return Patterns.isMACAddress.test(this.string);
44
- }
45
- static isMACAddress(string){
46
- return new Str(string).isMACAddress();
47
- }
48
- isPascalCase(){
49
- if (this.string.length === 0) return false;
50
- const PascalCasePattern = /^[A-Z][a-zA-Z0-9]*$/;
51
- return PascalCasePattern.test(this.string);
52
- }
53
- static isPascalCase(string){
54
- return new Str(string).isPascalCase();
55
- }
56
- isCamelCase() {
57
- if (this.string.length === 0) return false;
58
- const camelCasePattern = /^[a-z][a-zA-Z0-9]*$/;
59
- return camelCasePattern.test(this.string);
60
- }
61
- static isCamelCase(string){
62
- return new Str(string).isCamelCase();
63
- }
64
- isHyphenCase(){
65
- return this.string.split('-').length > 1;
66
- }
67
- static isHyphenCase(string){
68
- return new Str(string).isHyphenCase();
69
- }
70
- isSnakeCase(){
71
- return this.string.split('_').length > 1;
72
- }
73
- static isSnakeCase(string){
74
- return new Str(string).isSnakeCase();
75
- }
76
- isPalindrome(){
77
- const str=this.string.toLocaleLowerCase();
78
- let l=str.length,i;
79
- for(i=0;i<l/2;i++)if(str[i]!=str[l-i-1])return false;
80
- return true;
81
- }
82
- static isPalindrome(string){
83
- return new Str(string).isPalindrome();
84
- }
85
- static isAnagrams(word,words){
86
- word=word.split("").sort();
87
- words=words.split("").sort();
88
- return JSON.stringify(word)===JSON.stringify(words);
89
- }
90
- isIsogram(){
91
- return [...new Set(this.string.toLowerCase())].length===this.string.length;
92
- }
93
- static isIsogram(string){
94
- return new Str(string).isIsogram();
95
- }
96
- static camel2hyphencase(text) {
97
- return text.replace(/[A-Z]/g, match => '-' + match.toLowerCase());
98
- }
99
- static camel2snakecase(text) {
100
- return text.replace(/[A-Z]/g, match => '_' + match.toLowerCase());
101
- }
102
- static camel2pascalcase(text) {
103
- return text.charAt(0).toUpperCase() + text.slice(1);
104
- }
105
- static camel2constantcase(text) {
106
- return text.replace(/[A-Z]/g, match => '_' + match).toUpperCase();
107
- }
108
- static pascal2snakecase(text) {
109
- return text.replace(/([A-Z])/g, (match, offset) => offset ? '_' + match.toLowerCase() : match.toLowerCase());
110
- }
111
- static pascal2hyphencase(text) {
112
- return text.replace(/([A-Z])/g, (match, offset) => offset ? '-' + match.toLowerCase() : match.toLowerCase());
113
- }
114
- static pascal2camelcase(text) {
115
- return text.charAt(0).toLowerCase() + text.slice(1);
116
- }
117
- static pascal2constantcase(text) {
118
- return text.replace(/([A-Z])/g, (match, offset) => offset ? '_' + match : match).toUpperCase();
119
- }
120
- static snake2camelcase(text) {
121
- return text.replace(/(_\w)/g, match => match[1].toUpperCase());
122
- }
123
- static snake2hyphencase(text) {
124
- return text.replace(/_/g, "-");
125
- }
126
- static snake2pascalcase(text) {
127
- return text.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
128
- }
129
- static snake2constantcase(text) {
130
- return text.toUpperCase();
131
- }
132
- static hyphen2camelcase(text) {
133
- return text.replace(/-([a-z])/g, match => match[1].toUpperCase());
134
- }
135
- static hyphen2snakecase(text) {
136
- return text.replace(/-/g, '_');
137
- }
138
- static hyphen2pascalcase(text) {
139
- return text.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
140
- }
141
- static hyphen2constantcase(text) {
142
- return text.replace(/-/g, '_').toUpperCase();
143
- }
144
- static constant2camelcase(text) {
145
- return text.toLowerCase().replace(/_([a-z])/g, match => match[1].toUpperCase());
146
- }
147
- static constant2snakecase(text) {
148
- return text.toLowerCase();
149
- }
150
- static constant2pascalcase(text) {
151
- return text.toLowerCase().split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
152
- }
153
- static constant2hyphencase(text) {
154
- return text.toLowerCase().replace(/_/g, '-');
155
- }
156
- }
157
- const removeExtraSpace=str=>str.replace(/\s+/g,' ');
158
- const count=(str,value)=>str.split("").filter(x => x==value).length;
159
- const countWords=(str,value)=>str.split(" ").filter(x => x==value).length;
160
-
161
- export{
162
- removeExtraSpace,
163
- count,
164
- countWords
165
- }
166
- const str=string=>new Str(string);
167
- export{
168
- Str,
169
- str
1
+ import { Patterns } from "./patterns.js";
2
+ class Str{
3
+ constructor(string){
4
+ this.string=string;
5
+ }
6
+ isDigit() {
7
+ return Patterns.isDigit.test(this.string);
8
+ }
9
+ static isDigit(string){
10
+ return new Str(string).isDigit();
11
+ }
12
+ isNumber() {
13
+ return !isNaN(this.string);
14
+ }
15
+ static isNumber(string){
16
+ return new Str(string).isNumber();
17
+ }
18
+ isUrl(){
19
+ return Patterns.isURL.test(this.string);
20
+ }
21
+ static isUrl(string){
22
+ return new Str(string).isUrl();
23
+ }
24
+ isHexColor(){
25
+ return Patterns.isHexColor.test(this.string);
26
+ }
27
+ static isHexColor(string){
28
+ return new Str(string).isHexColor();
29
+ }
30
+ isIPv4(){
31
+ return Patterns.isIPv4.test(this.string);
32
+ }
33
+ static isIPv4(string){
34
+ return new Str(string).isIPv4();
35
+ }
36
+ isDate(){
37
+ return Patterns.isDate.test(this.string);
38
+ }
39
+ static isDate(string){
40
+ return new Str(string).isDate();
41
+ }
42
+ isMACAddress(){
43
+ return Patterns.isMACAddress.test(this.string);
44
+ }
45
+ static isMACAddress(string){
46
+ return new Str(string).isMACAddress();
47
+ }
48
+ isPascalCase(){
49
+ if (this.string.length === 0) return false;
50
+ const PascalCasePattern = /^[A-Z][a-zA-Z0-9]*$/;
51
+ return PascalCasePattern.test(this.string);
52
+ }
53
+ static isPascalCase(string){
54
+ return new Str(string).isPascalCase();
55
+ }
56
+ isCamelCase() {
57
+ if (this.string.length === 0) return false;
58
+ const camelCasePattern = /^[a-z][a-zA-Z0-9]*$/;
59
+ return camelCasePattern.test(this.string);
60
+ }
61
+ static isCamelCase(string){
62
+ return new Str(string).isCamelCase();
63
+ }
64
+ isHyphenCase(){
65
+ return this.string.split('-').length > 1;
66
+ }
67
+ static isHyphenCase(string){
68
+ return new Str(string).isHyphenCase();
69
+ }
70
+ isSnakeCase(){
71
+ return this.string.split('_').length > 1;
72
+ }
73
+ static isSnakeCase(string){
74
+ return new Str(string).isSnakeCase();
75
+ }
76
+ isPalindrome(){
77
+ const str=this.string.toLocaleLowerCase();
78
+ let l=str.length,i;
79
+ for(i=0;i<l/2;i++)if(str[i]!=str[l-i-1])return false;
80
+ return true;
81
+ }
82
+ static isPalindrome(string){
83
+ return new Str(string).isPalindrome();
84
+ }
85
+ static isAnagrams(word,words){
86
+ word=word.split("").sort();
87
+ words=words.split("").sort();
88
+ return JSON.stringify(word)===JSON.stringify(words);
89
+ }
90
+ isIsogram(){
91
+ return [...new Set(this.string.toLowerCase())].length===this.string.length;
92
+ }
93
+ static isIsogram(string){
94
+ return new Str(string).isIsogram();
95
+ }
96
+ static camel2hyphencase(text) {
97
+ return text.replace(/[A-Z]/g, match => '-' + match.toLowerCase());
98
+ }
99
+ static camel2snakecase(text) {
100
+ return text.replace(/[A-Z]/g, match => '_' + match.toLowerCase());
101
+ }
102
+ static camel2pascalcase(text) {
103
+ return text.charAt(0).toUpperCase() + text.slice(1);
104
+ }
105
+ static camel2constantcase(text) {
106
+ return text.replace(/[A-Z]/g, match => '_' + match).toUpperCase();
107
+ }
108
+ static pascal2snakecase(text) {
109
+ return text.replace(/([A-Z])/g, (match, offset) => offset ? '_' + match.toLowerCase() : match.toLowerCase());
110
+ }
111
+ static pascal2hyphencase(text) {
112
+ return text.replace(/([A-Z])/g, (match, offset) => offset ? '-' + match.toLowerCase() : match.toLowerCase());
113
+ }
114
+ static pascal2camelcase(text) {
115
+ return text.charAt(0).toLowerCase() + text.slice(1);
116
+ }
117
+ static pascal2constantcase(text) {
118
+ return text.replace(/([A-Z])/g, (match, offset) => offset ? '_' + match : match).toUpperCase();
119
+ }
120
+ static snake2camelcase(text) {
121
+ return text.replace(/(_\w)/g, match => match[1].toUpperCase());
122
+ }
123
+ static snake2hyphencase(text) {
124
+ return text.replace(/_/g, "-");
125
+ }
126
+ static snake2pascalcase(text) {
127
+ return text.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
128
+ }
129
+ static snake2constantcase(text) {
130
+ return text.toUpperCase();
131
+ }
132
+ static hyphen2camelcase(text) {
133
+ return text.replace(/-([a-z])/g, match => match[1].toUpperCase());
134
+ }
135
+ static hyphen2snakecase(text) {
136
+ return text.replace(/-/g, '_');
137
+ }
138
+ static hyphen2pascalcase(text) {
139
+ return text.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
140
+ }
141
+ static hyphen2constantcase(text) {
142
+ return text.replace(/-/g, '_').toUpperCase();
143
+ }
144
+ static constant2camelcase(text) {
145
+ return text.toLowerCase().replace(/_([a-z])/g, match => match[1].toUpperCase());
146
+ }
147
+ static constant2snakecase(text) {
148
+ return text.toLowerCase();
149
+ }
150
+ static constant2pascalcase(text) {
151
+ return text.toLowerCase().split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
152
+ }
153
+ static constant2hyphencase(text) {
154
+ return text.toLowerCase().replace(/_/g, '-');
155
+ }
156
+ }
157
+ const removeExtraSpace=str=>str.replace(/\s+/g,' ');
158
+ const count=(str,value)=>str.split("").filter(x => x==value).length;
159
+ const countWords=(str,value)=>str.split(" ").filter(x => x==value).length;
160
+
161
+ export{
162
+ removeExtraSpace,
163
+ count,
164
+ countWords
165
+ }
166
+ const str=string=>new Str(string);
167
+ export{
168
+ Str,
169
+ str
170
170
  }