@vpmedia/simplify 1.14.0 → 1.16.0
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/README.md +1 -1
- package/eslint.config.js +0 -1
- package/package.json +3 -3
- package/src/pagelifecycle/util.js +11 -20
- package/src/util/fetchRetry.js +13 -5
- package/types/const/http_status.d.ts.map +1 -1
- package/types/logging/Logger.d.ts.map +1 -1
- package/types/pagelifecycle/const.d.ts.map +1 -1
- package/types/pagelifecycle/event.d.ts.map +1 -1
- package/types/pagelifecycle/typedef.d.ts.map +1 -1
- package/types/pagelifecycle/util.d.ts +0 -1
- package/types/pagelifecycle/util.d.ts.map +1 -1
- package/types/util/fetchRetry.d.ts +6 -4
- package/types/util/fetchRetry.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @vpmedia/simplify
|
|
2
2
|
|
|
3
|
-
[](https://badge.fury.io/js/@vpmedia%2Fsimplify)
|
|
4
4
|
[](https://github.com/vpmedia/simplify/actions/workflows/ci.yml)
|
|
5
5
|
|
|
6
6
|
@vpmedia/simplify TBD
|
package/eslint.config.js
CHANGED
|
@@ -51,7 +51,6 @@ export default [
|
|
|
51
51
|
...js.configs.recommended.rules,
|
|
52
52
|
...jsdocPlugin.configs['flat/recommended'].rules,
|
|
53
53
|
...unicornPlugin.configs['flat/recommended'].rules,
|
|
54
|
-
'unicorn/expiring-todo-comments': 'off',
|
|
55
54
|
'unicorn/filename-case': 'off',
|
|
56
55
|
'unicorn/no-null': 'off',
|
|
57
56
|
'unicorn/prevent-abbreviations': 'off',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vpmedia/simplify",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "@vpmedia/simplify",
|
|
5
5
|
"author": "Andras Csizmadia <andras@vpmedia.hu> (www.vpmedia.hu)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"@types/jest": "^29.5.14",
|
|
26
26
|
"eslint": "^9.15.0",
|
|
27
27
|
"eslint-plugin-jsdoc": "^50.5.0",
|
|
28
|
-
"eslint-plugin-unicorn": "^56.0.
|
|
28
|
+
"eslint-plugin-unicorn": "^56.0.1",
|
|
29
29
|
"globals": "^15.12.0",
|
|
30
30
|
"jest": "^29.7.0",
|
|
31
31
|
"jest-environment-jsdom": "^29.7.0",
|
|
32
32
|
"lefthook": "^1.8.4",
|
|
33
33
|
"prettier": "^3.3.3",
|
|
34
|
-
"typescript": "^5.
|
|
34
|
+
"typescript": "^5.7.2"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"test": "NODE_OPTIONS=--experimental-vm-modules jest --passWithNoTests",
|
|
@@ -109,21 +109,24 @@ export const initPageLifecycle = () => {
|
|
|
109
109
|
return;
|
|
110
110
|
}
|
|
111
111
|
logger.info('initPageLifecycle');
|
|
112
|
-
// DEV: capturing events are mandatory to propagate events to root window
|
|
113
|
-
const options = { capture: true };
|
|
114
112
|
onPageLifecycleStateChange(detectPageLifecycleState());
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
window.addEventListener('
|
|
113
|
+
onDocumentStateChange(document.readyState);
|
|
114
|
+
const options = { capture: true };
|
|
115
|
+
document.addEventListener('visibilitychange', () => onPageLifecycleStateChange(detectPageLifecycleState()), options);
|
|
116
|
+
// window.addEventListener('popstate', () => onPageLifecycleStateChange(detectPageLifecycleState()), options);
|
|
117
|
+
window.addEventListener('pageshow', () => onPageLifecycleStateChange(detectPageLifecycleState()), options);
|
|
118
|
+
window.addEventListener('focus', () => onPageLifecycleStateChange(detectPageLifecycleState()), options);
|
|
119
|
+
window.addEventListener('blur', () => onPageLifecycleStateChange(detectPageLifecycleState()), options);
|
|
120
|
+
document.addEventListener('resume', () => onPageLifecycleStateChange(detectPageLifecycleState()), options);
|
|
121
|
+
document.addEventListener('freeze', () => onPageLifecycleStateChange(PAGE_LIFECYCLE_STATE_FROZEN), options);
|
|
119
122
|
window.addEventListener(
|
|
120
123
|
'pagehide',
|
|
121
124
|
(event) =>
|
|
122
125
|
onPageLifecycleStateChange(event.persisted ? PAGE_LIFECYCLE_STATE_FROZEN : PAGE_LIFECYCLE_STATE_TERMINATED),
|
|
123
126
|
options
|
|
124
127
|
);
|
|
125
|
-
|
|
126
|
-
|
|
128
|
+
document.addEventListener('DOMContentLoaded', () => onDocumentStateChange(DOCUMENT_STATE_DOM_LOADED), options);
|
|
129
|
+
document.addEventListener('readystatechange', () => onDocumentStateChange(document.readyState), options);
|
|
127
130
|
window.addEventListener('load', () => onDocumentStateChange(DOCUMENT_STATE_FULLY_LOADED), options);
|
|
128
131
|
isInitialized = true;
|
|
129
132
|
};
|
|
@@ -144,18 +147,6 @@ export const getDocumentState = () => {
|
|
|
144
147
|
return currentDocumentState;
|
|
145
148
|
};
|
|
146
149
|
|
|
147
|
-
/**
|
|
148
|
-
* Returns the event emitter instance.
|
|
149
|
-
* @returns {EventEmitter} Event emitter instance.
|
|
150
|
-
* @deprecated
|
|
151
|
-
*/
|
|
152
|
-
export const getEventEmitter = () => {
|
|
153
|
-
if (!isInitialized) {
|
|
154
|
-
initPageLifecycle();
|
|
155
|
-
}
|
|
156
|
-
return eventEmitter;
|
|
157
|
-
};
|
|
158
|
-
|
|
159
150
|
/**
|
|
160
151
|
* Returns the event emitter instance.
|
|
161
152
|
* @returns {EventEmitter} Event emitter instance.
|
package/src/util/fetchRetry.js
CHANGED
|
@@ -10,12 +10,15 @@ export class FetchError extends Error {
|
|
|
10
10
|
/**
|
|
11
11
|
* Creates a new FetchError instance.
|
|
12
12
|
* @param {string} message - Error message.
|
|
13
|
-
* @param {
|
|
14
|
-
* @param {
|
|
13
|
+
* @param {string | URL | Request} resource - Fetch URL.
|
|
14
|
+
* @param {RequestInit} fetchOptions - Fetch options.
|
|
15
|
+
* @param {Response} response - Fetch response.
|
|
15
16
|
*/
|
|
16
|
-
constructor(message,
|
|
17
|
+
constructor(message, resource, fetchOptions, response) {
|
|
17
18
|
super(message);
|
|
18
|
-
this.
|
|
19
|
+
this.name = 'FetchError';
|
|
20
|
+
this.resource = resource;
|
|
21
|
+
this.fetchOptions = fetchOptions;
|
|
19
22
|
this.response = response;
|
|
20
23
|
}
|
|
21
24
|
}
|
|
@@ -42,7 +45,12 @@ export const fetchRetry = async (resource, fetchOptions, retryOptions) => {
|
|
|
42
45
|
const response = await fetch(resource, fetchOptions);
|
|
43
46
|
if (!response.ok) {
|
|
44
47
|
logger.warn('failure', response);
|
|
45
|
-
throw new FetchError(
|
|
48
|
+
throw new FetchError(
|
|
49
|
+
`fetch ${response.url} returned status ${response.status}`,
|
|
50
|
+
resource,
|
|
51
|
+
fetchOptions,
|
|
52
|
+
response
|
|
53
|
+
);
|
|
46
54
|
}
|
|
47
55
|
logger.info('success', response);
|
|
48
56
|
return response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http_status.d.ts","sourceRoot":"","sources":["../../src/const/http_status.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"http_status.d.ts","sourceRoot":"","sources":["../../src/const/http_status.js"],"names":[],"mappings":"AAAA,gCAAiC,GAAG,CAAC;AACrC,2CAA4C,GAAG,CAAC;AAChD,kCAAmC,GAAG,CAAC;AACvC,mCAAoC,GAAG,CAAC;AACxC,0BAA2B,GAAG,CAAC;AAC/B,+BAAgC,GAAG,CAAC;AACpC,gCAAiC,GAAG,CAAC;AACrC,qDAAsD,GAAG,CAAC;AAC1D,kCAAmC,GAAG,CAAC;AACvC,qCAAsC,GAAG,CAAC;AAC1C,uCAAwC,GAAG,CAAC;AAC5C,oCAAqC,GAAG,CAAC;AACzC,wCAAyC,GAAG,CAAC;AAC7C,+BAAgC,GAAG,CAAC;AACpC,wCAAyC,GAAG,CAAC;AAC7C,yCAA0C,GAAG,CAAC;AAC9C,6BAA8B,GAAG,CAAC;AAClC,iCAAkC,GAAG,CAAC;AACtC,oCAAqC,GAAG,CAAC;AACzC,iCAAkC,GAAG,CAAC;AACtC,gCAAiC,GAAG,CAAC;AACrC,0CAA2C,GAAG,CAAC;AAC/C,0CAA2C,GAAG,CAAC;AAC/C,mCAAoC,GAAG,CAAC;AACxC,oCAAqC,GAAG,CAAC;AACzC,wCAAyC,GAAG,CAAC;AAC7C,iCAAkC,GAAG,CAAC;AACtC,iCAAkC,GAAG,CAAC;AACtC,0CAA2C,GAAG,CAAC;AAC/C,sCAAuC,GAAG,CAAC;AAC3C,qDAAsD,GAAG,CAAC;AAC1D,uCAAwC,GAAG,CAAC;AAC5C,gCAAiC,GAAG,CAAC;AACrC,4BAA6B,GAAG,CAAC;AACjC,uCAAwC,GAAG,CAAC;AAC5C,2CAA4C,GAAG,CAAC;AAChD,gDAAiD,GAAG,CAAC;AACrD,4CAA6C,GAAG,CAAC;AACjD,8CAA+C,GAAG,CAAC;AACnD,uDAAwD,GAAG,CAAC;AAC5D,0CAA2C,GAAG,CAAC;AAC/C,mCAAoC,GAAG,CAAC;AACxC,2CAA4C,GAAG,CAAC;AAChD,4CAA6C,GAAG,CAAC;AACjD,8BAA+B,GAAG,CAAC;AACnC,yCAA0C,GAAG,CAAC;AAC9C,iCAAkC,GAAG,CAAC;AACtC,wCAAyC,GAAG,CAAC;AAC7C,6CAA8C,GAAG,CAAC;AAClD,yCAA0C,GAAG,CAAC;AAC9C,gDAAiD,GAAG,CAAC;AACrD,uDAAwD,GAAG,CAAC;AAC5D,qDAAsD,GAAG,CAAC;AAC1D,6CAA8C,GAAG,CAAC;AAClD,uCAAwC,GAAG,CAAC;AAC5C,mCAAoC,GAAG,CAAC;AACxC,2CAA4C,GAAG,CAAC;AAChD,uCAAwC,GAAG,CAAC;AAC5C,kDAAmD,GAAG,CAAC;AACvD,+CAAgD,GAAG,CAAC;AACpD,4CAA6C,GAAG,CAAC;AACjD,qCAAsC,GAAG,CAAC;AAC1C,oCAAqC,GAAG,CAAC;AACzC,uDAAwD,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/logging/Logger.js"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/logging/Logger.js"],"names":[],"mappings":"AAGA,0BAA2B,CAAC,CAAC;AAC7B,yBAA0B,CAAC,CAAC;AAC5B,yBAA0B,CAAC,CAAC;AAC5B,0BAA2B,CAAC,CAAC;AAC7B,2BAA4B,CAAC,CAAC;AAE9B;IACE;;OAEG;IACH,yBAFU,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAED;IAC/B;;OAEG;IACH,6BAFU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAElD;IAEnC;;;OAGG;IACH,kBAFW,MAAM,EAShB;IANC,aAAgB;IAKhB,cAAkG;IAGpG;;;;OAIG;IACH,eAHW,MAAM,cACN,MAAM,QAehB;IAED;;;;OAIG;IACH,cAHW,MAAM,cACN,MAAM,QAehB;IAED;;;;OAIG;IACH,cAHW,MAAM,cACN,MAAM,QAehB;IAED;;;;OAIG;IACH,eAHW,MAAM,cACN,MAAM,QAehB;IAED;;;;OAIG;IACH,mBAHW,MAAM,aACN,KAAK,QAWf;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/const.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/const.js"],"names":[],"mappings":"AAAA,0CAA2C,QAAQ,CAAC;AACpD,0CAA2C,QAAQ,CAAC;AACpD,2CAA4C,SAAS,CAAC;AACtD,0CAA2C,QAAQ,CAAC;AACpD,8CAA+C,YAAY,CAAC;AAE5D,wCAAyC,WAAW,CAAC;AACrD,0CAA2C,aAAa,CAAC;AACzD,sCAAuC,UAAU,CAAC;AAClD,yCAA0C,aAAa,CAAC;AACxD,qCAAsC,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/event.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/event.js"],"names":[],"mappings":"AAAA,gDAAiD,0BAA0B,CAAC;AAC5E,0CAA2C,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedef.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/typedef.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"typedef.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/typedef.js"],"names":[],"mappings":"AAAA,sBAAuB,IAAI,CAAC;iCAGf,QAAgD,GAAG,QAAgD,GAAG,SAAiD,GAAG,QAAgD,GAAG,YAAoD;4BAIjQ,SAA2C,GAAG,aAA+C,GAAG,UAA4C,GAAG,WAA8C,GAAG,aAAgD"}
|
|
@@ -2,7 +2,6 @@ export function addPageLifecycleCallback(state: import("./typedef.js").DocumentS
|
|
|
2
2
|
export function initPageLifecycle(): void;
|
|
3
3
|
export function getPageLifecycleState(): string;
|
|
4
4
|
export function getDocumentState(): import("./typedef.js").DocumentState;
|
|
5
|
-
export function getEventEmitter(): EventEmitter;
|
|
6
5
|
export function getPageLifecycleEventEmitter(): EventEmitter;
|
|
7
6
|
export function isPageLifecycleInitialized(): boolean;
|
|
8
7
|
import { EventEmitter } from 'eventemitter3';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/util.js"],"names":[],"mappings":"AAsCO,gDAHI,OAAO,cAAc,EAAE,aAAa,GAAG,OAAO,cAAc,EAAE,kBAAkB,YAChF,MAAM,IAAI,QAMpB;AAgEM,0CAsBN;AAMM,yCAFM,MAAM,CAIlB;AAMM,oCAFM,OAAO,cAAc,EAAE,aAAa,CAIhD;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/pagelifecycle/util.js"],"names":[],"mappings":"AAsCO,gDAHI,OAAO,cAAc,EAAE,aAAa,GAAG,OAAO,cAAc,EAAE,kBAAkB,YAChF,MAAM,IAAI,QAMpB;AAgEM,0CAsBN;AAMM,yCAFM,MAAM,CAIlB;AAMM,oCAFM,OAAO,cAAc,EAAE,aAAa,CAIhD;AAMM,gDAFM,YAAY,CAOxB;AAMM,8CAFM,OAAO,CAInB;6BA9J4B,eAAe"}
|
|
@@ -3,11 +3,13 @@ export class FetchError extends Error {
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates a new FetchError instance.
|
|
5
5
|
* @param {string} message - Error message.
|
|
6
|
-
* @param {
|
|
7
|
-
* @param {
|
|
6
|
+
* @param {string | URL | Request} resource - Fetch URL.
|
|
7
|
+
* @param {RequestInit} fetchOptions - Fetch options.
|
|
8
|
+
* @param {Response} response - Fetch response.
|
|
8
9
|
*/
|
|
9
|
-
constructor(message: string,
|
|
10
|
-
|
|
10
|
+
constructor(message: string, resource: string | URL | Request, fetchOptions: RequestInit, response: Response);
|
|
11
|
+
resource: string | URL | Request;
|
|
12
|
+
fetchOptions: RequestInit;
|
|
11
13
|
response: Response;
|
|
12
14
|
}
|
|
13
15
|
export function fetchRetry(resource: string | URL | Request, fetchOptions?: RequestInit, retryOptions?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchRetry.d.ts","sourceRoot":"","sources":["../../src/util/fetchRetry.js"],"names":[],"mappings":"AAMA,
|
|
1
|
+
{"version":3,"file":"fetchRetry.d.ts","sourceRoot":"","sources":["../../src/util/fetchRetry.js"],"names":[],"mappings":"AAMA,yBAA0B,CAAC,CAAC;AAE5B;IACE;;;;;;OAMG;IACH,qBALW,MAAM,YACN,MAAM,GAAG,GAAG,GAAG,OAAO,gBACtB,WAAW,YACX,QAAQ,EAQlB;IAHC,iCAAwB;IACxB,0BAAgC;IAChC,mBAAwB;CAE3B;AASM,qCALI,MAAM,GAAG,GAAG,GAAG,OAAO,iBACtB,WAAW,iBACX;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,GAC5D,OAAO,CAAC,QAAQ,CAAC,CA0C7B"}
|