tool-shack 0.0.5 → 0.0.9

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 (155) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/index.d.ts +1 -0
  3. package/dist/browser/index.js +1 -0
  4. package/dist/browser/index.js.map +1 -1
  5. package/dist/browser/interfaces/isTouchSupported.d.ts +3 -0
  6. package/dist/browser/interfaces/isTouchSupported.js +2 -0
  7. package/dist/browser/interfaces/isTouchSupported.js.map +1 -0
  8. package/dist/browser/isTabFocused.d.ts +5 -0
  9. package/dist/browser/isTabFocused.js +5 -0
  10. package/dist/browser/isTabFocused.js.map +1 -1
  11. package/dist/browser/isTouchSupported.d.ts +6 -0
  12. package/dist/browser/isTouchSupported.js +7 -0
  13. package/dist/browser/isTouchSupported.js.map +1 -0
  14. package/dist/browser/preferColorScheme.d.ts +15 -0
  15. package/dist/browser/preferColorScheme.js +15 -0
  16. package/dist/browser/preferColorScheme.js.map +1 -1
  17. package/dist/browser/tabFocusListener.d.ts +8 -1
  18. package/dist/browser/tabFocusListener.js +9 -2
  19. package/dist/browser/tabFocusListener.js.map +1 -1
  20. package/dist/dateTime/dateAsIso.d.ts +6 -0
  21. package/dist/dateTime/dateAsIso.js +6 -0
  22. package/dist/dateTime/dateAsIso.js.map +1 -1
  23. package/dist/dateTime/index.d.ts +1 -0
  24. package/dist/dateTime/index.js +1 -0
  25. package/dist/dateTime/index.js.map +1 -1
  26. package/dist/dateTime/interfaces/index.d.ts +1 -0
  27. package/dist/dateTime/interfaces/index.js +2 -0
  28. package/dist/dateTime/interfaces/index.js.map +1 -0
  29. package/dist/dateTime/interfaces/parseDuration.d.ts +5 -5
  30. package/dist/dateTime/parseDuration.d.ts +6 -0
  31. package/dist/dateTime/parseDuration.js +11 -5
  32. package/dist/dateTime/parseDuration.js.map +1 -1
  33. package/dist/dom/addAsyncEventListener.d.ts +8 -0
  34. package/dist/dom/addAsyncEventListener.js +8 -0
  35. package/dist/dom/addAsyncEventListener.js.map +1 -1
  36. package/dist/dom/addClickOutsideListener.d.ts +8 -0
  37. package/dist/dom/addClickOutsideListener.js +16 -0
  38. package/dist/dom/addClickOutsideListener.js.map +1 -0
  39. package/dist/dom/addEventListener.d.ts +7 -0
  40. package/dist/dom/addEventListener.js +7 -0
  41. package/dist/dom/addEventListener.js.map +1 -1
  42. package/dist/dom/appendAfter.d.ts +7 -0
  43. package/dist/dom/appendAfter.js +7 -0
  44. package/dist/dom/appendAfter.js.map +1 -1
  45. package/dist/dom/appendBefore.d.ts +7 -0
  46. package/dist/dom/appendBefore.js +7 -0
  47. package/dist/dom/appendBefore.js.map +1 -1
  48. package/dist/dom/createElement.d.ts +8 -1
  49. package/dist/dom/createElement.js +15 -1
  50. package/dist/dom/createElement.js.map +1 -1
  51. package/dist/dom/fireEvent.d.ts +7 -0
  52. package/dist/dom/fireEvent.js +7 -0
  53. package/dist/dom/fireEvent.js.map +1 -1
  54. package/dist/dom/index.d.ts +2 -0
  55. package/dist/dom/index.js +2 -0
  56. package/dist/dom/index.js.map +1 -1
  57. package/dist/dom/interfaces/createElement.d.ts +1 -0
  58. package/dist/dom/interfaces/index.d.ts +1 -0
  59. package/dist/dom/interfaces/index.js +2 -0
  60. package/dist/dom/interfaces/index.js.map +1 -0
  61. package/dist/general/index.d.ts +3 -0
  62. package/dist/general/index.js +4 -0
  63. package/dist/general/index.js.map +1 -0
  64. package/dist/general/isEmpty.d.ts +7 -0
  65. package/dist/general/isEmpty.js +18 -0
  66. package/dist/general/isEmpty.js.map +1 -0
  67. package/dist/general/isNil.d.ts +7 -0
  68. package/dist/general/isNil.js +8 -0
  69. package/dist/general/isNil.js.map +1 -0
  70. package/dist/general/isValidJson.d.ts +7 -0
  71. package/dist/general/isValidJson.js +16 -0
  72. package/dist/general/isValidJson.js.map +1 -0
  73. package/dist/index.d.ts +1 -0
  74. package/dist/index.js +1 -0
  75. package/dist/index.js.map +1 -1
  76. package/dist/schedule/index.d.ts +1 -0
  77. package/dist/schedule/index.js +1 -0
  78. package/dist/schedule/index.js.map +1 -1
  79. package/dist/schedule/runAnimation.d.ts +11 -0
  80. package/dist/schedule/runAnimation.js +40 -0
  81. package/dist/schedule/runAnimation.js.map +1 -0
  82. package/dist/schedule/runAsync.d.ts +6 -0
  83. package/dist/schedule/runAsync.js +6 -0
  84. package/dist/schedule/runAsync.js.map +1 -1
  85. package/dist/string/escapeHTML.d.ts +6 -0
  86. package/dist/string/escapeHTML.js +6 -0
  87. package/dist/string/escapeHTML.js.map +1 -1
  88. package/dist/string/index.d.ts +3 -0
  89. package/dist/string/index.js +3 -0
  90. package/dist/string/index.js.map +1 -1
  91. package/dist/string/removeDiacritics.d.ts +7 -0
  92. package/dist/string/removeDiacritics.js +11 -0
  93. package/dist/string/removeDiacritics.js.map +1 -0
  94. package/dist/string/slugify.d.ts +8 -0
  95. package/dist/string/slugify.js +16 -0
  96. package/dist/string/slugify.js.map +1 -0
  97. package/dist/string/truncate.d.ts +9 -0
  98. package/dist/string/truncate.js +17 -0
  99. package/dist/string/truncate.js.map +1 -0
  100. package/docs/.nojekyll +1 -0
  101. package/docs/assets/highlight.css +22 -0
  102. package/docs/assets/icons.css +1043 -0
  103. package/docs/assets/icons.png +0 -0
  104. package/docs/assets/icons@2x.png +0 -0
  105. package/docs/assets/main.js +52 -0
  106. package/docs/assets/search.js +1 -0
  107. package/docs/assets/style.css +1388 -0
  108. package/docs/assets/widgets.png +0 -0
  109. package/docs/assets/widgets@2x.png +0 -0
  110. package/docs/index.html +5 -0
  111. package/docs/interfaces/dateTime.IDuration.html +1 -0
  112. package/docs/interfaces/dom.IExtendingElementProps.html +1 -0
  113. package/docs/modules/browser.html +23 -0
  114. package/docs/modules/dateTime.html +11 -0
  115. package/docs/modules/dom.html +52 -0
  116. package/docs/modules/general.html +16 -0
  117. package/docs/modules/schedule.html +13 -0
  118. package/docs/modules/string.html +27 -0
  119. package/docs/modules.html +1 -0
  120. package/package.json +18 -11
  121. package/src/browser/index.ts +1 -0
  122. package/src/browser/interfaces/isTouchSupported.ts +3 -0
  123. package/src/browser/isTabFocused.ts +5 -0
  124. package/src/browser/isTouchSupported.ts +12 -0
  125. package/src/browser/preferColorScheme.ts +15 -0
  126. package/src/browser/tabFocusListener.ts +10 -3
  127. package/src/dateTime/dateAsIso.ts +6 -0
  128. package/src/dateTime/index.ts +2 -0
  129. package/src/dateTime/interfaces/index.ts +1 -0
  130. package/src/dateTime/interfaces/parseDuration.ts +5 -5
  131. package/src/dateTime/parseDuration.ts +11 -5
  132. package/src/dom/addAsyncEventListener.ts +8 -0
  133. package/src/dom/addClickOutsideListener.ts +16 -0
  134. package/src/dom/addEventListener.ts +7 -0
  135. package/src/dom/appendAfter.ts +7 -0
  136. package/src/dom/appendBefore.ts +7 -0
  137. package/src/dom/createElement.ts +21 -3
  138. package/src/dom/fireEvent.ts +7 -0
  139. package/src/dom/index.ts +3 -0
  140. package/src/dom/interfaces/createElement.ts +29 -4
  141. package/src/dom/interfaces/index.ts +1 -0
  142. package/src/general/index.ts +3 -0
  143. package/src/general/isEmpty.ts +21 -0
  144. package/src/general/isNil.ts +7 -0
  145. package/src/general/isValidJson.ts +15 -0
  146. package/src/index.ts +3 -2
  147. package/src/schedule/index.ts +1 -0
  148. package/src/schedule/runAnimation.ts +51 -0
  149. package/src/schedule/runAsync.ts +6 -0
  150. package/src/string/escapeHTML.ts +6 -0
  151. package/src/string/index.ts +3 -0
  152. package/src/string/removeDiacritics.ts +11 -0
  153. package/src/string/slugify.ts +17 -0
  154. package/src/string/truncate.ts +21 -0
  155. package/tsconfig.json +2 -7
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Check if string is valid JSON
3
+ *
4
+ * @param value String value to be checked
5
+ * @returns Boolean indicating if string value is a valid JSON
6
+ */
7
+ export declare const isValidJson: (value: string) => boolean;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Check if string is valid JSON
3
+ *
4
+ * @param value String value to be checked
5
+ * @returns Boolean indicating if string value is a valid JSON
6
+ */
7
+ export const isValidJson = (value) => {
8
+ try {
9
+ JSON.parse(value);
10
+ }
11
+ catch (error) {
12
+ return false;
13
+ }
14
+ return true;
15
+ };
16
+ //# sourceMappingURL=isValidJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidJson.js","sourceRoot":"","sources":["../../src/general/isValidJson.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAW,EAAE;IACpD,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACnB;IAAC,OAAO,KAAU,EAAE;QACnB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './browser';
2
2
  export * from './dateTime';
