UNPKG

arcade-physics

Version:
48 lines 1.35 kB
"use strict"; /** * @author Richard Davey <rich@photonstorm.com> * @copyright 2020 Photon Storm Ltd. * @license {@link https://opensource.org/licenses/MIT|MIT License} */ Object.defineProperty(exports, "__esModule", { value: true }); exports.MoveBelow = void 0; /** * Moves the given array element below another one in the array. * The array is modified in-place. * * @function Phaser.Utils.Array.MoveBelow * @since 3.55.0 * * @param {array} array - The input array. * @param {*} item1 - The element to move below base element. * @param {*} item2 - The base element. * * * @return {array} The input array. */ const MoveBelow = (array, item1, item2) => { if (item1 === item2) { return array; } const currentIndex = array.indexOf(item1); const baseIndex = array.indexOf(item2); if (currentIndex < 0 || baseIndex < 0) { throw new Error('Supplied items must be elements of the same array'); } if (currentIndex < baseIndex) { // item1 is already below item2 return array; } // Remove array.splice(currentIndex, 1); // Add in new location if (baseIndex === 0) { array.unshift(item1); } else { array.splice(baseIndex, 0, item1); } return array; }; exports.MoveBelow = MoveBelow; //# sourceMappingURL=MoveBelow.js.map