UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

102 lines 3.71 kB
/** * Фабрика операций и построитель батчей */ import { ICSElement } from '../types/interfaces'; import { BatchOperation, BatchOperationFactory, BatchBuilder, BatchConfig, BatchResult, BatchExecutionContext, IBatchManager } from '../types/batch-interfaces'; /** * Реализация фабрики операций */ export declare class DefaultBatchOperationFactory implements BatchOperationFactory { /** * Создать операцию создания элемента */ createElementOperation(elementData: any): BatchOperation; /** * Создать операцию обновления элемента */ updateElementOperation(element: ICSElement, updates: any): BatchOperation; /** * Создать операцию удаления элемента */ deleteElementOperation(element: ICSElement): BatchOperation; /** * Создать операцию перемещения элемента */ moveElementOperation(element: ICSElement, newParent: ICSElement): BatchOperation; /** * Создать операцию копирования элемента */ copyElementOperation(element: ICSElement, target: ICSElement): BatchOperation; /** * Создать операцию валидации */ validateElementOperation(element: ICSElement): BatchOperation; /** * Создать пользовательскую операцию */ customOperation(id: string, executor: (context: BatchExecutionContext) => Promise<any>): BatchOperation; } /** * Построитель батчей */ export declare class DefaultBatchBuilder implements BatchBuilder { private batchManager; private operationFactory; private batchId; private config; constructor(batchManager: IBatchManager, operationFactory?: BatchOperationFactory); /** * Установить конфигурацию */ withConfig(config: Partial<BatchConfig>): BatchBuilder; /** * Добавить операцию */ addOperation(operation: BatchOperation): BatchBuilder; /** * Добавить операции */ addOperations(operations: BatchOperation[]): BatchBuilder; /** * Добавить операцию создания */ createElement(elementData: any): BatchBuilder; /** * Добавить операцию обновления */ updateElement(element: ICSElement, updates: any): BatchBuilder; /** * Добавить операцию удаления */ deleteElement(element: ICSElement): BatchBuilder; /** * Добавить условную операцию */ when(condition: (context: BatchExecutionContext) => boolean, operation: BatchOperation): BatchBuilder; /** * Построить и выполнить батч */ execute(): Promise<BatchResult>; /** * Построить батч без выполнения */ build(): string; } /** * Утилитарные функции для создания операций */ export declare const BatchOperations: { /** * Создать операцию задержки */ delay(ms: number): BatchOperation; /** * Создать операцию логирования */ log(message: string, level?: "info" | "warn" | "error"): BatchOperation; /** * Создать операцию проверки условия */ assert(condition: (context: BatchExecutionContext) => boolean, message: string): BatchOperation; }; //# sourceMappingURL=BatchOperationFactory.d.ts.map