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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| "use strict";
|
| var ensureString = require("type/string/ensure")
| , objHasOwnProperty = Object.prototype.hasOwnProperty;
|
| var capitalLetters = {
| A: true,
| B: true,
| C: true,
| D: true,
| E: true,
| F: true,
| G: true,
| H: true,
| I: true,
| J: true,
| K: true,
| L: true,
| M: true,
| N: true,
| O: true,
| P: true,
| Q: true,
| R: true,
| S: true,
| T: true,
| U: true,
| V: true,
| W: true,
| X: true,
| Y: true,
| Z: true
| };
|
| module.exports = function () {
| var input = ensureString(this);
| if (!input) return input;
| var outputLetters = [];
| for (var index = 0, letter; (letter = input[index]); ++index) {
| if (objHasOwnProperty.call(capitalLetters, letter)) {
| if (index) outputLetters.push("-");
| outputLetters.push(letter.toLowerCase());
| } else {
| outputLetters.push(letter);
| }
| }
|
| return outputLetters.join("");
| };
|
|