Sha256: 1b26348126008f793d91fb7e5f17771891f948c054bef4ef3423d78803edc726
Contents?: true
Size: 1.62 KB
Versions: 6
Compression:
Stored size: 1.62 KB
Contents
// @flow let railsRoot = process.cwd(); export function setRailsRoot(newRailsRoot: string) { railsRoot = newRailsRoot; } export function pathJoin(...pieces: Array<?string>): string { const output = []; if (pieces[0]) { const firstPiece = pieces[0].replace(/\s+|[\s\/]+$/g, ''); output.push(firstPiece); } pieces.slice(1).forEach(piece => { if (piece == null) { return; } const cleanPiece = piece.replace(/^[\s\/]+|[\/\s]+$/g, ''); output.push(cleanPiece); }); return output.join('/'); } export function preparePublicPath(publicPath: ?string): string { if (publicPath == null) { return ''; } return publicPath.replace(/^\/|\/$/g, ''); } export function getHostname(hostInfo: HostInfo): string { if ([80, 443].indexOf(hostInfo.port) === -1) { return `${hostInfo.host}:${hostInfo.port}`; } return hostInfo.host; } export function formatPublicPath(publicPath: ?string, hostInfo: HostInfo): string { if (publicPath && publicPath.indexOf('//') !== -1) { return publicPath; } const protocol = hostInfo.port === 443 ? 'https' : 'http'; const host = getHostname(hostInfo); const pathname = preparePublicPath(publicPath); return `${protocol}://${host}/${pathname}/`; } export function railsPath(value: any): any { if (Array.isArray(value)) { return value.map(item => railsPath(item)); } if (value instanceof Object) { const output = {}; Object.keys(value).forEach((key) => { output[key] = railsPath(value[key]); }); return output; } if (!/^~/.test(value)) { return value; } return pathJoin(railsRoot, value.replace(/^~/, '')); }
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
hauler-0.3.4 | src/utils/path.js |
hauler-0.3.3 | src/utils/path.js |
hauler-0.3.2 | src/utils/path.js |
hauler-0.3.1 | src/utils/path.js |
hauler-0.3.0 | src/utils/path.js |
hauler-0.2.0 | src/utils/path.js |