UNPKG

arcade-physics

Version:
68 lines 2.23 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 }); /** * Takes the given string and pads it out, to the length required, using the character * specified. For example if you need a string to be 6 characters long, you can call: * * `pad('bob', 6, '-', 2)` * * This would return: `bob---` as it has padded it out to 6 characters, using the `-` on the right. * * You can also use it to pad numbers (they are always returned as strings): * * `pad(512, 6, '0', 1)` * * Would return: `000512` with the string padded to the left. * * If you don't specify a direction it'll pad to both sides: * * `pad('c64', 7, '*')` * * Would return: `**c64**` * * @function Phaser.Utils.String.Pad * @since 3.0.0 * * @param {string|number|object} str - The target string. `toString()` will be called on the string, which means you can also pass in common data types like numbers. * @param {number} [len=0] - The number of characters to be added. * @param {string} [pad=" "] - The string to pad it out with (defaults to a space). * @param {number} [dir=3] - The direction dir = 1 (left), 2 (right), 3 (both). * * @return {string} The padded string. */ const Pad = (str, len, pad, dir) => { if (len === undefined) { len = 0; } if (pad === undefined) { pad = ' '; } if (dir === undefined) { dir = 3; } str = str.toString(); let padlen = 0; if (len + 1 >= str.length) { switch (dir) { case 1: str = new Array(len + 1 - str.length).join(pad) + str; break; case 3: const right = Math.ceil((padlen = len - str.length) / 2); const left = padlen - right; str = new Array(left + 1).join(pad) + str + new Array(right + 1).join(pad); break; default: str = str + new Array(len + 1 - str.length).join(pad); break; } } return str; }; exports.default = Pad; //# sourceMappingURL=Pad.js.map