diff --git a/.changeset/shiny-months-worry.md b/.changeset/shiny-months-worry.md new file mode 100644 index 0000000..c8ab28a --- /dev/null +++ b/.changeset/shiny-months-worry.md @@ -0,0 +1,5 @@ +--- +"@effect-rx/rx": patch +--- + +add RxRef Collection.toArray diff --git a/docs/rx/RxRef.ts.md b/docs/rx/RxRef.ts.md index f18b31a..bd130d8 100644 --- a/docs/rx/RxRef.ts.md +++ b/docs/rx/RxRef.ts.md @@ -58,6 +58,7 @@ export interface Collection extends ReadonlyRef>> { readonly push: (item: A) => Collection readonly insertAt: (index: number, item: A) => Collection readonly remove: (ref: RxRef) => Collection + readonly toArray: () => Array } ``` diff --git a/packages/rx/src/RxRef.ts b/packages/rx/src/RxRef.ts index 5d2536d..29ee4c7 100644 --- a/packages/rx/src/RxRef.ts +++ b/packages/rx/src/RxRef.ts @@ -45,6 +45,7 @@ export interface Collection extends ReadonlyRef>> { readonly push: (item: A) => Collection readonly insertAt: (index: number, item: A) => Collection readonly remove: (ref: RxRef) => Collection + readonly toArray: () => Array } /** @@ -186,4 +187,8 @@ class CollectionImpl extends ReadonlyRefImpl>> implements Coll } return this } + + toArray() { + return this.value.map((ref) => ref.value) + } }