@rentman/rm-core 8.1.8 → 8.1.9

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.
@@ -1,14 +1,5 @@
1
1
  import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
2
- import { AbstractCache, ApiQuery, ApiRequestColumns, CollectionEntryService, CollectionOptions, CollectionQuery, ColumnSubsetCache, ColumnUtil, ItemEntry, ParentIdMap, PromiseInterface, PromiseLibraryInterface, RequestColumnExpansionFactory } from '../../internal';
3
- export declare type CachedQueryItem<ItemTypeType extends ApiEnumItemType = any> = {
4
- itemType: ItemTypeType;
5
- query: CollectionQuery;
6
- items: Array<ItemEntry<ItemTypeType>>;
7
- requestColumns: ApiRequestColumns;
8
- promise: PromiseInterface<CachedQueryItem<ItemTypeType>>;
9
- resolve: () => void;
10
- reject: (reason: string) => void;
11
- };
2
+ import { AbstractCache, ApiQuery, ApiRequestColumns, CachedQueryItem, CollectionEntryService, CollectionOptions, CollectionQuery, ColumnSubsetCache, ColumnUtil, ItemEntry, ParentIdMap, PromiseInterface, PromiseLibraryInterface, RequestColumnExpansionFactory } from '../../internal';
12
3
  export declare abstract class CachedQueryHandlerBase {
13
4
  protected collectionEntryService: CollectionEntryService;
14
5
  protected columnUtil: ColumnUtil;
@@ -28,10 +19,16 @@ export declare abstract class CachedQueryHandlerBase {
28
19
  };
29
20
  };
30
21
  protected constructor(collectionEntryService: CollectionEntryService, columnUtil: ColumnUtil, requestColumnExpansionFactory: RequestColumnExpansionFactory, promiseService: PromiseLibraryInterface, transaction: AbstractCache);
31
- setCachedQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, parsedQuery: CollectionQuery, itemEntries: Array<ItemEntry<ItemTypeType>>, requestColumns: ApiRequestColumns): CachedQueryItem<ItemTypeType>;
22
+ /**
23
+ * Every time a cached query item is created, either 'resolve' or 'reject' has to be called on the cached query item.
24
+ */
25
+ setCachedQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, parsedQuery: CollectionQuery, requestColumns: ApiRequestColumns, itemEntries?: Array<ItemEntry<ItemTypeType>>): CachedQueryItem<ItemTypeType>;
26
+ /**
27
+ * Every time a cached query item is created, either 'resolve' or 'reject' has to be called on the cached query item.
28
+ */
29
+ protected constructCachedQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, parsedQuery: CollectionQuery, itemEntries: Array<ItemEntry<ItemTypeType>>, requestColumns: ApiRequestColumns): CachedQueryItem<ItemTypeType>;
32
30
  getCachedQueryItems<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, queryString: string): undefined | Array<ItemEntry<ItemTypeType>>;
33
31
  getCachedQueryObjectsByItemType(itemType: ApiEnumItemType): CachedQueryItem[];
34
- initCachedQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, parsedQuery: CollectionQuery, requestColumns: ApiRequestColumns): CachedQueryItem<ItemTypeType>;
35
32
  /**
36
33
  * @description
37
34
  * Fetches a {@link CollectionEntry CollectionEntry} with the given options
@@ -22,5 +22,8 @@ export declare class TransactionCachedQueryHandler extends CachedQueryHandlerBas
22
22
  */
23
23
  isLocal(options: CollectionOptions | ItemEntryOptions, query: ApiQuery): boolean;
24
24
  __fetchItemEntriesByQueryData<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, options: CollectionOptions<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, collectionQuery: CollectionQuery): PromiseInterface<CachedQueryItem<ItemTypeType>>;
25
+ private resolveLocalCachedQueryItem;
26
+ private expandCachedQueryItemEntries;
27
+ private syncCachedQueryWithLocalItems;
25
28
  __fetchLinkedCachedQueryItems<ItemTypeType extends ApiEnumItemType>(parentType: ApiEnumItemType, parentIdArray: ItemId[] | (() => ItemId[]), itemType: ItemTypeType, options: CollectionOptions): PromiseInterface<ParentIdMap<CachedQueryItem<ItemTypeType>>>;
26
29
  }
@@ -8,6 +8,7 @@ export * from './types/PromiseInterface';
8
8
  export * from './models/ItemEntryOptions';
9
9
  export * from './models/ItemEntry';
10
10
  export * from './models/ItemResource';
11
+ export * from './models/CachedQueryItem';
11
12
  export * from './models/CollectionOptions';
12
13
  export * from './models/CollectionEntry';
13
14
  export * from './models/CollectionResource';
@@ -0,0 +1,19 @@
1
+ import { ApiEnumItemType } from '@rentman/backend-types';
2
+ import { ApiRequestColumns, CollectionQuery, ItemEntry, PromiseInterface, PromiseLibraryInterface } from '../internal';
3
+ export declare class CachedQueryItem<ItemTypeType extends ApiEnumItemType = any> {
4
+ readonly itemType: ItemTypeType;
5
+ query: CollectionQuery;
6
+ items: ItemEntry<ItemTypeType>[];
7
+ requestColumns: ApiRequestColumns;
8
+ private promiseService;
9
+ promise: PromiseInterface<this>;
10
+ private deferred;
11
+ constructor(itemType: ItemTypeType, query: CollectionQuery, items: ItemEntry<ItemTypeType>[], requestColumns: ApiRequestColumns, promiseService: PromiseLibraryInterface);
12
+ itemsResolved(): boolean;
13
+ /**
14
+ * Resolve can be called on items that are already resolved. The request buffer might or might not combine
15
+ * requests together.
16
+ */
17
+ resolve(): void;
18
+ reject(reason: any): void;
19
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rentman/rm-core",
3
- "version": "8.1.8",
3
+ "version": "8.1.9",
4
4
  "description": "Rentman core functionalities",
5
5
  "main": "./dist/rm-core.js",
6
6
  "types": "./dist/types/index.d.ts",