@rentman/rm-core 2.0.9 → 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.
@@ -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?: ApiQuery): void;
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,4 +1,4 @@
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
4
  import { ApiQuery, ApiRequestColumns, EntryParentNull, FieldMap, FilterItemEntryCallback, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
@@ -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
  /**
@@ -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, additionalColumns: ResponseColumnItemTypeMap): Template<ItemTypeType>;
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, additionalColumns: ResponseColumnItemTypeMap);
10
+ constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap);
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rentman/rm-core",
3
- "version": "2.0.9",
3
+ "version": "2.0.10",
4
4
  "description": "Rentman core functionalities",
5
5
  "main": "./dist/rm-core.js",
6
6
  "types": "./dist/src/index.d.ts",