aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/rxjs/src/internal/operators/zipWith.ts
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-28 17:26:46 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-28 17:43:56 -0700
commite4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch)
tree06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/src/internal/operators/zipWith.ts
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/src/internal/operators/zipWith.ts')
-rw-r--r--node_modules/rxjs/src/internal/operators/zipWith.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/operators/zipWith.ts b/node_modules/rxjs/src/internal/operators/zipWith.ts
new file mode 100644
index 0000000..22eaad7
--- /dev/null
+++ b/node_modules/rxjs/src/internal/operators/zipWith.ts
@@ -0,0 +1,29 @@
+import { ObservableInputTuple, OperatorFunction, Cons } from '../types';
+import { zip } from './zip';
+
+/**
+ * Subscribes to the source, and the observable inputs provided as arguments, and combines their values, by index, into arrays.
+ *
+ * What is meant by "combine by index": The first value from each will be made into a single array, then emitted,
+ * then the second value from each will be combined into a single array and emitted, then the third value
+ * from each will be combined into a single array and emitted, and so on.
+ *
+ * This will continue until it is no longer able to combine values of the same index into an array.
+ *
+ * After the last value from any one completed source is emitted in an array, the resulting observable will complete,
+ * as there is no way to continue "zipping" values together by index.
+ *
+ * Use-cases for this operator are limited. There are memory concerns if one of the streams is emitting
+ * values at a much faster rate than the others. Usage should likely be limited to streams that emit
+ * at a similar pace, or finite streams of known length.
+ *
+ * In many cases, authors want `combineLatestWith` and not `zipWith`.
+ *
+ * @param otherInputs other observable inputs to collate values from.
+ * @return A function that returns an Observable that emits items by index
+ * combined from the source Observable and provided Observables, in form of an
+ * array.
+ */
+export function zipWith<T, A extends readonly unknown[]>(...otherInputs: [...ObservableInputTuple<A>]): OperatorFunction<T, Cons<T, A>> {
+ return zip(...otherInputs);
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage