Skip to content

Commit

Permalink
fix(next): improve createJsVarName
Browse files Browse the repository at this point in the history
  • Loading branch information
adamdbradley committed Feb 7, 2020
1 parent 76f46f2 commit d219327
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 5 deletions.
12 changes: 11 additions & 1 deletion src/utils/test/util.spec.ts
Expand Up @@ -163,13 +163,23 @@ describe('util', () => {
});

it('createJsVarName', () => {
expect(util.createJsVarName('@ionic/core')).toBe('ionicCore');
expect(util.createJsVarName('@ionic\\core')).toBe('ionicCore');
expect(util.createJsVarName('88mph')).toBe('_88mph');
expect(util.createJsVarName('Doc.brown&')).toBe('docBrown');
expect(util.createJsVarName(' Doc! Brown? ')).toBe('docBrown');
expect(util.createJsVarName('doc--Brown')).toBe('docBrown');
expect(util.createJsVarName('doc---Brown')).toBe('docBrown');
expect(util.createJsVarName('doc-brown')).toBe('docBrown');
expect(util.createJsVarName('DocBrown')).toBe('docBrown');
expect(util.createJsVarName('Doc')).toBe('doc');
expect(util.createJsVarName('doc')).toBe('doc');
expect(util.createJsVarName('AB')).toBe('aB');
expect(util.createJsVarName('Ab')).toBe('ab');
expect(util.createJsVarName('a')).toBe('a');
expect(util.createJsVarName('A')).toBe('a');
expect(util.createJsVarName(' ')).toBe('');
expect(util.createJsVarName('')).toBe('');
expect(util.createJsVarName(null)).toBe(null);
});

});
19 changes: 15 additions & 4 deletions src/utils/util.ts
Expand Up @@ -5,10 +5,21 @@ import { dashToPascalCase, isString, toDashCase } from './helpers';


export const createJsVarName = (fileName: string) => {
fileName = toDashCase(fileName);
fileName = fileName.replace(/[|&;$%@"<>()+,.{}_\!\?]/g, '-');
fileName = dashToPascalCase(fileName);
fileName = fileName[0].toLowerCase() + fileName.substr(1);
if (isString(fileName)) {
fileName = toDashCase(fileName);
fileName = fileName.replace(/[|&;$%@"<>()+,.{}_\!\?\/\\]/g, '-');
fileName = dashToPascalCase(fileName);

if (fileName.length > 1) {
fileName = fileName[0].toLowerCase() + fileName.substr(1);
} else {
fileName = fileName.toLowerCase();
}

if (fileName.length > 0 && !isNaN(fileName[0] as any)) {
fileName = '_' + fileName;
}
}
return fileName;
};

Expand Down

0 comments on commit d219327

Please sign in to comment.