tool-shack 0.0.4 → 0.0.5

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 (57) hide show
  1. package/dist/browser/index.d.ts +2 -0
  2. package/dist/browser/index.js +2 -0
  3. package/dist/browser/index.js.map +1 -1
  4. package/dist/browser/isTabFocused.d.ts +1 -0
  5. package/dist/browser/isTabFocused.js +2 -0
  6. package/dist/browser/isTabFocused.js.map +1 -0
  7. package/dist/browser/tabFocusListener.d.ts +1 -0
  8. package/dist/browser/tabFocusListener.js +12 -0
  9. package/dist/browser/tabFocusListener.js.map +1 -0
  10. package/dist/dateTime/dateAsIso.d.ts +1 -0
  11. package/dist/dateTime/dateAsIso.js +10 -0
  12. package/dist/dateTime/dateAsIso.js.map +1 -0
  13. package/dist/dateTime/index.d.ts +2 -0
  14. package/dist/dateTime/index.js +3 -0
  15. package/dist/dateTime/index.js.map +1 -0
  16. package/dist/dateTime/interfaces/parseDuration.d.ts +7 -0
  17. package/dist/dateTime/interfaces/parseDuration.js +2 -0
  18. package/dist/dateTime/interfaces/parseDuration.js.map +1 -0
  19. package/dist/dateTime/parseDuration.d.ts +2 -0
  20. package/dist/dateTime/parseDuration.js +11 -0
  21. package/dist/dateTime/parseDuration.js.map +1 -0
  22. package/dist/dom/appendAfter.d.ts +1 -0
  23. package/dist/dom/appendAfter.js +2 -0
  24. package/dist/dom/appendAfter.js.map +1 -0
  25. package/dist/dom/appendBefore.d.ts +1 -0
  26. package/dist/dom/appendBefore.js +2 -0
  27. package/dist/dom/appendBefore.js.map +1 -0
  28. package/dist/dom/fireEvent.d.ts +1 -0
  29. package/dist/dom/fireEvent.js +2 -0
  30. package/dist/dom/fireEvent.js.map +1 -0
  31. package/dist/dom/index.d.ts +3 -0
  32. package/dist/dom/index.js +3 -0
  33. package/dist/dom/index.js.map +1 -1
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.js +2 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/string/escapeHTML.d.ts +1 -0
  38. package/dist/string/escapeHTML.js +6 -0
  39. package/dist/string/escapeHTML.js.map +1 -0
  40. package/dist/string/index.d.ts +1 -0
  41. package/dist/string/index.js +2 -0
  42. package/dist/string/index.js.map +1 -0
  43. package/package.json +1 -1
  44. package/src/browser/index.ts +2 -0
  45. package/src/browser/isTabFocused.ts +1 -0
  46. package/src/browser/tabFocusListener.ts +11 -0
  47. package/src/dateTime/dateAsIso.ts +12 -0
  48. package/src/dateTime/index.ts +2 -0
  49. package/src/dateTime/interfaces/parseDuration.ts +7 -0
  50. package/src/dateTime/parseDuration.ts +13 -0
  51. package/src/dom/appendAfter.ts +2 -0
  52. package/src/dom/appendBefore.ts +2 -0
  53. package/src/dom/fireEvent.ts +1 -0
  54. package/src/dom/index.ts +3 -0
  55. package/src/index.ts +2 -0
  56. package/src/string/escapeHTML.ts +6 -0
  57. package/src/string/index.ts +1 -0
@@ -1 +1,3 @@
1
+ export * from './isTabFocused';
1
2
  export * from './preferColorScheme';
3
+ export * from './tabFocusListener';
@@ -1,2 +1,4 @@
1
+ export * from './isTabFocused';
1
2
  export * from './preferColorScheme';
