@coolon/i18n-resource-generator 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/build/main/lib/arguments.class.d.ts +6 -8
  3. package/build/main/lib/arguments.class.js +9 -2
  4. package/build/main/lib/ast/abstractContainerElement.d.ts +4 -4
  5. package/build/main/lib/ast/abstractContainerElement.js +3 -2
  6. package/build/main/lib/ast/abstractElement.d.ts +2 -2
  7. package/build/main/lib/ast/abstractElement.js +1 -1
  8. package/build/main/lib/ast/containerElement.class.d.ts +11 -10
  9. package/build/main/lib/ast/jsonModule.class.d.ts +8 -0
  10. package/build/main/lib/ast/jsonModule.class.js +21 -0
  11. package/build/main/lib/ast/namespaceDef.class.d.ts +1 -0
  12. package/build/main/lib/ast/namespaceDef.class.js +8 -1
  13. package/build/main/lib/ast/objectDef.class.d.ts +9 -8
  14. package/build/main/lib/ast/objectDef.class.js +11 -7
  15. package/build/main/lib/ast/statementDef.class.d.ts +7 -0
  16. package/build/main/lib/ast/statementDef.class.js +14 -0
  17. package/build/main/lib/bin/cli.js +21 -17
  18. package/build/main/lib/customTypeArrayNode.class.d.ts +6 -6
  19. package/build/main/lib/customTypeArrayNode.class.js +8 -11
  20. package/build/main/lib/customTypeNode.class.d.ts +6 -20
  21. package/build/main/lib/customTypeNode.class.js +18 -20
  22. package/build/main/lib/enumNode.class.d.ts +6 -6
  23. package/build/main/lib/enumNode.class.js +28 -45
  24. package/build/main/lib/i18nGenerator.d.ts +2 -10
  25. package/build/main/lib/i18nGenerator.js +39 -78
  26. package/build/main/lib/i18nNode.class.d.ts +10 -12
  27. package/build/main/lib/i18nNode.class.js +30 -44
  28. package/build/main/lib/namespaceNode.class.d.ts +5 -4
  29. package/build/main/lib/namespaceNode.class.js +4 -4
  30. package/build/main/lib/nodeName.d.ts +13 -0
  31. package/build/main/lib/nodeName.js +90 -0
  32. package/build/main/lib/rootNode.class.d.ts +10 -1
  33. package/build/main/lib/rootNode.class.js +42 -6
  34. package/build/main/lib/textArrayNode.class.d.ts +4 -3
  35. package/build/main/lib/textArrayNode.class.js +6 -5
  36. package/build/main/lib/textNode.class.d.ts +4 -2
  37. package/build/main/lib/textNode.class.js +9 -13
  38. package/build/main/lib/valueNode.class.d.ts +5 -4
  39. package/build/main/lib/valueNode.class.js +5 -5
  40. package/build/main/lib/writer.class.js +2 -2
  41. package/build/module/lib/arguments.class.d.ts +6 -8
  42. package/build/module/lib/arguments.class.js +10 -3
  43. package/build/module/lib/ast/abstractContainerElement.d.ts +4 -4
  44. package/build/module/lib/ast/abstractContainerElement.js +4 -3
  45. package/build/module/lib/ast/abstractElement.d.ts +2 -2
  46. package/build/module/lib/ast/abstractElement.js +1 -1
  47. package/build/module/lib/ast/containerElement.class.d.ts +11 -10
  48. package/build/module/lib/ast/jsonModule.class.d.ts +8 -0
  49. package/build/module/lib/ast/jsonModule.class.js +18 -0
  50. package/build/module/lib/ast/namespaceDef.class.d.ts +1 -0
  51. package/build/module/lib/ast/namespaceDef.class.js +8 -1
  52. package/build/module/lib/ast/objectDef.class.d.ts +9 -8
  53. package/build/module/lib/ast/objectDef.class.js +12 -8
  54. package/build/module/lib/ast/statementDef.class.d.ts +7 -0
  55. package/build/module/lib/ast/statementDef.class.js +11 -0
  56. package/build/module/lib/bin/cli.js +21 -17
  57. package/build/module/lib/customTypeArrayNode.class.d.ts +6 -6
  58. package/build/module/lib/customTypeArrayNode.class.js +9 -12
  59. package/build/module/lib/customTypeNode.class.d.ts +6 -20
  60. package/build/module/lib/customTypeNode.class.js +18 -20
  61. package/build/module/lib/enumNode.class.d.ts +6 -6
  62. package/build/module/lib/enumNode.class.js +30 -47
  63. package/build/module/lib/i18nGenerator.d.ts +2 -10
  64. package/build/module/lib/i18nGenerator.js +49 -87
  65. package/build/module/lib/i18nNode.class.d.ts +10 -12
  66. package/build/module/lib/i18nNode.class.js +30 -41
  67. package/build/module/lib/namespaceNode.class.d.ts +5 -4
  68. package/build/module/lib/namespaceNode.class.js +5 -5
  69. package/build/module/lib/nodeName.d.ts +13 -0
  70. package/build/module/lib/nodeName.js +77 -0
  71. package/build/module/lib/rootNode.class.d.ts +10 -1
  72. package/build/module/lib/rootNode.class.js +42 -6
  73. package/build/module/lib/textArrayNode.class.d.ts +4 -3
  74. package/build/module/lib/textArrayNode.class.js +7 -6
  75. package/build/module/lib/textNode.class.d.ts +4 -2
  76. package/build/module/lib/textNode.class.js +9 -13
  77. package/build/module/lib/valueNode.class.d.ts +5 -4
  78. package/build/module/lib/valueNode.class.js +5 -5
  79. package/build/module/lib/writer.class.js +2 -2
  80. package/fixtures/config.json +1 -0
  81. package/fixtures/ui.alarms.en.yml +108 -0
  82. package/fixtures/ui.common.en.yml +23 -0
  83. package/fixtures/ui.date_time.en.yml +94 -0
  84. package/fixtures/ui.devices.en.yml +288 -0
  85. package/fixtures/ui.lux.en.yml +44 -0
  86. package/fixtures/ui.notification.en.yml +238 -0
  87. package/fixtures/ui.places.en.yml +104 -0
  88. package/fixtures/ui.reports.en.yml +138 -0
  89. package/fixtures/ui.scene.en.yml +11 -0
  90. package/fixtures/ui.schedule.en.yml +7 -0
  91. package/fixtures/ui.search.en.yml +73 -0
  92. package/fixtures/ui.validation.en.yml +63 -0
  93. package/fixtures/ui.zones.en.yml +121 -0
  94. package/package.json +7 -4
  95. package/fixtures/test.yml +0 -20
