@rentman/rm-core 9.1.2 → 9.2.0
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/changelog.md +6 -0
- package/dist/rm-core.js +1617 -1475
- package/dist/rm-core.min.js +1 -1
- package/dist/types/classes/ApiFormatter.d.ts +9 -9
- package/dist/types/classes/ApiResponseProcessor.d.ts +4 -4
- package/dist/types/classes/CacheSyncer.d.ts +6 -6
- package/dist/types/classes/ChangesDelta.d.ts +3 -3
- package/dist/types/classes/ChangesDeltaBase.d.ts +9 -4
- package/dist/types/classes/CollectionEntryService.d.ts +3 -3
- package/dist/types/classes/ColumnCache.d.ts +2 -4
- package/dist/types/classes/ColumnExpansion.d.ts +6 -8
- package/dist/types/classes/ColumnInfo.d.ts +5 -4
- package/dist/types/classes/ColumnSet.d.ts +12 -12
- package/dist/types/classes/ConversionMapService.d.ts +4 -4
- package/dist/types/classes/CreateRequest.d.ts +1 -1
- package/dist/types/classes/InternalChangesDelta.d.ts +3 -3
- package/dist/types/classes/ItemCache.d.ts +5 -5
- package/dist/types/classes/ItemCreateService.d.ts +2 -2
- package/dist/types/classes/KeyService.d.ts +1 -1
- package/dist/types/classes/LockService.d.ts +1 -1
- package/dist/types/classes/ParentChangesDelta.d.ts +2 -2
- package/dist/types/classes/QueryColumnExtractor.d.ts +11 -11
- package/dist/types/classes/QueryContainsLocalIdParser.d.ts +13 -11
- package/dist/types/classes/QueryLinkedToParser.d.ts +11 -9
- package/dist/types/classes/QueryLocallyMatchableParser.d.ts +11 -9
- package/dist/types/classes/QueryMatcher.d.ts +9 -3
- package/dist/types/classes/QueryParser.d.ts +1 -1
- package/dist/types/classes/QueryParserIdUpdater.d.ts +11 -9
- package/dist/types/classes/RequestBufferManager.d.ts +14 -2
- package/dist/types/classes/SocketMessageHandler.d.ts +3 -3
- package/dist/types/classes/TemplateCache.d.ts +3 -3
- package/dist/types/classes/Util.d.ts +4 -4
- package/dist/types/classes/cache/AbstractCache.d.ts +1 -1
- package/dist/types/classes/cache/CachedQueryHandlerBase.d.ts +14 -14
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +4 -4
- package/dist/types/classes/cache/server/ServerCachedQueryHandler.d.ts +1 -1
- package/dist/types/classes/cache/server/ServerItemHandler.d.ts +3 -3
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +14 -13
- package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +6 -4
- package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +2 -2
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +6 -7
- package/dist/types/core.d.ts +1 -1
- package/dist/types/factories/ApiResponseProcessorFactory.d.ts +2 -2
- package/dist/types/factories/CollectionEntryFactory.d.ts +3 -3
- package/dist/types/factories/CollectionResourceFactory.d.ts +1 -1
- package/dist/types/factories/ColumnInfoFactory.d.ts +2 -2
- package/dist/types/factories/ItemResourceFactory.d.ts +3 -3
- package/dist/types/factories/QueryMatcherFactory.d.ts +1 -1
- package/dist/types/interfaces/PromiseLibraryInterface.d.ts +3 -3
- package/dist/types/models/CollectionEntry.d.ts +3 -3
- package/dist/types/models/CollectionOptions.d.ts +8 -6
- package/dist/types/models/CollectionResource.d.ts +20 -20
- package/dist/types/models/ItemResource.d.ts +2 -2
- package/dist/types/models/Template.d.ts +1 -1
- package/dist/types/types/ItemTypesCollection.d.ts +23 -21
- package/package.json +8 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiEnumApiType, ApiEnumItemType, ApiFields, ResponseColumn } from '@rentman/backend-types';
|
|
2
2
|
import moment from 'moment';
|
|
3
|
-
import { ApiEnumApiTypeToTsTypeMap, ColumnInfo, FieldMap } from '../internal';
|
|
3
|
+
import { ApiEnumApiTypeToTsTypeMap, ColumnInfo, FieldMap, ItemTypeColumnIds } from '../internal';
|
|
4
4
|
declare type GetChangesResult<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = any> = {
|
|
5
5
|
oldValue: FieldMap<ItemTypeType, [ColumnId]>[ColumnId];
|
|
6
6
|
newValue: FieldMap<ItemTypeType, [ColumnId]>[ColumnId];
|
|
@@ -33,18 +33,18 @@ export declare class ApiFormatter {
|
|
|
33
33
|
* @description
|
|
34
34
|
* Overwrites the values in 'changes' if the values in 'initial' and 'changes' are the same (leaving user changes intact)
|
|
35
35
|
*/
|
|
36
|
-
mergeCopyFields<ItemTypeType extends ApiEnumItemType, ColumnIds extends
|
|
37
|
-
formatRequest<
|
|
36
|
+
mergeCopyFields<ItemTypeType extends ApiEnumItemType, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = any>(initial: FieldMap<ItemTypeType, ColumnIds>, changes: FieldMap<ItemTypeType, ColumnIds>, newInitial: FieldMap<ItemTypeType, ColumnIds>, columns: ColumnInfo<ItemTypeType>[]): FieldMap<ItemTypeType, ColumnIds>;
|
|
37
|
+
formatRequest<ItemTypeType extends ApiEnumItemType>(initial: FieldMap<ItemTypeType>, modified: FieldMap<ItemTypeType>, columns: ColumnInfo<ItemTypeType>[]): {
|
|
38
38
|
[columnId: string]: any;
|
|
39
39
|
};
|
|
40
|
-
formatRequestLocal<
|
|
40
|
+
formatRequestLocal<ItemTypeType extends ApiEnumItemType>(fields: FieldMap<ItemTypeType>, columns: ColumnInfo<ItemTypeType>[]): {
|
|
41
41
|
[columnId: string]: any;
|
|
42
42
|
};
|
|
43
|
-
hasChanges(initial: FieldMap
|
|
44
|
-
getChanges<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends
|
|
45
|
-
copyFields<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends
|
|
46
|
-
shallowCopyFields<
|
|
47
|
-
setDefaultValues<ItemTypeType extends ApiEnumItemType = any>(destination: FieldMap<ItemTypeType>, columns:
|
|
43
|
+
hasChanges<ItemTypeType extends ApiEnumItemType>(initial: FieldMap<ItemTypeType>, modified: FieldMap<ItemTypeType>, columns: ColumnInfo<ItemTypeType>[], includeReadOnlyColumns?: boolean, forceCompare?: boolean): boolean;
|
|
44
|
+
getChanges<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = any>(initial: FieldMap<ItemTypeType, ColumnIds>, modified: FieldMap<ItemTypeType, ColumnIds>, columns: ColumnInfo<ItemTypeType, ColumnIds[number]>[]): GetChangesResult<ItemTypeType, ColumnIds[number]>[];
|
|
45
|
+
copyFields<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends ItemTypeColumnIds<ItemTypeType> = any>(source: FieldMap<ItemTypeType, ColumnIds>, destination: Partial<FieldMap<ItemTypeType>>, columns: ColumnInfo<ItemTypeType, ColumnIds[number]>[]): FieldMap<ItemTypeType, ColumnIds>;
|
|
46
|
+
shallowCopyFields<ItemTypeType extends ApiEnumItemType>(shallowSource: FieldMap<ItemTypeType>, deepSource: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, columns: ColumnInfo<ItemTypeType>[]): FieldMap<ItemTypeType>;
|
|
47
|
+
setDefaultValues<ItemTypeType extends ApiEnumItemType = any>(destination: FieldMap<ItemTypeType>, columns: ColumnInfo<ItemTypeType>[]): FieldMap<ItemTypeType>;
|
|
48
48
|
/**
|
|
49
49
|
* @description
|
|
50
50
|
* Compares the given fields, returns `true` when the fields are equal
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ApiEnumItemType, ItemId, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
-
import { ApiFormatter, ColumnInfo, FieldMap, ItemTypeMap, ResponseColumnItemTypeMap, ResponseColumnMap } from '../internal';
|
|
2
|
+
import { ApiFormatter, ApiResponse, ColumnInfo, FieldMap, ItemTypeMap, ResponseColumnItemTypeMap, ResponseColumnMap } from '../internal';
|
|
3
3
|
export declare class ApiResponseProcessor<RequestItemType extends ApiEnumItemType = any> {
|
|
4
4
|
apiFormatter: ApiFormatter;
|
|
5
|
-
response:
|
|
5
|
+
response: ApiResponse;
|
|
6
6
|
itemType: RequestItemType;
|
|
7
7
|
columns: ItemTypeMap<ResponseColumn[]>;
|
|
8
8
|
links: ItemTypeMap<ItemId[]>;
|
|
@@ -15,14 +15,14 @@ export declare class ApiResponseProcessor<RequestItemType extends ApiEnumItemTyp
|
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
17
|
columnMap: any;
|
|
18
|
-
constructor(apiFormatter: ApiFormatter, response:
|
|
18
|
+
constructor(apiFormatter: ApiFormatter, response: ApiResponse);
|
|
19
19
|
fetchColumnObject(itemType: ApiEnumItemType): ResponseColumnMap;
|
|
20
20
|
fetchValue(itemType: ApiEnumItemType, itemId: ItemId, columnId: string): any;
|
|
21
21
|
fetchColumnArray(itemType: ApiEnumItemType): ResponseColumn[];
|
|
22
22
|
fetchDerivedObject(itemType: ApiEnumItemType, itemId: ItemId, rootColumns: ColumnInfo[]): {};
|
|
23
23
|
fetchDerivedValues(value: any, column: ColumnInfo, destination: any): void;
|
|
24
24
|
fetchObject<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: string | ItemId): FieldMap<ItemTypeType> | undefined;
|
|
25
|
-
fetchObjectArray<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, idArray?: ItemId[] | null):
|
|
25
|
+
fetchObjectArray<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, idArray?: ItemId[] | null): FieldMap<ItemTypeType>[];
|
|
26
26
|
fetchColumnsObject(): ResponseColumnItemTypeMap;
|
|
27
27
|
private addLazyFormattingFunction;
|
|
28
28
|
private createColumnMaps;
|
|
@@ -25,12 +25,6 @@ export declare class CacheSyncer {
|
|
|
25
25
|
syncCachedQueries(_isCalledAfterSocketUpdate?: boolean, changesDelta?: ChangesDeltaBase): PromiseInterface<void[]>;
|
|
26
26
|
expand<ItemEntryType extends ItemEntry>(itemEntry: ItemEntryType, fields: FieldMap<ItemEntryType['itemType']>): this;
|
|
27
27
|
processDelta(parentChangesDelta: ParentChangesDelta): this;
|
|
28
|
-
/**
|
|
29
|
-
* Returns null if none of the promises resulted in an exception, or the exception otherwise.
|
|
30
|
-
*/
|
|
31
|
-
private resolveAll;
|
|
32
|
-
private syncCollection;
|
|
33
|
-
private syncCachedQuery;
|
|
34
28
|
groupMatchedItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: CollectionQuery): {
|
|
35
29
|
[key in 'fitting' | 'notFitting' | 'maybe']: ItemEntry<ItemTypeType>[];
|
|
36
30
|
};
|
|
@@ -40,5 +34,11 @@ export declare class CacheSyncer {
|
|
|
40
34
|
* by the caller.
|
|
41
35
|
*/
|
|
42
36
|
protected processMaybeMatches<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: CollectionQuery, maybeItemEntries: ItemEntry<ItemTypeType>[], changesDelta: ChangesDeltaBase | undefined): PromiseInterface<ItemEntry<ItemTypeType>[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns null if none of the promises resulted in an exception, or the exception otherwise.
|
|
39
|
+
*/
|
|
40
|
+
private resolveAll;
|
|
41
|
+
private syncCollection;
|
|
42
|
+
private syncCachedQuery;
|
|
43
43
|
private addMatchedEntriesToCollections;
|
|
44
44
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType, ApiFields, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ChangesDeltaBase, ColumnSet, CreatedChangesDelta, EntryParent, EntryParentNull, ErrorHandlerInterface, FieldMap, ItemCreateService, ItemEntry, ItemEntryService, PromiseInterface } from '../internal';
|
|
2
|
+
import { ApiFormatter, ChangesDeltaBase, ColumnSet, CreatedChangesDelta, EntryParent, EntryParentNull, ErrorHandlerInterface, FieldMap, ItemCreateService, ItemEntry, ItemEntryService, PromiseInterface } from '../internal';
|
|
3
3
|
export declare type ChangesDeltaItemDeleteDelta = ItemEntry;
|
|
4
4
|
/**
|
|
5
5
|
* @description
|
|
@@ -19,7 +19,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
|
|
|
19
19
|
deleted: {
|
|
20
20
|
[itemType: string]: ChangesDeltaItemDeleteDelta[];
|
|
21
21
|
};
|
|
22
|
-
constructor(errorHandler: ErrorHandlerInterface, itemCreateService: ItemCreateService, itemEntryService: ItemEntryService);
|
|
22
|
+
constructor(errorHandler: ErrorHandlerInterface, itemCreateService: ItemCreateService, itemEntryService: ItemEntryService, apiFormatter: ApiFormatter);
|
|
23
23
|
/**
|
|
24
24
|
* @description
|
|
25
25
|
* Fetches a template for the passed itemType and processes the passed values and sets the item to be created when the delta is applied
|
|
@@ -39,7 +39,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
|
|
|
39
39
|
* - If the values don't contain an `id` a new one will be generated
|
|
40
40
|
* - If you want to set a parent set the proper field, you can't pass it as a separate object
|
|
41
41
|
*/
|
|
42
|
-
setItemsCreated<ItemTypeType extends ApiEnumItemType, ColumnIds extends
|
|
42
|
+
setItemsCreated<ItemTypeType extends ApiEnumItemType, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = (keyof ApiFields[ItemTypeType])[]>(itemType: ItemTypeType, valuesArray: Partial<FieldMap<ItemTypeType, ColumnIds>>[]): PromiseInterface<this>;
|
|
43
43
|
/**
|
|
44
44
|
* @description
|
|
45
45
|
* Will create an {@link ItemEntry ItemEntry} when the delta is applied
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChanges, TransactionItemEntryChangesTuple } from '../internal';
|
|
2
|
+
import { ApiFormatter, ColumnExpansionResult, EntryParentNull, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChanges, TransactionItemEntryChangesTuple } from '../internal';
|
|
3
3
|
export declare type ChangesDeltaResult = {
|
|
4
4
|
itemIdConversionMap: ItemIdConversionMap;
|
|
5
5
|
created: ItemEntry[];
|
|
@@ -28,6 +28,7 @@ export declare type ChangesDeltaItemUpdateDelta<ItemTypeType extends ApiEnumItem
|
|
|
28
28
|
};
|
|
29
29
|
export declare abstract class ChangesDeltaBase {
|
|
30
30
|
protected itemEntryService: ItemEntryService;
|
|
31
|
+
protected apiFormatter: ApiFormatter;
|
|
31
32
|
updated: {
|
|
32
33
|
[itemEntryId: number]: ChangesDeltaItemUpdateDelta;
|
|
33
34
|
};
|
|
@@ -55,10 +56,12 @@ export declare abstract class ChangesDeltaBase {
|
|
|
55
56
|
*/
|
|
56
57
|
_queryResults: {
|
|
57
58
|
[itemType: string]: {
|
|
58
|
-
[queryString: string]:
|
|
59
|
+
[queryString: string]: {
|
|
60
|
+
[itemId: string]: true;
|
|
61
|
+
};
|
|
59
62
|
};
|
|
60
63
|
};
|
|
61
|
-
protected constructor(itemEntryService: ItemEntryService);
|
|
64
|
+
protected constructor(itemEntryService: ItemEntryService, apiFormatter: ApiFormatter);
|
|
62
65
|
/**
|
|
63
66
|
* @description
|
|
64
67
|
* Adds a hint for the {@link CollectionMatcherBase CacheSyncer] to the ChangesDelta, when the CollectionMatcher encounters a collection
|
|
@@ -66,7 +69,9 @@ export declare abstract class ChangesDeltaBase {
|
|
|
66
69
|
*
|
|
67
70
|
* @private
|
|
68
71
|
*/
|
|
69
|
-
_setQueryResult(itemType: ApiEnumItemType, queryString: string, itemIds: ItemId[]
|
|
72
|
+
_setQueryResult(itemType: ApiEnumItemType, queryString: string, itemIds: ItemId[] | {
|
|
73
|
+
[itemId: string]: true;
|
|
74
|
+
}): void;
|
|
70
75
|
setItemUpdated<ItemTypeType extends ApiEnumItemType>(entry: ItemEntry<ItemTypeType>, fields: Partial<FieldMap<ItemTypeType>>, columnExpansionResult?: ColumnExpansionResult<ItemTypeType> | null, parent?: EntryParentNull, updateModified?: boolean, updateInitial?: boolean): this;
|
|
71
76
|
setItemRestored<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, transactionItemEntryChanges: TransactionItemEntryChanges<ItemTypeType>): void;
|
|
72
77
|
isEmpty(): boolean;
|
|
@@ -7,12 +7,12 @@ export declare class CollectionEntryService {
|
|
|
7
7
|
createUnfoundLocalCollectionError(itemType: ApiEnumItemType): {
|
|
8
8
|
message: string;
|
|
9
9
|
};
|
|
10
|
-
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, (
|
|
10
|
+
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, import("../internal").ItemTypeColumnIds<any>>;
|
|
11
11
|
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions;
|
|
12
12
|
createQuery(query: ApiQuery): CollectionQuery;
|
|
13
13
|
createQueryFromOptions(options: CollectionOptions): CollectionQuery;
|
|
14
14
|
createBatchedLinkToQuery(parentType: ApiEnumItemType, parentIdArray: ItemId[], options: CollectionOptions): CollectionQuery;
|
|
15
|
-
getIdArray(itemEntries:
|
|
15
|
+
getIdArray(itemEntries: ItemEntry[], accumulator?: ItemId[]): ItemId[];
|
|
16
16
|
/**
|
|
17
17
|
* @description
|
|
18
18
|
* Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
|
|
@@ -20,5 +20,5 @@ export declare class CollectionEntryService {
|
|
|
20
20
|
*
|
|
21
21
|
* @returns {@link ItemEntry ItemEntries} that failed the condition
|
|
22
22
|
*/
|
|
23
|
-
filterArray<T extends ItemEntry
|
|
23
|
+
filterArray<T extends ItemEntry = ItemEntry>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
|
|
24
24
|
}
|
|
@@ -2,10 +2,8 @@ import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
|
2
2
|
import { ApiRequestColumns, ColumnUtil, ResponseColumnItemTypeMap } from '../internal';
|
|
3
3
|
export declare class ColumnCache {
|
|
4
4
|
private columnUtil;
|
|
5
|
-
cache
|
|
6
|
-
allColumns
|
|
7
|
-
[itemType: string]: boolean;
|
|
8
|
-
};
|
|
5
|
+
private cache;
|
|
6
|
+
private allColumns;
|
|
9
7
|
constructor(columnUtil: ColumnUtil);
|
|
10
8
|
setColumn(itemType: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
9
|
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, columnFilter: string | false): ResponseColumnItemTypeMap;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import {
|
|
2
|
+
import { ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnInfoFactory, ColumnSet, ResponseColumnItemTypeMap } from '../internal';
|
|
3
3
|
/**
|
|
4
4
|
* @description
|
|
5
5
|
* A ColumnExpansion is used to make sure {@link ItemEntry ItemEntries} that have the same {@link ColumnSet ColumnSet} (matched on {@link ColumnSet.id ColumnSet.id}) will all get the same new expanded ColumnSet
|
|
@@ -8,14 +8,12 @@ export declare class ColumnExpansion<ItemTypeType extends ApiEnumItemType> {
|
|
|
8
8
|
private columnInfoFactory;
|
|
9
9
|
itemType: ItemTypeType;
|
|
10
10
|
responseColumns: ResponseColumnItemTypeMap;
|
|
11
|
-
expansionMap
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
requestColumnsTrue: boolean;
|
|
16
|
-
requestColumns: ApiRequestColumn[];
|
|
11
|
+
private expansionMap;
|
|
12
|
+
private expansionMapSize;
|
|
13
|
+
private requestColumnsTrue;
|
|
14
|
+
private requestColumns;
|
|
17
15
|
constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap);
|
|
18
16
|
run(columnSet: ColumnSet<ItemTypeType>): ColumnExpansionResult<ItemTypeType> | null;
|
|
19
|
-
aggregateRootColumns():
|
|
17
|
+
aggregateRootColumns(): ColumnInfo<ItemTypeType>[];
|
|
20
18
|
private expandRootColumnMap;
|
|
21
19
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ApiEnumItemType,
|
|
2
|
-
|
|
1
|
+
import { ApiEnumItemType, GetColumnType } from '@rentman/backend-types';
|
|
2
|
+
import { ItemTypeColumnId } from '..';
|
|
3
|
+
export declare class ColumnInfo<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> {
|
|
3
4
|
readonly apiColumn: GetColumnType<ItemTypeType, ColumnId>;
|
|
4
5
|
readonly parent: ColumnInfo | null;
|
|
5
6
|
id: ColumnId;
|
|
@@ -7,8 +8,8 @@ export declare class ColumnInfo<ItemTypeType extends ApiEnumItemType = any, Colu
|
|
|
7
8
|
path: string;
|
|
8
9
|
tailPath: string;
|
|
9
10
|
itemType: ItemTypeType | null;
|
|
10
|
-
children:
|
|
11
|
+
children: ColumnInfo<ItemTypeType>[];
|
|
11
12
|
isLeaf: boolean;
|
|
12
13
|
constructor(apiColumn: GetColumnType<ItemTypeType, ColumnId>, parent?: ColumnInfo | null);
|
|
13
|
-
setChildren(itemType: ItemTypeType, children:
|
|
14
|
+
setChildren(itemType: ItemTypeType, children: ColumnInfo<ItemTypeType>[]): this;
|
|
14
15
|
}
|
|
@@ -9,19 +9,19 @@ export declare class ColumnSet<ItemTypeType extends ApiEnumItemType = any> {
|
|
|
9
9
|
requestColumnsTrue: boolean;
|
|
10
10
|
response: ResponseColumnItemTypeMap;
|
|
11
11
|
link: ColumnInfo<ItemTypeType> | null;
|
|
12
|
-
main:
|
|
13
|
-
derived:
|
|
14
|
-
root:
|
|
15
|
-
leaf:
|
|
12
|
+
main: ColumnInfo<ItemTypeType>[];
|
|
13
|
+
derived: ColumnInfo<ItemTypeType>[];
|
|
14
|
+
root: ColumnInfo<ItemTypeType>[];
|
|
15
|
+
leaf: ColumnInfo<ItemTypeType>[];
|
|
16
16
|
formatted: {
|
|
17
|
-
main:
|
|
18
|
-
derived:
|
|
17
|
+
main: ColumnInfo<ItemTypeType>[];
|
|
18
|
+
derived: ColumnInfo<ItemTypeType>[];
|
|
19
19
|
};
|
|
20
|
-
filtered:
|
|
21
|
-
custom:
|
|
22
|
-
searchable:
|
|
23
|
-
item:
|
|
24
|
-
notItem:
|
|
20
|
+
filtered: ColumnInfo<ItemTypeType>[];
|
|
21
|
+
custom: ColumnInfo<ItemTypeType>[];
|
|
22
|
+
searchable: ColumnInfo<ItemTypeType>[];
|
|
23
|
+
item: ColumnInfo<ItemTypeType>[];
|
|
24
|
+
notItem: ColumnInfo<ItemTypeType>[];
|
|
25
25
|
constructor(columnUtil: ColumnUtil, columnSetFactory: ColumnSetFactory, itemType: ItemTypeType);
|
|
26
26
|
groupColumnInfo(columnInfo: ColumnInfo): void;
|
|
27
27
|
toJSON(): {
|
|
@@ -29,9 +29,9 @@ export declare class ColumnSet<ItemTypeType extends ApiEnumItemType = any> {
|
|
|
29
29
|
derived: any[];
|
|
30
30
|
};
|
|
31
31
|
isSupersetOf(columnsToCompare: ApiRequestColumns): boolean;
|
|
32
|
-
private getMergedColumnSet;
|
|
33
32
|
mergeRequestColumns(requestColumns: ApiRequestColumns): RequestColumnMergeResult;
|
|
34
33
|
mergeResponseColumns(responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
|
|
35
34
|
merge(columnSet: ColumnSet<ItemTypeType>): ColumnSet<ItemTypeType>;
|
|
36
35
|
expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnItemTypeMap): ColumnExpansionResult<ItemTypeType>;
|
|
36
|
+
private getMergedColumnSet;
|
|
37
37
|
}
|
|
@@ -13,13 +13,13 @@ export declare class ConversionMapService {
|
|
|
13
13
|
createLocalConversionMap(itemType: ApiEnumItemType, itemId: ItemId, doExtend: boolean | undefined, apiResponse: ApiResponse): ItemIdConversionMap;
|
|
14
14
|
expandLocalConversionMap(parentType: ApiEnumItemType, parentId: ItemId, apiResponse: ApiResponse, conversionMap: ItemIdConversionMap): void;
|
|
15
15
|
expandConversionMap(itemType: ApiEnumItemType, itemId: ItemId, conversionMap: ItemIdConversionMap, newItemId?: ItemId): ItemId;
|
|
16
|
-
batchExpandConversionMap(itemEntries:
|
|
16
|
+
batchExpandConversionMap(itemEntries: ItemEntry<any>[], conversionMap: ItemIdConversionMap): ItemIdConversionMap;
|
|
17
17
|
getConversionValue(itemType: ApiEnumItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
|
|
18
18
|
/**
|
|
19
19
|
* @description
|
|
20
20
|
* Updates the columns in `fields` using the `parent` and `conversionMap`.
|
|
21
|
-
*
|
|
22
|
-
* added at a later stage. The value for this column can be read from this parameter.
|
|
21
|
+
*
|
|
22
|
+
* @param parent - When retrieving an item the 'link' column is not present in the template response, and is added at a later stage. The value for this column can be read from this parameter.
|
|
23
23
|
*/
|
|
24
|
-
updateItemValues<ItemTypeType extends ApiEnumItemType>(source: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, itemColumns:
|
|
24
|
+
updateItemValues<ItemTypeType extends ApiEnumItemType>(source: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, itemColumns: ColumnInfo<ItemTypeType>[], conversionMap: ItemIdConversionMap, parent?: EntryParentNull): void;
|
|
25
25
|
}
|
|
@@ -7,7 +7,7 @@ export declare class CreateRequest<ItemTypeType extends ApiEnumItemType> {
|
|
|
7
7
|
private compilation;
|
|
8
8
|
private transaction;
|
|
9
9
|
private breakupByParent;
|
|
10
|
-
requests:
|
|
10
|
+
requests: CreateRequestEntry<ItemTypeType>[];
|
|
11
11
|
constructor(apiFormatter: ApiFormatter, keyService: KeyService, requestColumnExpansionFactory: RequestColumnExpansionFactory, compilation: CreateCompilation, transaction: TransactionCache, breakupByParent?: boolean);
|
|
12
12
|
finalizeRequest(requestResource: CreateRequestEntry<ItemTypeType>): CreateRequestEntry<ItemTypeType>;
|
|
13
13
|
setRequestParent(parentType: CreateRequestCompilationParent, requestEntry: CreateRequestEntry<ItemTypeType>): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ChangesDeltaBase, EntryParent, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChangesTuple } from '../internal';
|
|
2
|
+
import { ApiFormatter, ChangesDeltaBase, EntryParent, FieldMap, ItemEntry, ItemEntryService, ItemIdConversionMap, TransactionItemEntryChangesTuple } from '../internal';
|
|
3
3
|
export declare type InternalCreateDelta<ItemTypeType extends ApiEnumItemType = any> = {
|
|
4
4
|
entry: ItemEntry<ItemTypeType>;
|
|
5
5
|
fields: FieldMap<ItemTypeType>;
|
|
@@ -29,10 +29,9 @@ export declare class InternalChangesDelta extends ChangesDeltaBase {
|
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
31
|
itemIdConversionMap: ItemIdConversionMap;
|
|
32
|
-
constructor(itemEntryService: ItemEntryService);
|
|
32
|
+
constructor(itemEntryService: ItemEntryService, apiFormatter: ApiFormatter);
|
|
33
33
|
setItemDeleted(tuple: TransactionItemEntryChangesTuple<any>): this;
|
|
34
34
|
setItemsDeleted(deleted: TransactionItemEntryChangesTuple<any>[]): this;
|
|
35
|
-
private itemIsDeleted;
|
|
36
35
|
setItemCreated<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>): void;
|
|
37
36
|
/**
|
|
38
37
|
* @remark
|
|
@@ -40,4 +39,5 @@ export declare class InternalChangesDelta extends ChangesDeltaBase {
|
|
|
40
39
|
*/
|
|
41
40
|
setItemMoved(entry: ItemEntry, to: EntryParent): void;
|
|
42
41
|
isEmpty(): boolean;
|
|
42
|
+
private itemIsDeleted;
|
|
43
43
|
}
|
|
@@ -10,18 +10,18 @@ export declare class ItemCache {
|
|
|
10
10
|
constructor(queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache);
|
|
11
11
|
getByEntryId(itemEntryId: ItemEntry['id']): ItemEntry | undefined;
|
|
12
12
|
some(callback: (itemEntry: ItemEntry) => boolean): boolean;
|
|
13
|
-
getByItemType<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType):
|
|
14
|
-
getByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: CollectionQuery['object']):
|
|
15
|
-
getLocalByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: CollectionQuery['object']):
|
|
13
|
+
getByItemType<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType): ItemEntry<ItemTypeType>[];
|
|
14
|
+
getByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: CollectionQuery['object']): ItemEntry<ItemTypeType>[];
|
|
15
|
+
getLocalByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: CollectionQuery['object']): ItemEntry<ItemTypeType>[];
|
|
16
16
|
getByParent<ItemTypeType extends ApiEnumItemType>(parentType: ApiEnumItemType, parentId: ItemId, itemType: ItemTypeType): ItemEntry<ItemTypeType>[];
|
|
17
17
|
batchGetLocalByParent<ItemTypeType extends ApiEnumItemType>(parentType: ApiEnumItemType, parentIds: ItemId[], itemType: ItemTypeType, additionalQuery: CollectionQuery['object']): ItemEntryParentIdMap<ItemTypeType>;
|
|
18
18
|
forEach(callback: (itemEntry: ItemEntry) => void): void;
|
|
19
|
-
toArray(): ItemEntry
|
|
19
|
+
toArray(): ItemEntry[];
|
|
20
20
|
add<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>): ItemEntry<ItemTypeType>;
|
|
21
21
|
get<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: string | ItemId): undefined | ItemEntry<ItemTypeType>;
|
|
22
22
|
contains(itemType: ApiEnumItemType, itemId: string | ItemId): boolean;
|
|
23
23
|
updateItemId<T extends ItemEntry<any>>(itemEntry: T, oldItemId: string | ItemId): T;
|
|
24
24
|
clear(itemEntry?: ItemEntry<any>): boolean;
|
|
25
25
|
clearByItemId(itemType: ApiEnumItemType, itemId: ItemId): boolean;
|
|
26
|
-
matchQuery(itemEntry: ItemEntry
|
|
26
|
+
matchQuery(itemEntry: ItemEntry, query: CollectionQuery['object']): boolean;
|
|
27
27
|
}
|
|
@@ -12,7 +12,7 @@ export declare class ItemCreateService {
|
|
|
12
12
|
* @description
|
|
13
13
|
* Fetches a new {@link Template template} and sets the items created on the passed {@link ChangesDelta}
|
|
14
14
|
*/
|
|
15
|
-
createItemsFromValues<ItemTypeType extends ApiEnumItemType, ColumnIds extends
|
|
16
|
-
processTemplate<ItemTypeType extends ApiEnumItemType, ColumnIds extends
|
|
15
|
+
createItemsFromValues<ItemTypeType extends ApiEnumItemType, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = (keyof ApiFields[ItemTypeType])[]>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Partial<FieldMap<ItemTypeType, ColumnIds>>[], parent?: EntryParentNull): PromiseInterface<void>;
|
|
16
|
+
processTemplate<ItemTypeType extends ApiEnumItemType, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = (keyof ApiFields[ItemTypeType])[]>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType, ColumnIds>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback, isRoot?: boolean): void;
|
|
17
17
|
processTemplateLinkItems<ParentItemType extends ApiEnumItemType>(changesDelta: ChangesDelta, parentType: ParentItemType, localParentId: ItemId, template: Template<ParentItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
18
18
|
}
|
|
@@ -5,7 +5,7 @@ export declare class KeyService {
|
|
|
5
5
|
private idCounter;
|
|
6
6
|
constructor();
|
|
7
7
|
getSingleKey(itemType: string, itemId: ItemId | string): string;
|
|
8
|
-
getCssKey(...args:
|
|
8
|
+
getCssKey(...args: (string | number)[]): string;
|
|
9
9
|
parseStateKey(stateKey: string): StateKey | null;
|
|
10
10
|
getDuplicateStateKey(itemId: string | ItemId): string;
|
|
11
11
|
getNewStateKey(templateType: string): string;
|
|
@@ -20,10 +20,10 @@ export declare class LockService {
|
|
|
20
20
|
fetchLock(itemEntry: ItemEntry): PromiseInterface<LockToken>;
|
|
21
21
|
deleteLock(itemEntry: ItemEntry): PromiseInterface<void>;
|
|
22
22
|
clearLock(itemEntry: ItemEntry): boolean;
|
|
23
|
+
isRemoteLock(token: LockToken): token is LockTokenError;
|
|
23
24
|
private requestLock;
|
|
24
25
|
private fetchCachedLock;
|
|
25
26
|
private getValue;
|
|
26
27
|
private setValue;
|
|
27
|
-
isRemoteLock(token: LockToken): token is LockTokenError;
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ChangesDeltaBase, ChangesDeltaItemDeleteDelta, EntryParent, FieldMap, InternalCreateDelta, ItemEntry, ItemEntryService, ItemIdConversionMap } from '../internal';
|
|
2
|
+
import { ApiFormatter, ChangesDeltaBase, ChangesDeltaItemDeleteDelta, EntryParent, FieldMap, InternalCreateDelta, ItemEntry, ItemEntryService, ItemIdConversionMap } from '../internal';
|
|
3
3
|
export declare type ParentChangesDeltaItemDeleteDelta = ItemEntry;
|
|
4
4
|
/**
|
|
5
5
|
* @description
|
|
@@ -26,7 +26,7 @@ export declare class ParentChangesDelta extends ChangesDeltaBase {
|
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
28
|
itemIdConversionMap: ItemIdConversionMap;
|
|
29
|
-
constructor(itemEntryService: ItemEntryService);
|
|
29
|
+
constructor(itemEntryService: ItemEntryService, apiFormatter: ApiFormatter);
|
|
30
30
|
setItemDeleted(deleted: ChangesDeltaItemDeleteDelta): this;
|
|
31
31
|
setItemsDeleted(deleted: ChangesDeltaItemDeleteDelta[]): this;
|
|
32
32
|
setItemCreated<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>): void;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { ApiEnumItemType, ApiQueryConditionLinkedTo, ApiQueryConditionSubQuery } from '@rentman/backend-types';
|
|
2
2
|
import { ApiQuery, ApiQueryConditionComparator, ApiQueryWithConditions, ApiRequestColumn, ColumnUtil, QueryParserBase } from '../internal';
|
|
3
|
-
|
|
3
|
+
declare type ReturnType = ApiRequestColumn[];
|
|
4
|
+
export declare class QueryColumnExtractor extends QueryParserBase<ReturnType> {
|
|
4
5
|
private columnUtil;
|
|
5
6
|
private itemType;
|
|
6
7
|
constructor(columnUtil: ColumnUtil, itemType: ApiEnumItemType, query: ApiQuery);
|
|
7
|
-
protected parseEmptyQuery():
|
|
8
|
-
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(key: T['key'], subQuery: T['query']):
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
protected
|
|
12
|
-
protected
|
|
13
|
-
protected
|
|
14
|
-
protected
|
|
15
|
-
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(linkedTo: T['linkedTo'], _query: T['query'], reverse: T['reverse']): ApiRequestColumn[];
|
|
16
|
-
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']): ApiRequestColumn[];
|
|
8
|
+
protected parseEmptyQuery(): ReturnType;
|
|
9
|
+
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(key: T['key'], subQuery: T['query']): ReturnType;
|
|
10
|
+
protected parseSubFieldQuery(): ReturnType;
|
|
11
|
+
protected parseSearchQuery(): ReturnType;
|
|
12
|
+
protected parseCustomQuery(): ReturnType;
|
|
13
|
+
protected parseSimpleQuery<T extends ApiQueryConditionComparator>(key: T['key']): ReturnType;
|
|
14
|
+
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(linkedTo: T['linkedTo'], _query: T['query'], reverse: T['reverse']): ReturnType;
|
|
15
|
+
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']): ReturnType;
|
|
17
16
|
private parseConditions;
|
|
18
17
|
}
|
|
18
|
+
export {};
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { ApiQueryConditionLinkedTo, ApiQueryConditionSubQuery } from '@rentman/backend-types';
|
|
2
|
-
import { ApiQueryConditionComparator, ApiQueryWithConditions, KeyService, QueryParserBase } from '../internal';
|
|
3
|
-
|
|
2
|
+
import { ApiQuery, ApiQueryConditionComparator, ApiQueryWithConditions, KeyService, QueryParserBase } from '../internal';
|
|
3
|
+
declare type ReturnType = boolean;
|
|
4
|
+
export declare class QueryContainsLocalIdParser extends QueryParserBase<ReturnType> {
|
|
4
5
|
private keyService;
|
|
5
|
-
constructor(keyService: KeyService, query:
|
|
6
|
-
protected parseEmptyQuery():
|
|
7
|
-
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], subQuery: T['query']):
|
|
8
|
-
protected parseSubFieldQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], _itemType: T['itemType'], field: T['field'], query: T['query']):
|
|
9
|
-
protected parseSearchQuery():
|
|
10
|
-
protected parseCustomQuery():
|
|
11
|
-
protected parseSimpleQuery<T extends ApiQueryConditionComparator>(_key: T['key'], value: T['value']):
|
|
12
|
-
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(_linkedTo: T['linkedTo'], query: T['query']):
|
|
13
|
-
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']):
|
|
6
|
+
constructor(keyService: KeyService, query: ApiQuery);
|
|
7
|
+
protected parseEmptyQuery(): ReturnType;
|
|
8
|
+
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], subQuery: T['query']): ReturnType;
|
|
9
|
+
protected parseSubFieldQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], _itemType: T['itemType'], field: T['field'], query: T['query']): ReturnType;
|
|
10
|
+
protected parseSearchQuery(): ReturnType;
|
|
11
|
+
protected parseCustomQuery(): ReturnType;
|
|
12
|
+
protected parseSimpleQuery<T extends ApiQueryConditionComparator>(_key: T['key'], value: T['value']): ReturnType;
|
|
13
|
+
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(_linkedTo: T['linkedTo'], query: T['query']): ReturnType;
|
|
14
|
+
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']): ReturnType;
|
|
14
15
|
private parseConditions;
|
|
15
16
|
}
|
|
17
|
+
export {};
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { ApiEnumItemType, ApiQueryConditionLinkedTo, ApiQueryConditionSubQuery } from '@rentman/backend-types';
|
|
2
2
|
import { ApiQuery, ApiQueryWithConditions, QueryParserBase } from '../internal';
|
|
3
|
-
|
|
3
|
+
declare type ReturnType = boolean;
|
|
4
|
+
export declare class QueryLinkedToParser extends QueryParserBase<ReturnType> {
|
|
4
5
|
private callback;
|
|
5
6
|
constructor(callback: <ItemTypeType extends ApiEnumItemType>(linkedTo: ItemTypeType, query: ApiQuery<ItemTypeType>) => boolean, query: ApiQuery);
|
|
6
|
-
protected parseEmptyQuery():
|
|
7
|
-
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], subQuery: T['query']):
|
|
8
|
-
protected parseSubFieldQuery():
|
|
9
|
-
protected parseSearchQuery():
|
|
10
|
-
protected parseCustomQuery():
|
|
11
|
-
protected parseSimpleQuery():
|
|
12
|
-
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(linkedTo: T['linkedTo'], query: T['query'], _reverse: T['reverse'], not?: T['not']):
|
|
13
|
-
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']):
|
|
7
|
+
protected parseEmptyQuery(): ReturnType;
|
|
8
|
+
protected parseSubQuery<T extends ApiQueryConditionSubQuery>(_key: T['key'], subQuery: T['query']): ReturnType;
|
|
9
|
+
protected parseSubFieldQuery(): ReturnType;
|
|
10
|
+
protected parseSearchQuery(): ReturnType;
|
|
11
|
+
protected parseCustomQuery(): ReturnType;
|
|
12
|
+
protected parseSimpleQuery(): ReturnType;
|
|
13
|
+
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(linkedTo: T['linkedTo'], query: T['query'], _reverse: T['reverse'], not?: T['not']): ReturnType;
|
|
14
|
+
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']): ReturnType;
|
|
14
15
|
private parseConditions;
|
|
15
16
|
}
|
|
17
|
+
export {};
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { ApiQueryConditionLinkedTo } from '@rentman/backend-types';
|
|
2
2
|
import { ApiQuery, ApiQueryWithConditions, QueryParserBase } from '../internal';
|
|
3
|
+
declare type ReturnType = boolean;
|
|
3
4
|
/**
|
|
4
5
|
* @description
|
|
5
6
|
* Returns whether or not a query can be parsed by the {@link QueryMatcher QueryMatcher}
|
|
6
7
|
*/
|
|
7
|
-
export declare class QueryLocallyMatchableParser extends QueryParserBase<
|
|
8
|
+
export declare class QueryLocallyMatchableParser extends QueryParserBase<ReturnType> {
|
|
8
9
|
constructor(query: ApiQuery);
|
|
9
|
-
protected parseEmptyQuery():
|
|
10
|
-
protected parseSubQuery():
|
|
11
|
-
protected parseSubFieldQuery():
|
|
12
|
-
protected parseSearchQuery():
|
|
13
|
-
protected parseCustomQuery():
|
|
14
|
-
protected parseSimpleQuery():
|
|
15
|
-
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(_linkedTo: T['linkedTo'], _query: T['query'], reverse: T['reverse'], _not: T['not']):
|
|
16
|
-
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']):
|
|
10
|
+
protected parseEmptyQuery(): ReturnType;
|
|
11
|
+
protected parseSubQuery(): ReturnType;
|
|
12
|
+
protected parseSubFieldQuery(): ReturnType;
|
|
13
|
+
protected parseSearchQuery(): ReturnType;
|
|
14
|
+
protected parseCustomQuery(): ReturnType;
|
|
15
|
+
protected parseSimpleQuery(): ReturnType;
|
|
16
|
+
protected parseLinkedToQuery<T extends ApiQueryConditionLinkedTo>(_linkedTo: T['linkedTo'], _query: T['query'], reverse: T['reverse'], _not: T['not']): ReturnType;
|
|
17
|
+
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions']): ReturnType;
|
|
17
18
|
private parseConditions;
|
|
18
19
|
}
|
|
20
|
+
export {};
|
|
@@ -3,15 +3,21 @@ import { ApiFormatter, ApiQuery, EntryParentNull, FieldMap } from '../internal';
|
|
|
3
3
|
export declare class QueryMatcher {
|
|
4
4
|
private apiFormatter;
|
|
5
5
|
itemType: ApiEnumItemType;
|
|
6
|
-
fields: FieldMap;
|
|
6
|
+
fields: FieldMap | [FieldMap, FieldMap];
|
|
7
7
|
parent: EntryParentNull;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @param apiFormatter
|
|
10
|
+
* @param itemType
|
|
11
|
+
* @param fields The fields to match against, if "fields" is an array index [0] should be the new/updated values, and index [1] the cached ones
|
|
12
|
+
* @param parent
|
|
13
|
+
*/
|
|
14
|
+
constructor(apiFormatter: ApiFormatter, itemType: ApiEnumItemType, fields: FieldMap | [FieldMap, FieldMap], parent?: EntryParentNull);
|
|
10
15
|
/**
|
|
11
16
|
* @remark
|
|
12
17
|
* When changing this code also change {@link QueryLocallyMatchableParser QueryLocallyMatchableParser}
|
|
13
18
|
*/
|
|
14
19
|
matchQuery(query: ApiQuery): boolean | 'maybe';
|
|
20
|
+
private compareValues;
|
|
15
21
|
private matchLinkedToQuery;
|
|
16
22
|
private matchComplexQuery;
|
|
17
23
|
private matchSimpleQuery;
|
|
@@ -14,7 +14,7 @@ export declare class QueryParser extends QueryParserBase<ReturnType> {
|
|
|
14
14
|
protected parseSearchQuery(value: any, not?: boolean): ReturnType;
|
|
15
15
|
protected parseCustomQuery(custom: string, parameters: any, not?: boolean): ReturnType;
|
|
16
16
|
protected parseCustomParameters(parameters: any): ReturnType;
|
|
17
|
-
protected parseSimpleQuery<T extends ApiQueryConditionComparator | ApiQueryConditionInShort<any, any>>(key: T['key'], value: T['value'], comparator: T['comparator']
|
|
17
|
+
protected parseSimpleQuery<T extends ApiQueryConditionComparator | ApiQueryConditionInShort<any, any>>(key: T['key'], value: T['value'], comparator: T['comparator'], not?: T['not']): ReturnType;
|
|
18
18
|
protected parseLinkedToQuery(linkedTo: any, query?: ApiQuery, reverse?: boolean, not?: boolean): ReturnType;
|
|
19
19
|
protected parseComplexQuery<T extends ApiQueryWithConditions>(conditions: T['conditions'], operator?: T['operator'], not?: T['not']): ReturnType;
|
|
20
20
|
private parseConditions;
|