Last change
on this file since fa375fe was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago |
initial commit
|
-
Property mode
set to
100644
|
File size:
698 bytes
|
Line | |
---|
1 | "use strict";
|
---|
2 |
|
---|
3 | Object.defineProperty(exports, "__esModule", {
|
---|
4 | value: true
|
---|
5 | });
|
---|
6 | exports.default = toIdentifier;
|
---|
7 |
|
---|
8 | var _isValidIdentifier = require("../validators/isValidIdentifier");
|
---|
9 |
|
---|
10 | var _helperValidatorIdentifier = require("@babel/helper-validator-identifier");
|
---|
11 |
|
---|
12 | function toIdentifier(input) {
|
---|
13 | input = input + "";
|
---|
14 | let name = "";
|
---|
15 |
|
---|
16 | for (const c of input) {
|
---|
17 | name += (0, _helperValidatorIdentifier.isIdentifierChar)(c.codePointAt(0)) ? c : "-";
|
---|
18 | }
|
---|
19 |
|
---|
20 | name = name.replace(/^[-0-9]+/, "");
|
---|
21 | name = name.replace(/[-\s]+(.)?/g, function (match, c) {
|
---|
22 | return c ? c.toUpperCase() : "";
|
---|
23 | });
|
---|
24 |
|
---|
25 | if (!(0, _isValidIdentifier.default)(name)) {
|
---|
26 | name = `_${name}`;
|
---|
27 | }
|
---|
28 |
|
---|
29 | return name || "_";
|
---|
30 | } |
---|
Note:
See
TracBrowser
for help on using the repository browser.