UNPKG

3.94 kBJavaScriptView Raw
1"use strict";
2var RxNode = require("rx-node");
3var Rx = require("rx");
4var types = {
5 observable: {
6 predicate: function (input) {
7 return Rx.Observable.isObservable(input);
8 },
9 handle: handleObs
10 },
11 promise: {
12 predicate: function (input) {
13 return typeof input.then === "function";
14 },
15 handle: handlePromise
16 },
17 nodeStream: {
18 predicate: function (input) {
19 return typeof input.on === "function";
20 },
21 handle: handleNodeStream
22 }
23};
24function handleReturnType(output, cb) {
25 var match = Object.keys(types).filter(function (x) {
26 return types[x].predicate.call(null, output);
27 })[0];
28 if (match && typeof types[match].handle === "function") {
29 return types[match].handle.apply(null, [output, cb]);
30 }
31}
32Object.defineProperty(exports, "__esModule", { value: true });
33exports.default = handleReturnType;
34;
35function handleNodeStream(output, done) {
36 return RxNode.fromStream(output, "end")
37 .subscribe(function (val) {
38 }, function (err) {
39 done(err);
40 }, function () {
41 done();
42 });
43}
44function handlePromise(output, done) {
45 return Rx.Observable
46 .fromPromise(output)
47 .subscribe(function (val) {
48 }, function (err) {
49 done(err);
50 }, function () {
51 done();
52 });
53}
54function handleObs(output, done) {
55 return output
56 .subscribe(function (val) {
57 }, function (e) {
58 done(e);
59 }, function () {
60 done();
61 });
62}
63//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5yZXR1cm4udmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rhc2sucmV0dXJuLnZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ2hDLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV2QixJQUFNLEtBQUssR0FBRztJQUNWLFVBQVUsRUFBRTtRQUNSLFNBQVMsWUFBRSxLQUFLO1lBQ1osTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxNQUFNLEVBQUUsU0FBUztLQUNwQjtJQUNELE9BQU8sRUFBRTtRQUNMLFNBQVMsWUFBRSxLQUFLO1lBQ1osTUFBTSxDQUFDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7UUFDNUMsQ0FBQztRQUNELE1BQU0sRUFBRSxhQUFhO0tBQ3hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsU0FBUyxZQUFFLEtBQUs7WUFDWixNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLGdCQUFnQjtLQUMzQjtDQUNKLENBQUM7QUFRRiwwQkFBeUMsTUFBTSxFQUFFLEVBQWM7SUFFM0QsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFTixFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7QUFDTCxDQUFDO0FBVEQ7a0NBU0MsQ0FBQTtBQUFBLENBQUM7QUFFRiwwQkFBMEIsTUFBTSxFQUFFLElBQUk7SUFDbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztTQUNsQyxTQUFTLENBQUMsVUFBVSxHQUFHO0lBQ3hCLENBQUMsRUFBRSxVQUFVLEdBQUc7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZCxDQUFDLEVBQUU7UUFDQyxJQUFJLEVBQUUsQ0FBQztJQUNYLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELHVCQUF1QixNQUFNLEVBQUUsSUFBSTtJQUMvQixNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVU7U0FDZixXQUFXLENBQUMsTUFBTSxDQUFDO1NBQ25CLFNBQVMsQ0FBQyxVQUFDLEdBQUc7SUFDZixDQUFDLEVBQUUsVUFBQSxHQUFHO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxFQUFFO1FBQ0MsSUFBSSxFQUFFLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUM7QUFFRCxtQkFBbUIsTUFBTSxFQUFFLElBQUk7SUFDM0IsTUFBTSxDQUFDLE1BQU07U0FDUixTQUFTLENBQUMsVUFBQSxHQUFHO0lBQ2QsQ0FBQyxFQUFFLFVBQUEsQ0FBQztRQUNBLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUMsRUFBRTtRQUNDLElBQUksRUFBRSxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDIn0=
\No newline at end of file