File size: 819 Bytes
b5ea024
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
50
"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("");
};