Skip to content

Commit 647f629

Browse files
committed
Add REPL function to resolve an alias to its corresponding package
1 parent 5221212 commit 647f629

2 files changed

Lines changed: 48 additions & 1 deletion

File tree

lib/node_modules/@stdlib/repl/server/lib/context.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var deepGet = require( '@stdlib/utils/deep-get' );
99
var help = require( './functions/help.js' );
1010
var example = require( './functions/example.js' );
1111
var namespace = require( './functions/namespace.js' );
12+
var alias2pkg = require( './functions/alias2pkg.js' );
1213
var NAMESPACE = require( './namespace.js' );
1314

1415

@@ -36,7 +37,8 @@ function extend( repl ) {
3637
tmp = {
3738
'help': help,
3839
'example': example( repl ),
39-
'namespace': namespace
40+
'namespace': namespace,
41+
'alias2pkg': alias2pkg
4042
};
4143
paths = [];
4244
for ( i = 0; i < NAMESPACE.length; i++ ) {
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
'use strict';
2+
3+
// MODULES //
4+
5+
var NAMESPACE = require( './../namespace.js' );
6+
var logger = require( './../console.js' );
7+
8+
9+
// VARIABLES //
10+
11+
var NO_PKG_TEXT = 'Unrecognized alias.';
12+
13+
14+
// MAIN //
15+
16+
/**
17+
* Prints the package name corresponding to a provided alias.
18+
*
19+
* @private
20+
* @param {*} alias - variable alias or value
21+
*/
22+
function alias2pkg( alias ) {
23+
var txt;
24+
var i;
25+
26+
// Check if provided an alias or a known value reference...
27+
for ( i = 0; i < NAMESPACE.length; i++ ) {
28+
if (
29+
alias === NAMESPACE[ i ].alias ||
30+
alias === NAMESPACE[ i ].value
31+
) {
32+
txt = NAMESPACE[ i ].path;
33+
break;
34+
}
35+
}
36+
if ( txt === void 0 ) {
37+
txt = NO_PKG_TEXT;
38+
}
39+
logger.log( txt );
40+
} // end FUNCTION alias2pkg()
41+
42+
43+
// EXPORTS //
44+
45+
module.exports = alias2pkg;

0 commit comments

Comments
 (0)