@@ -1,10 +1,10 @@
1
+ import { ContainerElement } from './ast/containerElement.class';
2
+ import { Constructor } from './constructor.class';
1
3
  import { I18nNode } from './i18nNode.class';
2
- import { ContainerElement } from "./ast/containerElement.class";
3
- import { Constructor } from "./constructor.class";
4
+ import { NodeName } from './nodeName';
4
5
  export declare class EnumNode extends I18nNode {
5
- static matches(yamlData: any): boolean;
6
- parse(enumResourceContainer: any): any;
7
- protected parseEntry<T extends I18nNode>(name: string, data: any, defaultNodeType: Constructor<T>): I18nNode;
8
- compile(parent: ContainerElement): void;
6
+ static matches(name: NodeName, yamlData: any): boolean;
7
+ protected parseChild<T extends I18nNode>(name: NodeName, data: any, defaultNodeType: Constructor<T>): I18nNode;
8
+ generateApi(parent: ContainerElement): void;
9
9
  lookupKeys(): string[];
10
10
  }
@@ -1,49 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const i18nNode_class_1 = require("./i18nNode.class");
4
- const textNode_class_1 = require("./textNode.class");
5
3
  const arguments_class_1 = require("./arguments.class");
6
- const objectDef_class_1 = require("./ast/objectDef.class");
7
4
  const functionDef_class_1 = require("./ast/functionDef.class");
5
+ const objectDef_class_1 = require("./ast/objectDef.class");
6
+ const i18nNode_class_1 = require("./i18nNode.class");
8
7
  const namespaceNode_class_1 = require("./namespaceNode.class");
8
+ const textNode_class_1 = require("./textNode.class");
9
9
  class EnumMethodNode extends textNode_class_1.TextNode {
10
10
  }
11
11
  class EnumEntryNode extends i18nNode_class_1.I18nNode {
12
- // static matches(data:any) {
13
- // return true;
14
- // }
15
- compile(parent, typeName) {
12
+ static matches(name, data) {
13
+ return true;
14
+ }
15
+ generateApi(parent, typeName) {
16
16
  parent.createObject(this.namespaceName, def => {
17
17
  def.asType(typeName);
18
- this.eachChild(child => child.compile(def));
18
+ this.eachChild(child => child.generateApi(def));
19
19
  });
20
20
  }
21
21
  }
22
22
  class EnumNode extends i18nNode_class_1.I18nNode {
23
- static matches(yamlData) {
24
- return yamlData && yamlData['constructor'] && yamlData['constructor'].name === 'EnumResourceContainer';
23
+ static matches(name, yamlData) {
24
+ // console.log(name);
25
+ return yamlData && name.customTypeName === 'Enum';
25
26
  }
26
- // protected supportedChildNodeTypes(): NodeConstructor<any>[] {
27
- // return [EnumEntryNode];
28
- // }
29
- parse(enumResourceContainer) {
30
- return super.parse(enumResourceContainer['content']);
31
- }
32
- parseEntry(name, data, defaultNodeType) {
27
+ parseChild(name, data, defaultNodeType) {
33
28
  if (defaultNodeType['name'] === namespaceNode_class_1.NameSpaceNode['name']) {
34
- return super.parseEntry(name, data, EnumEntryNode);
29
+ return super.parseChild(name, data, EnumEntryNode);
35
30
  }
36
31
  else {
37
- throw new Error(`entry '${name}' in '${this.accessor}' is not an object. !Enum children to be an object.`);
32
+ throw new Error(`entry '${name}' in '${this.accessor}' is not an object. Enum children to be an object.`);
38
33
  }
39
34
  }
40
- compile(parent) {
35
+ generateApi(parent) {
41
36
  parent.nestedContainer(this.namespaceName, namespace => {
42
37
  const enumType = namespace.defineInterface(`${this.className}Entry`);
43
38
  // only process enum entry nodes for now so we guarantee all the children
44
39
  // are enum types.
45
40
  this.eachChild(child => {
46
- child.compile(namespace, enumType.name);
41
+ child.generateApi(namespace, enumType.name);
47
42
  });
48
43
  const enums = namespace.allOfType(objectDef_class_1.ObjectDef);
49
44
  enums[0].forEach(functionDef_class_1.FunctionDef, f => {
@@ -52,57 +47,45 @@ class EnumNode extends i18nNode_class_1.I18nNode {
52
47
  enums[0].forEach(objectDef_class_1.ObjectDef, f => {
53
48
  enumType.createObject(f.name, f.typeName());
54
49
  });
55
- // compile the rest of the children.
56
- // this.eachChild(child => {
57
- // if (!(child instanceof EnumEntryNode)) {
58
- // child.compile(namespace);
59
- // }
60
- // });
61
50
  const enumKeyType = `${this.fqClassName}Key`;
62
- namespace.defineType(enumKeyType, this.children.map(child => `'${child.camelCaseName}'`).join('|'));
51
+ namespace.defineType(enumKeyType, this.children.map(child => `'${child.name.asJsIdentifier}'`).join('|'));
63
52
  // now create our lookup functions for the enum notes
64
- namespace.createFunction('lookup', arguments_class_1.Arguments.create('key', enumKeyType), enumType.name, out => {
65
- // this.eachChild(child => {
66
- // if (child instanceof EnumEntryNode) {
67
- // out.println(`if (key === '${child.camelCaseName}') { return I18n.${child.accessor}; }`);
68
- // }
69
- // });
70
- out.println(`const result = this.tryLookup(key);`);
53
+ namespace.createFunction('lookup', arguments_class_1.Arguments.createSingle('key', enumKeyType), enumType.name, out => {
54
+ out.println(`const result = tryLookup(key);`);
71
55
  out.println(`if (!result) {`);
72
56
  out.println(` throw new Error("Unknown enum key '" + key + "'. Must be one of ${this.lookupKeys().join(', ')}")`);
73
57
  out.println(`}`);
74
58
  out.println(`return result;`);
75
59
  });
76
- namespace.createFunction('tryLookup', arguments_class_1.Arguments.create('key', 'string'), enumType.name, out => {
60
+ namespace.createFunction('tryLookup', arguments_class_1.Arguments.createSingle('key', 'string'), enumType.name, out => {
77
61
  this.eachChild(child => {
78
62
  // if (child instanceof EnumEntryNode) {
79
- out.println(`if (key === '${child.camelCaseName}') { return I18n.${child.accessor}; }`);
63
+ out.println(`if (key === '${child.name.asJsIdentifier}') { return I18n.${child.accessor}; }`);
80
64
  // }
81
65
  });
82
66
  out.println(`return null;`);
83
67
  });
84
- namespace.createFunction('nameOf', arguments_class_1.Arguments.create('option', enumType.name), enumKeyType, out => {
68
+ namespace.createFunction('nameOf', arguments_class_1.Arguments.createSingle('option', enumType.name), enumKeyType, out => {
85
69
  this.eachChild(child => {
86
- // if (child instanceof EnumEntryNode) {
87
- out.println(`if (option === I18n.${child.accessor}) { return '${child.camelCaseName}'; }`);
88
- // }
70
+ out.println(`if (option === I18n.${child.accessor}) { return '${child.name.asJsIdentifier}'; }`);
89
71
  });
90
72
  out.println(`throw new Error("Unknown enum")`);
91
73
  });
92
74
  namespace.createFunction('asArray', arguments_class_1.Arguments.empty(), `${enumType.name}[]`, out => {
93
75
  out.println(`return [`);
94
76
  this.eachChild(child => {
95
- // if (child instanceof EnumEntryNode) {
96
77
  out.indent(_out => _out.println(`I18n.${child.accessor},`));
97
- // }
98
78
  });
99
79
  out.println(']');
100
80
  });
101
81
  });
102
82
  }
83
+ // generateMessageBundle(parent: ContainerElement): void {
84
+ //
85
+ // }
103
86
  lookupKeys() {
104
- return this.children.map(child => child.camelCaseName);
87
+ return this.children.map(child => child.name.asJsIdentifier);
105
88
  }
106
89
  }
107
90
  exports.EnumNode = EnumNode;
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQTJEO0FBQzNELHFEQUEwQztBQUUxQyx1REFBNEM7QUFDNUMsMkRBQWdEO0FBQ2hELCtEQUFvRDtBQUVwRCwrREFBb0Q7QUFHcEQsTUFBTSxjQUFlLFNBQVEseUJBQVE7Q0FJcEM7QUFFRCxNQUFNLGFBQWMsU0FBUSx5QkFBUTtJQUVoQyw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLElBQUk7SUFFSixPQUFPLENBQUMsTUFBd0IsRUFBRSxRQUFnQjtRQUM5QyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDMUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBR0QsTUFBYSxRQUFTLFNBQVEseUJBQVE7SUFFbEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFhO1FBQ3hCLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxLQUFLLHVCQUF1QixDQUFBO0lBQzFHLENBQUM7SUFHRCxnRUFBZ0U7SUFDaEUsOEJBQThCO0lBQzlCLElBQUk7SUFFSixLQUFLLENBQUMscUJBQTBCO1FBQzVCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUyxVQUFVLENBQXFCLElBQVksRUFBRSxJQUFTLEVBQUUsZUFBOEI7UUFDNUYs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
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bU5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2VudW1Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdURBQThDO0FBRTlDLCtEQUFzRDtBQUN0RCwyREFBa0Q7QUFFbEQscURBQTRDO0FBQzVDLCtEQUFzRDtBQUV0RCxxREFBNEM7QUFHNUMsTUFBTSxjQUFlLFNBQVEseUJBQVE7Q0FJcEM7QUFFRCxNQUFNLGFBQWMsU0FBUSx5QkFBUTtJQUVsQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxJQUFTO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUF3QixFQUFFLFFBQWlCO1FBQ3JELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUM1QyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFHRCxNQUFhLFFBQVMsU0FBUSx5QkFBUTtJQUVwQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFhO1FBQzFDLHFCQUFxQjtRQUNyQixPQUFPLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLE1BQU0sQ0FBQztJQUNwRCxDQUFDO0lBRVMsVUFBVSxDQUFxQixJQUFjLEVBQUUsSUFBUyxFQUFFLGVBQStCO1FBQ2pHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLG1DQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDckQsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFD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
@@ -1,11 +1,3 @@
1
- import * as yaml from 'js-yaml';
2
- export declare class CustomType {
3
- readonly className: string;
4
- readonly importDeclaration: string;
5
- constructor(className: string, importDeclaration: string);
6
- asYamlType(): yaml.Type;
7
- asYamlListType(): yaml.Type;
8
- }
9
1
  export declare class I18nGenerator {
10
2
  private rootNode;
11
3
  private customTypes;
@@ -13,6 +5,6 @@ export declare class I18nGenerator {
13
5
  constructor();
14
6
  registerType(typeName: string, importDeclaration: string): void;
15
7
  readFile(fileName: string): void;
16
- getSchema(): yaml.Schema;
17
- toString(): string;
8
+ getApiContent(): string;
9
+ getDefaultBundleContent(): string;
18
10
  }
@@ -25,85 +25,51 @@ const writer_class_1 = require("./writer.class");
25
25
  // matches(data:any):boolean;
26
26
  // create(name:string, data:any):T;
27
27
  // }
28
- class EnumResourceContainer {
29
- constructor(content) {
30
- this.content = content;
31
- }
32
- }
33
- class CustomTypeContainer {
34
- constructor(customType, content) {
35
- this.customType = customType;
36
- this.content = content;
37
- }
38
- }
39
- class CustomTypeArrayContainer {
40
- constructor(customType, content) {
41
- this.customType = customType;
42
- this.content = content;
43
- }
44
- }
28
+ //
29
+ // class EnumResourceContainer {
30
+ // constructor(public readonly content: any) {
31
+ // }
32
+ // }
33
+ //
34
+ // class CustomTypeContainer {
35
+ // constructor(public readonly customType: NodeName, public readonly content: any) {
36
+ // }
37
+ // }
38
+ //
39
+ // class CustomTypeArrayContainer {
40
+ // constructor(public readonly customType: NodeName, public readonly content: any) {
41
+ // }
42
+ // }
45
43
  // TODO: merge this with nodes, so nodes become a type, not sure if this will be easy to do or not as
46
44
  // we don't have the key name at this point. Might have to put it all in the factory so it can be called
47
45
  // to embed a marker in the data and use that when checking the node type.
48
- const EnumResourceType = new yaml.Type('!Enum', {
49
- kind: 'mapping',
50
- construct: function (data) {
51
- data = data || {}; // in case of empty node
52
- return new EnumResourceContainer(data);
53
- },
54
- instanceOf: EnumResourceContainer
55
- // `represent` is omitted here. So, Space objects will be dumped as is.
56
- // That is regular mapping with three key-value pairs but with !space tag.
57
- });
58
- class CustomType {
59
- constructor(className, importDeclaration) {
60
- this.className = className;
61
- this.importDeclaration = importDeclaration;
62
- }
63
- asYamlType() {
64
- const self = this;
65
- return new yaml.Type(`!${this.className}`, {
66
- kind: 'mapping',
67
- construct: function (data) {
68
- data = data || {}; // in case of empty node
69
- return new CustomTypeContainer(self, data);
70
- },
71
- instanceOf: CustomTypeContainer
72
- // `represent` is omitted here. So, Space objects will be dumped as is.
73
- // That is regular mapping with three key-value pairs but with !space tag.
74
- });
75
- }
76
- asYamlListType() {
77
- const self = this;
78
- return new yaml.Type(`!List(${this.className})`, {
79
- kind: 'mapping',
80
- construct: function (data) {
81
- data = data || {}; // in case of empty node
82
- return new CustomTypeArrayContainer(self, data);
83
- },
84
- instanceOf: CustomTypeArrayContainer
85
- // `represent` is omitted here. So, Space objects will be dumped as is.
86
- // That is regular mapping with three key-value pairs but with !space tag.
87
- });
88
- }
89
- }
90
- exports.CustomType = CustomType;
46
+ // const EnumResourceType = new yaml.Type('!Enum', {
47
+ // kind: 'mapping',
48
+ // construct: function (data) {
49
+ // data = data || {}; // in case of empty node
50
+ // return new EnumResourceContainer(data);
51
+ // },
52
+ // instanceOf: EnumResourceContainer
53
+ // // `represent` is omitted here. So, Space objects will be dumped as is.
54
+ // // That is regular mapping with three key-value pairs but with !space tag.
55
+ // });
56
+ //
57
+ //
91
58
  // TODO: replace custom gulp task with https://www.npmjs.com/package/gulp-reduce-file
92
59
  class I18nGenerator {
93
60
  constructor() {
94
- this.customTypes = [];
95
61
  this.rootNode = new rootNode_class_1.RootNode();
96
62
  this.rootNode.registerNodeTypes([
97
- customTypeArrayNode_class_1.CustomTypeArrayNode, customTypeNode_class_1.CustomTypeNode, enumNode_class_1.EnumNode, textNode_class_1.TextNode, textArrayNode_class_1.TextArrayNode, valueNode_class_1.ValueNode, namespaceNode_class_1.NameSpaceNode
63
+ enumNode_class_1.EnumNode, customTypeArrayNode_class_1.CustomTypeArrayNode, customTypeNode_class_1.CustomTypeNode, textNode_class_1.TextNode, textArrayNode_class_1.TextArrayNode, valueNode_class_1.ValueNode, namespaceNode_class_1.NameSpaceNode
98
64
  ]);
99
65
  }
100
66
  registerType(typeName, importDeclaration) {
101
- this.customTypes.push(new CustomType(typeName, importDeclaration));
67
+ this.rootNode.registerCustomType({ typeName, importDeclaration });
102
68
  }
103
69
  readFile(fileName) {
104
- let options = { schema: this.getSchema() };
70
+ // let options = {schema: this.getSchema()};
105
71
  console.log(`Loading: ${fileName}`);
106
- const yamlData = yaml.safeLoad(fs.readFileSync(fileName, 'utf8'), { schema: this.getSchema() });
72
+ const yamlData = yaml.safeLoad(fs.readFileSync(fileName, 'utf8'));
107
73
  try {
108
74
  this.rootNode.parse(yamlData);
109
75
  }
@@ -111,23 +77,18 @@ class I18nGenerator {
111
77
  throw new Error(`Failed to parse file:${fileName}\n-> ${e.message}\n-> ${e.stack}`);
112
78
  }
113
79
  }
114
- getSchema() {
115
- if (!this._schema) {
116
- let types = [].concat(EnumResourceType, this.customTypes.map(type => type.asYamlType()), this.customTypes.map(type => type.asYamlListType()));
117
- this._schema = yaml.Schema.create(types);
118
- }
119
- return this._schema;
120
- }
121
- toString() {
80
+ getApiContent() {
122
81
  const writer = new writer_class_1.RootWriter();
123
82
  const module = new moduleDef_class_1.Module();
124
- this.customTypes.forEach(type => {
125
- module.addImport(type.importDeclaration);
126
- });
127
- this.rootNode.compile(module);
83
+ this.rootNode.generateApi(module);
128
84
  module.writeBody(writer);
129
85
  return writer.toString();
130
86
  }
87
+ getDefaultBundleContent() {
88
+ const json = {};
89
+ this.rootNode.generateMessageBundle(json);
90
+ return JSON.stringify(json, null, 3);
91
+ }
131
92
  }
132
93
  exports.I18nGenerator = I18nGenerator;
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bkdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaTE4bkdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsdUNBQXlCO0FBQ3pCLDhDQUFnQztBQUNoQywyREFBNkM7QUFDN0MsMkVBQWdFO0FBQ2hFLGlFQUFzRDtBQUV0RCxxREFBMEM7QUFDMUMsK0RBQW9EO0FBQ3BELHFEQUEwQztBQUMxQywrREFBb0Q7QUFDcEQscURBQTBDO0FBQzFDLHVEQUE0QztBQUM1QyxpREFBMEM7QUFJMUMsc0JBQXNCO0FBQ3RCLDBDQUEwQztBQUMxQyxpQ0FBaUM7QUFDakMsdUNBQXVDO0FBQ3ZDLElBQUk7QUFFSixNQUFNLHFCQUFxQjtJQUN6QixZQUE0QixPQUFZO1FBQVosWUFBTyxHQUFQLE9BQU8sQ0FBSztJQUN4QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLG1CQUFtQjtJQUN2QixZQUE0QixVQUFzQixFQUFrQixPQUFZO1FBQXBELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBa0IsWUFBTyxHQUFQLE9BQU8sQ0FBSztJQUNoRixDQUFDO0NBQ0Y7QUFFRCxNQUFNLHdCQUF3QjtJQUM1QixZQUE0QixVQUFzQixFQUFrQixPQUFZO1FBQXBELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBa0IsWUFBTyxHQUFQLE9BQU8sQ0FBSztJQUNoRixDQUFDO0NBQ0Y7QUFFRCxxR0FBcUc7QUFDckcseUdBQXlHO0FBQ3pHLDBFQUEwRTtBQUMxRSxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7SUFDOUMsSUFBSSxFQUFFLFNBQVM7SUFDZixTQUFTLEVBQUUsVUFBVSxJQUFJO1FBQ3ZCLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCO1FBQzNDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FB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
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bkdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaTE4bkdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxvQkFBb0I7QUFDcEIsdUNBQXlCO0FBQ3pCLDhDQUFnQztBQUVoQywyREFBK0M7QUFDL0MsMkVBQWtFO0FBQ2xFLGlFQUF3RDtBQUV4RCxxREFBNEM7QUFDNUMsK0RBQXNEO0FBQ3RELHFEQUE0QztBQUM1QywrREFBc0Q7QUFDdEQscURBQTRDO0FBQzVDLHVEQUE4QztBQUM5QyxpREFBNEM7QUFJNUMsc0JBQXNCO0FBQ3RCLDBDQUEwQztBQUMxQyxpQ0FBaUM7QUFDakMsdUNBQXVDO0FBQ3ZDLElBQUk7QUFDSixFQUFFO0FBQ0YsZ0NBQWdDO0FBQ2hDLGdEQUFnRDtBQUNoRCxNQUFNO0FBQ04sSUFBSTtBQUNKLEVBQUU7QUFDRiw4QkFBOEI7QUFDOUIsc0ZBQXNGO0FBQ3RGLE1BQU07QUFDTixJQUFJO0FBQ0osRUFBRTtBQUNGLG1DQUFtQztBQUNuQyxzRkFBc0Y7QUFDdEYsTUFBTTtBQUNOLElBQUk7QUFFSixxR0FBcUc7QUFDckcseUdBQXlHO0FBQ3pHLDBFQUEwRTtBQUMxRSxvREFBb0Q7QUFDcEQscUJBQXFCO0FBQ3JCLGlDQUFpQztBQUNqQyxrREFBa0Q7QUFDbEQsOENBQThDO0FBQzlDLE9BQU87QUFDUCxzQ0FBc0M7QUFDdEMsNEVBQTRFO0FBQzVFLCtFQUErRTtBQUMvRSxNQUFNO0FBQ04sRUFBRTtBQUNGLEVBQUU7QUFFRixxRkFBcUY7QUFDckYsTUFBYSxhQUFhO0lBTXhCO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHlCQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1lBQzlCLHlCQUFRLEVBQUUsK0NBQW1CLEVBQUUscUNBQWMsRUFBRSx5QkFBUSxFQUFFLG1DQUFhLEVBQUUsMkJBQVMsRUFBRSxtQ0FBYTtTQUNqRyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCLEVBQUUsaUJBQXlCO1FBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsNENBQTRDO1FBQzVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFJO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDL0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFFBQVEsUUFBUSxDQUFDLENBQUMsT0FBTyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3JGO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLE1BQU0sR0FBRyxJQUFJLHlCQUFVLEVBQUUsQ0FBQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLHdCQUFNLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUVGO0FBMUNELHNDQTBDQyJ9
@@ -1,17 +1,18 @@
1
1
  import { Arguments } from './arguments.class';
2
2
  import { ContainerElement } from './ast/containerElement.class';
3
3
  import { Constructor } from './constructor.class';
4
+ import { NodeName } from './nodeName';
4
5
  export declare type NodeConstructor<T extends I18nNode> = {
5
- matches(data: any): boolean;
6
+ matches(name: NodeName, data: any): boolean;
6
7
  new (...args: any[]): T;
7
8
  prototype: T;
8
9
  };
9
10
  export declare class I18nNode {
10
11
  protected parent: I18nNode;
11
- readonly name: string;
12
+ readonly name: NodeName;
12
13
  private childNodes;
13
14
  private templateArgs;
14
- constructor(parent: I18nNode, name: string);
15
+ constructor(parent: I18nNode, name: NodeName);
15
16
  readonly key: string;
16
17
  /**
17
18
  * Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
@@ -21,23 +22,20 @@ export declare class I18nNode {
21
22
  isRoot(): boolean;
22
23
  pathToRoot(): I18nNode[];
23
24
  parse(yamlData: any): void;
24
- protected parseEntry<T extends I18nNode>(name: string, data: any, defaultNodeType: Constructor<T>): I18nNode;
25
- getOrCreatNode(name: any, type: typeof I18nNode): I18nNode;
25
+ protected parseChild<T extends I18nNode>(name: NodeName, data: any, defaultNodeType: Constructor<T>): I18nNode;
26
+ getOrCreatNode(name: NodeName, type: typeof I18nNode): I18nNode;
26
27
  rootNode(): I18nNode;
27
28
  nodeTypes(): NodeConstructor<any>[];
28
- protected computeNodeTypeOf(data: any): NodeConstructor<any>;
29
+ protected computeNodeTypeOf(name: NodeName, data: any): NodeConstructor<any>;
29
30
  protected supportedChildNodeTypes(): NodeConstructor<any>[];
30
- protected withEachProperty(yamlData: any, cb: (name: string, data: any) => void): void;
31
+ protected withEachProperty(yamlData: any, cb: (name: NodeName, data: any) => void): void;
31
32
  protected readonly children: I18nNode[];
32
33
  protected eachChild(cb: (node: I18nNode) => void): void;
33
34
  getArgs(): Arguments;
34
35
  hasArgs(): boolean;
35
- readonly safeName: string;
36
- readonly javaScriptName: string;
37
- readonly camelCaseName: string;
38
36
  readonly namespaceName: string;
39
37
  readonly className: string;
40
38
  readonly fqClassName: string;
41
- readonly snakeCaseName: string;
42
- compile(parent: ContainerElement): void;
39
+ generateApi(parent: ContainerElement): void;
40
+ generateMessageBundle(parent: {}): void;
43
41
  }
@@ -6,20 +6,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
6
6
  result["default"] = mod;
7
7
  return result;
8
8
  };
9
- var __importDefault = (this && this.__importDefault) || function (mod) {
10
- return (mod && mod.__esModule) ? mod : { "default": mod };
11
- };
12
9
  Object.defineProperty(exports, "__esModule", { value: true });
13
10
  const _ = __importStar(require("lodash"));
14
- const string_1 = __importDefault(require("string"));
15
11
  const arguments_class_1 = require("./arguments.class");
16
- const reservedWords = ['default', 'switch', 'if', 'else'];
17
- function safeName(name) {
18
- return _.includes(reservedWords, name) ? `${name}_` : name;
19
- }
20
- function camelize(text) {
21
- return string_1.default(text).camelize().toString();
22
- }
12
+ const nodeName_1 = require("./nodeName");
23
13
  class I18nNode {
24
14
  constructor(parent, name) {
25
15
  this.parent = parent;
@@ -28,7 +18,7 @@ class I18nNode {
28
18
  this.templateArgs = new arguments_class_1.Arguments();
29
19
  }
30
20
  get key() {
31
- return this.pathToRoot().slice(1).map(a => a.name).join('.');
21
+ return this.pathToRoot().slice(1).map(a => a.name.asJsIdentifier).join('.');
32
22
  }
33
23
  /**
34
24
  * Returns the full path to this nodes namespace as used in code. Doesn't include the I18n prefix.
@@ -49,29 +39,29 @@ class I18nNode {
49
39
  }
50
40
  parse(yamlData) {
51
41
  this.withEachProperty(yamlData, (name, data) => {
52
- this.parseEntry(name, data, this.computeNodeTypeOf(data));
42
+ this.parseChild(name, data, this.computeNodeTypeOf(name, data));
53
43
  });
54
44
  }
55
- parseEntry(name, data, defaultNodeType) {
56
- const node = this.getOrCreatNode(name, defaultNodeType);
45
+ parseChild(name, data, defaultNodeType) {
46
+ const child = this.getOrCreatNode(name, defaultNodeType);
57
47
  if (this.constructor['acceptsChildNodesOfType']) {
58
48
  const types = this.constructor['acceptsChildNodesOfType']();
59
- if (!_.find(types, type => node instanceof type)) {
49
+ if (!_.find(types, type => child instanceof type)) {
60
50
  throw new Error(`Unsupported child type, must be one of ${types.map(t => t.name).join()}, got ${defaultNodeType.name}.`);
61
51
  }
62
52
  }
63
- node.parse(data);
64
- return node;
53
+ child.parse(data);
54
+ return child;
65
55
  }
66
56
  getOrCreatNode(name, type) {
67
- let node = this.childNodes.get(name);
57
+ let node = this.childNodes.get(name.asJsIdentifier);
68
58
  if (node && node.constructor != type) {
69
- throw new Error(`Existing node named ${name} has different type, expected ${type['name']}, got ${node.constructor['name']}`);
59
+ throw new Error(`Existing node named ${name} has different type, expected ${type['nodeName']}, got ${node.constructor['nodeName']}`);
70
60
  }
71
- // console.log(`--> getOrCreateNode(${name}, ${type}) ${node ? 'found' : 'created'}`);
61
+ // console.log(`--> getOrCreateNode(${nodeName}, ${type}) ${node ? 'found' : 'created'}`);
72
62
  if (!node) {
73
63
  node = new type(this, name);
74
- this.childNodes.set(name, node);
64
+ this.childNodes.set(name.asJsIdentifier, node);
75
65
  }
76
66
  return node;
77
67
  }
@@ -81,8 +71,8 @@ class I18nNode {
81
71
  nodeTypes() {
82
72
  return this.rootNode().nodeTypes();
83
73
  }
84
- computeNodeTypeOf(data) {
85
- const type = _.find(this.supportedChildNodeTypes(), it => it.matches(data));
74
+ computeNodeTypeOf(name, data) {
75
+ const type = _.find(this.supportedChildNodeTypes(), it => it.matches(name, data));
86
76
  if (!type) {
87
77
  throw new Error(`no matching node type found for ${this.accessor}`);
88
78
  }
@@ -94,10 +84,11 @@ class I18nNode {
94
84
  withEachProperty(yamlData, cb) {
95
85
  if (yamlData) {
96
86
  Object.getOwnPropertyNames(yamlData).forEach(unsafeKey => {
97
- if (reservedWords.includes(unsafeKey)) {
98
- console.log(`Warning: Yaml key '${unsafeKey}' in ${this.key} is a reserved word, converting to '${safeName(unsafeKey)}'`);
87
+ const name = nodeName_1.NodeName.parse(unsafeKey);
88
+ if (name.isReserved()) {
89
+ console.log(`Warning: Yaml key '${unsafeKey}' in ${this.key} is a reserved word, converting to '${name.safeName}'`);
99
90
  }
100
- cb(unsafeKey, yamlData[unsafeKey]);
91
+ cb(name, yamlData[unsafeKey]);
101
92
  });
102
93
  }
103
94
  }
@@ -113,33 +104,28 @@ class I18nNode {
113
104
  hasArgs() {
114
105
  return this.getArgs().any();
115
106
  }
116
- get safeName() {
117
- return safeName(this.name);
118
- }
119
- get javaScriptName() {
120
- const name = this.camelCaseName;
121
- return reservedWords.includes(this.name) ? `${name}_` : name;
122
- }
123
- get camelCaseName() {
124
- return camelize(this.name);
125
- }
126
107
  get namespaceName() {
127
- return this.javaScriptName;
108
+ return this.name.asJsIdentifier;
128
109
  }
129
110
  get className() {
130
- return this.javaScriptName[0].toUpperCase() + this.javaScriptName.slice(1);
111
+ return this.name.asClassName;
131
112
  }
132
113
  get fqClassName() {
133
114
  // the root node has no className and the second one is the language
134
115
  let parents = this.pathToRoot().slice(2);
135
116
  return parents.map(n => n.className).join('');
136
117
  }
137
- get snakeCaseName() {
138
- return this.name;
139
- }
140
- compile(parent) {
118
+ generateApi(parent) {
141
119
  throw new Error('abstract method');
142
120
  }
121
+ generateMessageBundle(parent) {
122
+ const me = {};
123
+ parent[this.namespaceName] = me;
124
+ this.eachChild(child => {
125
+ // console.log({child: child.constructor});
126
+ return child.generateMessageBundle(me);
127
+ });
128
+ }
143
129
  }
144
130
  exports.I18nNode = I18nNode;
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bk5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2kxOG5Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUU1QixvREFBdUI7QUFDdkIsdURBQThDO0FBSzlDLE1BQU0sYUFBYSxHQUFhLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFRcEUsU0FBUyxRQUFRLENBQUMsSUFBWTtJQUM1QixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDN0QsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLElBQVk7SUFDNUIsT0FBTyxnQkFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFhLFFBQVE7SUFLbkIsWUFBc0IsTUFBZ0IsRUFBa0IsSUFBWTtRQUE5QyxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQWtCLFNBQUksR0FBSixJQUFJLENBQVE7UUFINUQsZUFBVSxHQUEwQixJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUNoRSxpQkFBWSxHQUFjLElBQUksMkJBQVMsRUFBRSxDQUFDO0lBR2xELENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7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
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bk5vZGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2kxOG5Ob2RlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDBDQUE0QjtBQUc1Qix1REFBOEM7QUFHOUMseUNBQXNDO0FBU3RDLE1BQWEsUUFBUTtJQUtuQixZQUFzQixNQUFnQixFQUFrQixJQUFjO1FBQWhELFdBQU0sR0FBTixNQUFNLENBQVU7UUFBa0IsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUg5RCxlQUFVLEdBQTBCLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQ2hFLGlCQUFZLEdBQWMsSUFBSSwyQkFBUyxFQUFFLENBQUM7SUFHbEQsQ0FBQztJQUdELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBbUI7UUFDbkMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFB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
@@ -1,6 +1,7 @@
1
- import { I18nNode } from "./i18nNode.class";
2
- import { ContainerElement } from "./ast/containerElement.class";
1
+ import { ContainerElement } from './ast/containerElement.class';
2
+ import { I18nNode } from './i18nNode.class';
3
+ import { NodeName } from './nodeName';
3
4
  export declare class NameSpaceNode extends I18nNode {
4
- static matches(yamlData: any): boolean;
5
- compile(parent: ContainerElement): void;
5
+ static matches(name: NodeName, yamlData: any): boolean;
6
+ generateApi(parent: ContainerElement): void;
6
7
  }
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const i18nNode_class_1 = require("./i18nNode.class");
4
4
  class NameSpaceNode extends i18nNode_class_1.I18nNode {
5
- static matches(yamlData) {
5
+ static matches(name, yamlData) {
6
6
  // we're fallback so we're greedy, just make sure I'm last in the list of matchers
7
7
  return true;
8
8
  }
9
- compile(parent) {
9
+ generateApi(parent) {
10
10
  parent.nestedContainer(this.namespaceName, namespace => {
11
- this.eachChild(child => child.compile(namespace));
11
+ this.eachChild(child => child.generateApi(namespace));
12
12
  });
13
13
  }
14
14
  }
15
15
  exports.NameSpaceNode = NameSpaceNode;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlTm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbmFtZXNwYWNlTm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUEwQztBQUkxQyxNQUFhLGFBQWMsU0FBUSx5QkFBUTtJQUV2QyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQWE7UUFDeEIsbUZBQW1GO1FBQ25GLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBd0I7UUFDNUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUo7QUFiRCxzQ0FhQyJ9
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlTm9kZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvbmFtZXNwYWNlTm9kZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHFEQUE0QztBQUc1QyxNQUFhLGFBQWMsU0FBUSx5QkFBUTtJQUV6QyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxRQUFhO1FBQzFDLG1GQUFtRjtRQUNuRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBRUY7QUFiRCxzQ0FhQyJ9
@@ -0,0 +1,13 @@
1
+ export declare class NodeName {
2
+ private name;
3
+ readonly customTypeName?: string;
4
+ readonly isArray?: boolean;
5
+ constructor(name: string, customTypeName?: string, isArray?: boolean);
6
+ isReserved(): boolean;
7
+ readonly safeName: string;
8
+ readonly asJsIdentifier: string;
9
+ readonly asClassName: string;
10
+ }
11
+ export declare namespace NodeName {
12
+ function parse(name: string): NodeName;
13
+ }