1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const schema = [
- {
- enum: ['double', 'single'],
- type: 'string',
- },
- ];
- const meta = {
- fixable: 'code',
- };
- const create = (context) => {
- const double = (context.options[0] || 'double') === 'double';
- const sourceCode = context.getSourceCode();
- return {
- StringLiteralTypeAnnotation(node) {
- if (double && sourceCode.text[node.range[0]] !== '"') {
- // double
- context.report({
- fix: (fixer) => [
- fixer.replaceTextRange([node.range[0], node.range[0] + 1], '"'),
- fixer.replaceTextRange([node.range[1] - 1, node.range[1]], '"'),
- ],
- message: 'String literals must use double quote.',
- node,
- });
- } else if (!double && sourceCode.text[node.range[0]] !== '\'') {
- // single
- context.report({
- fix: (fixer) => [
- fixer.replaceTextRange([node.range[0], node.range[0] + 1], '\''),
- fixer.replaceTextRange([node.range[1] - 1, node.range[1]], '\''),
- ],
- message: 'String literals must use single quote.',
- node,
- });
- }
- },
- };
- };
- export default {
- create,
- meta,
- schema,
- };
|