@zajno/common 1.3.13 → 1.3.14

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.
Files changed (75) hide show
  1. package/coverage/clover.xml +16 -12
  2. package/coverage/coverage-final.json +1 -1
  3. package/coverage/lcov-report/index.html +14 -14
  4. package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
  5. package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
  6. package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
  7. package/coverage/lcov-report/src/async/index.html +1 -1
  8. package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
  9. package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
  10. package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
  11. package/coverage/lcov-report/src/dates/format.ts.html +1 -1
  12. package/coverage/lcov-report/src/dates/index.html +1 -1
  13. package/coverage/lcov-report/src/dates/index.ts.html +1 -1
  14. package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
  15. package/coverage/lcov-report/src/dates/period.ts.html +1 -1
  16. package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
  17. package/coverage/lcov-report/src/dates/types.ts.html +1 -1
  18. package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
  19. package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
  20. package/coverage/lcov-report/src/event.ts.html +1 -1
  21. package/coverage/lcov-report/src/fields/index.html +1 -1
  22. package/coverage/lcov-report/src/fields/update.ts.html +1 -1
  23. package/coverage/lcov-report/src/functions.ts.html +1 -1
  24. package/coverage/lcov-report/src/index.html +15 -15
  25. package/coverage/lcov-report/src/lazy.light.ts.html +33 -21
  26. package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
  27. package/coverage/lcov-report/src/logger/console.ts.html +1 -1
  28. package/coverage/lcov-report/src/logger/index.html +1 -1
  29. package/coverage/lcov-report/src/logger/index.ts.html +1 -1
  30. package/coverage/lcov-report/src/logger/named.ts.html +1 -1
  31. package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
  32. package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
  33. package/coverage/lcov-report/src/math/calc.ts.html +1 -1
  34. package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
  35. package/coverage/lcov-report/src/math/index.html +1 -1
  36. package/coverage/lcov-report/src/math/index.ts.html +1 -1
  37. package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
  38. package/coverage/lcov-report/src/types.ts.html +1 -1
  39. package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
  40. package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
  41. package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
  42. package/coverage/lcov-report/src/validation/index.html +1 -1
  43. package/coverage/lcov-report/src/validation/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/validation/types.ts.html +1 -1
  45. package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
  46. package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
  47. package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
  48. package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
  49. package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
  50. package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
  51. package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
  52. package/coverage/lcov-report/src/viewModels/index.html +1 -1
  53. package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
  54. package/coverage/lcov.info +22 -16
  55. package/lib/disposer.d.ts.map +1 -1
  56. package/lib/disposer.js +3 -1
  57. package/lib/disposer.js.map +1 -1
  58. package/lib/lazy.d.ts +6 -2
  59. package/lib/lazy.d.ts.map +1 -1
  60. package/lib/lazy.js +22 -12
  61. package/lib/lazy.js.map +1 -1
  62. package/lib/lazy.light.d.ts +2 -1
  63. package/lib/lazy.light.d.ts.map +1 -1
  64. package/lib/lazy.light.js +11 -9
  65. package/lib/lazy.light.js.map +1 -1
  66. package/lib/pool.d.ts +12 -4
  67. package/lib/pool.d.ts.map +1 -1
  68. package/lib/pool.js +28 -5
  69. package/lib/pool.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src/disposer.ts +4 -1
  72. package/src/lazy.light.ts +15 -11
  73. package/src/lazy.ts +22 -15
  74. package/src/pool.ts +31 -8
  75. package/yarn.lock +1 -1
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.71% </span>
26
+ <span class="strong">81.82% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>6/7</span>
28
+ <span class='fraction'>9/11</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">75% </span>
40
+ <span class="strong">60% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>3/4</span>
42
+ <span class='fraction'>3/5</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.71% </span>
47
+ <span class="strong">81.82% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>6/7</span>
49
+ <span class='fraction'>9/11</span>
50
50
  </div>
51
51
 
52
52
 
@@ -82,7 +82,12 @@
82
82
  <a name='L23'></a><a href='#L23'>23</a>
83
83
  <a name='L24'></a><a href='#L24'>24</a>
