proxy-facades 1.2.9 → 1.3.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/Util.ts +35 -6
- package/dist/{browser → commonjs}/Util.d.ts +15 -2
- package/dist/commonjs/Util.d.ts.map +1 -0
- package/dist/{default → commonjs}/Util.js +31 -4
- package/dist/commonjs/Util.js.map +1 -0
- package/dist/commonjs/retsync.d.ts +44 -0
- package/dist/commonjs/retsync.d.ts.map +1 -0
- package/dist/commonjs/retsync.js +139 -0
- package/dist/commonjs/retsync.js.map +1 -0
- package/dist/{default → esm}/Util.d.ts +15 -2
- package/dist/esm/Util.d.ts.map +1 -0
- package/dist/{browser → esm}/Util.js +28 -3
- package/dist/esm/Util.js.map +1 -0
- package/dist/esm/retsync.d.ts +44 -0
- package/dist/esm/retsync.d.ts.map +1 -0
- package/dist/esm/retsync.js +131 -0
- package/dist/esm/retsync.js.map +1 -0
- package/package.json +9 -5
- package/readme.md +1 -1
- package/retsync.ts +162 -0
- package/dist/browser/Util.d.ts.map +0 -1
- package/dist/browser/Util.js.map +0 -1
- package/dist/default/Util.d.ts.map +0 -1
- package/dist/default/Util.js.map +0 -1
- package/index_esm.mjs +0 -46
- /package/dist/{browser → commonjs}/RecordedReadOnProxiedObjectExt.d.ts +0 -0
- /package/dist/{browser → commonjs}/RecordedReadOnProxiedObjectExt.d.ts.map +0 -0
- /package/dist/{default → commonjs}/RecordedReadOnProxiedObjectExt.js +0 -0
- /package/dist/{default → commonjs}/RecordedReadOnProxiedObjectExt.js.map +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Array.d.ts +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Array.d.ts.map +0 -0
- /package/dist/{default → commonjs}/class-trackers/Array.js +0 -0
- /package/dist/{default → commonjs}/class-trackers/Array.js.map +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Iterator.d.ts +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Iterator.d.ts.map +0 -0
- /package/dist/{default → commonjs}/class-trackers/Iterator.js +0 -0
- /package/dist/{default → commonjs}/class-trackers/Iterator.js.map +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Map.d.ts +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Map.d.ts.map +0 -0
- /package/dist/{default → commonjs}/class-trackers/Map.js +0 -0
- /package/dist/{default → commonjs}/class-trackers/Map.js.map +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Set.d.ts +0 -0
- /package/dist/{browser → commonjs}/class-trackers/Set.d.ts.map +0 -0
- /package/dist/{default → commonjs}/class-trackers/Set.js +0 -0
- /package/dist/{default → commonjs}/class-trackers/Set.js.map +0 -0
- /package/dist/{browser → commonjs}/class-trackers/index.d.ts +0 -0
- /package/dist/{browser → commonjs}/class-trackers/index.d.ts.map +0 -0
- /package/dist/{default → commonjs}/class-trackers/index.js +0 -0
- /package/dist/{default → commonjs}/class-trackers/index.js.map +0 -0
- /package/dist/{browser → commonjs}/common.d.ts +0 -0
- /package/dist/{browser → commonjs}/common.d.ts.map +0 -0
- /package/dist/{default → commonjs}/common.js +0 -0
- /package/dist/{default → commonjs}/common.js.map +0 -0
- /package/dist/{browser → commonjs}/dev_generateEsRuntimeBehaviourCheckerCode.d.ts +0 -0
- /package/dist/{browser → commonjs}/dev_generateEsRuntimeBehaviourCheckerCode.d.ts.map +0 -0
- /package/dist/{browser → commonjs}/dev_generateEsRuntimeBehaviourCheckerCode.js +0 -0
- /package/dist/{browser → commonjs}/dev_generateEsRuntimeBehaviourCheckerCode.js.map +0 -0
- /package/dist/{browser → commonjs}/index.d.ts +0 -0
- /package/dist/{browser → commonjs}/index.d.ts.map +0 -0
- /package/dist/{default → commonjs}/index.js +0 -0
- /package/dist/{default → commonjs}/index.js.map +0 -0
- /package/dist/{browser → commonjs}/objectChangeTracking.d.ts +0 -0
- /package/dist/{browser → commonjs}/objectChangeTracking.d.ts.map +0 -0
- /package/dist/{default → commonjs}/objectChangeTracking.js +0 -0
- /package/dist/{default → commonjs}/objectChangeTracking.js.map +0 -0
- /package/dist/{browser → commonjs}/origChangeTracking.d.ts +0 -0
- /package/dist/{browser → commonjs}/origChangeTracking.d.ts.map +0 -0
- /package/dist/{default → commonjs}/origChangeTracking.js +0 -0
- /package/dist/{default → commonjs}/origChangeTracking.js.map +0 -0
- /package/dist/{browser → commonjs}/proxyFacade.d.ts +0 -0
- /package/dist/{browser → commonjs}/proxyFacade.d.ts.map +0 -0
- /package/dist/{default → commonjs}/proxyFacade.js +0 -0
- /package/dist/{default → commonjs}/proxyFacade.js.map +0 -0
- /package/dist/{browser → commonjs}/watchedProxyFacade.d.ts +0 -0
- /package/dist/{browser → commonjs}/watchedProxyFacade.d.ts.map +0 -0
- /package/dist/{default → commonjs}/watchedProxyFacade.js +0 -0
- /package/dist/{default → commonjs}/watchedProxyFacade.js.map +0 -0
- /package/dist/{default → esm}/RecordedReadOnProxiedObjectExt.d.ts +0 -0
- /package/dist/{default → esm}/RecordedReadOnProxiedObjectExt.d.ts.map +0 -0
- /package/dist/{browser → esm}/RecordedReadOnProxiedObjectExt.js +0 -0
- /package/dist/{browser → esm}/RecordedReadOnProxiedObjectExt.js.map +0 -0
- /package/dist/{default → esm}/class-trackers/Array.d.ts +0 -0
- /package/dist/{default → esm}/class-trackers/Array.d.ts.map +0 -0
- /package/dist/{browser → esm}/class-trackers/Array.js +0 -0
- /package/dist/{browser → esm}/class-trackers/Array.js.map +0 -0
- /package/dist/{default → esm}/class-trackers/Iterator.d.ts +0 -0
- /package/dist/{default → esm}/class-trackers/Iterator.d.ts.map +0 -0
- /package/dist/{browser → esm}/class-trackers/Iterator.js +0 -0
- /package/dist/{browser → esm}/class-trackers/Iterator.js.map +0 -0
- /package/dist/{default → esm}/class-trackers/Map.d.ts +0 -0
- /package/dist/{default → esm}/class-trackers/Map.d.ts.map +0 -0
- /package/dist/{browser → esm}/class-trackers/Map.js +0 -0
- /package/dist/{browser → esm}/class-trackers/Map.js.map +0 -0
- /package/dist/{default → esm}/class-trackers/Set.d.ts +0 -0
- /package/dist/{default → esm}/class-trackers/Set.d.ts.map +0 -0
- /package/dist/{browser → esm}/class-trackers/Set.js +0 -0
- /package/dist/{browser → esm}/class-trackers/Set.js.map +0 -0
- /package/dist/{default → esm}/class-trackers/index.d.ts +0 -0
- /package/dist/{default → esm}/class-trackers/index.d.ts.map +0 -0
- /package/dist/{browser → esm}/class-trackers/index.js +0 -0
- /package/dist/{browser → esm}/class-trackers/index.js.map +0 -0
- /package/dist/{default → esm}/common.d.ts +0 -0
- /package/dist/{default → esm}/common.d.ts.map +0 -0
- /package/dist/{browser → esm}/common.js +0 -0
- /package/dist/{browser → esm}/common.js.map +0 -0
- /package/dist/{default → esm}/dev_generateEsRuntimeBehaviourCheckerCode.d.ts +0 -0
- /package/dist/{default → esm}/dev_generateEsRuntimeBehaviourCheckerCode.d.ts.map +0 -0
- /package/dist/{default → esm}/dev_generateEsRuntimeBehaviourCheckerCode.js +0 -0
- /package/dist/{default → esm}/dev_generateEsRuntimeBehaviourCheckerCode.js.map +0 -0
- /package/dist/{default → esm}/index.d.ts +0 -0
- /package/dist/{default → esm}/index.d.ts.map +0 -0
- /package/dist/{browser → esm}/index.js +0 -0
- /package/dist/{browser → esm}/index.js.map +0 -0
- /package/dist/{default → esm}/objectChangeTracking.d.ts +0 -0
- /package/dist/{default → esm}/objectChangeTracking.d.ts.map +0 -0
- /package/dist/{browser → esm}/objectChangeTracking.js +0 -0
- /package/dist/{browser → esm}/objectChangeTracking.js.map +0 -0
- /package/dist/{default → esm}/origChangeTracking.d.ts +0 -0
- /package/dist/{default → esm}/origChangeTracking.d.ts.map +0 -0
- /package/dist/{browser → esm}/origChangeTracking.js +0 -0
- /package/dist/{browser → esm}/origChangeTracking.js.map +0 -0
- /package/dist/{default → esm}/proxyFacade.d.ts +0 -0
- /package/dist/{default → esm}/proxyFacade.d.ts.map +0 -0
- /package/dist/{browser → esm}/proxyFacade.js +0 -0
- /package/dist/{browser → esm}/proxyFacade.js.map +0 -0
- /package/dist/{default → esm}/watchedProxyFacade.d.ts +0 -0
- /package/dist/{default → esm}/watchedProxyFacade.d.ts.map +0 -0
- /package/dist/{browser → esm}/watchedProxyFacade.js +0 -0
- /package/dist/{browser → esm}/watchedProxyFacade.js.map +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// Retsync means: retryable-synchronous.
|
|
2
|
+
// retsync code is synchronous code, which when deep inside, it needs to wait for some Promise, it makes the ancestor await it and re-run that code again.
|
|
3
|
+
// The "ancestor" is a retsync2promise call
|
|
4
|
+
// Semantics: Retsync code must be repeatable. It can change state, as long as that leads to the same result when repeated.
|
|
5
|
+
// It does not mean strictly deterministic (may be for while in the same sync block??) because resources that are fetched, can change over time. Therefore some inner user's retsync code might subscribe to change events and invalidate asyncResource2retsync's cached promises when there are such changes.
|
|
6
|
+
import { newDefaultWeakMap } from "./Util";
|
|
7
|
+
const resolvedPromiseValues = new WeakMap();
|
|
8
|
+
let callerHandlesRetsync = false;
|
|
9
|
+
/**
|
|
10
|
+
* Let's you run retsync code and wait, till it is finished.
|
|
11
|
+
* @param repeatableFn
|
|
12
|
+
* @param options
|
|
13
|
+
*/
|
|
14
|
+
export async function retsync2promise(repeatableFn, options = {}) {
|
|
15
|
+
/**
|
|
16
|
+
* ...while setting the callerHandlesRetsync indicator
|
|
17
|
+
*/
|
|
18
|
+
function runRepeatableFn() {
|
|
19
|
+
const orig_callerHandlesRetsync = callerHandlesRetsync;
|
|
20
|
+
try {
|
|
21
|
+
callerHandlesRetsync = true;
|
|
22
|
+
return repeatableFn();
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
callerHandlesRetsync = orig_callerHandlesRetsync;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
while (true) {
|
|
29
|
+
try {
|
|
30
|
+
return runRepeatableFn();
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
if (e instanceof RetsyncWaitsForPromiseException) {
|
|
34
|
+
if (e.checkSaved || (e.checkSaved === undefined && options.checkSaved !== false)) {
|
|
35
|
+
const optionHint = `Hint: See also: Retsync2promiseOptions#checkSaved`;
|
|
36
|
+
// Check if repeatableFn is behaving in repeatable symantics and saves the promise
|
|
37
|
+
try {
|
|
38
|
+
runRepeatableFn();
|
|
39
|
+
throw new Error(`repeatableFn is not repeatable. On the first run, it was waiting for a Promise by calling promise2retsync (see cause). After a second immediate test run, it returned successful without such.\n${optionHint}`, { cause: e });
|
|
40
|
+
}
|
|
41
|
+
catch (eChecked) {
|
|
42
|
+
if (!(eChecked !== null && eChecked instanceof RetsyncWaitsForPromiseException)) {
|
|
43
|
+
throw new Error(`repeatableFn is not repeatable. On the first run, it was waiting for a Promise by calling promise2retsync. After a second immediate test run, it threw.\n ${optionHint}\n First run's stack: \n${e.stack}\n 2nd run's stack: See cause`, { cause: eChecked });
|
|
44
|
+
}
|
|
45
|
+
eChecked.promise.then().catch(); // Make sure, that promise is caught once, to prevent unhandledRejections, just because of our checking functionality.
|
|
46
|
+
if (fixStack(eChecked.stack) !== fixStack(e.stack)) {
|
|
47
|
+
throw new Error(`repeatableFn is not repeatable. On the first run, it was waiting for a Promise by calling promise2retsync. After a second immediate test run, it behaved diffently.\n ${optionHint}\n First run's stack: \n${e.stack}\n 2nd run's stack: See cause`, { cause: eChecked });
|
|
48
|
+
}
|
|
49
|
+
if (eChecked.promise !== e.promise) {
|
|
50
|
+
e.message = `The savedPromise was not saved = you provided a different instance on a second run,... \n ${optionHint}`, { cause: new Error("...or repeatableFn does not behave repeatable") };
|
|
51
|
+
throw e;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
resolvedPromiseValues.set(e.promise, await e.promise);
|
|
56
|
+
// Try again. Now it will hit the resolved value
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw e;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* removes the retsync2promise lines. Cause we call repeatableFn from multiple lines here
|
|
65
|
+
* @param stack
|
|
66
|
+
*/
|
|
67
|
+
function fixStack(stack) {
|
|
68
|
+
return stack === null || stack === void 0 ? void 0 : stack.replaceAll(/^.*retsync2promise.*$/gm, "");
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Makes a promise usable in retsync code.
|
|
73
|
+
* @param savedPromise You must save/fix the promise somewhere, so you reuse it the next time you encounter it.
|
|
74
|
+
*/
|
|
75
|
+
export function promise2retsync(savedPromise) {
|
|
76
|
+
if (resolvedPromiseValues.has(savedPromise)) {
|
|
77
|
+
return resolvedPromiseValues.get(savedPromise);
|
|
78
|
+
}
|
|
79
|
+
throw new RetsyncWaitsForPromiseException(savedPromise);
|
|
80
|
+
}
|
|
81
|
+
const globalObj = {};
|
|
82
|
+
const resourcePromises = newDefaultWeakMap((key) => new Map());
|
|
83
|
+
/**
|
|
84
|
+
* Makes async code usable in retsync code.
|
|
85
|
+
* <p>
|
|
86
|
+
* Because retsync code is repeatable. This call must be associated a certain **identifiable resource**, so we know if that resource is already at loading progress.
|
|
87
|
+
* Therefore, you have the idObj and idKey parameters. Example:
|
|
88
|
+
* <code>asyncResource2retsync( async() => {...load the avatar...}, myUser, "getAvatar");</code>
|
|
89
|
+
* So the User#getAvatar is, what uniquely identifies the loaderFn here.
|
|
90
|
+
* </p>
|
|
91
|
+
* @param loaderFn
|
|
92
|
+
* @param idObj object to associate this call to. undefined means globally and the idKey primitive value is the only key.
|
|
93
|
+
* @param idKey Additional primitive key under idObj.
|
|
94
|
+
*/
|
|
95
|
+
export function asyncResource2retsync(loaderFn, idObj, idKey) {
|
|
96
|
+
idObj = idObj || globalObj;
|
|
97
|
+
const promisesForIdObj = resourcePromises.get(idObj);
|
|
98
|
+
let promise = promisesForIdObj.get(idKey);
|
|
99
|
+
if (!promise) {
|
|
100
|
+
promise = loaderFn();
|
|
101
|
+
promisesForIdObj.set(idKey, promise);
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
return promise2retsync(promise);
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
// Flag as no-check-needed to save time (it's not necessary):
|
|
108
|
+
if (e instanceof RetsyncWaitsForPromiseException) {
|
|
109
|
+
e.checkSaved = false;
|
|
110
|
+
}
|
|
111
|
+
throw e;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export class RetsyncWaitsForPromiseException extends Error {
|
|
115
|
+
constructor(promise) {
|
|
116
|
+
super("Some retsync style code (see call stack / caller of promise2retsync) wants to await an async operation. To make this possible, you need to wrapt it at some ancestor caller level with retsync2promise. I.e. 'const result = await retsync2promise(() => {...your **retryable*** - synchronous code...}});");
|
|
117
|
+
this.promise = promise;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export function checkThatCallerHandlesRetsync() {
|
|
121
|
+
if (!callerHandlesRetsync) {
|
|
122
|
+
throw new Error("The method, you are calling uses retsync code and needs to be wrapped at some ancestor caller level with retsync2promise. I.e. 'const result = await retsync2promise(() => {...call the function that (deep inside) uses **retryable*** - synchronous code...}});");
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Makes a an async function usable in retsync code.
|
|
127
|
+
*/
|
|
128
|
+
//export function asyncFn2retsync<T>(asyncFn: () => Promise<T>): T {
|
|
129
|
+
// The call must be re-identified. It's only possible, when all reads were recorded, like with react-deepwatch. See react-deepwatch.txt
|
|
130
|
+
//}
|
|
131
|
+
//# sourceMappingURL=retsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retsync.js","sourceRoot":"","sources":["../../retsync.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "proxy-facades",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"proxy",
|
|
@@ -14,18 +14,22 @@
|
|
|
14
14
|
"url": "https://github.com/bogeeee/proxy-facades.git"
|
|
15
15
|
},
|
|
16
16
|
"license": "MIT",
|
|
17
|
-
"main": "./dist/
|
|
17
|
+
"main": "./dist/commonjs/index.js",
|
|
18
18
|
"exports": {
|
|
19
19
|
".": {
|
|
20
|
-
"
|
|
21
|
-
"
|
|
20
|
+
"import": "./dist/esm/index.js",
|
|
21
|
+
"require": "./dist/commonjs/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./retsync": {
|
|
24
|
+
"import": "./dist/esm/retsync.js",
|
|
25
|
+
"require": "./dist/commonjs/retsync.js"
|
|
22
26
|
}
|
|
23
27
|
},
|
|
24
28
|
"scripts": {
|
|
25
29
|
"dev:playground.ts": "tsx devPlayground.ts",
|
|
26
30
|
"dev:generateEsRuntimeBehaviourCheckerCode": "tsx dev_generateEsRuntimeBehaviourCheckerCode.ts",
|
|
27
31
|
"clean": "tsc --build --clean && rimraf dist",
|
|
28
|
-
"build": "tsc --build --force && tsc -module ES6 --outDir dist/
|
|
32
|
+
"build": "tsc --build --force && tsc -module ES6 --outDir dist/esm && npm run verify_d.ts",
|
|
29
33
|
"verify_d.ts": "tsc dist/**/*.d.ts -noEmit",
|
|
30
34
|
"test": "npm run clean && vitest --clearScreen --hideSkippedTests --poolOptions.threads.singleThread",
|
|
31
35
|
"test_specific": "npm run clean && vitest --clearScreen --hideSkippedTests --poolOptions.threads.singleThread --testNamePattern \"add.*should behave normally. With writes through installed write tracker\"",
|
package/readme.md
CHANGED
|
@@ -46,7 +46,7 @@ proxy.users[1].active=false; // Modify some deep value -> will log "something ha
|
|
|
46
46
|
````
|
|
47
47
|
|
|
48
48
|
### Watch for changes of precisely those values, that you've read before
|
|
49
|
-
This variant of a proxy facade is used in [react-deepwatch](). With this, you have a hook for an event when some (deep) value changes of precisely the data, that was read by you.
|
|
49
|
+
This variant of a proxy facade is used in [react-deepwatch](https://github.com/bogeeee/react-deepwatch). With this, you have a hook for an event when some (deep) value changes of precisely the data, that was read by you.
|
|
50
50
|
|
|
51
51
|
This examples records all your **reads** and watches them for changes afterwards:
|
|
52
52
|
|
package/retsync.ts
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
// Retsync means: retryable-synchronous.
|
|
2
|
+
// retsync code is synchronous code, which when deep inside, it needs to wait for some Promise, it makes the ancestor await it and re-run that code again.
|
|
3
|
+
// The "ancestor" is a retsync2promise call
|
|
4
|
+
// Semantics: Retsync code must be repeatable. It can change state, as long as that leads to the same result when repeated.
|
|
5
|
+
// It does not mean strictly deterministic (may be for while in the same sync block??) because resources that are fetched, can change over time. Therefore some inner user's retsync code might subscribe to change events and invalidate asyncResource2retsync's cached promises when there are such changes.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
import {newDefaultWeakMap} from "./Util";
|
|
9
|
+
|
|
10
|
+
type Retsync2promiseOptions = {
|
|
11
|
+
/**
|
|
12
|
+
* Whenever retsyncFn hits a promise2retsync. it is run again and checked, if it behaves fine and repeatable and hits that same promise again (saves it properly)
|
|
13
|
+
*/
|
|
14
|
+
checkSaved?: boolean
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const resolvedPromiseValues = new WeakMap<Promise<any>, unknown>();
|
|
18
|
+
|
|
19
|
+
let callerHandlesRetsync = false
|
|
20
|
+
/**
|
|
21
|
+
* Let's you run retsync code and wait, till it is finished.
|
|
22
|
+
* @param repeatableFn
|
|
23
|
+
* @param options
|
|
24
|
+
*/
|
|
25
|
+
export async function retsync2promise<T>(repeatableFn: () => T, options: Retsync2promiseOptions = {}): Promise<T> {
|
|
26
|
+
/**
|
|
27
|
+
* ...while setting the callerHandlesRetsync indicator
|
|
28
|
+
*/
|
|
29
|
+
function runRepeatableFn() {
|
|
30
|
+
const orig_callerHandlesRetsync = callerHandlesRetsync;
|
|
31
|
+
try {
|
|
32
|
+
callerHandlesRetsync = true;
|
|
33
|
+
return repeatableFn();
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
callerHandlesRetsync = orig_callerHandlesRetsync;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
while(true) {
|
|
41
|
+
try {
|
|
42
|
+
return runRepeatableFn();
|
|
43
|
+
} catch (e) {
|
|
44
|
+
if (e instanceof RetsyncWaitsForPromiseException) {
|
|
45
|
+
if (e.checkSaved || (e.checkSaved === undefined && options.checkSaved !== false)) {
|
|
46
|
+
const optionHint = `Hint: See also: Retsync2promiseOptions#checkSaved`
|
|
47
|
+
// Check if repeatableFn is behaving in repeatable symantics and saves the promise
|
|
48
|
+
try {
|
|
49
|
+
runRepeatableFn();
|
|
50
|
+
throw new Error(`repeatableFn is not repeatable. On the first run, it was waiting for a Promise by calling promise2retsync (see cause). After a second immediate test run, it returned successful without such.\n${optionHint}`, {cause: e});
|
|
51
|
+
} catch (eChecked) {
|
|
52
|
+
if (!(eChecked !== null && eChecked instanceof RetsyncWaitsForPromiseException)) {
|
|
53
|
+
throw new Error(`repeatableFn is not repeatable. On the first run, it was waiting for a Promise by calling promise2retsync. After a second immediate test run, it threw.\n ${optionHint}\n First run's stack: \n${e.stack}\n 2nd run's stack: See cause`, {cause: eChecked});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
eChecked.promise.then().catch(); // Make sure, that promise is caught once, to prevent unhandledRejections, just because of our checking functionality.
|
|
57
|
+
|
|
58
|
+
if (fixStack(eChecked.stack) !== fixStack(e.stack)) {
|
|
59
|
+
throw new Error(`repeatableFn is not repeatable. On the first run, it was waiting for a Promise by calling promise2retsync. After a second immediate test run, it behaved diffently.\n ${optionHint}\n First run's stack: \n${e.stack}\n 2nd run's stack: See cause`, {cause: eChecked});
|
|
60
|
+
}
|
|
61
|
+
if (eChecked.promise !== e.promise) {
|
|
62
|
+
e.message = `The savedPromise was not saved = you provided a different instance on a second run,... \n ${optionHint}`, {cause: new Error("...or repeatableFn does not behave repeatable")};
|
|
63
|
+
throw e;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
resolvedPromiseValues.set(e.promise, await e.promise);
|
|
69
|
+
// Try again. Now it will hit the resolved value
|
|
70
|
+
} else {
|
|
71
|
+
throw e;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* removes the retsync2promise lines. Cause we call repeatableFn from multiple lines here
|
|
78
|
+
* @param stack
|
|
79
|
+
*/
|
|
80
|
+
function fixStack(stack?: string) {
|
|
81
|
+
return stack?.replaceAll(/^.*retsync2promise.*$/gm,"")
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Makes a promise usable in retsync code.
|
|
87
|
+
* @param savedPromise You must save/fix the promise somewhere, so you reuse it the next time you encounter it.
|
|
88
|
+
*/
|
|
89
|
+
export function promise2retsync<T>(savedPromise: Promise<T>): T {
|
|
90
|
+
if(resolvedPromiseValues.has(savedPromise)) {
|
|
91
|
+
return resolvedPromiseValues.get(savedPromise) as T;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
throw new RetsyncWaitsForPromiseException(savedPromise)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
const globalObj = {};
|
|
98
|
+
const resourcePromises = newDefaultWeakMap((key) => new Map<string | number | undefined, Promise<unknown>>())
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Makes async code usable in retsync code.
|
|
102
|
+
* <p>
|
|
103
|
+
* Because retsync code is repeatable. This call must be associated a certain **identifiable resource**, so we know if that resource is already at loading progress.
|
|
104
|
+
* Therefore, you have the idObj and idKey parameters. Example:
|
|
105
|
+
* <code>asyncResource2retsync( async() => {...load the avatar...}, myUser, "getAvatar");</code>
|
|
106
|
+
* So the User#getAvatar is, what uniquely identifies the loaderFn here.
|
|
107
|
+
* </p>
|
|
108
|
+
* @param loaderFn
|
|
109
|
+
* @param idObj object to associate this call to. undefined means globally and the idKey primitive value is the only key.
|
|
110
|
+
* @param idKey Additional primitive key under idObj.
|
|
111
|
+
*/
|
|
112
|
+
export function asyncResource2retsync<T>(loaderFn: ()=> Promise<T>, idObj: object | undefined, idKey?: (string|number)): T {
|
|
113
|
+
idObj = idObj || globalObj;
|
|
114
|
+
|
|
115
|
+
const promisesForIdObj = resourcePromises.get(idObj);
|
|
116
|
+
|
|
117
|
+
let promise = promisesForIdObj.get(idKey);
|
|
118
|
+
if(!promise) {
|
|
119
|
+
promise = loaderFn();
|
|
120
|
+
promisesForIdObj.set(idKey, promise);
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
return promise2retsync(promise as Promise<T>);
|
|
124
|
+
}
|
|
125
|
+
catch (e) {
|
|
126
|
+
// Flag as no-check-needed to save time (it's not necessary):
|
|
127
|
+
if(e instanceof RetsyncWaitsForPromiseException) {
|
|
128
|
+
e.checkSaved = false;
|
|
129
|
+
}
|
|
130
|
+
throw e;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
export class RetsyncWaitsForPromiseException extends Error {
|
|
137
|
+
promise: Promise<any>;
|
|
138
|
+
/**
|
|
139
|
+
* Overrides {@link Retsync2promiseOptions#checkSaved}
|
|
140
|
+
*/
|
|
141
|
+
checkSaved?: boolean;
|
|
142
|
+
|
|
143
|
+
constructor(promise: Promise<any>) {
|
|
144
|
+
super("Some retsync style code (see call stack / caller of promise2retsync) wants to await an async operation. To make this possible, you need to wrapt it at some ancestor caller level with retsync2promise. I.e. 'const result = await retsync2promise(() => {...your **retryable*** - synchronous code...}});");
|
|
145
|
+
this.promise = promise;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export function checkThatCallerHandlesRetsync() {
|
|
150
|
+
if(!callerHandlesRetsync) {
|
|
151
|
+
throw new Error("The method, you are calling uses retsync code and needs to be wrapped at some ancestor caller level with retsync2promise. I.e. 'const result = await retsync2promise(() => {...call the function that (deep inside) uses **retryable*** - synchronous code...}});");
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Makes a an async function usable in retsync code.
|
|
159
|
+
*/
|
|
160
|
+
//export function asyncFn2retsync<T>(asyncFn: () => Promise<T>): T {
|
|
161
|
+
// The call must be re-identified. It's only possible, when all reads were recorded, like with react-deepwatch. See react-deepwatch.txt
|
|
162
|
+
//}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/Util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":"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"}
|
package/dist/default/Util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../Util.ts"],"names":[],"mappings":"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"}
|
package/index_esm.mjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// A wrapper file for ESM to avoid the 'dual package hazard'. See https://nodejs.org/api/packages.html#approach-1-use-an-es-module-wrapper
|
|
2
|
-
|
|
3
|
-
import cjsCommon from "./common.js"
|
|
4
|
-
export const RecordedRead = cjsCommon.RecordedRead;
|
|
5
|
-
export const ClassTrackingConfiguration = cjsCommon.ClassTrackingConfiguration;
|
|
6
|
-
export const IteratorReturningProxiedValue = cjsCommon.IteratorReturningProxiedValue;
|
|
7
|
-
export const GetIteratorValueProxiedFn = cjsCommon.GetIteratorValueProxiedFn;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import cjsProxyFacade from "./proxyFacade.js"
|
|
12
|
-
export const ProxyFacade = cjsProxyFacade.ProxyFacade;
|
|
13
|
-
export const FacadeProxyHandler = cjsProxyFacade.FacadeProxyHandler;
|
|
14
|
-
export const invalidateObject = cjsProxyFacade.invalidateObject;
|
|
15
|
-
export const getGlobalOrig = cjsProxyFacade.getGlobalOrig;
|
|
16
|
-
export const deleteProperty = cjsProxyFacade.deleteProperty;
|
|
17
|
-
export const changeTrackedOrigObjects = cjsProxyFacade.changeTrackedOrigObjects;
|
|
18
|
-
export const ForWatchedProxyHandler = cjsProxyFacade.ForWatchedProxyHandler
|
|
19
|
-
export const dualUseTracker_callOrigMethodOnTarget = cjsProxyFacade.dualUseTracker_callOrigMethodOnTarget;
|
|
20
|
-
export const DualUseTracker = cjsProxyFacade.DualUseTracker;
|
|
21
|
-
export const RecordedReadOnProxiedObject = cjsProxyFacade.RecordedReadOnProxiedObject;
|
|
22
|
-
|
|
23
|
-
import cjsOrigChangeTracking from "./origChangeTracking.js"
|
|
24
|
-
export const installChangeTracker = cjsOrigChangeTracking.installChangeTracker;
|
|
25
|
-
|
|
26
|
-
import cjsClassTrackers_Array from "./class-trackers/Array.js";
|
|
27
|
-
export const RecordedArrayValuesRead = cjsClassTrackers_Array.RecordedArrayValuesRead
|
|
28
|
-
|
|
29
|
-
import cjsClassTrackers_Map from "./class-trackers/Map.js";
|
|
30
|
-
export const RecordedMap_has = cjsClassTrackers_Map.RecordedMap_has;
|
|
31
|
-
export const RecordedMap_get = cjsClassTrackers_Map.RecordedMap_get;
|
|
32
|
-
export const RecordedMapEntriesRead = cjsClassTrackers_Map.RecordedMapEntriesRead;
|
|
33
|
-
export const RecordedMapKeysRead = cjsClassTrackers_Map.RecordedMapKeysRead;
|
|
34
|
-
export const RecordedMapValuesRead = cjsClassTrackers_Map.RecordedMapValuesRead;
|
|
35
|
-
|
|
36
|
-
import cjsClassTrackers_Set from "./class-trackers/Set.js";
|
|
37
|
-
export const RecordedSet_has = cjsClassTrackers_Set.RecordedSet_has;
|
|
38
|
-
export const RecordedSetValuesRead = cjsClassTrackers_Set.RecordedSetValuesRead;
|
|
39
|
-
|
|
40
|
-
import cjsWatchedProxyFacade from "./watchedProxyFacade.js"
|
|
41
|
-
export const RecordedValueRead = cjsWatchedProxyFacade.RecordedValueRead;
|
|
42
|
-
export const RecordedUnspecificRead = cjsWatchedProxyFacade.RecordedUnspecificRead;
|
|
43
|
-
export const RecordedPropertyRead = cjsWatchedProxyFacade.RecordedPropertyRead;
|
|
44
|
-
export const RecordedOwnKeysRead = cjsWatchedProxyFacade.RecordedOwnKeysRead;
|
|
45
|
-
export const WatchedProxyFacade = cjsWatchedProxyFacade.WatchedProxyFacade;
|
|
46
|
-
export const WatchedProxyHandler = cjsWatchedProxyFacade.WatchedProxyHandler;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|