@ngutil/data 0.0.80 → 0.0.82
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/fesm2022/ngutil-data.mjs +25 -31
- package/fesm2022/ngutil-data.mjs.map +1 -1
- package/package.json +6 -8
- package/esm2022/index.mjs +0 -45
- package/esm2022/model/index.mjs +0 -2
- package/esm2022/model/meta.mjs +0 -125
- package/esm2022/ngutil-data.mjs +0 -5
- package/esm2022/provider/array.mjs +0 -9
- package/esm2022/provider/index.mjs +0 -5
- package/esm2022/provider/local.mjs +0 -30
- package/esm2022/provider/observable.mjs +0 -11
- package/esm2022/provider/provider.mjs +0 -26
- package/esm2022/query/common.mjs +0 -33
- package/esm2022/query/executor.mjs +0 -78
- package/esm2022/query/filter.mjs +0 -313
- package/esm2022/query/grouper.mjs +0 -85
- package/esm2022/query/index.mjs +0 -9
- package/esm2022/query/path.mjs +0 -18
- package/esm2022/query/query-property.mjs +0 -56
- package/esm2022/query/query.mjs +0 -19
- package/esm2022/query/slice.mjs +0 -64
- package/esm2022/query/slimer.mjs +0 -24
- package/esm2022/query/sorter.mjs +0 -215
- package/esm2022/source/index.mjs +0 -3
- package/esm2022/source/proxy.directive.mjs +0 -197
- package/esm2022/source/source.mjs +0 -121
- package/esm2022/store/collection-store.mjs +0 -3
- package/esm2022/store/index.mjs +0 -3
- package/esm2022/store/memory-store.mjs +0 -79
package/fesm2022/ngutil-data.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Input, Directive, inject, input, NgModule } from '@angular/core';
|
|
3
3
|
import { DataSource as DataSource$1 } from '@angular/cdk/collections';
|
|
4
4
|
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { BehaviorSubject, Observable, combineLatest, map, shareReplay, take, of, ReplaySubject, switchMap, distinctUntilChanged, merge, timer, catchError, tap, filter, Subject, takeUntil, NEVER, finalize, throwError } from 'rxjs';
|
|
6
6
|
import { BusyDirective } from '@ngutil/aria';
|
|
7
|
-
import {
|
|
7
|
+
import { flatten, isEqual, intersection, flattenDeep } from 'es-toolkit';
|
|
8
8
|
import { deepClone, deepFreeze, isPlainObject, isTruthy, isFalsy, toSorted } from '@ngutil/common';
|
|
9
9
|
|
|
10
10
|
function pathGetterCompile(path) {
|
|
@@ -16,7 +16,7 @@ function pathGetterCompile(path) {
|
|
|
16
16
|
const IsNumber = /^\d+$/;
|
|
17
17
|
function makeGetter(part, parent) {
|
|
18
18
|
if (part === "*") {
|
|
19
|
-
return obj =>
|
|
19
|
+
return obj => flatten(parent(obj), 1);
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
22
|
const key = IsNumber.test(part) ? Number(part) : part;
|
|
@@ -1164,13 +1164,12 @@ class DataSourceProxy extends DataSource$1 {
|
|
|
1164
1164
|
this.#valueSub?.unsubscribe();
|
|
1165
1165
|
this.#valueSub = undefined;
|
|
1166
1166
|
}
|
|
1167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1168
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxy, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1168
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: DataSourceProxy, isStandalone: true, selector: "[nuDataSource]", inputs: { value: ["nuDataSource", "value"] }, exportAs: ["nuDataSource"], usesInheritance: true, ngImport: i0 }); }
|
|
1169
1169
|
}
|
|
1170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxy, decorators: [{
|
|
1171
1171
|
type: Directive,
|
|
1172
1172
|
args: [{
|
|
1173
|
-
standalone: true,
|
|
1174
1173
|
selector: "[nuDataSource]",
|
|
1175
1174
|
exportAs: "nuDataSource"
|
|
1176
1175
|
}]
|
|
@@ -1188,13 +1187,12 @@ class DataSourceProxyFilter {
|
|
|
1188
1187
|
.pipe(takeUntilDestroyed())
|
|
1189
1188
|
.subscribe(({ query, filter }) => query.filter.forced.set(filter));
|
|
1190
1189
|
}
|
|
1191
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1192
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1190
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxyFilter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1191
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: DataSourceProxyFilter, isStandalone: true, selector: "[nuDataSource][filter]", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
1193
1192
|
}
|
|
1194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxyFilter, decorators: [{
|
|
1195
1194
|
type: Directive,
|
|
1196
1195
|
args: [{
|
|
1197
|
-
standalone: true,
|
|
1198
1196
|
selector: "[nuDataSource][filter]"
|
|
1199
1197
|
}]
|
|
1200
1198
|
}], ctorParameters: () => [] });
|
|
@@ -1208,13 +1206,12 @@ class DataSourceProxySorter {
|
|
|
1208
1206
|
.pipe(takeUntilDestroyed())
|
|
1209
1207
|
.subscribe(({ query, sorter }) => query.sorter.forced.set(sorter));
|
|
1210
1208
|
}
|
|
1211
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1212
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1209
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxySorter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1210
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: DataSourceProxySorter, isStandalone: true, selector: "[nuDataSource][sorter]", inputs: { sorter: { classPropertyName: "sorter", publicName: "sorter", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
1213
1211
|
}
|
|
1214
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxySorter, decorators: [{
|
|
1215
1213
|
type: Directive,
|
|
1216
1214
|
args: [{
|
|
1217
|
-
standalone: true,
|
|
1218
1215
|
selector: "[nuDataSource][sorter]"
|
|
1219
1216
|
}]
|
|
1220
1217
|
}], ctorParameters: () => [] });
|
|
@@ -1228,13 +1225,12 @@ class DataSourceProxySlimer {
|
|
|
1228
1225
|
.pipe(takeUntilDestroyed())
|
|
1229
1226
|
.subscribe(({ query, slimer }) => query.slimer.forced.set(slimer));
|
|
1230
1227
|
}
|
|
1231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1232
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1228
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxySlimer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1229
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: DataSourceProxySlimer, isStandalone: true, selector: "[nuDataSource][slimer]", inputs: { slimer: { classPropertyName: "slimer", publicName: "slimer", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
1233
1230
|
}
|
|
1234
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxySlimer, decorators: [{
|
|
1235
1232
|
type: Directive,
|
|
1236
1233
|
args: [{
|
|
1237
|
-
standalone: true,
|
|
1238
1234
|
selector: "[nuDataSource][slimer]"
|
|
1239
1235
|
}]
|
|
1240
1236
|
}], ctorParameters: () => [] });
|
|
@@ -1248,13 +1244,12 @@ class DataSourceProxyGrouper {
|
|
|
1248
1244
|
.pipe(takeUntilDestroyed())
|
|
1249
1245
|
.subscribe(({ query, grouper }) => query.grouper.forced.set(grouper));
|
|
1250
1246
|
}
|
|
1251
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1252
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
1247
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxyGrouper, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1248
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: DataSourceProxyGrouper, isStandalone: true, selector: "[nuDataSource][grouper]", inputs: { grouper: { classPropertyName: "grouper", publicName: "grouper", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
1253
1249
|
}
|
|
1254
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxyGrouper, decorators: [{
|
|
1255
1251
|
type: Directive,
|
|
1256
1252
|
args: [{
|
|
1257
|
-
standalone: true,
|
|
1258
1253
|
selector: "[nuDataSource][grouper]"
|
|
1259
1254
|
}]
|
|
1260
1255
|
}], ctorParameters: () => [] });
|
|
@@ -1266,13 +1261,12 @@ class DataSourceProxyBusy {
|
|
|
1266
1261
|
.pipe(takeUntilDestroyed(), switchMap(value => value.isBusy$))
|
|
1267
1262
|
.subscribe(isBusy => this.#busy.set(isBusy, "data-source"));
|
|
1268
1263
|
}
|
|
1269
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1270
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1264
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxyBusy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1265
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: DataSourceProxyBusy, isStandalone: true, selector: "[nuDataSource][nuBusy]", ngImport: i0 }); }
|
|
1271
1266
|
}
|
|
1272
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceProxyBusy, decorators: [{
|
|
1273
1268
|
type: Directive,
|
|
1274
1269
|
args: [{
|
|
1275
|
-
standalone: true,
|
|
1276
1270
|
selector: "[nuDataSource][nuBusy]"
|
|
1277
1271
|
}]
|
|
1278
1272
|
}], ctorParameters: () => [] });
|
|
@@ -1457,8 +1451,8 @@ class ObservableProvider extends LocalProvider {
|
|
|
1457
1451
|
}
|
|
1458
1452
|
|
|
1459
1453
|
class DataSourceModule {
|
|
1460
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1461
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1454
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1455
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: DataSourceModule, imports: [DataSourceProxy,
|
|
1462
1456
|
DataSourceProxyBusy,
|
|
1463
1457
|
DataSourceProxyFilter,
|
|
1464
1458
|
DataSourceProxyGrouper,
|
|
@@ -1469,9 +1463,9 @@ class DataSourceModule {
|
|
|
1469
1463
|
DataSourceProxyGrouper,
|
|
1470
1464
|
DataSourceProxySlimer,
|
|
1471
1465
|
DataSourceProxySorter] }); }
|
|
1472
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
1466
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceModule }); }
|
|
1473
1467
|
}
|
|
1474
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: DataSourceModule, decorators: [{
|
|
1475
1469
|
type: NgModule,
|
|
1476
1470
|
args: [{
|
|
1477
1471
|
imports: [
|