@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @vpmedia/simplify
2
2
 
3
- [![npm version](https://badge.fury.io/js/@vpmedia%2Fsimplify.svg?v=1.14.0)](https://badge.fury.io/js/@vpmedia%2Fsimplify)
3
+ [![npm version](https://badge.fury.io/js/@vpmedia%2Fsimplify.svg?v=1.16.0)](https://badge.fury.io/js/@vpmedia%2Fsimplify)
4
4
  [![Node.js CI](https://github.com/vpmedia/simplify/actions/workflows/ci.yml/badge.svg)](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.14.0",
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.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.6.3"
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
- for (const eventType of ['pageshow', 'focus', 'blur', 'visibilitychange', 'resume']) {
116
- window.addEventListener(eventType, () => onPageLifecycleStateChange(detectPageLifecycleState()), options);
117
- }
118
- window.addEventListener('freeze', () => onPageLifecycleStateChange(PAGE_LIFECYCLE_STATE_FROZEN), options);
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
- window.addEventListener('DOMContentLoaded', () => onDocumentStateChange(DOCUMENT_STATE_DOM_LOADED), options);
126
- window.addEventListener('readystatechange', () => onDocumentStateChange(document.readyState), options);
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.
@@ -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 {RequestInit} request - Fetch request object.
14
- * @param {Response} response - Fetch response object.
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, request, response) {
17
+ constructor(message, resource, fetchOptions, response) {
17
18
  super(message);
18
- this.request = request;
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(`fetch ${response.url} returned status ${response.status}`, fetchOptions, response);
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,oCAAqC;AACrC,+CAAgD;AAChD,sCAAuC;AACvC,uCAAwC;AACxC,8BAA+B;AAC/B,mCAAoC;AACpC,oCAAqC;AACrC,yDAA0D;AAC1D,sCAAuC;AACvC,yCAA0C;AAC1C,2CAA4C;AAC5C,wCAAyC;AACzC,4CAA6C;AAC7C,mCAAoC;AACpC,4CAA6C;AAC7C,6CAA8C;AAC9C,iCAAkC;AAClC,qCAAsC;AACtC,wCAAyC;AACzC,qCAAsC;AACtC,oCAAqC;AACrC,8CAA+C;AAC/C,8CAA+C;AAC/C,uCAAwC;AACxC,wCAAyC;AACzC,4CAA6C;AAC7C,qCAAsC;AACtC,qCAAsC;AACtC,8CAA+C;AAC/C,0CAA2C;AAC3C,yDAA0D;AAC1D,2CAA4C;AAC5C,oCAAqC;AACrC,gCAAiC;AACjC,2CAA4C;AAC5C,+CAAgD;AAChD,oDAAqD;AACrD,gDAAiD;AACjD,kDAAmD;AACnD,2DAA4D;AAC5D,8CAA+C;AAC/C,uCAAwC;AACxC,+CAAgD;AAChD,gDAAiD;AACjD,kCAAmC;AACnC,6CAA8C;AAC9C,qCAAsC;AACtC,4CAA6C;AAC7C,iDAAkD;AAClD,6CAA8C;AAC9C,oDAAqD;AACrD,2DAA4D;AAC5D,yDAA0D;AAC1D,iDAAkD;AAClD,2CAA4C;AAC5C,uCAAwC;AACxC,+CAAgD;AAChD,2CAA4C;AAC5C,sDAAuD;AACvD,mDAAoD;AACpD,gDAAiD;AACjD,yCAA0C;AAC1C,wCAAyC;AACzC,2DAA4D"}
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,4BAA6B;AAC7B,2BAA4B;AAC5B,2BAA4B;AAC5B,4BAA6B;AAC7B,6BAA8B;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
+ {"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,mDAAoD;AACpD,mDAAoD;AACpD,qDAAsD;AACtD,mDAAoD;AACpD,2DAA4D;AAE5D,oDAAqD;AACrD,wDAAyD;AACzD,iDAAkD;AAClD,uDAAwD;AACxD,+CAAgD"}
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,2EAA4E;AAC5E,gEAAiE"}
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,2BAA4B;iCAGf,QAAgD,GAAG,QAAgD,GAAG,SAAiD,GAAG,QAAgD,GAAG,YAAoD;4BAIjQ,SAA2C,GAAG,aAA+C,GAAG,UAA4C,GAAG,WAA8C,GAAG,aAAgD"}
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;AAOM,mCAHM,YAAY,CAQxB;AAMM,gDAFM,YAAY,CAOxB;AAMM,8CAFM,OAAO,CAInB;6BA1K4B,eAAe"}
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 {RequestInit} request - Fetch request object.
7
- * @param {Response} response - Fetch response object.
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, request: RequestInit, response: Response);
10
- request: RequestInit;
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,2BAA4B;AAE5B;IACE;;;;;OAKG;IACH,qBAJW,MAAM,WACN,WAAW,YACX,QAAQ,EAMlB;IAFC,qBAAsB;IACtB,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,CAqC7B"}
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"}