UNPKG

@onesy/utils

Version:
23 lines (22 loc) 994 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const is_1 = __importDefault(require("./is")); const random_1 = __importDefault(require("./random")); const shuffle = (value, toShuffle = 14) => { if ((0, is_1.default)('array', value) || (0, is_1.default)('string', value)) { const array = (0, is_1.default)('array', value) ? value : value.split(''); for (let i = 1; i < toShuffle; i++) { const indexA = (0, random_1.default)(0, array.length - 1); const indexB = (0, random_1.default)(0, array.length - 1); const valueA = array[indexA]; const valueB = array[indexB]; array[indexA] = valueB; array[indexB] = valueA; } return (0, is_1.default)('array', value) ? value : array.join(''); } }; exports.default = shuffle;