1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | exports.upperCaseFirst = exports.MemberNameType = exports.isDefinitionFile = exports.getNameFromMember = exports.getNameFromIndexSignature = exports.getEnumNames = exports.formatWordList = exports.findFirstResult = exports.arraysAreEqual = void 0;
|
7 | const utils_1 = require("@typescript-eslint/utils");
|
8 | const type_utils_1 = require("@typescript-eslint/type-utils");
|
9 |
|
10 |
|
11 |
|
12 | function isDefinitionFile(fileName) {
|
13 | return /\.d\.tsx?$/i.test(fileName || '');
|
14 | }
|
15 | exports.isDefinitionFile = isDefinitionFile;
|
16 |
|
17 |
|
18 |
|
19 | function upperCaseFirst(str) {
|
20 | return str[0].toUpperCase() + str.slice(1);
|
21 | }
|
22 | exports.upperCaseFirst = upperCaseFirst;
|
23 | function arraysAreEqual(a, b, eq) {
|
24 | return (a === b ||
|
25 | (a !== undefined &&
|
26 | b !== undefined &&
|
27 | a.length === b.length &&
|
28 | a.every((x, idx) => eq(x, b[idx]))));
|
29 | }
|
30 | exports.arraysAreEqual = arraysAreEqual;
|
31 |
|
32 | function findFirstResult(inputs, getResult) {
|
33 | for (const element of inputs) {
|
34 | const result = getResult(element);
|
35 | if (result !== undefined) {
|
36 | return result;
|
37 | }
|
38 | }
|
39 | return undefined;
|
40 | }
|
41 | exports.findFirstResult = findFirstResult;
|
42 |
|
43 |
|
44 |
|
45 | function getNameFromIndexSignature(node) {
|
46 | const propName = node.parameters.find((parameter) => parameter.type === utils_1.AST_NODE_TYPES.Identifier);
|
47 | return propName ? propName.name : '(index signature)';
|
48 | }
|
49 | exports.getNameFromIndexSignature = getNameFromIndexSignature;
|
50 | var MemberNameType;
|
51 | (function (MemberNameType) {
|
52 | MemberNameType[MemberNameType["Private"] = 1] = "Private";
|
53 | MemberNameType[MemberNameType["Quoted"] = 2] = "Quoted";
|
54 | MemberNameType[MemberNameType["Normal"] = 3] = "Normal";
|
55 | MemberNameType[MemberNameType["Expression"] = 4] = "Expression";
|
56 | })(MemberNameType || (MemberNameType = {}));
|
57 | exports.MemberNameType = MemberNameType;
|
58 |
|
59 |
|
60 |
|
61 |
|
62 | function getNameFromMember(member, sourceCode) {
|
63 | if (member.key.type === utils_1.AST_NODE_TYPES.Identifier) {
|
64 | return {
|
65 | type: MemberNameType.Normal,
|
66 | name: member.key.name,
|
67 | };
|
68 | }
|
69 | if (member.key.type === utils_1.AST_NODE_TYPES.PrivateIdentifier) {
|
70 | return {
|
71 | type: MemberNameType.Private,
|
72 | name: `#${member.key.name}`,
|
73 | };
|
74 | }
|
75 | if (member.key.type === utils_1.AST_NODE_TYPES.Literal) {
|
76 | const name = `${member.key.value}`;
|
77 | if ((0, type_utils_1.requiresQuoting)(name)) {
|
78 | return {
|
79 | type: MemberNameType.Quoted,
|
80 | name: `"${name}"`,
|
81 | };
|
82 | }
|
83 | else {
|
84 | return {
|
85 | type: MemberNameType.Normal,
|
86 | name,
|
87 | };
|
88 | }
|
89 | }
|
90 | return {
|
91 | type: MemberNameType.Expression,
|
92 | name: sourceCode.text.slice(...member.key.range),
|
93 | };
|
94 | }
|
95 | exports.getNameFromMember = getNameFromMember;
|
96 | function getEnumNames(myEnum) {
|
97 | return Object.keys(myEnum).filter(x => isNaN(parseInt(x)));
|
98 | }
|
99 | exports.getEnumNames = getEnumNames;
|
100 |
|
101 |
|
102 |
|
103 |
|
104 |
|
105 |
|
106 | function formatWordList(words) {
|
107 | if (!(words === null || words === void 0 ? void 0 : words.length)) {
|
108 | return '';
|
109 | }
|
110 | if (words.length === 1) {
|
111 | return words[0];
|
112 | }
|
113 | return [words.slice(0, -1).join(', '), words.slice(-1)[0]].join(' and ');
|
114 | }
|
115 | exports.formatWordList = formatWordList;
|
116 |
|
\ | No newline at end of file |