-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Milestone
Description
When we use a custom operator like the tap defined below, the input loses its prototype
import { Task, UnknownError } from '@ts-task/task';
import { map } from '@ts-task/task/dist/lib/src/operators';
const tap = <T, E> (fn: (t: T) => unknown) => {
return function (input: Task<T, E>): Task<T, E | UnknownError> {
return input.map(val => {
fn(val);
return val;
});
};
};
Task.resolve(1)
.pipe(
map(x => x + 1),
tap(x => console.log('waaa', x))
)
.fork(
err => console.error('buu', err),
val => console.log(val)
);buu Error: UnknownError (input.map is not a function)
at fns.reduce (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:194:40)
at Array.reduce (<anonymous>)
at Task [as resolver] (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:189:33)
at Promise (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:42:22)
at new Promise (<anonymous>)
at Task.fork (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:41:13)
at Object.<anonymous> (/Users/test/myapp/dist/index.js:28:6)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
--------------
TypeError: input.map is not a function
at /Users/test/myapp/dist/index.js:7:22
at fns.reduce (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:191:28)
at Array.reduce (<anonymous>)
at Task [as resolver] (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:189:33)
at Promise (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:42:22)
at new Promise (<anonymous>)
at Task.fork (/Users/test/myapp/node_modules/@ts-task/task/dist/task.umd.js:41:13)
at Object.<anonymous> (/Users/test/myapp/dist/index.js:28:6)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
Metadata
Metadata
Assignees
Labels
No labels