@rentman/rm-core 4.0.3 → 4.0.4

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.
Files changed (109) hide show
  1. package/changelog.md +695 -692
  2. package/dist/rm-core.js +9496 -9488
  3. package/dist/rm-core.min.js +2 -2
  4. package/dist/types/classes/ApiFormatter.d.ts +55 -55
  5. package/dist/types/classes/ApiRequestService.d.ts +20 -20
  6. package/dist/types/classes/ApiResponseProcessor.d.ts +31 -31
  7. package/dist/types/classes/ChangesCompilation.d.ts +34 -34
  8. package/dist/types/classes/ChangesDelta.d.ts +59 -59
  9. package/dist/types/classes/ChangesDeltaBase.d.ts +50 -50
  10. package/dist/types/classes/ChangesProcessor.d.ts +47 -47
  11. package/dist/types/classes/CollectionCache.d.ts +38 -38
  12. package/dist/types/classes/CollectionEntryService.d.ts +25 -25
  13. package/dist/types/classes/CollectionMatcher.d.ts +9 -9
  14. package/dist/types/classes/CollectionMatcherBase.d.ts +26 -26
  15. package/dist/types/classes/CollectionResourceService.d.ts +6 -6
  16. package/dist/types/classes/ColumnCache.d.ts +21 -21
  17. package/dist/types/classes/ColumnExpansion.d.ts +22 -22
  18. package/dist/types/classes/ColumnHandler.d.ts +21 -21
  19. package/dist/types/classes/ColumnInfo.d.ts +14 -14
  20. package/dist/types/classes/ColumnSet.d.ts +39 -39
  21. package/dist/types/classes/ColumnSubsetCache.d.ts +8 -8
  22. package/dist/types/classes/ColumnUtil.d.ts +99 -99
  23. package/dist/types/classes/ConversionMapService.d.ts +27 -27
  24. package/dist/types/classes/CreateRequest.d.ts +19 -19
  25. package/dist/types/classes/CreatedChangesDelta.d.ts +15 -15
  26. package/dist/types/classes/InternalChangesDelta.d.ts +39 -39
  27. package/dist/types/classes/ItemCache.d.ts +29 -29
  28. package/dist/types/classes/ItemCreateService.d.ts +24 -24
  29. package/dist/types/classes/ItemEntryService.d.ts +34 -34
  30. package/dist/types/classes/KeyService.d.ts +16 -16
  31. package/dist/types/classes/LockService.d.ts +32 -32
  32. package/dist/types/classes/ModuleChangesCompilation.d.ts +18 -18
  33. package/dist/types/classes/QueryColumnExtractor.d.ts +20 -20
  34. package/dist/types/classes/QueryLocalLinkedToParser.d.ts +17 -17
  35. package/dist/types/classes/QueryMatcher.d.ts +14 -14
  36. package/dist/types/classes/QueryParser.d.ts +25 -25
  37. package/dist/types/classes/QueryParserBase.d.ts +29 -29
  38. package/dist/types/classes/QueryService.d.ts +17 -17
  39. package/dist/types/classes/RequestBuffer.d.ts +28 -28
  40. package/dist/types/classes/RequestBufferManager.d.ts +24 -24
  41. package/dist/types/classes/RequestColumnExpansion.d.ts +15 -15
  42. package/dist/types/classes/SocketMessageHandler.d.ts +31 -31
  43. package/dist/types/classes/TemplateCache.d.ts +66 -66
  44. package/dist/types/classes/Util.d.ts +30 -30
  45. package/dist/types/classes/cache/AbstractCache.d.ts +101 -101
  46. package/dist/types/classes/cache/CollectionHandlerBase.d.ts +68 -68
  47. package/dist/types/classes/cache/CollectionMatcherCacheProcessor.d.ts +26 -26
  48. package/dist/types/classes/cache/ItemHandlerBase.d.ts +95 -95
  49. package/dist/types/classes/cache/server/ServerCache.d.ts +83 -83
  50. package/dist/types/classes/cache/server/ServerCollectionHandler.d.ts +44 -44
  51. package/dist/types/classes/cache/server/ServerItemHandler.d.ts +51 -51
  52. package/dist/types/classes/cache/transaction/TransactionCache.d.ts +336 -336
  53. package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +62 -62
  54. package/dist/types/classes/cache/transaction/TransactionEventHandler.d.ts +24 -24
  55. package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +90 -90
  56. package/dist/types/classes/cache/transaction/TransactionValidator.d.ts +28 -28
  57. package/dist/types/classes/index.d.ts +46 -46
  58. package/dist/types/constants.d.ts +7 -7
  59. package/dist/types/core.d.ts +52 -52
  60. package/dist/types/factories/ApiResponseProcessorFactory.d.ts +6 -6
  61. package/dist/types/factories/ChangesCompilationFactory.d.ts +6 -6
  62. package/dist/types/factories/ChangesDeltaFactory.d.ts +11 -11
  63. package/dist/types/factories/ChangesProcessorFactory.d.ts +22 -22
  64. package/dist/types/factories/CollectionCacheFactory.d.ts +8 -8
  65. package/dist/types/factories/CollectionEntryFactory.d.ts +11 -11
  66. package/dist/types/factories/CollectionMatcherFactory.d.ts +9 -9
  67. package/dist/types/factories/CollectionResourceFactory.d.ts +16 -16
  68. package/dist/types/factories/ColumnExpansionFactory.d.ts +8 -8
  69. package/dist/types/factories/ColumnInfoFactory.d.ts +7 -7
  70. package/dist/types/factories/ColumnSetFactory.d.ts +19 -19
  71. package/dist/types/factories/ColumnSubsetCacheFactory.d.ts +6 -6
  72. package/dist/types/factories/CreateRequestFactory.d.ts +11 -11
  73. package/dist/types/factories/ItemCacheFactory.d.ts +8 -8
  74. package/dist/types/factories/ItemEntryFactory.d.ts +15 -15
  75. package/dist/types/factories/ItemResourceFactory.d.ts +14 -14
  76. package/dist/types/factories/ModuleChangesCompilationFactory.d.ts +5 -5
  77. package/dist/types/factories/QueryMatcherFactory.d.ts +7 -7
  78. package/dist/types/factories/QueryParserFactory.d.ts +6 -6
  79. package/dist/types/factories/RequestColumnExpansionFactory.d.ts +6 -6
  80. package/dist/types/factories/TemplateFactory.d.ts +10 -10
  81. package/dist/types/factories/TransactionCacheFactory.d.ts +15 -15
  82. package/dist/types/factories/index.d.ts +22 -22
  83. package/dist/types/index.d.ts +7 -7
  84. package/dist/types/interfaces/AbstractCacheDependencyInterface.d.ts +44 -44
  85. package/dist/types/interfaces/ApiRequestServiceInterface.d.ts +11 -11
  86. package/dist/types/interfaces/AuthInterface.d.ts +9 -9
  87. package/dist/types/interfaces/ErrorHandlerInterface.d.ts +5 -5
  88. package/dist/types/interfaces/ExceptionHandlerInterface.d.ts +3 -3
  89. package/dist/types/interfaces/LinkTreeServiceInterface.d.ts +4 -4
  90. package/dist/types/interfaces/PromiseLibraryInterface.d.ts +25 -25
  91. package/dist/types/interfaces/ServerCacheDependencyInterface.d.ts +7 -7
  92. package/dist/types/interfaces/SocketMessageInterface.d.ts +3 -3
  93. package/dist/types/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +21 -21
  94. package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +26 -26
  95. package/dist/types/interfaces/index.d.ts +11 -11
  96. package/dist/types/models/CollectionEntry.d.ts +27 -27
  97. package/dist/types/models/CollectionEntryOptions.d.ts +13 -13
  98. package/dist/types/models/CollectionResource.d.ts +63 -63
  99. package/dist/types/models/CollectionResourceOptions.d.ts +23 -23
  100. package/dist/types/models/ItemEntry.d.ts +19 -19
  101. package/dist/types/models/ItemEntryOptions.d.ts +8 -8
  102. package/dist/types/models/ItemResource.d.ts +84 -84
  103. package/dist/types/models/Template.d.ts +11 -11
  104. package/dist/types/models/index.d.ts +8 -8
  105. package/dist/types/types/ItemTypesCollection.d.ts +263 -263
  106. package/dist/types/types/PromiseInterface.d.ts +2 -2
  107. package/dist/types/types/index.d.ts +2 -2
  108. package/package.json +36 -36
  109. package/readme.md +15 -15
