@rentman/rm-core 59.5.0 → 60.0.0

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,5 +1,5 @@
1
1
  import { ApiItemType, ItemId, ResponseColumn, UnknownResponseColumn } from '@rentman/backend-types';
2
- import { ApiResponse, ColumnInfo, DerivedStringToRequestColumnPath, FieldMap, ItemTypeMap, ResolveDerivedValue, ResponseColumnItemTypeMap, ResponseColumnMap } from '../internal';
2
+ import { ApiResponse, ColumnInfo, DerivedStringToRequestColumnPath, FieldMap, GetFieldValueType, ItemTypeColumnId, ItemTypeMap, ResolveDerivedValue, ResponseColumnItemTypeMap, ResponseColumnMap } from '../internal';
3
3
  export declare class ApiResponseProcessor<RequestItemType extends ApiItemType = any> {
4
4
  response: ApiResponse<RequestItemType>;
5
5
  itemType: RequestItemType;
@@ -9,8 +9,8 @@ export declare class ApiResponseProcessor<RequestItemType extends ApiItemType =
9
9
  map: any;
10
10
  items: ApiResponse<RequestItemType>['items'];
11
11
  columnIndexMap: {
12
- [itemType: string]: {
13
- [columnId: string]: number;
12
+ [ItemTypeType in ApiItemType]?: {
13
+ [ColumnId in ItemTypeColumnId<ItemTypeType>]?: number;
14
14
  };
15
15
  };
16
16
  columnMap: ResponseColumnItemTypeMap;
@@ -19,7 +19,7 @@ export declare class ApiResponseProcessor<RequestItemType extends ApiItemType =
19
19
  fetchColumnObject(itemType: ApiItemType): ResponseColumnMap;
20
20
  fetchDerivedValue<T extends string, DefaultValue = undefined>(initialItemId: ItemId, columnPath: T, defaultValue?: DefaultValue): ResolveDerivedValue<RequestItemType, DerivedStringToRequestColumnPath<T>>;
21
21
  fetchDerivedValue<T extends readonly string[], DefaultValue = undefined>(initialItemId: ItemId, columnPath: T, defaultValue?: DefaultValue): ResolveDerivedValue<RequestItemType, T>;
22
- fetchValue(itemType: ApiItemType, itemId: ItemId, columnId: string): any;
22
+ fetchValue<ItemTypeType extends ApiItemType, ColumnId extends ItemTypeColumnId<ItemTypeType>>(itemType: ItemTypeType, itemId: ItemId, columnId: ColumnId): GetFieldValueType<ItemTypeType, ColumnId> | undefined;
23
23
  fetchColumnArray<const ItemTypeType extends ApiItemType>(itemType: ItemTypeType): ResponseColumn<ItemTypeType>[];
24
24
  fetchDerivedObject(itemType: ApiItemType, itemId: ItemId, rootColumns: ColumnInfo[]): {};
25
25
  fetchDerivedValues(value: any, column: ColumnInfo, destination: any): void;
@@ -52,7 +52,7 @@ export declare abstract class AantaltotaalBusinessLogicRuleBase<ItemTypeType ext
52
52
  Inhuurmateriaal: typeof subhireEquipmentColumns;
53
53
  }[ItemTypeType];
54
54
  condition(context: BusinessLogicRuleConditionContext): Promise<LatestEquipmentItem<ItemTypeType>[] | typeof BLR_SKIP_RULE>;
55
- dependency(_transaction: TransactionCache, affectedEquipmentItems: LatestEquipmentItem<ItemTypeType>[], context: BusinessLogicRuleContextBase): Promise<Dependency<ItemTypeType>>;
55
+ dependency(transaction: TransactionCache, affectedEquipmentItems: LatestEquipmentItem<ItemTypeType>[], context: BusinessLogicRuleContextBase): Promise<Dependency<ItemTypeType>>;
56
56
  apply(context: BusinessLogicRuleApplyContext, dependency: Dependency<ItemTypeType>): void;
57
57
  private fetchEquipmentIsPhysicalMap;
58
58
  private updatePlannedEquipmentItem;
@@ -74,7 +74,7 @@ export declare class ChangesDelta extends ChangesDeltaBase<ChangesDeltaItemDelet
74
74
  *
75
75
  * @internal
76
76
  */
77
- _setItemCreated<ItemTypeType extends ApiItemType, Fields extends Partial<FieldMap<ItemTypeType>>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull, isRoot?: boolean, isApiResponse?: boolean): this;
77
+ _setItemCreated<ItemTypeType extends ApiItemType, Fields extends Partial<FieldMap<ItemTypeType>>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull, isApiResponse?: boolean): this;
78
78
  /**
79
79
  * @description
80
80
  * Convenience function to assign the proper parent fields, will call {@link ChangesDeltaBase.setItemUpdated setItemUpdated} internally
@@ -6,12 +6,11 @@ export type ChangesDeltaItemCreateDelta<ItemTypeType extends ApiItemType = any>
6
6
  itemId: ItemId;
7
7
  fields: FieldMap<ItemTypeType>;
8
8
  columns: ColumnSet<ItemTypeType>;
9
- isRoot: boolean;
10
9
  };
11
10
  export declare class CreatedChangesDelta {
12
11
  private tuples;
13
12
  remove(itemType: ApiItemType, itemId: ItemId): boolean;
14
- add<ItemTypeType extends ApiItemType>(itemId: ItemId, fields: Partial<FieldMap<ItemTypeType>>, columns: ColumnSet<ItemTypeType>, isRoot?: boolean): void;
13
+ add<ItemTypeType extends ApiItemType>(itemId: ItemId, fields: Partial<FieldMap<ItemTypeType>>, columns: ColumnSet<ItemTypeType>): void;
15
14
  isEmpty(): boolean;
16
15
  getTuplesIterator<ItemTypeType extends ApiItemType>(itemType: ItemTypeType): IterableIterator<ChangesDeltaItemCreateDelta<ItemTypeType>>;
17
16
  forEach(callback: (tuple: ChangesDeltaItemCreateDelta, itemType: ApiItemType) => void): void;
@@ -9,6 +9,6 @@ export declare class ItemCreateService {
9
9
  * Fetches a new {@link Template template} and sets the items created on the passed {@link ChangesDelta}
10
10
  */
