UNPKG

feeles-ide

Version:

The hackable and serializable IDE to make learning material

34 lines (28 loc) 1.01 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = separate; var _includes = _interopRequireDefault(require("lodash/includes")); function separate(fullpath) { // Filename CAN'T contains spaces. fullpath = fullpath.replace(/\s/g, ''); // Path separator fullpath = fullpath.replace(/:/g, '/'); // Path cannot empty fullpath = fullpath.replace(/^\/+/, ''); var pathLength = fullpath.lastIndexOf('/') + 1; var path = fullpath.substr(0, pathLength); var filename = fullpath.substr(pathLength); var plainLength = (0, _includes.default)(filename, '.') ? filename.lastIndexOf('.') : filename.length; var plain = filename.substr(0, plainLength); var ext = filename.substr(plainLength); var name = path + plain + ext; var moduleName = path + plain; return { path: path, plain: plain, ext: ext, name: name, moduleName: moduleName }; }