@rentman/rm-core 8.0.1-5 → 8.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/changelog.md +3 -14
- package/dist/rm-core.js +650 -630
- package/dist/rm-core.min.js +2 -2
- package/dist/types/classes/ApiFormatter.d.ts +3 -3
- package/dist/types/classes/ChangesDelta.d.ts +1 -1
- package/dist/types/classes/ConversionMapService.d.ts +1 -1
- package/dist/types/classes/CreatedChangesDelta.d.ts +1 -2
- package/dist/types/classes/ItemCreateService.d.ts +1 -1
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +1 -1
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +3 -2
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +6 -2
- package/dist/types/factories/ChangesDeltaFactory.d.ts +6 -6
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ApiEnumApiType, ApiEnumItemType, ApiFields, ResponseColumn } from '@rentman/backend-types';
|
|
1
|
+
import { ApiEnumApiType, ApiEnumApiTypeTsTypeMapping, ApiEnumItemType, ApiFields, ResponseColumn } from '@rentman/backend-types';
|
|
2
2
|
import moment from 'moment';
|
|
3
3
|
import { ColumnInfo } from '../classes';
|
|
4
|
-
import {
|
|
4
|
+
import { FieldMap } from '../types';
|
|
5
5
|
declare type GetChangesResult<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = any> = {
|
|
6
6
|
oldValue: FieldMap<ItemTypeType, [ColumnId]>[ColumnId];
|
|
7
7
|
newValue: FieldMap<ItemTypeType, [ColumnId]>[ColumnId];
|
|
@@ -42,7 +42,7 @@ export declare class ApiFormatter {
|
|
|
42
42
|
* @description
|
|
43
43
|
* Compares the given fields, returns `true` when the fields are equal
|
|
44
44
|
*/
|
|
45
|
-
compareFields<ColumnType extends ApiEnumApiType>(columnType: ColumnType, first?:
|
|
45
|
+
compareFields<ColumnType extends ApiEnumApiType>(columnType: ColumnType, first?: ApiEnumApiTypeTsTypeMapping[ColumnType], second?: ApiEnumApiTypeTsTypeMapping[ColumnType]): boolean;
|
|
46
46
|
compareFloats(a: number, b: number): boolean;
|
|
47
47
|
compareMomentObjects(first: moment.Moment, second: moment.Moment): boolean;
|
|
48
48
|
compareDurations(first: moment.Duration, second: moment.Duration): boolean;
|
|
@@ -52,7 +52,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
|
|
|
52
52
|
*
|
|
53
53
|
* @internal
|
|
54
54
|
*/
|
|
55
|
-
_setItemCreated<ItemTypeType extends ApiEnumItemType, Fields extends FieldMap<ItemTypeType>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull
|
|
55
|
+
_setItemCreated<ItemTypeType extends ApiEnumItemType, Fields extends FieldMap<ItemTypeType>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull): this;
|
|
56
56
|
/**
|
|
57
57
|
* @description
|
|
58
58
|
* Convenience function to assign the proper parent fields, will call {@link ChangesDeltaBase.setItemUpdated setItemUpdated} internally
|
|
@@ -15,7 +15,7 @@ export declare class ConversionMapService {
|
|
|
15
15
|
constructor(keyService: KeyService);
|
|
16
16
|
createLocalConversionMap(itemType: ApiEnumItemType, itemId: ItemId, doExtend: boolean | undefined, apiResponse: ApiResponse): ItemIdConversionMap;
|
|
17
17
|
expandLocalConversionMap(parentType: ApiEnumItemType, parentId: ItemId, apiResponse: ApiResponse, conversionMap: ItemIdConversionMap): void;
|
|
18
|
-
expandConversionMap(
|
|
18
|
+
expandConversionMap(itemEntry: ItemEntry, conversionMap: ItemIdConversionMap, newItemId?: ItemId): ItemId;
|
|
19
19
|
batchExpandConversionMap(itemEntries: Array<ItemEntry<any>>, conversionMap: ItemIdConversionMap): ItemIdConversionMap;
|
|
20
20
|
getConversionValue(itemType: ApiEnumItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
|
|
21
21
|
/**
|
|
@@ -5,13 +5,12 @@ export declare type ChangesDeltaItemCreateDelta<ItemTypeType extends ApiEnumItem
|
|
|
5
5
|
itemId: ItemId;
|
|
6
6
|
fields: FieldMap<ItemTypeType>;
|
|
7
7
|
columns: ColumnSet<ItemTypeType>;
|
|
8
|
-
isRoot: boolean;
|
|
9
8
|
};
|
|
10
9
|
export declare class CreatedChangesDelta {
|
|
11
10
|
private tuples;
|
|
12
11
|
constructor();
|
|
13
12
|
remove(itemType: ApiEnumItemType, itemId: ItemId): boolean;
|
|
14
|
-
add<ItemTypeType extends ApiEnumItemType>(itemId: ItemId, fields: FieldMap<ItemTypeType>, columns: ColumnSet<ItemTypeType
|
|
13
|
+
add<ItemTypeType extends ApiEnumItemType>(itemId: ItemId, fields: FieldMap<ItemTypeType>, columns: ColumnSet<ItemTypeType>): void;
|
|
15
14
|
isEmpty(): boolean;
|
|
16
15
|
forEach(callback: (tuple: ChangesDeltaItemCreateDelta, itemType: ApiEnumItemType, index: number) => void): void;
|
|
17
16
|
contains(itemType: ApiEnumItemType): boolean;
|
|
@@ -20,6 +20,6 @@ export declare class ItemCreateService {
|
|
|
20
20
|
* Fetches a new {@link Template template} and sets the items created on the passed {@link ChangesDelta}
|
|
21
21
|
*/
|
|
22
22
|
createItemsFromValues<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Array<Partial<FieldMap<ItemTypeType, ColumnIds>>>, parent?: EntryParentNull): PromiseInterface<void>;
|
|
23
|
-
processTemplate<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType, ColumnIds>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback
|
|
23
|
+
processTemplate<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType, ColumnIds>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
24
24
|
processTemplateLinkItems<ParentItemType extends ApiEnumItemType>(changesDelta: ChangesDelta, parentType: ParentItemType, localParentId: ItemId, template: Template<ParentItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
25
25
|
}
|
|
@@ -58,7 +58,7 @@ export declare abstract class ItemHandlerBase {
|
|
|
58
58
|
* @description
|
|
59
59
|
* Fetches an ItemEntry with the given itemId
|
|
60
60
|
*/
|
|
61
|
-
abstract fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions
|
|
61
|
+
abstract fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
62
62
|
/**
|
|
63
63
|
* @description
|
|
64
64
|
* Processes the passed {@link ChangesDeltaItemUpdateDelta update delta} on the transaction, if there are no {@link TransactionItemHandler.itemChanges itemChanges} the new values will not be processed
|
|
@@ -204,7 +204,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
204
204
|
* Rejects when another user is holding the lock, as opposed to {@link LockService.fetchLock}.
|
|
205
205
|
*/
|
|
206
206
|
fetchLock(): PromiseInterface<void>;
|
|
207
|
-
detectChanges(): boolean;
|
|
207
|
+
detectChanges(force?: boolean): boolean;
|
|
208
208
|
/**
|
|
209
209
|
* @description
|
|
210
210
|
* Removes an {@link ItemEntry ItemEntry} through an {@link ItemResource ItemResource} from the {@link TransactionCache TransactionCache} which means that changes on this entry will no longer be tracked.
|
|
@@ -309,7 +309,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
309
309
|
* won't be included
|
|
310
310
|
*/
|
|
311
311
|
getDelta(): InternalChangesDelta;
|
|
312
|
-
createItemResource<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, isNew?: boolean): ItemResource<ItemTypeType>;
|
|
312
|
+
createItemResource<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, isRoot?: boolean, isNew?: boolean): ItemResource<ItemTypeType>;
|
|
313
313
|
createItemResources<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType, ColumnIds>>;
|
|
314
314
|
processLinkedItems<ItemTypeType extends ApiEnumItemType>(linkedEntries: ItemTypeMap<ItemEntry[]>): ItemResourcesItemTypeMap<ItemResource<ItemTypeType>>;
|
|
315
315
|
createCollectionResource<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>, initialEntries: Array<ItemEntry<ItemTypeType>>): CollectionResource<ItemTypeType>;
|
|
@@ -321,5 +321,6 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
321
321
|
private expandItemsFromDelta;
|
|
322
322
|
private clearGlobalError;
|
|
323
323
|
clearItemError(itemEntryId?: ItemEntry['id'], columnId?: string, errorKey?: string): void;
|
|
324
|
+
private handleRemovedItemEntry;
|
|
324
325
|
}
|
|
325
326
|
export {};
|
|
@@ -21,6 +21,10 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
21
21
|
private dependencies;
|
|
22
22
|
protected transaction: TransactionCache;
|
|
23
23
|
private validator?;
|
|
24
|
+
/**
|
|
25
|
+
* @warning
|
|
26
|
+
* Can contain both local and non-local {@link ItemEntry itemEntries}
|
|
27
|
+
*/
|
|
24
28
|
deletedItems: ItemTypeMap<ItemEntry[]>;
|
|
25
29
|
itemChanges: {
|
|
26
30
|
[itemEntryId: number]: TransactionItemEntryChanges;
|
|
@@ -68,12 +72,12 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
68
72
|
cloneItemEntries<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): ItemId[];
|
|
69
73
|
cloneItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, sourceEntry: ItemEntry<ItemTypeType>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): ItemId;
|
|
70
74
|
fetchItemEntriesByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
71
|
-
fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions
|
|
75
|
+
fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
72
76
|
/**
|
|
73
77
|
* @description
|
|
74
78
|
* Fetches a template and creates a new {@link ItemEntry ItemEntry}, will error if the ItemEntry with the given ItemId already exists
|
|
75
79
|
*/
|
|
76
|
-
fetchNewItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions
|
|
80
|
+
fetchNewItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ChangesDeltaResult>;
|
|
77
81
|
fetchItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
78
82
|
fetchTitle(itemType: ApiEnumItemType, itemId: ItemId): PromiseInterface<string>;
|
|
79
83
|
resolveLocalItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntry: ItemEntry<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ItemEntryService } from '../classes';
|
|
2
|
+
import { ChangesDelta } from '../classes/ChangesDelta';
|
|
3
|
+
import { InternalChangesDelta } from '../classes/InternalChangesDelta';
|
|
4
|
+
import { ItemCreateService } from '../classes/ItemCreateService';
|
|
2
5
|
import { ErrorHandlerInterface } from '../interfaces';
|
|
3
6
|
export declare class ChangesDeltaFactory {
|
|
4
|
-
private apiFormatter;
|
|
5
|
-
private conversionMapService;
|
|
6
7
|
private errorHandler;
|
|
7
|
-
private itemCreateService;
|
|
8
8
|
private itemEntryService;
|
|
9
|
-
|
|
9
|
+
private itemCreateService;
|
|
10
|
+
constructor(errorHandler: ErrorHandlerInterface, itemEntryService: ItemEntryService, itemCreateService: ItemCreateService);
|
|
10
11
|
construct(): ChangesDelta;
|
|
11
|
-
cloneCreatedChanges(sourceChangesDelta: ChangesDelta, destinationChangesDelta?: ChangesDelta): ChangesDelta;
|
|
12
12
|
constructInternalDelta(): InternalChangesDelta;
|
|
13
13
|
}
|