@rentman/rm-core 8.1.7 → 8.1.8-dev1
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 +923 -917
- package/dist/rm-core.js +18307 -11023
- package/dist/rm-core.min.js +1 -16
- package/dist/types/classes/ApiFormatter.d.ts +73 -66
- package/dist/types/classes/ApiRequestService.d.ts +18 -21
- package/dist/types/classes/ApiResponseProcessor.d.ts +29 -30
- package/dist/types/classes/CacheSyncer.d.ts +36 -0
- package/dist/types/classes/ChangesCompilation.d.ts +33 -36
- package/dist/types/classes/ChangesDelta.d.ts +61 -68
- package/dist/types/classes/ChangesDeltaBase.d.ts +76 -79
- package/dist/types/classes/ChangesProcessor.d.ts +40 -45
- package/dist/types/classes/CollectionEntryService.d.ts +23 -27
- package/dist/types/classes/CollectionResourceService.d.ts +6 -7
- package/dist/types/classes/ColumnCache.d.ts +21 -22
- package/dist/types/classes/ColumnExpansion.d.ts +21 -23
- package/dist/types/classes/ColumnHandler.d.ts +20 -22
- package/dist/types/classes/ColumnInfo.d.ts +14 -14
- package/dist/types/classes/ColumnSet.d.ts +37 -39
- package/dist/types/classes/ColumnSubsetCache.d.ts +14 -15
- package/dist/types/classes/ColumnUtil.d.ts +100 -101
- package/dist/types/classes/ConversionMapService.d.ts +25 -28
- package/dist/types/classes/CreateRequest.d.ts +17 -20
- package/dist/types/classes/CreatedChangesDelta.d.ts +17 -18
- package/dist/types/classes/InternalChangesDelta.d.ts +47 -51
- package/dist/types/classes/ItemCache.d.ts +27 -30
- package/dist/types/classes/ItemCreateService.d.ts +18 -25
- package/dist/types/classes/ItemEntryService.d.ts +32 -35
- package/dist/types/classes/KeyService.d.ts +18 -18
- package/dist/types/classes/LockService.d.ts +29 -32
- package/dist/types/classes/ModuleChangesCompilation.d.ts +18 -19
- package/dist/types/classes/ParentChangesDelta.d.ts +39 -47
- package/dist/types/classes/QueryColumnExtractor.d.ts +18 -20
- package/dist/types/classes/QueryContainsLocalIdParser.d.ts +15 -17
- package/dist/types/classes/QueryLinkedToParser.d.ts +15 -16
- package/dist/types/classes/QueryLocallyMatchableParser.d.ts +18 -19
- package/dist/types/classes/QueryMatcher.d.ts +18 -19
- package/dist/types/classes/QueryParser.d.ts +25 -26
- package/dist/types/classes/QueryParserBase.d.ts +20 -20
- package/dist/types/classes/QueryParserIdUpdater.d.ts +15 -16
- package/dist/types/classes/QueryService.d.ts +12 -13
- package/dist/types/classes/RequestBuffer.d.ts +24 -29
- package/dist/types/classes/RequestBufferManager.d.ts +20 -26
- package/dist/types/classes/RequestColumnExpansion.d.ts +15 -16
- package/dist/types/classes/SocketMessageHandler.d.ts +34 -43
- package/dist/types/classes/TemplateCache.d.ts +63 -70
- package/dist/types/classes/Util.d.ts +28 -31
- package/dist/types/classes/cache/AbstractCache.d.ts +95 -112
- package/dist/types/classes/cache/CachedQueryHandlerBase.d.ts +68 -75
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +95 -106
- package/dist/types/classes/cache/server/ServerCache.d.ts +82 -94
- package/dist/types/classes/cache/server/ServerCachedQueryHandler.d.ts +25 -34
- package/dist/types/classes/cache/server/ServerItemHandler.d.ts +44 -53
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +319 -327
- package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +31 -30
- package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +24 -30
- package/dist/types/classes/cache/transaction/TransactionEventHandler.d.ts +21 -24
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +89 -97
- package/dist/types/classes/cache/transaction/TransactionValidator.d.ts +33 -35
- package/dist/types/constants.d.ts +7 -7
- package/dist/types/core.d.ts +45 -51
- package/dist/types/factories/ApiResponseProcessorFactory.d.ts +6 -6
- package/dist/types/factories/CacheSyncerFactory.d.ts +10 -0
- package/dist/types/factories/ChangesCompilationFactory.d.ts +5 -6
- package/dist/types/factories/ChangesDeltaFactory.d.ts +13 -15
- package/dist/types/factories/ChangesProcessorFactory.d.ts +13 -19
- package/dist/types/factories/CollectionEntryFactory.d.ts +11 -14
- package/dist/types/factories/CollectionResourceFactory.d.ts +18 -22
- package/dist/types/factories/ColumnExpansionFactory.d.ts +7 -9
- package/dist/types/factories/ColumnInfoFactory.d.ts +7 -8
- package/dist/types/factories/ColumnSetFactory.d.ts +18 -20
- package/dist/types/factories/ColumnSubsetCacheFactory.d.ts +8 -9
- package/dist/types/factories/CreateRequestFactory.d.ts +9 -11
- package/dist/types/factories/ItemCacheFactory.d.ts +6 -8
- package/dist/types/factories/ItemEntryFactory.d.ts +12 -15
- package/dist/types/factories/ItemResourceFactory.d.ts +11 -14
- package/dist/types/factories/ModuleChangesCompilationFactory.d.ts +4 -5
- package/dist/types/factories/QueryMatcherFactory.d.ts +7 -8
- package/dist/types/factories/QueryParserFactory.d.ts +5 -6
- package/dist/types/factories/RequestColumnExpansionFactory.d.ts +8 -9
- package/dist/types/factories/TemplateFactory.d.ts +8 -11
- package/dist/types/factories/TransactionCacheFactory.d.ts +13 -15
- package/dist/types/index.d.ts +1 -7
- package/dist/types/interfaces/AbstractCacheDependencyInterface.d.ts +36 -43
- package/dist/types/interfaces/ApiRequestServiceInterface.d.ts +12 -12
- package/dist/types/interfaces/AuthInterface.d.ts +10 -10
- package/dist/types/interfaces/ErrorHandlerInterface.d.ts +5 -5
- package/dist/types/interfaces/ExceptionHandlerInterface.d.ts +3 -3
- package/dist/types/interfaces/LinkTreeServiceInterface.d.ts +4 -4
- package/dist/types/interfaces/PromiseLibraryInterface.d.ts +25 -25
- package/dist/types/interfaces/ServerCacheDependencyInterface.d.ts +5 -7
- package/dist/types/interfaces/SocketMessageInterface.d.ts +3 -3
- package/dist/types/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +17 -21
- package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +22 -27
- package/dist/types/internal.d.ts +104 -0
- package/dist/types/models/CachedQueryItem.d.ts +19 -0
- package/dist/types/models/CollectionEntry.d.ts +21 -24
- package/dist/types/models/CollectionOptions.d.ts +42 -24
- package/dist/types/models/CollectionResource.d.ts +87 -78
- package/dist/types/models/ItemEntry.d.ts +18 -19
- package/dist/types/models/ItemEntryOptions.d.ts +8 -8
- package/dist/types/models/ItemResource.d.ts +90 -88
- package/dist/types/models/Template.d.ts +11 -13
- package/dist/types/types/ItemTypesCollection.d.ts +343 -345
- package/dist/types/types/PromiseInterface.d.ts +2 -2
- package/package.json +48 -38
- package/readme.md +15 -15
- package/dist/types/classes/CollectionMatcherBase.d.ts +0 -22
- package/dist/types/classes/CollectionMatcherCachedCollectionProcessor.d.ts +0 -32
- package/dist/types/classes/cache/CollectionMatcherCachedQueryProcessor.d.ts +0 -36
- package/dist/types/classes/index.d.ts +0 -46
- package/dist/types/factories/CollectionMatcherFactory.d.ts +0 -19
- package/dist/types/factories/index.d.ts +0 -21
- package/dist/types/interfaces/index.d.ts +0 -11
- package/dist/types/models/index.d.ts +0 -7
- package/dist/types/types/index.d.ts +0 -2
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ColumnSet } from '../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { ColumnSet, ItemEntryFactory } from '../internal';
|
|
3
|
+
export declare class ItemEntry<ItemTypeType extends ApiEnumItemType = any> {
|
|
4
|
+
private factory;
|
|
5
|
+
itemType: ItemTypeType;
|
|
6
|
+
itemId: ItemId;
|
|
7
|
+
columns: ColumnSet<ItemTypeType>;
|
|
8
|
+
id: number;
|
|
9
|
+
reloadQueued: boolean;
|
|
10
|
+
constructor(factory: ItemEntryFactory, itemType: ItemTypeType, itemId: ItemId, columns: ColumnSet<ItemTypeType>);
|
|
11
|
+
queueReload(): this;
|
|
12
|
+
isLocal(): boolean;
|
|
13
|
+
isLockable(): boolean;
|
|
14
|
+
toJSON(): {
|
|
15
|
+
id: number;
|
|
16
|
+
columns: ColumnSet<ItemTypeType>;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ApiRequestColumns, EntryParentNull } from '../
|
|
2
|
-
export declare type ItemEntryOptionsInterface = Partial<ItemEntryOptions>;
|
|
3
|
-
export declare class ItemEntryOptions {
|
|
4
|
-
columns: ApiRequestColumns;
|
|
5
|
-
parent: EntryParentNull;
|
|
6
|
-
templateOptions: any;
|
|
7
|
-
constructor(values: ItemEntryOptionsInterface);
|
|
8
|
-
}
|
|
1
|
+
import { ApiRequestColumns, EntryParentNull } from '../internal';
|
|
2
|
+
export declare type ItemEntryOptionsInterface = Partial<ItemEntryOptions>;
|
|
3
|
+
export declare class ItemEntryOptions {
|
|
4
|
+
columns: ApiRequestColumns;
|
|
5
|
+
parent: EntryParentNull;
|
|
6
|
+
templateOptions: any;
|
|
7
|
+
constructor(values: ItemEntryOptionsInterface);
|
|
8
|
+
}
|
|
@@ -1,88 +1,90 @@
|
|
|
1
|
-
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
2
|
-
import { TransactionCache } from '../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare
|
|
7
|
-
|
|
8
|
-
readonly
|
|
9
|
-
|
|
10
|
-
protected readonly transaction: TransactionCache;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
getDerivedValue<T1 extends
|
|
75
|
-
getDerivedValue<T1 extends ColumnIds[number]
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
getDerivedValues<T1 extends ColumnIds[number]
|
|
88
|
-
|
|
1
|
+
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
2
|
+
import { CollectionResource, EntryParentNull, ExtractApiItemType, FieldMap, ItemEntry, ItemResourceFactory, PromiseInterface, ResponseColumnMap, TransactionCache } from '../internal';
|
|
3
|
+
export declare type ChildCollectionResources = {
|
|
4
|
+
[ChildItemType in ApiEnumItemType]?: CollectionResource<ChildItemType>;
|
|
5
|
+
};
|
|
6
|
+
export declare type ChildCollectionResourcesNull = ChildCollectionResources | null;
|
|
7
|
+
export declare class ItemResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>, Children extends ChildCollectionResourcesNull = any> {
|
|
8
|
+
protected readonly factory: ItemResourceFactory;
|
|
9
|
+
readonly entry: ItemEntry<ItemTypeType>;
|
|
10
|
+
protected readonly transaction: TransactionCache;
|
|
11
|
+
children: Children;
|
|
12
|
+
private readonly _isNew;
|
|
13
|
+
columns: ResponseColumnMap<ItemTypeType, ColumnIds>;
|
|
14
|
+
fields: FieldMap<ItemTypeType, ColumnIds>;
|
|
15
|
+
initial: Readonly<FieldMap<ItemTypeType, ColumnIds>>;
|
|
16
|
+
constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, transaction: TransactionCache, children: Children, _isNew: boolean);
|
|
17
|
+
onConstruct(): void;
|
|
18
|
+
/**
|
|
19
|
+
* @description
|
|
20
|
+
* Updates the fields of the item and calls onChange, when updating many fields of many items it's better to create a {@link ChangesDelta ChangesDelta} yourself so all changes can be applied at once
|
|
21
|
+
*/
|
|
22
|
+
setFields(values: Partial<FieldMap<ItemTypeType, ColumnIds>>): PromiseInterface<this>;
|
|
23
|
+
copyFields(destination?: FieldMap<ItemTypeType, []>): FieldMap<ItemTypeType, ColumnIds>;
|
|
24
|
+
/**
|
|
25
|
+
* Fetches the ItemResource's parent with the current fields
|
|
26
|
+
*
|
|
27
|
+
* ----------------
|
|
28
|
+
*
|
|
29
|
+
* @remark
|
|
30
|
+
* Use this if you need to get the parent after an item has been deleted
|
|
31
|
+
*/
|
|
32
|
+
getParent(fromInitial?: boolean): EntryParentNull;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated
|
|
35
|
+
* Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
|
|
36
|
+
*/
|
|
37
|
+
callOnChange(previous: FieldMap<ItemTypeType, ColumnIds>): void;
|
|
38
|
+
/**
|
|
39
|
+
* @description
|
|
40
|
+
* Utility function to easily check if a field is changed.
|
|
41
|
+
* Will return `false` if the field is changed
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* onChange: (
|
|
45
|
+
* itemResource,
|
|
46
|
+
* previous,
|
|
47
|
+
* compareItemField
|
|
48
|
+
* ) {
|
|
49
|
+
* if (!compareItemField('columnId')) {
|
|
50
|
+
* processItem(itemResource);
|
|
51
|
+
* }
|
|
52
|
+
* }
|
|
53
|
+
*/
|
|
54
|
+
compareItemField(columnId: ColumnIds[number], previous: FieldMap<ItemTypeType, ColumnIds>): boolean;
|
|
55
|
+
hasChanges(): boolean;
|
|
56
|
+
setTransactionParameters(parameters: any): void;
|
|
57
|
+
/**
|
|
58
|
+
* @description
|
|
59
|
+
* 'isNew' means that the {@link ItemEntry ItemEntry} is a local item and that this resource was created when the {@link ItemEntry ItemEntry} was first created
|
|
60
|
+
*/
|
|
61
|
+
isNew(): boolean;
|
|
62
|
+
isLocal(): boolean;
|
|
63
|
+
toJSON(): {
|
|
64
|
+
columns: string[];
|
|
65
|
+
fields: FieldMap<ItemTypeType, ColumnIds>;
|
|
66
|
+
entry: ItemEntry<ItemTypeType>;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* @description
|
|
70
|
+
* Returns the value of the columnPath, or undefined when the path couldn't be traversed
|
|
71
|
+
*
|
|
72
|
+
* @param columnPath Can either be an array of columnIds (['column', 'column2']) or a config column string ('column>column2')
|
|
73
|
+
*/
|
|
74
|
+
getDerivedValue<T1 extends string>(columnPath: T1): any | undefined;
|
|
75
|
+
getDerivedValue<T1 extends ColumnIds[number]>(columnPath: [T1]): FieldMap<ItemTypeType>[T1] | undefined;
|
|
76
|
+
getDerivedValue<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>]>(columnPath: [T1, T2]): FieldMap<ExtractApiItemType<ApiFields[ItemTypeType][T1]>>[T2] | undefined;
|
|
77
|
+
getDerivedValue<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>], T3 extends keyof ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>(columnPath: [T1, T2, T3]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>>[T3] | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* @description
|
|
80
|
+
* Traverses the column path and returns the fields of the derived item, returns undefined if the item isn't found
|
|
81
|
+
*
|
|
82
|
+
* ---------------------
|
|
83
|
+
*
|
|
84
|
+
* @remark
|
|
85
|
+
* Assumes the derived item's values are already cached
|
|
86
|
+
*/
|
|
87
|
+
getDerivedValues<T1 extends ColumnIds[number]>(columnPath: [T1]): FieldMap<ExtractApiItemType<ApiFields[ItemTypeType][T1]>> | undefined;
|
|
88
|
+
getDerivedValues<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>]>(columnPath: [T1, T2]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>> | undefined;
|
|
89
|
+
getDerivedValues<T1 extends ColumnIds[number], T2 extends keyof ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>], T3 extends keyof ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>(columnPath: [T1, T2, T3]): FieldMap<ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ExtractApiItemType<ApiFields[ItemTypeType][T1]>][T2]>]>> | undefined;
|
|
90
|
+
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
2
|
-
import { ColumnSet } from '../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
getFields(): FieldMap<ItemTypeType, ColumnIds>;
|
|
13
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumnMap, ApiResponse, ColumnSet, FieldMap, ItemTypeMap, ResponseColumnItemTypeMap, TemplateFactory } from '../internal';
|
|
3
|
+
export declare class Template<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any> {
|
|
4
|
+
itemType: ItemTypeType;
|
|
5
|
+
response: ApiResponse;
|
|
6
|
+
additionalRequestColumns: ApiRequestColumnMap;
|
|
7
|
+
responseColumns: ResponseColumnItemTypeMap;
|
|
8
|
+
columns: ColumnSet<ItemTypeType>;
|
|
9
|
+
constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ItemTypeMap<ResponseColumnItemTypeMap>);
|
|
10
|
+
getFields(): FieldMap<ItemTypeType, ColumnIds>;
|
|
11
|
+
}
|