84
84
  <a name='L25'></a><a href='#L25'>25</a>
85
- <a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
85
+ <a name='L26'></a><a href='#L26'>26</a>
86
+ <a name='L27'></a><a href='#L27'>27</a>
87
+ <a name='L28'></a><a href='#L28'>28</a>
88
+ <a name='L29'></a><a href='#L29'>29</a>
89
+ <a name='L30'></a><a href='#L30'>30</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
91
  <span class="cline-any cline-neutral">&nbsp;</span>
87
92
  <span class="cline-any cline-neutral">&nbsp;</span>
88
93
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -92,8 +97,9 @@
92
97
  <span class="cline-any cline-neutral">&nbsp;</span>
93
98
  <span class="cline-any cline-yes">2x</span>
94
99
  <span class="cline-any cline-yes">11x</span>
100
+ <span class="cline-any cline-yes">11x</span>
95
101
  <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-yes">11x</span>
97
103
  <span class="cline-any cline-neutral">&nbsp;</span>
98
104
  <span class="cline-any cline-yes">19x</span>
99
105
  <span class="cline-any cline-yes">1x</span>
@@ -104,11 +110,14 @@
104
110
  <span class="cline-any cline-neutral">&nbsp;</span>
105
111
  <span class="cline-any cline-no">&nbsp;</span>
106
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-no">&nbsp;</span>
107
114
  <span class="cline-any cline-neutral">&nbsp;</span>
108
115
  <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-yes">11x</span>
109
117
  <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
