feat: New actions

This commit is contained in:
BluJ
2023-05-03 13:15:51 -06:00
parent f4c93438f8
commit a71b2f9f82
5 changed files with 57 additions and 24 deletions

View File

@@ -1,15 +1,19 @@
import { Effects, ExpectedExports, ExportedAction } from "../types"
import { ActionMetaData } from "../types"
import { once } from "../util/once"
import { CreatedAction } from "./createAction"
export function setupActions(...createdActions: CreatedAction<any, any>[]) {
const myActions = once(() => {
const actions: Record<string, CreatedAction<any, any>> = {}
for (const action of createdActions) {
actions[action.myMetaData.id] = action
}
return actions
})
return {
get actions() {
const actions: Record<string, ExportedAction> = {}
for (const action of createdActions) {
actions[action.myMetaData.id] = action.exportedAction
}
return actions
return myActions()
},
get actionsMetadata() {
return createdActions.map((x) => x.myMetaData)