jpf 5.0.24 → 5.0.26

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.
@@ -1,8 +1,12 @@
1
1
  type ResponseType = "void" | "json" | "blob" | "arrayBuffer";
2
+ interface IResponseHanderResult {
3
+ handled: boolean;
4
+ value: any;
5
+ }
2
6
  export declare function setIsTestRun(value: boolean): void;
3
7
  export declare function setTestSecret(secret: string): void;
4
8
  export declare function setTestUserId(userId: number): void;
5
- export declare function initialize(headersProvider?: (headers: HeadersInit) => void, responseHandler?: (response: Response, responseType: ResponseType) => void): void;
9
+ export declare function initialize(preFetchHandler?: (input: RequestInfo, data: any, authorized: boolean, responseType: ResponseType, init: RequestInit) => Promise<boolean>, responseHandler?: (input: RequestInfo, data: any, authorized: boolean, responseType: ResponseType, init: RequestInit, response: Response) => Promise<IResponseHanderResult>): void;
6
10
  export declare function get(input: RequestInfo, authorized: boolean, responseType: ResponseType, init?: RequestInit): Promise<any>;
7
11
  export declare function post(input: RequestInfo, data: any, authorized: boolean, responseType: ResponseType, init: RequestInit): Promise<any>;
8
12
  export {};
@@ -11,26 +11,50 @@ var testUserId;
11
11
  export function setTestUserId(userId) {
12
12
  testUserId = userId;
13
13
  }