@@ -1,63 +1,63 @@
1
- import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
2
- import { ChangesDeltaResult } from '../classes/ChangesDeltaBase';
3
- import { CollectionResourceFactory } from '../factories';
4
- import { CollectionEntry, CollectionResourceOptions, ItemEntry, ItemResource } from '../models';
5
- import { FieldMap, ItemId, ItemResourceItemIdMap, ItemType, PromiseInterface, QueryCallback, ResponseColumnItemTypeMap } from '../types';
6
- export declare class CollectionResource<ItemTypeType extends ItemType = any> {
7
- protected factory: CollectionResourceFactory;
8
- entry: CollectionEntry<ItemTypeType>;
9
- options: CollectionResourceOptions<ItemTypeType>;
10
- transaction: TransactionCache;
11
- items: Array<ItemResource<ItemTypeType>>;
12
- columns: ResponseColumnItemTypeMap;
13
- protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType>>;
14
- private fieldChangeDeregFns;
15
- private readonly onChange;
16
- constructor(factory: CollectionResourceFactory, entry: CollectionEntry<ItemTypeType>, options: CollectionResourceOptions<ItemTypeType>, transaction: TransactionCache);
17
- onConstruct(): void;
18
- /**
19
- * @deprecated
20
- * Use {@link ChangesDelta.setItemMoved ChangesDelta.setItemMoved}
21
- */
22
- moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
23
- removeItems(idArray: ItemId[]): void;
24
- removeItem(itemId: ItemId): void;
25
- addItems(valuesArray: Array<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
26
- addItem(values: FieldMap<ItemTypeType>): PromiseInterface<ChangesDeltaResult>;
27
- getIdArray(): ItemId[];
28
- getItemById(itemId: number): ItemResource<ItemTypeType>;
29
- addItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean): Array<ItemResource<ItemTypeType>>;
30
- /**
31
- * @description
32
- * Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
33
- * Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
34
- */
35
- removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType>>;
36
- callOnAdd(itemResources: Array<ItemResource<ItemTypeType>>, isInitialCall?: boolean): void;
37
- callOnRemove(itemResources: Array<ItemResource<ItemTypeType>>): void;
38
- forEach(callback: (itemResource: ItemResource<ItemTypeType>) => void): void;
39
- filter(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): Array<ItemResource<ItemTypeType>>;
40
- first(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): ItemResource<ItemTypeType> | null;
41
- some(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): boolean;
42
- groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType>) => string | null)): {
43
- [key: string]: Array<ItemResource<ItemTypeType>>;
44
- };
45
- map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType>) => U)): U[];
46
- reduce<U>(callback: (itemResource: ItemResource<ItemTypeType>, value: U) => U, value: U): U;
47
- /**
48
- * @description
49
- * Fetches new items and adds them to the collection
50
- *
51
- * @remarks
52
- * - Used to return {@link ItemResource ItemResources}, but you should the {@link CollectionResource.onAdd onAdd) instead
53
- */
54
- extend(queryCallback: QueryCallback): PromiseInterface<CollectionEntry<ItemTypeType>>;
55
- /**
56
- * @description
57
- * Removes the reference to the {@link CollectionResource CollectionResource} from the {@link CollectionEntry CollectionEntry}
58
- *
59
- * @remarks
60
- * - Doesn't revert changes on the items themselves
61
- */
62
- clearResource(): void;
63
- }
1
+ import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
2
+ import { ChangesDeltaResult } from '../classes/ChangesDeltaBase';
3
+ import { CollectionResourceFactory } from '../factories';
4
+ import { CollectionEntry, CollectionResourceOptions, ItemEntry, ItemResource } from '../models';
5
+ import { FieldMap, ItemId, ItemResourceItemIdMap, ItemType, PromiseInterface, QueryCallback, ResponseColumnItemTypeMap } from '../types';
6
+ export declare class CollectionResource<ItemTypeType extends ItemType = any> {
7
+ protected factory: CollectionResourceFactory;
8
+ entry: CollectionEntry<ItemTypeType>;
9
+ options: CollectionResourceOptions<ItemTypeType>;
10
+ transaction: TransactionCache;
11
+ items: Array<ItemResource<ItemTypeType>>;
12
+ columns: ResponseColumnItemTypeMap;
13
+ protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType>>;
14
+ private fieldChangeDeregFns;
15
+ private readonly onChange;
16
+ constructor(factory: CollectionResourceFactory, entry: CollectionEntry<ItemTypeType>, options: CollectionResourceOptions<ItemTypeType>, transaction: TransactionCache);
17
+ onConstruct(): void;
18
+ /**
19
+ * @deprecated
20
+ * Use {@link ChangesDelta.setItemMoved ChangesDelta.setItemMoved}
21
+ */
22
+ moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
23
+ removeItems(idArray: ItemId[]): void;
24
+ removeItem(itemId: ItemId): void;
25
+ addItems(valuesArray: Array<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
26
+ addItem(values: FieldMap<ItemTypeType>): PromiseInterface<ChangesDeltaResult>;
27
+ getIdArray(): ItemId[];
28
+ getItemById(itemId: number): ItemResource<ItemTypeType>;
29
+ addItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean): Array<ItemResource<ItemTypeType>>;
30
+ /**
31
+ * @description
32
+ * Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
33
+ * Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
34
+ */
35
+ removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType>>;
36
+ callOnAdd(itemResources: Array<ItemResource<ItemTypeType>>, isInitialCall?: boolean): void;
37
+ callOnRemove(itemResources: Array<ItemResource<ItemTypeType>>): void;
38
+ forEach(callback: (itemResource: ItemResource<ItemTypeType>) => void): void;
39
+ filter(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): Array<ItemResource<ItemTypeType>>;
40
+ first(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): ItemResource<ItemTypeType> | null;
41
+ some(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): boolean;
42
+ groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType>) => string | null)): {
43
+ [key: string]: Array<ItemResource<ItemTypeType>>;
44
+ };
45
+ map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType>) => U)): U[];
46
+ reduce<U>(callback: (itemResource: ItemResource<ItemTypeType>, value: U) => U, value: U): U;
47
+ /**
48
+ * @description
49
+ * Fetches new items and adds them to the collection
50
+ *
51
+ * @remarks
52
+ * - Used to return {@link ItemResource ItemResources}, but you should the {@link CollectionResource.onAdd onAdd) instead
53
+ */
54
+ extend(queryCallback: QueryCallback): PromiseInterface<CollectionEntry<ItemTypeType>>;
55
+ /**
56
+ * @description
57
+ * Removes the reference to the {@link CollectionResource CollectionResource} from the {@link CollectionEntry CollectionEntry}
58
+ *
59
+ * @remarks
60
+ * - Doesn't revert changes on the items themselves
61
+ */
62
+ clearResource(): void;
63
+ }
@@ -1,23 +1,23 @@
1
- import { CollectionEntry, CollectionResource, ItemEntry, ItemResource } from '../models';
2
- import { ConversionMap, FieldChangeCallback, ItemType } from '../types';
3
- export declare type CollectionResourceCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>) => void;
4
- export declare type CollectionResourceOnAddCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>, isInitialCall: boolean) => void;
5
- export declare type CollectionResourceInitialCallback<ItemTypeType extends ItemType> = (itemEntries: Array<ItemEntry<ItemTypeType>>, collectionEntry: CollectionEntry<ItemTypeType>) => void;
6
- export declare type OnItemsCreatedCallback = (conversionMap: ConversionMap) => void;
7
- export declare type CollectionResourceOptionsInterface<ItemTypeType extends ItemType> = Partial<CollectionResourceOptions<ItemTypeType>>;
8
- export declare class CollectionResourceOptions<ItemTypeType extends ItemType> {
9
- callOnAddWithInitialItems: boolean;
10
- /**
11
- * @deprecated
12
- * You should use register a {@link TransactionCache.registerFieldChangeCallback field change callback} and compare previous.id with fields.id
13
- */
14
- onItemsCreated: OnItemsCreatedCallback;
15
- onAdd: CollectionResourceOnAddCallback<ItemTypeType>;
16
- onRemove: CollectionResourceCallback<ItemTypeType>;
17
- onChange: FieldChangeCallback;
18
- onAddInitial: CollectionResourceInitialCallback<ItemTypeType>;
19
- onRemoveInitial: CollectionResourceInitialCallback<ItemTypeType>;
20
- resourceKey: string | null;
21
- custom: any;
22
- constructor(values: CollectionResourceOptionsInterface<ItemTypeType>);
23
- }
1
+ import { CollectionEntry, CollectionResource, ItemEntry, ItemResource } from '../models';
2
+ import { ConversionMap, FieldChangeCallback, ItemType } from '../types';
3
+ export declare type CollectionResourceCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>) => void;
4
+ export declare type CollectionResourceOnAddCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>, isInitialCall: boolean) => void;
5
+ export declare type CollectionResourceInitialCallback<ItemTypeType extends ItemType> = (itemEntries: Array<ItemEntry<ItemTypeType>>, collectionEntry: CollectionEntry<ItemTypeType>) => void;
6
+ export declare type OnItemsCreatedCallback = (conversionMap: ConversionMap) => void;
7
+ export declare type CollectionResourceOptionsInterface<ItemTypeType extends ItemType> = Partial<CollectionResourceOptions<ItemTypeType>>;
8
+ export declare class CollectionResourceOptions<ItemTypeType extends ItemType> {
9
+ callOnAddWithInitialItems: boolean;
10
+ /**
11
+ * @deprecated
12
+ * You should use register a {@link TransactionCache.registerFieldChangeCallback field change callback} and compare previous.id with fields.id
13
+ */
14
+ onItemsCreated: OnItemsCreatedCallback;
15
+ onAdd: CollectionResourceOnAddCallback<ItemTypeType>;
16
+ onRemove: CollectionResourceCallback<ItemTypeType>;
17
+ onChange: FieldChangeCallback;
18
+ onAddInitial: CollectionResourceInitialCallback<ItemTypeType>;
19
+ onRemoveInitial: CollectionResourceInitialCallback<ItemTypeType>;
20
+ resourceKey: string | null;
21
+ custom: any;
22
+ constructor(values: CollectionResourceOptionsInterface<ItemTypeType>);
23
+ }
@@ -1,19 +1,19 @@
1
- import { ColumnSet } from '../classes';
2
- import { ItemEntryFactory } from '../factories';
3
- import { ItemId, ItemType } from '../types';
4
- export declare class ItemEntry<ItemTypeType extends ItemType = any> {
5
- private factory;
6
- itemType: ItemTypeType;
7
- itemId: ItemId;
8
- columns: ColumnSet<ItemTypeType>;
9
- id: number;
10
- reloadQueued: boolean;
11
- constructor(factory: ItemEntryFactory, itemType: ItemTypeType, itemId: ItemId, columns: ColumnSet<ItemTypeType>);
12
- queueReload(): this;
13
- isLocal(): boolean;
14
- isLockable(): boolean;
15
- toJSON(): {
16
- id: number;
17
- columns: ColumnSet<ItemTypeType>;
18
- };
19
- }
1
+ import { ColumnSet } from '../classes';
2
+ import { ItemEntryFactory } from '../factories';
3
+ import { ItemId, ItemType } from '../types';
4
+ export declare class ItemEntry<ItemTypeType extends ItemType = any> {
5
+ private factory;
6
+ itemType: ItemTypeType;
7
+ itemId: ItemId;
8
+ columns: ColumnSet<ItemTypeType>;
9
+ id: number;
10
+ reloadQueued: boolean;
11
+ constructor(factory: ItemEntryFactory, itemType: ItemTypeType, itemId: ItemId, columns: ColumnSet<ItemTypeType>);
12
+ queueReload(): this;
13
+ isLocal(): boolean;
14
+ isLockable(): boolean;
15
+ toJSON(): {
16
+ id: number;
17
+ columns: ColumnSet<ItemTypeType>;
18
+ };
19
+ }
@@ -1,8 +1,8 @@
1
- import { ApiRequestColumns, EntryParentNull } from '../types';
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 '../types';
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,84 +1,84 @@
1
- import { TransactionCache } from '../classes';
2
- import { ItemResourceFactory } from '../factories';
3
- import { ItemEntry } from '../models';
4
- import { EntryParentNull, FieldMap, ItemType, PromiseInterface, ResponseColumn } from '../types';
5
- export declare class ItemResource<ItemTypeType extends ItemType = any> {
6
- protected readonly factory: ItemResourceFactory;
7
- readonly entry: ItemEntry<ItemTypeType>;
8
- protected readonly _isNew: boolean;
9
- protected readonly transaction: TransactionCache;
10
- columns: {
11
- [columnId: string]: ResponseColumn;
12
- };
13
- fields: FieldMap<ItemTypeType>;
14
- initial: Readonly<FieldMap<ItemTypeType>>;
15
- constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, _isNew: boolean, transaction: TransactionCache);
16
- onConstruct(): void;
17
- /**
18
- * @description
19
- * 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
20
- */
21
- setFields(values: FieldMap<ItemTypeType>): PromiseInterface<this>;
22
- copyFields(destination?: FieldMap<ItemTypeType>): FieldMap<ItemTypeType>;
23
- /**
24
- * Fetches the ItemResource's parent with the current fields
25
- *
26
- * ----------------
27
- *
28
- * @remark
29
- * Use this if you need to get the parent after an item has been deleted
30
- */
31
- getParent(fromInitial?: boolean): EntryParentNull;
32
- /**
33
- * @deprecated
34
- * Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
35
- */
36
- callOnChange(previous: FieldMap<ItemTypeType>): void;
37
- /**
38
- * @description
39
- * Utility function to easily check if a field is changed.
40
- * Will return `false` if the field is changed
41
- *
42
- * @example
43
- * onChange: (
44
- * itemResource,
45
- * previous,
46
- * compareItemField
47
- * ) {
48
- * if (!compareItemField('columnId')) {
49
- * processItem(itemResource);
50
- * }
51
- * }
52
- */
53
- compareItemField(columnId: keyof FieldMap<ItemTypeType>, previous: FieldMap<ItemTypeType>): boolean;
54
- hasChanges(): boolean;
55
- setTransactionParameters(parameters: any): void;
56
- /**
57
- * @description
58
- * '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
59
- */
60
- isNew(): boolean;
61
- isLocal(): boolean;
62
- toJSON(): {
63
- columns: string[];
64
- fields: FieldMap<ItemTypeType>;
65
- entry: ItemEntry<ItemTypeType>;
66
- };
67
- /**
68
- * @description
69
- * Returns the value of the columnPath, or undefined when the path couldn't be traversed
70
- *
71
- * @param columnPath Can either be an array of columnIds (['column', 'column2']) or a config column string ('column>column2')
72
- */
73
- getDerivedValue<T extends any = any>(columnPath: string[] | string): T | undefined;
74
- /**
75
- * @description
76
- * Traverses the column path and returns the fields of the derived item, returns undefined if the item isn't found
77
- *
78
- * ---------------------
79
- *
80
- * @remark
81
- * Assumes the derived item's values are already cached
82
- */
83
- getDerivedValues(columnPath: string[]): Readonly<FieldMap> | undefined;
84
- }
1
+ import { TransactionCache } from '../classes';
2
+ import { ItemResourceFactory } from '../factories';
3
+ import { ItemEntry } from '../models';
4
+ import { EntryParentNull, FieldMap, ItemType, PromiseInterface, ResponseColumn } from '../types';
5
+ export declare class ItemResource<ItemTypeType extends ItemType = any> {
6
+ protected readonly factory: ItemResourceFactory;
7
+ readonly entry: ItemEntry<ItemTypeType>;
8
+ protected readonly _isNew: boolean;
9
+ protected readonly transaction: TransactionCache;
10
+ columns: {
11
+ [columnId: string]: ResponseColumn;
12
+ };
13
+ fields: FieldMap<ItemTypeType>;
14
+ initial: Readonly<FieldMap<ItemTypeType>>;
15
+ constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, _isNew: boolean, transaction: TransactionCache);
16
+ onConstruct(): void;
17
+ /**
18
+ * @description
19
+ * 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
20
+ */
21
+ setFields(values: FieldMap<ItemTypeType>): PromiseInterface<this>;
22
+ copyFields(destination?: FieldMap<ItemTypeType>): FieldMap<ItemTypeType>;
23
+ /**
24
+ * Fetches the ItemResource's parent with the current fields
25
+ *
26
+ * ----------------
27
+ *
28
+ * @remark
29
+ * Use this if you need to get the parent after an item has been deleted
30
+ */
31
+ getParent(fromInitial?: boolean): EntryParentNull;
32
+ /**
33
+ * @deprecated
34
+ * Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
35
+ */
36
+ callOnChange(previous: FieldMap<ItemTypeType>): void;
37
+ /**
38
+ * @description
39
+ * Utility function to easily check if a field is changed.
40
+ * Will return `false` if the field is changed
41
+ *
42
+ * @example
43
+ * onChange: (
44
+ * itemResource,
45
+ * previous,
46
+ * compareItemField
47
+ * ) {
48
+ * if (!compareItemField('columnId')) {
49
+ * processItem(itemResource);
50
+ * }
51
+ * }
52
+ */
53
+ compareItemField(columnId: keyof FieldMap<ItemTypeType>, previous: FieldMap<ItemTypeType>): boolean;
54
+ hasChanges(): boolean;
55
+ setTransactionParameters(parameters: any): void;
56
+ /**
57
+ * @description
58
+ * '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
59
+ */
60
+ isNew(): boolean;
61
+ isLocal(): boolean;
62
+ toJSON(): {
63
+ columns: string[];
64
+ fields: FieldMap<ItemTypeType>;
65
+ entry: ItemEntry<ItemTypeType>;
66
+ };
67
+ /**
68
+ * @description
69
+ * Returns the value of the columnPath, or undefined when the path couldn't be traversed
70
+ *
71
+ * @param columnPath Can either be an array of columnIds (['column', 'column2']) or a config column string ('column>column2')
72
+ */
73
+ getDerivedValue<T extends any = any>(columnPath: string[] | string): T | undefined;
74
+ /**
75
+ * @description
76
+ * Traverses the column path and returns the fields of the derived item, returns undefined if the item isn't found
77
+ *
78
+ * ---------------------
79
+ *
80
+ * @remark
81
+ * Assumes the derived item's values are already cached
82
+ */
83
+ getDerivedValues(columnPath: string[]): Readonly<FieldMap> | undefined;
84
+ }
@@ -1,11 +1,11 @@
1
- import { ColumnSet } from '../classes';
2
- import { TemplateFactory } from '../factories';
3
- import { ApiRequestColumnMap, ApiResponse, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
4
- export declare class Template<ItemTypeType extends ItemType = any> {
5
- itemType: ItemTypeType;
6
- response: ApiResponse;
7
- responseColumns: ResponseColumnItemTypeMap;
8
- columns: ColumnSet<ItemTypeType>;
9
- constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap);
10
- getFields(): FieldMap<ItemTypeType>;
11
- }
1
+ import { ColumnSet } from '../classes';
2
+ import { TemplateFactory } from '../factories';
3
+ import { ApiRequestColumnMap, ApiResponse, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
4
+ export declare class Template<ItemTypeType extends ItemType = any> {
5
+ itemType: ItemTypeType;
6
+ response: ApiResponse;
7
+ responseColumns: ResponseColumnItemTypeMap;
8
+ columns: ColumnSet<ItemTypeType>;
9
+ constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap);
10
+ getFields(): FieldMap<ItemTypeType>;
11
+ }
@@ -1,8 +1,8 @@
1
- export * from './ItemEntryOptions';
2
- export * from './ItemEntry';
3
- export * from './ItemResource';
4
- export * from './CollectionEntryOptions';
5
- export * from './CollectionResourceOptions';
6
- export * from './CollectionEntry';
7
- export * from './CollectionResource';
8
- export * from './Template';
1
+ export * from './ItemEntryOptions';
2
+ export * from './ItemEntry';
3
+ export * from './ItemResource';
4
+ export * from './CollectionEntryOptions';
5
+ export * from './CollectionResourceOptions';
6
+ export * from './CollectionEntry';
7
+ export * from './CollectionResource';
8
+ export * from './Template';