@lsby/ts-fp-data 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -117,6 +117,14 @@ var TaskDo = class _TaskDo {
117
117
  exec(task) {
118
118
  return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
119
119
  }
120
+ effect(task) {
121
+ return new _TaskDo(
122
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
123
+ );
124
+ }
125
+ pure(value) {
126
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
127
+ }
120
128
  getTask() {
121
129
  return new Task(async () => {
122
130
  return (await this.accTask.run()).lastValue;
@@ -1,8 +1,10 @@
1
1
  import { Either } from './either.cjs';
2
2
 
3
3
  interface TaskDoType<Env extends Record<string, any>, A> {
4
- bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
5
- exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
4
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
5
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
6
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
7
+ pure<X>(value: X): TaskDoType<Env, X>;
6
8
  getTask(): Task<A>;
7
9
  }
8
10
  declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<Env, A> {
@@ -11,14 +13,16 @@ declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<E
11
13
  env: Env;
12
14
  lastValue: A;
13
15
  }>);
14
- bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
15
- exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
16
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
17
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
18
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
19
+ pure<X>(value: X): TaskDoType<Env, X>;
16
20
  getTask(): Task<A>;
17
21
  }
18
22
  declare class Task<A> {
19
23
  private f;
20
24
  static pure<A>(a: A): Task<A>;
21
- static do(): TaskDo<Record<string, any>, unknown>;
25
+ static do(): TaskDo<Record<string, any>, void>;
22
26
  constructor(f: () => Promise<A>);
23
27
  map<B>(f: (a: A) => B): Task<B>;
24
28
  bind<B>(f: (a: A) => Task<B>): Task<B>;
@@ -119,6 +119,14 @@ var TaskDo = class _TaskDo {
119
119
  exec(task) {
120
120
  return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
121
121
  }
122
+ effect(task) {
123
+ return new _TaskDo(
124
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
125
+ );
126
+ }
127
+ pure(value) {
128
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
129
+ }
122
130
  getTask() {
123
131
  return new Task(async () => {
124
132
  return (await this.accTask.run()).lastValue;
@@ -127,6 +127,14 @@ var TaskDo = class _TaskDo {
127
127
  exec(task) {
128
128
  return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
129
129
  }
130
+ effect(task) {
131
+ return new _TaskDo(
132
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
133
+ );
134
+ }
135
+ pure(value) {
136
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
137
+ }
130
138
  getTask() {
131
139
  return new Task(async () => {
132
140
  return (await this.accTask.run()).lastValue;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Task
3
- } from "./chunk-F7Q4HROJ.js";
3
+ } from "./chunk-XP6AXTYL.js";
4
4
  import {
5
5
  Left,
6
6
  Right
@@ -16,6 +16,14 @@ var TaskDo = class _TaskDo {
16
16
  exec(task) {
17
17
  return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
18
18
  }
19
+ effect(task) {
20
+ return new _TaskDo(
21
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
22
+ );
23
+ }
24
+ pure(value) {
25
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
26
+ }
19
27
  getTask() {
20
28
  return new Task(async () => {
21
29
  return (await this.accTask.run()).lastValue;
@@ -1,8 +1,10 @@
1
1
  import { Either } from './either.js';
2
2
 
3
3
  interface TaskDoType<Env extends Record<string, any>, A> {
4
- bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
5
- exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
4
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
5
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
6
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
7
+ pure<X>(value: X): TaskDoType<Env, X>;
6
8
  getTask(): Task<A>;
7
9
  }
8
10
  declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<Env, A> {
@@ -11,14 +13,16 @@ declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<E
11
13
  env: Env;
12
14
  lastValue: A;
13
15
  }>);
14
- bind<K extends string, A>(name: K, task: (env: Env) => Task<A>): TaskDoType<Env & Record<K, A>, A>;
15
- exec<A>(task: (env: Env) => Task<A>): TaskDoType<Env, A>;
16
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
17
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
18
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
19
+ pure<X>(value: X): TaskDoType<Env, X>;
16
20
  getTask(): Task<A>;
17
21
  }
18
22
  declare class Task<A> {
19
23
  private f;
20
24
  static pure<A>(a: A): Task<A>;
21
- static do(): TaskDo<Record<string, any>, unknown>;
25
+ static do(): TaskDo<Record<string, any>, void>;
22
26
  constructor(f: () => Promise<A>);
23
27
  map<B>(f: (a: A) => B): Task<B>;
24
28
  bind<B>(f: (a: A) => Task<B>): Task<B>;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Task,
3
3
  TaskDo
4
- } from "../chunk-F7Q4HROJ.js";
4
+ } from "../chunk-XP6AXTYL.js";
5
5
  import "../chunk-VTI5CRVQ.js";
6
6
  export {
7
7
  Task,
@@ -3,8 +3,8 @@ import {
3
3
  seqArrayTask,
4
4
  seqEitherArray,
5
5
  seqEitherTask
6
- } from "../chunk-LVW727CO.js";
7
- import "../chunk-F7Q4HROJ.js";
6
+ } from "../chunk-3DBX3JLQ.js";
7
+ import "../chunk-XP6AXTYL.js";
8
8
  import "../chunk-VTI5CRVQ.js";
9
9
  export {
10
10
  seqArrayEither,
package/dist/esm/index.js CHANGED
@@ -8,11 +8,11 @@ import {
8
8
  seqArrayTask,
9
9
  seqEitherArray,
10
10
  seqEitherTask
11
- } from "./chunk-LVW727CO.js";
11
+ } from "./chunk-3DBX3JLQ.js";
12
12
  import {
13
13
  Task,
14
14
  TaskDo
15
- } from "./chunk-F7Q4HROJ.js";
15
+ } from "./chunk-XP6AXTYL.js";
16
16
  import {
17
17
  Either,
18
18
  Left,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lsby/ts-fp-data",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",