Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Rx.subRef & runtime.subRef constructor #110

Merged
merged 1 commit into from
Feb 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/nervous-ads-develop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect-rx/rx": patch
---

add Rx.subRef & runtime.subRef constructor
18 changes: 9 additions & 9 deletions docs/rx-react/index.ts.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const useRxRefresh: <A>(rx: any) => () => void
export declare const useRxRefresh: <A>(rx: Rx.Rx<A> & Rx.Refreshable) => () => void
```

Added in v1.0.0
Expand All @@ -116,8 +116,8 @@ Added in v1.0.0

```ts
export declare const useRxSetPromise: <E, A, W>(
rx: Rx.Writable<Result.Result<E, A>, W>
) => (_: W) => Promise<Exit.Exit<E, A>>
rx: Rx.Writable<Result.Result<A, E>, W>
) => (_: W) => Promise<Exit.Exit<A, E>>
```

Added in v1.0.0
Expand All @@ -141,10 +141,10 @@ Added in v1.0.0
**Signature**

```ts
export declare const useRxSuspense: <E, A>(
rx: Rx.Rx<Result.Result<E, A>>,
export declare const useRxSuspense: <A, E>(
rx: Rx.Rx<Result.Result<A, E>>,
options?: { readonly suspendOnWaiting?: boolean }
) => any
) => Result.Success<A, E> | Result.Failure<A, E>
```

Added in v1.0.0
Expand All @@ -154,10 +154,10 @@ Added in v1.0.0
**Signature**

```ts
export declare const useRxSuspenseSuccess: <E, A>(
rx: Rx.Rx<Result.Result<E, A>>,
export declare const useRxSuspenseSuccess: <A, E>(
rx: Rx.Rx<Result.Result<A, E>>,
options?: { readonly suspendOnWaiting?: boolean }
) => Result.Success<E, A>
) => Result.Success<A, E>
```

Added in v1.0.0
Expand Down
99 changes: 56 additions & 43 deletions docs/rx/Result.ts.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ Added in v1.0.0
- [refinements](#refinements)
- [isFailure](#isfailure)
- [isInitial](#isinitial)
- [isInterrupted](#isinterrupted)
- [isNotInitial](#isnotinitial)
- [isSuccess](#issuccess)
- [type ids](#type-ids)
Expand All @@ -58,7 +59,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const cause: <E, A>(self: Result<E, A>) => Option.Option<Cause.Cause<E>>
export declare const cause: <A, E>(self: Result<A, E>) => Option.Option<Cause.Cause<E>>
```

Added in v1.0.0
Expand All @@ -68,7 +69,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const value: <E, A>(self: Result<E, A>) => Option.Option<A>
export declare const value: <A, E>(self: Result<A, E>) => Option.Option<A>
```

Added in v1.0.0
Expand All @@ -80,8 +81,10 @@ Added in v1.0.0
**Signature**

```ts
export declare const map: (<A, B>(f: (a: A) => B) => <E>(self: Result<E, A>) => Result<E, B>) &
(<E, A, B>(self: Result<E, A>, f: (a: A) => B) => Result<E, B>)
export declare const map: {
<A, B>(f: (a: A) => B): <E>(self: Result<A, E>) => Result<B, E>
<E, A, B>(self: Result<A, E>, f: (a: A) => B): Result<B, E>
}
```

Added in v1.0.0
Expand All @@ -91,7 +94,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const toExit: <E, A>(self: Result<E, A>) => Exit.Exit<Cause.NoSuchElementException | E, A>
export declare const toExit: <A, E>(self: Result<A, E>) => Exit.Exit<A, Cause.NoSuchElementException | E>
```

Added in v1.0.0
Expand All @@ -103,11 +106,11 @@ Added in v1.0.0
**Signature**

```ts
export declare const fail: <E, A>(
export declare const fail: <A, E>(
error: E,
previousData?: Option.Option<A> | undefined,
waiting?: boolean
) => Failure<E, A>
) => Failure<A, E>
```

Added in v1.0.0
Expand All @@ -117,11 +120,11 @@ Added in v1.0.0
**Signature**

```ts
export declare const failWithPrevious: <E, A>(
export declare const failWithPrevious: <A, E>(
error: E,
previous: Option.Option<Result<E, A>>,
previous: Option.Option<Result<A, E>>,
waiting?: boolean
) => Failure<E, A>
) => Failure<A, E>
```

Added in v1.0.0
Expand All @@ -131,11 +134,11 @@ Added in v1.0.0
**Signature**

```ts
export declare const failure: <E, A>(
export declare const failure: <A, E>(
cause: Cause.Cause<E>,
previousValue?: Option.Option<A>,
waiting?: boolean
) => Failure<E, A>
) => Failure<A, E>
```

Added in v1.0.0
Expand All @@ -145,11 +148,11 @@ Added in v1.0.0
**Signature**

```ts
export declare const failureWithPrevious: <E, A>(
export declare const failureWithPrevious: <A, E>(
cause: Cause.Cause<E>,
previous: Option.Option<Result<E, A>>,
previous: Option.Option<Result<A, E>>,
waiting?: boolean
) => Failure<E, A>
) => Failure<A, E>
```

