@ngutil/data 0.0.81 → 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/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngutil/data",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.82",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/cdk": "
|
|
6
|
-
"@angular/core": "
|
|
7
|
-
"
|
|
5
|
+
"@angular/cdk": "19.2.11",
|
|
6
|
+
"@angular/core": "19.2.8",
|
|
7
|
+
"es-toolkit": "^1.35.0",
|
|
8
8
|
"rxjs": "^7.8.1",
|
|
9
9
|
"utility-types": "^3.11.0",
|
|
10
|
-
"@ngutil/common": "0.0.
|
|
11
|
-
"@ngutil/aria": "0.0.
|
|
10
|
+
"@ngutil/common": "0.0.82",
|
|
11
|
+
"@ngutil/aria": "0.0.82"
|
|
12
12
|
},
|
|
13
13
|
"publishConfig": {
|
|
14
14
|
"access": "public",
|
|
@@ -23,8 +23,6 @@
|
|
|
23
23
|
},
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./index.d.ts",
|
|
26
|
-
"esm2022": "./esm2022/ngutil-data.mjs",
|
|
27
|
-
"esm": "./esm2022/ngutil-data.mjs",
|
|
28
26
|
"default": "./fesm2022/ngutil-data.mjs"
|
|
29
27
|
}
|
|
30
28
|
},
|
package/esm2022/index.mjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { DataSourceProxy, DataSourceProxyBusy, DataSourceProxyFilter, DataSourceProxyGrouper, DataSourceProxySlimer, DataSourceProxySorter } from "./source/proxy.directive";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export * from "./model";
|
|
5
|
-
export * from "./provider";
|
|
6
|
-
export * from "./query";
|
|
7
|
-
export * from "./source";
|
|
8
|
-
export * from "./store";
|
|
9
|
-
export class DataSourceModule {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DataSourceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: DataSourceModule, imports: [DataSourceProxy,
|
|
12
|
-
DataSourceProxyBusy,
|
|
13
|
-
DataSourceProxyFilter,
|
|
14
|
-
DataSourceProxyGrouper,
|
|
15
|
-
DataSourceProxySlimer,
|
|
16
|
-
DataSourceProxySorter], exports: [DataSourceProxy,
|
|
17
|
-
DataSourceProxyBusy,
|
|
18
|
-
DataSourceProxyFilter,
|
|
19
|
-
DataSourceProxyGrouper,
|
|
20
|
-
DataSourceProxySlimer,
|
|
21
|
-
DataSourceProxySorter] }); }
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DataSourceModule }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DataSourceModule, decorators: [{
|
|
25
|
-
type: NgModule,
|
|
26
|
-
args: [{
|
|
27
|
-
imports: [
|
|
28
|
-
DataSourceProxy,
|
|
29
|
-
DataSourceProxyBusy,
|
|
30
|
-
DataSourceProxyFilter,
|
|
31
|
-
DataSourceProxyGrouper,
|
|
32
|
-
DataSourceProxySlimer,
|
|
33
|
-
DataSourceProxySorter
|
|
34
|
-
],
|
|
35
|
-
exports: [
|
|
36
|
-
DataSourceProxy,
|
|
37
|
-
DataSourceProxyBusy,
|
|
38
|
-
DataSourceProxyFilter,
|
|
39
|
-
DataSourceProxyGrouper,
|
|
40
|
-
DataSourceProxySlimer,
|
|
41
|
-
DataSourceProxySorter
|
|
42
|
-
]
|
|
43
|
-
}]
|
|
44
|
-
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUN4QixNQUFNLDBCQUEwQixDQUFBOztBQUVqQyxjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFNBQVMsQ0FBQTtBQW9CdkIsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsWUFoQnJCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIscUJBQXFCLGFBR3JCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIscUJBQXFCOytHQUdoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBbEI1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIscUJBQXFCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjtxQkFDeEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHtcbiAgICBEYXRhU291cmNlUHJveHksXG4gICAgRGF0YVNvdXJjZVByb3h5QnVzeSxcbiAgICBEYXRhU291cmNlUHJveHlGaWx0ZXIsXG4gICAgRGF0YVNvdXJjZVByb3h5R3JvdXBlcixcbiAgICBEYXRhU291cmNlUHJveHlTbGltZXIsXG4gICAgRGF0YVNvdXJjZVByb3h5U29ydGVyXG59IGZyb20gXCIuL3NvdXJjZS9wcm94eS5kaXJlY3RpdmVcIlxuXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9wcm92aWRlclwiXG5leHBvcnQgKiBmcm9tIFwiLi9xdWVyeVwiXG5leHBvcnQgKiBmcm9tIFwiLi9zb3VyY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmVcIlxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRGF0YVNvdXJjZVByb3h5LFxuICAgICAgICBEYXRhU291cmNlUHJveHlCdXN5LFxuICAgICAgICBEYXRhU291cmNlUHJveHlGaWx0ZXIsXG4gICAgICAgIERhdGFTb3VyY2VQcm94eUdyb3VwZXIsXG4gICAgICAgIERhdGFTb3VyY2VQcm94eVNsaW1lcixcbiAgICAgICAgRGF0YVNvdXJjZVByb3h5U29ydGVyXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERhdGFTb3VyY2VQcm94eSxcbiAgICAgICAgRGF0YVNvdXJjZVByb3h5QnVzeSxcbiAgICAgICAgRGF0YVNvdXJjZVByb3h5RmlsdGVyLFxuICAgICAgICBEYXRhU291cmNlUHJveHlHcm91cGVyLFxuICAgICAgICBEYXRhU291cmNlUHJveHlTbGltZXIsXG4gICAgICAgIERhdGFTb3VyY2VQcm94eVNvcnRlclxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZU1vZHVsZSB7fVxuIl19
|
package/esm2022/model/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { ModelRefNorm, ModelMeta, ModelRefByIndex, ModelRefByKey, UnknownMeta } from "./meta";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9tb2RlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsWUFBWSxFQUNaLFNBQVMsRUFJVCxlQUFlLEVBQ2YsYUFBYSxFQUNiLFdBQVcsRUFDZCxNQUFNLFFBQVEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gICAgTW9kZWwsXG4gICAgTW9kZWxSZWYsXG4gICAgTW9kZWxSZWZOb3JtLFxuICAgIE1vZGVsTWV0YSxcbiAgICBNb2RlbE1ldGFQcm9wcyxcbiAgICBNb2RlbFJlZkZpbHRlcixcbiAgICBNb2RlbE1ldGFJbnB1dCxcbiAgICBNb2RlbFJlZkJ5SW5kZXgsXG4gICAgTW9kZWxSZWZCeUtleSxcbiAgICBVbmtub3duTWV0YVxufSBmcm9tIFwiLi9tZXRhXCJcbiJdfQ==
|
package/esm2022/model/meta.mjs
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { isEqual } from "lodash-es";
|
|
2
|
-
import { filterBy, pathGetterCompile } from "../query";
|
|
3
|
-
export class ModelMeta {
|
|
4
|
-
static coerce(value) {
|
|
5
|
-
if (value instanceof ModelMeta) {
|
|
6
|
-
return value;
|
|
7
|
-
}
|
|
8
|
-
else {
|
|
9
|
-
return new ModelMeta(value);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
#getKey;
|
|
13
|
-
constructor(props) {
|
|
14
|
-
this.keys = props.keys;
|
|
15
|
-
if (this.keys.length > 0) {
|
|
16
|
-
const getters = this.keys.map(pathGetterCompile);
|
|
17
|
-
if (props.trackBy == null) {
|
|
18
|
-
this.trackBy = (index, item) => getters.map(p => p(item)).join("∀");
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
this.trackBy = props.trackBy;
|
|
22
|
-
}
|
|
23
|
-
this.#getKey = (item) => getters.map(p => p(item)).join("∀");
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
if (props.trackBy == null) {
|
|
27
|
-
throw new Error("Can't compile track by function without `keys` declaration");
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
this.trackBy = props.trackBy;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
isEqual(a, b) {
|
|
35
|
-
return isEqual(a, b);
|
|
36
|
-
}
|
|
37
|
-
isEqualByTrack(a, b) {
|
|
38
|
-
if (a == null || b == null) {
|
|
39
|
-
return a == null && b == null;
|
|
40
|
-
}
|
|
41
|
-
if (a.index == null || b.index == null) {
|
|
42
|
-
return a.index == null && b.index == null;
|
|
43
|
-
}
|
|
44
|
-
if (a.model == null || b.model == null) {
|
|
45
|
-
return a.model == null && b.model == null;
|
|
46
|
-
}
|
|
47
|
-
return this.trackBy(a.index, a.model) === this.trackBy(b.index, b.model);
|
|
48
|
-
}
|
|
49
|
-
isEqualByKey(a, b) {
|
|
50
|
-
if (this.#getKey != null) {
|
|
51
|
-
if (a == null || b == null) {
|
|
52
|
-
return a == null && b == null;
|
|
53
|
-
}
|
|
54
|
-
return this.#getKey(a) === this.#getKey(b);
|
|
55
|
-
}
|
|
56
|
-
console.warn("Primary keys is not defined for", a, b);
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
normalizeRef(ref) {
|
|
60
|
-
if (ref instanceof ModelRefNorm) {
|
|
61
|
-
return ref;
|
|
62
|
-
}
|
|
63
|
-
if (ref.key != null && ref.index != null) {
|
|
64
|
-
throw new Error("Only provide `pk` or `index` value not both");
|
|
65
|
-
}
|
|
66
|
-
if (ref.key != null) {
|
|
67
|
-
const keyValue = (Array.isArray(ref.key) ? ref.key : [ref.key]);
|
|
68
|
-
if (keyValue.length > 0) {
|
|
69
|
-
if (this.keys.length === 0) {
|
|
70
|
-
throw new Error("Can't normalize ref without `keys`");
|
|
71
|
-
}
|
|
72
|
-
if (keyValue.length !== this.keys.length) {
|
|
73
|
-
throw new Error(`Wrong number of \`key\` values for this keys: [${this.keys.join(",")}]`);
|
|
74
|
-
}
|
|
75
|
-
return new ModelRefByKey(keyValue, this.keys);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
console.warn("Empty key in ModelRef", ref);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (ref.index != null) {
|
|
82
|
-
return new ModelRefByIndex(ref.index);
|
|
83
|
-
}
|
|
84
|
-
throw new Error("Missing `key` or `index` value");
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
export class ModelRefNorm {
|
|
88
|
-
#filter;
|
|
89
|
-
toFilter() {
|
|
90
|
-
if (this.#filter == null) {
|
|
91
|
-
return (this.#filter = this._asFilter());
|
|
92
|
-
}
|
|
93
|
-
return this.#filter;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
export class ModelRefByKey extends ModelRefNorm {
|
|
97
|
-
#keys;
|
|
98
|
-
constructor(key, keys) {
|
|
99
|
-
super();
|
|
100
|
-
this.key = key;
|
|
101
|
-
this.#keys = keys;
|
|
102
|
-
}
|
|
103
|
-
_asFilter() {
|
|
104
|
-
const filter = {};
|
|
105
|
-
for (let i = 0; i < this.#keys.length; i++) {
|
|
106
|
-
filter[this.#keys[i]] = this.key[i];
|
|
107
|
-
}
|
|
108
|
-
return filterBy(filter);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export class ModelRefByIndex extends ModelRefNorm {
|
|
112
|
-
constructor(index) {
|
|
113
|
-
super();
|
|
114
|
-
this.index = index;
|
|
115
|
-
}
|
|
116
|
-
_asFilter() {
|
|
117
|
-
return (item, index) => this.index === index;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
export class UnknownMeta extends ModelMeta {
|
|
121
|
-
constructor() {
|
|
122
|
-
super({ keys: [], trackBy: (index) => index });
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RhdGEvc3JjL21vZGVsL21ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUduQyxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBZ0J0RCxNQUFNLE9BQU8sU0FBUztJQUNsQixNQUFNLENBQUMsTUFBTSxDQUFrQixLQUF3QjtRQUNuRCxJQUFJLEtBQUssWUFBWSxTQUFTLEVBQUUsQ0FBQztZQUM3QixPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDL0IsQ0FBQztJQUNMLENBQUM7SUFJUSxPQUFPLENBQXVCO0lBRXZDLFlBQVksS0FBd0I7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFBO1FBRXRCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtZQUNoRCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2xGLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUE7WUFDaEMsQ0FB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YXIvY29yZVwiXG5cbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwibG9kYXNoLWVzXCJcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJ1dGlsaXR5LXR5cGVzXCJcblxuaW1wb3J0IHsgZmlsdGVyQnksIHBhdGhHZXR0ZXJDb21waWxlIH0gZnJvbSBcIi4uL3F1ZXJ5XCJcblxuZXhwb3J0IHR5cGUgTW9kZWwgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9XG5cbmV4cG9ydCB0eXBlIE1vZGVsUmVmID0geyBrZXk/OiBQcmltaXRpdmUgfCBBcnJheTxQcmltaXRpdmU+OyBpbmRleD86IG51bWJlciB9XG5leHBvcnQgdHlwZSBNb2RlbFJlZkZpbHRlcjxUPiA9IChpdGVtOiBULCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxNZXRhUHJvcHM8VCBleHRlbmRzIE1vZGVsPiB7XG4gICAgcmVhZG9ubHkga2V5czogcmVhZG9ubHkgc3RyaW5nW11cbiAgICByZWFkb25seSB0cmFja0J5PzogVHJhY2tCeUZ1bmN0aW9uPFQ+XG59XG5cbmV4cG9ydCB0eXBlIE1vZGVsTWV0YUlucHV0PFQgZXh0ZW5kcyBNb2RlbD4gPSBNb2RlbE1ldGE8VD4gfCBNb2RlbE1ldGFQcm9wczxUPlxuXG5leHBvcnQgdHlwZSBUcmFja2VkTW9kZWw8VCBleHRlbmRzIE1vZGVsPiA9IHsgaW5kZXg6IG51bWJlcjsgbW9kZWw6IFQgfVxuXG5leHBvcnQgY2xhc3MgTW9kZWxNZXRhPFQgZXh0ZW5kcyBNb2RlbD4gaW1wbGVtZW50cyBNb2RlbE1ldGFQcm9wczxUPiB7XG4gICAgc3RhdGljIGNvZXJjZTxNIGV4dGVuZHMgTW9kZWw+KHZhbHVlOiBNb2RlbE1ldGFJbnB1dDxNPik6IE1vZGVsTWV0YTxNPiB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1vZGVsTWV0YSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE1vZGVsTWV0YSh2YWx1ZSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlYWRvbmx5IGtleXM6IHJlYWRvbmx5IHN0cmluZ1tdXG4gICAgcmVhZG9ubHkgdHJhY2tCeTogVHJhY2tCeUZ1bmN0aW9uPFQ+XG4gICAgcmVhZG9ubHkgI2dldEtleT86IChtb2RlbDogVCkgPT4gc3RyaW5nXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wczogTW9kZWxNZXRhUHJvcHM8VD4pIHtcbiAgICAgICAgdGhpcy5rZXlzID0gcHJvcHMua2V5c1xuXG4gICAgICAgIGlmICh0aGlzLmtleXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0dGVycyA9IHRoaXMua2V5cy5tYXAocGF0aEdldHRlckNvbXBpbGUpXG4gICAgICAgICAgICBpZiAocHJvcHMudHJhY2tCeSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFja0J5ID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IFQpID0+IGdldHRlcnMubWFwKHAgPT4gcChpdGVtKSkuam9pbihcIuKIgFwiKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYWNrQnkgPSBwcm9wcy50cmFja0J5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLiNnZXRLZXkgPSAoaXRlbTogVCkgPT4gZ2V0dGVycy5tYXAocCA9PiBwKGl0ZW0pKS5qb2luKFwi4oiAXCIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAocHJvcHMudHJhY2tCeSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2FuJ3QgY29tcGlsZSB0cmFjayBieSBmdW5jdGlvbiB3aXRob3V0IGBrZXlzYCBkZWNsYXJhdGlvblwiKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYWNrQnkgPSBwcm9wcy50cmFja0J5XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0VxdWFsKGE6IFQsIGI6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwoYSwgYilcbiAgICB9XG5cbiAgICBpc0VxdWFsQnlUcmFjayhhOiBUcmFja2VkTW9kZWw8VD4sIGI6IFRyYWNrZWRNb2RlbDxUPik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoYSA9PSBudWxsIHx8IGIgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGEgPT0gbnVsbCAmJiBiID09IG51bGxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhLmluZGV4ID09IG51bGwgfHwgYi5pbmRleCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gYS5pbmRleCA9PSBudWxsICYmIGIuaW5kZXggPT0gbnVsbFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGEubW9kZWwgPT0gbnVsbCB8fCBiLm1vZGVsID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBhLm1vZGVsID09IG51bGwgJiYgYi5tb2RlbCA9PSBudWxsXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50cmFja0J5KGEuaW5kZXgsIGEubW9kZWwpID09PSB0aGlzLnRyYWNrQnkoYi5pbmRleCwgYi5tb2RlbClcbiAgICB9XG5cbiAgICBpc0VxdWFsQnlLZXkoYTogVCwgYjogVCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy4jZ2V0S2V5ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChhID09IG51bGwgfHwgYiA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGEgPT0gbnVsbCAmJiBiID09IG51bGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLiNnZXRLZXkoYSkgPT09IHRoaXMuI2dldEtleShiKVxuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybihcIlByaW1hcnkga2V5cyBpcyBub3QgZGVmaW5lZCBmb3JcIiwgYSwgYilcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgbm9ybWFsaXplUmVmKHJlZjogTW9kZWxSZWYgfCBNb2RlbFJlZk5vcm0pOiBNb2RlbFJlZk5vcm0ge1xuICAgICAgICBpZiAocmVmIGluc3RhbmNlb2YgTW9kZWxSZWZOb3JtKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVmXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVmLmtleSAhPSBudWxsICYmIHJlZi5pbmRleCAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPbmx5IHByb3ZpZGUgYHBrYCBvciBgaW5kZXhgIHZhbHVlIG5vdCBib3RoXCIpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVmLmtleSAhPSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBrZXlWYWx1ZSA9IChBcnJheS5pc0FycmF5KHJlZi5rZXkpID8gcmVmLmtleSA6IFtyZWYua2V5XSkgYXMgcmVhZG9ubHkgUHJpbWl0aXZlW11cblxuICAgICAgICAgICAgaWYgKGtleVZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5rZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW4ndCBub3JtYWxpemUgcmVmIHdpdGhvdXQgYGtleXNgXCIpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGtleVZhbHVlLmxlbmd0aCAhPT0gdGhpcy5rZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdyb25nIG51bWJlciBvZiBcXGBrZXlcXGAgdmFsdWVzIGZvciB0aGlzIGtleXM6IFske3RoaXMua2V5cy5qb2luKFwiLFwiKX1dYClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFJlZkJ5S2V5KGtleVZhbHVlLCB0aGlzLmtleXMpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkVtcHR5IGtleSBpbiBNb2RlbFJlZlwiLCByZWYpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVmLmluZGV4ICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTW9kZWxSZWZCeUluZGV4KHJlZi5pbmRleClcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgYGtleWAgb3IgYGluZGV4YCB2YWx1ZVwiKVxuICAgIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vZGVsUmVmTm9ybSB7XG4gICAgcmVhZG9ubHkga2V5PzogcmVhZG9ubHkgUHJpbWl0aXZlW11cbiAgICByZWFkb25seSBpbmRleD86IG51bWJlclxuXG4gICAgI2ZpbHRlcj86IE1vZGVsUmVmRmlsdGVyPGFueT5cbiAgICB0b0ZpbHRlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuI2ZpbHRlciA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuI2ZpbHRlciA9IHRoaXMuX2FzRmlsdGVyKCkpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuI2ZpbHRlclxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBfYXNGaWx0ZXIoKTogTW9kZWxSZWZGaWx0ZXI8YW55PlxufVxuXG5leHBvcnQgY2xhc3MgTW9kZWxSZWZCeUtleSBleHRlbmRzIE1vZGVsUmVmTm9ybSB7XG4gICAgb3ZlcnJpZGUgcmVhZG9ubHkga2V5OiByZWFkb25seSBQcmltaXRpdmVbXVxuXG4gICAgI2tleXM6IHJlYWRvbmx5IHN0cmluZ1tdXG4gICAgY29uc3RydWN0b3Ioa2V5OiByZWFkb25seSBQcmltaXRpdmVbXSwga2V5czogcmVhZG9ubHkgc3RyaW5nW10pIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmtleSA9IGtleVxuICAgICAgICB0aGlzLiNrZXlzID0ga2V5c1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfYXNGaWx0ZXIoKTogTW9kZWxSZWZGaWx0ZXI8YW55PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHt9IGFzIGFueVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuI2tleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGZpbHRlclt0aGlzLiNrZXlzW2ldXSA9IHRoaXMua2V5W2ldXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlckJ5KGZpbHRlcilcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb2RlbFJlZkJ5SW5kZXggZXh0ZW5kcyBNb2RlbFJlZk5vcm0ge1xuICAgIG92ZXJyaWRlIHJlYWRvbmx5IGluZGV4OiBudW1iZXJcblxuICAgIGNvbnN0cnVjdG9yKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmluZGV4ID0gaW5kZXhcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2FzRmlsdGVyKCk6IE1vZGVsUmVmRmlsdGVyPGFueT4ge1xuICAgICAgICByZXR1cm4gKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gdGhpcy5pbmRleCA9PT0gaW5kZXhcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbmtub3duTWV0YTxUIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgTW9kZWxNZXRhPFQ+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoeyBrZXlzOiBbXSwgdHJhY2tCeTogKGluZGV4OiBudW1iZXIpID0+IGluZGV4IH0pXG4gICAgfVxufVxuIl19
|
package/esm2022/ngutil-data.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd1dGlsLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9uZ3V0aWwtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { of } from "rxjs";
|
|
2
|
-
import { LocalProvider } from "./local";
|
|
3
|
-
export class ArrayProvider extends LocalProvider {
|
|
4
|
-
constructor(meta, items) {
|
|
5
|
-
super(meta);
|
|
6
|
-
this.items$ = of(items);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9wcm92aWRlci9hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUcxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXZDLE1BQU0sT0FBTyxhQUErQixTQUFRLGFBQWdCO0lBR2hFLFlBQVksSUFBdUIsRUFBRSxLQUFtQjtRQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgdHlwZSB7IE1vZGVsLCBNb2RlbE1ldGFJbnB1dCB9IGZyb20gXCIuLi9tb2RlbFwiXG5pbXBvcnQgeyBMb2NhbFByb3ZpZGVyIH0gZnJvbSBcIi4vbG9jYWxcIlxuXG5leHBvcnQgY2xhc3MgQXJyYXlQcm92aWRlcjxUIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgTG9jYWxQcm92aWRlcjxUPiB7XG4gICAgb3ZlcnJpZGUgcmVhZG9ubHkgaXRlbXMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT5cblxuICAgIGNvbnN0cnVjdG9yKG1ldGE6IE1vZGVsTWV0YUlucHV0PFQ+LCBpdGVtczogcmVhZG9ubHkgVFtdKSB7XG4gICAgICAgIHN1cGVyKG1ldGEpXG4gICAgICAgIHRoaXMuaXRlbXMkID0gb2YoaXRlbXMpXG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { DataProvider } from "./provider";
|
|
2
|
-
export { LocalProvider } from "./local";
|
|
3
|
-
export { ArrayProvider } from "./array";
|
|
4
|
-
export { ObservableProvider } from "./observable";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5leHBvcnQgeyBMb2NhbFByb3ZpZGVyIH0gZnJvbSBcIi4vbG9jYWxcIlxuZXhwb3J0IHsgQXJyYXlQcm92aWRlciB9IGZyb20gXCIuL2FycmF5XCJcbmV4cG9ydCB7IE9ic2VydmFibGVQcm92aWRlciB9IGZyb20gXCIuL29ic2VydmFibGVcIlxuIl19
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { map, take } from "rxjs";
|
|
2
|
-
import { ModelMeta } from "../model";
|
|
3
|
-
import { queryExecutor, sliceClamp } from "../query";
|
|
4
|
-
import { DataProvider } from "./provider";
|
|
5
|
-
export class LocalProvider extends DataProvider {
|
|
6
|
-
#executor;
|
|
7
|
-
constructor(meta) {
|
|
8
|
-
super();
|
|
9
|
-
this.isAsync = false;
|
|
10
|
-
this.meta = ModelMeta.coerce(meta);
|
|
11
|
-
}
|
|
12
|
-
executor(request) {
|
|
13
|
-
return (this.#executor = queryExecutor(request, this.#executor));
|
|
14
|
-
}
|
|
15
|
-
queryList(request) {
|
|
16
|
-
const exec = this.executor(request);
|
|
17
|
-
return this.items$.pipe(map(items => exec(items)));
|
|
18
|
-
}
|
|
19
|
-
queryItem(ref, request) {
|
|
20
|
-
const items = request ? this.queryList(request).pipe(map(list => list.items)) : this.items$;
|
|
21
|
-
return items.pipe(map(items => items.find(ref.toFilter())));
|
|
22
|
-
}
|
|
23
|
-
queryPosition(ref, request) {
|
|
24
|
-
return this.queryList(request).pipe(map(list => list.items.findIndex(ref.toFilter())));
|
|
25
|
-
}
|
|
26
|
-
clampSlice(slice) {
|
|
27
|
-
return this.items$.pipe(take(1), map(items => sliceClamp(slice, { start: 0, end: items.length })));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9wcm92aWRlci9sb2NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUU1QyxPQUFPLEVBQVMsU0FBUyxFQUFnQyxNQUFNLFVBQVUsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFxRCxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV6QyxNQUFNLE9BQWdCLGFBQStCLFNBQVEsWUFBZTtJQUt4RSxTQUFTLENBQW1CO0lBRTVCLFlBQVksSUFBdUI7UUFDL0IsS0FBSyxFQUFFLENBQUE7UUFQTyxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBUTdCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQTBCO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDcEUsQ0FBQztJQUVRLFNBQVMsQ0FBQyxPQUEwQjtRQUN6QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBRVEsU0FBUyxDQUFDLEdBQWlCLEVBQUUsT0FBMkI7UUFDN0QsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUMzRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDL0QsQ0FBQztJQUVRLGFBQWEsQ0FBQyxHQUFpQixFQUFFLE9BQTBCO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFGLENBQUM7SUFFUSxVQUFVLENBQUMsS0FBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQ25FLENBQUE7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IE1vZGVsLCBNb2RlbE1ldGEsIE1vZGVsTWV0YUlucHV0LCBNb2RlbFJlZk5vcm0gfSBmcm9tIFwiLi4vbW9kZWxcIlxuaW1wb3J0IHsgcXVlcnlFeGVjdXRvciwgUXVlcnlFeGVjdXRvciwgUXVlcnlSZXN1bHQsIFF1ZXJ5V2l0aFNsaWNlLCBTbGljZSwgc2xpY2VDbGFtcCB9IGZyb20gXCIuLi9xdWVyeVwiXG5pbXBvcnQgeyBEYXRhUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMb2NhbFByb3ZpZGVyPFQgZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBEYXRhUHJvdmlkZXI8VD4ge1xuICAgIG92ZXJyaWRlIHJlYWRvbmx5IGlzQXN5bmMgPSBmYWxzZVxuICAgIG92ZXJyaWRlIHJlYWRvbmx5IG1ldGE6IE1vZGVsTWV0YTxUPlxuICAgIGFic3RyYWN0IHJlYWRvbmx5IGl0ZW1zJDogT2JzZXJ2YWJsZTxyZWFkb25seSBUW10+XG5cbiAgICAjZXhlY3V0b3I/OiBRdWVyeUV4ZWN1dG9yPFQ+XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhOiBNb2RlbE1ldGFJbnB1dDxUPikge1xuICAgICAgICBzdXBlcigpXG4gICAgICAgIHRoaXMubWV0YSA9IE1vZGVsTWV0YS5jb2VyY2UobWV0YSlcbiAgICB9XG5cbiAgICBleGVjdXRvcihyZXF1ZXN0OiBRdWVyeVdpdGhTbGljZTxUPik6IFF1ZXJ5RXhlY3V0b3I8VD4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuI2V4ZWN1dG9yID0gcXVlcnlFeGVjdXRvcihyZXF1ZXN0LCB0aGlzLiNleGVjdXRvcikpXG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgcXVlcnlMaXN0KHJlcXVlc3Q6IFF1ZXJ5V2l0aFNsaWNlPFQ+KTogT2JzZXJ2YWJsZTxRdWVyeVJlc3VsdDxUPj4ge1xuICAgICAgICBjb25zdCBleGVjID0gdGhpcy5leGVjdXRvcihyZXF1ZXN0KVxuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcyQucGlwZShtYXAoaXRlbXMgPT4gZXhlYyhpdGVtcykpKVxuICAgIH1cblxuICAgIG92ZXJyaWRlIHF1ZXJ5SXRlbShyZWY6IE1vZGVsUmVmTm9ybSwgcmVxdWVzdD86IFF1ZXJ5V2l0aFNsaWNlPFQ+KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gcmVxdWVzdCA/IHRoaXMucXVlcnlMaXN0KHJlcXVlc3QpLnBpcGUobWFwKGxpc3QgPT4gbGlzdC5pdGVtcykpIDogdGhpcy5pdGVtcyRcbiAgICAgICAgcmV0dXJuIGl0ZW1zLnBpcGUobWFwKGl0ZW1zID0+IGl0ZW1zLmZpbmQocmVmLnRvRmlsdGVyKCkpKSlcbiAgICB9XG5cbiAgICBvdmVycmlkZSBxdWVyeVBvc2l0aW9uKHJlZjogTW9kZWxSZWZOb3JtLCByZXF1ZXN0OiBRdWVyeVdpdGhTbGljZTxUPik6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5TGlzdChyZXF1ZXN0KS5waXBlKG1hcChsaXN0ID0+IGxpc3QuaXRlbXMuZmluZEluZGV4KHJlZi50b0ZpbHRlcigpKSkpXG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2xhbXBTbGljZShzbGljZTogU2xpY2UpOiBPYnNlcnZhYmxlPFNsaWNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zJC5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcChpdGVtcyA9PiBzbGljZUNsYW1wKHNsaWNlLCB7IHN0YXJ0OiAwLCBlbmQ6IGl0ZW1zLmxlbmd0aCB9KSlcbiAgICAgICAgKVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { shareReplay } from "rxjs";
|
|
2
|
-
import { LocalProvider } from "./local";
|
|
3
|
-
export class ObservableProvider extends LocalProvider {
|
|
4
|
-
constructor(meta, src) {
|
|
5
|
-
super(meta);
|
|
6
|
-
const source = src.pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
7
|
-
this.items$ = source;
|
|
8
|
-
this._changed = source;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RhdGEvc3JjL3Byb3ZpZGVyL29ic2VydmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFHbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUV2QyxNQUFNLE9BQU8sa0JBQW9DLFNBQVEsYUFBZ0I7SUFHckUsWUFBWSxJQUF1QixFQUFFLEdBQTZCO1FBQzlELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNYLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXkgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB0eXBlIHsgTW9kZWwsIE1vZGVsTWV0YUlucHV0IH0gZnJvbSBcIi4uL21vZGVsXCJcbmltcG9ydCB7IExvY2FsUHJvdmlkZXIgfSBmcm9tIFwiLi9sb2NhbFwiXG5cbmV4cG9ydCBjbGFzcyBPYnNlcnZhYmxlUHJvdmlkZXI8VCBleHRlbmRzIE1vZGVsPiBleHRlbmRzIExvY2FsUHJvdmlkZXI8VD4ge1xuICAgIHJlYWRvbmx5IGl0ZW1zJDogT2JzZXJ2YWJsZTxyZWFkb25seSBUW10+XG5cbiAgICBjb25zdHJ1Y3RvcihtZXRhOiBNb2RlbE1ldGFJbnB1dDxUPiwgc3JjOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4pIHtcbiAgICAgICAgc3VwZXIobWV0YSlcbiAgICAgICAgY29uc3Qgc291cmNlID0gc3JjLnBpcGUoc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSlcbiAgICAgICAgdGhpcy5pdGVtcyQgPSBzb3VyY2VcbiAgICAgICAgdGhpcy5fY2hhbmdlZCA9IHNvdXJjZVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { NEVER, of } from "rxjs";
|
|
2
|
-
import { DataSource } from "../source";
|
|
3
|
-
export class DataProvider {
|
|
4
|
-
constructor() {
|
|
5
|
-
this._changed = NEVER;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Emit event when data is changed
|
|
9
|
-
*/
|
|
10
|
-
get changed$() {
|
|
11
|
-
return this._changed;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Froce Slice boundaries, useful in array, or obeservable providers
|
|
15
|
-
*/
|
|
16
|
-
clampSlice(slice) {
|
|
17
|
-
return of(slice);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* @returns New data source instance
|
|
21
|
-
*/
|
|
22
|
-
toDataSource(store) {
|
|
23
|
-
return new DataSource(this, store);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9wcm92aWRlci9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUloQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBR3RDLE1BQU0sT0FBZ0IsWUFBWTtJQUFsQztRQWlCYyxhQUFRLEdBQW9CLEtBQUssQ0FBQTtJQThCL0MsQ0FBQztJQXBDRzs7T0FFRztJQUNILElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN4QixDQUFDO0lBa0JEOztPQUVHO0lBQ0gsVUFBVSxDQUFDLEtBQVk7UUFDbkIsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEtBQTBCO1FBQ25DLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3RDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCJcbmltcG9ydCB7IE5FVkVSLCBvZiB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHR5cGUgeyBNb2RlbCwgTW9kZWxNZXRhLCBNb2RlbFJlZk5vcm0gfSBmcm9tIFwiLi4vbW9kZWxcIlxuaW1wb3J0IHR5cGUgeyBRdWVyeVJlc3VsdCwgUXVlcnlXaXRoU2xpY2UsIFNsaWNlIH0gZnJvbSBcIi4uL3F1ZXJ5XCJcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi4vc291cmNlXCJcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvblN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlXCJcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGFQcm92aWRlcjxUIGV4dGVuZHMgTW9kZWw+IHtcbiAgICAvKipcbiAgICAgKiBgdHJ1ZWAgd2hlbiB0aGUgcHJvdmlkZXIgaXMgbWFraW5nIGFzeW5jIHJlcXVlc3RzXG4gICAgICovXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgaXNBc3luYzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogTWV0YWRhdGEgb2YgbW9kZWxcbiAgICAgKi9cbiAgICBhYnN0cmFjdCByZWFkb25seSBtZXRhOiBNb2RlbE1ldGE8VD5cblxuICAgIC8qKlxuICAgICAqIEVtaXQgZXZlbnQgd2hlbiBkYXRhIGlzIGNoYW5nZWRcbiAgICAgKi9cbiAgICBnZXQgY2hhbmdlZCQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoYW5nZWRcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jaGFuZ2VkOiBPYnNlcnZhYmxlPGFueT4gPSBORVZFUlxuXG4gICAgLyoqXG4gICAgICogUXVlcnkgaXRlbXMgYnkgdGhlIGdpdmVuIHJlcXVlc3RcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBxdWVyeUxpc3QocmVxdWVzdDogUXVlcnlXaXRoU2xpY2U8VD4pOiBPYnNlcnZhYmxlPFF1ZXJ5UmVzdWx0PFQ+PlxuXG4gICAgLyoqXG4gICAgICogUXVlcnkgZXhhY3RseSBvbmUgaXRlbSBieSB0aGUgZ2l2ZW4gcmVxdWVzdFxuICAgICAqL1xuICAgIGFic3RyYWN0IHF1ZXJ5SXRlbShyZWY6IE1vZGVsUmVmTm9ybSwgcmVxdWVzdD86IFF1ZXJ5V2l0aFNsaWNlPFQ+KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPlxuXG4gICAgLyoqXG4gICAgICogUXVlcnkgaXRlbSBwb3NpdGlvbiBpbiB0aGUgbGlzdCB0aGF0IG1hdGNoaW5nIGJ5IHRoZSBnaXZlbiByZXF1ZXN0XG4gICAgICovXG4gICAgYWJzdHJhY3QgcXVlcnlQb3NpdGlvbihyZWY6IE1vZGVsUmVmTm9ybSwgcmVxdWVzdDogUXVlcnlXaXRoU2xpY2U8VD4pOiBPYnNlcnZhYmxlPG51bWJlciB8IHVuZGVmaW5lZD5cblxuICAgIC8qKlxuICAgICAqIEZyb2NlIFNsaWNlIGJvdW5kYXJpZXMsIHVzZWZ1bCBpbiBhcnJheSwgb3Igb2Jlc2VydmFibGUgcHJvdmlkZXJzXG4gICAgICovXG4gICAgY2xhbXBTbGljZShzbGljZTogU2xpY2UpOiBPYnNlcnZhYmxlPFNsaWNlPiB7XG4gICAgICAgIHJldHVybiBvZihzbGljZSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyBOZXcgZGF0YSBzb3VyY2UgaW5zdGFuY2VcbiAgICAgKi9cbiAgICB0b0RhdGFTb3VyY2Uoc3RvcmU/OiBDb2xsZWN0aW9uU3RvcmU8VD4pOiBEYXRhU291cmNlPFQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRhU291cmNlKHRoaXMsIHN0b3JlKVxuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/query/common.mjs
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export function readonlyProp(o, n, v) {
|
|
2
|
-
Object.defineProperty(o, n, {
|
|
3
|
-
value: v,
|
|
4
|
-
configurable: false,
|
|
5
|
-
enumerable: true,
|
|
6
|
-
writable: false
|
|
7
|
-
});
|
|
8
|
-
}
|
|
9
|
-
const NORMALIZED = Symbol("NORMALIZED");
|
|
10
|
-
const IS_NORMALIZED = Symbol("IS_NORMALIZED");
|
|
11
|
-
export function normalize(obj, normalizer) {
|
|
12
|
-
if (obj[IS_NORMALIZED]) {
|
|
13
|
-
return obj;
|
|
14
|
-
}
|
|
15
|
-
if (obj[NORMALIZED] == null) {
|
|
16
|
-
const normalized = normalizer(obj);
|
|
17
|
-
Object.defineProperty(obj, NORMALIZED, {
|
|
18
|
-
value: normalized,
|
|
19
|
-
configurable: false,
|
|
20
|
-
enumerable: false,
|
|
21
|
-
writable: false
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(normalize, IS_NORMALIZED, {
|
|
24
|
-
value: true,
|
|
25
|
-
configurable: false,
|
|
26
|
-
enumerable: false,
|
|
27
|
-
writable: false
|
|
28
|
-
});
|
|
29
|
-
return normalized;
|
|
30
|
-
}
|
|
31
|
-
return obj[NORMALIZED];
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGF0YS9zcmMvcXVlcnkvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBVSxFQUFFLENBQWtCLEVBQUUsQ0FBVTtJQUNuRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDeEIsS0FBSyxFQUFFLENBQUM7UUFDUixZQUFZLEVBQUUsS0FBSztRQUNuQixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsS0FBSztLQUNsQixDQUFDLENBQUE7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQ3ZDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtBQUU3QyxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVEsRUFBRSxVQUEyQjtJQUMzRCxJQUFLLEdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sR0FBVSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxJQUFLLEdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ25DLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQTtRQUVGLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRTtZQUM1QyxLQUFLLEVBQUUsSUFBSTtZQUNYLFlBQVksRUFBRSxLQUFLO1lBQ25CLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQTtRQUVGLE9BQU8sVUFBVSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxPQUFRLEdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHJlYWRvbmx5UHJvcChvOiB1bmtub3duLCBuOiBzdHJpbmcgfCBzeW1ib2wsIHY6IHVua25vd24pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgbiwge1xuICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlXG4gICAgfSlcbn1cblxuY29uc3QgTk9STUFMSVpFRCA9IFN5bWJvbChcIk5PUk1BTElaRURcIilcbmNvbnN0IElTX05PUk1BTElaRUQgPSBTeW1ib2woXCJJU19OT1JNQUxJWkVEXCIpXG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUob2JqOiBhbnksIG5vcm1hbGl6ZXI6ICh2OiBhbnkpID0+IGFueSk6IGFueSB7XG4gICAgaWYgKChvYmogYXMgYW55KVtJU19OT1JNQUxJWkVEXSkge1xuICAgICAgICByZXR1cm4gb2JqIGFzIGFueVxuICAgIH1cblxuICAgIGlmICgob2JqIGFzIGFueSlbTk9STUFMSVpFRF0gPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplcihvYmopXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIE5PUk1BTElaRUQsIHtcbiAgICAgICAgICAgIHZhbHVlOiBub3JtYWxpemVkLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlXG4gICAgICAgIH0pXG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5vcm1hbGl6ZSwgSVNfTk9STUFMSVpFRCwge1xuICAgICAgICAgICAgdmFsdWU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICB3cml0YWJsZTogZmFsc2VcbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gbm9ybWFsaXplZFxuICAgIH1cblxuICAgIHJldHVybiAob2JqIGFzIGFueSlbTk9STUFMSVpFRF1cbn1cbiJdfQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { isEqual } from "lodash-es";
|
|
2
|
-
import { toSorted } from "@ngutil/common";
|
|
3
|
-
import { filterBy } from "./filter";
|
|
4
|
-
import { groupBy } from "./grouper";
|
|
5
|
-
import { sortBy } from "./sorter";
|
|
6
|
-
const INPUT = Symbol("INPUT");
|
|
7
|
-
export function queryExecutor(query, previous) {
|
|
8
|
-
const executors = {
|
|
9
|
-
filterFn: filterExecutor(query.filter, previous?.filterFn),
|
|
10
|
-
sorterFn: sorterExecutor(query.sorter, previous?.sorterFn),
|
|
11
|
-
grouperFn: grouperExecutor(query.grouper, previous?.grouperFn),
|
|
12
|
-
slicerFn: sliceExecutor(query.slice, previous?.slicerFn)
|
|
13
|
-
};
|
|
14
|
-
const changed = previous == null || Object.entries(executors).some(([k, v]) => previous[k] !== v);
|
|
15
|
-
if (!changed) {
|
|
16
|
-
return previous;
|
|
17
|
-
}
|
|
18
|
-
const executor = (items) => {
|
|
19
|
-
if (items == null || items.length === 0) {
|
|
20
|
-
return { items: [], total: 0 };
|
|
21
|
-
}
|
|
22
|
-
let result = items;
|
|
23
|
-
if (executors.filterFn) {
|
|
24
|
-
result = result.filter(executors.filterFn);
|
|
25
|
-
}
|
|
26
|
-
if (executors.sorterFn) {
|
|
27
|
-
result = toSorted(result, executors.sorterFn);
|
|
28
|
-
}
|
|
29
|
-
const total = result.length;
|
|
30
|
-
// TODO: grouper
|
|
31
|
-
if (executors.slicerFn) {
|
|
32
|
-
result = executors.slicerFn(result);
|
|
33
|
-
}
|
|
34
|
-
return { items: result, total };
|
|
35
|
-
};
|
|
36
|
-
for (const [k, v] of Object.entries(executors)) {
|
|
37
|
-
Object.defineProperty(executor, k, {
|
|
38
|
-
value: v,
|
|
39
|
-
enumerable: true,
|
|
40
|
-
writable: false
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
return executor;
|
|
44
|
-
}
|
|
45
|
-
function filterExecutor(filter, prev) {
|
|
46
|
-
return compileExec(filter, prev, filterBy);
|
|
47
|
-
}
|
|
48
|
-
function sorterExecutor(sorter, prev) {
|
|
49
|
-
return compileExec(sorter, prev, sortBy);
|
|
50
|
-
}
|
|
51
|
-
function grouperExecutor(sorter, prev) {
|
|
52
|
-
return compileExec(sorter, prev, groupBy);
|
|
53
|
-
}
|
|
54
|
-
function sliceExecutor(slice, prev) {
|
|
55
|
-
return compileExec(slice, prev, sliceBy);
|
|
56
|
-
}
|
|
57
|
-
function sliceBy(slice) {
|
|
58
|
-
return (items) => items.slice(slice.start, slice.end);
|
|
59
|
-
}
|
|
60
|
-
function compileExec(input, prev, compiler) {
|
|
61
|
-
if (input == null) {
|
|
62
|
-
return undefined;
|
|
63
|
-
}
|
|
64
|
-
if (prev != null) {
|
|
65
|
-
// thorically input is readonly
|
|
66
|
-
if (prev[INPUT] === input || isEqual(prev[INPUT], input)) {
|
|
67
|
-
return prev;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
const exec = compiler(input);
|
|
71
|
-
Object.defineProperty(exec, INPUT, {
|
|
72
|
-
value: input,
|
|
73
|
-
enumerable: true,
|
|
74
|
-
writable: false
|
|
75
|
-
});
|
|
76
|
-
return exec;
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYXRhL3NyYy9xdWVyeS9leGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBR25DLE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHdkQsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBR25DLE9BQU8sRUFBRSxNQUFNLEVBQVUsTUFBTSxVQUFVLENBQUE7QUFFekMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBaUI3QixNQUFNLFVBQVUsYUFBYSxDQUN6QixLQUF3QixFQUN4QixRQUEyQjtJQUUzQixNQUFNLFNBQVMsR0FBc0I7UUFDakMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7UUFDMUQsUUFBUSxFQUFFLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7UUFDMUQsU0FBUyxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUM7UUFDOUQsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7S0FDM0QsQ0FBQTtJQUVELE1BQU0sT0FBTyxHQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUUsUUFBZ0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMs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Q0FBQTtRQUNmLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBUSxDQUFBO0lBQ25DLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtRQUMvQixLQUFLLEVBQUUsS0FBSztRQUNaLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFFBQVEsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQTtJQUNGLE9BQU8sSUFBSSxDQUFBO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwibG9kYXNoLWVzXCJcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJ1dGlsaXR5LXR5cGVzXCJcblxuaW1wb3J0IHsgRGVlcFJlYWRvbmx5LCB0b1NvcnRlZCB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIi4uL21vZGVsXCJcbmltcG9ydCB7IEZpbHRlciwgZmlsdGVyQnkgfSBmcm9tIFwiLi9maWx0ZXJcIlxuaW1wb3J0IHsgZ3JvdXBCeSB9IGZyb20gXCIuL2dyb3VwZXJcIlxuaW1wb3J0IHsgUXVlcnlSZXN1bHQsIFF1ZXJ5V2l0aFNsaWNlIH0gZnJvbSBcIi4vcXVlcnlcIlxuaW1wb3J0IHsgU2xpY2UgfSBmcm9tIFwiLi9zbGljZVwiXG5pbXBvcnQgeyBzb3J0QnksIFNvcnRlciB9IGZyb20gXCIuL3NvcnRlclwiXG5cbmNvbnN0IElOUFVUID0gU3ltYm9sKFwiSU5QVVRcIilcblxuaW50ZXJmYWNlIFBhcnRpYWxFeGVjdXRvciB7XG4gICAgW0lOUFVUXTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlFeGVjdXRvcnM8VCBleHRlbmRzIE1vZGVsPiB7XG4gICAgcmVhZG9ubHkgZmlsdGVyRm4/OiBGaWx0ZXJFeGVjdXRvcjxUPlxuICAgIHJlYWRvbmx5IHNvcnRlckZuPzogU29ydGVyRXhlY3V0b3I8VD5cbiAgICByZWFkb25seSBncm91cGVyRm4/OiBHcm91cGVyRXhlY3V0b3I8VD5cbiAgICByZWFkb25seSBzbGljZXJGbj86IFNsaWNlRXhlY3V0b3I8VD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeUV4ZWN1dG9yPFQgZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBRdWVyeUV4ZWN1dG9yczxUPiB7XG4gICAgKGl0ZW1zOiByZWFkb25seSBUW10pOiBRdWVyeVJlc3VsdDxUPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlFeGVjdXRvcjxUIGV4dGVuZHMgTW9kZWw+KFxuICAgIHF1ZXJ5OiBRdWVyeVdpdGhTbGljZTxUPixcbiAgICBwcmV2aW91cz86IFF1ZXJ5RXhlY3V0b3I8VD5cbik6IFF1ZXJ5RXhlY3V0b3I8VD4ge1xuICAgIGNvbnN0IGV4ZWN1dG9yczogUXVlcnlFeGVjdXRvcnM8VD4gPSB7XG4gICAgICAgIGZpbHRlckZuOiBmaWx0ZXJFeGVjdXRvcihxdWVyeS5maWx0ZXIsIHByZXZpb3VzPy5maWx0ZXJGbiksXG4gICAgICAgIHNvcnRlckZuOiBzb3J0ZXJFeGVjdXRvcihxdWVyeS5zb3J0ZXIsIHByZXZpb3VzPy5zb3J0ZXJGbiksXG4gICAgICAgIGdyb3VwZXJGbjogZ3JvdXBlckV4ZWN1dG9yKHF1ZXJ5Lmdyb3VwZXIsIHByZXZpb3VzPy5ncm91cGVyRm4pLFxuICAgICAgICBzbGljZXJGbjogc2xpY2VFeGVjdXRvcihxdWVyeS5zbGljZSwgcHJldmlvdXM/LnNsaWNlckZuKVxuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZWQgPSBwcmV2aW91cyA9PSBudWxsIHx8IE9iamVjdC5lbnRyaWVzKGV4ZWN1dG9ycykuc29tZSgoW2ssIHZdKSA9PiAocHJldmlvdXMgYXMgYW55KVtrXSAhPT0gdilcbiAgICBpZiAoIWNoYW5nZWQpIHtcbiAgICAgICAgcmV0dXJuIHByZXZpb3VzXG4gICAgfVxuXG4gICAgY29uc3QgZXhlY3V0b3IgPSAoaXRlbXM6IHJlYWRvbmx5IFRbXSk6IFF1ZXJ5UmVzdWx0PFQ+ID0+IHtcbiAgICAgICAgaWYgKGl0ZW1zID09IG51bGwgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpdGVtczogW10sIHRvdGFsOiAwIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXN1bHQ6IHJlYWRvbmx5IFRbXSA9IGl0ZW1zXG5cbiAgICAgICAgaWYgKGV4ZWN1dG9ycy5maWx0ZXJGbikge1xuICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihleGVjdXRvcnMuZmlsdGVyRm4pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhlY3V0b3JzLnNvcnRlckZuKSB7XG4gICAgICAgICAgICByZXN1bHQgPSB0b1NvcnRlZChyZXN1bHQsIGV4ZWN1dG9ycy5zb3J0ZXJGbilcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvdGFsID0gcmVzdWx0Lmxlbmd0aFxuXG4gICAgICAgIC8vIFRPRE86IGdyb3VwZXJcblxuICAgICAgICBpZiAoZXhlY3V0b3JzLnNsaWNlckZuKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBleGVjdXRvcnMuc2xpY2VyRm4ocmVzdWx0KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgaXRlbXM6IHJlc3VsdCwgdG90YWwgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKGV4ZWN1dG9ycykpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4ZWN1dG9yLCBrLCB7XG4gICAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogZmFsc2VcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gZXhlY3V0b3Jcbn1cblxuaW50ZXJmYWNlIEZpbHRlckV4ZWN1dG9yPFQgZXh0ZW5kcyBNb2RlbD4gZXh0ZW5kcyBQYXJ0aWFsRXhlY3V0b3Ige1xuICAgIChpdGVtOiBUKTogYm9vbGVhblxufVxuXG5mdW5jdGlvbiBmaWx0ZXJFeGVjdXRvcjxUIGV4dGVuZHMgTW9kZWw+KFxuICAgIGZpbHRlcj86IERlZXBSZWFkb25seTxGaWx0ZXI8VD4+LFxuICAgIHByZXY/OiBGaWx0ZXJFeGVjdXRvcjxUPlxuKTogRmlsdGVyRXhlY3V0b3I8VD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBjb21waWxlRXhlYzxUPihmaWx0ZXIsIHByZXYsIGZpbHRlckJ5KVxufVxuXG5pbnRlcmZhY2UgU29ydGVyRXhlY3V0b3I8VCBleHRlbmRzIE1vZGVsPiBleHRlbmRzIFBhcnRpYWxFeGVjdXRvciB7XG4gICAgKGE6IFQsIGI6IFQpOiBudW1iZXJcbn1cblxuZnVuY3Rpb24gc29ydGVyRXhlY3V0b3I8VCBleHRlbmRzIE1vZGVsPihcbiAgICBzb3J0ZXI/OiBEZWVwUmVhZG9ubHk8U29ydGVyPFQ+PixcbiAgICBwcmV2PzogU29ydGVyRXhlY3V0b3I8VD5cbik6IFNvcnRlckV4ZWN1dG9yPFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY29tcGlsZUV4ZWM8VD4oc29ydGVyLCBwcmV2LCBzb3J0QnkpXG59XG5cbmludGVyZmFjZSBHcm91cGVyRXhlY3V0b3I8VCBleHRlbmRzIE1vZGVsPiBleHRlbmRzIFBhcnRpYWxFeGVjdXRvciB7XG4gICAgKGl0ZW06IFQpOiBQcmltaXRpdmVcbn1cblxuZnVuY3Rpb24gZ3JvdXBlckV4ZWN1dG9yPFQgZXh0ZW5kcyBNb2RlbD4oXG4gICAgc29ydGVyPzogRGVlcFJlYWRvbmx5PFNvcnRlcjxUPj4sXG4gICAgcHJldj86IEdyb3VwZXJFeGVjdXRvcjxUPlxuKTogR3JvdXBlckV4ZWN1dG9yPFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY29tcGlsZUV4ZWM8VD4oc29ydGVyLCBwcmV2LCBncm91cEJ5KVxufVxuXG5pbnRlcmZhY2UgU2xpY2VFeGVjdXRvcjxUIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgUGFydGlhbEV4ZWN1dG9yIHtcbiAgICAoaXRlbXM6IHJlYWRvbmx5IFRbXSk6IFRbXVxufVxuXG5mdW5jdGlvbiBzbGljZUV4ZWN1dG9yPFQgZXh0ZW5kcyBNb2RlbD4oXG4gICAgc2xpY2U/OiBEZWVwUmVhZG9ubHk8U2xpY2U+LFxuICAgIHByZXY/OiBTbGljZUV4ZWN1dG9yPFQ+XG4pOiBTbGljZUV4ZWN1dG9yPFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY29tcGlsZUV4ZWM8VD4oc2xpY2UsIHByZXYsIHNsaWNlQnkpXG59XG5cbmZ1bmN0aW9uIHNsaWNlQnk8VCBleHRlbmRzIE1vZGVsPihzbGljZTogU2xpY2UpIHtcbiAgICByZXR1cm4gKGl0ZW1zOiBUW10pID0+IGl0ZW1zLnNsaWNlKHNsaWNlLnN0YXJ0LCBzbGljZS5lbmQpXG59XG5cbmZ1bmN0aW9uIGNvbXBpbGVFeGVjPFQgZXh0ZW5kcyBNb2RlbD4oaW5wdXQ6IGFueSwgcHJldjogYW55LCBjb21waWxlcjogYW55KTogYW55IHtcbiAgICBpZiAoaW5wdXQgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgaWYgKHByZXYgIT0gbnVsbCkge1xuICAgICAgICAvLyB0aG9yaWNhbGx5IGlucHV0IGlzIHJlYWRvbmx5XG4gICAgICAgIGlmIChwcmV2W0lOUFVUXSA9PT0gaW5wdXQgfHwgaXNFcXVhbChwcmV2W0lOUFVUXSwgaW5wdXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXhlYyA9IGNvbXBpbGVyKGlucHV0KSBhcyBhbnlcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhlYywgSU5QVVQsIHtcbiAgICAgICAgdmFsdWU6IGlucHV0LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB3cml0YWJsZTogZmFsc2VcbiAgICB9KVxuICAgIHJldHVybiBleGVjXG59XG4iXX0=
|