module.exports = { /** * Given the full path to a file, return the path component * Provided by AbstractFileManager * @param {string} filename * @returns {string} */ getPath: function(filename) { }, /** * Append a .less extension if appropriate. Only called if less thinks one could be added. * Provided by AbstractFileManager * @param filename * @returns {string} */ tryAppendLessExtension: function(filename) { }, /** * Whether the rootpath should be converted to be absolute. * The browser ovverides this to return true because urls must be absolute. * Provided by AbstractFileManager (returns false) * @returns {bool} */ alwaysMakePathsAbsolute: function() { }, /** * Returns whether a path is absolute * Provided by AbstractFileManager * @param {string} path * @returns {bool} */ isPathAbsolute: function(path) { }, /** * joins together 2 paths * Provided by AbstractFileManager * @param {string} basePath * @param {string} laterPath */ join: function(basePath, laterPath) { }, /** * Returns the difference between 2 paths * E.g. url = a/ baseUrl = a/b/ returns ../ * url = a/b/ baseUrl = a/ returns b/ * Provided by AbstractFileManager * @param {string} url * @param {string} baseUrl * @returns {string} */ pathDiff: function(url, baseUrl) { }, /** * Returns whether this file manager supports this file for syncronous file retrieval * If true is returned, loadFileSync will then be called with the file. * Provided by AbstractFileManager (returns false) * @param {string} filename * @param {string} currentDirectory * @param {object} options * @param {less.environment.environment} environment * @returns {bool} */ supportsSync: function(filename, currentDirectory, options, environment) { }, /** * * @param {string} filename * @param {string} currentDirectory * @param {object} options * @param {less.environment.environment} environment * @returns {bool} */ supports: function(filename, currentDirectory, options, environment) { }, /** * Loads a file asynchronously. Expects a promise that either rejects with an error or fulfills with an * object containing * { filename: - full resolved path to file * contents: - the contents of the file, as a string } * * @param {string} filename * @param {string} currentDirectory * @param {object} options * @param {less.environment.environment} environment * @returns {Promise} */ loadFile: function(filename, currentDirectory, options, environment) { }, /** * Loads a file synchronously. Expects an immediate return with an object containing * { error: - error object if an error occurs * filename: - full resolved path to file * contents: - the contents of the file, as a string } * * @param {string} filename * @param {string} currentDirectory * @param {object} options * @param {less.environment.environment} environment * @returns {object} should be an object containing error or contents and filename */ loadFileSync: function(filename, currentDirectory, options, environment) { } };