@ionic-native/core
Advanced tools
Comparing version 3.1.0-alpha.3 to 3.1.0-rc.1
{ | ||
"name": "@ionic-native/core", | ||
"version": "3.1.0-alpha.3", | ||
"version": "3.1.0-rc.1", | ||
"description": "Ionic Native - Native plugins for ionic apps", | ||
@@ -5,0 +5,0 @@ "module": "index.js", |
@@ -191,1 +191,23 @@ import { Observable } from 'rxjs/Observable'; | ||
}; | ||
/** | ||
* @private | ||
*/ | ||
export interface CordovaFiniteObservableOptions extends CordovaOptions { | ||
/** | ||
* Function that gets a result returned from plugin's success callback, and decides whether it is last value and observable should complete. | ||
*/ | ||
resultFinalPredicate?: (result: any) => boolean; | ||
/** | ||
* Function that gets called after resultFinalPredicate, and removes service data that indicates end of stream from the result. | ||
*/ | ||
resultTransform?: (result: any) => any; | ||
} | ||
/** | ||
* @private | ||
* | ||
* Wraps method that returns an observable that can be completed. Provided opts.resultFinalPredicate dictates when the observable completes. | ||
* | ||
*/ | ||
export declare function CordovaFiniteObservable(opts?: CordovaFiniteObservableOptions): (target: Object, methodName: string, descriptor: TypedPropertyDescriptor<any>) => { | ||
value: (...args: any[]) => Observable<any>; | ||
}; |
@@ -273,10 +273,2 @@ import { get } from './util'; | ||
} | ||
var method = pluginInstance[methodName]; | ||
if (!method) { | ||
observer.error({ | ||
error: 'no_such_method' | ||
}); | ||
observer.complete(); | ||
return; | ||
} | ||
pluginInstance[methodName] = observer.next.bind(observer); | ||
@@ -383,3 +375,2 @@ }); | ||
return function (target, methodName, descriptor) { | ||
console.log('@Cordova()', target, methodName, descriptor); | ||
return { | ||
@@ -391,3 +382,2 @@ value: function () { | ||
} | ||
console.log('@Cordova() wrap()', this, methodName, opts); | ||
return wrap(this, methodName, opts).apply(this, args); | ||
@@ -484,1 +474,40 @@ } | ||
} | ||
/** | ||
* @private | ||
* | ||
* Wraps method that returns an observable that can be completed. Provided opts.resultFinalPredicate dictates when the observable completes. | ||
* | ||
*/ | ||
export function CordovaFiniteObservable(opts) { | ||
if (opts === void 0) { opts = {}; } | ||
if (opts.observable === false) { | ||
throw new Error('CordovaFiniteObservable decorator can only be used on methods that returns observable. Please provide correct option.'); | ||
} | ||
opts.observable = true; | ||
return function (target, methodName, descriptor) { | ||
return { | ||
value: function () { | ||
var args = []; | ||
for (var _i = 0; _i < arguments.length; _i++) { | ||
args[_i - 0] = arguments[_i]; | ||
} | ||
var wrappedObservable = wrap(this, methodName, opts).apply(this, args); | ||
return new Observable(function (observer) { | ||
var wrappedSubscription = wrappedObservable.subscribe({ | ||
next: function (x) { | ||
observer.next(opts.resultTransform ? opts.resultTransform(x) : x); | ||
if (opts.resultFinalPredicate && opts.resultFinalPredicate(x)) { | ||
observer.complete(); | ||
} | ||
}, | ||
error: function (err) { observer.error(err); }, | ||
complete: function () { observer.complete(); } | ||
}); | ||
return function () { | ||
wrappedSubscription.unsubscribe(); | ||
}; | ||
}); | ||
} | ||
}; | ||
}; | ||
} |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":1,"metadata":{"getPlugin":{"__symbolic":"error","message":"Function call not supported","line":117,"character":25},"pluginWarn":{"__symbolic":"error","message":"Function call not supported","line":126,"character":26},"cordovaWarn":{"__symbolic":"error","message":"Function call not supported","line":141,"character":27},"wrap":{"__symbolic":"error","message":"Function call not supported","line":396,"character":20},"Plugin":{"__symbolic":"function","parameters":["config"],"value":{"__symbolic":"error","message":"Function call not supported","line":434,"character":9}},"Cordova":{"__symbolic":"function","parameters":["opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":486,"character":9},"defaults":[{}]},"CordovaInstance":{"__symbolic":"function","parameters":["opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":503,"character":9},"defaults":[{}]},"CordovaFunctionOverride":{"__symbolic":"function","parameters":["opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":568,"character":9},"defaults":[{}]}}} | ||
{"__symbolic":"module","version":1,"metadata":{"getPlugin":{"__symbolic":"error","message":"Function call not supported","line":117,"character":25},"pluginWarn":{"__symbolic":"error","message":"Function call not supported","line":126,"character":26},"cordovaWarn":{"__symbolic":"error","message":"Function call not supported","line":141,"character":27},"wrap":{"__symbolic":"error","message":"Function call not supported","line":388,"character":20},"Plugin":{"__symbolic":"function","parameters":["config"],"value":{"__symbolic":"error","message":"Function call not supported","line":426,"character":9}},"Cordova":{"__symbolic":"function","parameters":["opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":478,"character":9},"defaults":[{}]},"CordovaInstance":{"__symbolic":"function","parameters":["opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":493,"character":9},"defaults":[{}]},"CordovaFunctionOverride":{"__symbolic":"function","parameters":["opts"],"value":{"__symbolic":"error","message":"Function call not supported","line":558,"character":9},"defaults":[{}]}}} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
27351
753