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.
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.js +2 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/isTabFocused.d.ts +1 -0
- package/dist/browser/isTabFocused.js +2 -0
- package/dist/browser/isTabFocused.js.map +1 -0
- package/dist/browser/tabFocusListener.d.ts +1 -0
- package/dist/browser/tabFocusListener.js +12 -0
- package/dist/browser/tabFocusListener.js.map +1 -0
- package/dist/dateTime/dateAsIso.d.ts +1 -0
- package/dist/dateTime/dateAsIso.js +10 -0
- package/dist/dateTime/dateAsIso.js.map +1 -0
- package/dist/dateTime/index.d.ts +2 -0
- package/dist/dateTime/index.js +3 -0
- package/dist/dateTime/index.js.map +1 -0
- package/dist/dateTime/interfaces/parseDuration.d.ts +7 -0
- package/dist/dateTime/interfaces/parseDuration.js +2 -0
- package/dist/dateTime/interfaces/parseDuration.js.map +1 -0
- package/dist/dateTime/parseDuration.d.ts +2 -0
- package/dist/dateTime/parseDuration.js +11 -0
- package/dist/dateTime/parseDuration.js.map +1 -0
- package/dist/dom/appendAfter.d.ts +1 -0
- package/dist/dom/appendAfter.js +2 -0
- package/dist/dom/appendAfter.js.map +1 -0
- package/dist/dom/appendBefore.d.ts +1 -0
- package/dist/dom/appendBefore.js +2 -0
- package/dist/dom/appendBefore.js.map +1 -0
- package/dist/dom/fireEvent.d.ts +1 -0
- package/dist/dom/fireEvent.js +2 -0
- package/dist/dom/fireEvent.js.map +1 -0
- package/dist/dom/index.d.ts +3 -0
- package/dist/dom/index.js +3 -0
- package/dist/dom/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/string/escapeHTML.d.ts +1 -0
- package/dist/string/escapeHTML.js +6 -0
- package/dist/string/escapeHTML.js.map +1 -0
- package/dist/string/index.d.ts +1 -0
- package/dist/string/index.js +2 -0
- package/dist/string/index.js.map +1 -0
- package/package.json +1 -1
- package/src/browser/index.ts +2 -0
- package/src/browser/isTabFocused.ts +1 -0
- package/src/browser/tabFocusListener.ts +11 -0
- package/src/dateTime/dateAsIso.ts +12 -0
- package/src/dateTime/index.ts +2 -0
- package/src/dateTime/interfaces/parseDuration.ts +7 -0
- package/src/dateTime/parseDuration.ts +13 -0
- package/src/dom/appendAfter.ts +2 -0
- package/src/dom/appendBefore.ts +2 -0
- package/src/dom/fireEvent.ts +1 -0
- package/src/dom/index.ts +3 -0
- package/src/index.ts +2 -0
- package/src/string/escapeHTML.ts +6 -0
- package/src/string/index.ts +1 -0
package/dist/browser/index.d.ts
CHANGED
package/dist/browser/index.js
CHANGED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"parseDuration.js","sourceRoot":"","sources":["../../../src/dateTime/interfaces/parseDuration.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/dom/index.d.ts
CHANGED
package/dist/dom/index.js
CHANGED
package/dist/dom/index.js.map
CHANGED
|
@@ -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
package/dist/index.js
CHANGED
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
package/package.json
CHANGED
package/src/browser/index.ts
CHANGED
|
@@ -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,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 @@
|
|
|
1
|
+
export const fireEvent = (element: HTMLElement, eventType: string): boolean => element.dispatchEvent(new Event(eventType));
|
package/src/dom/index.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './escapeHTML';
|