1 | /******************************************************************************
|
2 | * Lemonade JS
|
3 | * https://lemonadejs.com
|
4 | *
|
5 | * ----
|
6 | *
|
7 | * Include
|
8 | *
|
9 | * Load the appropriate includer based on path's content-type (extension for
|
10 | * now)
|
11 | *
|
12 | * @param {string} path
|
13 | * @param {object} context
|
14 | * @param {object} kernel
|
15 | *
|
16 | *****************************************************************************/
|
17 |
|
18 | function Include(path, context, kernel) {
|
19 | var extension = path.substring(
|
20 | path.lastIndexOf('.') + 1, path.length
|
21 | );
|
22 | try {
|
23 | switch (extension) {
|
24 | case 'swig' :
|
25 | case 'swg' :
|
26 | var includer = require('./include/swig.js');
|
27 | break;
|
28 | default :
|
29 | var includer = require('./include/js.js');
|
30 | break;
|
31 | }
|
32 | } catch (e) {
|
33 | this.kernel.error(
|
34 | new Error(
|
35 | 'Failed to load content-type not supported : ' + extension + ' : ' + e.message
|
36 | )
|
37 | );
|
38 | }
|
39 | return new includer(path, context, kernel);
|
40 | }
|
41 |
|
42 | /**
|
43 | * Exports
|
44 | */
|
45 | exports = module.exports = Include; |
\ | No newline at end of file |