░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/ui/shared/convert-case
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: convert-case.ts
/* * Copyright (C) 2015 - present Instructure, Inc. * * This file is part of Canvas. * * Canvas is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, version 3 of the License. * * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ // converts to PascalCase by default export function camelizeString(str: string, lowerFirst: boolean = false) { return (str || '').replace(/(?:^|[-_])(\w)/g, (_, c, index) => { if (index === 0 && lowerFirst) { return c ? c.toLowerCase() : '' } else { return c ? c.toUpperCase() : '' } }) } // Convert all property keys in an object to camelCase export function camelizeProperties<T>(props: {[key: string]: unknown}): T { const attrs: { [key: string]: any } = {} for (const prop in props) { if (props.hasOwnProperty(prop)) { attrs[camelizeString(prop, true)] = props[prop] } } return attrs as T } export function underscoreString(string: string) { return (string || '') .replace(/([A-Z])/g, '_$1') .replace(/^_/, '') .toLowerCase() } export function underscoreProperties<T>(props: {[key: string]: unknown}): T { const attrs: { [key: string]: any } = {} for (const prop in props) { if (props.hasOwnProperty(prop)) { attrs[underscoreString(prop)] = props[prop] } } return attrs as T }
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📁 __tests__/
DIR
—
2023-09-24 03:36
📄 convert-case.ts
TS
1.7 KB
2023-09-24 03:36
EDIT
📄 package.json
JSON
129 B
2023-09-24 03:36
EDIT