Like Nicolò said, it could be useful to make more pretty print to the 
terminal(Node.js), and also in the console(browser).

I think it can be useful for hide informations about id's

```javascript
"12049393823947".substr(3,6).padCenter(14,'*');
//result: "****493938****"
```

Other use case that I thought is to customize titles with some custom 
characters like:

```javascript
"MY TITLE".padCenter(14,'~');
//result: "~~~MY TITLE~~~"
```

In addition, it can make logs more readable too.

So, maybe this feature should had three arguments:

```javascript
String.prototype.padCenter = function(maxLength [, padStringLeft, 
padStringRight]){}
```

"padStringLeft" as the string that fills the left part and as "padStringRight" 
that fills the right part.

Att,

Ricardo Zorzal Davila
________________________________
De: Nicolò Ribaudo <[email protected]>
Enviado: quarta-feira, 22 de agosto de 2018 14:18
Para: Naveen Chawla
Cc: Ricardo Zorzal; [email protected]
Assunto: Re: proposal: String.prototype.padCenter

It can also be quite useful in Node, to center things printed to the terminal.

Il mer 22 ago 2018, 17:57 Naveen Chawla 
<[email protected]<mailto:[email protected]>> ha scritto:
Isn't "bluetooth printer" too niche a use case? Any other examples?

On Wed, 22 Aug 2018 at 17:59 Ricardo Zorzal 
<[email protected]<mailto:[email protected]>> wrote:

Isiah Meadows , don't have any problems in combine this two functions, but if 
it can be done with a native functions it could pass more confiability to 
javascript functions, avoiding polyfills, like I do.

In the past, when we did not had padStart and padEnd, we were using some 
polyfills functions to construct this two functions for us, then the comunity 
looked at this features and then started to implementing it. BTW, I do not know 
why we did not implementing this function when the padStart e padEnd was 
developed too.

And again, I think it's not hard to be done, but necessary. And Claude Pache, 
thanks for your exemple.

Naveen Chawla, yes this is the idea, as the same as the other "pad" functions, 
and look at the exemple from Claude Pache, it can be done like he coded.

I hope you guys understending that this is necessary to growth the language and 
make it more pratical than now.

Perhaps has other developers searching for this solution and they seen it in 
libs, polyfills and frameworks, but they do not like the idea to import other 
lib in the project just to use this feature.

And again, it seems not hard to be done.


Att,

Ricardo Zorzal Davila
________________________________
De: es-discuss 
<[email protected]<mailto:[email protected]>> em nome 
de Claude Pache <[email protected]<mailto:[email protected]>>
Enviado: quarta-feira, 22 de agosto de 2018 04:49
Para: Naveen Chawla
Cc: [email protected]<mailto:[email protected]>
Assunto: Re: proposal: String.prototype.padCenter

```js
x.padStart((x.length + 32)/2).padEnd(32)
```

(BTW, I don’t like this habit of top-posting the reply. Please look below for 
the question I’m answering, and read the mail backwards for more context.)

—Claude

Le 22 août 2018 à 05:47, Naveen Chawla 
<[email protected]<mailto:[email protected]>> a écrit :

How would you combine padStart and padEnd to get the desired result? Just 
curious, because the idea would be to create a minimum of 32 chars with the 
original string centered inside the "padding" (if there is any)

On Wed, 22 Aug 2018 at 07:26 Isiah Meadows 
<[email protected]<mailto:[email protected]>> wrote:
What's wrong with combining `padStart` with `padEnd`? I'm not sure this is 
worth it, since you can easily emulate it anyways (as you stated).
On Tue, Aug 21, 2018 at 16:44 Ricardo Zorzal 
<[email protected]<mailto:[email protected]>> wrote:
Hello guys, I here to talk about padStart, padEnd and my new proposal 
"padCenter", I think it is not hard to develop because we already had padStart 
and padEnd.

I thought that we need to add one more feature to String's prototype, and it is 
not a hard work. So the proposal is to create the String.prototype.padCenter 
that centralize a string with a max character lenght, equals we do when call 
the "pad" functions.

For exemple, when we call padStart

```javascript
"MY-TEST".padStart(32)
//result: "                         MY-TEST"
```

and when we call padEnd:

```javascript
"MY-TEST".padEnd(32)
//result: "MY-TEST                         "
```

how about that:

```javascript
"MY-TEST".padCenter(32)
//result: "            MY-TEST            "
```

I'm searching it for a long time and I seen people talking about it in 
different use cases. But for me it will be usefull when I need to send some 
text data to my bluetooth printer, becouse the length of his line is 32 and I 
need to centralize the data and adjust the line to right and left.

I think this feature can improve the language and it will be useful for other 
developers like me.

Although we has libs that has an implementation of it
https://lodash.com/docs#pad
http://gabceb.github.io/underscore.string.site/#pad
https://vocajs.com/#pad
I think it can be done for native functions too

And it is native for other languages, such as:
    1. PHP 
(https://www.w3schools.com/php/showphp.asp?filename=demo_func_string_str_pad3)
    2. Python (https://docs.python.org/2/library/string.html#string.center)
    3. Ruby (https://ruby-doc.org/core-2.2.0/String.html#center-method)
    4. R 
(https://www.rdocumentation.org/packages/stringr/versions/1.3.1/topics/str_pad)
    5. etc...


What do you guys think ?

( We can call it "pad" instead of "padCenter"  haha )


Att,

Ricardo Zorzal Davila
_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to