new Namespace(dir, allowedFileExts [, ignoredDirs] [, ignoredFiles])
A namespace constructor for getting an object that mimicks namespaces/packages
in languages like Java and Actionscript. Classes are loaded on a per request basis.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
dir |
String | Directory to scan. | |
allowedFileExts |
Array.<String> | Allowed file extensions (with preceding '.'). | |
ignoredDirs |
Array.<String> |
<optional> |
Directories to ignore on `dir` scan. |
ignoredFiles |
Array.<String> |
<optional> |
Directories to ignore on `dir` scan. |
Examples
// Example 1 let sjl = require('sjljs'), ns = new sjl.nodejs.Namespace(__dirname), // Fetches './some/namespace/some/where/SomeConstructor(.js|.json)' by default. SomeConstructor = ns.some.namespace.some.where.SomeConstructor, // Fetches './some-data-dir/someJsonFile(.js|.json)' by default. someJsonFile = ns['some-data-dir'].someJsonFile;
// Example 2 // `sjl` uses this constructor internally to expose it's class library so you don't // have to include them manually; E.g., // Exposed functionality let Optionable = sjl.stdlib.Optionable; // With out exposed functionality (assume in some './src' folder) let Optionable = require('../node_modules/sjljs/src/stdlib/Optionable');