@lsby/ts-fp-data 0.0.9-beta.1 → 0.0.9-beta.2

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.
@@ -112,39 +112,25 @@ var TaskDo = class _TaskDo {
112
112
  let(name, task) {
113
113
  return new _TaskDo(
114
114
  this.accTask.bind(
115
- (a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(
116
- (v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false })
117
- )
115
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
118
116
  )
119
117
  );
120
118
  }
121
119
  bind(name, task) {
122
120
  return new _TaskDo(
123
- this.accTask.bind(
124
- (a) => a.lock ? Task.pure(a) : task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false }))
125
- )
121
+ this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
126
122
  );
127
123
  }
128
124
  exec(task) {
129
- return new _TaskDo(
130
- this.accTask.bind((a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(() => Task.pure(a)))
131
- );
125
+ return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
132
126
  }
133
- pure(value) {
127
+ effect(task) {
134
128
  return new _TaskDo(
135
- this.accTask.bind(
136
- (a) => a.lock ? Task.pure(a) : Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v, lock: false }))
137
- )
129
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
138
130
  );
139
131
  }
140
- if(cond, value) {
141
- return new _TaskDo(
142
- this.accTask.bind(
143
- (a) => a.lock ? Task.pure(a) : Task.pure(cond(a.env)).bind(
144
- (c) => c ? value(a.env).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({ env: a.env, lastValue: a.lastValue, lock: false })
145
- )
146
- )
147
- );
132
+ pure(value) {
133
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
148
134
  }
149
135
  getTask() {
150
136
  return new Task(async () => {
@@ -160,7 +146,7 @@ var Task = class _Task {
160
146
  return new _Task(async () => a);
161
147
  }
162
148
  static do() {
163
- return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0, lock: false })));
149
+ return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
164
150
  }
165
151
  map(f) {
166
152
  return new _Task(async () => f(await this.f()));
@@ -1,11 +1,11 @@
1
1
  import { Either } from './either.cjs';
2
2
 
3
3
  interface TaskDoType<Env extends Record<string, any>, A> {
4
- let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, A>;
5
- bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, A>;
6
- exec(task: (env: Env) => void): TaskDoType<Env, A>;
7
- pure(value: A): TaskDoType<Env, A>;
8
- if(cond: (env: Env) => boolean, value: (env: Env) => Task<A>): TaskDoType<Env, A>;
4
+ let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, X>;
5
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
6
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
7
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
8
+ pure<X>(value: X): TaskDoType<Env, X>;
9
9
  getTask(): Task<A>;
10
10
  }
11
11
  declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<Env, A> {
@@ -13,13 +13,12 @@ declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<E
13
13
  constructor(accTask: Task<{
14
14
  env: Env;
15
15
  lastValue: A;
16
- lock: boolean;
17
16
  }>);
18
- let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, A>;
19
- bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, A>;
20
- exec(task: (env: Env) => void): TaskDoType<Env, A>;
21
- pure(value: A): TaskDoType<Env, A>;
22
- if(cond: (env: Env) => boolean, value: (env: Env) => Task<A>): TaskDoType<Env, A>;
17
+ let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, X>;
18
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
19
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
20
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
21
+ pure<X>(value: X): TaskDoType<Env, X>;
23
22
  getTask(): Task<A>;
24
23
  }
25
24
  declare class Task<A> {
@@ -114,39 +114,25 @@ var TaskDo = class _TaskDo {
114
114
  let(name, task) {
115
115
  return new _TaskDo(
116
116
  this.accTask.bind(
117
- (a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(
118
- (v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false })
119
- )
117
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
120
118
  )
121
119
  );
122
120
  }
123
121
  bind(name, task) {
124
122
  return new _TaskDo(
125
- this.accTask.bind(
126
- (a) => a.lock ? Task.pure(a) : task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false }))
127
- )
123
+ this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
128
124
  );
129
125
  }
130
126
  exec(task) {
131
- return new _TaskDo(
132
- this.accTask.bind((a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(() => Task.pure(a)))
133
- );
127
+ return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
134
128
  }
135
- pure(value) {
129
+ effect(task) {
136
130
  return new _TaskDo(
137
- this.accTask.bind(
138
- (a) => a.lock ? Task.pure(a) : Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v, lock: false }))
139
- )
131
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
140
132
  );
141
133
  }
142
- if(cond, value) {
143
- return new _TaskDo(
144
- this.accTask.bind(
145
- (a) => a.lock ? Task.pure(a) : Task.pure(cond(a.env)).bind(
146
- (c) => c ? value(a.env).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({ env: a.env, lastValue: a.lastValue, lock: false })
147
- )
148
- )
149
- );
134
+ pure(value) {
135
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
150
136
  }
151
137
  getTask() {
152
138
  return new Task(async () => {
@@ -162,7 +148,7 @@ var Task = class _Task {
162
148
  return new _Task(async () => a);
163
149
  }
164
150
  static do() {
165
- return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0, lock: false })));
151
+ return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
166
152
  }
167
153
  map(f) {
168
154
  return new _Task(async () => f(await this.f()));
@@ -122,39 +122,25 @@ var TaskDo = class _TaskDo {
122
122
  let(name, task) {
123
123
  return new _TaskDo(
124
124
  this.accTask.bind(
125
- (a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(
126
- (v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false })
127
- )
125
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
128
126
  )
129
127
  );
130
128
  }
131
129
  bind(name, task) {
132
130
  return new _TaskDo(
133
- this.accTask.bind(
134
- (a) => a.lock ? Task.pure(a) : task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false }))
135
- )
131
+ this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
136
132
  );
137
133
  }
