1 | ;
|
2 | var RxNode = require("rx-node");
|
3 | var Rx = require("rx");
|
4 | var 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 | };
|
24 | function 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 | }
|
32 | Object.defineProperty(exports, "__esModule", { value: true });
|
33 | exports.default = handleReturnType;
|
34 | ;
|
35 | function 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 | }
|
44 | function 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 | }
|
54 | function 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 |