From 1bc0660df3fc653cc02510ac484ce77eb3d23769 Mon Sep 17 00:00:00 2001 From: "bret.ikehara" Date: Thu, 17 Mar 2016 16:50:49 -0700 Subject: [PATCH] chore(pkg): update dist files update dist files. --- bower.json | 2 +- dist/angular-eve-resource.js | 106 ++++++++++++++++++++++----- dist/angular-eve-resource.min.js | 2 +- dist/angular-eve-resource.min.js.map | 2 +- package.json | 2 +- 5 files changed, 90 insertions(+), 24 deletions(-) diff --git a/bower.json b/bower.json index a0b0a9c..ff6fd8a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "angular-eve-resource", - "version": "1.6.0", + "version": "1.6.1", "homepage": "https://github.com/dailymotion/angular-eve-resource", "authors": [ "Rahul Doshi ", diff --git a/dist/angular-eve-resource.js b/dist/angular-eve-resource.js index 891e9bf..0bc7382 100644 --- a/dist/angular-eve-resource.js +++ b/dist/angular-eve-resource.js @@ -7,6 +7,16 @@ angular.module('com.dailymotion.ngEveResource', [ angular.module('com.dailymotion.ngEveResource') .service('eve', function () { + function obj (key, comp, val) { + var o = {}; + if (arguments.length === 3) { + (o[key] = {})[comp] = val; + } else { + o[key] = comp; + } + return o; + } + function prepareArgs () { var args = angular.isArray(arguments[0]) ? arguments[0] : Array.prototype.slice.call(arguments); return args.map(function (arg) { @@ -19,6 +29,20 @@ angular.module('com.dailymotion.ngEveResource') }); } + function simplify (conds, key) { + var newCond = []; + + angular.forEach(conds, function (cond) { + if (cond[key]) { + newCond = [].concat(newCond, simplify(cond[key], key)); + } else { + newCond.push(cond); + } + }); + + return newCond; + } + function isDefined (val) { if (angular.isUndefined(val)) { return false; @@ -29,37 +53,79 @@ angular.module('com.dailymotion.ngEveResource') return true; } + function regexValue (val, match) { + if (angular.isFunction(match)) { + return match(val); + } else if (match === 'pre') { + return [ + '.*?', + val, + ].join(''); + } else if (match === 'post') { + return [ + val, + '.*?', + ].join(''); + } else if (match === 'wrap') { + return [ + '.*?', + val, + '.*?', + ].join(''); + } + return val; + } + + function regex (key, val, match) { + if (isDefined(key) && val) { + return obj(key, '$regex', regexValue(val, match)); + } + } + + function numComparison (comp) { + return function (key, num) { + if (angular.isNumber(num)) { + return obj(key, comp, num); + } + }; + } + this.query = { $and: function () { - var cond = prepareArgs.apply(null, arguments); - return cond.length > 1 ? { - $and: cond, - } : cond[0]; + var cond = simplify(prepareArgs.apply(null, arguments), '$and'); + return cond.length > 1 ? obj('$and', cond) : cond[0]; }, $or: function () { - var cond = prepareArgs.apply(null, arguments); - return cond.length > 1 ? { - $or: cond, - } : cond[0]; + var cond = simplify(prepareArgs.apply(null, arguments), '$or'); + return cond.length > 1 ? obj('$or', cond) : cond[0]; }, $eq: function (key, val) { - var o; if (isDefined(key) && isDefined(val)) { - o = {}; - o[key] = val; - return o; + return obj(key, val); + } + }, + $ne: function (key, val) { + if (isDefined(key) && isDefined(val)) { + return obj(key, '$ne', val); + } + }, + $in: function (key, val) { + if (isDefined(key) && angular.isArray(val)) { + return obj(key, '$in', val); } }, - $like: function (key, val) { - var o; - if (isDefined(key) && val) { - o = {}; - o[key] = { - $regex: val - }; - return o; + $nin: function (key, val) { + if (isDefined(key) && angular.isArray(val)) { + return obj(key, '$nin', val); } }, + // deprecated alias. Use $regex. + $like: regex, + $regex: regex, + $gt: numComparison('$gt'), + $gte: numComparison('$gte'), + $lt: numComparison('$lt'), + $lte: numComparison('$lte'), }; }); diff --git a/dist/angular-eve-resource.min.js b/dist/angular-eve-resource.min.js index 05212ee..5020cdc 100644 --- a/dist/angular-eve-resource.min.js +++ b/dist/angular-eve-resource.min.js @@ -1,2 +1,2 @@ -!function(t,n,r,e){"use strict";t.module("com.dailymotion.ngEveResource",["ngResource"]),t.module("com.dailymotion.ngEveResource").service("eve",function(){function n(){var n=t.isArray(arguments[0])?arguments[0]:Array.prototype.slice.call(arguments);return n.map(function(n){return t.isFunction(n)?n():n}).filter(function(t){return!!t})}function r(n){return t.isUndefined(n)?!1:t.isString(n)?n.length>0:!0}this.query={$and:function(){var t=n.apply(null,arguments);return t.length>1?{$and:t}:t[0]},$or:function(){var t=n.apply(null,arguments);return t.length>1?{$or:t}:t[0]},$eq:function(t,n){var e;return r(t)&&r(n)?(e={},e[t]=n,e):void 0},$like:function(t,n){var e;return r(t)&&n?(e={},e[t]={$regex:n},e):void 0}}}),t.module("com.dailymotion.ngEveResource").provider("eveResource",function(){var n={dateformat:"YYYY-MM-DDTHH:mm:ss[Z]"};this.init=function(r){t.merge(n,r)},this.$get=["$window","$resource",function(r,o){function u(t,e){return r.moment&&r.moment.utc?r.moment.utc(t).format(e||n.dateformat):t}function i(t){return u(this._updated,t)}function c(t){return u(this._created,t)}return function(n,r,u,a,s){var m,f;return t.isFunction(s)||(t.isFunction(a)?(s=a,a={}):s=function(t,n){return n}),m=o(n,r,u,a),f=m.prototype.toJSON,m.prototype.toJSON=function(){var n=f.call(this);return t.forEach(n,function(t,r){n[r]="_"===r.charAt(0)?e:s(r,t)}),n},m.prototype.exists=function(){return!!this._id},m.prototype.formatUpdated=i,m.prototype.formatCreated=c,m}}]})}(this.angular,this,this.document); +!function(n,t,r,e){"use strict";n.module("com.dailymotion.ngEveResource",["ngResource"]),n.module("com.dailymotion.ngEveResource").service("eve",function(){function t(n,t,r){var e={};return 3===arguments.length?(e[n]={})[t]=r:e[n]=t,e}function r(){var t=n.isArray(arguments[0])?arguments[0]:Array.prototype.slice.call(arguments);return t.map(function(t){return n.isFunction(t)?t():t}).filter(function(n){return!!n})}function e(t,r){var o=[];return n.forEach(t,function(n){n[r]?o=[].concat(o,e(n[r],r)):o.push(n)}),o}function o(t){return n.isUndefined(t)?!1:n.isString(t)?t.length>0:!0}function i(t,r){return n.isFunction(r)?r(t):"pre"===r?[".*?",t].join(""):"post"===r?[t,".*?"].join(""):"wrap"===r?[".*?",t,".*?"].join(""):t}function u(n,r,e){return o(n)&&r?t(n,"$regex",i(r,e)):void 0}function c(r){return function(e,o){return n.isNumber(o)?t(e,r,o):void 0}}this.query={$and:function(){var n=e(r.apply(null,arguments),"$and");return n.length>1?t("$and",n):n[0]},$or:function(){var n=e(r.apply(null,arguments),"$or");return n.length>1?t("$or",n):n[0]},$eq:function(n,r){return o(n)&&o(r)?t(n,r):void 0},$ne:function(n,r){return o(n)&&o(r)?t(n,"$ne",r):void 0},$in:function(r,e){return o(r)&&n.isArray(e)?t(r,"$in",e):void 0},$nin:function(r,e){return o(r)&&n.isArray(e)?t(r,"$nin",e):void 0},$like:u,$regex:u,$gt:c("$gt"),$gte:c("$gte"),$lt:c("$lt"),$lte:c("$lte")}}),n.module("com.dailymotion.ngEveResource").provider("eveResource",function(){var t={dateformat:"YYYY-MM-DDTHH:mm:ss[Z]"};this.init=function(r){n.merge(t,r)},this.$get=["$window","$resource",function(r,o){function i(n,e){return r.moment&&r.moment.utc?r.moment.utc(n).format(e||t.dateformat):n}function u(n){return i(this._updated,n)}function c(n){return i(this._created,n)}return function(t,r,i,a,s){var f,m;return n.isFunction(s)||(n.isFunction(a)?(s=a,a={}):s=function(n,t){return t}),f=o(t,r,i,a),m=f.prototype.toJSON,f.prototype.toJSON=function(){var t=m.call(this);return n.forEach(t,function(n,r){t[r]="_"===r.charAt(0)?e:s(r,n)}),t},f.prototype.exists=function(){return!!this._id},f.prototype.formatUpdated=u,f.prototype.formatCreated=c,f}}]})}(this.angular,this,this.document); //# sourceMappingURL=angular-eve-resource.min.js.map diff --git a/dist/angular-eve-resource.min.js.map b/dist/angular-eve-resource.min.js.map index fd9bca5..0c4061d 100644 --- a/dist/angular-eve-resource.min.js.map +++ b/dist/angular-eve-resource.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["angular-eve-resource.js"],"names":["angular","window","document","undefined","module","service","prepareArgs","args","isArray","arguments","Array","prototype","slice","call","map","arg","isFunction","filter","isDefined","val","isUndefined","isString","length","this","query","$and","cond","apply","$or","$eq","key","o","$like","$regex","provider","cfg","dateformat","init","config","merge","$get","$window","$resource","format","time","fmt","moment","utc","formatUpdated","_updated","formatCreated","_created","url","paramDefaults","actions","options","toJsonReplacer","Resource","toJSON","value","data","forEach","charAt","exists","_id"],"mappings":"CAAE,SAAUA,EAASC,EAAQC,EAAUC,GACnC,YAEJH,GAAQI,OAAO,iCACX,eAGJJ,EAAQI,OAAO,iCACVC,QAAQ,MAAO,WACZ,QAASC,KACL,GAAIC,GAAOP,EAAQQ,QAAQC,UAAU,IAAMA,UAAU,GAAKC,MAAMC,UAAUC,MAAMC,KAAKJ,UACrF,OAAOF,GAAKO,IAAI,SAAUC,GACtB,MAAIf,GAAQgB,WAAWD,GACZA,IAEJA,IACRE,OAAO,SAAUF,GAChB,QAASA,IAIjB,QAASG,GAAWC,GAChB,MAAInB,GAAQoB,YAAYD,IACb,EAEPnB,EAAQqB,SAASF,GACVA,EAAIG,OAAS,GAEjB,EAGXC,KAAKC,OACDC,KAAM,WACF,GAAIC,GAAOpB,EAAYqB,MAAM,KAAMlB,UACnC,OAAOiB,GAAKJ,OAAS,GACjBG,KAAMC,GACNA,EAAK,IAEbE,IAAK,WACD,GAAIF,GAAOpB,EAAYqB,MAAM,KAAMlB,UACnC,OAAOiB,GAAKJ,OAAS,GACjBM,IAAKF,GACLA,EAAK,IAEbG,IAAK,SAAUC,EAAKX,GAChB,GAAIY,EACJ,OAAIb,GAAUY,IAAQZ,EAAUC,IAC5BY,KACAA,EAAED,GAAOX,EACFY,GAHX,QAMJC,MAAO,SAAUF,EAAKX,GAClB,GAAIY,EACJ,OAAIb,GAAUY,IAAQX,GAClBY,KACAA,EAAED,IACEG,OAAQd,GAELY,GALX,WAWhB/B,EAAQI,OAAO,iCACV8B,SAAS,cAAe,WACrB,GAAIC,IACAC,WAAc,yBAGlBb,MAAKc,KAAO,SAAUC,GAClBtC,EAAQuC,MAAMJ,EAAKG,IAGvBf,KAAKiB,MAAQ,UAAW,YAAa,SAAUC,EAASC,GACpD,QAASC,GAAQC,EAAMC,GACnB,MAAOJ,GAAQK,QAAUL,EAAQK,OAAOC,IAAMN,EAAQK,OAAOC,IAAIH,GAAMD,OAAOE,GAAOV,EAAIC,YAAcQ,EAG3G,QAASI,GAAeH,GACpB,MAAOF,GAAOpB,KAAK0B,SAAUJ,GAGjC,QAASK,GAAeL,GACpB,MAAOF,GAAOpB,KAAK4B,SAAUN,GAGjC,MAAO,UAAUO,EAAKC,EAAeC,EAASC,EAASC,GACnD,GAAIC,GACAC,CAkCJ,OAhCK1D,GAAQgB,WAAWwC,KAChBxD,EAAQgB,WAAWuC,IACnBC,EAAiBD,EACjBA,MAEAC,EAAiB,SAAS1B,EAAK6B,GAC3B,MAAOA,KAKnBF,EAAWf,EAAUU,EAAKC,EAAeC,EAASC,GAElDG,EAASD,EAAS9C,UAAU+C,OAE5BD,EAAS9C,UAAU+C,OAAS,WACxB,GAAIE,GAAOF,EAAO7C,KAAKU,KAMvB,OAJAvB,GAAQ6D,QAAQD,EAAM,SAASD,EAAO7B,GAClC8B,EAAK9B,GAAyB,MAAlBA,EAAIgC,OAAO,GAAa3D,EAAYqD,EAAe1B,EAAK6B,KAGjEC,GAGXH,EAAS9C,UAAUoD,OAAS,WACxB,QAASxC,KAAKyC,KAGlBP,EAAS9C,UAAUqC,cAAgBA,EACnCS,EAAS9C,UAAUuC,cAAgBA,EAE5BO,QAKrBlC,KAAKvB,QAASuB,KAAMA,KAAKrB","file":"angular-eve-resource.min.js","sourcesContent":[";(function (angular, window, document, undefined) {\n 'use strict';\n\nangular.module('com.dailymotion.ngEveResource', [\n 'ngResource'\n]);\n\nangular.module('com.dailymotion.ngEveResource')\n .service('eve', function () {\n function prepareArgs () {\n var args = angular.isArray(arguments[0]) ? arguments[0] : Array.prototype.slice.call(arguments);\n return args.map(function (arg) {\n if (angular.isFunction(arg)) {\n return arg();\n }\n return arg;\n }).filter(function (arg) {\n return !!arg;\n });\n }\n\n function isDefined (val) {\n if (angular.isUndefined(val)) {\n return false;\n }\n if (angular.isString(val)) {\n return val.length > 0;\n }\n return true;\n }\n\n this.query = {\n $and: function () {\n var cond = prepareArgs.apply(null, arguments);\n return cond.length > 1 ? {\n $and: cond,\n } : cond[0];\n },\n $or: function () {\n var cond = prepareArgs.apply(null, arguments);\n return cond.length > 1 ? {\n $or: cond,\n } : cond[0];\n },\n $eq: function (key, val) {\n var o;\n if (isDefined(key) && isDefined(val)) {\n o = {};\n o[key] = val;\n return o;\n }\n },\n $like: function (key, val) {\n var o;\n if (isDefined(key) && val) {\n o = {};\n o[key] = {\n $regex: val\n };\n return o;\n }\n },\n };\n });\n\nangular.module('com.dailymotion.ngEveResource')\n .provider('eveResource', function () {\n var cfg = {\n 'dateformat': 'YYYY-MM-DDTHH:mm:ss[Z]'\n };\n\n this.init = function (config) {\n angular.merge(cfg, config);\n };\n\n this.$get = ['$window', '$resource', function ($window, $resource) {\n function format (time, fmt) {\n return $window.moment && $window.moment.utc ? $window.moment.utc(time).format(fmt || cfg.dateformat) : time;\n }\n\n function formatUpdated (fmt) {\n return format(this._updated, fmt);\n }\n\n function formatCreated (fmt) {\n return format(this._created, fmt);\n }\n\n return function (url, paramDefaults, actions, options, toJsonReplacer) {\n var Resource,\n toJSON;\n\n if (!angular.isFunction(toJsonReplacer)) {\n if (angular.isFunction(options)) {\n toJsonReplacer = options;\n options = {};\n } else {\n toJsonReplacer = function(key, value) {\n return value;\n };\n }\n }\n\n Resource = $resource(url, paramDefaults, actions, options);\n\n toJSON = Resource.prototype.toJSON;\n\n Resource.prototype.toJSON = function() {\n var data = toJSON.call(this);\n\n angular.forEach(data, function(value, key) {\n data[key] = key.charAt(0) === '_' ? undefined : toJsonReplacer(key, value);\n });\n\n return data;\n };\n\n Resource.prototype.exists = function() {\n return !!this._id;\n };\n\n Resource.prototype.formatUpdated = formatUpdated;\n Resource.prototype.formatCreated = formatCreated;\n\n return Resource;\n };\n }];\n });\n\n}(this.angular, this, this.document));\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["angular-eve-resource.js"],"names":["angular","window","document","undefined","module","service","obj","key","comp","val","o","arguments","length","prepareArgs","args","isArray","Array","prototype","slice","call","map","arg","isFunction","filter","simplify","conds","newCond","forEach","cond","concat","push","isDefined","isUndefined","isString","regexValue","match","join","regex","numComparison","num","isNumber","this","query","$and","apply","$or","$eq","$ne","$in","$nin","$like","$regex","$gt","$gte","$lt","$lte","provider","cfg","dateformat","init","config","merge","$get","$window","$resource","format","time","fmt","moment","utc","formatUpdated","_updated","formatCreated","_created","url","paramDefaults","actions","options","toJsonReplacer","Resource","toJSON","value","data","charAt","exists","_id"],"mappings":"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","file":"angular-eve-resource.min.js","sourcesContent":[";(function (angular, window, document, undefined) {\n 'use strict';\n\nangular.module('com.dailymotion.ngEveResource', [\n 'ngResource'\n]);\n\nangular.module('com.dailymotion.ngEveResource')\n .service('eve', function () {\n function obj (key, comp, val) {\n var o = {};\n if (arguments.length === 3) {\n (o[key] = {})[comp] = val;\n } else {\n o[key] = comp;\n }\n return o;\n }\n\n function prepareArgs () {\n var args = angular.isArray(arguments[0]) ? arguments[0] : Array.prototype.slice.call(arguments);\n return args.map(function (arg) {\n if (angular.isFunction(arg)) {\n return arg();\n }\n return arg;\n }).filter(function (arg) {\n return !!arg;\n });\n }\n\n function simplify (conds, key) {\n var newCond = [];\n\n angular.forEach(conds, function (cond) {\n if (cond[key]) {\n newCond = [].concat(newCond, simplify(cond[key], key));\n } else {\n newCond.push(cond);\n }\n });\n\n return newCond;\n }\n\n function isDefined (val) {\n if (angular.isUndefined(val)) {\n return false;\n }\n if (angular.isString(val)) {\n return val.length > 0;\n }\n return true;\n }\n\n function regexValue (val, match) {\n if (angular.isFunction(match)) {\n return match(val);\n } else if (match === 'pre') {\n return [\n '.*?',\n val,\n ].join('');\n } else if (match === 'post') {\n return [\n val,\n '.*?',\n ].join('');\n } else if (match === 'wrap') {\n return [\n '.*?',\n val,\n '.*?',\n ].join('');\n }\n return val;\n }\n\n function regex (key, val, match) {\n if (isDefined(key) && val) {\n return obj(key, '$regex', regexValue(val, match));\n }\n }\n\n function numComparison (comp) {\n return function (key, num) {\n if (angular.isNumber(num)) {\n return obj(key, comp, num);\n }\n };\n }\n\n this.query = {\n $and: function () {\n var cond = simplify(prepareArgs.apply(null, arguments), '$and');\n return cond.length > 1 ? obj('$and', cond) : cond[0];\n },\n $or: function () {\n var cond = simplify(prepareArgs.apply(null, arguments), '$or');\n return cond.length > 1 ? obj('$or', cond) : cond[0];\n },\n $eq: function (key, val) {\n if (isDefined(key) && isDefined(val)) {\n return obj(key, val);\n }\n },\n $ne: function (key, val) {\n if (isDefined(key) && isDefined(val)) {\n return obj(key, '$ne', val);\n }\n },\n $in: function (key, val) {\n if (isDefined(key) && angular.isArray(val)) {\n return obj(key, '$in', val);\n }\n },\n $nin: function (key, val) {\n if (isDefined(key) && angular.isArray(val)) {\n return obj(key, '$nin', val);\n }\n },\n // deprecated alias. Use $regex.\n $like: regex,\n $regex: regex,\n $gt: numComparison('$gt'),\n $gte: numComparison('$gte'),\n $lt: numComparison('$lt'),\n $lte: numComparison('$lte'),\n };\n });\n\nangular.module('com.dailymotion.ngEveResource')\n .provider('eveResource', function () {\n var cfg = {\n 'dateformat': 'YYYY-MM-DDTHH:mm:ss[Z]'\n };\n\n this.init = function (config) {\n angular.merge(cfg, config);\n };\n\n this.$get = ['$window', '$resource', function ($window, $resource) {\n function format (time, fmt) {\n return $window.moment && $window.moment.utc ? $window.moment.utc(time).format(fmt || cfg.dateformat) : time;\n }\n\n function formatUpdated (fmt) {\n return format(this._updated, fmt);\n }\n\n function formatCreated (fmt) {\n return format(this._created, fmt);\n }\n\n return function (url, paramDefaults, actions, options, toJsonReplacer) {\n var Resource,\n toJSON;\n\n if (!angular.isFunction(toJsonReplacer)) {\n if (angular.isFunction(options)) {\n toJsonReplacer = options;\n options = {};\n } else {\n toJsonReplacer = function(key, value) {\n return value;\n };\n }\n }\n\n Resource = $resource(url, paramDefaults, actions, options);\n\n toJSON = Resource.prototype.toJSON;\n\n Resource.prototype.toJSON = function() {\n var data = toJSON.call(this);\n\n angular.forEach(data, function(value, key) {\n data[key] = key.charAt(0) === '_' ? undefined : toJsonReplacer(key, value);\n });\n\n return data;\n };\n\n Resource.prototype.exists = function() {\n return !!this._id;\n };\n\n Resource.prototype.formatUpdated = formatUpdated;\n Resource.prototype.formatCreated = formatCreated;\n\n return Resource;\n };\n }];\n });\n\n}(this.angular, this, this.document));\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/package.json b/package.json index 88ea840..d8b15da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-eve-resource", - "version": "1.6.0", + "version": "1.6.1", "description": "AngularJS Resource Adapter for Python Eve REST API Framework", "main": "dist/angular-eve-resource.js", "scripts": {