@futdevpro/fsm-dynamo 1.20.139 → 1.20.140
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/build/_models/control-models/poll.control-model.d.ts +5 -1
- package/build/_models/control-models/poll.control-model.d.ts.map +1 -1
- package/build/_models/control-models/poll.control-model.js +20 -5
- package/build/_models/control-models/poll.control-model.js.map +1 -1
- package/build-esm/_models/control-models/poll.control-model.js +20 -5
- package/package.json +1 -1
|
@@ -60,7 +60,11 @@ export declare class DyFM_Poll_ControlModel<T> {
|
|
|
60
60
|
constructor(set: Partial<DyFM_Poll_ControlModel<T>>);
|
|
61
61
|
/**
|
|
62
62
|
* The former `rxjs.timer(delay, period).subscribe(tick)`: the first tick after `delay` ms, then every `period` ms;
|
|
63
|
-
* a non-positive / missing period means ONE tick (as with `timer(delay)`).
|
|
63
|
+
* a non-positive / missing period means ONE tick (as with `timer(delay)`).
|
|
64
|
+
*
|
|
65
|
+
* BFR-CCAPREVISIONED-034 — a tick never starts while the previous one still runs: a period that comes during a slow
|
|
66
|
+
* `pollDo` is SKIPPED (measured before: a 1300 ms `pollDo` on a 400 ms period ran 4 at once). A tick's rejection is
|
|
67
|
+
* caught here, so it never becomes an unhandled promise rejection.
|
|
64
68
|
*/
|
|
65
69
|
private static schedule;
|
|
66
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAsB,CAAC,CAAC;IACnC,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAuB;IAEpE,IAAI,EAAE,MAAM,CAAC;IAEb,gFAAgF;IAChF,IAAI,EAAE,yBAAyB,CAAC;IAChC,mFAAmF;IACnF,OAAO,EAAE,2BAA2B,CAAC;IACrC,+EAA+E;IACvE,SAAS,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAyC;IAChF;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAK;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAc;IACzC,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAS;IACzD,kFAAkF;IAClF,SAAiB,YAAY,EAAE,OAAO,CAAC;IACvC,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAS;IACzD,kFAAkF;IAClF,SAAiB,YAAY,EAAE,OAAO,CAAC;gBAGrC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAmCzC
|
|
1
|
+
{"version":3,"file":"poll.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,sBAAsB,CAAC,CAAC;IACnC,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAuB;IAEpE,IAAI,EAAE,MAAM,CAAC;IAEb,gFAAgF;IAChF,IAAI,EAAE,yBAAyB,CAAC;IAChC,mFAAmF;IACnF,OAAO,EAAE,2BAA2B,CAAC;IACrC,+EAA+E;IACvE,SAAS,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAyC;IAChF;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAK;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAc;IACzC,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAS;IACzD,kFAAkF;IAClF,SAAiB,YAAY,EAAE,OAAO,CAAC;IACvC,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAS;IACzD,kFAAkF;IAClF,SAAiB,YAAY,EAAE,OAAO,CAAC;gBAGrC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAmCzC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;IAmDvB;;;OAGG;YACW,SAAS;IAqCvB;;;OAGG;IACH,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI;IAe/B,IAAI,IAAI,IAAI;IAKZ,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;CAKrB;AAGD,gFAAgF;AAChF,OAAO,EAAE,sBAAsB,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -82,17 +82,30 @@ class DyFM_Poll_ControlModel {
|
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
84
|
* The former `rxjs.timer(delay, period).subscribe(tick)`: the first tick after `delay` ms, then every `period` ms;
|
|
85
|
-
* a non-positive / missing period means ONE tick (as with `timer(delay)`).
|
|
85
|
+
* a non-positive / missing period means ONE tick (as with `timer(delay)`).
|
|
86
|
+
*
|
|
87
|
+
* BFR-CCAPREVISIONED-034 — a tick never starts while the previous one still runs: a period that comes during a slow
|
|
88
|
+
* `pollDo` is SKIPPED (measured before: a 1300 ms `pollDo` on a 400 ms period ran 4 at once). A tick's rejection is
|
|
89
|
+
* caught here, so it never becomes an unhandled promise rejection.
|
|
86
90
|
*/
|
|
87
91
|
static schedule(delay, period, tick) {
|
|
88
92
|
let timeout;
|
|
89
93
|
let interval;
|
|
90
94
|
let closed = false;
|
|
95
|
+
let inFlight = false;
|
|
91
96
|
/** Runs one tick — a stopped poll never ticks again. */
|
|
92
97
|
const run = () => {
|
|
93
|
-
if (
|
|
94
|
-
|
|
98
|
+
if (closed || inFlight) {
|
|
99
|
+
return;
|
|
95
100
|
}
|
|
101
|
+
inFlight = true;
|
|
102
|
+
tick()
|
|
103
|
+
.catch((error) => {
|
|
104
|
+
console.error('DYNAMO ERROR: DyFM_Poll tick failed', error);
|
|
105
|
+
})
|
|
106
|
+
.finally(() => {
|
|
107
|
+
inFlight = false;
|
|
108
|
+
});
|
|
96
109
|
};
|
|
97
110
|
timeout = setTimeout(() => {
|
|
98
111
|
timeout = undefined;
|
|
@@ -138,11 +151,13 @@ class DyFM_Poll_ControlModel {
|
|
|
138
151
|
this.pollDoError(error);
|
|
139
152
|
}
|
|
140
153
|
else {
|
|
141
|
-
|
|
154
|
+
// BFR-CCAPREVISIONED-034 — said, ⛔ thrown into an unawaited promise (every failing tick was an
|
|
155
|
+
// unhandledRejection)
|
|
156
|
+
console.error(new error_control_model_1.DyFM_Error({
|
|
142
157
|
message: `DYNAMO ERROR: ` +
|
|
143
158
|
`\nDynamoPoll: "${this.name}" pollDo was UNSUCCESSFUL`,
|
|
144
159
|
error: error,
|
|
145
|
-
});
|
|
160
|
+
}));
|
|
146
161
|
}
|
|
147
162
|
});
|
|
148
163
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":";;;AAAA,0EAAkE;AAClE,oEAAiE;AACjE,+DAAmD;AAKnD;;;;;;;;;;;;;;GAcG;AACH,MAAa,sBAAsB;IACjC,6EAA6E;IAC7E,MAAM,CAAU,cAAc,GAAkB,GAAY,EAAE,CAAC,IAAI,CAAC;IAEpE,IAAI,CAAS;IAEb,gFAAgF;IAChF,IAAI,CAA4B;IAChC,mFAAmF;IACnF,OAAO,CAA8B;IAIrC;;;OAGG;IACM,MAAM,CAA0B;IACzC;;;;;;OAMG;IACM,SAAS,GAAwB,sBAAsB,CAAC,cAAc,CAAC;IAChF;;OAEG;IACM,OAAO,CAAoB;IACpC;;OAEG;IACM,WAAW,CAAwB;IACnC,IAAI,CAAS;IACb,SAAS,GAAW,CAAC,CAAC;IACtB,UAAU,GAAW,CAAC,GAAG,oBAAM,CAAC;IACzC,yFAAyF;IAChF,UAAU,GAAgC,KAAK,CAAC;IAGzD,yFAAyF;IAChF,UAAU,GAAgC,KAAK,CAAC;IAIzD,YACE,GAAuC;QAEvC,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEzB,2FAA2F;YAC3F,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACzC,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC,cAAc,CAAC;YACzD,CAAC;YAED,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CACX,iEAAiE;oBACjE,gCAAgC,CACjC,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,oBAAM,CAAC;YAC/B,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CACV,gFAAgF,CACjF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,gCAAgC,CAAC;YAEzD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,gCAAU,CAAC;gBACnB,OAAO,EAAE,4CAA4C;aACtD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"poll.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/poll.control-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,17 +79,30 @@ export class DyFM_Poll_ControlModel {
|
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* The former `rxjs.timer(delay, period).subscribe(tick)`: the first tick after `delay` ms, then every `period` ms;
|
|
82
|
-
* a non-positive / missing period means ONE tick (as with `timer(delay)`).
|
|
82
|
+
* a non-positive / missing period means ONE tick (as with `timer(delay)`).
|
|
83
|
+
*
|
|
84
|
+
* BFR-CCAPREVISIONED-034 — a tick never starts while the previous one still runs: a period that comes during a slow
|
|
85
|
+
* `pollDo` is SKIPPED (measured before: a 1300 ms `pollDo` on a 400 ms period ran 4 at once). A tick's rejection is
|
|
86
|
+
* caught here, so it never becomes an unhandled promise rejection.
|
|
83
87
|
*/
|
|
84
88
|
static schedule(delay, period, tick) {
|
|
85
89
|
let timeout;
|
|
86
90
|
let interval;
|
|
87
91
|
let closed = false;
|
|
92
|
+
let inFlight = false;
|
|
88
93
|
/** Runs one tick — a stopped poll never ticks again. */
|
|
89
94
|
const run = () => {
|
|
90
|
-
if (
|
|
91
|
-
|
|
95
|
+
if (closed || inFlight) {
|
|
96
|
+
return;
|
|
92
97
|
}
|
|
98
|
+
inFlight = true;
|
|
99
|
+
tick()
|
|
100
|
+
.catch((error) => {
|
|
101
|
+
console.error('DYNAMO ERROR: DyFM_Poll tick failed', error);
|
|
102
|
+
})
|
|
103
|
+
.finally(() => {
|
|
104
|
+
inFlight = false;
|
|
105
|
+
});
|
|
93
106
|
};
|
|
94
107
|
timeout = setTimeout(() => {
|
|
95
108
|
timeout = undefined;
|
|
@@ -135,11 +148,13 @@ export class DyFM_Poll_ControlModel {
|
|
|
135
148
|
this.pollDoError(error);
|
|
136
149
|
}
|
|
137
150
|
else {
|
|
138
|
-
|
|
151
|
+
// BFR-CCAPREVISIONED-034 — said, ⛔ thrown into an unawaited promise (every failing tick was an
|
|
152
|
+
// unhandledRejection)
|
|
153
|
+
console.error(new DyFM_Error({
|
|
139
154
|
message: `DYNAMO ERROR: ` +
|
|
140
155
|
`\nDynamoPoll: "${this.name}" pollDo was UNSUCCESSFUL`,
|
|
141
156
|
error: error,
|
|
142
|
-
});
|
|
157
|
+
}));
|
|
143
158
|
}
|
|
144
159
|
});
|
|
145
160
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.140",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "full-stack-package",
|