Skip to content

Commit 8753c52

Browse files
committed
add helper
1 parent 183d0dc commit 8753c52

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

.changeset/cyan-experts-smoke.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@effect-app/vue": patch
3+
---
4+
5+
render

packages/vue/src/commander.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Cause, Context, Effect, type Exit, type Fiber, flow, Layer, Match, Muta
55
import { SupportedErrors } from "effect-app/client"
66
import { OperationFailure, OperationSuccess } from "effect-app/Operations"
77
import { isGeneratorFunction, wrapEffect } from "effect-app/utils"
8+
import { type Refinement } from "effect/Predicate"
89
import { type AsyncResult } from "effect/unstable/reactivity/AsyncResult"
910
import { type FormatXMLElementFn, type PrimitiveType } from "intl-messageformat"
1011
import { computed, type ComputedRef, reactive, ref } from "vue"
@@ -1661,19 +1662,19 @@ export declare namespace Commander {
16611662

16621663
type ErrorRenderer<E, Args extends readonly any[]> = (e: E, action: string, ...args: Args) => string | undefined
16631664

1664-
type RegisteredErrorRenderer = {
1665-
guard: Predicate.Predicate<unknown>
1666-
render: (guarded: unknown) => string | undefined
1665+
type RegisteredErrorRenderer<A> = {
1666+
guard: Refinement<unknown, A>
1667+
render: (guarded: A) => string | undefined
16671668
}
16681669

16691670
export class CommanderErrorRenderers extends Context.Reference("Commander.ErrorRenderers", {
1670-
defaultValue: (): ReadonlyArray<RegisteredErrorRenderer> => []
1671+
defaultValue: () => [] as RegisteredErrorRenderer<any>[]
16711672
}) {}
16721673

1673-
const makeRegisteredErrorRenderer = <A>(
1674+
export const makeRegisteredErrorRenderer = <A>(
16741675
guard: Predicate.Refinement<unknown, A>,
16751676
render: (guarded: A) => string | undefined
1676-
): RegisteredErrorRenderer => ({
1677+
): RegisteredErrorRenderer<A> => ({
16771678
guard,
16781679
render: (guarded) => guard(guarded) ? render(guarded) : undefined
16791680
})

0 commit comments

Comments
 (0)