ziko 0.0.18 → 0.0.20

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