@latitude-ui/widgets 0.0.12 → 0.0.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.
- package/cdk/latitude-ui-widgets-cdk.d.ts +5 -0
- package/cdk/public-api.d.ts +12 -0
- package/cdk/src/collection/collection.d.ts +20 -0
- package/cdk/src/expression/expression.d.ts +12 -0
- package/cdk/src/expression/filter/filter-criteria-descriptor.d.ts +6 -0
- package/cdk/src/expression/filter/filter-descriptor.d.ts +7 -0
- package/cdk/src/expression/filter/filter-logic.d.ts +1 -0
- package/cdk/src/expression/linq.d.ts +38 -0
- package/cdk/src/expression/sort/sort-descriptor.d.ts +7 -0
- package/cdk/src/expression/sort/sort-logic.d.ts +1 -0
- package/cdk/src/queryable/http-transport/http-transport.d.ts +15 -0
- package/cdk/src/queryable/query.d.ts +16 -0
- package/cdk/src/queryable/queryable.d.ts +18 -0
- package/cdk/src/queryable/transport.d.ts +19 -0
- package/checkbox/src/checkbox.component.d.ts +1 -1
- package/core/public-api.d.ts +2 -0
- package/core/src/dimensions.d.ts +13 -0
- package/core/src/listeners.d.ts +1 -1
- package/core/src/root.d.ts +12 -0
- package/esm2022/button/src/button.component.js +1 -1
- package/esm2022/cdk/latitude-ui-widgets-cdk.js +5 -0
- package/esm2022/cdk/public-api.js +13 -0
- package/esm2022/cdk/src/collection/collection.js +51 -0
- package/esm2022/cdk/src/expression/expression.js +21 -0
- package/esm2022/cdk/src/expression/filter/filter-criteria-descriptor.js +9 -0
- package/esm2022/cdk/src/expression/filter/filter-descriptor.js +9 -0
- package/esm2022/cdk/src/expression/filter/filter-logic.js +1 -0
- package/esm2022/cdk/src/expression/linq.js +55 -0
- package/esm2022/cdk/src/expression/sort/sort-descriptor.js +9 -0
- package/esm2022/cdk/src/expression/sort/sort-logic.js +1 -0
- package/esm2022/cdk/src/queryable/http-transport/http-transport.js +24 -0
- package/esm2022/cdk/src/queryable/query.js +22 -0
- package/esm2022/cdk/src/queryable/queryable.js +20 -0
- package/esm2022/cdk/src/queryable/transport.js +1 -0
- package/esm2022/checkbox/src/checkbox.component.js +4 -4
- package/esm2022/core/public-api.js +3 -1
- package/esm2022/core/src/dimensions.js +56 -0
- package/esm2022/core/src/listeners.js +1 -1
- package/esm2022/core/src/root.js +20 -0
- package/esm2022/icons/src/icon.component.js +18 -10
- package/esm2022/icons/src/icon.service.js +62 -0
- package/esm2022/icons/src/icon.tokens.js +8 -2
- package/esm2022/input/src/input-error/input-error.component.js +1 -1
- package/esm2022/input/src/input-label/input-label.component.js +1 -1
- package/esm2022/input/src/input.component.js +1 -1
- package/esm2022/input/src/input.directive.js +13 -14
- package/esm2022/listbox/src/listbox-option.component.js +5 -26
- package/esm2022/listview/latitude-ui-widgets-listview.js +5 -0
- package/esm2022/listview/public-api.js +2 -0
- package/esm2022/listview/src/listview.component.js +16 -0
- package/esm2022/listview/src/listview.tokens.js +3 -0
- package/esm2022/lookup/latitude-ui-widgets-lookup.js +5 -0
- package/esm2022/lookup/public-api.js +3 -0
- package/esm2022/lookup/src/lookup-outlet.directive.js +13 -0
- package/esm2022/lookup/src/lookup.component.js +11 -0
- package/esm2022/select/public-api.js +4 -4
- package/esm2022/select/src/select/select.directive.js +87 -0
- package/esm2022/select/src/select-dropdown/select-dropdown.component.js +39 -0
- package/esm2022/select/src/select-multiple.component.js +38 -29
- package/esm2022/select/src/select-option/select-option.component.js +21 -0
- package/esm2022/select/src/select-option/select-option.directive.js +19 -0
- package/esm2022/select/src/select-single.component.js +34 -29
- package/esm2022/select/src/select-trigger/select-trigger.component.js +29 -0
- package/esm2022/select/src/select-value/select-value.component.js +15 -0
- package/esm2022/select/src/select-values/select-values.component.js +16 -0
- package/esm2022/select/src/select.module.js +2 -2
- package/esm2022/switch/src/switch.component.js +4 -4
- package/esm2022/textarea/src/textarea.component.js +8 -19
- package/esm2022/textbox/public-api.js +2 -1
- package/esm2022/textbox/src/textbox.component.js +19 -11
- package/esm2022/textbox/src/textbox.directive.js +18 -0
- package/esm2022/textbox-number/src/spinners.component.js +2 -2
- package/esm2022/textbox-number/src/textbox-number.component.js +45 -38
- package/esm2022/textbox-search/src/textbox-search.component.js +17 -15
- package/esm2022/toolbar/latitude-ui-widgets-toolbar.js +5 -0
- package/esm2022/toolbar/public-api.js +2 -0
- package/esm2022/toolbar/src/toolbar.component.js +14 -0
- package/icons/src/icon.component.d.ts +3 -1
- package/icons/src/icon.service.d.ts +15 -0
- package/icons/src/icon.tokens.d.ts +2 -1
- package/input/src/input.directive.d.ts +13 -14
- package/listbox/src/listbox-option.component.d.ts +2 -5
- package/listview/latitude-ui-widgets-listview.d.ts +5 -0
- package/listview/public-api.d.ts +1 -0
- package/listview/src/listview.component.d.ts +6 -0
- package/listview/src/listview.tokens.d.ts +3 -0
- package/lookup/README.md +3 -0
- package/lookup/latitude-ui-widgets-lookup.d.ts +5 -0
- package/lookup/public-api.d.ts +2 -0
- package/lookup/src/lookup-outlet.directive.d.ts +5 -0
- package/lookup/src/lookup.component.d.ts +5 -0
- package/package.json +20 -8
- package/select/public-api.d.ts +3 -3
- package/select/src/select/select.directive.d.ts +25 -0
- package/select/src/select-dropdown/select-dropdown.component.d.ts +14 -0
- package/select/src/select-multiple.component.d.ts +7 -7
- package/select/src/{select-option.component.d.ts → select-option/select-option.component.d.ts} +2 -2
- package/select/src/{select-option.directive.d.ts → select-option/select-option.directive.d.ts} +3 -3
- package/select/src/select-single.component.d.ts +6 -7
- package/select/src/{select-trigger.component.d.ts → select-trigger/select-trigger.component.d.ts} +2 -2
- package/select/src/{select-value.component.d.ts → select-value/select-value.component.d.ts} +1 -1
- package/select/src/select-values/select-values.component.d.ts +7 -0
- package/select/src/select.module.d.ts +1 -1
- package/styles/_defaults.scss +13 -0
- package/styles/forms/_index.scss +108 -101
- package/styles/icons/_index.scss +2 -2
- package/switch/src/switch.component.d.ts +1 -1
- package/textarea/src/textarea.component.d.ts +3 -9
- package/textbox/public-api.d.ts +1 -0
- package/textbox/src/textbox.component.d.ts +9 -8
- package/textbox/src/textbox.directive.d.ts +10 -0
- package/textbox-number/src/textbox-number.component.d.ts +20 -14
- package/textbox-search/src/textbox-search.component.d.ts +9 -9
- package/toolbar/latitude-ui-widgets-toolbar.d.ts +5 -0
- package/toolbar/public-api.d.ts +1 -0
- package/toolbar/src/toolbar.component.d.ts +5 -0
- package/esm2022/select/src/select-option.component.js +0 -21
- package/esm2022/select/src/select-option.directive.js +0 -19
- package/esm2022/select/src/select-trigger.component.js +0 -28
- package/esm2022/select/src/select-value.component.js +0 -13
- package/esm2022/select/src/select.component.js +0 -44
- package/esm2022/select/src/select.directive.js +0 -103
- package/select/src/select.component.d.ts +0 -13
- package/select/src/select.directive.d.ts +0 -25
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './src/collection/collection';
|
|
2
|
+
export * from './src/expression/expression';
|
|
3
|
+
export * from './src/expression/linq';
|
|
4
|
+
export * from './src/expression/sort/sort-descriptor';
|
|
5
|
+
export * from './src/expression/sort/sort-logic';
|
|
6
|
+
export * from './src/expression/filter/filter-logic';
|
|
7
|
+
export * from './src/expression/filter/filter-descriptor';
|
|
8
|
+
export * from './src/expression/filter/filter-criteria-descriptor';
|
|
9
|
+
export * from './src/queryable/query';
|
|
10
|
+
export * from './src/queryable/queryable';
|
|
11
|
+
export * from './src/queryable/transport';
|
|
12
|
+
export * from './src/queryable/http-transport/http-transport';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { WritableSignal } from '@angular/core';
|
|
2
|
+
export declare class Collection<T> {
|
|
3
|
+
readonly values: import("@angular/core").Signal<T[]>;
|
|
4
|
+
readonly length: import("@angular/core").Signal<number>;
|
|
5
|
+
readonly _values: WritableSignal<T[]>;
|
|
6
|
+
constructor(items?: T[]);
|
|
7
|
+
set(values: T[]): void;
|
|
8
|
+
update(updateFn: (values: ReadonlyArray<T>) => T[]): void;
|
|
9
|
+
append(value: T): void;
|
|
10
|
+
delete(value: T): void;
|
|
11
|
+
insert(value: T, index?: number): void;
|
|
12
|
+
splice(start: number, deleteCount: number): void;
|
|
13
|
+
splice(start: number, deleteCount: number, ...newItems: T[]): void;
|
|
14
|
+
indexOf(searchElement: T, fromIndex?: number): number;
|
|
15
|
+
lastIndexOf(searchElement: T, fromIndex?: number): number;
|
|
16
|
+
find(predicate: (value: T, index: number, values: ReadonlyArray<T>) => unknown): T | undefined;
|
|
17
|
+
findIndex(predicate: (value: T, index: number, values: ReadonlyArray<T>) => unknown): number;
|
|
18
|
+
includes(value: T): boolean;
|
|
19
|
+
forEach(callbackFn: (value: T, index: number, array: ReadonlyArray<T>) => void): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class Expression {
|
|
2
|
+
readonly kind: string;
|
|
3
|
+
constructor(kind: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class ValueExpression<T> extends Expression {
|
|
6
|
+
readonly value: T;
|
|
7
|
+
constructor(value: T);
|
|
8
|
+
}
|
|
9
|
+
export declare class PropertyExpression extends Expression {
|
|
10
|
+
readonly name: string;
|
|
11
|
+
constructor(name: string);
|
|
12
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FilterLogic } from './filter-logic';
|
|
2
|
+
import { FilterCriteriaDescriptor } from './filter-criteria-descriptor';
|
|
3
|
+
export declare class FilterDescriptor {
|
|
4
|
+
readonly logic: FilterLogic;
|
|
5
|
+
readonly values: Array<FilterDescriptor | FilterCriteriaDescriptor>;
|
|
6
|
+
constructor(logic: FilterLogic, values?: Array<FilterDescriptor | FilterCriteriaDescriptor>);
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type FilterLogic = 'and' | 'or';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Expression, PropertyExpression, ValueExpression } from './expression';
|
|
2
|
+
import { FilterDescriptor } from './filter/filter-descriptor';
|
|
3
|
+
import { FilterCriteriaDescriptor } from './filter/filter-criteria-descriptor';
|
|
4
|
+
import { FilterLogic } from './filter/filter-logic';
|
|
5
|
+
export declare function or(...values: Array<FilterDescriptor | FilterCriteriaDescriptor>): FilterDescriptor;
|
|
6
|
+
export declare function and(...values: Array<FilterDescriptor | FilterCriteriaDescriptor>): FilterDescriptor;
|
|
7
|
+
export declare function eq(operand0: Expression, operand1: Expression): FilterCriteriaDescriptor;
|
|
8
|
+
export declare function neq(operand0: Expression, operand1: Expression): FilterCriteriaDescriptor;
|
|
9
|
+
export declare function lt(operand0: Expression, operand1: Expression): FilterCriteriaDescriptor;
|
|
10
|
+
export declare function lte(operand0: Expression, operand1: Expression): FilterCriteriaDescriptor;
|
|
11
|
+
export declare function gt(operand0: Expression, operand1: Expression): FilterCriteriaDescriptor;
|
|
12
|
+
export declare function gte(operand0: Expression, operand1: Expression): FilterCriteriaDescriptor;
|
|
13
|
+
export declare function value<T>(value: T): ValueExpression<T>;
|
|
14
|
+
export declare function property(name: string): PropertyExpression;
|
|
15
|
+
export interface FilterBuilderFn {
|
|
16
|
+
(...values: Array<FilterDescriptor | FilterCriteriaDescriptor>): FilterDescriptor;
|
|
17
|
+
(logic: FilterLogic, ...values: Array<FilterDescriptor | FilterCriteriaDescriptor>): FilterDescriptor;
|
|
18
|
+
}
|
|
19
|
+
export declare const where: FilterBuilderFn & {
|
|
20
|
+
eq: typeof eq;
|
|
21
|
+
neq: typeof neq;
|
|
22
|
+
lt: typeof lt;
|
|
23
|
+
lte: typeof lte;
|
|
24
|
+
gt: typeof gt;
|
|
25
|
+
gte: typeof gte;
|
|
26
|
+
};
|
|
27
|
+
export declare const linq: {
|
|
28
|
+
readonly v: typeof value;
|
|
29
|
+
readonly p: typeof property;
|
|
30
|
+
readonly where: FilterBuilderFn & {
|
|
31
|
+
eq: typeof eq;
|
|
32
|
+
neq: typeof neq;
|
|
33
|
+
lt: typeof lt;
|
|
34
|
+
lte: typeof lte;
|
|
35
|
+
gt: typeof gt;
|
|
36
|
+
gte: typeof gte;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type SortLogic = 'asc' | 'desc' | '-asc' | '-desc';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { WritableSignal } from '@angular/core';
|
|
2
|
+
import { HttpResourceRef, HttpResourceRequest } from '@angular/common/http';
|
|
3
|
+
import { Transport, TransportCollection, TransportFn, TransportParams } from '../transport';
|
|
4
|
+
export type HttpTransportRequest = HttpResourceRequest | undefined;
|
|
5
|
+
export declare class HttpTransport<T> implements Transport<T> {
|
|
6
|
+
readonly idle: import("@angular/core").Signal<boolean>;
|
|
7
|
+
readonly pending: import("@angular/core").Signal<boolean>;
|
|
8
|
+
readonly rejected: import("@angular/core").Signal<boolean>;
|
|
9
|
+
readonly fulfilled: import("@angular/core").Signal<boolean>;
|
|
10
|
+
readonly collection: import("@angular/core").Signal<TransportCollection<T>>;
|
|
11
|
+
readonly httpRequest: WritableSignal<HttpTransportRequest>;
|
|
12
|
+
readonly httpResource: HttpResourceRef<TransportCollection<T> | undefined>;
|
|
13
|
+
constructor(params: TransportParams, requestFn: (params: TransportParams) => HttpTransportRequest);
|
|
14
|
+
}
|
|
15
|
+
export declare function httpTransport<T>(requestFn: (params: TransportParams) => HttpTransportRequest): TransportFn<T>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { FilterDescriptor } from '../expression/filter/filter-descriptor';
|
|
3
|
+
export interface Query {
|
|
4
|
+
sort: unknown;
|
|
5
|
+
group: unknown;
|
|
6
|
+
filter: FilterDescriptor | null;
|
|
7
|
+
aggregate: unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare class QueryCollection {
|
|
10
|
+
readonly sort: Signal<unknown>;
|
|
11
|
+
readonly group: Signal<unknown>;
|
|
12
|
+
readonly filter: Signal<FilterDescriptor | null>;
|
|
13
|
+
readonly aggregate: Signal<unknown>;
|
|
14
|
+
readonly value: Signal<Query>;
|
|
15
|
+
constructor(query?: Partial<Query>);
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Transport, TransportFn } from './transport';
|
|
2
|
+
import { Query, QueryCollection } from './query';
|
|
3
|
+
export interface QueryableOptions<T> {
|
|
4
|
+
transport: TransportFn<T>;
|
|
5
|
+
defaultQuery?: Partial<Query>;
|
|
6
|
+
}
|
|
7
|
+
export declare class Queryable<T> {
|
|
8
|
+
readonly values: import("@angular/core").WritableSignal<T[]>;
|
|
9
|
+
readonly length: import("@angular/core").WritableSignal<number>;
|
|
10
|
+
readonly idle: import("@angular/core").Signal<boolean>;
|
|
11
|
+
readonly pending: import("@angular/core").Signal<boolean>;
|
|
12
|
+
readonly rejected: import("@angular/core").Signal<boolean>;
|
|
13
|
+
readonly fulfilled: import("@angular/core").Signal<boolean>;
|
|
14
|
+
readonly query: QueryCollection;
|
|
15
|
+
readonly transport: Transport<T>;
|
|
16
|
+
constructor({ transport, defaultQuery }: QueryableOptions<T>);
|
|
17
|
+
}
|
|
18
|
+
export declare function queryable<T>(options: QueryableOptions<T>): Queryable<T>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { Query } from './query';
|
|
3
|
+
export interface TransportFn<T> {
|
|
4
|
+
(params: TransportParams): Transport<T>;
|
|
5
|
+
}
|
|
6
|
+
export interface TransportParams {
|
|
7
|
+
query: Signal<Query>;
|
|
8
|
+
}
|
|
9
|
+
export interface TransportCollection<T> {
|
|
10
|
+
values: T[];
|
|
11
|
+
length: number;
|
|
12
|
+
}
|
|
13
|
+
export interface Transport<T> {
|
|
14
|
+
readonly idle: Signal<boolean>;
|
|
15
|
+
readonly pending: Signal<boolean>;
|
|
16
|
+
readonly rejected: Signal<boolean>;
|
|
17
|
+
readonly fulfilled: Signal<boolean>;
|
|
18
|
+
readonly collection: Signal<TransportCollection<T>>;
|
|
19
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BuildInInputValueAccessor } from '@latitude-ui/widgets/input';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class CheckBoxComponent extends BuildInInputValueAccessor<boolean> {
|
|
4
|
-
|
|
4
|
+
toggle(): void;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckBoxComponent, never>;
|
|
6
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<CheckBoxComponent, "lat-checkbox", ["latCheckBox"], {}, {}, never, ["*"], true, never>;
|
|
7
7
|
}
|
package/core/public-api.d.ts
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export declare const LAYOUT_DIMENSIONS: InjectionToken<{
|
|
3
|
+
width: import("@angular/core").Signal<number>;
|
|
4
|
+
height: import("@angular/core").Signal<number>;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const SCROLLBAR_DIMENSIONS: InjectionToken<import("@angular/core").Signal<number>>;
|
|
7
|
+
export declare const DIMENSIONS: InjectionToken<{
|
|
8
|
+
layout: {
|
|
9
|
+
width: import("@angular/core").Signal<number>;
|
|
10
|
+
height: import("@angular/core").Signal<number>;
|
|
11
|
+
};
|
|
12
|
+
scrollbar: import("@angular/core").Signal<number>;
|
|
13
|
+
}>;
|
package/core/src/listeners.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import { Injector } from '@angular/core';
|
|
|
3
3
|
* https://github.com/angular/angular/issues/9587
|
|
4
4
|
*/
|
|
5
5
|
export declare function listenMouseEvent<T extends HTMLElement>(nativeElement: T, options?: {
|
|
6
|
-
disabled?: () => boolean;
|
|
6
|
+
disabled?: () => boolean | undefined;
|
|
7
7
|
injector?: Injector;
|
|
8
8
|
}): VoidFunction;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class RootDirective {
|
|
3
|
+
readonly dimensions: {
|
|
4
|
+
layout: {
|
|
5
|
+
width: import("@angular/core").Signal<number>;
|
|
6
|
+
height: import("@angular/core").Signal<number>;
|
|
7
|
+
};
|
|
8
|
+
scrollbar: import("@angular/core").Signal<number>;
|
|
9
|
+
};
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RootDirective, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RootDirective, never, never, {}, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
41
41
|
'[class.lat-button-icon]': 'onlyicon()',
|
|
42
42
|
}, template: "<ng-content />\n" }]
|
|
43
43
|
}], ctorParameters: () => [] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvYnV0dG9uL3NyYy9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9idXR0b24vc3JjL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWtCN0QsTUFBTSxPQUFPLGVBQWU7SUFDakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0lBRXpDLElBQUksR0FBRyxLQUFLLENBQWEsSUFBSSxDQUFDLENBQUM7SUFDL0IsT0FBTyxHQUFHLEtBQUssQ0FBZ0IsU0FBUyxDQUFDLENBQUM7SUFDMUMsUUFBUSxHQUFHLEtBQUssQ0FBa0IsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDckUsUUFBUSxHQUFHLEtBQUssQ0FBbUIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUUzRSxRQUFRLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRTNDO1FBQ0UsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekU7O2FBRUs7UUFDTCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBRXhELElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO29CQUN4QixJQUFJLElBQUksWUFBWSxXQUFXLEVBQUUsQ0FBQzt3QkFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQztvQkFDdEYsQ0FBQztvQkFFRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBL0JVLGVBQWU7MkZBQWYsZUFBZSwrM0JDaEM1QixrQkFDQTs7MkZEK0JhLGVBQWU7a0JBaEIzQixTQUFTOytCQUNFLFdBQVcsWUFDWCxZQUFZLGlCQUVQLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osSUFBSSxFQUFFLFFBQVE7d0JBQ2QsaUJBQWlCLEVBQUUsOEJBQThCO3dCQUNqRCxrQkFBa0IsRUFBRSxRQUFRO3dCQUM1QixxQkFBcUIsRUFBRSxXQUFXO3dCQUNsQyxzQkFBc0IsRUFBRSx5QkFBeUI7d0JBQ2pELG9CQUFvQixFQUFFLE1BQU07d0JBQzVCLHlCQUF5QixFQUFFLFlBQVk7cUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBhZnRlclJlbmRlckVmZmVjdCxcclxuICBib29sZWFuQXR0cmlidXRlLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIGluamVjdCxcclxuICBpbnB1dCxcclxuICBudW1iZXJBdHRyaWJ1dGUsXHJcbiAgc2lnbmFsLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQnV0dG9uU2l6ZSwgQnV0dG9uVmFyaWFudCB9IGZyb20gJy4vYnV0dG9uLnR5cGVzJztcclxuaW1wb3J0IHsgbGlzdGVuTW91c2VFdmVudCB9IGZyb20gJ0BsYXRpdHVkZS11aS93aWRnZXRzL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgZXhwb3J0QXM6ICdsYXRCdXR0b24nLFxyXG4gIHNlbGVjdG9yOiAnbGF0LWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBob3N0OiB7XHJcbiAgICByb2xlOiAnYnV0dG9uJyxcclxuICAgICdbYXR0ci50YWJpbmRleF0nOiAnZGlzYWJsZWQoKSA/IC0xIDogdGFiaW5kZXgoKScsXHJcbiAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplKCknLFxyXG4gICAgJ1thdHRyLmRhdGEtdmFyaWFudF0nOiAndmFyaWFudCgpJyxcclxuICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpIHx8IHVuZGVmaW5lZCcsXHJcbiAgICAnW2NsYXNzLmxhdC1idXR0b25dJzogJ3RydWUnLFxyXG4gICAgJ1tjbGFzcy5sYXQtYnV0dG9uLWljb25dJzogJ29ubHlpY29uKCknLFxyXG4gIH0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xyXG4gIHJlYWRvbmx5IGJ1dHRvbiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XHJcblxyXG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxCdXR0b25TaXplPignbWQnKTtcclxuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8QnV0dG9uVmFyaWFudD4oJ2RlZmF1bHQnKTtcclxuICByZWFkb25seSB0YWJpbmRleCA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcclxuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgb25seWljb24gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGxpc3Rlbk1vdXNlRXZlbnQodGhpcy5idXR0b24ubmF0aXZlRWxlbWVudCwgeyBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCB9KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqICBOZWVkIHRvIGZpbmQgaWNvbiB3aXRob3V0IGFub3RoZXIgRE9NIG5vZGVcclxuICAgICAqICovXHJcbiAgICBhZnRlclJlbmRlckVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoaWxkTm9kZXMgPSB0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXM7XHJcblxyXG4gICAgICBpZiAoY2hpbGROb2Rlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICBjb25zdCBub2RlID0gY2hpbGROb2Rlcy5pdGVtKDApO1xyXG5cclxuICAgICAgICB0aGlzLm9ubHlpY29uLnVwZGF0ZSgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBub2RlLnRhZ05hbWUgPT09ICdMQVQtSUNPTicgfHwgbm9kZS50YWdOYW1lID09PSAnU1ZHJyB8fCBub2RlLnJvbGUgPT09ICdpbWcnO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRlbnQgLz5cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0aXR1ZGUtdWktd2lkZ2V0cy1jZGsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2Nkay9sYXRpdHVkZS11aS13aWRnZXRzLWNkay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './src/collection/collection';
|
|
2
|
+
export * from './src/expression/expression';
|
|
3
|
+
export * from './src/expression/linq';
|
|
4
|
+
export * from './src/expression/sort/sort-descriptor';
|
|
5
|
+
export * from './src/expression/sort/sort-logic';
|
|
6
|
+
export * from './src/expression/filter/filter-logic';
|
|
7
|
+
export * from './src/expression/filter/filter-descriptor';
|
|
8
|
+
export * from './src/expression/filter/filter-criteria-descriptor';
|
|
9
|
+
export * from './src/queryable/query';
|
|
10
|
+
export * from './src/queryable/queryable';
|
|
11
|
+
export * from './src/queryable/transport';
|
|
12
|
+
export * from './src/queryable/http-transport/http-transport';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY2RrL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9EQUFvRCxDQUFDO0FBRW5FLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9jb2xsZWN0aW9uL2NvbGxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9leHByZXNzaW9uL2V4cHJlc3Npb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvZXhwcmVzc2lvbi9saW5xJztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvZXhwcmVzc2lvbi9zb3J0L3NvcnQtZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9leHByZXNzaW9uL3NvcnQvc29ydC1sb2dpYyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2V4cHJlc3Npb24vZmlsdGVyL2ZpbHRlci1sb2dpYyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9leHByZXNzaW9uL2ZpbHRlci9maWx0ZXItZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9leHByZXNzaW9uL2ZpbHRlci9maWx0ZXItY3JpdGVyaWEtZGVzY3JpcHRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3F1ZXJ5YWJsZS9xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9xdWVyeWFibGUvcXVlcnlhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3F1ZXJ5YWJsZS90cmFuc3BvcnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9xdWVyeWFibGUvaHR0cC10cmFuc3BvcnQvaHR0cC10cmFuc3BvcnQnO1xuXG4iXX0=
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { computed, signal } from '@angular/core';
|
|
2
|
+
export class Collection {
|
|
3
|
+
values = computed(() => this._values());
|
|
4
|
+
length = computed(() => this._values().length);
|
|
5
|
+
_values;
|
|
6
|
+
constructor(items = []) {
|
|
7
|
+
this._values = signal(items);
|
|
8
|
+
}
|
|
9
|
+
set(values) {
|
|
10
|
+
this._values.set(values);
|
|
11
|
+
}
|
|
12
|
+
update(updateFn) {
|
|
13
|
+
this._values.update(updateFn);
|
|
14
|
+
}
|
|
15
|
+
append(value) {
|
|
16
|
+
this._values.update((values) => [...values, value]);
|
|
17
|
+
}
|
|
18
|
+
delete(value) {
|
|
19
|
+
this._values.update((values) => values.filter((x) => x !== value));
|
|
20
|
+
}
|
|
21
|
+
insert(value, index) {
|
|
22
|
+
this._values.update((values) => {
|
|
23
|
+
index ??= 0;
|
|
24
|
+
return [...values.slice(0, index), value, ...values.slice(index)];
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
splice(start, deleteCount, ...newItems) {
|
|
28
|
+
this._values.update((items) => {
|
|
29
|
+
return items.splice(start, deleteCount, ...newItems);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
indexOf(searchElement, fromIndex) {
|
|
33
|
+
return this._values().indexOf(searchElement, fromIndex);
|
|
34
|
+
}
|
|
35
|
+
lastIndexOf(searchElement, fromIndex) {
|
|
36
|
+
return this._values().lastIndexOf(searchElement, fromIndex);
|
|
37
|
+
}
|
|
38
|
+
find(predicate) {
|
|
39
|
+
return this._values().find(predicate);
|
|
40
|
+
}
|
|
41
|
+
findIndex(predicate) {
|
|
42
|
+
return this._values().findIndex(predicate);
|
|
43
|
+
}
|
|
44
|
+
includes(value) {
|
|
45
|
+
return this._values().includes(value);
|
|
46
|
+
}
|
|
47
|
+
forEach(callbackFn) {
|
|
48
|
+
return this._values().forEach(callbackFn);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY2RrL3NyYy9jb2xsZWN0aW9uL2NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE1BQU0sT0FBTyxVQUFVO0lBQ1osTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4QyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvQyxPQUFPLENBQXNCO0lBRXRDLFlBQVksUUFBYSxFQUFFO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxHQUFHLENBQUMsTUFBVztRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBMkM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFRO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFRLEVBQUUsS0FBYztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdCLEtBQUssS0FBSyxDQUFDLENBQUM7WUFFWixPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQsTUFBTSxDQUFDLEtBQWEsRUFBRSxXQUFtQixFQUFFLEdBQUcsUUFBYTtRQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLGFBQWdCLEVBQUUsU0FBa0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQWdCLEVBQUUsU0FBa0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQXlFO1FBQzVFLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQXlFO1FBQ2pGLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUFzRTtRQUM1RSxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uPFQ+IHtcclxuICByZWFkb25seSB2YWx1ZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl92YWx1ZXMoKSk7XHJcbiAgcmVhZG9ubHkgbGVuZ3RoID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fdmFsdWVzKCkubGVuZ3RoKTtcclxuXHJcbiAgcmVhZG9ubHkgX3ZhbHVlczogV3JpdGFibGVTaWduYWw8VFtdPjtcclxuXHJcbiAgY29uc3RydWN0b3IoaXRlbXM6IFRbXSA9IFtdKSB7XHJcbiAgICB0aGlzLl92YWx1ZXMgPSBzaWduYWwoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgc2V0KHZhbHVlczogVFtdKSB7XHJcbiAgICB0aGlzLl92YWx1ZXMuc2V0KHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGUodXBkYXRlRm46ICh2YWx1ZXM6IFJlYWRvbmx5QXJyYXk8VD4pID0+IFRbXSkge1xyXG4gICAgdGhpcy5fdmFsdWVzLnVwZGF0ZSh1cGRhdGVGbik7XHJcbiAgfVxyXG5cclxuICBhcHBlbmQodmFsdWU6IFQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZhbHVlcy51cGRhdGUoKHZhbHVlcykgPT4gWy4uLnZhbHVlcywgdmFsdWVdKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZSh2YWx1ZTogVCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWVzLnVwZGF0ZSgodmFsdWVzKSA9PiB2YWx1ZXMuZmlsdGVyKCh4KSA9PiB4ICE9PSB2YWx1ZSkpO1xyXG4gIH1cclxuXHJcbiAgaW5zZXJ0KHZhbHVlOiBULCBpbmRleD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWVzLnVwZGF0ZSgodmFsdWVzKSA9PiB7XHJcbiAgICAgIGluZGV4ID8/PSAwO1xyXG5cclxuICAgICAgcmV0dXJuIFsuLi52YWx1ZXMuc2xpY2UoMCwgaW5kZXgpLCB2YWx1ZSwgLi4udmFsdWVzLnNsaWNlKGluZGV4KV07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNwbGljZShzdGFydDogbnVtYmVyLCBkZWxldGVDb3VudDogbnVtYmVyKTogdm9pZDtcclxuICBzcGxpY2Uoc3RhcnQ6IG51bWJlciwgZGVsZXRlQ291bnQ6IG51bWJlciwgLi4ubmV3SXRlbXM6IFRbXSk6IHZvaWQ7XHJcbiAgc3BsaWNlKHN0YXJ0OiBudW1iZXIsIGRlbGV0ZUNvdW50OiBudW1iZXIsIC4uLm5ld0l0ZW1zOiBUW10pOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZhbHVlcy51cGRhdGUoKGl0ZW1zKSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtcy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5uZXdJdGVtcyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGluZGV4T2Yoc2VhcmNoRWxlbWVudDogVCwgZnJvbUluZGV4PzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZXMoKS5pbmRleE9mKHNlYXJjaEVsZW1lbnQsIGZyb21JbmRleCk7XHJcbiAgfVxyXG5cclxuICBsYXN0SW5kZXhPZihzZWFyY2hFbGVtZW50OiBULCBmcm9tSW5kZXg/OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlcygpLmxhc3RJbmRleE9mKHNlYXJjaEVsZW1lbnQsIGZyb21JbmRleCk7XHJcbiAgfVxyXG5cclxuICBmaW5kKHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCB2YWx1ZXM6IFJlYWRvbmx5QXJyYXk8VD4pID0+IHVua25vd24pOiBUIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZXMoKS5maW5kKHByZWRpY2F0ZSk7XHJcbiAgfVxyXG5cclxuICBmaW5kSW5kZXgocHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHZhbHVlczogUmVhZG9ubHlBcnJheTxUPikgPT4gdW5rbm93bik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVzKCkuZmluZEluZGV4KHByZWRpY2F0ZSk7XHJcbiAgfVxyXG5cclxuICBpbmNsdWRlcyh2YWx1ZTogVCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlcygpLmluY2x1ZGVzKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGZvckVhY2goY2FsbGJhY2tGbjogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogUmVhZG9ubHlBcnJheTxUPikgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlcygpLmZvckVhY2goY2FsbGJhY2tGbik7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class Expression {
|
|
2
|
+
kind;
|
|
3
|
+
constructor(kind) {
|
|
4
|
+
this.kind = kind;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class ValueExpression extends Expression {
|
|
8
|
+
value;
|
|
9
|
+
constructor(value) {
|
|
10
|
+
super('ValueExpression');
|
|
11
|
+
this.value = value;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class PropertyExpression extends Expression {
|
|
15
|
+
name;
|
|
16
|
+
constructor(name) {
|
|
17
|
+
super('PropertyExpression');
|
|
18
|
+
this.name = name;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY2RrL3NyYy9leHByZXNzaW9uL2V4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFVBQVU7SUFDWixJQUFJLENBQVM7SUFFdEIsWUFBWSxJQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxlQUFtQixTQUFRLFVBQVU7SUFDdkMsS0FBSyxDQUFJO0lBRWxCLFlBQVksS0FBUTtRQUNsQixLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFHRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsVUFBVTtJQUN2QyxJQUFJLENBQVM7SUFFdEIsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuZXhwb3J0IGNsYXNzIEV4cHJlc3Npb24ge1xyXG4gIHJlYWRvbmx5IGtpbmQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3Ioa2luZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmtpbmQgPSBraW5kO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFZhbHVlRXhwcmVzc2lvbjxUPiBleHRlbmRzIEV4cHJlc3Npb24ge1xyXG4gIHJlYWRvbmx5IHZhbHVlOiBUO1xyXG5cclxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogVCkge1xyXG4gICAgc3VwZXIoJ1ZhbHVlRXhwcmVzc2lvbicpO1xyXG5cclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgUHJvcGVydHlFeHByZXNzaW9uIGV4dGVuZHMgRXhwcmVzc2lvbiB7XHJcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKCdQcm9wZXJ0eUV4cHJlc3Npb24nKTtcclxuXHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class FilterCriteriaDescriptor {
|
|
2
|
+
operator;
|
|
3
|
+
operands;
|
|
4
|
+
constructor(operator, operands) {
|
|
5
|
+
this.operator = operator;
|
|
6
|
+
this.operands = operands;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNyaXRlcmlhLWRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2Nkay9zcmMvZXhwcmVzc2lvbi9maWx0ZXIvZmlsdGVyLWNyaXRlcmlhLWRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixRQUFRLENBQVM7SUFDakIsUUFBUSxDQUEyQjtJQUU1QyxZQUFZLFFBQWdCLEVBQUUsUUFBa0M7UUFDOUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb24nO1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyQ3JpdGVyaWFEZXNjcmlwdG9yIHtcbiAgcmVhZG9ubHkgb3BlcmF0b3I6IHN0cmluZztcbiAgcmVhZG9ubHkgb3BlcmFuZHM6IFtFeHByZXNzaW9uLCBFeHByZXNzaW9uXTtcblxuICBjb25zdHJ1Y3RvcihvcGVyYXRvcjogc3RyaW5nLCBvcGVyYW5kczogW0V4cHJlc3Npb24sIEV4cHJlc3Npb25dKSB7XG4gICAgdGhpcy5vcGVyYXRvciA9IG9wZXJhdG9yO1xuICAgIHRoaXMub3BlcmFuZHMgPSBvcGVyYW5kcztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class FilterDescriptor {
|
|
2
|
+
logic;
|
|
3
|
+
values;
|
|
4
|
+
constructor(logic, values = []) {
|
|
5
|
+
this.logic = logic;
|
|
6
|
+
this.values = values;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2Nkay9zcmMvZXhwcmVzc2lvbi9maWx0ZXIvZmlsdGVyLWRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixLQUFLLENBQWE7SUFDbEIsTUFBTSxDQUFxRDtJQUVwRSxZQUFZLEtBQWtCLEVBQUUsU0FBNkQsRUFBRTtRQUM3RixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJMb2dpYyB9IGZyb20gJy4vZmlsdGVyLWxvZ2ljJztcclxuaW1wb3J0IHsgRmlsdGVyQ3JpdGVyaWFEZXNjcmlwdG9yIH0gZnJvbSAnLi9maWx0ZXItY3JpdGVyaWEtZGVzY3JpcHRvcic7XHJcblxyXG5leHBvcnQgY2xhc3MgRmlsdGVyRGVzY3JpcHRvciB7XHJcbiAgcmVhZG9ubHkgbG9naWM6IEZpbHRlckxvZ2ljXHJcbiAgcmVhZG9ubHkgdmFsdWVzOiBBcnJheTxGaWx0ZXJEZXNjcmlwdG9yIHwgRmlsdGVyQ3JpdGVyaWFEZXNjcmlwdG9yPjtcclxuXHJcbiAgY29uc3RydWN0b3IobG9naWM6IEZpbHRlckxvZ2ljLCB2YWx1ZXM6IEFycmF5PEZpbHRlckRlc2NyaXB0b3IgfCBGaWx0ZXJDcml0ZXJpYURlc2NyaXB0b3I+ID0gW10pIHtcclxuICAgIHRoaXMubG9naWMgPSBsb2dpYztcclxuICAgIHRoaXMudmFsdWVzID0gdmFsdWVzO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxvZ2ljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jZGsvc3JjL2V4cHJlc3Npb24vZmlsdGVyL2ZpbHRlci1sb2dpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB0eXBlIEZpbHRlckxvZ2ljID0gJ2FuZCcgfCAnb3InO1xyXG4iXX0=
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { PropertyExpression, ValueExpression } from './expression';
|
|
2
|
+
import { FilterDescriptor } from './filter/filter-descriptor';
|
|
3
|
+
import { FilterCriteriaDescriptor } from './filter/filter-criteria-descriptor';
|
|
4
|
+
export function or(...values) {
|
|
5
|
+
return new FilterDescriptor('and', values);
|
|
6
|
+
}
|
|
7
|
+
export function and(...values) {
|
|
8
|
+
return new FilterDescriptor('and', values);
|
|
9
|
+
}
|
|
10
|
+
export function eq(operand0, operand1) {
|
|
11
|
+
return new FilterCriteriaDescriptor('eq', [operand0, operand1]);
|
|
12
|
+
}
|
|
13
|
+
export function neq(operand0, operand1) {
|
|
14
|
+
return new FilterCriteriaDescriptor('neq', [operand0, operand1]);
|
|
15
|
+
}
|
|
16
|
+
export function lt(operand0, operand1) {
|
|
17
|
+
return new FilterCriteriaDescriptor('lt', [operand0, operand1]);
|
|
18
|
+
}
|
|
19
|
+
export function lte(operand0, operand1) {
|
|
20
|
+
return new FilterCriteriaDescriptor('lte', [operand0, operand1]);
|
|
21
|
+
}
|
|
22
|
+
export function gt(operand0, operand1) {
|
|
23
|
+
return new FilterCriteriaDescriptor('gt', [operand0, operand1]);
|
|
24
|
+
}
|
|
25
|
+
export function gte(operand0, operand1) {
|
|
26
|
+
return new FilterCriteriaDescriptor('gte', [operand0, operand1]);
|
|
27
|
+
}
|
|
28
|
+
export function value(value) {
|
|
29
|
+
return new ValueExpression(value);
|
|
30
|
+
}
|
|
31
|
+
export function property(name) {
|
|
32
|
+
return new PropertyExpression(name);
|
|
33
|
+
}
|
|
34
|
+
export const where = (() => {
|
|
35
|
+
const fn = (logic, ...values) => {
|
|
36
|
+
if (typeof logic === 'string') {
|
|
37
|
+
return new FilterDescriptor(logic, values);
|
|
38
|
+
}
|
|
39
|
+
return new FilterDescriptor('and', values);
|
|
40
|
+
};
|
|
41
|
+
return Object.assign(fn, {
|
|
42
|
+
eq,
|
|
43
|
+
neq,
|
|
44
|
+
lt,
|
|
45
|
+
lte,
|
|
46
|
+
gt,
|
|
47
|
+
gte,
|
|
48
|
+
});
|
|
49
|
+
})();
|
|
50
|
+
export const linq = {
|
|
51
|
+
v: value,
|
|
52
|
+
p: property,
|
|
53
|
+
where: where,
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlucS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY2RrL3NyYy9leHByZXNzaW9uL2xpbnEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUcvRSxNQUFNLFVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBMEQ7SUFDOUUsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLE1BQTBEO0lBQy9FLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxFQUFFLENBQUMsUUFBb0IsRUFBRSxRQUFvQjtJQUMzRCxPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBb0IsRUFBRSxRQUFvQjtJQUM1RCxPQUFPLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sVUFBVSxFQUFFLENBQUMsUUFBb0IsRUFBRSxRQUFvQjtJQUMzRCxPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBb0IsRUFBRSxRQUFvQjtJQUM1RCxPQUFPLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sVUFBVSxFQUFFLENBQUMsUUFBb0IsRUFBRSxRQUFvQjtJQUMzRCxPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBb0IsRUFBRSxRQUFvQjtJQUM1RCxPQUFPLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUksS0FBUTtJQUMvQixPQUFPLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVk7SUFDbkMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFRRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUU7SUFDekIsTUFBTSxFQUFFLEdBQW9CLENBQzFCLEtBQWdFLEVBQ2hFLEdBQUcsTUFBMEQsRUFDN0QsRUFBRTtRQUNGLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDLENBQUE7SUFHRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLEVBQUU7UUFDRixHQUFHO1FBQ0gsRUFBRTtRQUNGLEdBQUc7UUFDSCxFQUFFO1FBQ0YsR0FBRztLQUNKLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFTCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUc7SUFDbEIsQ0FBQyxFQUFFLEtBQUs7SUFDUixDQUFDLEVBQUUsUUFBUTtJQUNYLEtBQUssRUFBRSxLQUFLO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cHJlc3Npb24sIFByb3BlcnR5RXhwcmVzc2lvbiwgVmFsdWVFeHByZXNzaW9uIH0gZnJvbSAnLi9leHByZXNzaW9uJztcbmltcG9ydCB7IEZpbHRlckRlc2NyaXB0b3IgfSBmcm9tICcuL2ZpbHRlci9maWx0ZXItZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBGaWx0ZXJDcml0ZXJpYURlc2NyaXB0b3IgfSBmcm9tICcuL2ZpbHRlci9maWx0ZXItY3JpdGVyaWEtZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBGaWx0ZXJMb2dpYyB9IGZyb20gJy4vZmlsdGVyL2ZpbHRlci1sb2dpYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvciguLi52YWx1ZXM6IEFycmF5PEZpbHRlckRlc2NyaXB0b3IgfCBGaWx0ZXJDcml0ZXJpYURlc2NyaXB0b3I+KSB7XG4gIHJldHVybiBuZXcgRmlsdGVyRGVzY3JpcHRvcignYW5kJywgdmFsdWVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFuZCguLi52YWx1ZXM6IEFycmF5PEZpbHRlckRlc2NyaXB0b3IgfCBGaWx0ZXJDcml0ZXJpYURlc2NyaXB0b3I+KSB7XG4gIHJldHVybiBuZXcgRmlsdGVyRGVzY3JpcHRvcignYW5kJywgdmFsdWVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVxKG9wZXJhbmQwOiBFeHByZXNzaW9uLCBvcGVyYW5kMTogRXhwcmVzc2lvbikge1xuICByZXR1cm4gbmV3IEZpbHRlckNyaXRlcmlhRGVzY3JpcHRvcignZXEnLCBbb3BlcmFuZDAsIG9wZXJhbmQxXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXEob3BlcmFuZDA6IEV4cHJlc3Npb24sIG9wZXJhbmQxOiBFeHByZXNzaW9uKSB7XG4gIHJldHVybiBuZXcgRmlsdGVyQ3JpdGVyaWFEZXNjcmlwdG9yKCduZXEnLCBbb3BlcmFuZDAsIG9wZXJhbmQxXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsdChvcGVyYW5kMDogRXhwcmVzc2lvbiwgb3BlcmFuZDE6IEV4cHJlc3Npb24pIHtcbiAgcmV0dXJuIG5ldyBGaWx0ZXJDcml0ZXJpYURlc2NyaXB0b3IoJ2x0JywgW29wZXJhbmQwLCBvcGVyYW5kMV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbHRlKG9wZXJhbmQwOiBFeHByZXNzaW9uLCBvcGVyYW5kMTogRXhwcmVzc2lvbikge1xuICByZXR1cm4gbmV3IEZpbHRlckNyaXRlcmlhRGVzY3JpcHRvcignbHRlJywgW29wZXJhbmQwLCBvcGVyYW5kMV0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3Qob3BlcmFuZDA6IEV4cHJlc3Npb24sIG9wZXJhbmQxOiBFeHByZXNzaW9uKSB7XG4gIHJldHVybiBuZXcgRmlsdGVyQ3JpdGVyaWFEZXNjcmlwdG9yKCdndCcsIFtvcGVyYW5kMCwgb3BlcmFuZDFdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGd0ZShvcGVyYW5kMDogRXhwcmVzc2lvbiwgb3BlcmFuZDE6IEV4cHJlc3Npb24pIHtcbiAgcmV0dXJuIG5ldyBGaWx0ZXJDcml0ZXJpYURlc2NyaXB0b3IoJ2d0ZScsIFtvcGVyYW5kMCwgb3BlcmFuZDFdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlPFQ+KHZhbHVlOiBUKTogVmFsdWVFeHByZXNzaW9uPFQ+IHtcbiAgcmV0dXJuIG5ldyBWYWx1ZUV4cHJlc3Npb24odmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvcGVydHkobmFtZTogc3RyaW5nKTogUHJvcGVydHlFeHByZXNzaW9uIHtcbiAgcmV0dXJuIG5ldyBQcm9wZXJ0eUV4cHJlc3Npb24obmFtZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQnVpbGRlckZuIHtcbiAgKC4uLnZhbHVlczogQXJyYXk8RmlsdGVyRGVzY3JpcHRvciB8IEZpbHRlckNyaXRlcmlhRGVzY3JpcHRvcj4pOiBGaWx0ZXJEZXNjcmlwdG9yO1xuXG4gIChsb2dpYzogRmlsdGVyTG9naWMsIC4uLnZhbHVlczogQXJyYXk8RmlsdGVyRGVzY3JpcHRvciB8IEZpbHRlckNyaXRlcmlhRGVzY3JpcHRvcj4pOiBGaWx0ZXJEZXNjcmlwdG9yO1xufVxuXG5leHBvcnQgY29uc3Qgd2hlcmUgPSAoKCkgPT4ge1xuICBjb25zdCBmbjogRmlsdGVyQnVpbGRlckZuID0gKFxuICAgIGxvZ2ljOiBGaWx0ZXJMb2dpYyB8IEZpbHRlckRlc2NyaXB0b3IgfCBGaWx0ZXJDcml0ZXJpYURlc2NyaXB0b3IsXG4gICAgLi4udmFsdWVzOiBBcnJheTxGaWx0ZXJEZXNjcmlwdG9yIHwgRmlsdGVyQ3JpdGVyaWFEZXNjcmlwdG9yPlxuICApID0+IHtcbiAgICBpZiAodHlwZW9mIGxvZ2ljID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJEZXNjcmlwdG9yKGxvZ2ljLCB2YWx1ZXMpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgRmlsdGVyRGVzY3JpcHRvcignYW5kJywgdmFsdWVzKTtcbiAgfVxuXG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oZm4sIHtcbiAgICBlcSxcbiAgICBuZXEsXG4gICAgbHQsXG4gICAgbHRlLFxuICAgIGd0LFxuICAgIGd0ZSxcbiAgfSk7XG59KSgpO1xuXG5leHBvcnQgY29uc3QgbGlucSA9IHtcbiAgdjogdmFsdWUsXG4gIHA6IHByb3BlcnR5LFxuICB3aGVyZTogd2hlcmUsXG59IGFzIGNvbnN0O1xuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class SortDescriptor {
|
|
2
|
+
logic;
|
|
3
|
+
operand;
|
|
4
|
+
constructor(logic, operand) {
|
|
5
|
+
this.logic = logic;
|
|
6
|
+
this.operand = operand;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jZGsvc3JjL2V4cHJlc3Npb24vc29ydC9zb3J0LWRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLGNBQWM7SUFDaEIsS0FBSyxDQUFZO0lBQ2pCLE9BQU8sQ0FBYTtJQUU3QixZQUFZLEtBQWdCLEVBQUUsT0FBbUI7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gJy4uL2V4cHJlc3Npb24nO1xuaW1wb3J0IHsgU29ydExvZ2ljIH0gZnJvbSAnLi9zb3J0LWxvZ2ljJztcblxuXG5leHBvcnQgY2xhc3MgU29ydERlc2NyaXB0b3Ige1xuICByZWFkb25seSBsb2dpYzogU29ydExvZ2ljO1xuICByZWFkb25seSBvcGVyYW5kOiBFeHByZXNzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKGxvZ2ljOiBTb3J0TG9naWMsIG9wZXJhbmQ6IEV4cHJlc3Npb24pIHtcbiAgICB0aGlzLmxvZ2ljID0gbG9naWM7XG4gICAgdGhpcy5vcGVyYW5kID0gb3BlcmFuZDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1sb2dpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3dpZGdldHMvY2RrL3NyYy9leHByZXNzaW9uL3NvcnQvc29ydC1sb2dpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB0eXBlIFNvcnRMb2dpYyA9ICdhc2MnIHwgJ2Rlc2MnIHwgJy1hc2MnIHwgJy1kZXNjJztcclxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { computed, linkedSignal } from '@angular/core';
|
|
2
|
+
import { httpResource } from '@angular/common/http';
|
|
3
|
+
export class HttpTransport {
|
|
4
|
+
idle = computed(() => this.httpResource.status() === 'idle');
|
|
5
|
+
pending = computed(() => this.httpResource.status() === 'loading' || this.httpResource.status() === 'reloading');
|
|
6
|
+
rejected = computed(() => this.httpResource.status() === 'error');
|
|
7
|
+
fulfilled = computed(() => this.httpResource.status() === 'resolved');
|
|
8
|
+
collection = computed(() => {
|
|
9
|
+
if (this.httpResource.hasValue()) {
|
|
10
|
+
return this.httpResource.value();
|
|
11
|
+
}
|
|
12
|
+
return { values: [], length: 0 };
|
|
13
|
+
});
|
|
14
|
+
httpRequest;
|
|
15
|
+
httpResource;
|
|
16
|
+
constructor(params, requestFn) {
|
|
17
|
+
this.httpRequest = linkedSignal(() => requestFn(params));
|
|
18
|
+
this.httpResource = httpResource(() => this.httpRequest());
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function httpTransport(requestFn) {
|
|
22
|
+
return (params) => new HttpTransport(params, requestFn);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC10cmFuc3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2Nkay9zcmMvcXVlcnlhYmxlL2h0dHAtdHJhbnNwb3J0L2h0dHAtdHJhbnNwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUF3QyxNQUFNLHNCQUFzQixDQUFDO0FBTTFGLE1BQU0sT0FBTyxhQUFhO0lBQ2YsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQzdELE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQztJQUNqSCxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDbEUsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDO0lBRXRFLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ2xDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBRU0sV0FBVyxDQUF1QztJQUNsRCxZQUFZLENBQXNEO0lBRTNFLFlBQVksTUFBdUIsRUFBRSxTQUE0RDtRQUMvRixJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFJLFNBQTREO0lBQzNGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFJLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGxpbmtlZFNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGh0dHBSZXNvdXJjZSwgSHR0cFJlc291cmNlUmVmLCBIdHRwUmVzb3VyY2VSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBUcmFuc3BvcnQsIFRyYW5zcG9ydENvbGxlY3Rpb24sIFRyYW5zcG9ydEZuLCBUcmFuc3BvcnRQYXJhbXMgfSBmcm9tICcuLi90cmFuc3BvcnQnO1xuXG5leHBvcnQgdHlwZSBIdHRwVHJhbnNwb3J0UmVxdWVzdCA9IEh0dHBSZXNvdXJjZVJlcXVlc3QgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjbGFzcyBIdHRwVHJhbnNwb3J0PFQ+IGltcGxlbWVudHMgVHJhbnNwb3J0PFQ+IHtcbiAgcmVhZG9ubHkgaWRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaHR0cFJlc291cmNlLnN0YXR1cygpID09PSAnaWRsZScpO1xuICByZWFkb25seSBwZW5kaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5odHRwUmVzb3VyY2Uuc3RhdHVzKCkgPT09ICdsb2FkaW5nJyB8fCB0aGlzLmh0dHBSZXNvdXJjZS5zdGF0dXMoKSA9PT0gJ3JlbG9hZGluZycpO1xuICByZWFkb25seSByZWplY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaHR0cFJlc291cmNlLnN0YXR1cygpID09PSAnZXJyb3InKTtcbiAgcmVhZG9ubHkgZnVsZmlsbGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5odHRwUmVzb3VyY2Uuc3RhdHVzKCkgPT09ICdyZXNvbHZlZCcpO1xuXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuaHR0cFJlc291cmNlLmhhc1ZhbHVlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBSZXNvdXJjZS52YWx1ZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB7IHZhbHVlczogW10sIGxlbmd0aDogMCB9O1xuICB9KTtcblxuICByZWFkb25seSBodHRwUmVxdWVzdDogV3JpdGFibGVTaWduYWw8SHR0cFRyYW5zcG9ydFJlcXVlc3Q+O1xuICByZWFkb25seSBodHRwUmVzb3VyY2U6IEh0dHBSZXNvdXJjZVJlZjxUcmFuc3BvcnRDb2xsZWN0aW9uPFQ+IHwgdW5kZWZpbmVkPjtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IFRyYW5zcG9ydFBhcmFtcywgcmVxdWVzdEZuOiAocGFyYW1zOiBUcmFuc3BvcnRQYXJhbXMpID0+IEh0dHBUcmFuc3BvcnRSZXF1ZXN0KSB7XG4gICAgdGhpcy5odHRwUmVxdWVzdCA9IGxpbmtlZFNpZ25hbCgoKSA9PiByZXF1ZXN0Rm4ocGFyYW1zKSk7XG4gICAgdGhpcy5odHRwUmVzb3VyY2UgPSBodHRwUmVzb3VyY2UoKCkgPT4gdGhpcy5odHRwUmVxdWVzdCgpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaHR0cFRyYW5zcG9ydDxUPihyZXF1ZXN0Rm46IChwYXJhbXM6IFRyYW5zcG9ydFBhcmFtcykgPT4gSHR0cFRyYW5zcG9ydFJlcXVlc3QpOiBUcmFuc3BvcnRGbjxUPiB7XG4gIHJldHVybiAocGFyYW1zKSA9PiBuZXcgSHR0cFRyYW5zcG9ydDxUPihwYXJhbXMsIHJlcXVlc3RGbik7XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { computed, signal } from '@angular/core';
|
|
2
|
+
export class QueryCollection {
|
|
3
|
+
sort;
|
|
4
|
+
group;
|
|
5
|
+
filter;
|
|
6
|
+
aggregate;
|
|
7
|
+
value = computed(() => {
|
|
8
|
+
return {
|
|
9
|
+
sort: this.sort(),
|
|
10
|
+
group: this.group(),
|
|
11
|
+
filter: this.filter(),
|
|
12
|
+
aggregate: this.aggregate(),
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
constructor(query = {}) {
|
|
16
|
+
this.sort = signal(query.sort ?? null);
|
|
17
|
+
this.group = signal(query.group ?? null);
|
|
18
|
+
this.filter = signal(query.filter ?? null);
|
|
19
|
+
this.aggregate = signal(query.aggregate ?? null);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy93aWRnZXRzL2Nkay9zcmMvcXVlcnlhYmxlL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBV3pELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLElBQUksQ0FBa0I7SUFDdEIsS0FBSyxDQUFrQjtJQUN2QixNQUFNLENBQWtDO0lBQ3hDLFNBQVMsQ0FBa0I7SUFFM0IsS0FBSyxHQUFHLFFBQVEsQ0FBUSxHQUFHLEVBQUU7UUFDcEMsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1NBQzVCLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILFlBQVksUUFBd0IsRUFBRTtRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBzaWduYWwsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGaWx0ZXJEZXNjcmlwdG9yIH0gZnJvbSAnLi4vZXhwcmVzc2lvbi9maWx0ZXIvZmlsdGVyLWRlc2NyaXB0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5IHtcbiAgc29ydDogdW5rbm93bjtcbiAgZ3JvdXA6IHVua25vd247XG4gIGZpbHRlcjogRmlsdGVyRGVzY3JpcHRvciB8IG51bGw7XG4gIGFnZ3JlZ2F0ZTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGNsYXNzIFF1ZXJ5Q29sbGVjdGlvbiB7XG4gIHJlYWRvbmx5IHNvcnQ6IFNpZ25hbDx1bmtub3duPjtcbiAgcmVhZG9ubHkgZ3JvdXA6IFNpZ25hbDx1bmtub3duPjtcbiAgcmVhZG9ubHkgZmlsdGVyOiBTaWduYWw8RmlsdGVyRGVzY3JpcHRvciB8IG51bGw+O1xuICByZWFkb25seSBhZ2dyZWdhdGU6IFNpZ25hbDx1bmtub3duPjtcblxuICByZWFkb25seSB2YWx1ZSA9IGNvbXB1dGVkPFF1ZXJ5PigoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNvcnQ6IHRoaXMuc29ydCgpLFxuICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAoKSxcbiAgICAgIGZpbHRlcjogdGhpcy5maWx0ZXIoKSxcbiAgICAgIGFnZ3JlZ2F0ZTogdGhpcy5hZ2dyZWdhdGUoKSxcbiAgICB9O1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcihxdWVyeTogUGFydGlhbDxRdWVyeT4gPSB7fSkge1xuICAgIHRoaXMuc29ydCA9IHNpZ25hbChxdWVyeS5zb3J0ID8/IG51bGwpO1xuICAgIHRoaXMuZ3JvdXAgPSBzaWduYWwocXVlcnkuZ3JvdXAgPz8gbnVsbCk7XG4gICAgdGhpcy5maWx0ZXIgPSBzaWduYWwocXVlcnkuZmlsdGVyID8/IG51bGwpO1xuICAgIHRoaXMuYWdncmVnYXRlID0gc2lnbmFsKHF1ZXJ5LmFnZ3JlZ2F0ZSA/PyBudWxsKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { computed, linkedSignal } from '@angular/core';
|
|
2
|
+
import { QueryCollection } from './query';
|
|
3
|
+
export class Queryable {
|
|
4
|
+
values = linkedSignal(() => this.transport.collection().values);
|
|
5
|
+
length = linkedSignal(() => this.transport.collection().length);
|
|
6
|
+
idle = computed(() => this.transport.idle());
|
|
7
|
+
pending = computed(() => this.transport.pending());
|
|
8
|
+
rejected = computed(() => this.transport.rejected());
|
|
9
|
+
fulfilled = computed(() => this.transport.fulfilled());
|
|
10
|
+
query;
|
|
11
|
+
transport;
|
|
12
|
+
constructor({ transport, defaultQuery }) {
|
|
13
|
+
this.query = new QueryCollection(defaultQuery);
|
|
14
|
+
this.transport = transport({ query: this.query.value });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export function queryable(options) {
|
|
18
|
+
return new Queryable(options);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnlhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jZGsvc3JjL3F1ZXJ5YWJsZS9xdWVyeWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkQsT0FBTyxFQUFTLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU9qRCxNQUFNLE9BQU8sU0FBUztJQUNYLE1BQU0sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRSxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFaEUsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkQsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckQsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFFdkQsS0FBSyxDQUFrQjtJQUN2QixTQUFTLENBQWU7SUFFakMsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXVCO1FBQzFELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxTQUFTLENBQUksT0FBNEI7SUFDdkQsT0FBTyxJQUFJLFNBQVMsQ0FBSSxPQUFPLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGxpbmtlZFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUcmFuc3BvcnQsIFRyYW5zcG9ydEZuIH0gZnJvbSAnLi90cmFuc3BvcnQnO1xuaW1wb3J0IHsgUXVlcnksIFF1ZXJ5Q29sbGVjdGlvbiB9IGZyb20gJy4vcXVlcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5YWJsZU9wdGlvbnM8VD4ge1xuICB0cmFuc3BvcnQ6IFRyYW5zcG9ydEZuPFQ+O1xuICBkZWZhdWx0UXVlcnk/OiBQYXJ0aWFsPFF1ZXJ5Pjtcbn1cblxuZXhwb3J0IGNsYXNzIFF1ZXJ5YWJsZTxUPiB7XG4gIHJlYWRvbmx5IHZhbHVlcyA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnRyYW5zcG9ydC5jb2xsZWN0aW9uKCkudmFsdWVzKTtcbiAgcmVhZG9ubHkgbGVuZ3RoID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMudHJhbnNwb3J0LmNvbGxlY3Rpb24oKS5sZW5ndGgpO1xuXG4gIHJlYWRvbmx5IGlkbGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRyYW5zcG9ydC5pZGxlKCkpO1xuICByZWFkb25seSBwZW5kaW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50cmFuc3BvcnQucGVuZGluZygpKTtcbiAgcmVhZG9ubHkgcmVqZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRyYW5zcG9ydC5yZWplY3RlZCgpKTtcbiAgcmVhZG9ubHkgZnVsZmlsbGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50cmFuc3BvcnQuZnVsZmlsbGVkKCkpO1xuXG4gIHJlYWRvbmx5IHF1ZXJ5OiBRdWVyeUNvbGxlY3Rpb247XG4gIHJlYWRvbmx5IHRyYW5zcG9ydDogVHJhbnNwb3J0PFQ+O1xuXG4gIGNvbnN0cnVjdG9yKHsgdHJhbnNwb3J0LCBkZWZhdWx0UXVlcnkgfTogUXVlcnlhYmxlT3B0aW9uczxUPikge1xuICAgIHRoaXMucXVlcnkgPSBuZXcgUXVlcnlDb2xsZWN0aW9uKGRlZmF1bHRRdWVyeSk7XG4gICAgdGhpcy50cmFuc3BvcnQgPSB0cmFuc3BvcnQoeyBxdWVyeTogdGhpcy5xdWVyeS52YWx1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcXVlcnlhYmxlPFQ+KG9wdGlvbnM6IFF1ZXJ5YWJsZU9wdGlvbnM8VD4pIHtcbiAgcmV0dXJuIG5ldyBRdWVyeWFibGU8VD4ob3B0aW9ucyk7XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvd2lkZ2V0cy9jZGsvc3JjL3F1ZXJ5YWJsZS90cmFuc3BvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVlcnkgfSBmcm9tICcuL3F1ZXJ5JztcblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc3BvcnRGbjxUPiB7XG4gIChwYXJhbXM6IFRyYW5zcG9ydFBhcmFtcyk6IFRyYW5zcG9ydDxUPlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zcG9ydFBhcmFtcyB7XG4gIHF1ZXJ5OiBTaWduYWw8UXVlcnk+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNwb3J0Q29sbGVjdGlvbjxUPiB7XG4gIHZhbHVlczogVFtdO1xuICBsZW5ndGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc3BvcnQ8VD4ge1xuICByZWFkb25seSBpZGxlOiBTaWduYWw8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IHBlbmRpbmc6IFNpZ25hbDxib29sZWFuPjtcbiAgcmVhZG9ubHkgcmVqZWN0ZWQ6IFNpZ25hbDxib29sZWFuPjtcbiAgcmVhZG9ubHkgZnVsZmlsbGVkOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgcmVhZG9ubHkgY29sbGVjdGlvbjogU2lnbmFsPFRyYW5zcG9ydENvbGxlY3Rpb248VD4+O1xufVxuXG4iXX0=
|