@zajno/common 1.5.4 → 1.5.5
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/coverage/clover.xml +35 -32
- package/coverage/coverage-final.json +1 -1
- package/coverage/lcov-report/index.html +14 -14
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
- package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/async/index.html +1 -1
- package/coverage/lcov-report/src/async/timeout.ts.html +1 -1
- package/coverage/lcov-report/src/cache.ts.html +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/disposer.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +1 -1
- package/coverage/lcov-report/src/fields/index.html +14 -14
- package/coverage/lcov-report/src/fields/update.ts.html +40 -19
- package/coverage/lcov-report/src/functions.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +1 -1
- package/coverage/lcov-report/src/lazy.light.ts.html +1 -1
- package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/src/logger/console.ts.html +1 -1
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +1 -1
- package/coverage/lcov-report/src/logger/named.ts.html +1 -1
- package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/math/calc.ts.html +1 -1
- package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/observersMap.ts.html +1 -1
- package/coverage/lcov-report/src/observingCache.ts.html +1 -1
- package/coverage/lcov-report/src/tempoCache.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/CommonModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/LoadingModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/TextModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +1 -1
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +115 -102
- package/lib/fields/update.d.ts +5 -4
- package/lib/fields/update.d.ts.map +1 -1
- package/lib/fields/update.js +13 -7
- package/lib/fields/update.js.map +1 -1
- package/package.json +1 -1
- package/src/fields/update.ts +18 -11
|
@@ -274,7 +274,7 @@ export class FlagModel implements IFlagModel, IFlagModelReadonly {
|
|
|
274
274
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
275
275
|
Code coverage generated by
|
|
276
276
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
277
|
-
at
|
|
277
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
278
278
|
</div>
|
|
279
279
|
</div>
|
|
280
280
|
<script src="../../prettify.js"></script>
|
|
@@ -220,7 +220,7 @@ export async function withLoading<T>(this: void, model: IValueModel<boo
|
|
|
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
|
|
223
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
226
|
<script src="../../prettify.js"></script>
|
|
@@ -598,7 +598,7 @@ export class MultiSelectString<T extends string = string> extends MultiSel
|
|
|
598
598
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
599
599
|
Code coverage generated by
|
|
600
600
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
601
|
-
at
|
|
601
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
602
602
|
</div>
|
|
603
603
|
</div>
|
|
604
604
|
<script src="../../prettify.js"></script>
|
|
@@ -214,7 +214,7 @@ export default NumberModel;
|
|
|
214
214
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
215
215
|
Code coverage generated by
|
|
216
216
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
217
|
-
at
|
|
217
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
218
218
|
</div>
|
|
219
219
|
</div>
|
|
220
220
|
<script src="../../prettify.js"></script>
|
|
@@ -520,7 +520,7 @@ export class SelectString<T extends string = string> extends Select<T&g
|
|
|
520
520
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
521
521
|
Code coverage generated by
|
|
522
522
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
523
|
-
at
|
|
523
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
524
524
|
</div>
|
|
525
525
|
</div>
|
|
526
526
|
<script src="../../prettify.js"></script>
|
|
@@ -445,7 +445,7 @@ export class TextInputVM extends ValidatableModel<string> implements IValu
|
|
|
445
445
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
446
446
|
Code coverage generated by
|
|
447
447
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
448
|
-
at
|
|
448
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
449
449
|
</div>
|
|
450
450
|
</div>
|
|
451
451
|
<script src="../../prettify.js"></script>
|
|
@@ -370,7 +370,7 @@ export abstract class ValidatableModel<T = string> {
|
|
|
370
370
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
371
371
|
Code coverage generated by
|
|
372
372
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
373
|
-
at
|
|
373
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
374
374
|
</div>
|
|
375
375
|
</div>
|
|
376
376
|
<script src="../../prettify.js"></script>
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
216
216
|
Code coverage generated by
|
|
217
217
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
218
|
-
at
|
|
218
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
219
219
|
</div>
|
|
220
220
|
</div>
|
|
221
221
|
<script src="../../prettify.js"></script>
|
|
@@ -211,7 +211,7 @@ export function mixinLabel<T, TModel extends IValueModel<T>, 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
|
|
214
|
+
at Sat Jun 18 2022 09:26:04 GMT+0000 (Coordinated Universal Time)
|
|
215
215
|
</div>
|
|
216
216
|
</div>
|
|
217
217
|
<script src="../../prettify.js"></script>
|
package/coverage/lcov.info
CHANGED
|
@@ -2024,10 +2024,10 @@ FN:16,updateFieldExtended
|
|
|
2024
2024
|
FN:25,(anonymous_4)
|
|
2025
2025
|
FN:39,(anonymous_5)
|
|
2026
2026
|
FN:40,(anonymous_6)
|
|
2027
|
-
FN:
|
|
2028
|
-
FN:
|
|
2029
|
-
FN:
|
|
2030
|
-
FN:
|
|
2027
|
+
FN:58,updateArray
|
|
2028
|
+
FN:81,(anonymous_8)
|
|
2029
|
+
FN:95,(anonymous_9)
|
|
2030
|
+
FN:96,(anonymous_10)
|
|
2031
2031
|
FNF:11
|
|
2032
2032
|
FNH:5
|
|
2033
2033
|
FNDA:0,updateField
|
|
@@ -2054,41 +2054,44 @@ DA:32,0
|
|
|
2054
2054
|
DA:35,0
|
|
2055
2055
|
DA:39,38
|
|
2056
2056
|
DA:40,1
|
|
2057
|
-
DA:
|
|
2058
|
-
DA:
|
|
2059
|
-
DA:
|
|
2060
|
-
DA:66,5
|
|
2057
|
+
DA:58,1
|
|
2058
|
+
DA:63,6
|
|
2059
|
+
DA:64,1
|
|
2061
2060
|
DA:67,5
|
|
2062
|
-
DA:
|
|
2061
|
+
DA:68,5
|
|
2063
2062
|
DA:72,5
|
|
2064
2063
|
DA:73,5
|
|
2065
2064
|
DA:74,5
|
|
2066
2065
|
DA:75,5
|
|
2067
|
-
DA:
|
|
2066
|
+
DA:76,5
|
|
2068
2067
|
DA:79,5
|
|
2069
|
-
DA:80,
|
|
2070
|
-
DA:
|
|
2068
|
+
DA:80,5
|
|
2069
|
+
DA:81,31
|
|
2071
2070
|
DA:83,10
|
|
2072
|
-
DA:
|
|
2071
|
+
DA:84,10
|
|
2073
2072
|
DA:86,10
|
|
2073
|
+
DA:87,10
|
|
2074
2074
|
DA:92,5
|
|
2075
|
-
DA:
|
|
2076
|
-
DA:
|
|
2077
|
-
DA:
|
|
2078
|
-
DA:
|
|
2079
|
-
DA:
|
|
2080
|
-
DA:
|
|
2081
|
-
DA:
|
|
2082
|
-
DA:
|
|
2083
|
-
DA:
|
|
2084
|
-
DA:
|
|
2085
|
-
DA:
|
|
2086
|
-
DA:108,
|
|
2087
|
-
DA:109,
|
|
2088
|
-
DA:110,
|
|
2089
|
-
DA:
|
|
2090
|
-
|
|
2091
|
-
|
|
2075
|
+
DA:95,5
|
|
2076
|
+
DA:96,15
|
|
2077
|
+
DA:97,12
|
|
2078
|
+
DA:98,12
|
|
2079
|
+
DA:99,7
|
|
2080
|
+
DA:100,0
|
|
2081
|
+
DA:102,7
|
|
2082
|
+
DA:104,7
|
|
2083
|
+
DA:105,7
|
|
2084
|
+
DA:106,5
|
|
2085
|
+
DA:107,1
|
|
2086
|
+
DA:108,1
|
|
2087
|
+
DA:109,1
|
|
2088
|
+
DA:110,0
|
|
2089
|
+
DA:115,5
|
|
2090
|
+
DA:116,5
|
|
2091
|
+
DA:117,4
|
|
2092
|
+
DA:120,5
|
|
2093
|
+
LF:49
|
|
2094
|
+
LH:39
|
|
2092
2095
|
BRDA:12,0,0,0
|
|
2093
2096
|
BRDA:22,1,0,0
|
|
2094
2097
|
BRDA:25,2,0,0
|
|
@@ -2097,78 +2100,88 @@ BRDA:29,3,0,0
|
|
|
2097
2100
|
BRDA:29,3,1,0
|
|
2098
2101
|
BRDA:29,4,0,0
|
|
2099
2102
|
BRDA:29,4,1,0
|
|
2100
|
-
BRDA:
|
|
2101
|
-
BRDA:
|
|
2102
|
-
BRDA:
|
|
2103
|
-
BRDA:
|
|
2104
|
-
BRDA:
|
|
2105
|
-
BRDA:
|
|
2106
|
-
BRDA:
|
|
2107
|
-
BRDA:
|
|
2108
|
-
BRDA:
|
|
2109
|
-
BRDA:
|
|
2110
|
-
BRDA:
|
|
2111
|
-
BRDA:
|
|
2112
|
-
BRDA:
|
|
2113
|
-
BRDA:
|
|
2114
|
-
BRDA:
|
|
2115
|
-
BRDA:
|
|
2116
|
-
BRDA:
|
|
2117
|
-
BRDA:
|
|
2118
|
-
BRDA:
|
|
2119
|
-
BRDA:
|
|
2120
|
-
BRDA:
|
|
2121
|
-
BRDA:
|
|
2122
|
-
BRDA:
|
|
2123
|
-
BRDA:
|
|
2124
|
-
BRDA:
|
|
2125
|
-
BRDA:
|
|
2126
|
-
BRDA:
|
|
2127
|
-
BRDA:
|
|
2128
|
-
BRDA:
|
|
2129
|
-
BRDA:
|
|
2130
|
-
BRDA:
|
|
2131
|
-
BRDA:
|
|
2132
|
-
BRDA:
|
|
2133
|
-
BRDA:
|
|
2134
|
-
BRDA:
|
|
2135
|
-
BRDA:
|
|
2136
|
-
BRDA:
|
|
2137
|
-
BRDA:
|
|
2138
|
-
BRDA:
|
|
2139
|
-
BRDA:
|
|
2140
|
-
BRDA:
|
|
2141
|
-
BRDA:
|
|
2142
|
-
BRDA:
|
|
2143
|
-
BRDA:
|
|
2144
|
-
BRDA:
|
|
2145
|
-
BRDA:
|
|
2146
|
-
BRDA:
|
|
2147
|
-
BRDA:
|
|
2148
|
-
BRDA:
|
|
2149
|
-
BRDA:
|
|
2150
|
-
BRDA:
|
|
2151
|
-
BRDA:
|
|
2152
|
-
BRDA:
|
|
2153
|
-
BRDA:
|
|
2154
|
-
BRDA:
|
|
2155
|
-
BRDA:
|
|
2156
|
-
BRDA:
|
|
2157
|
-
BRDA:
|
|
2158
|
-
BRDA:
|
|
2159
|
-
BRDA:
|
|
2160
|
-
BRDA:
|
|
2161
|
-
BRDA:
|
|
2162
|
-
BRDA:
|
|
2163
|
-
BRDA:
|
|
2164
|
-
BRDA:
|
|
2165
|
-
BRDA:
|
|
2166
|
-
BRDA:
|
|
2167
|
-
BRDA:
|
|
2168
|
-
BRDA:
|
|
2169
|
-
BRDA:
|
|
2170
|
-
|
|
2171
|
-
|
|
2103
|
+
BRDA:63,5,0,1
|
|
2104
|
+
BRDA:63,5,1,5
|
|
2105
|
+
BRDA:69,6,0,5
|
|
2106
|
+
BRDA:69,6,1,0
|
|
2107
|
+
BRDA:69,7,0,2
|
|
2108
|
+
BRDA:69,7,1,3
|
|
2109
|
+
BRDA:69,8,0,2
|
|
2110
|
+
BRDA:69,8,1,3
|
|
2111
|
+
BRDA:69,9,0,5
|
|
2112
|
+
BRDA:69,9,1,5
|
|
2113
|
+
BRDA:72,10,0,5
|
|
2114
|
+
BRDA:72,10,1,4
|
|
2115
|
+
BRDA:72,11,0,2
|
|
2116
|
+
BRDA:72,11,1,3
|
|
2117
|
+
BRDA:72,12,0,5
|
|
2118
|
+
BRDA:72,12,1,5
|
|
2119
|
+
BRDA:73,13,0,5
|
|
2120
|
+
BRDA:73,13,1,4
|
|
2121
|
+
BRDA:73,14,0,2
|
|
2122
|
+
BRDA:73,14,1,3
|
|
2123
|
+
BRDA:73,15,0,5
|
|
2124
|
+
BRDA:73,15,1,5
|
|
2125
|
+
BRDA:74,16,0,5
|
|
2126
|
+
BRDA:74,16,1,0
|
|
2127
|
+
BRDA:74,17,0,5
|
|
2128
|
+
BRDA:74,17,1,5
|
|
2129
|
+
BRDA:74,18,0,2
|
|
2130
|
+
BRDA:74,18,1,3
|
|
2131
|
+
BRDA:74,19,0,5
|
|
2132
|
+
BRDA:74,19,1,5
|
|
2133
|
+
BRDA:75,20,0,5
|
|
2134
|
+
BRDA:75,20,1,0
|
|
2135
|
+
BRDA:75,21,0,5
|
|
2136
|
+
BRDA:75,21,1,5
|
|
2137
|
+
BRDA:75,22,0,2
|
|
2138
|
+
BRDA:75,22,1,3
|
|
2139
|
+
BRDA:75,23,0,5
|
|
2140
|
+
BRDA:75,23,1,5
|
|
2141
|
+
BRDA:76,24,0,5
|
|
2142
|
+
BRDA:76,24,1,0
|
|
2143
|
+
BRDA:76,25,0,5
|
|
2144
|
+
BRDA:76,25,1,5
|
|
2145
|
+
BRDA:76,26,0,2
|
|
2146
|
+
BRDA:76,26,1,3
|
|
2147
|
+
BRDA:76,27,0,5
|
|
2148
|
+
BRDA:76,27,1,5
|
|
2149
|
+
BRDA:79,28,0,5
|
|
2150
|
+
BRDA:79,28,1,0
|
|
2151
|
+
BRDA:79,29,0,2
|
|
2152
|
+
BRDA:79,29,1,3
|
|
2153
|
+
BRDA:79,30,0,5
|
|
2154
|
+
BRDA:79,30,1,5
|
|
2155
|
+
BRDA:81,31,0,10
|
|
2156
|
+
BRDA:81,31,1,5
|
|
2157
|
+
BRDA:92,32,0,5
|
|
2158
|
+
BRDA:92,32,1,5
|
|
2159
|
+
BRDA:92,33,0,2
|
|
2160
|
+
BRDA:92,33,1,3
|
|
2161
|
+
BRDA:92,34,0,5
|
|
2162
|
+
BRDA:92,34,1,5
|
|
2163
|
+
BRDA:98,35,0,7
|
|
2164
|
+
BRDA:98,35,1,5
|
|
2165
|
+
BRDA:99,36,0,0
|
|
2166
|
+
BRDA:99,36,1,7
|
|
2167
|
+
BRDA:104,37,0,0
|
|
2168
|
+
BRDA:104,37,1,7
|
|
2169
|
+
BRDA:106,38,0,1
|
|
2170
|
+
BRDA:106,38,1,4
|
|
2171
|
+
BRDA:107,39,0,0
|
|
2172
|
+
BRDA:107,39,1,1
|
|
2173
|
+
BRDA:109,40,0,0
|
|
2174
|
+
BRDA:109,40,1,1
|
|
2175
|
+
BRDA:115,41,0,2
|
|
2176
|
+
BRDA:115,41,1,3
|
|
2177
|
+
BRDA:115,42,0,5
|
|
2178
|
+
BRDA:115,42,1,5
|
|
2179
|
+
BRDA:116,43,0,4
|
|
2180
|
+
BRDA:116,43,1,1
|
|
2181
|
+
BRDA:117,44,0,4
|
|
2182
|
+
BRDA:117,44,1,3
|
|
2183
|
+
BRF:88
|
|
2184
|
+
BRH:71
|
|
2172
2185
|
end_of_record
|
|
2173
2186
|
TN:
|
|
2174
2187
|
SF:src/logger/batch.ts
|
package/lib/fields/update.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare function updateField<T>(target: T, source: Partial<T>, diff: Part
|
|
|
9
9
|
export declare function updateFieldExtended<T>(target: T, source: Partial<T>, diff: Partial<T>, get: Fields.Getter<T>, set: Fields.Setter<T>, hasChanged?: null | Fields.Comparer<T>): boolean;
|
|
10
10
|
export declare type UpdateArrayOptions<T> = {
|
|
11
11
|
additive?: boolean;
|
|
12
|
+
unshift?: boolean;
|
|
12
13
|
clone?: boolean;
|
|
13
14
|
comparator?: Comparator<T>;
|
|
14
15
|
updater?: Fields.Updater<T>;
|
|
@@ -16,11 +17,11 @@ export declare type UpdateArrayOptions<T> = {
|
|
|
16
17
|
hooks?: UpdateArrayHooks<T>;
|
|
17
18
|
};
|
|
18
19
|
export declare type UpdateArrayHooks<T> = {
|
|
19
|
-
onAdded?: (item: T) => void;
|
|
20
|
-
onDeleted?: (item: T) => void;
|
|
21
|
-
onUpdated?: (previous: T, next: T) => void;
|
|
20
|
+
onAdded?: (item: T, index?: number) => void;
|
|
21
|
+
onDeleted?: (item: T, index?: number) => void;
|
|
22
|
+
onUpdated?: (previous: T, next: T, index?: number) => void;
|
|
22
23
|
};
|
|
23
|
-
export declare function updateArray<T>(target: T[] | null, source: T[], options?: UpdateArrayOptions<T>): {
|
|
24
|
+
export declare function updateArray<T>(target: T[] | null, source: T[] | null, options?: UpdateArrayOptions<T>): {
|
|
24
25
|
changed: number;
|
|
25
26
|
result: T[];
|
|
26
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,yBAAiB,MAAM,CAAC;IACpB,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACnE,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC9E,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CACxD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAAG,OAAO,CAEnJ;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,UAAU,GAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAC7C,OAAO,CAcT;AAKD,oBAAY,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,oBAAY,gBAAgB,CAAC,CAAC,IAAI;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,yBAAiB,MAAM,CAAC;IACpB,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACnE,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC9E,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CACxD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAAG,OAAO,CAEnJ;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,UAAU,GAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAC7C,OAAO,CAcT;AAKD,oBAAY,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,oBAAY,gBAAgB,CAAC,CAAC,IAAI;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,EACzB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAClB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAChC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,CA8DlC"}
|
package/lib/fields/update.js
CHANGED
|
@@ -39,26 +39,32 @@ function updateArray(target, source, options) {
|
|
|
39
39
|
if (source.find(item => comparator(item, result[i])) == null) {
|
|
40
40
|
// DELETE
|
|
41
41
|
const removed = result.splice(i, 1);
|
|
42
|
-
functions_1.safeCall(onDeleted, removed[0]);
|
|
42
|
+
functions_1.safeCall(onDeleted, removed[0], i);
|
|
43
43
|
++changed;
|
|
44
44
|
--i;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
const unshift = (options === null || options === void 0 ? void 0 : options.unshift) || false;
|
|
48
49
|
// add all new elements and update existing
|
|
49
|
-
source.forEach(
|
|
50
|
-
const existingIndex = result.findIndex(
|
|
50
|
+
source.forEach(item => {
|
|
51
|
+
const existingIndex = result.findIndex(i => comparator(item, i));
|
|
51
52
|
const existingItem = result[existingIndex];
|
|
52
53
|
if (existingIndex < 0) {
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
if (unshift) {
|
|
55
|
+
result.unshift(item);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
result.push(item);
|
|
59
|
+
}
|
|
60
|
+
functions_1.safeCall(onAdded, item, unshift ? 0 : result.length - 1);
|
|
55
61
|
++changed;
|
|
56
62
|
}
|
|
57
63
|
else if (typeof existingItem === 'object') {
|
|
58
64
|
const before = onUpdate != null ? { ...existingItem } : undefined;
|
|
59
|
-
result[existingIndex] = updater(existingItem,
|
|
65
|
+
result[existingIndex] = updater(existingItem, item);
|
|
60
66
|
if (onUpdate != null) {
|
|
61
|
-
onUpdate(before, result[existingIndex]);
|
|
67
|
+
onUpdate(before, result[existingIndex], existingIndex);
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
70
|
});
|
package/lib/fields/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AAWxC,SAAgB,WAAW,CAAI,MAAS,EAAE,MAAkB,EAAE,IAAgB,EAAE,GAAY,EAAE,aAAwC,IAAI;IACtI,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;AACpG,CAAC;AAFD,kCAEC;AAED,SAAgB,mBAAmB,CAC/B,MAAS,EACT,MAAkB,EAClB,IAAgB,EAChB,GAAqB,EACrB,GAAqB,EACrB,aAAwC,IAAI;IAG5C,UAAU,GAAG,UAAU,IAAI,CAAC,CAAC,EAAK,EAAE,EAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QACzD,OAAO,GAAG,IAAI,CAAC;QACf,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5B;IAED,OAAO,OAAO,CAAC;AAEnB,CAAC;AArBD,kDAqBC;AAED,MAAM,iBAAiB,GAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AACjE,MAAM,cAAc,GAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/fields/update.ts
CHANGED
|
@@ -41,6 +41,7 @@ const DefaultUpdater: Fields.Updater<any> = (v1, v2) => Object.assign(v1, v2);
|
|
|
41
41
|
|
|
42
42
|
export type UpdateArrayOptions<T> = {
|
|
43
43
|
additive?: boolean,
|
|
44
|
+
unshift?: boolean,
|
|
44
45
|
clone?: boolean,
|
|
45
46
|
comparator?: Comparator<T>,
|
|
46
47
|
updater?: Fields.Updater<T>,
|
|
@@ -49,14 +50,14 @@ export type UpdateArrayOptions<T> = {
|
|
|
49
50
|
};
|
|
50
51
|
|
|
51
52
|
export type UpdateArrayHooks<T> = {
|
|
52
|
-
onAdded?: (item: T) => void,
|
|
53
|
-
onDeleted?: (item: T) => void,
|
|
54
|
-
onUpdated?: (previous: T, next: T) => void,
|
|
53
|
+
onAdded?: (item: T, index?: number) => void,
|
|
54
|
+
onDeleted?: (item: T, index?: number) => void,
|
|
55
|
+
onUpdated?: (previous: T, next: T, index?: number) => void,
|
|
55
56
|
};
|
|
56
57
|
|
|
57
58
|
export function updateArray<T>(
|
|
58
59
|
target: T[] | null,
|
|
59
|
-
source: T[],
|
|
60
|
+
source: T[] | null,
|
|
60
61
|
options?: UpdateArrayOptions<T>,
|
|
61
62
|
): { changed: number, result: T[] } {
|
|
62
63
|
if (!source) {
|
|
@@ -80,7 +81,7 @@ export function updateArray<T>(
|
|
|
80
81
|
if (source.find(item => comparator(item, result[i])) == null) {
|
|
81
82
|
// DELETE
|
|
82
83
|
const removed = result.splice(i, 1);
|
|
83
|
-
safeCall(onDeleted, removed[0]);
|
|
84
|
+
safeCall(onDeleted, removed[0], i);
|
|
84
85
|
|
|
85
86
|
++changed;
|
|
86
87
|
--i;
|
|
@@ -88,19 +89,25 @@ export function updateArray<T>(
|
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
|
|
92
|
+
const unshift = options?.unshift || false;
|
|
93
|
+
|
|
91
94
|
// add all new elements and update existing
|
|
92
|
-
source.forEach(
|
|
93
|
-
const existingIndex = result.findIndex(
|
|
95
|
+
source.forEach(item => {
|
|
96
|
+
const existingIndex = result.findIndex(i => comparator(item, i));
|
|
94
97
|
const existingItem = result[existingIndex];
|
|
95
98
|
if (existingIndex < 0) {
|
|
96
|
-
|
|
97
|
-
|
|
99
|
+
if (unshift) {
|
|
100
|
+
result.unshift(item);
|
|
101
|
+
} else {
|
|
102
|
+
result.push(item);
|
|
103
|
+
}
|
|
104
|
+
safeCall(onAdded, item, unshift ? 0 : result.length - 1);
|
|
98
105
|
++changed;
|
|
99
106
|
} else if (typeof existingItem === 'object') {
|
|
100
107
|
const before = onUpdate != null ? { ...existingItem } : undefined;
|
|
101
|
-
result[existingIndex] = updater(existingItem,
|
|
108
|
+
result[existingIndex] = updater(existingItem, item);
|
|
102
109
|
if (onUpdate != null) {
|
|
103
|
-
onUpdate(before!, result[existingIndex]);
|
|
110
|
+
onUpdate(before!, result[existingIndex], existingIndex);
|
|
104
111
|
}
|
|
105
112
|
}
|
|
106
113
|
});
|