backdoor-vconsole 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -2,169 +2,99 @@
2
2
 
3
3
  var VConsole = require('vconsole');
4
4
 
5
- function _arrayWithHoles(r) {
6
- if (Array.isArray(r)) return r;
7
- }
8
-
9
- function _iterableToArrayLimit(r, l) {
10
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
11
- if (null != t) {
12
- var e,
13
- n,
14
- i,
15
- u,
16
- a = [],
17
- f = true,
18
- o = false;
19
- try {
20
- if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
21
- } catch (r) {
22
- o = true, n = r;
23
- } finally {
24
- try {
25
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
26
- } finally {
27
- if (o) throw n;
28
- }
29
- }
30
- return a;
31
- }
32
- }
33
-
34
- function _arrayLikeToArray(r, a) {
35
- (null == a || a > r.length) && (a = r.length);
36
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
37
- return n;
38
- }
39
-
40
- function _unsupportedIterableToArray(r, a) {
41
- if (r) {
42
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
43
- var t = {}.toString.call(r).slice(8, -1);
44
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
45
- }
46
- }
47
-
48
- function _nonIterableRest() {
49
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
50
- }
51
-
52
- function _slicedToArray(r, e) {
53
- return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
54
- }
55
-
56
- var DEFAULT_CONFIG = {
57
- COUNT: 7,
58
- INTERVAL: 300,
59
- DURATION: 7 * 1000,
60
- CLOSE_COUNT: 10,
61
- CLOSE_DURATION: 10 * 1000
62
- };
63
- var vConsoleInstance = null;
64
- var toggleVConsole = function toggleVConsole() {
65
- if (vConsoleInstance) {
66
- vConsoleInstance.destroy();
67
- vConsoleInstance = null;
68
- console.log("vConsole is closed");
69
- } else {
70
- vConsoleInstance = new VConsole();
71
- console.log("vConsole is started", vConsoleInstance);
72
- }
5
+ const DEFAULT_CONFIG = {
6
+ COUNT: 7,
7
+ INTERVAL: 300,
8
+ DURATION: 7 * 1000,
9
+ CLOSE_COUNT: 10,
10
+ CLOSE_DURATION: 10 * 1000,
73
11
  };
74
- var isMobile = function isMobile() {
75
- return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
76
- };
77
- var getTarget = function getTarget(target) {
78
- if (typeof target === "string") {
79
- var t = document.querySelector(target);
80
- if (t) {
81
- return t;
82
- } else {
83
- throw new Error("can not find target");
12
+ let vConsoleInstance = null;
13
+ const toggleVConsole = () => {
14
+ if (vConsoleInstance) {
15
+ vConsoleInstance.destroy();
16
+ vConsoleInstance = null;
17
+ console.log("vConsole is closed");
18
+ }
19
+ else {
20
+ vConsoleInstance = new VConsole();
21
+ console.log("vConsole is started", vConsoleInstance);
84
22
  }
85
- } else if (target instanceof HTMLElement) {
86
- return target;
87
- } else {
88
- throw new Error("target is required");
89
- }
90
23
  };
91
-
92
- // 快速点击 - 点击 openCount 次开启,点击 closeCount 次关闭
93
- var rapidClicks = function rapidClicks(_ref) {
94
- var target = _ref.target,
95
- _ref$openCount = _ref.openCount,
96
- openCount = _ref$openCount === void 0 ? DEFAULT_CONFIG.COUNT : _ref$openCount,
97
- _ref$closeCount = _ref.closeCount,
98
- closeCount = _ref$closeCount === void 0 ? DEFAULT_CONFIG.CLOSE_COUNT : _ref$closeCount,
99
- _ref$interval = _ref.interval,
100
- interval = _ref$interval === void 0 ? DEFAULT_CONFIG.INTERVAL : _ref$interval;
101
- var t = getTarget(target);
102
- var clickTimer = null;
103
- var clickCount = 0;
104
- var handler = function handler() {
105
- clearTimeout(clickTimer);
106
- clickCount += 1;
107
- var threshold = vConsoleInstance ? closeCount : openCount;
108
- if (clickCount === threshold) {
109
- toggleVConsole();
110
- clickCount = 0;
24
+ const isMobile = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
25
+ const getTarget = (target) => {
26
+ if (typeof target === "string") {
27
+ const t = document.querySelector(target);
28
+ if (t instanceof HTMLElement) {
29
+ return t;
30
+ }
31
+ else {
32
+ throw new Error(`can not find target`);
33
+ }
34
+ }
35
+ else if (target instanceof HTMLElement) {
36
+ return target;
37
+ }
38
+ else {
39
+ throw new Error("target is required");
111
40
  }
112
- clickTimer = setTimeout(function () {
113
- clickCount = 0;
114
- }, interval);
115
- };
116
- t.addEventListener("click", handler);
117
- return function () {
118
- t.removeEventListener("click", handler);
119
- clearTimeout(clickTimer);
120
- };
121
41
  };
122
-
123
- // 长按 - 长按 openDuration 开启,长按 closeDuration 关闭
124
- var longPress = function longPress(_ref2) {
125
- var target = _ref2.target,
126
- _ref2$openDuration = _ref2.openDuration,
127
- openDuration = _ref2$openDuration === void 0 ? DEFAULT_CONFIG.DURATION : _ref2$openDuration,
128
- _ref2$closeDuration = _ref2.closeDuration,
129
- closeDuration = _ref2$closeDuration === void 0 ? DEFAULT_CONFIG.CLOSE_DURATION : _ref2$closeDuration;
130
- var t = getTarget(target);
131
- var timer = null;
132
- var onPress = function onPress() {
133
- clearTimeout(timer);
134
- var duration = vConsoleInstance ? closeDuration : openDuration;
135
- timer = setTimeout(toggleVConsole, duration);
136
- };
137
- var clearTimer = function clearTimer() {
138
- clearTimeout(timer);
139
- timer = null;
140
- };
141
- var events = isMobile() ? {
142
- touchstart: onPress,
143
- touchend: clearTimer,
144
- touchcancel: clearTimer
145
- } : {
146
- mousedown: onPress,
147
- mouseup: clearTimer,
148
- mouseleave: clearTimer
149
- };
150
- Object.entries(events).forEach(function (_ref3) {
151
- var _ref4 = _slicedToArray(_ref3, 2),
152
- event = _ref4[0],
153
- handler = _ref4[1];
154
- return t.addEventListener(event, handler);
155
- });
156
- return function () {
157
- Object.entries(events).forEach(function (_ref5) {
158
- var _ref6 = _slicedToArray(_ref5, 2),
159
- event = _ref6[0],
160
- handler = _ref6[1];
161
- return t.removeEventListener(event, handler);
162
- });
163
- clearTimer();
164
- };
42
+ /**
43
+ * 快速点击 - 点击 openCount 次开启,点击 closeCount 次关闭
44
+ */
45
+ const rapidClicks = (options) => {
46
+ const { target, openCount = DEFAULT_CONFIG.COUNT, closeCount = DEFAULT_CONFIG.CLOSE_COUNT, interval = DEFAULT_CONFIG.INTERVAL } = options;
47
+ const t = getTarget(target);
48
+ let clickTimer = null;
49
+ let clickCount = 0;
50
+ const handler = () => {
51
+ if (clickTimer)
52
+ clearTimeout(clickTimer);
53
+ clickCount += 1;
54
+ const threshold = vConsoleInstance ? closeCount : openCount;
55
+ if (clickCount === threshold) {
56
+ toggleVConsole();
57
+ clickCount = 0;
58
+ }
59
+ clickTimer = setTimeout(() => {
60
+ clickCount = 0;
61
+ }, interval);
62
+ };
63
+ t.addEventListener("click", handler);
64
+ return () => {
65
+ t.removeEventListener("click", handler);
66
+ if (clickTimer)
67
+ clearTimeout(clickTimer);
68
+ };
69
+ };
70
+ /**
71
+ * 长按 - 长按 openDuration 开启,长按 closeDuration 关闭
72
+ */
73
+ const longPress = (options) => {
74
+ const { target, openDuration = DEFAULT_CONFIG.DURATION, closeDuration = DEFAULT_CONFIG.CLOSE_DURATION } = options;
75
+ const t = getTarget(target);
76
+ let timer = null;
77
+ const onPress = () => {
78
+ if (timer)
79
+ clearTimeout(timer);
80
+ const duration = vConsoleInstance ? closeDuration : openDuration;
81
+ timer = setTimeout(toggleVConsole, duration);
82
+ };
83
+ const clearTimer = () => {
84
+ if (timer)
85
+ clearTimeout(timer);
86
+ timer = null;
87
+ };
88
+ const events = isMobile()
89
+ ? { touchstart: onPress, touchend: clearTimer, touchcancel: clearTimer }
90
+ : { mousedown: onPress, mouseup: clearTimer, mouseleave: clearTimer };
91
+ Object.entries(events).forEach(([event, handler]) => t.addEventListener(event, handler));
92
+ return () => {
93
+ Object.entries(events).forEach(([event, handler]) => t.removeEventListener(event, handler));
94
+ clearTimer();
95
+ };
165
96
  };
166
97
 
167
98
  exports.longPress = longPress;
168
99
  exports.rapidClicks = rapidClicks;
169
100
  exports.toggleVConsole = toggleVConsole;
170
- //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- "use strict";var e=require("vconsole");function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function r(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,u,l=[],a=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t);else for(;!(a=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{if(!a&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(c)throw o}}return l}}(e,r)||function(e,r){if(e){if("string"==typeof e)return t(e,r);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var n={COUNT:7,INTERVAL:300,DURATION:7e3,CLOSE_COUNT:10,CLOSE_DURATION:1e4},o=null,i=function(){o?(o.destroy(),o=null,console.log("vConsole is closed")):(o=new e,console.log("vConsole is started",o))},u=function(e){if("string"==typeof e){var t=document.querySelector(e);if(t)return t;throw new Error("can not find target")}if(e instanceof HTMLElement)return e;throw new Error("target is required")};exports.longPress=function(e){var t=e.target,l=e.openDuration,a=void 0===l?n.DURATION:l,c=e.closeDuration,s=void 0===c?n.CLOSE_DURATION:c,f=u(t),v=null,d=function(){clearTimeout(v),v=setTimeout(i,o?s:a)},m=function(){clearTimeout(v),v=null},y=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?{touchstart:d,touchend:m,touchcancel:m}:{mousedown:d,mouseup:m,mouseleave:m};return Object.entries(y).forEach(function(e){var t=r(e,2),n=t[0],o=t[1];return f.addEventListener(n,o)}),function(){Object.entries(y).forEach(function(e){var t=r(e,2),n=t[0],o=t[1];return f.removeEventListener(n,o)}),m()}},exports.rapidClicks=function(e){var t=e.target,r=e.openCount,l=void 0===r?n.COUNT:r,a=e.closeCount,c=void 0===a?n.CLOSE_COUNT:a,s=e.interval,f=void 0===s?n.INTERVAL:s,v=u(t),d=null,m=0,y=function(){clearTimeout(d),(m+=1)===(o?c:l)&&(i(),m=0),d=setTimeout(function(){m=0},f)};return v.addEventListener("click",y),function(){v.removeEventListener("click",y),clearTimeout(d)}},exports.toggleVConsole=i;
1
+ "use strict";var e=require("vconsole");const t={COUNT:7,INTERVAL:300,DURATION:7e3,CLOSE_COUNT:10,CLOSE_DURATION:1e4};let o=null;const n=()=>{o?(o.destroy(),o=null,console.log("vConsole is closed")):(o=new e,console.log("vConsole is started",o))},r=e=>{if("string"==typeof e){const t=document.querySelector(e);if(t instanceof HTMLElement)return t;throw new Error("can not find target")}if(e instanceof HTMLElement)return e;throw new Error("target is required")};exports.longPress=e=>{const{target:s,openDuration:i=t.DURATION,closeDuration:l=t.CLOSE_DURATION}=e,c=r(s);let u=null;const a=()=>{u&&clearTimeout(u);u=setTimeout(n,o?l:i)},T=()=>{u&&clearTimeout(u),u=null},d=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?{touchstart:a,touchend:T,touchcancel:T}:{mousedown:a,mouseup:T,mouseleave:T};return Object.entries(d).forEach(([e,t])=>c.addEventListener(e,t)),()=>{Object.entries(d).forEach(([e,t])=>c.removeEventListener(e,t)),T()}},exports.rapidClicks=e=>{const{target:s,openCount:i=t.COUNT,closeCount:l=t.CLOSE_COUNT,interval:c=t.INTERVAL}=e,u=r(s);let a=null,T=0;const d=()=>{a&&clearTimeout(a),T+=1;T===(o?l:i)&&(n(),T=0),a=setTimeout(()=>{T=0},c)};return u.addEventListener("click",d),()=>{u.removeEventListener("click",d),a&&clearTimeout(a)}},exports.toggleVConsole=n;
@@ -0,0 +1,31 @@
1
+ declare const toggleVConsole: () => void;
2
+ export interface RapidClicksOptions {
3
+ /** 选择器或 HTMLElement */
4
+ target: string | HTMLElement;
5
+ /** 开启次数,默认 7 */
6
+ openCount?: number;
7
+ /** 关闭次数,默认 10 */
8
+ closeCount?: number;
9
+ /** 点击间隔,默认 300ms */
10
+ interval?: number;
11
+ }
12
+ /**
13
+ * 快速点击 - 点击 openCount 次开启,点击 closeCount 次关闭
14
+ */
15
+ export declare const rapidClicks: (options: RapidClicksOptions) => (() => void);
16
+ export interface LongPressOptions {
17
+ /** 选择器或 HTMLElement */
18
+ target: string | HTMLElement;
19
+ /** 开启时长,默认 7000ms */
20
+ openDuration?: number;
21
+ /** 关闭时长,默认 10000ms */
22
+ closeDuration?: number;
23
+ }
24
+ /**
25
+ * 长按 - 长按 openDuration 开启,长按 closeDuration 关闭
26
+ */
27
+ export declare const longPress: (options: LongPressOptions) => (() => void);
28
+ /**
29
+ * 手动切换 vConsole 开关状态
30
+ */
31
+ export { toggleVConsole };
@@ -1 +1 @@
1
- import e from"vconsole";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function n(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,u,l=[],a=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t);else for(;!(a=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return l}}(e,n)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var r={COUNT:7,INTERVAL:300,DURATION:7e3,CLOSE_COUNT:10,CLOSE_DURATION:1e4},o=null,i=function(){o?(o.destroy(),o=null,console.log("vConsole is closed")):(o=new e,console.log("vConsole is started",o))},u=function(e){if("string"==typeof e){var t=document.querySelector(e);if(t)return t;throw new Error("can not find target")}if(e instanceof HTMLElement)return e;throw new Error("target is required")},l=function(e){var t=e.target,n=e.openCount,l=void 0===n?r.COUNT:n,a=e.closeCount,c=void 0===a?r.CLOSE_COUNT:a,f=e.interval,s=void 0===f?r.INTERVAL:f,v=u(t),d=null,m=0,y=function(){clearTimeout(d),(m+=1)===(o?c:l)&&(i(),m=0),d=setTimeout(function(){m=0},s)};return v.addEventListener("click",y),function(){v.removeEventListener("click",y),clearTimeout(d)}},a=function(e){var t=e.target,l=e.openDuration,a=void 0===l?r.DURATION:l,c=e.closeDuration,f=void 0===c?r.CLOSE_DURATION:c,s=u(t),v=null,d=function(){clearTimeout(v),v=setTimeout(i,o?f:a)},m=function(){clearTimeout(v),v=null},y=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?{touchstart:d,touchend:m,touchcancel:m}:{mousedown:d,mouseup:m,mouseleave:m};return Object.entries(y).forEach(function(e){var t=n(e,2),r=t[0],o=t[1];return s.addEventListener(r,o)}),function(){Object.entries(y).forEach(function(e){var t=n(e,2),r=t[0],o=t[1];return s.removeEventListener(r,o)}),m()}};export{a as longPress,l as rapidClicks,i as toggleVConsole};
1
+ import e from"vconsole";const t={COUNT:7,INTERVAL:300,DURATION:7e3,CLOSE_COUNT:10,CLOSE_DURATION:1e4};let o=null;const n=()=>{o?(o.destroy(),o=null,console.log("vConsole is closed")):(o=new e,console.log("vConsole is started",o))},r=e=>{if("string"==typeof e){const t=document.querySelector(e);if(t instanceof HTMLElement)return t;throw new Error("can not find target")}if(e instanceof HTMLElement)return e;throw new Error("target is required")},i=e=>{const{target:i,openCount:l=t.COUNT,closeCount:s=t.CLOSE_COUNT,interval:c=t.INTERVAL}=e,u=r(i);let a=null,T=0;const E=()=>{a&&clearTimeout(a),T+=1;T===(o?s:l)&&(n(),T=0),a=setTimeout(()=>{T=0},c)};return u.addEventListener("click",E),()=>{u.removeEventListener("click",E),a&&clearTimeout(a)}},l=e=>{const{target:i,openDuration:l=t.DURATION,closeDuration:s=t.CLOSE_DURATION}=e,c=r(i);let u=null;const a=()=>{u&&clearTimeout(u);u=setTimeout(n,o?s:l)},T=()=>{u&&clearTimeout(u),u=null},E=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?{touchstart:a,touchend:T,touchcancel:T}:{mousedown:a,mouseup:T,mouseleave:T};return Object.entries(E).forEach(([e,t])=>c.addEventListener(e,t)),()=>{Object.entries(E).forEach(([e,t])=>c.removeEventListener(e,t)),T()}};export{l as longPress,i as rapidClicks,n as toggleVConsole};
package/dist/index.mjs CHANGED
@@ -1,166 +1,96 @@
1
1
  import VConsole from 'vconsole';
2
2
 
3
- function _arrayWithHoles(r) {
4
- if (Array.isArray(r)) return r;
5
- }
6
-
7
- function _iterableToArrayLimit(r, l) {
8
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
9
- if (null != t) {
10
- var e,
11
- n,
12
- i,
13
- u,
14
- a = [],
15
- f = true,
16
- o = false;
17
- try {
18
- if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
19
- } catch (r) {
20
- o = true, n = r;
21
- } finally {
22
- try {
23
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
24
- } finally {
25
- if (o) throw n;
26
- }
27
- }
28
- return a;
29
- }
30
- }
31
-
32
- function _arrayLikeToArray(r, a) {
33
- (null == a || a > r.length) && (a = r.length);
34
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
35
- return n;
36
- }
37
-
38
- function _unsupportedIterableToArray(r, a) {
39
- if (r) {
40
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
41
- var t = {}.toString.call(r).slice(8, -1);
42
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
43
- }
44
- }
45
-
46
- function _nonIterableRest() {
47
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
48
- }
49
-
50
- function _slicedToArray(r, e) {
51
- return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
52
- }
53
-
54
- var DEFAULT_CONFIG = {
55
- COUNT: 7,
56
- INTERVAL: 300,
57
- DURATION: 7 * 1000,
58
- CLOSE_COUNT: 10,
59
- CLOSE_DURATION: 10 * 1000
60
- };
61
- var vConsoleInstance = null;
62
- var toggleVConsole = function toggleVConsole() {
63
- if (vConsoleInstance) {
64
- vConsoleInstance.destroy();
65
- vConsoleInstance = null;
66
- console.log("vConsole is closed");
67
- } else {
68
- vConsoleInstance = new VConsole();
69
- console.log("vConsole is started", vConsoleInstance);
70
- }
3
+ const DEFAULT_CONFIG = {
4
+ COUNT: 7,
5
+ INTERVAL: 300,
6
+ DURATION: 7 * 1000,
7
+ CLOSE_COUNT: 10,
8
+ CLOSE_DURATION: 10 * 1000,
71
9
  };
72
- var isMobile = function isMobile() {
73
- return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
74
- };
75
- var getTarget = function getTarget(target) {
76
- if (typeof target === "string") {
77
- var t = document.querySelector(target);
78
- if (t) {
79
- return t;
80
- } else {
81
- throw new Error("can not find target");
10
+ let vConsoleInstance = null;
11
+ const toggleVConsole = () => {
12
+ if (vConsoleInstance) {
13
+ vConsoleInstance.destroy();
14
+ vConsoleInstance = null;
15
+ console.log("vConsole is closed");
16
+ }
17
+ else {
18
+ vConsoleInstance = new VConsole();
19
+ console.log("vConsole is started", vConsoleInstance);
82
20
  }
83
- } else if (target instanceof HTMLElement) {
84
- return target;
85
- } else {
86
- throw new Error("target is required");
87
- }
88
21
  };
89
-
90
- // 快速点击 - 点击 openCount 次开启,点击 closeCount 次关闭
91
- var rapidClicks = function rapidClicks(_ref) {
92
- var target = _ref.target,
93
- _ref$openCount = _ref.openCount,
94
- openCount = _ref$openCount === void 0 ? DEFAULT_CONFIG.COUNT : _ref$openCount,
95
- _ref$closeCount = _ref.closeCount,
96
- closeCount = _ref$closeCount === void 0 ? DEFAULT_CONFIG.CLOSE_COUNT : _ref$closeCount,
97
- _ref$interval = _ref.interval,
98
- interval = _ref$interval === void 0 ? DEFAULT_CONFIG.INTERVAL : _ref$interval;
99
- var t = getTarget(target);
100
- var clickTimer = null;
101
- var clickCount = 0;
102
- var handler = function handler() {
103
- clearTimeout(clickTimer);
104
- clickCount += 1;
105
- var threshold = vConsoleInstance ? closeCount : openCount;
106
- if (clickCount === threshold) {
107
- toggleVConsole();
108
- clickCount = 0;
22
+ const isMobile = () => /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
23
+ const getTarget = (target) => {
24
+ if (typeof target === "string") {
25
+ const t = document.querySelector(target);
26
+ if (t instanceof HTMLElement) {
27
+ return t;
28
+ }
29
+ else {
30
+ throw new Error(`can not find target`);
31
+ }
32
+ }
33
+ else if (target instanceof HTMLElement) {
34
+ return target;
35
+ }
36
+ else {
37
+ throw new Error("target is required");
109
38
  }
110
- clickTimer = setTimeout(function () {
111
- clickCount = 0;
112
- }, interval);
113
- };
114
- t.addEventListener("click", handler);
115
- return function () {
116
- t.removeEventListener("click", handler);
117
- clearTimeout(clickTimer);
118
- };
119
39
  };
120
-
121
- // 长按 - 长按 openDuration 开启,长按 closeDuration 关闭
122
- var longPress = function longPress(_ref2) {
123
- var target = _ref2.target,
124
- _ref2$openDuration = _ref2.openDuration,
125
- openDuration = _ref2$openDuration === void 0 ? DEFAULT_CONFIG.DURATION : _ref2$openDuration,
126
- _ref2$closeDuration = _ref2.closeDuration,
127
- closeDuration = _ref2$closeDuration === void 0 ? DEFAULT_CONFIG.CLOSE_DURATION : _ref2$closeDuration;
128
- var t = getTarget(target);
129
- var timer = null;
130
- var onPress = function onPress() {
131
- clearTimeout(timer);
132
- var duration = vConsoleInstance ? closeDuration : openDuration;
133
- timer = setTimeout(toggleVConsole, duration);
134
- };
135
- var clearTimer = function clearTimer() {
136
- clearTimeout(timer);
137
- timer = null;
138
- };
139
- var events = isMobile() ? {
140
- touchstart: onPress,
141
- touchend: clearTimer,
142
- touchcancel: clearTimer
143
- } : {
144
- mousedown: onPress,
145
- mouseup: clearTimer,
146
- mouseleave: clearTimer
147
- };
148
- Object.entries(events).forEach(function (_ref3) {
149
- var _ref4 = _slicedToArray(_ref3, 2),
150
- event = _ref4[0],
151
- handler = _ref4[1];
152
- return t.addEventListener(event, handler);
153
- });
154
- return function () {
155
- Object.entries(events).forEach(function (_ref5) {
156
- var _ref6 = _slicedToArray(_ref5, 2),
157
- event = _ref6[0],
158
- handler = _ref6[1];
159
- return t.removeEventListener(event, handler);
160
- });
161
- clearTimer();
162
- };
40
+ /**
41
+ * 快速点击 - 点击 openCount 次开启,点击 closeCount 次关闭
42
+ */
43
+ const rapidClicks = (options) => {
44
+ const { target, openCount = DEFAULT_CONFIG.COUNT, closeCount = DEFAULT_CONFIG.CLOSE_COUNT, interval = DEFAULT_CONFIG.INTERVAL } = options;
45
+ const t = getTarget(target);
46
+ let clickTimer = null;
47
+ let clickCount = 0;
48
+ const handler = () => {
49
+ if (clickTimer)
50
+ clearTimeout(clickTimer);
51
+ clickCount += 1;
52
+ const threshold = vConsoleInstance ? closeCount : openCount;
53
+ if (clickCount === threshold) {
54
+ toggleVConsole();
55
+ clickCount = 0;
56
+ }
57
+ clickTimer = setTimeout(() => {
58
+ clickCount = 0;
59
+ }, interval);
60
+ };
61
+ t.addEventListener("click", handler);
62
+ return () => {
63
+ t.removeEventListener("click", handler);
64
+ if (clickTimer)
65
+ clearTimeout(clickTimer);
66
+ };
67
+ };
68
+ /**
69
+ * 长按 - 长按 openDuration 开启,长按 closeDuration 关闭
70
+ */
71
+ const longPress = (options) => {
72
+ const { target, openDuration = DEFAULT_CONFIG.DURATION, closeDuration = DEFAULT_CONFIG.CLOSE_DURATION } = options;
73
+ const t = getTarget(target);
74
+ let timer = null;
75
+ const onPress = () => {
76
+ if (timer)
77
+ clearTimeout(timer);
78
+ const duration = vConsoleInstance ? closeDuration : openDuration;
79
+ timer = setTimeout(toggleVConsole, duration);
80
+ };
81
+ const clearTimer = () => {
82
+ if (timer)
83
+ clearTimeout(timer);
84
+ timer = null;
85
+ };
86
+ const events = isMobile()
87
+ ? { touchstart: onPress, touchend: clearTimer, touchcancel: clearTimer }
88
+ : { mousedown: onPress, mouseup: clearTimer, mouseleave: clearTimer };
89
+ Object.entries(events).forEach(([event, handler]) => t.addEventListener(event, handler));
90
+ return () => {
91
+ Object.entries(events).forEach(([event, handler]) => t.removeEventListener(event, handler));
92
+ clearTimer();
93
+ };
163
94
  };
164
95
 
165
96
  export { longPress, rapidClicks, toggleVConsole };
166
- //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "backdoor-vconsole",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "programmer backdoor trigger incident",
5
5
  "homepage": "https://github.com/jackzer666/backdoor-vconsole",
6
6
  "license": "MIT",
@@ -8,6 +8,14 @@
8
8
  "type": "module",
9
9
  "main": "dist/index.cjs.min.js",
10
10
  "module": "dist/index.min.mjs",
11
+ "types": "dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.min.mjs",
16
+ "require": "./dist/index.cjs.min.js"
17
+ }
18
+ },
11
19
  "files": [
12
20
  "dist"
13
21
  ],
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../index.js"],"sourcesContent":["function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import VConsole from \"vconsole\";\n\nconst DEFAULT_CONFIG = {\n COUNT: 7,\n INTERVAL: 300,\n DURATION: 7 * 1000,\n CLOSE_COUNT: 10,\n CLOSE_INTERVAL: 300,\n CLOSE_DURATION: 10 * 1000,\n};\n\nlet vConsoleInstance = null;\n\nconst toggleVConsole = () => {\n if (vConsoleInstance) {\n vConsoleInstance.destroy();\n vConsoleInstance = null;\n console.log(\"vConsole is closed\");\n } else {\n vConsoleInstance = new VConsole();\n console.log(\"vConsole is started\", vConsoleInstance);\n }\n};\n\nconst isMobile = () =>\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n\nconst getTarget = (target) => {\n if (typeof target === \"string\") {\n const t = document.querySelector(target);\n if (t) {\n return t;\n } else {\n throw new Error(`can not find target`);\n }\n } else if (target instanceof HTMLElement) {\n return target;\n } else {\n throw new Error(\"target is required\");\n }\n};\n\n// 快速点击 - 点击 openCount 次开启,点击 closeCount 次关闭\nconst rapidClicks = ({\n target,\n openCount = DEFAULT_CONFIG.COUNT,\n closeCount = DEFAULT_CONFIG.CLOSE_COUNT,\n interval = DEFAULT_CONFIG.INTERVAL,\n}) => {\n const t = getTarget(target);\n let clickTimer = null;\n let clickCount = 0;\n\n const handler = () => {\n clearTimeout(clickTimer);\n clickCount += 1;\n const threshold = vConsoleInstance ? closeCount : openCount;\n if (clickCount === threshold) {\n toggleVConsole();\n clickCount = 0;\n }\n clickTimer = setTimeout(() => {\n clickCount = 0;\n }, interval);\n };\n\n t.addEventListener(\"click\", handler);\n\n return () => {\n t.removeEventListener(\"click\", handler);\n clearTimeout(clickTimer);\n };\n};\n\n// 长按 - 长按 openDuration 开启,长按 closeDuration 关闭\nconst longPress = ({\n target,\n openDuration = DEFAULT_CONFIG.DURATION,\n closeDuration = DEFAULT_CONFIG.CLOSE_DURATION,\n}) => {\n const t = getTarget(target);\n let timer = null;\n\n const onPress = () => {\n clearTimeout(timer);\n const duration = vConsoleInstance ? closeDuration : openDuration;\n timer = setTimeout(toggleVConsole, duration);\n };\n\n const clearTimer = () => {\n clearTimeout(timer);\n timer = null;\n };\n\n const events = isMobile()\n ? { touchstart: onPress, touchend: clearTimer, touchcancel: clearTimer }\n : { mousedown: onPress, mouseup: clearTimer, mouseleave: clearTimer };\n\n Object.entries(events).forEach(([event, handler]) =>\n t.addEventListener(event, handler)\n );\n\n return () => {\n Object.entries(events).forEach(([event, handler]) =>\n t.removeEventListener(event, handler)\n );\n clearTimer();\n };\n};\n\nexport { rapidClicks, longPress, toggleVConsole };\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","DEFAULT_CONFIG","COUNT","INTERVAL","DURATION","CLOSE_COUNT","CLOSE_INTERVAL","CLOSE_DURATION","vConsoleInstance","toggleVConsole","destroy","console","log","VConsole","isMobile","test","navigator","userAgent","getTarget","target","t","document","querySelector","Error","HTMLElement","rapidClicks","_ref","_ref$openCount","openCount","_ref$closeCount","closeCount","_ref$interval","interval","clickTimer","clickCount","handler","clearTimeout","threshold","setTimeout","addEventListener","removeEventListener","longPress","_ref2","_ref2$openDuration","openDuration","_ref2$closeDuration","closeDuration","timer","onPress","duration","clearTimer","events","touchstart","touchend","touchcancel","mousedown","mouseup","mouseleave","Object","entries","forEach","_ref3","_ref4","_slicedToArray","event","_ref5","_ref6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../index.js"],"sourcesContent":["function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import VConsole from \"vconsole\";\n\nconst DEFAULT_CONFIG = {\n COUNT: 7,\n INTERVAL: 300,\n DURATION: 7 * 1000,\n CLOSE_COUNT: 10,\n CLOSE_INTERVAL: 300,\n CLOSE_DURATION: 10 * 1000,\n};\n\nlet vConsoleInstance = null;\n\nconst toggleVConsole = () => {\n if (vConsoleInstance) {\n vConsoleInstance.destroy();\n vConsoleInstance = null;\n console.log(\"vConsole is closed\");\n } else {\n vConsoleInstance = new VConsole();\n console.log(\"vConsole is started\", vConsoleInstance);\n }\n};\n\nconst isMobile = () =>\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n\nconst getTarget = (target) => {\n if (typeof target === \"string\") {\n const t = document.querySelector(target);\n if (t) {\n return t;\n } else {\n throw new Error(`can not find target`);\n }\n } else if (target instanceof HTMLElement) {\n return target;\n } else {\n throw new Error(\"target is required\");\n }\n};\n\n// 快速点击 - 点击 openCount 次开启,点击 closeCount 次关闭\nconst rapidClicks = ({\n target,\n openCount = DEFAULT_CONFIG.COUNT,\n closeCount = DEFAULT_CONFIG.CLOSE_COUNT,\n interval = DEFAULT_CONFIG.INTERVAL,\n}) => {\n const t = getTarget(target);\n let clickTimer = null;\n let clickCount = 0;\n\n const handler = () => {\n clearTimeout(clickTimer);\n clickCount += 1;\n const threshold = vConsoleInstance ? closeCount : openCount;\n if (clickCount === threshold) {\n toggleVConsole();\n clickCount = 0;\n }\n clickTimer = setTimeout(() => {\n clickCount = 0;\n }, interval);\n };\n\n t.addEventListener(\"click\", handler);\n\n return () => {\n t.removeEventListener(\"click\", handler);\n clearTimeout(clickTimer);\n };\n};\n\n// 长按 - 长按 openDuration 开启,长按 closeDuration 关闭\nconst longPress = ({\n target,\n openDuration = DEFAULT_CONFIG.DURATION,\n closeDuration = DEFAULT_CONFIG.CLOSE_DURATION,\n}) => {\n const t = getTarget(target);\n let timer = null;\n\n const onPress = () => {\n clearTimeout(timer);\n const duration = vConsoleInstance ? closeDuration : openDuration;\n timer = setTimeout(toggleVConsole, duration);\n };\n\n const clearTimer = () => {\n clearTimeout(timer);\n timer = null;\n };\n\n const events = isMobile()\n ? { touchstart: onPress, touchend: clearTimer, touchcancel: clearTimer }\n : { mousedown: onPress, mouseup: clearTimer, mouseleave: clearTimer };\n\n Object.entries(events).forEach(([event, handler]) =>\n t.addEventListener(event, handler)\n );\n\n return () => {\n Object.entries(events).forEach(([event, handler]) =>\n t.removeEventListener(event, handler)\n );\n clearTimer();\n };\n};\n\nexport { rapidClicks, longPress, toggleVConsole };\n"],"names":["arrayLikeToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","DEFAULT_CONFIG","COUNT","INTERVAL","DURATION","CLOSE_COUNT","CLOSE_INTERVAL","CLOSE_DURATION","vConsoleInstance","toggleVConsole","destroy","console","log","VConsole","isMobile","test","navigator","userAgent","getTarget","target","t","document","querySelector","Error","HTMLElement","rapidClicks","_ref","_ref$openCount","openCount","_ref$closeCount","closeCount","_ref$interval","interval","clickTimer","clickCount","handler","clearTimeout","threshold","setTimeout","addEventListener","removeEventListener","longPress","_ref2","_ref2$openDuration","openDuration","_ref2$closeDuration","closeDuration","timer","onPress","duration","clearTimer","events","touchstart","touchend","touchcancel","mousedown","mouseup","mouseleave","Object","entries","forEach","_ref3","_ref4","_slicedToArray","event","_ref5","_ref6"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}