11
11
  createItemsFromValues<ItemTypeType extends ApiItemType, ColumnIds extends (keyof ApiFields[ItemTypeType])[] = (keyof ApiFields[ItemTypeType])[]>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Partial<FieldMap<ItemTypeType, ColumnIds>>[], parent?: EntryParentNull, templateOptions?: Partial<RequestParameters<ItemTypeType>>): Promise<void[]>;
12
- processTemplate<ItemTypeType extends ApiItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback, isRoot?: boolean): void;
12
+ processTemplate<ItemTypeType extends ApiItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
13
13
  processTemplateLinkItems<ParentItemType extends ApiItemType>(changesDelta: ChangesDelta, parentType: ParentItemType, localParentId: ItemId, template: Template<any>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
14
14
  }
@@ -1,6 +1,6 @@
1
1
  import { WritableSignal } from '@angular/core';
2
2
  import { ApiItemType, ItemId } from '@rentman/backend-types';
3
- import { AbstractCache, AbstractCacheDependencyInterface, ApiQuery, ApiRequestColumnArray, ApiRequestColumns, CachedQueryItem, ChangesDelta, ChangesDeltaResult, ChildChangesDelta, ChildCollectionResources, CollectionOptions, CollectionQuery, CollectionResource, ConversionMap, CreateRequestParameterMap, DeregFunction, FieldMap, ItemAggregatedChangesListener, ItemChangesListener, ItemEntry, ItemIdConversionMap, ItemOptions, ItemResource, ItemResourcesItemTypeMap, ItemsByQueryOptions, ItemTypeMap, LimitedCollectionResource, ModuleChangesCompilationResult, NewItemOptions, OnAfterCreateCallback, ParentChangesDelta, ParentIdMap, RmCore, RootCollectionOptions, ServerCache, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCachedQueryHandler, TransactionEventHandler, TransactionItemHandler, TransactionOptions, TransactionValidator, TransactionValidatorFactory } from '../../../internal';
3
+ import { AbstractCache, AbstractCacheDependencyInterface, ApiQuery, ApiRequestColumnArray, ApiRequestColumns, CachedQueryItem, ChangesDelta, ChangesDeltaResult, ChildChangesDelta, ChildCollectionResources, CollectionQuery, CollectionResource, ConversionMap, CreateRequestParameterMap, DeregFunction, FieldMap, ItemAggregatedChangesListener, ItemChangesListener, ItemEntry, ItemIdConversionMap, ItemOptions, ItemResource, ItemResourcesItemTypeMap, ItemsByQueryOptions, ItemTypeMap, LimitedCollectionResource, ModuleChangesCompilationResult, NewItemOptions, OnAfterCreateCallback, ParentChangesDelta, ParentIdMap, RmCore, RootCollectionOptions, ServerCache, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCachedQueryHandler, TransactionEventHandler, TransactionItemHandler, TransactionOptions, TransactionValidator, TransactionValidatorFactory } from '../../../internal';
4
4
  import { TransactionValidatorWithDependencies } from './TransactionValidatorWithDependencies';
