@orbit/utils
Version:
Core utilities for Orbit.
56 lines • 6.27 kB
JavaScript
/**
* Uppercase the first letter of a string, but don't change the remainder.
*
* @deprecated since v0.17
*/
export function capitalize(str) {
console.warn("'capitalize' has been deprecated in @orbit/utils. Please import from @orbit/serializers instead.");
return str.charAt(0).toUpperCase() + str.slice(1);
}
/**
* Convert underscored, dasherized, or space-delimited words into
* lowerCamelCase.
*
* @deprecated since v0.17
*/
export function camelize(str) {
console.warn("'camelize' has been deprecated in @orbit/utils. Please import from @orbit/serializers instead.");
return str
.replace(/(\-|\_|\.|\s)+(.)?/g, function (match, separator, chr) {
return chr ? chr.toUpperCase() : '';
})
.replace(/(^|\/)([A-Z])/g, function (match) {
return match.toLowerCase();
});
}
/**
* Converts a camelized string into all lowercase separated by underscores.
*
* @deprecated since v0.17
*/
export function decamelize(str) {
console.warn("'decamelize' has been deprecated in @orbit/utils. Please import from @orbit/serializers instead.");
return str.replace(/([a-z\d])([A-Z])/g, '$1_$2').toLowerCase();
}
/**
* Dasherize words that are underscored, space-delimited, or camelCased.
*
* @deprecated since v0.17
*/
export function dasherize(str) {
console.warn("'dasherize' has been deprecated in @orbit/utils. Please import from @orbit/serializers instead.");
return decamelize(str).replace(/[ _]/g, '-');
}
/**
* Underscore words that are dasherized, space-delimited, or camelCased.
*
* @deprecated since v0.17
*/
export function underscore(str) {
console.warn("'underscore' has been deprecated in @orbit/utils. Please import from @orbit/serializers instead.");
return str
.replace(/([a-z\d])([A-Z]+)/g, '$1_$2')
.replace(/\-|\s+/g, '_')
.toLowerCase();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVc7SUFDcEMsT0FBTyxDQUFDLElBQUksQ0FDVixrR0FBa0csQ0FDbkcsQ0FBQztJQUNGLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVztJQUNsQyxPQUFPLENBQUMsSUFBSSxDQUNWLGdHQUFnRyxDQUNqRyxDQUFDO0lBQ0YsT0FBTyxHQUFHO1NBQ1AsT0FBTyxDQUFDLHFCQUFxQixFQUFFLFVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHO1FBQzdELE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDLENBQUM7U0FDRCxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxLQUFLO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVc7SUFDcEMsT0FBTyxDQUFDLElBQUksQ0FDVixrR0FBa0csQ0FDbkcsQ0FBQztJQUNGLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNqRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVztJQUNuQyxPQUFPLENBQUMsSUFBSSxDQUNWLGlHQUFpRyxDQUNsRyxDQUFDO0lBQ0YsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBVztJQUNwQyxPQUFPLENBQUMsSUFBSSxDQUNWLGtHQUFrRyxDQUNuRyxDQUFDO0lBQ0YsT0FBTyxHQUFHO1NBQ1AsT0FBTyxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQztTQUN0QyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztTQUN2QixXQUFXLEVBQUUsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVcHBlcmNhc2UgdGhlIGZpcnN0IGxldHRlciBvZiBhIHN0cmluZywgYnV0IGRvbid0IGNoYW5nZSB0aGUgcmVtYWluZGVyLlxuICpcbiAqIEBkZXByZWNhdGVkIHNpbmNlIHYwLjE3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXBpdGFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc29sZS53YXJuKFxuICAgIFwiJ2NhcGl0YWxpemUnIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gQG9yYml0L3V0aWxzLiBQbGVhc2UgaW1wb3J0IGZyb20gQG9yYml0L3NlcmlhbGl6ZXJzIGluc3RlYWQuXCJcbiAgKTtcbiAgcmV0dXJuIHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHVuZGVyc2NvcmVkLCBkYXNoZXJpemVkLCBvciBzcGFjZS1kZWxpbWl0ZWQgd29yZHMgaW50b1xuICogbG93ZXJDYW1lbENhc2UuXG4gKlxuICogQGRlcHJlY2F0ZWQgc2luY2UgdjAuMTdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbWVsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc29sZS53YXJuKFxuICAgIFwiJ2NhbWVsaXplJyBoYXMgYmVlbiBkZXByZWNhdGVkIGluIEBvcmJpdC91dGlscy4gUGxlYXNlIGltcG9ydCBmcm9tIEBvcmJpdC9zZXJpYWxpemVycyBpbnN0ZWFkLlwiXG4gICk7XG4gIHJldHVybiBzdHJcbiAgICAucmVwbGFjZSgvKFxcLXxcXF98XFwufFxccykrKC4pPy9nLCBmdW5jdGlvbiAobWF0Y2gsIHNlcGFyYXRvciwgY2hyKSB7XG4gICAgICByZXR1cm4gY2hyID8gY2hyLnRvVXBwZXJDYXNlKCkgOiAnJztcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oXnxcXC8pKFtBLVpdKS9nLCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICAgIHJldHVybiBtYXRjaC50b0xvd2VyQ2FzZSgpO1xuICAgIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgY2FtZWxpemVkIHN0cmluZyBpbnRvIGFsbCBsb3dlcmNhc2Ugc2VwYXJhdGVkIGJ5IHVuZGVyc2NvcmVzLlxuICpcbiAqIEBkZXByZWNhdGVkIHNpbmNlIHYwLjE3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNhbWVsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc29sZS53YXJuKFxuICAgIFwiJ2RlY2FtZWxpemUnIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gQG9yYml0L3V0aWxzLiBQbGVhc2UgaW1wb3J0IGZyb20gQG9yYml0L3NlcmlhbGl6ZXJzIGluc3RlYWQuXCJcbiAgKTtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW2EtelxcZF0pKFtBLVpdKS9nLCAnJDFfJDInKS50b0xvd2VyQ2FzZSgpO1xufVxuXG4vKipcbiAqIERhc2hlcml6ZSB3b3JkcyB0aGF0IGFyZSB1bmRlcnNjb3JlZCwgc3BhY2UtZGVsaW1pdGVkLCBvciBjYW1lbENhc2VkLlxuICpcbiAqIEBkZXByZWNhdGVkIHNpbmNlIHYwLjE3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXNoZXJpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zb2xlLndhcm4oXG4gICAgXCInZGFzaGVyaXplJyBoYXMgYmVlbiBkZXByZWNhdGVkIGluIEBvcmJpdC91dGlscy4gUGxlYXNlIGltcG9ydCBmcm9tIEBvcmJpdC9zZXJpYWxpemVycyBpbnN0ZWFkLlwiXG4gICk7XG4gIHJldHVybiBkZWNhbWVsaXplKHN0cikucmVwbGFjZSgvWyBfXS9nLCAnLScpO1xufVxuXG4vKipcbiAqIFVuZGVyc2NvcmUgd29yZHMgdGhhdCBhcmUgZGFzaGVyaXplZCwgc3BhY2UtZGVsaW1pdGVkLCBvciBjYW1lbENhc2VkLlxuICpcbiAqIEBkZXByZWNhdGVkIHNpbmNlIHYwLjE3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1bmRlcnNjb3JlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc29sZS53YXJuKFxuICAgIFwiJ3VuZGVyc2NvcmUnIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gQG9yYml0L3V0aWxzLiBQbGVhc2UgaW1wb3J0IGZyb20gQG9yYml0L3NlcmlhbGl6ZXJzIGluc3RlYWQuXCJcbiAgKTtcbiAgcmV0dXJuIHN0clxuICAgIC5yZXBsYWNlKC8oW2EtelxcZF0pKFtBLVpdKykvZywgJyQxXyQyJylcbiAgICAucmVwbGFjZSgvXFwtfFxccysvZywgJ18nKVxuICAgIC50b0xvd2VyQ2FzZSgpO1xufVxuIl19