UNPKG

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
"use strict"; 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;