14
- var additionalHeaders;
15
- var additionalResponseHandler;
16
- export function initialize(headersProvider, responseHandler) {
17
- additionalHeaders = headersProvider;
18
- additionalResponseHandler = responseHandler;
14
+ let preFetch;
15
+ let alternativeResponseHandler;
16
+ export function initialize(preFetchHandler, responseHandler) {
17
+ preFetch = preFetchHandler;
18
+ alternativeResponseHandler = responseHandler;
19
19
  }
20
20
  export async function get(input, authorized, responseType, init) {
21
21
  if (!init) {
22
22
  init = {};
23
23
  }
24
+ if (preFetch) {
25
+ var canFetch = await preFetch(input, null, authorized, responseType, init);
26
+ if (!canFetch) {
27
+ return null;
28
+ }
29
+ }
24
30
  await setGetInitValues(init, authorized, responseType);
25
31
  const response = await fetch(input, init);
32
+ if (alternativeResponseHandler) {
33
+ var result = await alternativeResponseHandler(input, null, authorized, responseType, init, response);
34
+ if (result.handled) {
35
+ return result.value;
36
+ }
37
+ }
26
38
  return await getResponseValue(response, responseType);
27
39
  }
28
40
  export async function post(input, data, authorized, responseType, init) {
29
41
  if (!init) {
30
42
  init = {};
31
43
  }
44
+ if (preFetch) {
45
+ var canFetch = await preFetch(input, null, authorized, responseType, init);
46
+ if (!canFetch) {
47
+ return null;
48
+ }
49
+ }
32
50
  await setPostInitValues(init, authorized, responseType, data);
33
51
  const response = await fetch(input, init);
52
+ if (alternativeResponseHandler) {
53
+ var result = await alternativeResponseHandler(input, null, authorized, responseType, init, response);
54
+ if (result.handled) {
55
+ return result.value;
56
+ }
57
+ }
34
58
  return await getResponseValue(response, responseType);
35
59
  }
36
60
  function getFilename(response) {
@@ -49,9 +73,6 @@ function isJson(response) {
49
73
  return response.headers.get("Content-Type")?.includes("application/json");
50
74
  }
51
75
  async function getResponseValue(response, responseType) {
52
- if (additionalResponseHandler) {
53
- additionalResponseHandler(response, responseType);
54
- }
55
76
  if (response.ok) {
56
77
  switch (responseType) {
57
78
  case "void":
@@ -137,8 +158,5 @@ async function setHeaders(init, authorized, responsetype) {
137
158
  }
138
159
  }
139
160
  init.headers["X-Request-ID"] = newGuid();
140
- if (additionalHeaders) {
141
- additionalHeaders(init.headers);
142
- }
143
161
  }
144
162
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/utilities/fetch/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/utilities/fetch/fetch.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare const userAgent: {
15
15
  majorVersion: number;
16
16
  };
17
17
  device: {
18
- type: "mobile" | "tablet" | "console" | "smarttv" | "wearable" | "xr" | "embedded";
18
+ type: "console" | "desktop" | "embedded" | "mobile" | "smarttv" | "tablet" | "wearable" | "xr";
19
19
  isMobile: boolean;
20
20
  isTablet: boolean;
21
21
  isSmartTv: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jpf",
3
- "version": "5.0.24",
3
+ "version": "5.0.26",
4
4
  "description": "Javascript Presentation Foundation base classes and interfaces",
5
5
  "keywords": [
6
6
  "mvvm",
@@ -41,13 +41,13 @@
41
41
  "tscVersion": "tsc -v"
42
42
  },
43
43
  "dependencies": {
44
- "@codemirror/lang-css": "6.2.0",
45
- "@codemirror/lang-html": "6.4.5",
46
- "@codemirror/lang-javascript": "6.1.9",
47
- "@codemirror/lang-json": "6.0.1",
48
- "@codemirror/lang-less": "6.0.1",
44
+ "@codemirror/lang-css": "6.3.1",
45
+ "@codemirror/lang-html": "6.4.11",
46
+ "@codemirror/lang-javascript": "6.2.4",
47
+ "@codemirror/lang-json": "6.0.2",
48
+ "@codemirror/lang-less": "6.0.2",
49
49
  "@progress/kendo-ui": "2024.2.514",
50
- "codemirror": "6.0.1",
50
+ "codemirror": "6.0.2",
51
51
  "json-viewer-awesome": "1.0.15",
52
52
  "leaflet": "1.9.4",
53
53
  "leaflet-arrowheads": "1.4.0",
@@ -55,13 +55,13 @@
55
55
  "simply-beautiful": "1.0.1",
56
56
  "toastr": "2.1.4",
57
57
  "tocca": "2.0.9",
58
- "ua-parser-js": "2.0.2",
59
- "uuid": "11.0.5"
58
+ "ua-parser-js": "2.0.7",
59
+ "uuid": "13.0.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@types/leaflet": "1.9.16",
63
- "@types/lodash": "4.17.15",
64
- "eslint": "^9.20.1",
65
- "typescript": "5.7.3"
62
+ "@types/leaflet": "1.9.21",
63
+ "@types/lodash": "4.17.21",
64
+ "eslint": "9.39.1",
65
+ "typescript": "5.9.3"
66
66
  }
67
67
  }
@@ -2,6 +2,11 @@
2
2
 
3
3
  type ResponseType = "void" | "json" | "blob" | "arrayBuffer";
4
4
 
5
+ interface IResponseHanderResult {
6
+ handled: boolean;
7
+ value: any;
8
+ }
9
+
5
10
  interface IException {
6
11
  message: string;
7
12
  }
@@ -21,12 +26,15 @@ export function setTestUserId(userId: number) {
21
26
  testUserId = userId;
22
27
  }
23
28
 
24
- var additionalHeaders: (headers: HeadersInit) => void;
25
- var additionalResponseHandler: (response: Response, responseType: ResponseType) => void;
29
+ let preFetch: (input: RequestInfo, data: any, authorized: boolean, responseType: ResponseType, init: RequestInit) => Promise<boolean>;
30
+ let alternativeResponseHandler: (input: RequestInfo, data: any, authorized: boolean, responseType: ResponseType, init: RequestInit, response: Response) => Promise<IResponseHanderResult>;
26
31
 
27
- export function initialize(headersProvider?: (headers: HeadersInit) => void, responseHandler?: (response: Response, responseType: ResponseType) => void) {
28
- additionalHeaders = headersProvider;
29
- additionalResponseHandler = responseHandler;
32
+ export function initialize(
33
+ preFetchHandler?: (input: RequestInfo, data: any, authorized: boolean, responseType: ResponseType, init: RequestInit) => Promise<boolean>,
34
+ responseHandler?: (input: RequestInfo, data: any, authorized: boolean, responseType: ResponseType, init: RequestInit, response: Response) => Promise<IResponseHanderResult>
35
+ ) {
36
+ preFetch = preFetchHandler;
37
+ alternativeResponseHandler = responseHandler;
30
38
  }
31
39
 
32
40
  export async function get(input: RequestInfo, authorized: boolean, responseType: ResponseType, init?: RequestInit): Promise<any> {
@@ -34,10 +42,29 @@ export async function get(input: RequestInfo, authorized: boolean, responseType:
34
42
  init = {}
35
43
  }
36
44
 
45
+ if (preFetch) {
46
+ var canFetch = await preFetch(input, null, authorized, responseType, init);
47
+ if (!canFetch) {
48
+ //Abort the fetch
49
+ return null;
50
+ }
51
+ }
52
+
37
53
  await setGetInitValues(init, authorized, responseType);
38
54
 
39
55
  const response = await fetch(input, init);
40
56
 
57
+ if (alternativeResponseHandler) {
58
+ //Execute the alternative response handler
59
+ var result = await alternativeResponseHandler(input, null, authorized, responseType, init, response);
60
+
61
+ //Check if the response was handled
62
+ if (result.handled) {
63
+ //Return the value from the alternative response handler
64
+ return result.value;
65
+ }
66
+ }
67
+
41
68
  return await getResponseValue(response, responseType);
42
69
  }
43
70
 
@@ -46,10 +73,30 @@ export async function post(input: RequestInfo, data: any, authorized: boolean, r
46
73
  init = {};
47
74
  }
48
75
 
76
+ if (preFetch) {
77
+ var canFetch = await preFetch(input, null, authorized, responseType, init);
78
+ if (!canFetch) {
79
+ //Abort the fetch
80
+ return null;
81
+ }
82
+ }
83
+
49
84
  await setPostInitValues(init, authorized, responseType, data);
50
85
 
51
86
  const response = await fetch(input, init);
52
87
 
88
+
89
+ if (alternativeResponseHandler) {
90
+ //Execute the alternative response handler
91
+ var result = await alternativeResponseHandler(input, null, authorized, responseType, init, response);
92
+
93
+ //Check if the response was handled
94
+ if (result.handled) {
95
+ //Return the value from the alternative response handler
96
+ return result.value;
97
+ }
98
+ }
99
+
53
100
  return await getResponseValue(response, responseType);
54
101
  }
55
102
 
@@ -72,9 +119,6 @@ function isJson(response: Response): boolean {
72
119
  }
73
120
 
74
121
  async function getResponseValue(response: Response, responseType: ResponseType): Promise<any> {
75
- if (additionalResponseHandler) {
76
- additionalResponseHandler(response, responseType);
77
- }
78
122
 
79
123
  if (response.ok) {
80
124
  switch (responseType) {
@@ -175,9 +219,4 @@ async function setHeaders(init: RequestInit, authorized: boolean, responsetype:
175
219
  }
176
220
 
177
221
  init.headers["X-Request-ID"] = newGuid();
178
-
179
- //Check if there are additional headers to be set.
180
- if (additionalHeaders) {
181
- additionalHeaders(init.headers);
182
- }
183
222
  }