|
1 |
| -import { many, mapValues, setOf } from '@seedcompany/common'; |
2 | 1 | import { Merge } from 'type-fest';
|
3 |
| -import * as uuid from 'uuid'; |
4 |
| -import { ID, Many, maybeMany } from '~/common'; |
| 2 | +import { ID, Many } from '~/common'; |
5 | 3 | import { WorkflowTransition as PublicTransition } from '../dto/workflow-transition.dto';
|
6 | 4 | import { TransitionCondition } from './conditions';
|
7 | 5 | import { DynamicState } from './dynamic-state';
|
@@ -32,18 +30,3 @@ export type InternalTransition<
|
32 | 30 | notifiers?: ReadonlyArray<TransitionNotifier<Context>>;
|
33 | 31 | }>
|
34 | 32 | >;
|
35 |
| - |
36 |
| -export const defineTransitions = |
37 |
| - <State extends string, Context>(options: { namespaceId: string }) => |
38 |
| - <Names extends string>(obj: Record<Names, TransitionInput<State, Context>>) => |
39 |
| - mapValues( |
40 |
| - obj, |
41 |
| - (name, transition): InternalTransition<State, Names, Context> => ({ |
42 |
| - name: name, |
43 |
| - ...transition, |
44 |
| - from: transition.from ? setOf(many(transition.from)) : undefined, |
45 |
| - key: (transition.key ?? uuid.v5(name, options.namespaceId)) as ID, |
46 |
| - conditions: maybeMany(transition.conditions), |
47 |
| - notifiers: maybeMany(transition.notifiers), |
48 |
| - }), |
49 |
| - ).asRecord; |
0 commit comments