138
134
  exec(task) {
139
- return new _TaskDo(
140
- this.accTask.bind((a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(() => Task.pure(a)))
141
- );
135
+ return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
142
136
  }
143
- pure(value) {
137
+ effect(task) {
144
138
  return new _TaskDo(
145
- this.accTask.bind(
146
- (a) => a.lock ? Task.pure(a) : Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v, lock: false }))
147
- )
139
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
148
140
  );
149
141
  }
150
- if(cond, value) {
151
- return new _TaskDo(
152
- this.accTask.bind(
153
- (a) => a.lock ? Task.pure(a) : Task.pure(cond(a.env)).bind(
154
- (c) => c ? value(a.env).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({ env: a.env, lastValue: a.lastValue, lock: false })
155
- )
156
- )
157
- );
142
+ pure(value) {
143
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
158
144
  }
159
145
  getTask() {
160
146
  return new Task(async () => {
@@ -170,7 +156,7 @@ var Task = class _Task {
170
156
  return new _Task(async () => a);
171
157
  }
172
158
  static do() {
173
- return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0, lock: false })));
159
+ return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
174
160
  }
175
161
  map(f) {
176
162
  return new _Task(async () => f(await this.f()));
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Task
3
- } from "./chunk-XMHK7KBY.js";
3
+ } from "./chunk-ZUDRGXSS.js";
4
4
  import {
5
5
  Left,
6
6
  Right
@@ -11,39 +11,25 @@ var TaskDo = class _TaskDo {
11
11
  let(name, task) {
12
12
  return new _TaskDo(
13
13
  this.accTask.bind(
14
- (a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(
15
- (v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false })
16
- )
14
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
17
15
  )
18
16
  );
19
17
  }
20
18
  bind(name, task) {
21
19
  return new _TaskDo(
22
- this.accTask.bind(
23
- (a) => a.lock ? Task.pure(a) : task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: a.lastValue, lock: false }))
24
- )
20
+ this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
25
21
  );
26
22
  }
27
23
  exec(task) {
28
- return new _TaskDo(
29
- this.accTask.bind((a) => a.lock ? Task.pure(a) : Task.pure(task(a.env)).bind(() => Task.pure(a)))
30
- );
24
+ return new _TaskDo(this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
31
25
  }
32
- pure(value) {
26
+ effect(task) {
33
27
  return new _TaskDo(
34
- this.accTask.bind(
35
- (a) => a.lock ? Task.pure(a) : Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v, lock: false }))
36
- )
28
+ this.accTask.bind((a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: a.env, lastValue: v })))
37
29
  );
38
30
  }
39
- if(cond, value) {
40
- return new _TaskDo(
41
- this.accTask.bind(
42
- (a) => a.lock ? Task.pure(a) : Task.pure(cond(a.env)).bind(
43
- (c) => c ? value(a.env).bind((x) => Task.pure({ env: a.env, lastValue: x, lock: true })) : Task.pure({ env: a.env, lastValue: a.lastValue, lock: false })
44
- )
45
- )
46
- );
31
+ pure(value) {
32
+ return new _TaskDo(this.accTask.bind((a) => Task.pure(value).bind((v) => Task.pure({ env: a.env, lastValue: v }))));
47
33
  }
48
34
  getTask() {
49
35
  return new Task(async () => {
@@ -59,7 +45,7 @@ var Task = class _Task {
59
45
  return new _Task(async () => a);
60
46
  }
61
47
  static do() {
62
- return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0, lock: false })));
48
+ return new TaskDo(new _Task(async () => ({ env: {}, lastValue: void 0 })));
63
49
  }
64
50
  map(f) {
65
51
  return new _Task(async () => f(await this.f()));
@@ -1,11 +1,11 @@
1
1
  import { Either } from './either.js';
2
2
 
3
3
  interface TaskDoType<Env extends Record<string, any>, A> {
4
- let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, A>;
5
- bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, A>;
6
- exec(task: (env: Env) => void): TaskDoType<Env, A>;
7
- pure(value: A): TaskDoType<Env, A>;
8
- if(cond: (env: Env) => boolean, value: (env: Env) => Task<A>): TaskDoType<Env, A>;
4
+ let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, X>;
5
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
6
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
7
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
8
+ pure<X>(value: X): TaskDoType<Env, X>;
9
9
  getTask(): Task<A>;
10
10
  }
11
11
  declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<Env, A> {
@@ -13,13 +13,12 @@ declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<E
13
13
  constructor(accTask: Task<{
14
14
  env: Env;
15
15
  lastValue: A;
16
- lock: boolean;
17
16
  }>);
18
- let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, A>;
19
- bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, A>;
20
- exec(task: (env: Env) => void): TaskDoType<Env, A>;
21
- pure(value: A): TaskDoType<Env, A>;
22
- if(cond: (env: Env) => boolean, value: (env: Env) => Task<A>): TaskDoType<Env, A>;
17
+ let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, X>;
18
+ bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
19
+ exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
20
+ effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
21
+ pure<X>(value: X): TaskDoType<Env, X>;
23
22
  getTask(): Task<A>;
24
23
  }
25
24
  declare class Task<A> {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Task,
3
3
  TaskDo
4
- } from "../chunk-XMHK7KBY.js";
4
+ } from "../chunk-ZUDRGXSS.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-KGTFYSGN.js";
7
- import "../chunk-XMHK7KBY.js";
6
+ } from "../chunk-YEO4J4FS.js";
7
+ import "../chunk-ZUDRGXSS.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-KGTFYSGN.js";
11
+ } from "./chunk-YEO4J4FS.js";
12
12
  import {
13
13
  Task,
14
14
  TaskDo
15
- } from "./chunk-XMHK7KBY.js";
15
+ } from "./chunk-ZUDRGXSS.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.9-beta.1",
3
+ "version": "0.0.9-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",