@rentman/rm-core 2.0.8 → 2.0.10
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 +121 -86
- package/dist/rm-core.min.js +1 -1
- package/dist/src/classes/cache/AbstractCache.d.ts +5 -0
- package/dist/src/classes/cache/CollectionHandlerBase.d.ts +1 -1
- package/dist/src/classes/cache/ItemHandlerBase.d.ts +5 -3
- package/dist/src/classes/cache/server/ServerItemHandler.d.ts +2 -2
- package/dist/src/classes/cache/transaction/TransactionCache.d.ts +0 -5
- package/dist/src/classes/cache/transaction/TransactionItemHandler.d.ts +6 -7
- package/dist/src/factories/TemplateFactory.d.ts +2 -2
- package/dist/src/models/Template.d.ts +2 -2
- package/dist/src/types/ItemTypesCollection.d.ts +6 -0
- package/package.json +1 -1
|
@@ -70,6 +70,11 @@ export declare abstract class AbstractCache {
|
|
|
70
70
|
protected constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface);
|
|
71
71
|
createChild(id?: string): TransactionCache;
|
|
72
72
|
onChildDestroy(cache: TransactionCache): void;
|
|
73
|
+
/**
|
|
74
|
+
* @description
|
|
75
|
+
* Returns this transaction and all parents
|
|
76
|
+
*/
|
|
77
|
+
getTransactionChain(): AbstractCache[];
|
|
73
78
|
/**
|
|
74
79
|
* @description
|
|
75
80
|
* Returns the {@link TransactionCollectionHandler.entries CollectionCache} of the transaction
|
|
@@ -60,5 +60,5 @@ export declare abstract class CollectionHandlerBase {
|
|
|
60
60
|
* Expands the option's {@link CollectionEntryOptions.columns columns} with the columns required for the {@link CollectionMatcher CollectionMatcher} to function.
|
|
61
61
|
* Data fetched for a parent transaction might also fit in a child transaction, so those {@link CollectionEntryOptions.queryColumns queryColumns} should also be taken into account
|
|
62
62
|
*/
|
|
63
|
-
protected expandColumnsWithQueryColumns(itemType: ItemType, options: CollectionEntryOptions, query
|
|
63
|
+
protected expandColumnsWithQueryColumns(itemType: ItemType, options: CollectionEntryOptions, query: ApiQuery): void;
|
|
64
64
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ItemCacheFactory, ItemEntryFactory } from '../../factories';
|
|
1
|
+
import { ItemCacheFactory, ItemEntryFactory, RequestColumnExpansionFactory } from '../../factories';
|
|
2
2
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../../interfaces';
|
|
3
3
|
import { ItemEntry, ItemEntryOptions } from '../../models';
|
|
4
|
-
import { ApiQuery, FieldMap, ItemId, ItemType, PromiseInterface } from '../../types';
|
|
4
|
+
import { ApiQuery, ApiRequestColumns, FieldMap, ItemId, ItemType, PromiseInterface } from '../../types';
|
|
5
5
|
import { ApiFormatter } from '../ApiFormatter';
|
|
6
6
|
import { ChangesDeltaItemCreateDelta } from '../ChangesDelta';
|
|
7
7
|
import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta } from '../ChangesDeltaBase';
|
|
@@ -17,10 +17,11 @@ export declare abstract class ItemHandlerBase {
|
|
|
17
17
|
protected itemEntryFactory: ItemEntryFactory;
|
|
18
18
|
protected promiseService: PromiseLibraryInterface;
|
|
19
19
|
protected errorHandler: ErrorHandlerInterface;
|
|
20
|
+
protected requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
20
21
|
protected transaction: AbstractCache;
|
|
21
22
|
readonly entries: ItemCache;
|
|
22
23
|
abstract itemChanges: ServerItemEntryChanges | TransactionItemEntryChanges;
|
|
23
|
-
protected constructor(columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, promiseService: PromiseLibraryInterface, errorHandler: ErrorHandlerInterface, itemCacheFactory: ItemCacheFactory, transaction: AbstractCache);
|
|
24
|
+
protected constructor(columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, promiseService: PromiseLibraryInterface, errorHandler: ErrorHandlerInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, itemCacheFactory: ItemCacheFactory, transaction: AbstractCache);
|
|
24
25
|
/**
|
|
25
26
|
* @description
|
|
26
27
|
* Copies the passed ItemEntryChanges into a format the implementing ItemHandler can put in his ItemChanges
|
|
@@ -90,4 +91,5 @@ export declare abstract class ItemHandlerBase {
|
|
|
90
91
|
* Gets the value of the given column, will look into the current delta before attempting to read itemChanges
|
|
91
92
|
*/
|
|
92
93
|
protected getItemIdByColumn<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, column: ColumnInfo<ItemTypeType>, changesDelta?: ChangesDeltaBase): ItemId;
|
|
94
|
+
protected expandColumnsWithCollectionColumns(itemType: ItemType, requestColumns?: ApiRequestColumns): ApiRequestColumns;
|
|
93
95
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, QueryParserFactory } from '../../../factories';
|
|
1
|
+
import { ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, QueryParserFactory, RequestColumnExpansionFactory } from '../../../factories';
|
|
2
2
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../../../interfaces';
|
|
3
3
|
import { ItemEntry, ItemEntryOptions } from '../../../models';
|
|
4
4
|
import { ApiQuery, ApiRequestColumns, FieldMap, ItemId, ItemType, PromiseInterface } from '../../../types';
|
|
@@ -17,7 +17,7 @@ export declare class ServerItemHandler extends ItemHandlerBase {
|
|
|
17
17
|
itemChanges: {
|
|
18
18
|
[itemEntryId: number]: ServerItemEntryChanges;
|
|
19
19
|
};
|
|
20
|
-
constructor(requestBufferManager: RequestBufferManager, queryParserFactory: QueryParserFactory, queryService: QueryService, columnSubsetCacheFactory: ColumnSubsetCacheFactory, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, itemCacheFactory: ItemCacheFactory, transaction: ServerCache);
|
|
20
|
+
constructor(requestBufferManager: RequestBufferManager, queryParserFactory: QueryParserFactory, queryService: QueryService, columnSubsetCacheFactory: ColumnSubsetCacheFactory, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, itemCacheFactory: ItemCacheFactory, requestColumnExpansionFactory: RequestColumnExpansionFactory, transaction: ServerCache);
|
|
21
21
|
createItemEntry(createTuple: ChangesDeltaItemCreateDelta): ItemEntry;
|
|
22
22
|
/**
|
|
23
23
|
* @description
|
|
@@ -401,11 +401,6 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
401
401
|
remoteItems: true;
|
|
402
402
|
}): CollectionViewResource<ItemTypeType, RemoteViewResource<ItemTypeType>>;
|
|
403
403
|
createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType>): CollectionViewResource<ItemTypeType, LocalViewResource<ItemTypeType>>;
|
|
404
|
-
/**
|
|
405
|
-
* @description
|
|
406
|
-
* Returns this transaction and all parents
|
|
407
|
-
*/
|
|
408
|
-
getTransactionChain(): AbstractCache[];
|
|
409
404
|
getChangesFromItemChanges<ItemTypeType extends ItemType = any>(changesObject: TransactionItemEntryChanges<ItemTypeType>): FieldMap<ItemTypeType>;
|
|
410
405
|
private createCollectionResources;
|
|
411
406
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ChangesDeltaFactory, ColumnExpansionFactory, ColumnSetFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory } from '../../../factories';
|
|
1
|
+
import { ChangesDeltaFactory, ColumnExpansionFactory, ColumnSetFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, RequestColumnExpansionFactory } from '../../../factories';
|
|
2
2
|
import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../../../interfaces';
|
|
3
3
|
import { ItemEntry, ItemEntryOptions, ItemResource, Template } from '../../../models';
|
|
4
|
-
import { ApiQuery, ApiRequestColumns, EntryParentNull, FieldMap, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
|
|
4
|
+
import { ApiQuery, ApiRequestColumns, EntryParentNull, FieldMap, FilterItemEntryCallback, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
|
|
5
5
|
import { ChangesDelta, ChangesDeltaItemCreateDelta } from '../../ChangesDelta';
|
|
6
6
|
import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta, ChangesDeltaResult } from '../../ChangesDeltaBase';
|
|
7
7
|
import { ApiFormatter, ColumnHandler, ColumnInfo, ColumnSubsetCache, ColumnUtil, ItemEntryService, KeyService } from '../../index';
|
|
@@ -35,7 +35,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
35
35
|
itemResources: {
|
|
36
36
|
[itemEntryId: number]: ItemResource[];
|
|
37
37
|
};
|
|
38
|
-
constructor(changesDeltaFactory: ChangesDeltaFactory, exceptionHandler: ExceptionHandlerInterface, templateCache: TemplateCache, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, errorHandler: ErrorHandlerInterface, itemEntryService: ItemEntryService, keyService: KeyService, promiseService: PromiseLibraryInterface, columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, itemCacheFactory: ItemCacheFactory, transaction: TransactionCache);
|
|
38
|
+
constructor(changesDeltaFactory: ChangesDeltaFactory, exceptionHandler: ExceptionHandlerInterface, templateCache: TemplateCache, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, errorHandler: ErrorHandlerInterface, itemEntryService: ItemEntryService, keyService: KeyService, promiseService: PromiseLibraryInterface, columnUtil: ColumnUtil, apiFormatter: ApiFormatter, itemEntryFactory: ItemEntryFactory, itemCacheFactory: ItemCacheFactory, requestColumnExpansionFactory: RequestColumnExpansionFactory, transaction: TransactionCache);
|
|
39
39
|
copyTransactionItemEntryChanges(itemEntryChanges: TransactionItemEntryChanges, entry: ItemEntry): TransactionItemEntryChanges;
|
|
40
40
|
createItemEntry(createTuple: ChangesDeltaItemCreateDelta): ItemEntry;
|
|
41
41
|
/**
|
|
@@ -83,8 +83,8 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
83
83
|
* The previous changes {@link FieldMap FieldMap}
|
|
84
84
|
*/
|
|
85
85
|
processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean, isCalledAfterSocketUpdate?: boolean): FieldMap<ItemTypeType> | null;
|
|
86
|
-
cloneItemEntries<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?:
|
|
87
|
-
cloneItemEntry<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, sourceEntry: ItemEntry<ItemTypeType>, newFields?: FieldMap<ItemTypeType>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?:
|
|
86
|
+
cloneItemEntries<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): PromiseInterface<ChangesDeltaResult>;
|
|
87
|
+
cloneItemEntry<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, sourceEntry: ItemEntry<ItemTypeType>, newFields?: FieldMap<ItemTypeType>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): ItemId;
|
|
88
88
|
fetchItemEntriesByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
89
89
|
fetchItemEntry<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
90
90
|
/**
|
|
@@ -95,8 +95,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
95
95
|
fetchItemEntries<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
96
96
|
fetchTitle(itemType: ItemType, itemId: ItemId): PromiseInterface<string>;
|
|
97
97
|
resolveLocalItemEntry<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemEntry: ItemEntry<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
98
|
-
createLocalEntries(changesDelta: ChangesDelta, parentType: ItemType, localParentId: ItemId, template: Template<ItemType>, itemIdConversion: ItemIdConversionMap,
|
|
99
|
-
modifyFieldsCallback?: <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>, itemIdConversionMap: ItemIdConversionMap) => void): void;
|
|
98
|
+
createLocalEntries(changesDelta: ChangesDelta, parentType: ItemType, localParentId: ItemId, template: Template<ItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
100
99
|
expandLocalItemEntries<ItemTypeType extends ItemType>(changesDelta: ChangesDeltaBase, itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
101
100
|
updateItemValues<ItemTypeType extends ItemType>(changes: FieldMap<ItemTypeType>, parent: EntryParentNull, itemColumns: Array<ColumnInfo<ItemTypeType>>, conversionMap: ItemIdConversionMap): FieldMap<ItemTypeType>;
|
|
102
101
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ColumnUtil } from '../classes';
|
|
2
2
|
import { ColumnSetFactory } from '../factories';
|
|
3
3
|
import { Template } from '../models';
|
|
4
|
-
import { ApiResponse, ItemType, ResponseColumnItemTypeMap } from '../types';
|
|
4
|
+
import { ApiRequestColumnMap, ApiResponse, ItemType, ResponseColumnItemTypeMap } from '../types';
|
|
5
5
|
export declare class TemplateFactory {
|
|
6
6
|
columnSetFactory: ColumnSetFactory;
|
|
7
7
|
columnUtil: ColumnUtil;
|
|
8
8
|
constructor(columnSetFactory: ColumnSetFactory, columnUtil: ColumnUtil);
|
|
9
|
-
construct<ItemTypeType extends ItemType>(itemType: ItemTypeType, response: ApiResponse,
|
|
9
|
+
construct<ItemTypeType extends ItemType>(itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap): Template<ItemTypeType>;
|
|
10
10
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ColumnSet } from '../classes';
|
|
2
2
|
import { TemplateFactory } from '../factories';
|
|
3
|
-
import { ApiResponse, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
|
|
3
|
+
import { ApiRequestColumnMap, ApiResponse, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
|
|
4
4
|
export declare class Template<ItemTypeType extends ItemType = any> {
|
|
5
5
|
itemType: ItemTypeType;
|
|
6
6
|
response: ApiResponse;
|
|
7
7
|
fields: FieldMap<ItemTypeType>;
|
|
8
8
|
responseColumns: ResponseColumnItemTypeMap;
|
|
9
9
|
columns: ColumnSet<ItemTypeType>;
|
|
10
|
-
constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse,
|
|
10
|
+
constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap);
|
|
11
11
|
}
|
|
@@ -254,3 +254,9 @@ export declare type ApiLinkTree = {
|
|
|
254
254
|
[childType: string]: ApiLinkTreeEntry;
|
|
255
255
|
};
|
|
256
256
|
};
|
|
257
|
+
/**
|
|
258
|
+
* @description
|
|
259
|
+
* Callback to determine if an item should be included in the create delta, return `false` to exclude the item
|
|
260
|
+
*/
|
|
261
|
+
export declare type FilterItemEntryCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>) => boolean;
|
|
262
|
+
export declare type ModifyFieldsCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>, itemIdConversionMap?: ItemIdConversionMap) => void;
|