UNPKG

@push.rocks/smartbucket

Version:

A TypeScript library providing a cloud-agnostic interface for managing object storage with functionalities like bucket management, file and directory operations, and advanced features such as metadata handling and file locking.

22 lines (21 loc) 888 B
import * as plugins from './plugins.js'; import * as interfaces from './interfaces.js'; export const reducePathDescriptorToPath = async (pathDescriptorArg: interfaces.IPathDecriptor): Promise<string> => { let returnPath = `` if (pathDescriptorArg.directory) { if (pathDescriptorArg.path && plugins.path.isAbsolute(pathDescriptorArg.path)) { console.warn('Directory is being ignored when path is absolute.'); returnPath = pathDescriptorArg.path; } else if (pathDescriptorArg.path) { returnPath = plugins.path.join(pathDescriptorArg.directory.getBasePath(), pathDescriptorArg.path); } } else if (pathDescriptorArg.path) { returnPath = pathDescriptorArg.path; } else { throw new Error('You must specify either a path or a directory.'); } if (returnPath.startsWith('/')) { returnPath = returnPath.substring(1); } return returnPath; }