3
+ export * from './tabFocusListener';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const isTabFocused: () => boolean;
@@ -0,0 +1,2 @@
1
+ export const isTabFocused = () => !document.hidden;
2
+ //# sourceMappingURL=isTabFocused.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTabFocused.js","sourceRoot":"","sources":["../../src/browser/isTabFocused.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,GAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const tabFocusListener: (focusCallback: () => void, blurCallback: () => void) => void;
@@ -0,0 +1,12 @@
1
+ import { isTabFocused } from './isTabFocused';
2
+ export const tabFocusListener = (focusCallback, blurCallback) => {
3
+ document.addEventListener('visibilitychange', () => {
4
+ if (isTabFocused()) {
5
+ focusCallback.call(this);
6
+ }
7
+ else {
8
+ blurCallback.call(this);
9
+ }
10
+ });
11
+ };
12
+ //# sourceMappingURL=tabFocusListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabFocusListener.js","sourceRoot":"","sources":["../../src/browser/tabFocusListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAyB,EAAE,YAAwB,EAAQ,EAAE;IAC5F,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACjD,IAAI,YAAY,EAAE,EAAE;YAClB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const dateAsIso: (date: Date) => string;
@@ -0,0 +1,10 @@
1
+ export const dateAsIso = (date) => {
2
+ const timezoneOffset = date.getTimezoneOffset();
3
+ let isoFormat = '';
4
+ isoFormat += `${date.getFullYear()}-${padNumber(date.getMonth() + 1)}-${padNumber(date.getDate())}`;
5
+ isoFormat += `T${padNumber(date.getHours())}:${padNumber(date.getMinutes())}:${padNumber(date.getSeconds())}`;
6
+ isoFormat += `${timezoneOffset <= 0 ? '+' : '-'}${padNumber(Math.floor(Math.abs(timezoneOffset) / 60))}:${padNumber(Math.abs(timezoneOffset) % 60)}`;
7
+ return isoFormat;
8
+ };
9
+ const padNumber = (number) => `${number}`.padStart(2, '0');
10
+ //# sourceMappingURL=dateAsIso.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateAsIso.js","sourceRoot":"","sources":["../../src/dateTime/dateAsIso.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE;IACtC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAEhD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,SAAS,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACpG,SAAS,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IAC9G,SAAS,IAAI,GAAG,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAErJ,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './dateAsIso';
2
+ export * from './parseDuration';
@@ -0,0 +1,3 @@
1
+ export * from './dateAsIso';
2
+ export * from './parseDuration';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dateTime/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface IDuration {
2
+ day: number;
3
+ hour: number;
4
+ minute: number;
5
+ second: number;
6
+ millisecond: number;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseDuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDuration.js","sourceRoot":"","sources":["../../../src/dateTime/interfaces/parseDuration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { IDuration } from './interfaces/parseDuration';
2
+ export declare const parseDuration: (durationInMs: number) => IDuration;
@@ -0,0 +1,11 @@
1
+ export const parseDuration = (durationInMs) => {
2
+ durationInMs = Math.abs(durationInMs);
3
+ return {
4
+ day: Math.floor(durationInMs / (24 * 60 * 60 * 1000)),
5
+ hour: Math.floor(durationInMs / (60 * 60 * 1000)) % 24,
6
+ minute: Math.floor(durationInMs / (60 * 1000)) % 60,
7
+ second: Math.floor(durationInMs / 1000) % 60,
8
+ millisecond: Math.floor(durationInMs) % 1000,
9
+ };
10
+ };
11
+ //# sourceMappingURL=parseDuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDuration.js","sourceRoot":"","sources":["../../src/dateTime/parseDuration.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAa,EAAE;IAC/D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACrD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;QACtD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE;QACnD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE;QAC5C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI;KAC7C,CAAC;AACJ,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const appendAfter: (newNode: HTMLElement, referenceNode: HTMLElement) => boolean;
@@ -0,0 +1,2 @@
1
+ export const appendAfter = (newNode, referenceNode) => { var _a; return !!((_a = referenceNode.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, referenceNode.nextSibling)); };
2
+ //# sourceMappingURL=appendAfter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendAfter.js","sourceRoot":"","sources":["../../src/dom/appendAfter.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAE,aAA0B,EAAW,EAAE,WACvF,OAAA,CAAC,CAAC,CAAA,MAAA,aAAa,CAAC,aAAa,0CAAE,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA,CAAA,EAAA,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const appendBefore: (newNode: HTMLElement, referenceNode: HTMLElement) => boolean;
@@ -0,0 +1,2 @@
1
+ export const appendBefore = (newNode, referenceNode) => { var _a; return !!((_a = referenceNode.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(newNode, referenceNode)); };
2
+ //# sourceMappingURL=appendBefore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendBefore.js","sourceRoot":"","sources":["../../src/dom/appendBefore.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAoB,EAAE,aAA0B,EAAW,EAAE,WACxF,OAAA,CAAC,CAAC,CAAA,MAAA,aAAa,CAAC,aAAa,0CAAE,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA,CAAA,EAAA,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const fireEvent: (element: HTMLElement, eventType: string) => boolean;
@@ -0,0 +1,2 @@
1
+ export const fireEvent = (element, eventType) => element.dispatchEvent(new Event(eventType));
2
+ //# sourceMappingURL=fireEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fireEvent.js","sourceRoot":"","sources":["../../src/dom/fireEvent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAoB,EAAE,SAAiB,EAAW,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC"}
@@ -1,3 +1,6 @@
1
1
  export * from './addAsyncEventListener';
2
2
  export * from './addEventListener';
3
+ export * from './appendAfter';
4
+ export * from './appendBefore';
3
5
  export * from './createElement';
6
+ export * from './fireEvent';
package/dist/dom/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  export * from './addAsyncEventListener';
2
2
  export * from './addEventListener';
3
+ export * from './appendAfter';
4
+ export * from './appendBefore';
3
5
  export * from './createElement';
6
+ export * from './fireEvent';
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './browser';
2
+ export * from './dateTime';
2
3
  export * from './dom';
3
4
  export * from './schedule';
5
+ export * from './string';
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from './browser';
2
+ export * from './dateTime';
2
3
  export * from './dom';
3
4
  export * from './schedule';
5
+ export * from './string';
4
6
  //# 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,OAAO,CAAC;AACtB,cAAc,YAAY,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,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const escapeHTML: (html: string) => string;
@@ -0,0 +1,6 @@
1
+ export const escapeHTML = (html) => {
2
+ const tempDiv = document.createElement('div');
3
+ tempDiv.innerText = html;
4
+ return tempDiv.innerHTML;
5
+ };
6
+ //# sourceMappingURL=escapeHTML.js.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ export * from './escapeHTML';
@@ -0,0 +1,2 @@
1
+ export * from './escapeHTML';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tool-shack",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Collection of usefull functions to ease work",
5
5
  "main": "src",
6
6
  "author": "David Myška",
@@ -1 +1,3 @@
1
+ export * from './isTabFocused';
1
2
  export * from './preferColorScheme';
3
+ export * from './tabFocusListener';
@@ -0,0 +1 @@
1
+ export const isTabFocused = (): boolean => !document.hidden;
@@ -0,0 +1,11 @@
1
+ import { isTabFocused } from './isTabFocused';
2
+
3
+ export const tabFocusListener = (focusCallback: () => void, blurCallback: () => void): void => {
4
+ document.addEventListener('visibilitychange', () => {
5
+ if (isTabFocused()) {
6
+ focusCallback.call(this);
7
+ } else {
8
+ blurCallback.call(this);
9
+ }
10
+ });
11
+ }
@@ -0,0 +1,12 @@
1
+ export const dateAsIso = (date: Date) => {
2
+ const timezoneOffset = date.getTimezoneOffset();
3
+
4
+ let isoFormat = '';
5
+ isoFormat += `${date.getFullYear()}-${padNumber(date.getMonth() + 1)}-${padNumber(date.getDate())}`;
6
+ isoFormat += `T${padNumber(date.getHours())}:${padNumber(date.getMinutes())}:${padNumber(date.getSeconds())}`;
7
+ isoFormat += `${timezoneOffset <= 0 ? '+' : '-'}${padNumber(Math.floor(Math.abs(timezoneOffset) / 60))}:${padNumber(Math.abs(timezoneOffset) % 60)}`;
8
+
9
+ return isoFormat;
10
+ };
11
+
12
+ const padNumber = (number: number): string => `${number}`.padStart(2, '0');
@@ -0,0 +1,2 @@
1
+ export * from './dateAsIso';
2
+ export * from './parseDuration';
@@ -0,0 +1,7 @@
1
+ export interface IDuration {
2
+ day: number;
3
+ hour: number;
4
+ minute: number;
5
+ second: number;
6
+ millisecond: number;
7
+ }
@@ -0,0 +1,13 @@
1
+ import { IDuration } from './interfaces/parseDuration';
2
+
3
+ export const parseDuration = (durationInMs: number): IDuration => {
4
+ durationInMs = Math.abs(durationInMs);
5
+
6
+ return {
7
+ day: Math.floor(durationInMs / (24 * 60 * 60 * 1000)),
8
+ hour: Math.floor(durationInMs / (60 * 60 * 1000)) % 24,
9
+ minute: Math.floor(durationInMs / (60 * 1000)) % 60,
10
+ second: Math.floor(durationInMs / 1000) % 60,
11
+ millisecond: Math.floor(durationInMs) % 1000,
12
+ };
13
+ }
@@ -0,0 +1,2 @@
1
+ export const appendAfter = (newNode: HTMLElement, referenceNode: HTMLElement): boolean =>
2
+ !!referenceNode.parentElement?.insertBefore(newNode, referenceNode.nextSibling);
@@ -0,0 +1,2 @@
1
+ export const appendBefore = (newNode: HTMLElement, referenceNode: HTMLElement): boolean =>
2
+ !!referenceNode.parentElement?.insertBefore(newNode, referenceNode);
@@ -0,0 +1 @@
1
+ export const fireEvent = (element: HTMLElement, eventType: string): boolean => element.dispatchEvent(new Event(eventType));
package/src/dom/index.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  export * from './addAsyncEventListener';
2
2
  export * from './addEventListener';
3
+ export * from './appendAfter';
4
+ export * from './appendBefore';
3
5
  export * from './createElement';
6
+ export * from './fireEvent';
package/src/index.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './browser';
2
+ export * from './dateTime';
2
3
  export * from './dom';
3
4
  export * from './schedule'
5
+ export * from './string'
@@ -0,0 +1,6 @@
1
+ export const escapeHTML = (html: string): string => {
2
+ const tempDiv = document.createElement('div');
3
+ tempDiv.innerText = html;
4
+
5
+ return tempDiv.innerHTML;
6
+ }
@@ -0,0 +1 @@
1
+ export * from './escapeHTML';