diff --git a/README.md b/README.md
index 3b1d6e0..2b8db7d 100644
--- a/README.md
+++ b/README.md
@@ -303,7 +303,7 @@ this. The table below gives an overview.
| Outer | Inner | Function |
| -------- | -------- | -------------------------- |
| Behavior | anything | `sample` (when inside Now) |
-| Behavior | Behavior | `flatten` |
+| Behavior | Behavior | `flat` |
| Behavior | Stream | `shiftCurrent` |
| Stream | Behavior | `switcher`, `selfie` |
| Stream | Stream | `shift` |
diff --git a/src/behavior.ts b/src/behavior.ts
index f1f561b..627832f 100644
--- a/src/behavior.ts
+++ b/src/behavior.ts
@@ -57,7 +57,7 @@ export abstract class Behavior extends Reactive
chain(fn: (a: A) => Behavior): Behavior {
return new FlatMapBehavior(this, fn);
}
- flatten(this: Behavior>): Behavior {
+ flat(this: Behavior>): Behavior {
return new FlatMapBehavior(this, (a) => a);
}
at(t?: number): A {
diff --git a/src/future.ts b/src/future.ts
index dbcf5c5..7e7ce99 100644
--- a/src/future.ts
+++ b/src/future.ts
@@ -81,7 +81,7 @@ export abstract class Future extends Reactive>
chain(f: (a: A) => Future): Future {
return new FlatMapFuture(f, this);
}
- flatten(this: Future>): Future {
+ flat(this: Future>): Future {
return new FlatMapFuture((f) => f, this);
}
}
diff --git a/src/index.ts b/src/index.ts
index f4e1900..22d9ed2 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -54,11 +54,11 @@ export function lift(f: (...args: any) => R, ...args: any): any {
return args[0].lift(f, ...args);
}
-export function flatten(b: Behavior>): Behavior;
-export function flatten(f: Future>): Future;
-export function flatten(n: Now>): Now;
-export function flatten(o: { flatten: () => any }): any {
- return o.flatten();
+export function flat(b: Behavior>): Behavior;
+export function flat(f: Future>): Future;
+export function flat(n: Now>): Now;
+export function flat(o: { flat: () => any }): any {
+ return o.flat();
}
export function push(a: A, sink: SinkBehavior | SinkStream): void {
diff --git a/src/now.ts b/src/now.ts
index 13a3b1d..32e8eb1 100644
--- a/src/now.ts
+++ b/src/now.ts
@@ -38,7 +38,7 @@ export abstract class Now {
chain(f: (a: A) => Now): Now {
return new FlatMapNow(this, f);
}
- flatten(this: Now>): Now {
+ flat(this: Now>): Now {
return new FlatMapNow(this, (n) => n);
}
ap(a: Now<(a: A) => B>): Now {
diff --git a/test/animation.ts b/test/animation.ts
index 0e01395..f0c672e 100644
--- a/test/animation.ts
+++ b/test/animation.ts
@@ -16,7 +16,7 @@ describe("animation", () => {
duration: 100
};
- const t = transitionBehavior(config, 0, target, time).flatten();
+ const t = transitionBehavior(config, 0, target, time).flat();
t.subscribe(() => "");
assert.strictEqual(at(t), 0);
time.push(10);
diff --git a/test/behavior.ts b/test/behavior.ts
index bd42d6b..42043b8 100644
--- a/test/behavior.ts
+++ b/test/behavior.ts
@@ -411,10 +411,10 @@ describe("behavior", () => {
assert.deepEqual(cb.args, [[2], [14]]);
});
});
- describe("flatten", () => {
+ describe("flat", () => {
it("has proper type", () => {
const b = Behavior.of(Behavior.of("foo"));
- H.flatten(b).map((s) => s + "bar");
+ H.flat(b).map((s) => s + "bar");
});
});
describe("integrateFrom", () => {
@@ -972,7 +972,7 @@ describe("Behavior and Stream", () => {
let variable = -1;
const pullingB = H.fromFunction(() => variable);
const outer = sinkBehavior>(pushingB);
- const flattened = H.flatten(outer);
+ const flattened = H.flat(outer);
const pushSpy = spy();
let pull: () => void;
const handlePulling = (p) => {
diff --git a/test/future.ts b/test/future.ts
index 48751e4..f58a810 100644
--- a/test/future.ts
+++ b/test/future.ts
@@ -186,11 +186,11 @@ describe("Future", () => {
assert.deepEqual(result, [1, 2]);
});
});
- describe("flatten", () => {
+ describe("flat", () => {
it("resolves when inner occurs last", () => {
const outer = sinkFuture>();
const inner = sinkFuture();
- const flattened = H.flatten(outer);
+ const flattened = H.flat(outer);
const cb = spy();
flattened.subscribe(cb);
outer.resolve(inner);
diff --git a/test/now.ts b/test/now.ts
index 2410a25..f3debdb 100644
--- a/test/now.ts
+++ b/test/now.ts
@@ -73,7 +73,7 @@ describe("Now", () => {
assert.strictEqual(ref2.ref, "World");
});
it("can flatten pure nows", () => {
- assert.strictEqual(runNow(Now.of(Now.of(12)).flatten()), 12);
+ assert.strictEqual(runNow(Now.of(Now.of(12)).flat()), 12);
});
it("throws in go if incorrect monad is yielded", (done) => {
const now = go(