nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
124 lines (123 loc) • 3.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const index_1 = require("./index");
const formatMetadataKey = Symbol('string.format');
function format(formatString) {
return Reflect.metadata(formatMetadataKey, formatString);
}
exports.format = format;
function getFormat(target, propertyKey) {
return Reflect.getMetadata(formatMetadataKey, target, propertyKey);
}
exports.getFormat = getFormat;
function isStringType(x) {
return typeof x === 'string';
}
exports.isStringType = isStringType;
function padLeft(value, padding) {
if (index_1.isNumberType(padding)) {
return Array(padding + 1).join(' ') + value;
}
if (isStringType(padding)) {
return padding + value;
}
throw new Error(`Expected string or number, got '${padding}'.`);
}
exports.padLeft = padLeft;
function randomString(length, allowDuplicate = true, chars = '0123456789') {
const result = [];
while (result.length < length) {
const randomIx = Math.floor(Math.random() * chars.length);
if (!allowDuplicate) {
if (result.indexOf(chars[randomIx]) >= 0) {
continue;
}
result.push(chars[randomIx]);
}
else {
result.push(chars[randomIx]);
}
}
return result.join('');
}
exports.randomString = randomString;
function toPascalCase(str) {
return str.toCamelCase().toUpperFirstCase();
}
exports.toPascalCase = toPascalCase;
function toCamelCase(str) {
return str
.replace(/\s(.)/g, $1 => $1.toLocaleUpperCase())
.replace(/\s/g, '')
.replace(/^(.)/, $1 => $1.toLocaleLowerCase());
}
exports.toCamelCase = toCamelCase;
function toTitleCase(str) {
return str.replace(/^.| ./g, m => {
return m.toLocaleUpperCase();
});
}
exports.toTitleCase = toTitleCase;
function toSentenceCase(str) {
return str.toLocaleLowerCase().replace(/^./g, m => {
return m.toLocaleUpperCase();
});
}
exports.toSentenceCase = toSentenceCase;
function toUpperFirstCase(str) {
return str.replace(/^./g, m => {
return m.toLocaleUpperCase();
});
}
exports.toUpperFirstCase = toUpperFirstCase;
function toLowerFirstCase(str) {
return str.replace(/^./g, m => {
return m.toLocaleLowerCase();
});
}
exports.toLowerFirstCase = toLowerFirstCase;
function toSnakeCase(str) {
return str.toLocaleLowerCase().replace(/\s/g, m => {
return '_';
});
}
exports.toSnakeCase = toSnakeCase;
function toDotCase(str) {
return str.toLocaleLowerCase().replace(/\s/g, m => {
return '.';
});
}
exports.toDotCase = toDotCase;
function toPascalCaseWrapper() {
return toPascalCase(this);
}
exports.toPascalCaseWrapper = toPascalCaseWrapper;
function toCamelCaseWrapper() {
return toCamelCase(this);
}
exports.toCamelCaseWrapper = toCamelCaseWrapper;
function toTitleCaseWrapper() {
return toTitleCase(this);
}
exports.toTitleCaseWrapper = toTitleCaseWrapper;
function toSentenceCaseWrapper() {
return toSentenceCase(this);
}
exports.toSentenceCaseWrapper = toSentenceCaseWrapper;
function toUpperFirstCaseWrapper() {
return toUpperFirstCase(this);
}
exports.toUpperFirstCaseWrapper = toUpperFirstCaseWrapper;
function toLowerFirstCaseWrapper() {
return toLowerFirstCase(this);
}
exports.toLowerFirstCaseWrapper = toLowerFirstCaseWrapper;
function toSnakeCaseWrapper() {
return toSnakeCase(this);
}
exports.toSnakeCaseWrapper = toSnakeCaseWrapper;
function toDotCaseWrapper() {
return toDotCase(this);
}
exports.toDotCaseWrapper = toDotCaseWrapper;