docs: slashPaths normalizeSlashedPath

This commit is contained in:
Cole Lawrence 2022-05-17 13:39:04 -04:00
parent f6e408f610
commit bc5e687250

View file

@ -1,11 +1,19 @@
import logger from '@theatre/shared/logger'
import {InvalidArgumentError} from './errors'
const sanifySlashedPath = (p: string): string =>
/**
* Make the given string's "path" slashes normalized with preceding and trailing spaces.
*
* Prev "sanifySlashedPath".
*/
const normalizeSlashedPath = (p: string): string =>
p
// remove starting slashes
.replace(/^[\s\/]*/, '')
// remove ending slashes
.replace(/[\s\/]*$/, '')
.replace(/\s*\/\s*/, ' / ')
// make middle slashes consistent
.replace(/\s*\/\s*/g, ' / ')
const getValidationErrorsOfSlashedPath = (p: string): void | string => {
if (typeof p !== 'string') return `it is not a string. (it is a ${typeof p})`
@ -25,7 +33,7 @@ export function validateAndSanitiseSlashedPathOrThrow(
unsanitisedPath: string,
fnName: string,
) {
const sanitisedPath = sanifySlashedPath(unsanitisedPath)
const sanitisedPath = normalizeSlashedPath(unsanitisedPath)
if (process.env.NODE_ENV !== 'development') {
return sanitisedPath
}