Added in v1.0.0
Expand All @@ -159,7 +162,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const fromExit: <E, A>(exit: Exit.Exit<E, A>) => Success<E, A> | Failure<E, A>
export declare const fromExit: <A, E>(exit: Exit.Exit<A, E>) => Success<A, E> | Failure<A, E>
```

Added in v1.0.0
Expand All @@ -169,10 +172,10 @@ Added in v1.0.0
**Signature**

```ts
export declare const fromExitWithPrevious: <E, A>(
exit: Exit.Exit<E, A>,
previous: Option.Option<Result<E, A>>
) => Success<E, A> | Failure<E, A>
export declare const fromExitWithPrevious: <A, E>(
exit: Exit.Exit<A, E>,
previous: Option.Option<Result<A, E>>
) => Success<A, E> | Failure<A, E>
```

Added in v1.0.0
Expand All @@ -182,7 +185,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const initial: <E, A>(waiting?: boolean) => Initial<E, A>
export declare const initial: <A, E>(waiting?: boolean) => Initial<A, E>
```

Added in v1.0.0
Expand All @@ -194,8 +197,8 @@ Added in v1.0.0
```ts
export declare const replacePrevious: <R extends Result<any, any>, XE, A>(
self: R,
previous: Option.Option<Result<XE, A>>
) => Result.With<R, Result.InferE<R>, A>
previous: Option.Option<Result<A, XE>>
) => Result.With<R, A, Result.InferE<R>>
```

Added in v1.0.0
Expand All @@ -205,7 +208,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const success: <E, A>(value: A, waiting?: boolean) => Success<E, A>
export declare const success: <A, E>(value: A, waiting?: boolean) => Success<A, E>
```

Added in v1.0.0
Expand All @@ -225,7 +228,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const waitingFrom: <E, A>(previous: Option.Option<Result<E, A>>) => Result<E, A>
export declare const waitingFrom: <A, E>(previous: Option.Option<Result<A, E>>) => Result<A, E>
```

Added in v1.0.0
Expand All @@ -237,7 +240,7 @@ Added in v1.0.0
**Signature**

```ts
export interface Failure<E, A> extends Result.Proto<E, A> {
export interface Failure<A, E = never> extends Result.Proto<A, E> {
readonly _tag: "Failure"
readonly cause: Cause.Cause<E>
readonly previousValue: Option.Option<A>
Expand All @@ -251,7 +254,7 @@ Added in v1.0.0
**Signature**

```ts
export interface Initial<E, A> extends Result.Proto<E, A> {
export interface Initial<A, E = never> extends Result.Proto<A, E> {
readonly _tag: "Initial"
}
```
Expand All @@ -263,7 +266,7 @@ Added in v1.0.0
**Signature**

```ts
export type Result<E, A> = Initial<E, A> | Success<E, A> | Failure<E, A>
export type Result<A, E = never> = Initial<A, E> | Success<A, E> | Failure<A, E>
```

Added in v1.0.0
Expand All @@ -277,7 +280,7 @@ Added in v1.0.0
**Signature**

```ts
export interface Proto<E, A> extends Pipeable, Data.Case {
export interface Proto<A, E> extends Pipeable {
readonly [TypeId]: {
readonly E: (_: never) => E
readonly A: (_: never) => A
Expand All @@ -293,7 +296,7 @@ Added in v1.0.0
**Signature**

```ts
export type InferA<R extends Result<any, any>> = R extends Result<infer _, infer A> ? A : never
export type InferA<R extends Result<any, any>> = R extends Result<infer A, infer _> ? A : never
```

Added in v1.0.0
Expand All @@ -303,7 +306,7 @@ Added in v1.0.0
**Signature**

```ts
export type InferE<R extends Result<any, any>> = R extends Result<infer E, infer _> ? E : never
export type InferE<R extends Result<any, any>> = R extends Result<infer _, infer E> ? E : never
```

Added in v1.0.0
Expand All @@ -313,13 +316,13 @@ Added in v1.0.0
**Signature**

```ts
export type With<R extends Result<any, any>, E, A> =
R extends Initial<infer _E, infer _A>
? Initial<E, A>
: R extends Success<infer _E, infer _A>
? Success<E, A>
: R extends Failure<infer _E, infer _A>
? Failure<E, A>
export type With<R extends Result<any, any>, A, E> =
R extends Initial<infer _A, infer _E>
? Initial<A, E>
: R extends Success<infer _A, infer _E>
? Success<A, E>
: R extends Failure<infer _A, infer _E>
? Failure<A, E>
: never
```

Expand All @@ -330,7 +333,7 @@ Added in v1.0.0
**Signature**

```ts
export interface Success<E, A> extends Result.Proto<E, A> {
export interface Success<A, E = never> extends Result.Proto<A, E> {
readonly _tag: "Success"
readonly value: A
}
Expand All @@ -345,7 +348,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const isFailure: <E, A>(result: Result<E, A>) => result is Failure<E, A>
export declare const isFailure: <A, E>(result: Result<A, E>) => result is Failure<A, E>
```

Added in v1.0.0
Expand All @@ -355,7 +358,17 @@ Added in v1.0.0
**Signature**

```ts
export declare const isInitial: <E, A>(result: Result<E, A>) => result is Initial<E, A>
export declare const isInitial: <A, E>(result: Result<A, E>) => result is Initial<A, E>
```

Added in v1.0.0

## isInterrupted

**Signature**

```ts
export declare const isInterrupted: <A, E>(result: Result<A, E>) => result is Failure<A, E>
```

Added in v1.0.0
Expand All @@ -365,7 +378,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const isNotInitial: <E, A>(result: Result<E, A>) => result is Success<E, A> | Failure<E, A>
export declare const isNotInitial: <A, E>(result: Result<A, E>) => result is Success<A, E> | Failure<A, E>
```

Added in v1.0.0
Expand All @@ -375,7 +388,7 @@ Added in v1.0.0
**Signature**

```ts
export declare const isSuccess: <E, A>(result: Result<E, A>) => result is Success<E, A>
export declare const isSuccess: <A, E>(result: Result<A, E>) => result is Success<A, E>
```

Added in v1.0.0
Expand Down
Loading
Loading