kyouka 1.3.1 → 1.3.2

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  <img src="./assets/logo.png" width="200">
3
3
  </p>
4
4
  <p>
5
- <img alt="Version" src="https://img.shields.io/badge/version-1.3.1-blue.svg?cacheSeconds=2592000" />
5
+ <img alt="Version" src="https://img.shields.io/badge/version-1.3.2-blue.svg?cacheSeconds=2592000" />
6
6
  <a href="#" target="_blank">
7
7
  <img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" />
8
8
  </a>
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Chunks an array into smaller arrays of multiple specified sizes.
3
+ * @param arr
4
+ * @param chunkSizes
5
+ * @returns
6
+ */
7
+ declare const chunkMultiSize: (arr: any[], chunkSizes: number[]) => any[][];
8
+ export default chunkMultiSize;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Chunks an array into smaller arrays of multiple specified sizes.
5
+ * @param arr
6
+ * @param chunkSizes
7
+ * @returns
8
+ */
9
+ var chunkMultiSize = function (arr, chunkSizes) {
10
+ var chunkArray = [];
11
+ var cc = 0, i = 0;
12
+ while (i < arr.length) {
13
+ var csize = chunkSizes[cc];
14
+ chunkArray.push(arr.slice(i, i + csize));
15
+ cc = (cc + 1) % chunkSizes.length;
16
+ i += csize;
17
+ }
18
+ return chunkArray;
19
+ };
20
+ exports.default = chunkMultiSize;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Counts the occurrences of a value in an array.
3
+ * @param arr
4
+ * @param val
5
+ * @returns
6
+ */
7
+ declare const countOccurrences: (arr: any[], val: any) => any;
8
+ export default countOccurrences;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Counts the occurrences of a value in an array.
5
+ * @param arr
6
+ * @param val
7
+ * @returns
8
+ */
9
+ var countOccurrences = function (arr, val) {
10
+ return arr.reduce(function (a, v) { return (v === val ? a + 1 : a); }, 0);
11
+ };
12
+ exports.default = countOccurrences;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Convert base64 dataURI to File object.
3
+ * @param dataURI
4
+ * @param filename
5
+ * @returns
6
+ */
7
+ declare const dataURItoFile: (dataURI: string, filename?: string) => File;
8
+ export default dataURItoFile;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Convert base64 dataURI to File object.
5
+ * @param dataURI
6
+ * @param filename
7
+ * @returns
8
+ */
9
+ var dataURItoFile = function (dataURI, filename) {
10
+ if (filename === void 0) { filename = "1.jpg"; }
11
+ var mimeString = dataURI.split(",")[0].split(":")[1].split(";")[0]; // mime类型
12
+ var byteString = atob(dataURI.split(",")[1]); //base64 解码
13
+ var arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
14
+ var intArray = new Uint8Array(arrayBuffer); //创建视图
15
+ for (var i = 0; i < byteString.length; i++) {
16
+ intArray[i] = byteString.charCodeAt(i);
17
+ }
18
+ return new File([intArray], filename, { type: mimeString });
19
+ };
20
+ exports.default = dataURItoFile;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Creates a generator, that generates all dates in the given range using the given step.
3
+ * @param start
4
+ * @param end
5
+ * @param step
6
+ */
7
+ declare const dateRange: (start: Date, end: Date, step?: number) => Generator<Date, void, unknown>;
8
+ export default dateRange;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __generator = (this && this.__generator) || function (thisArg, body) {
3
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
+ function verb(n) { return function (v) { return step([n, v]); }; }
6
+ function step(op) {
7
+ if (f) throw new TypeError("Generator is already executing.");
8
+ while (_) try {
9
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
+ if (y = 0, t) op = [op[0] & 2, t.value];
11
+ switch (op[0]) {
12
+ case 0: case 1: t = op; break;
13
+ case 4: _.label++; return { value: op[1], done: false };
14
+ case 5: _.label++; y = op[1]; op = [0]; continue;
15
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
+ default:
17
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
+ if (t[2]) _.ops.pop();
22
+ _.trys.pop(); continue;
23
+ }
24
+ op = body.call(thisArg, _);
25
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
+ }
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ /**
31
+ * Creates a generator, that generates all dates in the given range using the given step.
32
+ * @param start
33
+ * @param end
34
+ * @param step
35
+ */
36
+ var dateRange = function (start, end, step) {
37
+ var d;
38
+ if (step === void 0) { step = 1; }
39
+ return __generator(this, function (_a) {
40
+ switch (_a.label) {
41
+ case 0:
42
+ d = start;
43
+ _a.label = 1;
44
+ case 1:
45
+ if (!(d < end)) return [3 /*break*/, 3];
46
+ return [4 /*yield*/, new Date(d)];
47
+ case 2:
48
+ _a.sent();
49
+ d.setDate(d.getDate() + step);
50
+ return [3 /*break*/, 1];
51
+ case 3: return [2 /*return*/];
52
+ }
53
+ });
54
+ };
55
+ exports.default = dateRange;
@@ -1,6 +1,5 @@
1
1
  /**
2
- * Disable touchmove.
3
- *
2
+ * Disable touchmove event.
4
3
  */
5
4
  declare const disableTouchMove: () => void;
6
5
  export default disableTouchMove;
@@ -1,12 +1,15 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ var preventDefault_1 = __importDefault(require("./preventDefault"));
3
7
  /**
4
- * Disable touchmove.
5
- *
8
+ * Disable touchmove event.
6
9
  */
7
10
  var disableTouchMove = function () {
8
- document.body.addEventListener("touchmove", function (e) {
9
- e.preventDefault();
10
- }, { passive: false });
11
+ document.body.addEventListener("touchmove", preventDefault_1.default, {
12
+ passive: false,
13
+ });
11
14
  };
12
15
  exports.default = disableTouchMove;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Enable touchmove event.
3
+ */
4
+ declare const enableTouchMove: () => void;
5
+ export default enableTouchMove;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var preventDefault_1 = __importDefault(require("./preventDefault"));
7
+ /**
8
+ * Enable touchmove event.
9
+ */
10
+ var enableTouchMove = function () {
11
+ document.body.removeEventListener("touchmove", preventDefault_1.default);
12
+ };
13
+ exports.default = enableTouchMove;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Creates an object with the unique values of an array as keys and their frequencies as the values.
3
+ * @param arr
4
+ * @returns
5
+ */
6
+ declare const frequencies: (arr: any[]) => any;
7
+ export default frequencies;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Creates an object with the unique values of an array as keys and their frequencies as the values.
5
+ * @param arr
6
+ * @returns
7
+ */
8
+ var frequencies = function (arr) {
9
+ return arr.reduce(function (a, v) {
10
+ a[v] = a[v] ? a[v] + 1 : 1;
11
+ return a;
12
+ }, {});
13
+ };
14
+ exports.default = frequencies;
@@ -0,0 +1,5 @@
1
+ declare const getNormalizedMousePos: (e: any) => {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ export default getNormalizedMousePos;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var getNormalizedMousePos = function (e) {
4
+ return {
5
+ x: (e.clientX / window.innerWidth) * 2 - 1,
6
+ y: -(e.clientY / window.innerHeight) * 2 + 1,
7
+ };
8
+ };
9
+ exports.default = getNormalizedMousePos;
package/dist/kyouka.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  declare const kyoka: {
2
- disableTouchMove: () => void;
3
2
  getCenterPointPos: (el: any) => import("../types/types").Point;
4
3
  getMousePos: (ev: any) => import("../types/types").Point;
5
4
  getTimeFromDate: (date: Date) => string;
@@ -110,5 +109,16 @@ declare const kyoka: {
110
109
  addDaysToDate: (d: Date, n: number) => Date;
111
110
  addWeeksToDate: (d: Date, n: number) => Date;
112
111
  groupBy: (arr: any[], fn: any) => unknown;
112
+ chunkMultiSize: (arr: any[], chunkSizes: number[]) => any[][];
113
+ disableTouchMove: () => void;
114
+ enableTouchMove: () => void;
115
+ getNormalizedMousePos: (e: any) => {
116
+ x: number;
117
+ y: number;
118
+ };
119
+ dataURItoFile: (dataURI: string, filename?: string) => File;
120
+ dateRange: (start: Date, end: Date, step?: number) => Generator<Date, void, unknown>;
121
+ frequencies: (arr: any[]) => any;
122
+ countOccurrences: (arr: any[], val: any) => any;
113
123
  };
114
124
  export default kyoka;
package/dist/kyouka.js CHANGED
@@ -13,13 +13,17 @@ var arrayToCSV_1 = __importDefault(require("./arrayToCSV"));
13
13
  var attempt_1 = __importDefault(require("./attempt"));
14
14
  var average_1 = __importDefault(require("./average"));
15
15
  var chunk_1 = __importDefault(require("./chunk"));
16
+ var chunkMultiSize_1 = __importDefault(require("./chunkMultiSize"));
16
17
  var clamp_1 = __importDefault(require("./clamp"));
17
18
  var compact_1 = __importDefault(require("./compact"));
18
19
  var compose_1 = __importDefault(require("./compose"));
19
20
  var copyToClipboard_1 = __importDefault(require("./copyToClipboard"));
21
+ var countOccurrences_1 = __importDefault(require("./countOccurrences"));
20
22
  var CSVToArray_1 = __importDefault(require("./CSVToArray"));
21
23
  var CSVToJSON_1 = __importDefault(require("./CSVToJSON"));
22
24
  var curry_1 = __importDefault(require("./curry"));
25
+ var dataURItoFile_1 = __importDefault(require("./dataURItoFile"));
26
+ var dateRange_1 = __importDefault(require("./dateRange"));
23
27
  var debounce_1 = __importDefault(require("./debounce"));
24
28
  var deepClone_1 = __importDefault(require("./deepClone"));
25
29
  var deg2rad_1 = __importDefault(require("./deg2rad"));
@@ -27,12 +31,15 @@ var degreesAngle_1 = __importDefault(require("./degreesAngle"));
27
31
  var detectDeviceType_1 = __importDefault(require("./detectDeviceType"));
28
32
  var disableTouchMove_1 = __importDefault(require("./disableTouchMove"));
29
33
  var distance_1 = __importDefault(require("./distance"));
34
+ var enableTouchMove_1 = __importDefault(require("./enableTouchMove"));
30
35
  var equals_1 = __importDefault(require("./equals"));
31
36
  var factorial_1 = __importDefault(require("./factorial"));
32
37
  var formatDuration_1 = __importDefault(require("./formatDuration"));
38
+ var frequencies_1 = __importDefault(require("./frequencies"));
33
39
  var fromTimestamp_1 = __importDefault(require("./fromTimestamp"));
34
40
  var getCenterPointPos_1 = __importDefault(require("./getCenterPointPos"));
35
41
  var getMousePos_1 = __importDefault(require("./getMousePos"));
42
+ var getNormalizedMousePos_1 = __importDefault(require("./getNormalizedMousePos"));
36
43
  var getScrollPosition_1 = require("./getScrollPosition");
37
44
  var getTimeDeltaAsSeconds_1 = __importDefault(require("./getTimeDeltaAsSeconds"));
38
45
  var getTimeFromDate_1 = __importDefault(require("./getTimeFromDate"));
@@ -107,7 +114,6 @@ var vw2px_1 = __importDefault(require("./vw2px"));
107
114
  var yesNo_1 = __importDefault(require("./yesNo"));
108
115
  var zip_1 = __importDefault(require("./zip"));
109
116
  var kyoka = {
110
- disableTouchMove: disableTouchMove_1.default,
111
117
  getCenterPointPos: getCenterPointPos_1.default,
112
118
  getMousePos: getMousePos_1.default,
113
119
  getTimeFromDate: getTimeFromDate_1.default,
@@ -211,5 +217,13 @@ var kyoka = {
211
217
  addDaysToDate: addDaysToDate_1.default,
212
218
  addWeeksToDate: addWeeksToDate_1.default,
213
219
  groupBy: groupBy_1.default,
220
+ chunkMultiSize: chunkMultiSize_1.default,
221
+ disableTouchMove: disableTouchMove_1.default,
222
+ enableTouchMove: enableTouchMove_1.default,
223
+ getNormalizedMousePos: getNormalizedMousePos_1.default,
224
+ dataURItoFile: dataURItoFile_1.default,
225
+ dateRange: dateRange_1.default,
226
+ frequencies: frequencies_1.default,
227
+ countOccurrences: countOccurrences_1.default,
214
228
  };
215
229
  exports.default = kyoka;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * e.preventDefault()
3
+ * @param e
4
+ */
5
+ declare const preventDefault: (e: any) => void;
6
+ export default preventDefault;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * e.preventDefault()
5
+ * @param e
6
+ */
7
+ var preventDefault = function (e) {
8
+ e.preventDefault();
9
+ };
10
+ exports.default = preventDefault;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kyouka",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "",
5
5
  "main": "./dist/kyouka.js",
6
6
  "types": "./dist/kyouka.d.ts",