mockjs-lite
Version:
A minimalist simulation data generator
8 lines (7 loc) • 15.3 kB
JavaScript
/*!
* Mockjs-lite v0.3.3
* (c) 2017-2018 楼教主 <fe.52cik@gmail.com> (https://github.com/52cik/mockjs-lite)
* Released under the MIT License.
*/
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r(n.Mock={})}(this,function(n){"use strict";function r(n,r){return n=void 0!==n?parseInt(n,10):-9007199254740992,r=void 0!==r?parseInt(r,10):9007199254740992,Math.round(Math.random()*(r-n))+n}function e(n,e,t){if(void 0===n)return Math.random()>=.5;var a=e?r(n,e):parseInt(n,10);return Math.random()*a<1?Boolean(t):!t}function t(n,e,t,i){i=i||17,i=Math.max(Math.min(i,17),0),t=t||0;var u=r(t=Math.max(Math.min(t,17),0),i),c=(e?r(n,e-1):n||r())+"."+o("number",u-1)+a("123456789");return parseFloat(c,10)}function a(n){return n=String(n),(n=H[n.toLowerCase()]||n).charAt(r(0,n.length-1))}function o(n,e,t){var o=0,i="number"==typeof n;void 0!==t?o=r(e,t):void 0!==e?i?(o=r(n,e),n=void 0):o=+e:i?(o=parseInt(n,10),n=void 0):o=r(3,7);for(var u="",c=0;c<o;c++)u+=a(n);return u}function i(n){return(n=String(n)).charAt(0).toUpperCase()+n.substr(1)}function u(n,e,t){for(var a=(n=n.slice(0)).length;a;a--){var o=Math.floor(Math.random()*a),i=[n[o],n[a-1]];n[a-1]=i[0],n[o]=i[1]}switch(arguments.length){case 2:t=e;case 3:return e=parseInt(e,10),t=parseInt(t,10),n.slice(0,r(e,t));default:return n}}function c(n,e,t){return n instanceof Array?(void 0===e&&(e=1),void 0===t&&(t=e)):(n=[].slice.call(arguments),e=1,t=1),1===e&&1===t?n[r(0,n.length-1)]:u(n,e,t)}function s(n,r){var e={"M+":r.getMonth()+1,"d+":r.getDate(),"h+":r.getHours(),"m+":r.getMinutes(),"s+":r.getSeconds(),"q+":Math.floor((r.getMonth()+3)/3),S:r.getMilliseconds()};/(y+)/.test(n)&&(n=n.replace(RegExp.$1,(""+r.getFullYear()).substr(4-RegExp.$1.length)));for(var t in e)if(new RegExp("("+t+")").test(n)){var a=1===RegExp.$1.length?e[t]:("00"+e[t]).substr((""+e[t]).length);n=n.replace(RegExp.$1,a)}return n}function l(n,e){return n=n?new Date(n):new Date(0),e?e=new Date(e):(e=new Date).setFullYear(e.getFullYear()+10),new Date(r(e.getTime(),n.getTime()))}function f(n,r){var e=Date.now();return 10===r?e/1e3|0:e}function p(n,r,e){return h(n||"yyyy-MM-dd",r,e)}function h(n,r,e){var t=void 0,a=!1;switch(arguments.length){case 0:case 1:t=l(),!0!==n&&10!==n||(a=n);break;case 2:t=l(n,r),n=void 0;break;case 3:!0===e||10===e?(a=e,t=l(n,r)):t=l(r,e)}return a?f(t,a):s(n||"yyyy-MM-dd hh:mm:ss",t)}function d(n,r){return N+=U,N%=1,"number"!=typeof n&&(n=.5),"number"!=typeof r&&(r=.95),[360*N,100*n,100*r]}function v(n){var r,e,t=n[0],a=n[1]/100,o=n[2]/100;return e=(2-a)*o,r=a*o,r/=e<=1?e:2-e,e/=2,[t,100*r,100*e]}function m(n){var r=n[0]/60,e=n[1]/100,t=n[2]/100,a=Math.floor(r)%6,o=r-Math.floor(r),i=255*t*(1-e),u=255*t*(1-e*o),c=255*t*(1-e*(1-o));switch(t*=255,a){case 0:return[t,c,i];case 1:return[u,t,i];case 2:return[i,t,c];case 3:return[i,u,t];case 4:return[c,i,t];case 5:return[t,i,u]}}function g(n,r,e){return((256+n<<8|r)<<8|e).toString(16).slice(1)}function x(n){var r=m(d()),e=g(r[0],r[1],r[2]);return n?"#"+e:e}function y(n,e,t,a){return void 0===t?r(n,e):void 0===a?t:r(t,a)}function b(n,r){for(var e=y(3,10,n,r),t="",o=0;o<e;o++)t+=a("lower");return t}function M(n,r){for(var e=y(12,18,n,r),t=[],a=0;a<e;a++)t.push(b());return i(t.join(" "))+"."}function w(n,e,t){var a=1;switch(arguments.length){case 0:n=X,a=1;break;case 1:"string"==typeof n?a=1:(a=n,n=X);break;case 2:"string"==typeof n?a=e:(a=r(n,e),n=X);break;case 3:a=r(e,t)}for(var o="",i=n.length-1,u=0;u<a;u++)o+=n.charAt(r(0,i));return o}function D(n,r){for(var e=y(12,18,n,r),t=[],a=0;a<e;a++)t.push(w());return t.join("")+"。"}function F(){return c(Q)}function k(){return c(V)}function C(){return c(Z)}function j(){return c(nn)}function I(n){return n=n?"string"==typeof n?n.split(/[ ,]/):n:rn,c(n||rn)}function S(n){return n=n?"string"==typeof n?n.split(/[ ,]/):n:en,c(n)}function A(n,r){var e=[];return n&&e.push(n),e.push(b()),e.push(r||S()),e.join(".")}function E(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var r=16*Math.random()|0;return("x"===n?r:3&r|8).toString(16)})}function R(n){return cn+=+(n||1)}function T(n){return pn.call(n).slice(8,-1).toLowerCase()}function z(n,r){return"string"!==T(n)?null:n.match(r)}function B(n,r,e,t){if(t.parent&&hn.call(t.parent,r))return t.parent[r];if(!hn.call(fn,r)&&!hn.call(ln,r))return n;var a=[];if(e)try{a=new Function("return ["+e+"]")()}catch(n){}return(fn[r]||ln[r]).apply(null,a)}function J(n,r,e){var t=dn[T(n)];return t?t(n,r,e):n}function L(n){var r={rootTpl:n,callbacks:[]},e=J(n,"",r);return r.callbacks.forEach(function(n){n.parent[n.key]=n.fn.call(n.parent,e)}),e}function O(n){n(ln,dn,fn)}var H={lower:"abcdefghijklmnopqrstuvwxyz",upper:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",number:"0123456789",symbol:"!@#$%^&*()[]"};H.alpha=H.lower+H.upper,H.undefined=H.lower+H.upper+H.number+H.symbol;var W=r,P=e,$=a,_=o,G="placehold.it",K=["300x250","250x250","240x400","336x280","180x150","720x300","468x60","234x60","88x31","120x90","120x60","120x240","125x125","728x90","160x600","120x600","300x600"],Y={navy:"#001F3F",blue:"#0074D9",aqua:"#7FDBFF",teal:"#39CCCC",olive:"#3D9970",green:"#2ECC40",lime:"#01FF70",yellow:"#FFDC00",orange:"#FF851B",red:"#FF4136",maroon:"#85144B",fuchsia:"#F012BE",purple:"#B10DC9",silver:"#DDDDDD",gray:"#AAAAAA",black:"#111111",white:"#FFFFFF"},q=Y,U=.618033988749895,N=Math.random(),X="的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府称太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严龙飞",Q="James John Robert Michael William David Richard Charles Joseph Thomas Christopher Daniel Paul Mark Donald George Kenneth Steven Edward Brian Ronald Anthony Kevin Jason Matthew Gary Timothy Jose Larry Jeffrey Frank Scott Eric Mary Patricia Linda Barbara Elizabeth Jennifer Maria Susan Margaret Dorothy Lisa Nancy Karen Betty Helen Sandra Donna Carol Ruth Sharon Michelle Laura Sarah Kimberly Deborah Jessica Shirley Cynthia Angela Melissa Brenda Amy Anna".split(" "),V="Smith Johnson Williams Brown Jones Miller Davis Garcia Rodriguez Wilson Martinez Anderson Taylor Thomas Hernandez Moore Martin Jackson Thompson White Lopez Lee Gonzalez Harris Clark Lewis Robinson Walker Perez Hall Young Allen".split(" "),Z="王李张刘陈杨赵黄周吴徐孙胡朱高林何郭马罗梁宋郑谢韩唐冯于董萧程曹袁邓许傅沈曾彭吕苏卢蒋蔡贾丁魏薛叶阎余潘杜戴夏锺汪田任姜范方石姚谭廖邹熊金陆郝孔白崔康毛邱秦江史顾侯邵孟龙万段雷钱汤尹黎易常武乔贺赖龚文".split(""),nn="伟 芳 娜 秀英 敏 静 丽 强 磊 军 洋 勇 艳 杰 娟 涛 明 超 秀兰 霞 平 刚 桂英".split(" "),rn="http https ws wss ftp".split(" "),en="com net org cn com.cn net.cn gov.cn org.cn tv tw jp".split(" "),tn=function(n){var r={};n.forEach(function(n){r[n.id]=n});var e=[];return n.forEach(function(n){if(""===n.pid)e.push(n);else{var t=r[n.pid];t&&(t.children||(t.children=[]),t.children.push(n))}}),e}(function(n){return Object.keys(n).map(function(r){var e=void 0;return e="0000"===r.slice(2,6)?"":"00"===r.slice(4,6)?r.slice(0,2)+"0000":r.slice(0,4)+"00",{id:r,pid:e,name:n[r]}})}({11e4:"北京",110100:"北京市",110101:"东城区",110102:"西城区",110105:"朝阳区",110106:"丰台区",110107:"石景山区",110108:"海淀区",110109:"门头沟区",110111:"房山区",110112:"通州区",110113:"顺义区",110114:"昌平区",110115:"大兴区",110116:"怀柔区",110117:"平谷区",31e4:"上海",310100:"上海市",310101:"黄浦区",310107:"普陀区",310109:"虹口区",310110:"杨浦区",310115:"浦东新区",310117:"松江区",32e4:"江苏省",320100:"南京市",320102:"玄武区",320104:"秦淮区",320105:"建邺区",320106:"鼓楼区",320111:"浦口区",320113:"栖霞区",320115:"江宁区",320116:"六合区",33e4:"浙江省",330100:"杭州市",330102:"上城区",330103:"下城区",330104:"江干区",330105:"拱墅区",330106:"西湖区",330108:"滨江区",330109:"萧山区",330110:"余杭区",330122:"桐庐县",330127:"淳安县",330182:"建德市",330183:"富阳市",330185:"临安市",330200:"宁波市",330203:"海曙区",330225:"象山县",330226:"宁海县",330281:"余姚市",330282:"慈溪市",330283:"奉化市",330300:"温州市",330302:"鹿城区",330303:"龙湾区",330304:"瓯海区",330322:"洞头县",330324:"永嘉县",330328:"文成县",330329:"泰顺县",330381:"瑞安市",35e4:"福建省",350200:"厦门市",350203:"思明区",350205:"海沧区",350206:"湖里区",350211:"集美区",350212:"同安区",350213:"翔安区",37e4:"山东省",370200:"青岛市",370202:"市南区",370203:"市北区",370211:"黄岛区",370212:"崂山区",370213:"李沧区",370214:"城阳区",370281:"胶州市",370283:"平度市",44e4:"广东省",440100:"广州市",440105:"海珠区",440106:"天河区",440111:"白云区",440114:"花都区",440115:"南沙区",440300:"深圳市",440303:"罗湖区",440304:"福田区",440305:"南山区",440306:"宝安区",440307:"龙岗区",440308:"盐田区",440400:"珠海市",440402:"香洲区",440403:"斗门区",440404:"金湾区",440488:"其它区",46e4:"海南省",460100:"海口市",460105:"秀英区",460106:"龙华区",460107:"琼山区",460108:"美兰区",460109:"其它区",460200:"三亚市",5e5:"重庆",500100:"重庆市",500101:"万州区",500102:"涪陵区",500103:"渝中区",500105:"江北区",500106:"沙坪坝区",500107:"九龙坡区",500112:"渝北区",51e4:"四川省",510100:"成都市",510104:"锦江区",510107:"武侯区",510112:"龙泉驿区",510113:"青白江区",510122:"双流县",510181:"都江堰市",510182:"彭州市"})),an=["东北","华北","华东","华中","华南","西南","西北"],on=tn,un=E,cn=0,sn=R,ln={},fn=Object.freeze({capitalize:i,upper:function(n){return String(n).toUpperCase()},lower:function(n){return String(n).toLowerCase()},shuffle:u,pick:c,integer:r,int:W,boolean:e,bool:P,float:t,character:a,char:$,string:o,str:_,range:function(n,r,e){e||(e=1),r||(r=n||0,n=0),r=+r,e=+e;for(var t=[],a=n=+n;a<r;a+=e)t.push(a);return t},date:p,time:function(n,r,e){return h(n||"hh:mm:ss",r,e)},datetime:h,now:function(n){return!0===n||10===n?f(Date.now(),n):s(n||"yyyy-MM-dd hh:mm:ss",new Date)},setImageHost:function(n){G=n},image:function(n,r,e,t,a){return 4===arguments.length&&(a=t,t=void 0),3===arguments.length&&(a=e,e=void 0),n||(n=c(K)),"http://"+G+"/"+n+(r?"/"+r:"")+(e?"/"+e:"")+(t?"."+t:"")+(a?"&text="+a:"")},COLOR_DICT:q,hex:x,rgb:function(){var n=m(d());return"rgb("+parseInt(n[0],10)+", "+parseInt(n[1],10)+", "+parseInt(n[2],10)+")"},rgba:function(){var n=m(d());return"rgba("+parseInt(n[0],10)+", "+parseInt(n[1],10)+", "+parseInt(n[2],10)+", "+Math.random().toFixed(2)+")"},hsl:function(){var n=v(d());return"hsl("+parseInt(n[0],10)+", "+parseInt(n[1],10)+", "+parseInt(n[2],10)+")"},color:function(n){return n||Y[n]?Y[n]:x(!0)},word:b,sentence:M,paragraph:function(n,r){for(var e=y(3,7,n,r),t=[],a=0;a<e;a++)t.push(M());return t.join(" ")},title:function(n,r){for(var e=y(3,7,n,r),t=[],a=0;a<e;a++)t.push(i(b()));return t.join(" ")},cword:w,csentence:D,cparagraph:function(n,r){for(var e=y(3,7,n,r),t=[],a=0;a<e;a++)t.push(D());return t.join("")},ctitle:function(n,r){for(var e=y(3,7,n,r),t=[],a=0;a<e;a++)t.push(w());return t.join("")},first:F,last:k,name:function(n){return F()+" "+(n?F()+" ":"")+k()},cfirst:C,clast:j,cname:function(){return C()+j()},protocol:I,tld:S,domain:A,url:function(n,r){return(n||I())+"://"+(r||A())+"/"+b()},email:function(n){return a("lower")+"."+b()+"@"+(n||b()+"."+S())},ip:function(){return r(1,254)+"."+r(0,255)+"."+r(0,255)+"."+r(1,254)},ADDRESS_DICT:on,region:function(){return c(an)},province:function(){return c(tn).name},city:function(n){var r=c(tn),e=c(r.children);return n?[r.name,e.name].join(" "):e.name},county:function(n){var r=c(tn),e=c(r.children),t=c(e.children)||{name:"-"};return n?[r.name,e.name,t.name].join(" "):t.name},zip:function(n){return o("number",n||6)},uuid:E,guid:un,id:function(){for(var n=0,r=c(tn).id+p("yyyyMMdd")+o("number",3),e=0;e<r.length;e++)n+=r[e]*"7910584216379105842"[e];return r+="10X98765432"[n%11]},increment:R,inc:sn,mobile:function(){return"1"+a("34578")+o("number",9)},plugins:ln}),pn=Object.prototype.toString,hn=Object.prototype.hasOwnProperty,dn={object:function(n,r,e){var t={},a=Object.keys(n),o=a.length,i=o,u=z(r,/\|(\d+)(?:-(\d+))?/);return u&&(i=u[2]?W(u[1],u[2]):+u[1]),e.parentTpl=n,e.parent=t,i>=o?(a.sort(function(n){return"function"===T(n)?1:0}),a.forEach(function(r){t[r.replace(/\|.+/,"")]=J(n[r],r,e)})):a.sort(function(){return Math.random()<.5?-1:1}).slice(0,i).forEach(function(r){t[r.replace(/\|.+/,"")]=J(n[r],r,e)}),t},array:function(n,r,e){var t=[],a=n.length;if(0===a)return t;var o=0,i=z(r,/\|(\+)?(\d+)(?:-(\d+))?/);if(i){if("1"===i[2]&&void 0===i[3]){if("+"===i[1]){var u=n._idx||0;u>=a&&(u=0),t=J(n[u],u,e),n._idx=u+1}else{var c=W(0,a-1);t=J(n[c],c,e)}return t}o=i[3]?W(i[2],i[3]):+i[2]}if(0===o)n.forEach(function(n,r){return t.push(J(n,r,e))});else for(var s=0;s<o;s+=1)!function(r){n.forEach(function(n){return t.push(J(n,r,e))})}(s);return t},number:function(n,r,e){var a=z(r,/\|([+-]?\d+)(?:-([-]?\d+))?(?:\.(\d+)(?:-(\d+))?)?/);return a?"+"===a[1][0]?(e.parentTpl[r]+=parseInt(a[1],10),n):a[3]||a[4]?t(a[1],a[2],a[3],a[4]):a[2]?W(a[1],a[2]):n:n},string:function(n,r,e){var t=0,a=z(r,/\|(\d+)(?:-(\d+))?/);a&&(t=a[2]?W(a[1],a[2]):+a[1]);var i=n;if(""===n)return o("alpha",t||void 0);t&&(i=Array(t+1).join(n));var u=i.match(/^@(\w+)(?:\(([^)]*)\))?$/);return u?B(i,u[1],u[2],e):i=i.replace(/@(\w+)(?:\(([^)]*)\))?/g,function(n,r,t){return B(n,r,t,e)})},boolean:function(n,r){var e=z(r,/\|(\d+)(?:-(\d+))?/);return e?P(e[1],e[2],n):n},function:function(n,r,e){return e.callbacks.push({fn:n,key:r,parent:e.parent}),"[Waiting for callback processing...]"}},vn={mock:L,use:O,Random:fn};n.Random=fn,n.mock=L,n.use=O,n.default=vn,Object.defineProperty(n,"__esModule",{value:!0})});
//# sourceMappingURL=mock.min.js.map