5
5
  type ItemResourceLinks<ItemTypeType extends ApiItemType, ColumnIds extends ApiRequestColumnArray<ItemTypeType>, Children extends ChildCollectionResources | undefined> = {
6
6
  main: ItemResource<ItemTypeType, ColumnIds, Children>;
@@ -72,6 +72,10 @@ export declare class TransactionCache extends AbstractCache {
72
72
  firstError: import("@angular/core").Signal<GlobalTransactionError | undefined>;
73
73
  firstErrorString: import("@angular/core").Signal<string | undefined>;
74
74
  rootItemSignal: WritableSignal<ItemEntry<any> | undefined>;
75
+ rootItemToBeSet?: {
76
+ itemType: ApiItemType;
77
+ itemId: ItemId;
78
+ };
75
79
  /**
76
80
  * @description
77
81
  * Stores additional request parameters for when the transaction is stored to the server
@@ -253,7 +257,7 @@ export declare class TransactionCache extends AbstractCache {
253
257
  /**
254
258
  * @deprecated Use the `children` collection option instead.
255
259
  */
256
- getLinkCollections<const ItemTypeType extends ApiItemType, const OptionsType extends CollectionOptions<ItemTypeType>>(linkType: ApiItemType, linkIdArray: ItemId[], itemType: ItemTypeType, options: OptionsType): Promise<ParentIdMap<OptionsToCollectionResource<ItemTypeType, OptionsType>>>;
260
+ getLinkCollections<const ItemTypeType extends ApiItemType, const OptionsType extends RootCollectionOptions<ItemTypeType>>(linkType: ApiItemType, linkIdArray: ItemId[], itemType: ItemTypeType, options: OptionsType): Promise<ParentIdMap<OptionsToCollectionResource<ItemTypeType, OptionsType>>>;
257
261
  getCollection<const ItemTypeType extends ApiItemType, const OptionsType extends RootCollectionOptions<ItemTypeType>>(itemType: ItemTypeType, options: OptionsType): Promise<OptionsToCollectionResource<ItemTypeType, OptionsType>>;
258
262
  getNewResourceWithId<const ItemTypeType extends ApiItemType, const OptionsType extends NewItemOptions<ItemTypeType>>(itemType: ItemTypeType, itemId: ItemId, options: OptionsType, returnLinks: true, isRoot?: boolean): Promise<ItemResourceLinks<ItemTypeType, OptionsType['columns'], OptionsToChildCollections<OptionsType>>>;
259
263
  getNewResourceWithId<const ItemTypeType extends ApiItemType, const OptionsType extends NewItemOptions<ItemTypeType>>(itemType: ItemTypeType, itemId: ItemId, options: OptionsType, returnLinks?: boolean, isRoot?: boolean): Promise<ItemResource<ItemTypeType, OptionsType['columns'], OptionsToChildCollections<OptionsType>>>;
@@ -81,7 +81,7 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
81
81
  * @description
82
82
  * Fetches a template and creates a new {@link ItemEntry ItemEntry}, will error if the ItemEntry with the given ItemId already exists
83
83
  */
84
- fetchNewItemEntry<ItemTypeType extends ApiItemType>(itemType: ItemTypeType, itemId: ItemId, options: NewItemOptions<ItemTypeType>, isRoot?: boolean): Promise<ChangesDeltaResult>;
84
+ fetchNewItemEntry<ItemTypeType extends ApiItemType>(itemType: ItemTypeType, itemId: ItemId, options: NewItemOptions<ItemTypeType>): Promise<ChangesDeltaResult>;
85
85
  fetchItemEntryData<ItemTypeType extends ApiItemType>(itemType: ItemTypeType, itemIds: Iterable<ItemId>, columnsOperationsCache: RequestColumnsOperationsCache<ItemTypeType>, refreshAggregateColumns: boolean, forceRequest?: boolean): Promise<ItemEntry<ItemTypeType>[]>;
86
86
  fetchTitle<ItemTypeType extends ApiItemType>(itemType: ItemTypeType, itemId: ItemId): Promise<string>;
87
87
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rentman/rm-core",
3
- "version": "59.5.0",
3
+ "version": "60.0.0",
4
4
  "description": "Rentman core functionalities",
5
5
  "main": "./dist/rm-core.js",
6
6
  "types": "./dist/types/src/index.d.ts",