mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 02:35:49 +00:00
feature(util) add kebabToCamelCase
This commit is contained in:
parent
7036cb8ea2
commit
f4332c779e
6 changed files with 43 additions and 15 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
@ -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();
|
||||
});
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue