Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / handlebars / lib / handlebars / base.js
1 import {createFrame, extend, toString} from './utils';
2 import Exception from './exception';
3 import {registerDefaultHelpers} from './helpers';
4 import {registerDefaultDecorators} from './decorators';
5 import logger from './logger';
6
7 export const VERSION = '4.0.6';
8 export const COMPILER_REVISION = 7;
9
10 export const REVISION_CHANGES = {
11   1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
12   2: '== 1.0.0-rc.3',
13   3: '== 1.0.0-rc.4',
14   4: '== 1.x.x',
15   5: '== 2.0.0-alpha.x',
16   6: '>= 2.0.0-beta.1',
17   7: '>= 4.0.0'
18 };
19
20 const objectType = '[object Object]';
21
22 export function HandlebarsEnvironment(helpers, partials, decorators) {
23   this.helpers = helpers || {};
24   this.partials = partials || {};
25   this.decorators = decorators || {};
26
27   registerDefaultHelpers(this);
28   registerDefaultDecorators(this);
29 }
30
31 HandlebarsEnvironment.prototype = {
32   constructor: HandlebarsEnvironment,
33
34   logger: logger,
35   log: logger.log,
36
37   registerHelper: function(name, fn) {
38     if (toString.call(name) === objectType) {
39       if (fn) { throw new Exception('Arg not supported with multiple helpers'); }
40       extend(this.helpers, name);
41     } else {
42       this.helpers[name] = fn;
43     }
44   },
45   unregisterHelper: function(name) {
46     delete this.helpers[name];
47   },
48
49   registerPartial: function(name, partial) {
50     if (toString.call(name) === objectType) {
51       extend(this.partials, name);
52     } else {
53       if (typeof partial === 'undefined') {
54         throw new Exception(`Attempting to register a partial called "${name}" as undefined`);
55       }
56       this.partials[name] = partial;
57     }
58   },
59   unregisterPartial: function(name) {
60     delete this.partials[name];
61   },
62
63   registerDecorator: function(name, fn) {
64     if (toString.call(name) === objectType) {
65       if (fn) { throw new Exception('Arg not supported with multiple decorators'); }
66       extend(this.decorators, name);
67     } else {
68       this.decorators[name] = fn;
69     }
70   },
71   unregisterDecorator: function(name) {
72     delete this.decorators[name];
73   }
74 };
75
76 export let log = logger.log;
77
78 export {createFrame, logger};