3
3
  export * from './dom';
4
+ export * from './general';
4
5
  export * from './schedule';
5
6
  export * from './string';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './browser';
2
2
  export * from './dateTime';
3
3
  export * from './dom';
4
+ export * from './general';
4
5
  export * from './schedule';
5
6
  export * from './string';
6
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -1 +1,2 @@
1
+ export * from './runAnimation';
1
2
  export * from './runAsync';
@@ -1,2 +1,3 @@
1
+ export * from './runAnimation';
1
2
  export * from './runAsync';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schedule/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schedule/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Run function as animation using requestAnimationFrame
3
+ *
4
+ * @param fn Function to be run as animation
5
+ * @param autoStart If animation should start right away or just return callbacks
6
+ * @returns Callbacks to start animation (startAnimation) and stop animation (stopAnimation)
7
+ */
8
+ export declare const runAnimation: (fn: () => any, autoStart?: boolean) => {
9
+ startAnimation: () => void;
10
+ stopAnimation: () => void;
11
+ };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Run function as animation using requestAnimationFrame
3
+ *
4
+ * @param fn Function to be run as animation
5
+ * @param autoStart If animation should start right away or just return callbacks
6
+ * @returns Callbacks to start animation (startAnimation) and stop animation (stopAnimation)
7
+ */
8
+ export const runAnimation = (fn, autoStart = true) => {
9
+ let isRunning = false;
10
+ let requestedAnimationFrame = null;
11
+ const runAnimation = () => {
12
+ requestedAnimationFrame = requestAnimationFrame(() => {
13
+ fn.call(this);
14
+ if (isRunning) {
15
+ runAnimation();
16
+ }
17
+ });
18
+ };
19
+ const startAnimation = () => {
20
+ if (isRunning) {
21
+ return;
22
+ }
23
+ isRunning = true;
24
+ runAnimation();
25
+ };
26
+ const stopAnimation = () => {
27
+ if (!isRunning) {
28
+ return;
29
+ }
30
+ isRunning = false;
31
+ if (!!requestedAnimationFrame) {
32
+ cancelAnimationFrame(requestedAnimationFrame);
33
+ }
34
+ };
35
+ if (autoStart) {
36
+ startAnimation();
37
+ }
38
+ return { startAnimation, stopAnimation };
39
+ };
40
+ //# sourceMappingURL=runAnimation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runAnimation.js","sourceRoot":"","sources":["../../src/schedule/runAnimation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,EAAa,EACb,SAAS,GAAG,IAAI,EAC2C,EAAE;IAC7D,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,uBAAuB,GAAkB,IAAI,CAAC;IAElD,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,uBAAuB,GAAG,qBAAqB,CAAC,GAAS,EAAE;YACzD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,IAAI,SAAS,EAAE;gBACb,YAAY,EAAE,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,SAAS,EAAE;YACb,OAAO;SACR;QAED,SAAS,GAAG,IAAI,CAAC;QACjB,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,SAAS,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,CAAC,uBAAuB,EAAE;YAC7B,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC;IAEF,IAAI,SAAS,EAAE;QACb,cAAc,EAAE,CAAC;KAClB;IAED,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AAC3C,CAAC,CAAC"}
@@ -1 +1,7 @@
1
+ /**
2
+ * Run function in asynchronously in Worker
3
+ *
4
+ * @param fn Function to be run asynchronously
5
+ * @returns Promise of expected result
6
+ */
1
7
  export declare const runAsync: <T>(fn: () => any) => Promise<T>;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Run function in asynchronously in Worker
