function ls( src ) {
	var opts;
	var ast;
	var out;

	if ( isBuffer( src ) ) {
		src = src.toString();
	} else if ( !isString( src ) ) {
		throw new TypeError( format( 'invalid argument. Must provide either a string or Buffer. Value: `%s`.', src ) );
	}
	opts = {
		'ecmaVersion': 6,
		'sourceType': 'module',
		'allowedReserved': 'never',
		'allowReturnOutsideFunction': true,
		'allowHashBang': true,
		'allowImportExportEverywhere': true
	};
	debug( 'AST options: %s', JSON.stringify( opts ) );

	debug( 'Generating an AST...' );
	ast = parse( src, opts );
	debug( 'Finished generating AST.' );

	debug( 'Walking AST...' );
	out = walk( src, ast );
	debug( 'Finished walking AST.' );

	return out;
}
Lists import and require paths.

@param {(Buffer|string)} src - source string
@throws {TypeError} must provide either a string or Buffer
@returns {Object} results

@example
var readFile = require( '@stdlib/fs/read-file' ).sync;

var src = readFile( __filename );
var results = ls( src );

console.dir( results );