@rentman/rm-core 1.0.0 → 1.0.2
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/dist/definitions/classes/ApiFormatter.d.ts +36 -0
- package/dist/definitions/classes/BatchStatus.d.ts +16 -0
- package/dist/definitions/classes/ChangesCompiler.d.ts +34 -0
- package/dist/definitions/classes/ChangesProcessor.d.ts +46 -0
- package/dist/definitions/classes/CollectionCache.d.ts +39 -0
- package/dist/definitions/classes/CollectionEntryService.d.ts +15 -0
- package/dist/definitions/classes/CollectionHandler.d.ts +79 -0
- package/dist/definitions/classes/CollectionResourceService.d.ts +5 -0
- package/dist/definitions/classes/ColumnCache.d.ts +18 -0
- package/dist/definitions/classes/ColumnExpansion.d.ts +16 -0
- package/dist/definitions/classes/ColumnHandler.d.ts +19 -0
- package/dist/definitions/classes/ColumnSet.d.ts +54 -0
- package/dist/definitions/classes/ColumnUtil.d.ts +80 -0
- package/dist/definitions/classes/CreateRequest.d.ts +28 -0
- package/dist/definitions/classes/ItemAdministrator.d.ts +114 -0
- package/dist/definitions/classes/ItemCache.d.ts +22 -0
- package/dist/definitions/classes/ItemEntryService.d.ts +50 -0
- package/dist/definitions/classes/ItemHandler.d.ts +70 -0
- package/dist/definitions/classes/ItemRequestService.d.ts +31 -0
- package/dist/definitions/classes/ItemResourceService.d.ts +8 -0
- package/dist/definitions/classes/KeyService.d.ts +28 -0
- package/dist/definitions/classes/LockService.d.ts +25 -0
- package/dist/definitions/classes/ModuleChangesCompiler.d.ts +18 -0
- package/dist/definitions/classes/PromiseService.d.ts +10 -0
- package/dist/definitions/classes/QueryMatcher.d.ts +14 -0
- package/dist/definitions/classes/QueryParser.d.ts +16 -0
- package/dist/definitions/classes/QueryService.d.ts +19 -0
- package/dist/definitions/classes/RequestColumnExpansion.d.ts +9 -0
- package/dist/definitions/classes/ResourceCache.d.ts +78 -0
- package/dist/definitions/classes/Util.d.ts +25 -0
- package/dist/definitions/constants.d.ts +10 -0
- package/dist/definitions/factories/BatchStatusFactory.d.ts +8 -0
- package/dist/definitions/factories/ChangesCompilerFactory.d.ts +9 -0
- package/dist/definitions/factories/ChangesProcessorFactory.d.ts +31 -0
- package/{src/factories/CollectionCacheFactory.ts → dist/definitions/factories/CollectionCacheFactory.d.ts} +3 -11
- package/dist/definitions/factories/CollectionEntryFactory.d.ts +19 -0
- package/dist/definitions/factories/CollectionResourceFactory.d.ts +18 -0
- package/dist/definitions/factories/ColumnExpansionFactory.d.ts +11 -0
- package/dist/definitions/factories/ColumnSetFactory.d.ts +9 -0
- package/dist/definitions/factories/CreateRequestFactory.d.ts +13 -0
- package/dist/definitions/factories/ItemCacheFactory.d.ts +9 -0
- package/dist/definitions/factories/ItemEntryFactory.d.ts +6 -0
- package/dist/definitions/factories/ItemResourceFactory.d.ts +12 -0
- package/{src/factories/ModuleChangesCompilerFactory.ts → dist/definitions/factories/ModuleChangesCompilerFactory.d.ts} +3 -14
- package/dist/definitions/factories/QueryMatcherFactory.d.ts +7 -0
- package/dist/definitions/factories/QueryParserFactory.d.ts +5 -0
- package/{src/factories/RequestColumnExpansionFactory.ts → dist/definitions/factories/RequestColumnExpansionFactory.d.ts} +3 -11
- package/dist/definitions/factories/ResourceCacheFactory.d.ts +33 -0
- package/dist/definitions/index.d.ts +121 -0
- package/dist/definitions/interfaces/ApiRequestServiceInterface.d.ts +10 -0
- package/dist/definitions/interfaces/AuthInterface.d.ts +4 -0
- package/{src/interfaces/ErrorHandlerInterface.ts → dist/definitions/interfaces/ErrorHandlerInterface.d.ts} +2 -2
- package/dist/definitions/interfaces/ResourceCacheInterface.d.ts +6 -0
- package/dist/definitions/models/CollectionEditResource.d.ts +23 -0
- package/dist/definitions/models/CollectionEntry.d.ts +61 -0
- package/dist/definitions/models/CollectionResource.d.ts +29 -0
- package/{src/models/CollectionViewResource.ts → dist/definitions/models/CollectionViewResource.d.ts} +6 -13
- package/dist/definitions/models/EditResource.d.ts +7 -0
- package/dist/definitions/models/ItemEntry.d.ts +18 -0
- package/dist/definitions/models/ItemResource.d.ts +14 -0
- package/dist/definitions/models/ViewResource.d.ts +7 -0
- package/dist/rm-core.js +29 -0
- package/dist/rm-core.js.map +1 -0
- package/package.json +5 -1
- package/.editorconfig +0 -23
- package/src/classes/ApiFormatter.ts +0 -338
- package/src/classes/BatchStatus.ts +0 -86
- package/src/classes/ChangesCompiler.ts +0 -161
- package/src/classes/ChangesProcessor.ts +0 -475
- package/src/classes/CollectionCache.ts +0 -234
- package/src/classes/CollectionEntryService.ts +0 -83
- package/src/classes/CollectionHandler.ts +0 -619
- package/src/classes/CollectionResourceService.ts +0 -38
- package/src/classes/ColumnCache.ts +0 -114
- package/src/classes/ColumnExpansion.ts +0 -74
- package/src/classes/ColumnHandler.ts +0 -90
- package/src/classes/ColumnSet.ts +0 -181
- package/src/classes/ColumnUtil.ts +0 -589
- package/src/classes/CreateRequest.ts +0 -158
- package/src/classes/ItemAdministrator.ts +0 -571
- package/src/classes/ItemCache.ts +0 -158
- package/src/classes/ItemEntryService.ts +0 -488
- package/src/classes/ItemHandler.ts +0 -592
- package/src/classes/ItemRequestService.ts +0 -229
- package/src/classes/ItemResourceService.ts +0 -36
- package/src/classes/KeyService.ts +0 -76
- package/src/classes/LockService.ts +0 -184
- package/src/classes/ModuleChangesCompiler.ts +0 -123
- package/src/classes/PromiseService.ts +0 -19
- package/src/classes/QueryMatcher.ts +0 -135
- package/src/classes/QueryParser.ts +0 -209
- package/src/classes/QueryService.ts +0 -35
- package/src/classes/RequestColumnExpansion.ts +0 -31
- package/src/classes/ResourceCache.ts +0 -289
- package/src/classes/Util.ts +0 -422
- package/src/constants.ts +0 -11
- package/src/factories/BatchStatusFactory.ts +0 -18
- package/src/factories/ChangesCompilerFactory.ts +0 -20
- package/src/factories/ChangesProcessorFactory.ts +0 -53
- package/src/factories/CollectionEntryFactory.ts +0 -35
- package/src/factories/CollectionResourceFactory.ts +0 -36
- package/src/factories/ColumnExpansionFactory.ts +0 -25
- package/src/factories/ColumnSetFactory.ts +0 -24
- package/src/factories/CreateRequestFactory.ts +0 -28
- package/src/factories/ItemCacheFactory.ts +0 -18
- package/src/factories/ItemEntryFactory.ts +0 -18
- package/src/factories/ItemResourceFactory.ts +0 -28
- package/src/factories/QueryMatcherFactory.ts +0 -20
- package/src/factories/QueryParserFactory.ts +0 -10
- package/src/factories/ResourceCacheFactory.ts +0 -55
- package/src/index.ts +0 -188
- package/src/interfaces/ApiRequestServiceInterface.ts +0 -17
- package/src/interfaces/AuthInterface.ts +0 -5
- package/src/interfaces/ResourceCacheInterface.ts +0 -9
- package/src/models/CollectionEditResource.ts +0 -139
- package/src/models/CollectionEntry.ts +0 -448
- package/src/models/CollectionResource.ts +0 -223
- package/src/models/EditResource.ts +0 -15
- package/src/models/ItemEntry.ts +0 -24
- package/src/models/ItemResource.ts +0 -35
- package/src/models/ViewResource.ts +0 -14
- package/tsconfig.json +0 -12
- package/tslint.json +0 -63
- package/webpack.common.js +0 -35
- package/webpack.dev.js +0 -10
- package/webpack.prod.js +0 -17
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as moment from 'moment';
|
|
2
|
+
export default class ApiFormatter {
|
|
3
|
+
MOMENT_INVALID: string;
|
|
4
|
+
SERVER_DATETIME_FORMAT: string;
|
|
5
|
+
SERVER_TIME_FORMAT: string;
|
|
6
|
+
SERVER_DATE_FORMAT: string;
|
|
7
|
+
constructor();
|
|
8
|
+
formatResponse(fields: any, columns: any): void;
|
|
9
|
+
expandResponse(current: any, expanded: any, columns: any): void;
|
|
10
|
+
formatRequest(initial: any, modified: any, columns: any): {};
|
|
11
|
+
hasChanges(initial: any, modified: any, columns: any): boolean;
|
|
12
|
+
getChanges(initial: any, modified: any, columns: any): any[];
|
|
13
|
+
copyFields(source: any, destination: any, columns: any): any;
|
|
14
|
+
shallowCopyFields(shallowSource: any, deepSource: any, destination: any, columns: any): any;
|
|
15
|
+
setDefaultValues(destination: any, columns: any): any;
|
|
16
|
+
compareFields(columnType: any, first: any, second: any): any;
|
|
17
|
+
compareFloats(a: any, b: any): boolean;
|
|
18
|
+
compareMomentObjects(first: any, second: any): any;
|
|
19
|
+
compareDurations(first: any, second: any): boolean;
|
|
20
|
+
formatResponseValue(columnType: any, value: any): any;
|
|
21
|
+
formatRequestValue(columnType: any, value: any): any;
|
|
22
|
+
formatResponseDate(value: any): moment.Moment;
|
|
23
|
+
formatResponseDuration(value: any): moment.Duration;
|
|
24
|
+
formatResponseColor(value: any): any;
|
|
25
|
+
formatRequestDateTime(value: any): any;
|
|
26
|
+
formatRequestDate(value: any): any;
|
|
27
|
+
formatRequestDuration(value: any): any;
|
|
28
|
+
formatRequestColor(value: any): any;
|
|
29
|
+
getDefaultValue(columnType: any): false | moment.Moment | 0 | moment.Duration | "0" | "" | "#000000";
|
|
30
|
+
isDefaultValue(columnType: any, value: any): any;
|
|
31
|
+
clone(columnType: any, value: any): any;
|
|
32
|
+
getCloneFunction(columnType: any): (date: any) => any;
|
|
33
|
+
cloneDuration(duration: any): moment.Duration;
|
|
34
|
+
cloneDate(date: any): any;
|
|
35
|
+
identity(input: any): any;
|
|
36
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import ItemEntry from "../models/ItemEntry";
|
|
2
|
+
import PromiseService from "./PromiseService";
|
|
3
|
+
export default class BatchStatus {
|
|
4
|
+
private promiseService;
|
|
5
|
+
getItemId: (itemEntry: ItemEntry) => number;
|
|
6
|
+
getPromise: (itemEntry: ItemEntry) => Promise<any>;
|
|
7
|
+
entries: {};
|
|
8
|
+
constructor(promiseService: PromiseService, getItemId: (itemEntry: ItemEntry) => number, getPromise: (itemEntry: ItemEntry) => Promise<any>);
|
|
9
|
+
add(entryStatus: any): void;
|
|
10
|
+
hasEntries(statusArray: any): boolean;
|
|
11
|
+
hasRequests(): boolean;
|
|
12
|
+
forEachEntry(statusArray: any[], callback: any): void;
|
|
13
|
+
getPromises(): Promise<any>;
|
|
14
|
+
getRequestIds(): number[];
|
|
15
|
+
getArray(): any[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import CollectionEntry from "../models/CollectionEntry";
|
|
2
|
+
import ItemEntry from "../models/ItemEntry";
|
|
3
|
+
import ItemEntryService from "./ItemEntryService";
|
|
4
|
+
export default class ChangesCompiler {
|
|
5
|
+
private itemEntryService;
|
|
6
|
+
singleItems: ItemEntry[];
|
|
7
|
+
collections: CollectionEntry[];
|
|
8
|
+
private collectionOptions;
|
|
9
|
+
compilation: {
|
|
10
|
+
create: {};
|
|
11
|
+
delete: {};
|
|
12
|
+
update: {};
|
|
13
|
+
move: {};
|
|
14
|
+
};
|
|
15
|
+
private moveArray;
|
|
16
|
+
private deleteMap;
|
|
17
|
+
constructor(itemEntryService: ItemEntryService, singleItems: ItemEntry[], collections: CollectionEntry[], collectionOptions: any);
|
|
18
|
+
getParent(itemEntry: ItemEntry): {
|
|
19
|
+
itemType: string;
|
|
20
|
+
itemId: string;
|
|
21
|
+
} | {
|
|
22
|
+
itemType: string;
|
|
23
|
+
itemId: number;
|
|
24
|
+
};
|
|
25
|
+
addMoveEntry(itemEntry: any): void;
|
|
26
|
+
addDeleteEntry(itemEntry: any, parentId: any, parentType: any): void;
|
|
27
|
+
addUpdateEntry(itemEntry: any): void;
|
|
28
|
+
addCreateEntry(itemEntry: any): void;
|
|
29
|
+
postProcess(): void;
|
|
30
|
+
private processSingleItems;
|
|
31
|
+
private isEditableCollection;
|
|
32
|
+
private hasEditableItems;
|
|
33
|
+
private processCollections;
|
|
34
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import ChangesCompilerFactory from "../factories/ChangesCompilerFactory";
|
|
2
|
+
import ColumnExpansionFactory from "../factories/ColumnExpansionFactory";
|
|
3
|
+
import CreateRequestFactory from "../factories/CreateRequestFactory";
|
|
4
|
+
import RequestColumnExpansionFactory from "../factories/RequestColumnExpansionFactory";
|
|
5
|
+
import ApiRequestServiceInterface from '../interfaces/ApiRequestServiceInterface';
|
|
6
|
+
import ErrorHandlerInterface from '../interfaces/ErrorHandlerInterface';
|
|
7
|
+
import ApiFormatter from "./ApiFormatter";
|
|
8
|
+
import CollectionEntryService from "./CollectionEntryService";
|
|
9
|
+
import CollectionHandler from "./CollectionHandler";
|
|
10
|
+
import ColumnHandler from "./ColumnHandler";
|
|
11
|
+
import ItemEntryService from "./ItemEntryService";
|
|
12
|
+
import ItemHandler from "./ItemHandler";
|
|
13
|
+
import PromiseService from "./PromiseService";
|
|
14
|
+
export default class ChangesProcessor {
|
|
15
|
+
private apiRequestService;
|
|
16
|
+
private itemHandler;
|
|
17
|
+
private errorHandler;
|
|
18
|
+
private collectionHandler;
|
|
19
|
+
private columnHandler;
|
|
20
|
+
private changesCompilerFactory;
|
|
21
|
+
private createRequestFactory;
|
|
22
|
+
private columnExpansionFactory;
|
|
23
|
+
private requestColumnExpansionFactory;
|
|
24
|
+
private collectionEntryService;
|
|
25
|
+
private itemEntryService;
|
|
26
|
+
private apiFormatter;
|
|
27
|
+
private promiseService;
|
|
28
|
+
constructor(apiRequestService: ApiRequestServiceInterface, itemHandler: ItemHandler, errorHandler: ErrorHandlerInterface, collectionHandler: CollectionHandler, columnHandler: ColumnHandler, changesCompilerFactory: ChangesCompilerFactory, createRequestFactory: CreateRequestFactory, columnExpansionFactory: ColumnExpansionFactory, requestColumnExpansionFactory: RequestColumnExpansionFactory, collectionEntryService: CollectionEntryService, itemEntryService: ItemEntryService, apiFormatter: ApiFormatter, promiseService: PromiseService);
|
|
29
|
+
getItemTypeUpdatePriority(itemType: any): 0 | 1 | 2;
|
|
30
|
+
buildMoveRequest(compilationEntries: any): {};
|
|
31
|
+
getMapValue(itemType: any, itemId: any, map: any): any;
|
|
32
|
+
execute(singleItems: any, collections: any, breakupByParent?: boolean, parameters?: any, collectionOptions?: any, onAfterCreateCallback?: any): Promise<any>;
|
|
33
|
+
private executeCreateRequests;
|
|
34
|
+
private executeCreateRequest;
|
|
35
|
+
private prioritizeUpdateRequests;
|
|
36
|
+
private executeUpdateRequests;
|
|
37
|
+
private executeUpdateRequest;
|
|
38
|
+
private executeDeleteRequests;
|
|
39
|
+
private executeDeleteRequest;
|
|
40
|
+
private executeMoveRequests;
|
|
41
|
+
private processMoveResponse;
|
|
42
|
+
private addCollectionMapEntry;
|
|
43
|
+
private forEachCollection;
|
|
44
|
+
private onItemsCreated;
|
|
45
|
+
private executeRequests;
|
|
46
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import QueryMatcherFactory from "../factories/QueryMatcherFactory";
|
|
2
|
+
import CollectionEntry from "../models/CollectionEntry";
|
|
3
|
+
export default class CollectionCache {
|
|
4
|
+
private queryMatcherFactory;
|
|
5
|
+
entries: {};
|
|
6
|
+
constructor(queryMatcherFactory: QueryMatcherFactory);
|
|
7
|
+
contains(collectionEntry: any): boolean;
|
|
8
|
+
some(callback: any): boolean;
|
|
9
|
+
forEach(callback: any): void;
|
|
10
|
+
toArray(): any[];
|
|
11
|
+
add(collectionEntry: CollectionEntry): CollectionEntry;
|
|
12
|
+
clear(collectionEntry?: CollectionEntry): boolean;
|
|
13
|
+
getByItemType(itemType: any): any;
|
|
14
|
+
getByParent(parentType: any, parentId: any, itemType: any): any;
|
|
15
|
+
getResourceByParent(parentType: any, parentId: any, itemType: any): any;
|
|
16
|
+
getCollectionsByParent(parentType: any, parentId: any): any[];
|
|
17
|
+
/**
|
|
18
|
+
* Only resources
|
|
19
|
+
* @param {String} itemType
|
|
20
|
+
* @param {String|Integer} itemId
|
|
21
|
+
* @returns {Object} Array of collections.
|
|
22
|
+
*/
|
|
23
|
+
getByContainingItem(itemType: any, itemId: any): any[];
|
|
24
|
+
/**
|
|
25
|
+
* Returns an array of collections the item 'belongs' in.
|
|
26
|
+
* @param {String} parentType
|
|
27
|
+
* @param {String} parentId
|
|
28
|
+
* @param {String} itemType
|
|
29
|
+
* @returns {Object}
|
|
30
|
+
*/
|
|
31
|
+
getByFittingItem(parentType: any, parentId: any, itemType: any, fields: any): {
|
|
32
|
+
fitting: any[];
|
|
33
|
+
notfitting: any[];
|
|
34
|
+
maybe: any[];
|
|
35
|
+
};
|
|
36
|
+
getByQuery(itemType: any, query: any): any;
|
|
37
|
+
getByKey(itemType: any, entryKey: any): any[];
|
|
38
|
+
getResourceByKey(itemType: any, resourceKey: any): any[];
|
|
39
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import QueryParserFactory from "../factories/QueryParserFactory";
|
|
2
|
+
import ItemEntry from "../models/ItemEntry";
|
|
3
|
+
import QueryService from './QueryService';
|
|
4
|
+
export default class CollectionEntryService {
|
|
5
|
+
private queryParserFactory;
|
|
6
|
+
private queryService;
|
|
7
|
+
constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
|
|
8
|
+
processOptions(options: any): any;
|
|
9
|
+
createQuery(options: any): {
|
|
10
|
+
object: any;
|
|
11
|
+
string: any;
|
|
12
|
+
};
|
|
13
|
+
getIdArray(itemEntries: ItemEntry[], accumulator: any): any;
|
|
14
|
+
filterArray(itemEntries: ItemEntry[], callback: any): any[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import CollectionCacheFactory from "../factories/CollectionCacheFactory";
|
|
2
|
+
import CollectionEntryFactory from "../factories/CollectionEntryFactory";
|
|
3
|
+
import ColumnSetFactory from "../factories/ColumnSetFactory";
|
|
4
|
+
import QueryParserFactory from "../factories/QueryParserFactory";
|
|
5
|
+
import ErrorHandlerInterface from '../interfaces/ErrorHandlerInterface';
|
|
6
|
+
import CollectionEntry from "../models/CollectionEntry";
|
|
7
|
+
import CollectionResource from "../models/CollectionResource";
|
|
8
|
+
import ItemEntry from "../models/ItemEntry";
|
|
9
|
+
import ItemResource from "../models/ItemResource";
|
|
10
|
+
import CollectionCache from "./CollectionCache";
|
|
11
|
+
import CollectionEntryService from "./CollectionEntryService";
|
|
12
|
+
import ColumnHandler from "./ColumnHandler";
|
|
13
|
+
import ColumnUtil from "./ColumnUtil";
|
|
14
|
+
import ItemCache from "./ItemCache";
|
|
15
|
+
import ItemEntryService from "./ItemEntryService";
|
|
16
|
+
import ItemHandler from "./ItemHandler";
|
|
17
|
+
import ItemRequestService from "./ItemRequestService";
|
|
18
|
+
import KeyService from "./KeyService";
|
|
19
|
+
import PromiseService from "./PromiseService";
|
|
20
|
+
import QueryService from "./QueryService";
|
|
21
|
+
export default class CollectionHandler {
|
|
22
|
+
private errorHandler;
|
|
23
|
+
private itemRequestService;
|
|
24
|
+
private itemHandler;
|
|
25
|
+
private columnHandler;
|
|
26
|
+
private collectionEntryFactory;
|
|
27
|
+
private collectionCacheFactory;
|
|
28
|
+
private queryParserFactory;
|
|
29
|
+
private collectionEntryService;
|
|
30
|
+
private columnSetFactory;
|
|
31
|
+
private itemEntryService;
|
|
32
|
+
private keyService;
|
|
33
|
+
private promiseService;
|
|
34
|
+
private queryService;
|
|
35
|
+
private columnUtil;
|
|
36
|
+
entries: CollectionCache;
|
|
37
|
+
constructor(errorHandler: ErrorHandlerInterface, itemRequestService: ItemRequestService, itemHandler: ItemHandler, columnHandler: ColumnHandler, collectionEntryFactory: CollectionEntryFactory, collectionCacheFactory: CollectionCacheFactory, queryParserFactory: QueryParserFactory, collectionEntryService: CollectionEntryService, columnSetFactory: ColumnSetFactory, itemEntryService: ItemEntryService, keyService: KeyService, promiseService: PromiseService, queryService: QueryService, columnUtil: ColumnUtil);
|
|
38
|
+
getPromises(statusResource: any): any[];
|
|
39
|
+
getRequestIds(statusResource: any): any[];
|
|
40
|
+
removeFromAndAddToCollections(collectionMap: any, updateInitial?: any): void;
|
|
41
|
+
removeFromCollections(collectionMap: any, updateInitial?: any, resultResource?: CollectionResource | null): any;
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated
|
|
44
|
+
*/
|
|
45
|
+
addItemsToCollections(itemEntries: ItemEntry[]): any;
|
|
46
|
+
addToCollections(collectionMap: any, updateInitial: boolean, resultResource?: ItemResource | null): any;
|
|
47
|
+
batchExpand(parentType: string, itemType: string, collections: CollectionResource[], newColumns: any): Promise<any>;
|
|
48
|
+
batchExtend(parentType: string, itemType: string, options: any, queryCallback: any, collections: CollectionResource[], returnAllItems?: boolean): {};
|
|
49
|
+
batchFetch(parentType: string, parentIdArray: number[], itemType: string, options: any, deferredCollectionCache: CollectionCache): Promise<any>;
|
|
50
|
+
clone(collectionEntry: CollectionEntry, options: any, conversionMap?: {}): CollectionEntry;
|
|
51
|
+
create(itemType: string, options: any, columns: any, items: ItemEntry[]): CollectionEntry;
|
|
52
|
+
createCollectionMap(itemEntries: ItemEntry[]): {};
|
|
53
|
+
createStatusResource(parentType: string, parentIdArray: number[], itemType: string, options: any, deferredCollectionCache: CollectionCache): {};
|
|
54
|
+
expandCollectionMap(itemEntry: ItemEntry, accumulator: any, collectionCache?: CollectionCache): void;
|
|
55
|
+
fetch(itemType: string, options: any, itemCache: ItemCache, deferredCollectionCache: CollectionCache): any;
|
|
56
|
+
getDeferredEntryStatus(collectionEntry: CollectionEntry, options: any): {
|
|
57
|
+
entry: CollectionEntry;
|
|
58
|
+
status: string;
|
|
59
|
+
};
|
|
60
|
+
getEntryStatus(itemType: string, options: any, deferredEntries: CollectionCache): {
|
|
61
|
+
entry: any;
|
|
62
|
+
status: string;
|
|
63
|
+
};
|
|
64
|
+
getNewEntryStatus(itemType: string, query: any, options: any, deferredEntries: CollectionCache): {
|
|
65
|
+
entry: any;
|
|
66
|
+
status: string;
|
|
67
|
+
};
|
|
68
|
+
handleBatchResponse(statusResource: any, itemEntryResource: any): {};
|
|
69
|
+
/**
|
|
70
|
+
* @deprecated
|
|
71
|
+
*/
|
|
72
|
+
removeItemsFromAndAddItemsToCollections(itemEntries: ItemEntry[]): void;
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated
|
|
75
|
+
*/
|
|
76
|
+
removeItemsFromCollections(itemEntries: ItemEntry[]): any;
|
|
77
|
+
resolveLocal(collectionEntry: CollectionEntry, itemCache: any): Promise<any>;
|
|
78
|
+
resolveRemote(collectionEntry: any, itemCache: any): Promise<any>;
|
|
79
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import ColumnUtil from './ColumnUtil';
|
|
2
|
+
export default class ColumnCache {
|
|
3
|
+
private columnUtil;
|
|
4
|
+
cache: {};
|
|
5
|
+
allColumns: {};
|
|
6
|
+
constructor(columnUtil: ColumnUtil);
|
|
7
|
+
setColumn(itemType: any, responseColumn: any): any;
|
|
8
|
+
setColumns(itemType: any, requestColumns: any, responseColumns: any): {};
|
|
9
|
+
retrieve(itemType: any, requestColumns: any): {
|
|
10
|
+
missing: any[] | true;
|
|
11
|
+
cached: object;
|
|
12
|
+
};
|
|
13
|
+
containsAll(itemType: any): boolean;
|
|
14
|
+
getColumns(itemType: any): {};
|
|
15
|
+
private retrieveColumns;
|
|
16
|
+
private retrieveColumn;
|
|
17
|
+
private getColumn;
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import ColumnSetFactory from "../factories/ColumnSetFactory";
|
|
2
|
+
import ColumnHandler from "./ColumnHandler";
|
|
3
|
+
import ColumnUtil from "./ColumnUtil";
|
|
4
|
+
export default class ColumnExpansion {
|
|
5
|
+
private columnHandler;
|
|
6
|
+
private columnSetFactory;
|
|
7
|
+
private columnUtil;
|
|
8
|
+
itemType: string;
|
|
9
|
+
requestColumns: any | boolean;
|
|
10
|
+
responseColumns: any;
|
|
11
|
+
expansionMap: any;
|
|
12
|
+
requestColumnsTrue: boolean;
|
|
13
|
+
constructor(columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnUtil: ColumnUtil, itemType: string, requestColumns: any | boolean, responseColumns: any);
|
|
14
|
+
run(columnInfo: any, returnExpansionResult: boolean): any;
|
|
15
|
+
private expandColumnInfo;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import ApiRequestServiceInterface from '../interfaces/ApiRequestServiceInterface';
|
|
2
|
+
import ErrorHandlerInterface from '../interfaces/ErrorHandlerInterface';
|
|
3
|
+
import ColumnCache from './ColumnCache';
|
|
4
|
+
import ColumnUtil from './ColumnUtil';
|
|
5
|
+
import PromiseService from "./PromiseService";
|
|
6
|
+
export default class ColumnHandler {
|
|
7
|
+
private apiRequestService;
|
|
8
|
+
private errorHandler;
|
|
9
|
+
private promiseService;
|
|
10
|
+
private cache;
|
|
11
|
+
private columnUtil;
|
|
12
|
+
constructor(apiRequestService: ApiRequestServiceInterface, errorHandler: ErrorHandlerInterface, promiseService: PromiseService, cache: ColumnCache, columnUtil: ColumnUtil);
|
|
13
|
+
setColumn(itemType: any, responseColumn: any): any;
|
|
14
|
+
setColumns(itemType: any, requestColumns: any, responseColumns: any): {};
|
|
15
|
+
fetchItemTypeTranslations(itemTypes: any): Promise<any>;
|
|
16
|
+
request(itemType: any, columns: any, params?: {}): Promise<any>;
|
|
17
|
+
fetch(itemType: any, requestColumns: any, params?: {}): Promise<any>;
|
|
18
|
+
fetchAll(itemType: any): Promise<any>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import ColumnHandler from './ColumnHandler';
|
|
2
|
+
import ColumnUtil from './ColumnUtil';
|
|
3
|
+
export default class ColumnSet {
|
|
4
|
+
private columnHandler;
|
|
5
|
+
private columnUtil;
|
|
6
|
+
itemType: any;
|
|
7
|
+
requestColumns: any;
|
|
8
|
+
responseColumns: any;
|
|
9
|
+
enableCaching: boolean;
|
|
10
|
+
includeIdColumn: boolean;
|
|
11
|
+
id: number;
|
|
12
|
+
true: boolean;
|
|
13
|
+
link: any;
|
|
14
|
+
main: any[];
|
|
15
|
+
derived: any[];
|
|
16
|
+
root: any[];
|
|
17
|
+
leaf: any[];
|
|
18
|
+
formatted: {
|
|
19
|
+
main: any[];
|
|
20
|
+
derived: any[];
|
|
21
|
+
};
|
|
22
|
+
filtered: any[];
|
|
23
|
+
custom: any[];
|
|
24
|
+
searchable: any[];
|
|
25
|
+
item: any[];
|
|
26
|
+
notItem: any[];
|
|
27
|
+
request: any[];
|
|
28
|
+
response: {};
|
|
29
|
+
constructor(columnHandler: ColumnHandler, columnUtil: ColumnUtil, itemType: any, requestColumns: any, responseColumns: any, enableCaching?: boolean, includeIdColumn?: boolean);
|
|
30
|
+
processResponseColumns(): void;
|
|
31
|
+
processRequestColumns(): void;
|
|
32
|
+
getRequestColumnInfo(requestColumn: any, columnType: any, parent: any): {
|
|
33
|
+
id: any;
|
|
34
|
+
path: any;
|
|
35
|
+
apiColumn: any;
|
|
36
|
+
level: any;
|
|
37
|
+
isLeaf: boolean;
|
|
38
|
+
itemType: string;
|
|
39
|
+
children: any[];
|
|
40
|
+
parent: any;
|
|
41
|
+
tailPath: any;
|
|
42
|
+
};
|
|
43
|
+
getColumnInfo(responseColumn: any, children: any, parent: any): {
|
|
44
|
+
id: any;
|
|
45
|
+
path: any;
|
|
46
|
+
apiColumn: any;
|
|
47
|
+
level: any;
|
|
48
|
+
isLeaf: boolean;
|
|
49
|
+
itemType: string;
|
|
50
|
+
children: any[];
|
|
51
|
+
parent: any;
|
|
52
|
+
tailPath: any;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export default class ColumnUtil {
|
|
2
|
+
constructor();
|
|
3
|
+
getColumnPath(columns: any, renderAs: any): string;
|
|
4
|
+
getDateFormatOptions(columnType: any): {
|
|
5
|
+
'J-M-Y': string;
|
|
6
|
+
'J-M': string;
|
|
7
|
+
'j+F+Y': string;
|
|
8
|
+
'D+j+F+Y': string;
|
|
9
|
+
'F': string;
|
|
10
|
+
'f': string;
|
|
11
|
+
'D': string;
|
|
12
|
+
'd': string;
|
|
13
|
+
};
|
|
14
|
+
isFloatColumn(column: any): boolean;
|
|
15
|
+
isIntColumn(column: any): boolean;
|
|
16
|
+
isNumberColumn(column: any): boolean;
|
|
17
|
+
isCustomColumn(column: any): boolean;
|
|
18
|
+
isItemColumn(column: any, includeId?: boolean): boolean;
|
|
19
|
+
isDateColumn(column: any): boolean;
|
|
20
|
+
isRenderedColumn(column: any): boolean;
|
|
21
|
+
isFilteredColumn(column: any): boolean;
|
|
22
|
+
isFormattedColumn(column: any): boolean;
|
|
23
|
+
isSelectableColumn(column: any): boolean;
|
|
24
|
+
hasLocationProperty(column: any, location: any): boolean;
|
|
25
|
+
isEditableColumn(column: any): boolean;
|
|
26
|
+
isSearchableColumn(column: any): boolean;
|
|
27
|
+
getDefaultWeight(column: any): 1 | 0.5 | 1.5 | 2;
|
|
28
|
+
getComparators(column: any): string[];
|
|
29
|
+
isColumnSubset(first: any, second: any, secondTrue: any): any;
|
|
30
|
+
containsColumn(requestColumn: any, destination: any): boolean;
|
|
31
|
+
responseColumnsAvailable(itemType: any, requestColumns: any, responseColumnMap: any): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Difference: columns that are in second, but not in first
|
|
34
|
+
* @param {Array} first
|
|
35
|
+
* @param {Array} second
|
|
36
|
+
* @returns {Object} An object containing 'merged' and 'difference' properties
|
|
37
|
+
*/
|
|
38
|
+
mergeRequestColumns(first: any, second: any): {
|
|
39
|
+
merged: boolean;
|
|
40
|
+
difference: boolean;
|
|
41
|
+
} | {
|
|
42
|
+
merged: any;
|
|
43
|
+
difference: any[];
|
|
44
|
+
};
|
|
45
|
+
mergeRequestColumn(requestColumn: any, destination: any): any;
|
|
46
|
+
parseRequestColumn(requestColumn: any): {
|
|
47
|
+
id: any;
|
|
48
|
+
children: any;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Merges two sets of response columns.
|
|
52
|
+
* @param {object} first
|
|
53
|
+
* @param {object} second
|
|
54
|
+
* @returns {object} An object containing a 'merged' and a 'difference' property.
|
|
55
|
+
*/
|
|
56
|
+
mergeResponseColumns(first: any, second: any): {
|
|
57
|
+
merged: {};
|
|
58
|
+
difference: {};
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* @param {array} first
|
|
62
|
+
* @param {array} second
|
|
63
|
+
* @returns {object} difference: the columns that are in second, but not in first.
|
|
64
|
+
*/
|
|
65
|
+
mergeResponseColumnMap(first: any, second: any): {
|
|
66
|
+
merged: {};
|
|
67
|
+
difference: {};
|
|
68
|
+
};
|
|
69
|
+
isLocalColumnId(columnId: any): boolean;
|
|
70
|
+
processConfigColumns(columns: any): any[];
|
|
71
|
+
processLocalConfigColumns(configColumns: any, localColumns: any, remoteColumnCallback: any, localColumnCallback: any): void;
|
|
72
|
+
consolidateColumns(configColumns: any, localColumns: any, addRequestColumns: any): {
|
|
73
|
+
request: any;
|
|
74
|
+
local: any[];
|
|
75
|
+
};
|
|
76
|
+
parseConfigColumn(column: any): any;
|
|
77
|
+
processConfigColumn(columnArray: any, destination: any): void;
|
|
78
|
+
findColumnObject(columnId: any, array: any): number;
|
|
79
|
+
findColumn(columnId: any, array: any): number;
|
|
80
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import RequestColumnExpansionFactory from "../factories/RequestColumnExpansionFactory";
|
|
2
|
+
import CollectionHandler from "./CollectionHandler";
|
|
3
|
+
import ItemEntryService from "./ItemEntryService";
|
|
4
|
+
import KeyService from "./KeyService";
|
|
5
|
+
export default class CreateRequest {
|
|
6
|
+
private collectionHandler;
|
|
7
|
+
private requestColumnExpansionFactory;
|
|
8
|
+
private itemEntryService;
|
|
9
|
+
private keyService;
|
|
10
|
+
private compilation;
|
|
11
|
+
private parameterMap;
|
|
12
|
+
private breakupByParent;
|
|
13
|
+
requests: any[];
|
|
14
|
+
constructor(collectionHandler: CollectionHandler, requestColumnExpansionFactory: RequestColumnExpansionFactory, itemEntryService: ItemEntryService, keyService: KeyService, compilation: any, parameterMap: any, breakupByParent?: boolean);
|
|
15
|
+
finalizeRequest(requestResource: any): any;
|
|
16
|
+
setRequestParent(parentType: any, requestResource: any): boolean;
|
|
17
|
+
run(): any[];
|
|
18
|
+
initializeRequest(): {
|
|
19
|
+
request: {
|
|
20
|
+
requestType: string;
|
|
21
|
+
items: {};
|
|
22
|
+
};
|
|
23
|
+
columns: import("./RequestColumnExpansion").default;
|
|
24
|
+
items: {};
|
|
25
|
+
collections: {};
|
|
26
|
+
};
|
|
27
|
+
private extendRequest;
|
|
28
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import ColumnSetFactory from "../factories/ColumnSetFactory";
|
|
2
|
+
import ModuleChangesCompilerFactory from "../factories/ModuleChangesCompilerFactory";
|
|
3
|
+
import ResourceCacheFactory from "../factories/ResourceCacheFactory";
|
|
4
|
+
import ApiRequestServiceInterface from '../interfaces/ApiRequestServiceInterface';
|
|
5
|
+
import AuthInterface from '../interfaces/AuthInterface';
|
|
6
|
+
import ErrorHandlerInterface from '../interfaces/ErrorHandlerInterface';
|
|
7
|
+
import ResourceCacheInterface from '../interfaces/ResourceCacheInterface';
|
|
8
|
+
import CollectionEntryService from "./CollectionEntryService";
|
|
9
|
+
import CollectionHandler from "./CollectionHandler";
|
|
10
|
+
import CollectionResourceService from './CollectionResourceService';
|
|
11
|
+
import ItemEntryService from './ItemEntryService';
|
|
12
|
+
import ItemHandler from './ItemHandler';
|
|
13
|
+
import ItemRequestService from "./ItemRequestService";
|
|
14
|
+
import KeyService from "./KeyService";
|
|
15
|
+
import QueryService from "./QueryService";
|
|
16
|
+
import ResourceCache from "./ResourceCache";
|
|
17
|
+
export default class ItemAdministrator {
|
|
18
|
+
private apiRequestService;
|
|
19
|
+
private resourceCacheInterface;
|
|
20
|
+
private authInterface;
|
|
21
|
+
private errorHandler;
|
|
22
|
+
private itemHandler;
|
|
23
|
+
private collectionHandler;
|
|
24
|
+
private columnSetFactory;
|
|
25
|
+
private itemRequestService;
|
|
26
|
+
private resourceCacheFactory;
|
|
27
|
+
private moduleChangesCompilerFactory;
|
|
28
|
+
private collectionEntryService;
|
|
29
|
+
private collectionResourceService;
|
|
30
|
+
private itemEntryService;
|
|
31
|
+
private keyService;
|
|
32
|
+
private queryService;
|
|
33
|
+
constructor(apiRequestService: ApiRequestServiceInterface, resourceCacheInterface: ResourceCacheInterface, authInterface: AuthInterface, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, collectionHandler: CollectionHandler, columnSetFactory: ColumnSetFactory, itemRequestService: ItemRequestService, resourceCacheFactory: ResourceCacheFactory, moduleChangesCompilerFactory: ModuleChangesCompilerFactory, collectionEntryService: CollectionEntryService, collectionResourceService: CollectionResourceService, itemEntryService: ItemEntryService, keyService: KeyService, queryService: QueryService);
|
|
34
|
+
getItemDefinition(itemType: string, itemId: any, options: any): {
|
|
35
|
+
itemType: string;
|
|
36
|
+
options: any;
|
|
37
|
+
itemId: any;
|
|
38
|
+
};
|
|
39
|
+
createCollectionMap(itemEntries: any[], addToTab: boolean): {};
|
|
40
|
+
getItemById(itemType: string, itemId: number, options: any): any;
|
|
41
|
+
getItemsById(itemType: string, itemIds: number[], options: any): Promise<any>;
|
|
42
|
+
getItemsByQuery(itemType: string, query: any, options: any): Promise<any>;
|
|
43
|
+
getDuplicateById(itemType: string, duplicateId: number, options: any): any;
|
|
44
|
+
getNewResource(itemType: string, options: any, returnLinks: boolean, isRoot: boolean): any;
|
|
45
|
+
getCollectionDef(itemType: string, options: any): {
|
|
46
|
+
itemType: string;
|
|
47
|
+
options: {
|
|
48
|
+
entry: any;
|
|
49
|
+
resource: any;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
getLinkCollectionsDef(linkType: string, linkIdArray: number[], itemType: string, linkField: string, options: any): {
|
|
53
|
+
itemType: string;
|
|
54
|
+
linkType: string;
|
|
55
|
+
linkIdArray: number[];
|
|
56
|
+
linkField: string;
|
|
57
|
+
options: {
|
|
58
|
+
entry: any;
|
|
59
|
+
resource: any;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/** @deprecated */
|
|
63
|
+
getCollection(itemType: string, query: any, options: any): any;
|
|
64
|
+
_getCollection(itemType: string, options: any): any;
|
|
65
|
+
getCollectionFromDef(definition: any): any;
|
|
66
|
+
getLinkCollection(linkType: string, linkId: number, itemType: string, options: any): any;
|
|
67
|
+
getLinkCollections(linkType: string, linkIdArray: number[], itemType: string, options: any): Promise<any>;
|
|
68
|
+
getLinkCollectionsFromDef(definition: any): Promise<any>;
|
|
69
|
+
getAllLinkCollections(linkType: string, itemType: string, options: any): Promise<any>;
|
|
70
|
+
getItemByDef(definition: any, isRoot: boolean): any;
|
|
71
|
+
cloneItem(newItemId: number, itemResource: any, options: any): import("../models/ItemResource").default;
|
|
72
|
+
cloneCollection(collectionResource: any, options: any, conversionMap: any): import("../models/CollectionResource").default;
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated
|
|
75
|
+
*/
|
|
76
|
+
saveCurrentTab(closeTab: any, parameters: any, breakupByParent: any, onAfterCreateCallback: any, keepTabHeading: any): any;
|
|
77
|
+
saveCurrentResourceCache(closeTab: boolean, parameters: any, breakupByParent: boolean, onAfterCreateCallback: any, keepTabHeading?: boolean): any;
|
|
78
|
+
getCurrentCollections(): import("./CollectionCache").default;
|
|
79
|
+
getCurrentItems(): import("./ItemCache").default;
|
|
80
|
+
getCurrentChanges(): void;
|
|
81
|
+
addSingleItem(itemEntry: any, options: any, isRoot?: boolean): import("../models/ItemResource").default;
|
|
82
|
+
addSingleItems(itemEntries: any[], options: any): any[];
|
|
83
|
+
addCollection(collectionEntry: any, resourceOptions: any, processOptions?: any): import("../models/CollectionResource").default;
|
|
84
|
+
addCollections(collectionEntries: any[], resourceOptions: any): {};
|
|
85
|
+
processLinkedItems(linkedEntries: any[], options: any, addToCollections: boolean): {};
|
|
86
|
+
/**
|
|
87
|
+
* @deprecated
|
|
88
|
+
*/
|
|
89
|
+
getTabEntry(): ResourceCache;
|
|
90
|
+
getResourceCache(): ResourceCache;
|
|
91
|
+
/**
|
|
92
|
+
* @deprecated
|
|
93
|
+
*/
|
|
94
|
+
resetTabEntry(): void;
|
|
95
|
+
resetResourceCache(): void;
|
|
96
|
+
addToCollections(itemEntries: any[], resultCollectionResource: any): any;
|
|
97
|
+
removeFromCollections(itemEntries: any[], resultCollectionResource: any): any;
|
|
98
|
+
updateItemIdMap(collectionMap: any, conversionMap: any): void;
|
|
99
|
+
createCollectionResource(collectionEntry: any, resourceOptions: any, processOptions?: any): import("../models/CollectionResource").default;
|
|
100
|
+
createItemResource(itemEntry: any, options: any, isRoot: boolean): import("../models/ItemResource").default;
|
|
101
|
+
createItemResources(itemEntries: any[], options: any): any[];
|
|
102
|
+
/**
|
|
103
|
+
* @deprecated
|
|
104
|
+
*/
|
|
105
|
+
onBeforeSave(key: string, callback: any): () => void;
|
|
106
|
+
/**
|
|
107
|
+
* @deprecated
|
|
108
|
+
*/
|
|
109
|
+
onSaveSuccess(key: string, callback: any): () => void;
|
|
110
|
+
/**
|
|
111
|
+
* @deprecated
|
|
112
|
+
*/
|
|
113
|
+
onSaveWithoutClosing(key: string, callback: any): () => void;
|
|
114
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import QueryMatcherFactory from "../factories/QueryMatcherFactory";
|
|
2
|
+
import ItemEntry from "../models/ItemEntry";
|
|
3
|
+
import ItemEntryService from "./ItemEntryService";
|
|
4
|
+
export default class ItemCache {
|
|
5
|
+
private queryMatcherFactory;
|
|
6
|
+
private itemEntryService;
|
|
7
|
+
entries: {};
|
|
8
|
+
constructor(queryMatcherFactory: QueryMatcherFactory, itemEntryService: ItemEntryService);
|
|
9
|
+
some(callback: any): boolean;
|
|
10
|
+
getByItemType(itemType: any): any[];
|
|
11
|
+
getByQuery(itemType: any, query: any): any[];
|
|
12
|
+
getLocalByQuery(itemType: any, query: any): any[];
|
|
13
|
+
forEach(callback: any): void;
|
|
14
|
+
toArray(): any[];
|
|
15
|
+
add(itemEntry: ItemEntry): ItemEntry;
|
|
16
|
+
get(itemType: any, itemId: any): any;
|
|
17
|
+
getByParent(parentType: any, parentId: any, itemType: any): any[];
|
|
18
|
+
contains(itemType: any, itemId: any): boolean;
|
|
19
|
+
updateItemId(itemEntry: ItemEntry, oldItemId: any): ItemEntry;
|
|
20
|
+
clear(itemEntry: ItemEntry): boolean;
|
|
21
|
+
matchQuery(itemEntry: ItemEntry, query: any): boolean;
|
|
22
|
+
}
|