forked from coolaj86/walnut.js
		
	
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| angular
 | |
|   .module('oauth3', [])
 | |
|   .service('Oauth3', [
 | |
|     '$timeout'
 | |
|   , '$q'
 | |
|   , '$http'
 | |
|   , function Oauth3($timeout, $q, $http) {
 | |
| 
 | |
|     var oauth3 = window.OAUTH3;
 | |
| 
 | |
|     // We need to make angular's $q appear to be a standard Promise/A+
 | |
|     // fortunately, this is pretty easy
 | |
|     // TODO don't use `new`, use a create function instead
 | |
|     function PromiseAngularQ(fn) {
 | |
|       var me = this;
 | |
|       var d = $q.defer();
 | |
| 
 | |
|       $timeout(function () {
 | |
|         fn(d.resolve, d.reject);
 | |
|       }, 0);
 | |
| 
 | |
|       //this.then = d.promise.then;
 | |
|       //this.catch = d.promise.catch;
 | |
|       me.then = function (fn) {
 | |
|         return d.promise.then(fn);
 | |
|       };
 | |
|       me.catch = function (fn) {
 | |
|         return d.promise.catch(fn);
 | |
|       };
 | |
|       // return d.promise;
 | |
|     }
 | |
|     PromiseAngularQ.create = function (fn) {
 | |
|       var d = $q.defer();
 | |
|       $timeout(function () {
 | |
|         fn(d.resolve, d.reject);
 | |
|       }, 0);
 | |
|       return d.promise;
 | |
|     };
 | |
| 
 | |
| 
 | |
|     //PromiseAngularQ.create = PromiseAngularQ;
 | |
|     PromiseAngularQ.resolve = function (dataOrPromise) {
 | |
|       return $q.when(dataOrPromise);
 | |
|     };
 | |
|     PromiseAngularQ.reject = function (errOrPromise) {
 | |
|       return $q.reject(errOrPromise);
 | |
|     };
 | |
|     PromiseAngularQ.all = function (arr) {
 | |
|       return $q.all(arr);
 | |
|     };
 | |
| 
 | |
|     oauth3.providePromise(PromiseAngularQ).then(function () {
 | |
|       // ignore
 | |
|     }, function (/*err*/) {
 | |
|       console.error("Bad Promise Implementation!");
 | |
|     });
 | |
| 
 | |
|     oauth3.provideRequest($http);
 | |
| 
 | |
|     window.ngOauth3 = oauth3;
 | |
| 
 | |
|     return oauth3;
 | |
|   }]);
 |