forked from angular/code.angularjs.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathangular-resource.min.js
11 lines (11 loc) · 2.65 KB
/
angular-resource.min.js
1
2
3
4
5
6
7
8
9
10
11
/*
AngularJS v1.1.3
(c) 2010-2012 Google, Inc. http://angularjs.org
License: MIT
*/
(function(C,h,w){'use strict';h.module("ngResource",["ng"]).factory("$resource",["$http","$parse",function(x,y){function u(a,f){this.template=a+="#";this.defaults=f||{};var c=this.urlParams={};j(a.split(/\W/),function(i){i&&RegExp("(^|[^\\\\]):"+i+"\\W").test(a)&&(c[i]=!0)});this.template=a.replace(/\\:/g,":")}function v(a,f,c){function i(z,b){var d={},b=p({},f,b);j(b,function(e,b){l(e)&&(e=e());var a;e.charAt&&e.charAt(0)=="@"?(a=e.substr(1),a=y(a)(z)):a=e;d[b]=a});return d}function d(a){t(a||{},
this)}var A=new u(a),c=p({},B,c);j(c,function(a,b){a.method=h.uppercase(a.method);var f=a.method=="POST"||a.method=="PUT"||a.method=="PATCH";d[b]=function(e,b,c,h){function m(){g.$resolved=!0}var k={},o,n=q,r=null;switch(arguments.length){case 4:r=h,n=c;case 3:case 2:if(l(b)){if(l(e)){n=e;r=b;break}n=b;r=c}else{k=e;o=b;n=c;break}case 1:l(e)?n=e:f?o=e:k=e;break;case 0:break;default:throw"Expected between 0-4 arguments [params, data, success, error], got "+arguments.length+" arguments.";}var g=this instanceof
d?this:a.isArray?[]:new d(o),s={};j(a,function(a,b){b!="params"&&b!="isArray"&&(s[b]=t(a))});s.data=o;A.setUrlParams(s,p({},i(o,a.params||{}),k));k=x(s);g.$resolved=!1;k.then(m,m);g.$then=k.then(function(b){var e=b.data,f=g.$then,c=g.$resolved;if(e)a.isArray?(g.length=0,j(e,function(a){g.push(new d(a))})):(t(e,g),g.$then=f,g.$resolved=c);(n||q)(g,b.headers);b.resource=g;return b},r).then;return g};d.prototype["$"+b]=function(a,c,h){var j=i(this),m=q,k;switch(arguments.length){case 3:j=a;m=c;k=h;break;
case 2:case 1:l(a)?(m=a,k=c):(j=a,m=c||q);case 0:break;default:throw"Expected between 1-3 arguments [params, success, error], got "+arguments.length+" arguments.";}d[b].call(this,j,f?this:w,m,k)}});d.bind=function(d){return v(a,p({},f,d),c)};return d}var B={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}},q=h.noop,j=h.forEach,p=h.extend,t=h.copy,l=h.isFunction;u.prototype={setUrlParams:function(a,f){var c=this,i=this.template,
d,l,f=f||{};j(this.urlParams,function(a,b){d=f.hasOwnProperty(b)?f[b]:c.defaults[b];h.isDefined(d)&&d!==null?(l=encodeURIComponent(d).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(null,"+").replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+"),i=i.replace(RegExp(":"+b+"(\\W)","g"),l+"$1")):i=i.replace(RegExp("(/?):"+b+"(\\W)","g"),function(a,b,c){return c.charAt(0)=="/"?c:b+c})});a.url=i.replace(/\/?#$/,"").replace(/\/*$/,"");j(f,function(d,b){if(!c.urlParams[b])a.params=
a.params||{},a.params[b]=d})}};return v}])})(window,window.angular);