feature(util) add kebabToCamelCase

This commit is contained in:
coderaiser 2016-12-28 13:56:20 +02:00
parent 7036cb8ea2
commit f4332c779e
6 changed files with 43 additions and 15 deletions

View file

@ -44,6 +44,7 @@ var Util, DOM, CloudFunc, join;
};
var getStrBigFirst = Util.getStrBigFirst;
var kebabToCamelCase = Util.kebabToCamelCase;
/**
* Функция привязываеться ко всем ссылкам и
@ -103,10 +104,8 @@ var Util, DOM, CloudFunc, join;
funcName = params.funcName,
doBefore = params.dobefore;
if (path && !name) {
name = getStrBigFirst(path);
name = name.replace(/.js$/, '');
}
if (path && !name)
name = kebabToCamelCase(path);
isContain = /\.js/.test(path);

View file

@ -23,13 +23,8 @@
this.check = new checkProto();
this.getStrBigFirst = function getStrBigFirst(str) {
if (!str)
throw Error('str could not be empty!');
var first = str[0].toUpperCase();
return first + str.slice(1);
}
this.getStrBigFirst = getStrBigFirst;
this.kebabToCamelCase = kebabToCamelCase;
function checkProto() {
/**
@ -335,6 +330,26 @@
return this;
};
function getStrBigFirst(str) {
if (!str)
throw Error('str could not be empty!');
var first = str[0].toUpperCase();
return first + str.slice(1);
}
function kebabToCamelCase(str) {
if (!str)
throw Error('str could not be empty!');
return str
.split('-')
.map(getStrBigFirst)
.join('')
.replace(/.js$/, '');
}
}
})(this);

View file

@ -60,7 +60,7 @@
"es5:eslint": "eslint -c .es5/.eslintrc --rule 'no-console:0' $npm_package_config_dirs_legacy --ignore-path bin/release.js",
"fix:es5:eslint": "redrun es5:eslint -- --fix",
"test": "tape 'test/**/*.js'",
"watch:test": "nodemon -w server -w test -x \"npm run test\"",
"watch:test": "nodemon -w server -w test -w common -x \"npm run test\"",
"spell": "yaspeller .",
"wisdom": "npm run build; npm run docker:rm-old; bin/release.js",
"postpublish": "redrun --parallel docker docker:alpine",

View file

@ -12,7 +12,7 @@ var DIR = __dirname + '/../../',
test = require('tape'),
FS_DIR = TMPLDIR + 'fs/',
EXPECT_PATH = DIR + 'test/server/cloudfunc.html',
EXPECT_PATH = __dirname + '/cloudfunc.html',
TMPL_PATH = [
'file',

View file

@ -3,6 +3,10 @@
const test = require('tape');
const DIR = '../../';
const Util = require(DIR + 'common/util');
const {
getStrBigFirst,
kebabToCamelCase
} = Util;
test('getExt: no extension', (t) => {
const EXT = '';
@ -23,12 +27,22 @@ test('getExt: return extension', (t) => {
});
test('getStrBigFirst: args', (t) => {
t.throws(Util.getStrBigFirst, /str could not be empty!/, 'should throw when no str');
t.throws(getStrBigFirst, /str could not be empty!/, 'should throw when no str');
t.end();
});
test('getStrBigFirst', (t) => {
t.equal(Util.getStrBigFirst('hello'), 'Hello', 'should return str');
t.equal(getStrBigFirst('hello'), 'Hello', 'should return str');
t.end();
});
test('kebabToCamelCase: args', (t) => {
t.throws(kebabToCamelCase, /str could not be empty!/, 'should throw when no str');
t.end();
});
test('kebabToCamelCase', (t) => {
t.equal(kebabToCamelCase('hello-world'), 'HelloWorld', 'should convert kebab to camel caes');
t.end();
});