Skip to main content
Glama
pansin
by pansin
camelize.js1.08 kB
"use strict"; const { asciiLowercase } = require("./strings"); // Utility to translate from `border-width` to `borderWidth`. // NOTE: For values prefixed with webkit, e.g. `-webkit-foo`, we need to provide // both `webkitFoo` and `WebkitFoo`. Here we only return `webkitFoo`. exports.dashedToCamelCase = function (dashed) { if (dashed.startsWith("--")) { return dashed; } let camel = ""; let nextCap = false; // skip leading hyphen in vendor prefixed value, e.g. -webkit-foo let i = /^-webkit-/.test(dashed) ? 1 : 0; for (; i < dashed.length; i++) { if (dashed[i] !== "-") { camel += nextCap ? dashed[i].toUpperCase() : dashed[i]; nextCap = false; } else { nextCap = true; } } return camel; }; // Utility to translate from `borderWidth` to `border-width`. exports.camelCaseToDashed = function (camelCase) { if (camelCase.startsWith("--")) { return camelCase; } const dashed = asciiLowercase(camelCase.replace(/(?<=[a-z])[A-Z]/g, "-$&")); if (/^webkit-/.test(dashed)) { return `-${dashed}`; } return dashed; };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pansin/browserMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server