@lsby/ts-fp-data 0.0.8 → 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.
@@ -109,6 +109,13 @@ var TaskDo = class _TaskDo {
109
109
  constructor(accTask) {
110
110
  this.accTask = accTask;
111
111
  }
112
+ let(name, task) {
113
+ return new _TaskDo(
114
+ this.accTask.bind(
115
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
116
+ )
117
+ );
118
+ }
112
119
  bind(name, task) {
113
120
  return new _TaskDo(
114
121
  this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
@@ -1,6 +1,7 @@
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>, X>;
4
5
  bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
5
6
  exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
6
7
  effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
@@ -13,6 +14,7 @@ declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<E
13
14
  env: Env;
14
15
  lastValue: A;
15
16
  }>);
17
+ let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, X>;
16
18
  bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
17
19
  exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
18
20
  effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
@@ -111,6 +111,13 @@ var TaskDo = class _TaskDo {
111
111
  constructor(accTask) {
112
112
  this.accTask = accTask;
113
113
  }
114
+ let(name, task) {
115
+ return new _TaskDo(
116
+ this.accTask.bind(
117
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
118
+ )
119
+ );
120
+ }
114
121
  bind(name, task) {
115
122
  return new _TaskDo(
116
123
  this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
@@ -119,6 +119,13 @@ var TaskDo = class _TaskDo {
119
119
  constructor(accTask) {
120
120
  this.accTask = accTask;
121
121
  }
122
+ let(name, task) {
123
+ return new _TaskDo(
124
+ this.accTask.bind(
125
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
126
+ )
127
+ );
128
+ }
122
129
  bind(name, task) {
123
130
  return new _TaskDo(
124
131
  this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Task
3
- } from "./chunk-XP6AXTYL.js";
3
+ } from "./chunk-ZUDRGXSS.js";
4
4
  import {
5
5
  Left,
6
6
  Right
@@ -8,6 +8,13 @@ var TaskDo = class _TaskDo {
8
8
  constructor(accTask) {
9
9
  this.accTask = accTask;
10
10
  }
11
+ let(name, task) {
12
+ return new _TaskDo(
13
+ this.accTask.bind(
14
+ (a) => Task.pure(task(a.env)).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v }))
15
+ )
16
+ );
17
+ }
11
18
  bind(name, task) {
12
19
  return new _TaskDo(
13
20
  this.accTask.bind((a) => task(a.env).bind((v) => Task.pure({ env: { ...a.env, [name]: v }, lastValue: v })))
@@ -1,6 +1,7 @@
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>, X>;
4
5
  bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
5
6
  exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
6
7
  effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
@@ -13,6 +14,7 @@ declare class TaskDo<Env extends Record<string, any>, A> implements TaskDoType<E
13
14
  env: Env;
14
15
  lastValue: A;
15
16
  }>);
17
+ let<K extends string, X>(name: K, task: (env: Env) => X): TaskDoType<Env & Record<K, X>, X>;
16
18
  bind<K extends string, X>(name: K, task: (env: Env) => Task<X>): TaskDoType<Env & Record<K, X>, X>;
17
19
  exec<X>(task: (env: Env) => Task<X>): TaskDoType<Env, X>;
18
20
  effect<X>(task: (env: Env) => X): TaskDoType<Env, X>;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Task,
3
3
  TaskDo
4
- } from "../chunk-XP6AXTYL.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-3DBX3JLQ.js";
7
- import "../chunk-XP6AXTYL.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-3DBX3JLQ.js";
11
+ } from "./chunk-YEO4J4FS.js";
12
12
  import {
13
13
  Task,
14
14
  TaskDo
15
- } from "./chunk-XP6AXTYL.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.8",
3
+ "version": "0.0.9-beta.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "require": "./dist/cjs/index.cjs",