'use strict';

/** @type {(x: string) => { __proto__: null, name: string, subpath: string }} */
module.exports = function parsePackageSpecifier(x) {
    if (x.charAt(0) === '@') {
        var slashIndex = x.indexOf('/');
        if (slashIndex === -1) {
            return {
                __proto__: null, name: x, subpath: '.'
            };
        }
        var secondSlash = x.indexOf('/', slashIndex + 1);
        if (secondSlash === -1) {
            return {
                __proto__: null, name: x, subpath: '.'
            };
        }
        return {
            __proto__: null, name: x.slice(0, secondSlash), subpath: '.' + x.slice(secondSlash)
        };
    }
    var firstSlash = x.indexOf('/');
    if (firstSlash === -1) {
        return {
            __proto__: null, name: x, subpath: '.'
        };
    }
    return {
        __proto__: null, name: x.slice(0, firstSlash), subpath: '.' + x.slice(firstSlash)
    };
};