'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'use strict';
 
var $TypeError = require('es-errors/type');
 
var StringPad = require('./StringPad');
var ToLength = require('./ToLength');
var ToString = require('./ToString');
 
// https://262.ecma-international.org/15.0/#sec-stringpaddingbuiltinsimpl
 
module.exports = function StringPaddingBuiltinsImpl(O, maxLength, fillString, placement) {
    if (placement !== 'start' && placement !== 'end' && placement !== 'START' && placement !== 'END') {
        throw new $TypeError('Assertion failed: `placement` must be ~START~ or ~END~');
    }
 
    var S = ToString(O); // step 1
 
    var intMaxLength = ToLength(maxLength); // step 2
 
    var stringLength = S.length; // step 3
 
    if (intMaxLength <= stringLength) { return S; } // step 4
 
    var filler = typeof fillString === 'undefined' ? ' ' : ToString(fillString); // steps 5-6
 
    return StringPad(S, intMaxLength, filler, placement); // step 7
};