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(