111
- export type LazyLight&lt;T&gt; = {
118
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { IDisposable } from './disposer';
119
+ &nbsp;
120
+ export type LazyLight&lt;T&gt; = IDisposable &amp; {
112
121
  readonly value: T;
113
122
  readonly hasValue: boolean;
114
123
  &nbsp;
@@ -116,21 +125,24 @@ export type LazyLight&lt;T&gt; = {
116
125
  };
117
126
  &nbsp;
118
127
  export function createLazy&lt;T&gt;(factory: () =&gt; T) {
119
- return {
120
- _factory: factory,
121
- _instance: undefined as T,
128
+ const _factory = factory;
129
+ let _instance: T = undefined;
130
+ &nbsp;
131
+ const res: LazyLight&lt;T&gt; = {
122
132
  get value() {
123
- if (this._instance === undefined) {
124
- this._instance = this._factory();
133
+ if (_instance === undefined) {
134
+ _instance = _factory();
125
135
  }
126
- return this._instance;
136
+ return _instance;
127
137
  },
128
- get hasValue() { return this._instance !== undefined; },
129
- <span class="fstat-no" title="function not covered" > reset(</span>) {
130
- <span class="cstat-no" title="statement not covered" > this._instance = undefined;</span>
138
+ get hasValue() { return _instance !== undefined; },
139
+ reset: <span class="fstat-no" title="function not covered" >() =</span>&gt; {
140
+ <span class="cstat-no" title="statement not covered" > _instance = undefined;</span>
131
141
  },
142
+ dispose: <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >res.reset(),</span>
143
+ };
132
144
  &nbsp;
133
- } as LazyLight&lt;T&gt;;
145
+ return res;
134
146
  }
135
147
  &nbsp;</pre></td></tr></table></pre>
136
148
 
@@ -139,7 +151,7 @@ export function createLazy&lt;T&gt;(factory: () =&gt; T) {
139
151
  <div class='footer quiet pad2 space-top1 center small'>
140
152
  Code coverage generated by
141
153
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
154
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
143
155
  </div>
144
156
  </div>
145
157
  <script src="../prettify.js"></script>
@@ -91,7 +91,7 @@ export function batchLoggers(...loggers: ILogger[]): ILogger {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
94
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -220,7 +220,7 @@ export class BufferedConsoleLogger implements ILogger {
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
223
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
223
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
224
224
  </div>
225
225
  </div>
226
226
  <script src="../../prettify.js"></script>
@@ -155,7 +155,7 @@
155
155
  <div class='footer quiet pad2 space-top1 center small'>
156
156
  Code coverage generated by
157
157
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
158
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
158
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="../../prettify.js"></script>
@@ -277,7 +277,7 @@ function _createImplementation(overrideMode: typeof Mode = undefined): ILogger {
277
277
  <div class='footer quiet pad2 space-top1 center small'>
278
278
  Code coverage generated by
279
279
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
280
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
280
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
281
281
  </div>
282
282
  </div>
283
283
  <script src="../../prettify.js"></script>
@@ -205,7 +205,7 @@ export abstract class NamedLogger implements ILogger, ILoggerSwitchable {
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
208
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
208
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
209
209
  </div>
210
210
  </div>
211
211
  <script src="../../prettify.js"></script>
@@ -151,7 +151,7 @@ export class ProxyLogger extends NamedLogger {
151
151
  <div class='footer quiet pad2 space-top1 center small'>
152
152
  Code coverage generated by
153
153
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
154
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
154
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
155
155
  </div>
156
156
  </div>
157
157
  <script src="../../prettify.js"></script>
@@ -847,7 +847,7 @@ export function arrayRepeat&lt;T&gt;(factory: Getter&lt;T&gt;, count = <span cla
847
847
  <div class='footer quiet pad2 space-top1 center small'>
848
848
  Code coverage generated by
849
849
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
850
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
850
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
851
851
  </div>
852
852
  </div>
853
853
  <script src="../../prettify.js"></script>
@@ -271,7 +271,7 @@ export function <span class="fstat-no" title="function not covered" >badRandomSt
271
271
  <div class='footer quiet pad2 space-top1 center small'>
272
272
  Code coverage generated by
273
273
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
274
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
274
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
275
275
  </div>
276
276
  </div>
277
277
  <script src="../../prettify.js"></script>
@@ -124,7 +124,7 @@ export function extendDistribution&lt;T extends keyof any&gt;(count: number, typ
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
127
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
127
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
128
128
  </div>
129
129
  </div>
130
130
  <script src="../../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
143
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../../prettify.js"></script>
@@ -145,7 +145,7 @@ export function format(n: number, digits?: number) {
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
148
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
148
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
149
149
  </div>
150
150
  </div>
151
151
  <script src="../../prettify.js"></script>
@@ -592,7 +592,7 @@ export class TransitionObserver&lt;T&gt; implements IDisposable {
592
592
  <div class='footer quiet pad2 space-top1 center small'>
593
593
  Code coverage generated by
594
594
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
595
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
595
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
596
596
  </div>
597
597
  </div>
598
598
  <script src="../prettify.js"></script>
@@ -154,7 +154,7 @@ export type TypedKeys&lt;T extends Object, K&gt; = {
154
154
  <div class='footer quiet pad2 space-top1 center small'>
155
155
  Code coverage generated by
156
156
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
157
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
157
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
158
158
  </div>
159
159
  </div>
160
160
  <script src="../prettify.js"></script>
@@ -142,7 +142,7 @@ export namespace <span class="branch-1 cbranch-no" title="branch not covered" >V
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
145
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
145
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../prettify.js"></script>
@@ -139,7 +139,7 @@ export default {
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
142
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  </div>
145
145
  <script src="../../prettify.js"></script>
@@ -208,7 +208,7 @@ export function <span class="fstat-no" title="function not covered" >validateObj
208
208
  <div class='footer quiet pad2 space-top1 center small'>
209
209
  Code coverage generated by
210
210
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
211
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
211
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
212
212
  </div>
213
213
  </div>
214
214
  <script src="../../prettify.js"></script>
@@ -185,7 +185,7 @@
185
185
  <div class='footer quiet pad2 space-top1 center small'>
186
186
  Code coverage generated by
187
187
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
188
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
188
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
189
189
  </div>
190
190
  </div>
191
191
  <script src="../../prettify.js"></script>
@@ -91,7 +91,7 @@ export * from './helpers';
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
94
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
94
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
95
95
  </div>
96
96
  </div>
97
97
  <script src="../../prettify.js"></script>
@@ -109,7 +109,7 @@ export class ValidationError extends Error {
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
112
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
112
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  </div>
115
115
  <script src="../../prettify.js"></script>
@@ -229,7 +229,7 @@ export const Validators = {
229
229
  <div class='footer quiet pad2 space-top1 center small'>
230
230
  Code coverage generated by
231
231
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
232
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
232
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
233
233
  </div>
234
234
  </div>
235
235
  <script src="../../prettify.js"></script>
@@ -142,7 +142,7 @@ export const Wrappers = {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
145
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
145
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  </div>
148
148
  <script src="../../prettify.js"></script>
@@ -238,7 +238,7 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
241
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
241
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
242
242
  </div>
243
243
  </div>
244
244
  <script src="../../prettify.js"></script>
@@ -556,7 +556,7 @@ export class MultiSelectString&lt;T extends string = string&gt; extends MultiSel
556
556
  <div class='footer quiet pad2 space-top1 center small'>
557
557
  Code coverage generated by
558
558
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
559
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
559
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
560
560
  </div>
561
561
  </div>
562
562
  <script src="../../prettify.js"></script>
@@ -181,7 +181,7 @@ export default NumberModel;
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
184
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
184
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  </div>
187
187
  <script src="../../prettify.js"></script>
@@ -448,7 +448,7 @@ export class SelectString&lt;T extends string = string&gt; extends Select&lt;T&g
448
448
  <div class='footer quiet pad2 space-top1 center small'>
449
449
  Code coverage generated by
450
450
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
451
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
451
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
452
452
  </div>
453
453
  </div>
454
454
  <script src="../../prettify.js"></script>
@@ -337,7 +337,7 @@ export abstract class ValidatableModel&lt;T = string&gt; {
337
337
  <div class='footer quiet pad2 space-top1 center small'>
338
338
  Code coverage generated by
339
339
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
340
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
340
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
341
341
  </div>
342
342
  </div>
343
343
  <script src="../../prettify.js"></script>
@@ -170,7 +170,7 @@
170
170
  <div class='footer quiet pad2 space-top1 center small'>
171
171
  Code coverage generated by
172
172
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
173
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
173
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
174
174
  </div>
175
175
  </div>
176
176
  <script src="../../prettify.js"></script>
@@ -211,7 +211,7 @@ export function mixinLabel&lt;T, TModel extends IValueModel&lt;T&gt;, TLabel = s
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
214
- at Thu Jan 20 2022 14:25:44 GMT+0000 (Coordinated Universal Time)
214
+ at Thu Jan 20 2022 17:54:25 GMT+0000 (Coordinated Universal Time)
215
215
  </div>
216
216
  </div>
217
217
  <script src="../../prettify.js"></script>
@@ -226,27 +226,33 @@ BRH:1
226
226
  end_of_record
227
227
  TN:
228
228
  SF:src/lazy.light.ts
229
- FN:9,createLazy
230
- FN:13,(anonymous_1)
231
- FN:19,(anonymous_2)
232
- FN:20,(anonymous_3)
233
- FNF:4
229
+ FN:10,createLazy
230
+ FN:15,(anonymous_1)
231
+ FN:21,(anonymous_2)
232
+ FN:22,(anonymous_3)
233
+ FN:25,(anonymous_4)
234
+ FNF:5
234
235
  FNH:3
235
236
  FNDA:11,createLazy
236
237
  FNDA:19,(anonymous_1)
237
238
  FNDA:27,(anonymous_2)
238
239
  FNDA:0,(anonymous_3)
239
- DA:9,2
240
- DA:10,11
241
- DA:14,19
242
- DA:15,1
243
- DA:17,19
244
- DA:19,27
245
- DA:21,0
246
- LF:7
247
- LH:6
248
- BRDA:14,0,0,1
249
- BRDA:14,0,1,18
240
+ FNDA:0,(anonymous_4)
241
+ DA:10,2
242
+ DA:11,11
243
+ DA:12,11
244
+ DA:14,11
245
+ DA:16,19
246
+ DA:17,1
247
+ DA:19,19
248
+ DA:21,27
249
+ DA:23,0
250
+ DA:25,0
251
+ DA:28,11
252
+ LF:11
253
+ LH:9
254
+ BRDA:16,0,0,1
255
+ BRDA:16,0,1,18
250
256
  BRF:2
251
257
  BRH:2
252
258
  end_of_record
@@ -1 +1 @@
1
- {"version":3,"file":"disposer.d.ts","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,IAAI,CAAC;CACZ;AAED,qBAAa,QAAQ;IAKL,QAAQ,CAAC,OAAO,EAAE,MAAM;IAHpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;gBAEtC,OAAO,GAAE,MAAa;IAE3C,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM;IAqBjD,OAAO,CAAC,EAAE,EAAE,MAAM;IAelB,OAAO,CAAC,GAAG,UAAQ;CAYtB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAE7E;AAED,qBAAa,UAAW,YAAW,WAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,WAAkB;IAC7C,SAAS,CAAC,WAAW,UAAS;IAEvB,OAAO,aAGZ;CACL"}
1
+ {"version":3,"file":"disposer.d.ts","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,IAAI,CAAC;CACZ;AAED,qBAAa,QAAQ;IAKL,QAAQ,CAAC,OAAO,EAAE,MAAM;IAHpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;gBAEtC,OAAO,GAAE,MAAa;IAE3C,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM;IAqBjD,OAAO,CAAC,EAAE,EAAE,MAAM;IAelB,OAAO,CAAC,GAAG,UAAQ;CAetB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAE7E;AAED,qBAAa,UAAW,YAAW,WAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,WAAkB;IAC7C,SAAS,CAAC,WAAW,UAAS;IAEvB,OAAO,aAGZ;CACL"}
package/lib/disposer.js CHANGED
@@ -41,9 +41,11 @@ class Disposer {
41
41
  if (log) {
42
42
  logger_1.default.log(`[Disposer:${this.logName || '<unknown>'}] Disposing ${this._disposers.length} items including named ones:`, Array.from(this._map.entries()).map(e => e[0]));
43
43
  }
44
- this._disposers.forEach(d => d());
44
+ const copy = this._disposers.slice().reverse();
45
45
  this._disposers.length = 0;
46
46
  this._map.clear();
47
+ // this should separate side effects
48
+ copy.forEach(d => d());
47
49
  }
48
50
  }
49
51
  exports.Disposer = Disposer;
@@ -1 +1 @@
1
- {"version":3,"file":"disposer.js","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAU9B,MAAa,QAAQ;IAKjB,YAAqB,UAAkB,IAAI;QAAtB,YAAO,GAAP,OAAO,CAAe;QAH1B,eAAU,GAAsB,EAAE,CAAC;QACnC,SAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEZ,CAAC;IAEhD,GAAG,CAAC,CAAgC,EAAE,EAAW;QAC7C,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,MAAM,EAAE,GAAoB,OAAO,CAAC,KAAK,UAAU;YAC/C,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,EAAE,EAAE;YACJ,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzB;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;QAED,CAAC,EAAE,CAAC;IACR,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,KAAK;QACf,IAAI,GAAG,EAAE;YACL,gBAAM,CAAC,GAAG,CACN,aAAa,IAAI,CAAC,OAAO,IAAI,WAAW,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,8BAA8B,EAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;SACL;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACJ;AAvDD,4BAuDC;AAED,SAAgB,gBAAgB,CAAC,GAAG,KAAwB;IACxD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAFD,4CAEC;AAED,MAAa,UAAU;IAAvB;QAEuB,aAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QACnC,gBAAW,GAAG,KAAK,CAAC;QAEvB,YAAO,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;CAAA;AATD,gCASC"}
1
+ {"version":3,"file":"disposer.js","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAU9B,MAAa,QAAQ;IAKjB,YAAqB,UAAkB,IAAI;QAAtB,YAAO,GAAP,OAAO,CAAe;QAH1B,eAAU,GAAsB,EAAE,CAAC;QACnC,SAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEZ,CAAC;IAEhD,GAAG,CAAC,CAAgC,EAAE,EAAW;QAC7C,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,MAAM,EAAE,GAAoB,OAAO,CAAC,KAAK,UAAU;YAC/C,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,EAAE,EAAE;YACJ,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzB;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;QAED,CAAC,EAAE,CAAC;IACR,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,KAAK;QACf,IAAI,GAAG,EAAE;YACL,gBAAM,CAAC,GAAG,CACN,aAAa,IAAI,CAAC,OAAO,IAAI,WAAW,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,8BAA8B,EAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;SACL;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAElB,oCAAoC;QACpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACJ;AA1DD,4BA0DC;AAED,SAAgB,gBAAgB,CAAC,GAAG,KAAwB;IACxD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAFD,4CAEC;AAED,MAAa,UAAU;IAAvB;QAEuB,aAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QACnC,gBAAW,GAAG,KAAK,CAAC;QAEvB,YAAO,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;CAAA;AATD,gCASC"}
package/lib/lazy.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export default class Lazy<T> {
1
+ import type { IDisposable } from 'disposer';
2
+ export default class Lazy<T> implements IDisposable {
2
3
  private _factory;
3
4
  private _instance;
4
5
  constructor(_factory: (() => T));
@@ -6,8 +7,9 @@ export default class Lazy<T> {
6
7
  get value(): T;
7
8
  prewarm(): T;
8
9
  reset(): void;
10
+ dispose: () => void;
9
11
  }
10
- export declare class LazyPromise<T> {
12
+ export declare class LazyPromise<T> implements IDisposable {
11
13
  private readonly _factory;
12
14
  private readonly initial;
13
15
  private _instance;
@@ -16,6 +18,8 @@ export declare class LazyPromise<T> {
16
18
  constructor(_factory: () => Promise<T>, initial?: T);
17
19
  get busy(): boolean;
18
20
  get(): T;
21
+ private setInstance;
19
22
  reset(): void;
23
+ dispose: () => void;
20
24
  }
21
25
  //# sourceMappingURL=lazy.d.ts.map
package/lib/lazy.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC;IAKX,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,SAAS,CAAW;gBAER,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IAIvC,IAAI,QAAQ,YAAqC;IAEjD,IAAI,KAAK,MAKR;IAED,OAAO;IAIP,KAAK;CAGR;AAED,qBAAa,WAAW,CAAC,CAAC;IAWlB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT5B,OAAO,CAAC,SAAS,CAAW;IAG5B,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,OAAO,CAAS;gBAGH,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,CAAQ;IAMtC,IAAI,IAAI,YAAyB;IAEjC,GAAG;IAeH,KAAK;CAOR"}
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC,CAAE,YAAW,WAAW;IAKnC,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,SAAS,CAAW;gBAER,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IAIvC,IAAI,QAAQ,YAAqC;IAEjD,IAAI,KAAK,MAKR;IAED,OAAO;IAIP,KAAK;IAIL,OAAO,aAAsB;CAChC;AAED,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,WAAW;IAW1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT5B,OAAO,CAAC,SAAS,CAAW;IAG5B,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,OAAO,CAAS;gBAGH,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,CAAQ;IAMtC,IAAI,IAAI,YAAyB;IAEjC,GAAG;IAUH,OAAO,CAAC,WAAW,CAMjB;IAGF,KAAK;IAML,OAAO,aAAsB;CAChC"}
package/lib/lazy.js CHANGED
@@ -7,6 +7,7 @@ class Lazy {
7
7
  constructor(_factory) {
8
8
  this._factory = _factory;
9
9
  this._instance = null;
10
+ this.dispose = () => this.reset();
10
11
  mobx_1.makeObservable(this);
11
12
  }
12
13
  get hasValue() { return this._instance != null; }
@@ -35,6 +36,13 @@ class LazyPromise {
35
36
  this._instance = null;
36
37
  this._busy = false;
37
38
  this._loaded = false;
39
+ this.setInstance = (res) => {
40
+ const wasBusy = this._busy;
41
+ this._busy = false;
42
+ this._loaded = wasBusy;
43
+ this._instance = wasBusy ? res : null;
44
+ };
45
+ this.dispose = () => this.reset();
38
46
  mobx_1.makeObservable(this);
39
47
  this._instance = initial;
40
48
  }
@@ -42,22 +50,14 @@ class LazyPromise {
42
50
  get() {
43
51
  if (!this._loaded && !this._busy) {
44
52
  this._busy = true;
45
- this._factory().then(res => {
46
- mobx_1.transaction(() => {
47
- this._busy = false;
48
- this._loaded = true;
49
- this._instance = res;
50
- });
51
- });
53
+ this._factory().then(this.setInstance);
52
54
  }
53
55
  return this._instance;
54
56
  }
55
57
  reset() {
56
- mobx_1.transaction(() => {
57
- this._busy = false;
58
- this._instance = this.initial;
59
- this._loaded = false;
60
- });
58
+ this._busy = false;
59
+ this._instance = this.initial;
60
+ this._loaded = false;
61
61
  }
62
62
  }
63
63
  tslib_1.__decorate([
@@ -68,5 +68,15 @@ tslib_1.__decorate([
68
68
  mobx_1.observable,
69
69
  tslib_1.__metadata("design:type", Object)
70
70
  ], LazyPromise.prototype, "_busy", void 0);
71
+ tslib_1.__decorate([
72
+ mobx_1.action,
73
+ tslib_1.__metadata("design:type", Object)
74
+ ], LazyPromise.prototype, "setInstance", void 0);
75
+ tslib_1.__decorate([
76
+ mobx_1.action,
77
+ tslib_1.__metadata("design:type", Function),
78
+ tslib_1.__metadata("design:paramtypes", []),
79
+ tslib_1.__metadata("design:returntype", void 0)
80
+ ], LazyPromise.prototype, "reset", null);
71
81
  exports.LazyPromise = LazyPromise;
72
82
  //# sourceMappingURL=lazy.js.map
package/lib/lazy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":";;;;AAAA,+BAA+D;AAE/D,MAAqB,IAAI;IAKrB,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAF/B,cAAS,GAAM,IAAI,CAAC;QAGxB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;CACJ;AAtBG;IADC,iBAAU,CAAC,GAAG;;uCACa;AAHhC,uBAyBC;AAED,MAAa,WAAW;IAUpB,YACqB,QAA0B,EAC1B,UAAa,IAAI;QADjB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAAU;QAT9B,cAAS,GAAM,IAAI,CAAC;QAGpB,UAAK,GAAG,KAAK,CAAC;QAEd,YAAO,GAAG,KAAK,CAAC;QAMpB,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjC,GAAG;QACC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACvB,kBAAW,CAAC,GAAG,EAAE;oBACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACzB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,KAAK;QACD,kBAAW,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAvCG;IADC,iBAAU,CAAC,GAAG;;8CACa;AAG5B;IADC,iBAAU;;0CACW;AAN1B,kCA0CC"}
1
+ {"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":";;;;AACA,+BAA0D;AAE1D,MAAqB,IAAI;IAKrB,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAF/B,cAAS,GAAM,IAAI,CAAC;QAuB5B,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QApBzB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;CAGJ;AAxBG;IADC,iBAAU,CAAC,GAAG;;uCACa;AAHhC,uBA2BC;AAED,MAAa,WAAW;IAUpB,YACqB,QAA0B,EAC1B,UAAa,IAAI;QADjB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAAU;QAT9B,cAAS,GAAM,IAAI,CAAC;QAGpB,UAAK,GAAG,KAAK,CAAC;QAEd,YAAO,GAAG,KAAK,CAAC;QAsBhB,gBAAW,GAAG,CAAC,GAAM,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YAE3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC;QASF,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QA/BzB,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjC,GAAG;QACC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1C;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAYD,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;CAGJ;AA3CG;IADC,iBAAU,CAAC,GAAG;;8CACa;AAG5B;IADC,iBAAU;;0CACW;AAwBtB;IADC,aAAM;;gDAOL;AAGF;IADC,aAAM;;;;wCAKN;AA3CL,kCA8CC"}
@@ -1,4 +1,5 @@
1
- export declare type LazyLight<T> = {
1
+ import type { IDisposable } from './disposer';
2
+ export declare type LazyLight<T> = IDisposable & {
2
3
  readonly value: T;
3
4
  readonly hasValue: boolean;
4
5
  reset(): void;