3
+ *
4
+ * @param fn Function to be run asynchronously
5
+ * @returns Promise of expected result
6
+ */
1
7
  export const runAsync = (fn) => {
2
8
  const worker = new Worker(URL.createObjectURL(new Blob([`postMessage((${fn})());`])));
3
9
  return new Promise((res, rej) => {
@@ -1 +1 @@
1
- {"version":3,"file":"runAsync.js","sourceRoot":"","sources":["../../src/schedule/runAsync.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAK,EAAa,EAAc,EAAE;IACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAC3D,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,CAAC;YACV,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE;YACrB,GAAG,CAAC,GAAG,CAAC,CAAC;YACT,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"runAsync.js","sourceRoot":"","sources":["../../src/schedule/runAsync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAK,EAAa,EAAc,EAAE;IACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAC3D,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,CAAC;YACV,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,EAAE;YACrB,GAAG,CAAC,GAAG,CAAC,CAAC;YACT,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1,7 @@
1
+ /**
2
+ * Escape special HTML related characters from string
3
+ *
4
+ * @param html String containing HTML related characters
5
+ * @returns Safe string with escaped HTML related characters
6
+ */
1
7
  export declare const escapeHTML: (html: string) => string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Escape special HTML related characters from string
3
+ *
4
+ * @param html String containing HTML related characters
5
+ * @returns Safe string with escaped HTML related characters
6
+ */
1
7
  export const escapeHTML = (html) => {
2
8
  const tempDiv = document.createElement('div');
3
9
  tempDiv.innerText = html;
@@ -1 +1 @@
1
- {"version":3,"file":"escapeHTML.js","sourceRoot":"","sources":["../../src/string/escapeHTML.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC,CAAA"}
1
+ {"version":3,"file":"escapeHTML.js","sourceRoot":"","sources":["../../src/string/escapeHTML.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAEzB,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC,CAAA"}
@@ -1 +1,4 @@
1
1
  export * from './escapeHTML';
2
+ export * from './removeDiacritics';
3
+ export * from './slugify';
4
+ export * from './truncate';
@@ -1,2 +1,5 @@
1
1
  export * from './escapeHTML';
2
+ export * from './removeDiacritics';
3
+ export * from './slugify';
4
+ export * from './truncate';
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Remove diacritics & accents from string
3
+ *
4
+ * @param value String from which should be removed diacritics & accents
5
+ * @returns ASCII string with removed diacritics & accents
6
+ */
7
+ export declare const removeDiacritics: (value: string) => string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Remove diacritics & accents from string
3
+ *
4
+ * @param value String from which should be removed diacritics & accents
5
+ * @returns ASCII string with removed diacritics & accents
6
+ */
7
+ export const removeDiacritics = (value) => value
8
+ .normalize('NFD')
9
+ .toString()
10
+ .replace(/[\u0300-\u036f]/g, '');
11
+ //# sourceMappingURL=removeDiacritics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeDiacritics.js","sourceRoot":"","sources":["../../src/string/removeDiacritics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE,CACxD,KAAK;KACF,SAAS,CAAC,KAAK,CAAC;KAChB,QAAQ,EAAE;KACV,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Create slug from given string
3
+ *
4
+ * @param value String to be slugified
5
+ * @param separator One character to be used as separator (if provided longer than one character, will be automatically shortened), dash ('-') by default
6
+ * @returns Slugified string
7
+ */
8
+ export declare const slugify: (value: string, separator?: string) => string;
@@ -0,0 +1,16 @@
1
+ import { removeDiacritics } from './removeDiacritics';
2
+ /**
3
+ * Create slug from given string
4
+ *
5
+ * @param value String to be slugified
6
+ * @param separator One character to be used as separator (if provided longer than one character, will be automatically shortened), dash ('-') by default
7
+ * @returns Slugified string
8
+ */
9
+ export const slugify = (value, separator = '-') => {
10
+ separator = separator.trim().substring(0, 1) || '-';
11
+ const removeCharsRegex = new RegExp(`[^\\\w\\\s${separator}]`, 'g');
12
+ return removeDiacritics(value.trim().toLowerCase())
13
+ .replace(removeCharsRegex, '')
14
+ .replace(/\s+/g, separator);
15
+ };
16
+ //# sourceMappingURL=slugify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugify.js","sourceRoot":"","sources":["../../src/string/slugify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,YAAoB,GAAG,EAAU,EAAE;IACxE,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,aAAa,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;IAEpE,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChD,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Truncate string to maximum given length if needed and append string at the end (by default "...")
3
+ *
4
+ * @param value String value to be truncated
5
+ * @param maxLength Maximum allowed length
6
+ * @param appendedString String to append at the end, be default "..."
7
+ * @returns Truncated value if needed otherwise original value
8
+ */
9
+ export declare const truncate: (value: string, maxLength: number, appendedString?: string) => string;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Truncate string to maximum given length if needed and append string at the end (by default "...")
3
+ *
4
+ * @param value String value to be truncated
5
+ * @param maxLength Maximum allowed length
6
+ * @param appendedString String to append at the end, be default "..."
7
+ * @returns Truncated value if needed otherwise original value
8
+ */
9
+ export const truncate = (value, maxLength, appendedString = '...') => {
10
+ if (maxLength < appendedString.length) {
11
+ return appendedString.slice(0, maxLength);
12
+ }
13
+ return value.length > maxLength
14
+ ? value.slice(0, maxLength - appendedString.length) + appendedString
15
+ : value;
16
+ };
17
+ //# sourceMappingURL=truncate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/string/truncate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,KAAa,EACb,SAAiB,EACjB,iBAAyB,KAAK,EACtB,EAAE;IACV,IAAI,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE;QACrC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,SAAS;QAC7B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,cAAc;QACpE,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC"}
package/docs/.nojekyll ADDED
@@ -0,0 +1 @@
1
+ TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
@@ -0,0 +1,22 @@
1
+ :root {
2
+ --light-code-background: #FFFFFF;
3
+ --dark-code-background: #1E1E1E;
4
+ }
5
+
6
+ @media (prefers-color-scheme: light) { :root {
7
+ --code-background: var(--light-code-background);
8
+ } }
9
+
10
+ @media (prefers-color-scheme: dark) { :root {
11
+ --code-background: var(--dark-code-background);
12
+ } }
13
+
14
+ body.light {
15
+ --code-background: var(--light-code-background);
16
+ }
17
+
18
+ body.dark {
19
+ --code-background: var(--dark-code-background);
20
+ }
21
+
22
+ pre, code { background: var(--code-background); }