@node-ts/bus-workflow
Advanced tools
Comparing version 0.5.9 to 0.6.0
@@ -8,7 +8,7 @@ import { Message, MessageAttributes } from '@node-ts/bus-messages'; | ||
export declare const WORKFLOW_HANDLES_METADATA_KEY: unique symbol; | ||
export declare class WorkflowHandlesMetadata { | ||
export declare class WorkflowHandlesMetadata<WorkflowDataType extends WorkflowData = WorkflowData> { | ||
propertyKey: string; | ||
messageConstructor: ClassConstructor<Message>; | ||
messageWorkflowMapping: MessageWorkflowMapping<Message, WorkflowData>; | ||
static addStep(metadata: WorkflowHandlesMetadata, target: Workflow<WorkflowData>): void; | ||
messageWorkflowMapping: MessageWorkflowMapping<Message, WorkflowDataType>; | ||
static addStep<WorkflowDataType extends WorkflowData>(metadata: WorkflowHandlesMetadata<WorkflowDataType>, target: Workflow<WorkflowDataType>): void; | ||
static getSteps(target: WorkflowConstructor<WorkflowData>): WorkflowHandlesMetadata[]; | ||
@@ -24,2 +24,2 @@ } | ||
*/ | ||
export declare function Handles<TMessage extends Message, WorkflowDataType extends WorkflowData, KeyType extends string, TargetType extends WorkflowWithHandler<TMessage, WorkflowDataType, KeyType> = WorkflowWithHandler<TMessage, WorkflowDataType, KeyType>>(messageConstructor: ClassConstructor<TMessage>, messageLookup: (message: TMessage, messageOptions: MessageAttributes) => string | undefined, workflowDataProperty: keyof WorkflowDataType & string): (target: TargetType, propertyKey: KeyType) => void; | ||
export declare function Handles<TMessage extends Message, WorkflowDataType extends WorkflowData, KeyType extends string, TargetType extends WorkflowWithHandler<TMessage, WorkflowDataType, KeyType> = WorkflowWithHandler<TMessage, WorkflowDataType, KeyType>>(messageConstructor: ClassConstructor<TMessage>, messageLookup: (message: TMessage, messageOptions: MessageAttributes) => string | undefined, workflowDataProperty: keyof WorkflowDataType): (target: TargetType, propertyKey: KeyType) => void; |
@@ -5,3 +5,3 @@ import { Message, MessageAttributes } from '@node-ts/bus-messages'; | ||
lookupMessage: (message: MessageType, messageOptions?: MessageAttributes) => string | undefined; | ||
readonly workflowDataProperty: keyof WorkflowDataType & string; | ||
readonly workflowDataProperty: keyof WorkflowDataType; | ||
/** | ||
@@ -12,3 +12,3 @@ * A mapping definition between an incoming message and 0..* workflow data instances in persistence. | ||
*/ | ||
constructor(lookupMessage: (message: MessageType, messageOptions?: MessageAttributes) => string | undefined, workflowDataProperty: keyof WorkflowDataType & string); | ||
constructor(lookupMessage: (message: MessageType, messageOptions?: MessageAttributes) => string | undefined, workflowDataProperty: keyof WorkflowDataType); | ||
} |
@@ -16,3 +16,3 @@ import { Persistence } from './persistence'; | ||
constructor(logger: Logger); | ||
initializeWorkflow<TWorkflowData extends WorkflowData>(workflowDataConstructor: ClassConstructor<TWorkflowData>, _: MessageWorkflowMapping<Message, WorkflowData>[]): Promise<void>; | ||
initializeWorkflow<TWorkflowData extends WorkflowData>(workflowDataConstructor: ClassConstructor<TWorkflowData>, _: MessageWorkflowMapping<Message, TWorkflowData>[]): Promise<void>; | ||
getWorkflowData<WorkflowDataType extends WorkflowData, MessageType extends Message>(workflowDataConstructor: ClassConstructor<WorkflowDataType>, messageMap: MessageWorkflowMapping<MessageType, WorkflowDataType>, message: MessageType, messageOptions: MessageAttributes, includeCompleted?: boolean | undefined): Promise<WorkflowDataType[]>; | ||
@@ -19,0 +19,0 @@ saveWorkflowData<WorkflowDataType extends WorkflowData>(workflowData: WorkflowDataType): Promise<void>; |
{ | ||
"name": "@node-ts/bus-workflow", | ||
"description": "A workflow engine for orchestrating logic flows in distributed applications.", | ||
"version": "0.5.9", | ||
"version": "0.6.0", | ||
"license": "MIT", | ||
@@ -19,3 +19,3 @@ "main": "./dist/index.js", | ||
"dependencies": { | ||
"@node-ts/bus-messages": "^0.2.3", | ||
"@node-ts/bus-messages": "^0.3.0", | ||
"tslib": "^1.9.3", | ||
@@ -25,3 +25,3 @@ "uuid": "^3.3.2" | ||
"devDependencies": { | ||
"@node-ts/bus-core": "^0.5.9", | ||
"@node-ts/bus-core": "^0.6.0", | ||
"@node-ts/code-standards": "^0.0.10", | ||
@@ -60,3 +60,3 @@ "@node-ts/logger-core": "^0.0.17", | ||
], | ||
"gitHead": "895bdd8ae7080e5fdb2dd7832236793ac438fb9a" | ||
"gitHead": "82997a83eeeff6e27b55d89373c91a202b1e590b" | ||
} |
@@ -7,3 +7,3 @@ --- | ||
[![Greenkeeper badge](https://badges.greenkeeper.io/node-ts/bus.svg)](https://greenkeeper.io/) | ||
[![Known Vulnerabilities](https://snyk.io/test/github/node-ts/bus/badge.svg)](https://snyk.io/test/github/node-ts/bus) | ||
[![CircleCI](https://circleci.com/gh/node-ts/bus/tree/master.svg?style=svg)](https://circleci.com/gh/node-ts/bus/tree/master)[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) | ||
@@ -10,0 +10,0 @@ |
@@ -11,8 +11,11 @@ import { Message, MessageAttributes } from '@node-ts/bus-messages' | ||
export class WorkflowHandlesMetadata { | ||
export class WorkflowHandlesMetadata<WorkflowDataType extends WorkflowData = WorkflowData> { | ||
propertyKey: string | ||
messageConstructor: ClassConstructor<Message> | ||
messageWorkflowMapping: MessageWorkflowMapping<Message, WorkflowData> | ||
messageWorkflowMapping: MessageWorkflowMapping<Message, WorkflowDataType> | ||
static addStep (metadata: WorkflowHandlesMetadata, target: Workflow<WorkflowData>): void { | ||
static addStep<WorkflowDataType extends WorkflowData> ( | ||
metadata: WorkflowHandlesMetadata<WorkflowDataType>, | ||
target: Workflow<WorkflowDataType> | ||
): void { | ||
ReflectExtensions.defineMetadata(WORKFLOW_HANDLES_METADATA_KEY, metadata, target.constructor) | ||
@@ -43,10 +46,13 @@ } | ||
messageLookup: (message: TMessage, messageOptions: MessageAttributes) => string | undefined, | ||
workflowDataProperty: keyof WorkflowDataType & string | ||
workflowDataProperty: keyof WorkflowDataType | ||
): (target: TargetType, propertyKey: KeyType) => void { | ||
return (target: TargetType, propertyKey: string): void => | ||
WorkflowHandlesMetadata.addStep( | ||
WorkflowHandlesMetadata.addStep<WorkflowDataType>( | ||
{ | ||
propertyKey, | ||
messageConstructor, | ||
messageWorkflowMapping: new MessageWorkflowMapping(messageLookup, workflowDataProperty) | ||
messageWorkflowMapping: new MessageWorkflowMapping<TMessage, WorkflowDataType>( | ||
messageLookup, | ||
workflowDataProperty | ||
) | ||
}, | ||
@@ -53,0 +59,0 @@ target |
@@ -13,5 +13,5 @@ import { Message, MessageAttributes } from '@node-ts/bus-messages' | ||
public lookupMessage: (message: MessageType, messageOptions?: MessageAttributes) => string | undefined, | ||
readonly workflowDataProperty: keyof WorkflowDataType & string | ||
readonly workflowDataProperty: keyof WorkflowDataType | ||
) { | ||
} | ||
} |
@@ -30,3 +30,3 @@ import { Persistence } from './persistence' | ||
workflowDataConstructor: ClassConstructor<TWorkflowData>, | ||
_: MessageWorkflowMapping<Message, WorkflowData>[] | ||
_: MessageWorkflowMapping<Message, TWorkflowData>[] | ||
): Promise<void> { | ||
@@ -33,0 +33,0 @@ this.workflowData[workflowDataConstructor.name] = [] |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
136906
2229
+ Added@node-ts/bus-messages@0.3.4(transitive)
- Removed@node-ts/bus-messages@0.2.3(transitive)
Updated@node-ts/bus-messages@^0.3.0