@angular-devkit/core 0.0.10 → 0.0.15

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 (54) hide show
  1. package/{src/logger → node}/cli-logger.d.ts +2 -2
  2. package/node/cli-logger.js +43 -0
  3. package/node/fs.d.ts +1 -0
  4. package/node/fs.js +25 -0
  5. package/node/index.d.ts +11 -0
  6. package/node/index.js +17 -0
  7. package/node/resolve.d.ts +58 -0
  8. package/node/resolve.js +214 -0
  9. package/package.json +4 -2
  10. package/src/index.d.ts +3 -1
  11. package/src/index.js +4 -2
  12. package/src/json/index.d.ts +2 -0
  13. package/src/json/index.js +3 -1
  14. package/src/json/schema/index.d.ts +14 -0
  15. package/src/json/schema/index.js +19 -0
  16. package/src/json/schema/registry.d.ts +19 -0
  17. package/src/json/schema/registry.js +34 -0
  18. package/src/json/schema/schema.d.ts +83 -0
  19. package/src/json/schema/schema.js +3 -0
  20. package/src/json/schema/serializers/interface.d.ts +11 -0
  21. package/src/json/schema/serializers/interface.js +6 -0
  22. package/src/json/schema/serializers/javascript.d.ts +46 -0
  23. package/src/json/schema/serializers/javascript.js +94 -0
  24. package/src/json/schema/serializers/javascript_benchmark.d.ts +0 -0
  25. package/src/json/schema/serializers/javascript_benchmark.js +45 -0
  26. package/src/json/schema/serializers/templates/javascript/index.d.ts +11 -0
  27. package/src/json/schema/serializers/templates/javascript/index.js +21 -0
  28. package/src/json/schema/serializers/templates/javascript/prop-any.js +40 -0
  29. package/src/json/schema/serializers/templates/javascript/prop-array.js +166 -0
  30. package/src/json/schema/serializers/templates/javascript/prop-boolean.js +54 -0
  31. package/src/json/schema/serializers/templates/javascript/prop-number.js +130 -0
  32. package/src/json/schema/serializers/templates/javascript/prop-object.js +231 -0
  33. package/src/json/schema/serializers/templates/javascript/prop-string.js +98 -0
  34. package/src/json/schema/serializers/templates/javascript/root.js +41 -0
  35. package/src/json/schema/serializers/templates/javascript/subschema.js +65 -0
  36. package/src/logger/index.d.ts +0 -1
  37. package/src/logger/index.js +1 -2
  38. package/src/logger/logger.d.ts +12 -1
  39. package/src/logger/logger.js +17 -1
  40. package/src/logger/null-logger.d.ts +2 -1
  41. package/src/logger/null-logger.js +12 -1
  42. package/src/utils/index.d.ts +3 -0
  43. package/src/utils/index.js +4 -1
  44. package/src/utils/literals.d.ts +12 -0
  45. package/src/utils/literals.js +42 -0
  46. package/src/utils/template.d.ts +82 -0
  47. package/src/utils/template.js +258 -0
  48. package/src/virtual-fs/index.d.ts +8 -0
  49. package/src/virtual-fs/index.js +14 -0
  50. package/src/virtual-fs/path.d.ts +90 -0
  51. package/src/virtual-fs/path.js +233 -0
  52. package/src/virtual-fs/path_benchmark.d.ts +0 -0
  53. package/src/virtual-fs/path_benchmark.js +18 -0
  54. package/src/logger/cli-logger.js +0 -44
@@ -0,0 +1,130 @@
1
+ return module.exports.default = function(obj) {
2
+ obj || (obj = {});
3
+ let __t;
4
+ let __p = "";
5
+ const __escapes = {"&":"&amp;","<":"&lt;",">":"&gt;","\"":"&quot;","'":"&#39;","`":"&#96;"};
6
+ const __escapesre = new RegExp('[&<>"\\\'`]', 'g');
7
+
8
+ const __e = function(s) { return s ? s.replace(__escapesre, function(key) { return __escapes[key]; }) : ''; };
9
+ with (obj) {
10
+ __p = __p
11
+ + "{\n"
12
+ + "";
13
+
14
+ if ('default' in schema && typeof schema.default != 'number'
15
+ || 'minimum' in schema && typeof schema.minimum != 'number'
16
+ || 'maximum' in schema && typeof schema.maximum != 'number'
17
+ || 'multipleOf' in schema && typeof schema.multipleOf != 'number'
18
+ || (!('minimum' in schema) && 'exclusiveMinimum' in schema)
19
+ || (!('maximum' in schema) && 'exclusiveMaximum' in schema)) {
20
+ throw new exceptions.InvalidSchemaException(schema);
21
+ }
22
+
23
+ __p = __p
24
+ + "\n"
25
+ + " value: undefined,\n"
26
+ + " get() { return this.value === undefined ? ";
27
+ __p += ((__t = schema.default || 'undefined' ) == null ? "" : __t);
28
+ __p = __p
29
+ + " : this.value; },\n"
30
+ + " set(v) {\n"
31
+ + " if (v === undefined && ";
32
+ __p += ((__t = !required ) == null ? "" : __t);
33
+ __p = __p
34
+ + ") {\n"
35
+ + " this.value = undefined;\n"
36
+ + " return;\n"
37
+ + " }\n"
38
+ + " if (typeof v != 'number') {\n"
39
+ + " throw new exceptions.InvalidValueException(";
40
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
41
+ __p = __p
42
+ + ", typeof v, 'number');\n"
43
+ + " }";
44
+
45
+ if (schema.type == 'integer') {
46
+ __p = __p
47
+ + "\n"
48
+ + " if (v % 1 != 0) {\n"
49
+ + " throw new exceptions.InvalidValueException(";
50
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
51
+ __p = __p
52
+ + ", v, 'integer');\n"
53
+ + " }";
54
+
55
+ }
56
+ if ('minimum' in schema) {
57
+ __p = __p
58
+ + "\n"
59
+ + " if (v ";
60
+ __p += ((__t = schema.exclusiveMinimum ? '<=' : '<' ) == null ? "" : __t);
61
+ __p = __p
62
+ + " ";
63
+ __p += ((__t = schema.minimum ) == null ? "" : __t);
64
+ __p = __p
65
+ + ") {\n"
66
+ + " throw new exceptions.InvalidRangeException(";
67
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
68
+ __p = __p
69
+ + ", v, '>=', ";
70
+ __p += ((__t = schema.minimum ) == null ? "" : __t);
71
+ __p = __p
72
+ + ");\n"
73
+ + " }";
74
+
75
+ }
76
+ if ('maximum' in schema) {
77
+ __p = __p
78
+ + "\n"
79
+ + " if (v ";
80
+ __p += ((__t = schema.exclusiveMaximum ? '>=' : '>' ) == null ? "" : __t);
81
+ __p = __p
82
+ + " ";
83
+ __p += ((__t = schema.maximum ) == null ? "" : __t);
84
+ __p = __p
85
+ + ") {\n"
86
+ + " throw new exceptions.InvalidRangeException(";
87
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
88
+ __p = __p
89
+ + ", v, '>=', ";
90
+ __p += ((__t = schema.maximum ) == null ? "" : __t);
91
+ __p = __p
92
+ + ");\n"
93
+ + " }";
94
+
95
+ }
96
+ if ('multipleOf' in schema) {
97
+ __p = __p
98
+ + "\n"
99
+ + " if (v % ";
100
+ __p += ((__t = schema.multipleOf ) == null ? "" : __t);
101
+ __p = __p
102
+ + " != 0) {\n"
103
+ + " throw new exceptions.InvalidRangeException(";
104
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
105
+ __p = __p
106
+ + ", v, 'multiple of', ";
107
+ __p += ((__t = schema.maximum ) == null ? "" : __t);
108
+ __p = __p
109
+ + ");\n"
110
+ + " }";
111
+
112
+ }
113
+ __p = __p
114
+ + "\n"
115
+ + " this.value = v;\n"
116
+ + " },\n"
117
+ + " isDefined() { return this.value !== undefined; },\n"
118
+ + " remove() { this.set(undefined); },\n"
119
+ + " schema() { return ";
120
+ __p += ((__t = JSON.stringify(schema) ) == null ? "" : __t);
121
+ __p = __p
122
+ + "; },\n"
123
+ + "}\n"
124
+ + "";
125
+ };
126
+
127
+ return __p;
128
+ }
129
+
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2NvcmUvc3JjL2pzb24vc2NoZW1hL3NlcmlhbGl6ZXJzL3RlbXBsYXRlcy9qYXZhc2NyaXB0L3Byb3AtbnVtYmVyLmVqcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFdBQ0E7QUFBQSxRQURDO0FBQUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUU7QUFBQTtBQUFBLFVBQ0Y7QUFBQSw2QkFDQTtBQUFBLG9EQUE0QztBQUFBLDhDQUFvQztBQUFBO0FBQUEsMkJBQ2hGO0FBQUEsb0JBQ0E7QUFBQSxtQ0FBMkI7QUFBQSwwQkFBZ0I7QUFBQTtBQUFBLGFBQzNDO0FBQUEsdUNBQ0E7QUFBQSx1QkFDQTtBQUFBLGVBQ0E7QUFBQSx5Q0FDQTtBQUFBLHlEQUFpRDtBQUFBLHFDQUEyQjtBQUFBO0FBQUEsZ0NBQzVFO0FBQUEsYUFBSztBQUFBO0FBQ0wsZ0NBQ0E7QUFBQTtBQUFBLFVBQ0E7QUFBQSwrQkFDQTtBQUFBLHlEQURrRDtBQUFBLHFDQUEyQjtBQUFBO0FBQUEsMEJBQzdFO0FBQUEsYUFBTTtBQUFBO0FBQ047QUFDQSwyQkFDQztBQUFBO0FBQUEsVUFDRDtBQUFBLGtCQURZO0FBQUEscURBQTJDO0FBQUE7QUFBQSxTQUFDO0FBQUEsK0JBQXFCO0FBQUE7QUFBQSxhQUM3RTtBQUFBLHlEQUFtRDtBQUFBLHFDQUEyQjtBQUFBO0FBQUEsbUJBQVc7QUFBQSwrQkFBcUI7QUFBQTtBQUFBLFlBQzlHO0FBQUEsYUFBTztBQUFBO0FBQ1A7QUFDQSwyQkFDRTtBQUFBO0FBQUEsVUFDRjtBQUFBLGdCQURXO0FBQUEscURBQTJDO0FBQUE7QUFBQSxTQUFDO0FBQUEsK0JBQXFCO0FBQUE7QUFBQSxhQUM1RTtBQUFBLHVEQUFrRDtBQUFBLHFDQUEyQjtBQUFBO0FBQUEsbUJBQVc7QUFBQSwrQkFDeEY7QUFBQTtBQUFBLFlBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQSw4QkFBRztBQUFBO0FBQUEsVUFDSDtBQUFBLGtCQURjO0FBQUEsa0NBQXdCO0FBQUE7QUFBQSxrQkFDdEM7QUFBQSx1REFBbUQ7QUFBQSxxQ0FBMkI7QUFBQTtBQUFBLDRCQUFvQjtBQUFBLCtCQUNqRztBQUFBO0FBQUEsWUFDRDtBQUFBLFdBQUM7QUFBQTtBQUNELEVBQUk7QUFBQTtBQUFBLFVBQ0o7QUFBQSw2QkFDQTtBQUFBLGNBQ0E7QUFBQSw2REFDQTtBQUFBLDhDQUNBO0FBQUEsNEJBRHlCO0FBQUEsdUNBQ3pCO0FBQUE7QUFBQSxjQUNBO0FBQUEsV0FDQTtBQUFBLFFBREs7QUFBQTtBQUFBO0FBQUE7QUFBQSIsImZpbGUiOiJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9jb3JlL3NyYy9qc29uL3NjaGVtYS9zZXJpYWxpemVycy90ZW1wbGF0ZXMvamF2YXNjcmlwdC9wcm9wLW51bWJlci5lanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvZGV2a2l0Iiwic291cmNlc0NvbnRlbnQiOlsie1xuPCVcbiAgaWYgKCdkZWZhdWx0JyBpbiBzY2hlbWEgJiYgdHlwZW9mIHNjaGVtYS5kZWZhdWx0ICE9ICdudW1iZXInXG4gICAgICB8fCAnbWluaW11bScgaW4gc2NoZW1hICYmIHR5cGVvZiBzY2hlbWEubWluaW11bSAhPSAnbnVtYmVyJ1xuICAgICAgfHwgJ21heGltdW0nIGluIHNjaGVtYSAmJiB0eXBlb2Ygc2NoZW1hLm1heGltdW0gIT0gJ251bWJlcidcbiAgICAgIHx8ICdtdWx0aXBsZU9mJyBpbiBzY2hlbWEgJiYgdHlwZW9mIHNjaGVtYS5tdWx0aXBsZU9mICE9ICdudW1iZXInXG4gICAgICB8fCAoISgnbWluaW11bScgaW4gc2NoZW1hKSAmJiAnZXhjbHVzaXZlTWluaW11bScgaW4gc2NoZW1hKVxuICAgICAgfHwgKCEoJ21heGltdW0nIGluIHNjaGVtYSkgJiYgJ2V4Y2x1c2l2ZU1heGltdW0nIGluIHNjaGVtYSkpIHtcbiAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkU2NoZW1hRXhjZXB0aW9uKHNjaGVtYSk7XG4gIH1cbiU+XG4gIHZhbHVlOiB1bmRlZmluZWQsXG4gIGdldCgpIHsgcmV0dXJuIHRoaXMudmFsdWUgPT09IHVuZGVmaW5lZCA/IDwlPSBzY2hlbWEuZGVmYXVsdCB8fCAndW5kZWZpbmVkJyAlPiA6IHRoaXMudmFsdWU7IH0sXG4gIHNldCh2KSB7XG4gICAgaWYgKHYgPT09IHVuZGVmaW5lZCAmJiA8JT0gIXJlcXVpcmVkICU+KSB7XG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHYgIT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRWYWx1ZUV4Y2VwdGlvbig8JT0gSlNPTi5zdHJpbmdpZnkobmFtZSkgJT4sIHR5cGVvZiB2LCAnbnVtYmVyJyk7XG4gICAgfTwlXG5pZiAoc2NoZW1hLnR5cGUgPT0gJ2ludGVnZXInKSB7ICU+XG4gICAgaWYgKHYgJSAxICE9IDApIHtcbiAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRWYWx1ZUV4Y2VwdGlvbig8JT0gSlNPTi5zdHJpbmdpZnkobmFtZSkgJT4sIHYsICdpbnRlZ2VyJyk7XG4gICAgfTwlXG59XG5pZiAoJ21pbmltdW0nIGluIHNjaGVtYSkgeyAlPlxuICAgIGlmICh2IDwlPSBzY2hlbWEuZXhjbHVzaXZlTWluaW11bSA/ICc8PScgOiAnPCcgJT4gPCU9IHNjaGVtYS5taW5pbXVtICU+KSB7XG4gICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkUmFuZ2VFeGNlcHRpb24oPCU9IEpTT04uc3RyaW5naWZ5KG5hbWUpICU+LCB2LCAnPj0nLCA8JT0gc2NoZW1hLm1pbmltdW0gJT4pO1xuICAgIH08JVxufVxuaWYgKCdtYXhpbXVtJyBpbiBzY2hlbWEpIHsgJT5cbiAgaWYgKHYgPCU9IHNjaGVtYS5leGNsdXNpdmVNYXhpbXVtID8gJz49JyA6ICc+JyAlPiA8JT0gc2NoZW1hLm1heGltdW0gJT4pIHtcbiAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkUmFuZ2VFeGNlcHRpb24oPCU9IEpTT04uc3RyaW5naWZ5KG5hbWUpICU+LCB2LCAnPj0nLCA8JT0gc2NoZW1hLm1heGltdW0gJT4pO1xuICB9PCVcbn1cbmlmICgnbXVsdGlwbGVPZicgaW4gc2NoZW1hKSB7ICU+XG4gIGlmICh2ICUgPCU9IHNjaGVtYS5tdWx0aXBsZU9mICU+ICE9IDApIHtcbiAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkUmFuZ2VFeGNlcHRpb24oPCU9IEpTT04uc3RyaW5naWZ5KG5hbWUpICU+LCB2LCAnbXVsdGlwbGUgb2YnLCA8JT0gc2NoZW1hLm1heGltdW0gJT4pO1xuICB9PCVcbn0gJT5cbiAgICB0aGlzLnZhbHVlID0gdjtcbiAgfSxcbiAgaXNEZWZpbmVkKCkgeyByZXR1cm4gdGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkOyB9LFxuICByZW1vdmUoKSB7IHRoaXMuc2V0KHVuZGVmaW5lZCk7IH0sXG4gIHNjaGVtYSgpIHsgcmV0dXJuIDwlPSBKU09OLnN0cmluZ2lmeShzY2hlbWEpICU+OyB9LFxufVxuIl19
@@ -0,0 +1,231 @@
1
+ return module.exports.default = function(obj) {
2
+ obj || (obj = {});
3
+ let __t;
4
+ let __p = "";
5
+ const __escapes = {"&":"&amp;","<":"&lt;",">":"&gt;","\"":"&quot;","'":"&#39;","`":"&#96;"};
6
+ const __escapesre = new RegExp('[&<>"\\\'`]', 'g');
7
+
8
+ const __e = function(s) { return s ? s.replace(__escapesre, function(key) { return __escapes[key]; }) : ''; };
9
+ with (obj) {
10
+ __p = __p
11
+ + "(function() {\n"
12
+ + "";
13
+
14
+ const required = (schema.required || []);
15
+ const extras = {
16
+ exceptions: exceptions,
17
+ options: options,
18
+ path: path,
19
+ strings: strings,
20
+ symbols: symbols,
21
+ templates: templates,
22
+ };
23
+
24
+ __p = __p
25
+ + "\n"
26
+ + "\n"
27
+ + "const additionalProperties = {};\n"
28
+ + "const additionalPropertyHandler = ";
29
+
30
+ if (!('additionalProperties' in schema)) {
31
+ __p = __p
32
+ + "null";
33
+ } else {
34
+ __p = __p
35
+ + " function() { return (";
36
+ __p += ((__t =
37
+ templates.subschema(Object.assign({
38
+ name: '???',
39
+ required: false,
40
+ schema: schema.additionalProperties,
41
+ }, extras)) ) == null ? "" : __t);
42
+ __p = __p
43
+ + "); }";
44
+
45
+ }
46
+
47
+ __p = __p
48
+ + ";\n"
49
+ + "\n"
50
+ + "const handlers = Object.create(null);\n"
51
+ + "";
52
+
53
+ for (const propName of Object.keys(schema.properties)) {
54
+ const _key = JSON.stringify(propName);
55
+ const _name = propName.match(/^[_a-zA-Z][_a-zA-Z0-9]*$/) ? propName : `[${_key}]`;
56
+
57
+ __p = __p
58
+ + "handlers[";
59
+ __p += ((__t = JSON.stringify(_name) ) == null ? "" : __t);
60
+ __p = __p
61
+ + "] = ";
62
+ __p += ((__t =
63
+ templates.subschema(Object.assign({
64
+ name: _name,
65
+ required: required.indexOf(propName) != -1,
66
+ schema: schema.properties[propName],
67
+ }, extras))
68
+ ) == null ? "" : __t);
69
+
70
+ }
71
+
72
+ __p = __p
73
+ + "\n"
74
+ + "\n"
75
+ + "const objectFunctions = {\n"
76
+ + " hasOwnProperty(name) { return objectProxyHandler.has(null, name); },\n"
77
+ + "};\n"
78
+ + "\n"
79
+ + "\n"
80
+ + "let defined = false;\n"
81
+ + "const objectProxyHandler = {\n"
82
+ + " isExtensible() { return false; },\n"
83
+ + " has(target, prop) {\n"
84
+ + " return (prop in handlers && handlers[prop].isDefined())\n"
85
+ + " || (additionalPropertyHandler\n"
86
+ + " ? (prop in additionalProperties && additionalProperties[prop].isDefined())\n"
87
+ + " : false);\n"
88
+ + " },\n"
89
+ + " get(target, prop) {\n"
90
+ + " if (prop === symbols.Schema) {\n"
91
+ + " return objectHandler.schema;\n"
92
+ + " }\n"
93
+ + " if (prop in handlers) {\n"
94
+ + " return handlers[prop].get();\n"
95
+ + " }\n"
96
+ + " if (prop in objectFunctions) {\n"
97
+ + " return objectFunctions[prop];\n"
98
+ + " }\n"
99
+ + " return undefined;\n"
100
+ + " },\n"
101
+ + " set(target, prop, v) {\n"
102
+ + " defined = true;\n"
103
+ + " if (prop in handlers) {\n"
104
+ + " handlers[prop].set(v);\n"
105
+ + " return true;\n"
106
+ + " } else if (additionalPropertyHandler) {\n"
107
+ + " if (!(prop in additionalProperties)) {\n"
108
+ + " additionalProperties[prop] = additionalPropertyHandler(prop);\n"
109
+ + " }\n"
110
+ + " additionalProperties[prop].set(v);\n"
111
+ + " return true;\n"
112
+ + " } else {\n"
113
+ + " ";
114
+ if (options.ignoreExtraProperties !== true) {
115
+
116
+ __p = __p
117
+ + "throw new exceptions.InvalidPropertyNameException(";
118
+ __p += ((__t = JSON.stringify(path) ) == null ? "" : __t);
119
+ __p = __p
120
+ + " + '/' + prop);";
121
+
122
+ } else {
123
+ // Just ignore the property.
124
+
125
+ __p = __p
126
+ + "return true;";
127
+
128
+ }
129
+ __p = __p
130
+ + "\n"
131
+ + " }\n"
132
+ + " },\n"
133
+ + " deleteProperty(target, prop) {\n"
134
+ + " if (prop in handlers) {\n"
135
+ + " handlers[prop].remove();\n"
136
+ + " return true;\n"
137
+ + " } else if (additionalPropertyHandler && prop in additionalProperties) {\n"
138
+ + " delete additionalProperties[prop];\n"
139
+ + " }\n"
140
+ + " },\n"
141
+ + " defineProperty(target, prop, descriptor) {\n"
142
+ + " return false;\n"
143
+ + " },\n"
144
+ + " getOwnPropertyDescriptor(target, prop) {\n"
145
+ + " if (prop in handlers) {\n"
146
+ + " return { configurable: true, enumerable: true };\n"
147
+ + " } else if (additionalPropertyHandler && prop in additionalPropertyHandler) {\n"
148
+ + " return { configurable: true, enumerable: true };\n"
149
+ + " }\n"
150
+ + " },\n"
151
+ + " ownKeys(target) {\n"
152
+ + " return [].concat(\n"
153
+ + " Object.keys(handlers),\n"
154
+ + " additionalPropertyHandler ? Object.keys(additionalProperties) : []\n"
155
+ + " );\n"
156
+ + " },\n"
157
+ + "};\n"
158
+ + "\n"
159
+ + "\n"
160
+ + "const proxy = new Proxy({}, objectProxyHandler);\n"
161
+ + "\n"
162
+ + "const objectHandler = {\n"
163
+ + " set(v) {\n"
164
+ + " if (v === undefined) {\n"
165
+ + " defined = false;\n"
166
+ + " return;\n"
167
+ + " }\n"
168
+ + "\n"
169
+ + " defined = true;\n"
170
+ + " for (const key of Object.keys(v)) {\n"
171
+ + " proxy[key] = v[key];\n"
172
+ + " }\n"
173
+ + "\n"
174
+ + " // Validate required fields.\n"
175
+ + " ";
176
+ for (const key of required) {
177
+ __p = __p
178
+ + "\n"
179
+ + " if (!(";
180
+ __p += ((__t = JSON.stringify(key) ) == null ? "" : __t);
181
+ __p = __p
182
+ + " in v)) {\n"
183
+ + " throw new exceptions.RequiredValueMissingException(";
184
+ __p += ((__t = JSON.stringify(path) ) == null ? "" : __t);
185
+ __p = __p
186
+ + " + '/' + ";
187
+ __p += ((__t = JSON.stringify(key) ) == null ? "" : __t);
188
+ __p = __p
189
+ + ");\n"
190
+ + " }";
191
+ }
192
+ __p = __p
193
+ + "\n"
194
+ + " },\n"
195
+ + " get() {\n"
196
+ + " if (";
197
+ __p += ((__t = options.allowAccessUndefinedObjects === true ) == null ? "" : __t);
198
+ __p = __p
199
+ + " || this.isDefined()) {\n"
200
+ + " return proxy;\n"
201
+ + " } else {\n"
202
+ + " return ";
203
+ __p += ((__t = 'default' in schema ? JSON.stringify(schema.default) : 'undefined' ) == null ? "" : __t);
204
+ __p = __p
205
+ + ";\n"
206
+ + " }\n"
207
+ + " },\n"
208
+ + " isDefined() {\n"
209
+ + " return defined\n"
210
+ + " && (Object.keys(handlers).some(function(x) { return handlers[x].isDefined(); })\n"
211
+ + " || Object.keys(additionalProperties).some(function(x) {\n"
212
+ + " return additionalProperties[x].isDefined();\n"
213
+ + " }));\n"
214
+ + " },\n"
215
+ + " remove() { this.set(undefined); },\n"
216
+ + " schema: ";
217
+ __p += ((__t = JSON.stringify(schema) ) == null ? "" : __t);
218
+ __p = __p
219
+ + ",\n"
220
+ + "};\n"
221
+ + "\n"
222
+ + "return objectHandler;\n"
223
+ + "\n"
224
+ + "})()\n"
225
+ + "";
226
+ };
227
+
228
+ return __p;
229
+ }
230
+
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2NvcmUvc3JjL2pzb24vc2NoZW1hL3NlcmlhbGl6ZXJzL3RlbXBsYXRlcy9qYXZhc2NyaXB0L3Byb3Atb2JqZWN0LmVqcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHVCQUNBO0FBQUEsUUFEYTtBQUFBO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUU7QUFBQTtBQUFBLFVBQ0Y7QUFBQSxVQUNBO0FBQUEsMENBQ0E7QUFBQSwwQ0FBa0M7QUFBQTtBQUNsQywyQ0FBOEM7QUFBQTtBQUFBLFlBQUk7QUFBQSxVQUFlO0FBQUE7QUFBQSw4QkFBc0I7QUFBQTtBQUN2RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWtCO0FBQUE7QUFBQSxZQUFJO0FBQUE7QUFDdEI7QUFHQTtBQUFBO0FBQUEsV0FDQTtBQUFBLFVBQ0E7QUFBQSwrQ0FDQTtBQUFBLFFBREE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFNO0FBQUE7QUFBQSxpQkFBUztBQUFBLHNDQUE0QjtBQUFBO0FBQUEsWUFDM0M7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQztBQUFBO0FBQ0Q7QUFFRztBQUFBO0FBQUEsVUFDSDtBQUFBLFVBQ0E7QUFBQSxtQ0FDQTtBQUFBLGdGQUNBO0FBQUEsWUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsOEJBQ0E7QUFBQSxzQ0FDQTtBQUFBLDZDQUNBO0FBQUEsK0JBQ0E7QUFBQSxxRUFDQTtBQUFBLCtDQUNBO0FBQUEsZ0dBQ0E7QUFBQSwrQkFDQTtBQUFBLGNBQ0E7QUFBQSwrQkFDQTtBQUFBLDRDQUNBO0FBQUEsNENBQ0E7QUFBQSxlQUNBO0FBQUEscUNBQ0E7QUFBQSw0Q0FDQTtBQUFBLGVBQ0E7QUFBQSw0Q0FDQTtBQUFBLDZDQUNBO0FBQUEsZUFDQTtBQUFBLCtCQUNBO0FBQUEsY0FDQTtBQUFBLGtDQUNBO0FBQUEsNkJBQ0E7QUFBQSxxQ0FDQTtBQUFBLHNDQUNBO0FBQUEsNEJBQ0E7QUFBQSxxREFDQTtBQUFBLHNEQUNBO0FBQUEsK0VBQ0E7QUFBQSxpQkFDQTtBQUFBLGtEQUNBO0FBQUEsNEJBQ0E7QUFBQSxzQkFDQTtBQUFBLGNBRlc7QUFBQTtBQUNYLE1BQWM7QUFBQTtBQUFBLDBEQUFrRDtBQUFBLHFDQUEyQjtBQUFBO0FBQUEsdUJBQ3hGO0FBQUE7QUFDSDtBQUNBO0FBQ0EsTUFEZTtBQUFBO0FBQUEsb0JBQ1g7QUFBQTtBQUNKLFFBQ0M7QUFBQTtBQUFBLFVBQ0Q7QUFBQSxlQUNBO0FBQUEsY0FDQTtBQUFBLDBDQUNBO0FBQUEscUNBQ0E7QUFBQSx3Q0FDQTtBQUFBLDRCQUNBO0FBQUEscUZBQ0E7QUFBQSxrREFDQTtBQUFBLGVBQ0E7QUFBQSxjQUNBO0FBQUEsc0RBQ0E7QUFBQSwyQkFDQTtBQUFBLGNBQ0E7QUFBQSxvREFDQTtBQUFBLHFDQUNBO0FBQUEsZ0VBQ0E7QUFBQSwwRkFDQTtBQUFBLGdFQUNBO0FBQUEsZUFDQTtBQUFBLGNBQ0E7QUFBQSw2QkFDQTtBQUFBLCtCQUNBO0FBQUEsc0NBQ0E7QUFBQSxrRkFDQTtBQUFBLGdCQUNBO0FBQUEsY0FDQTtBQUFBLFlBQ0E7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLDBEQUNBO0FBQUEsVUFDQTtBQUFBLGlDQUNBO0FBQUEsb0JBQ0E7QUFBQSxvQ0FDQTtBQUFBLGdDQUNBO0FBQUEsdUJBQ0E7QUFBQSxlQUNBO0FBQUEsVUFDQTtBQUFBLDZCQUNBO0FBQUEsaURBQ0E7QUFBQSxvQ0FDQTtBQUFBLGVBQ0E7QUFBQSxVQUNBO0FBQUEsMENBQ0E7QUFBQSxZQUZZO0FBQUEsK0JBQ0o7QUFBQTtBQUFBLFVBQ1I7QUFBQSxrQkFEbUI7QUFBQSxvQ0FBMEI7QUFBQTtBQUFBLG1CQUM3QztBQUFBLGlFQUFrRTtBQUFBLHFDQUEyQjtBQUFBO0FBQUEsaUJBQVM7QUFBQSxvQ0FDaEc7QUFBQTtBQUFBLFlBQ047QUFBQSxhQUFDO0FBQUEsR0FDRztBQUFBO0FBQUEsVUFDSjtBQUFBLGNBQ0E7QUFBQSxtQkFDQTtBQUFBLGdCQUZrQjtBQUFBLDZEQUFtRDtBQUFBO0FBQUEsaUNBQ3JFO0FBQUEsNkJBQ0E7QUFBQSxzQkFDQTtBQUFBLHFCQUF1QjtBQUFBLG1GQUVyQjtBQUFBO0FBQUEsV0FDRjtBQUFBLGVBQ0E7QUFBQSxjQUNBO0FBQUEseUJBQ0E7QUFBQSw0QkFDQTtBQUFBLCtGQUNBO0FBQUEsMkVBQ0E7QUFBQSxpRUFDQTtBQUFBLHdCQUNBO0FBQUEsY0FDQTtBQUFBLDhDQUNBO0FBQUEsa0JBRm9CO0FBQUEsdUNBR2hCO0FBQUE7QUFBQSxXQUNKO0FBQUEsWUFDQTtBQUFBLFVBQ0E7QUFBQSwrQkFDQTtBQUFBLFVBQ0E7QUFBQSxjQUNBO0FBQUEsUUFIVTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwiZmlsZSI6InBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2NvcmUvc3JjL2pzb24vc2NoZW1hL3NlcmlhbGl6ZXJzL3RlbXBsYXRlcy9qYXZhc2NyaXB0L3Byb3Atb2JqZWN0LmVqcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9kZXZraXQiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKSB7XG48JVxuICBjb25zdCByZXF1aXJlZCA9IChzY2hlbWEucmVxdWlyZWQgfHwgW10pO1xuICBjb25zdCBleHRyYXMgPSB7XG4gICAgZXhjZXB0aW9uczogZXhjZXB0aW9ucyxcbiAgICBvcHRpb25zOiBvcHRpb25zLFxuICAgIHBhdGg6IHBhdGgsXG4gICAgc3RyaW5nczogc3RyaW5ncyxcbiAgICBzeW1ib2xzOiBzeW1ib2xzLFxuICAgIHRlbXBsYXRlczogdGVtcGxhdGVzLFxuICB9O1xuJT5cblxuY29uc3QgYWRkaXRpb25hbFByb3BlcnRpZXMgPSB7fTtcbmNvbnN0IGFkZGl0aW9uYWxQcm9wZXJ0eUhhbmRsZXIgPSA8JVxuaWYgKCEoJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzJyBpbiBzY2hlbWEpKSB7ICU+bnVsbDwlIH0gZWxzZSB7ICU+IGZ1bmN0aW9uKCkgeyByZXR1cm4gKDwlPVxuICB0ZW1wbGF0ZXMuc3Vic2NoZW1hKE9iamVjdC5hc3NpZ24oe1xuICAgIG5hbWU6ICc/Pz8nLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBzY2hlbWE6IHNjaGVtYS5hZGRpdGlvbmFsUHJvcGVydGllcyxcbiAgfSwgZXh0cmFzKSkgJT4pOyB9PCVcbn1cbiU+O1xuXG5jb25zdCBoYW5kbGVycyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG48JVxuICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIE9iamVjdC5rZXlzKHNjaGVtYS5wcm9wZXJ0aWVzKSkge1xuICAgIGNvbnN0IF9rZXkgPSBKU09OLnN0cmluZ2lmeShwcm9wTmFtZSk7XG4gICAgY29uc3QgX25hbWUgPSBwcm9wTmFtZS5tYXRjaCgvXltfYS16QS1aXVtfYS16QS1aMC05XSokLykgPyBwcm9wTmFtZSA6IGBbJHtfa2V5fV1gO1xuJT5oYW5kbGVyc1s8JT0gSlNPTi5zdHJpbmdpZnkoX25hbWUpICU+XSA9IDwlPVxuICB0ZW1wbGF0ZXMuc3Vic2NoZW1hKE9iamVjdC5hc3NpZ24oe1xuICAgIG5hbWU6IF9uYW1lLFxuICAgIHJlcXVpcmVkOiByZXF1aXJlZC5pbmRleE9mKHByb3BOYW1lKSAhPSAtMSxcbiAgICBzY2hlbWE6IHNjaGVtYS5wcm9wZXJ0aWVzW3Byb3BOYW1lXSxcbiAgfSwgZXh0cmFzKSlcbiU+PCVcbn1cbiU+XG5cbmNvbnN0IG9iamVjdEZ1bmN0aW9ucyA9IHtcbiAgaGFzT3duUHJvcGVydHkobmFtZSkgeyByZXR1cm4gb2JqZWN0UHJveHlIYW5kbGVyLmhhcyhudWxsLCBuYW1lKTsgfSxcbn07XG5cblxubGV0IGRlZmluZWQgPSBmYWxzZTtcbmNvbnN0IG9iamVjdFByb3h5SGFuZGxlciA9IHtcbiAgaXNFeHRlbnNpYmxlKCkgeyByZXR1cm4gZmFsc2U7IH0sXG4gIGhhcyh0YXJnZXQsIHByb3ApIHtcbiAgICByZXR1cm4gKHByb3AgaW4gaGFuZGxlcnMgJiYgaGFuZGxlcnNbcHJvcF0uaXNEZWZpbmVkKCkpXG4gICAgICAgIHx8IChhZGRpdGlvbmFsUHJvcGVydHlIYW5kbGVyXG4gICAgICAgICAgICA/IChwcm9wIGluIGFkZGl0aW9uYWxQcm9wZXJ0aWVzICYmIGFkZGl0aW9uYWxQcm9wZXJ0aWVzW3Byb3BdLmlzRGVmaW5lZCgpKVxuICAgICAgICAgICAgOiBmYWxzZSk7XG4gIH0sXG4gIGdldCh0YXJnZXQsIHByb3ApIHtcbiAgICBpZiAocHJvcCA9PT0gc3ltYm9scy5TY2hlbWEpIHtcbiAgICAgIHJldHVybiBvYmplY3RIYW5kbGVyLnNjaGVtYTtcbiAgICB9XG4gICAgaWYgKHByb3AgaW4gaGFuZGxlcnMpIHtcbiAgICAgIHJldHVybiBoYW5kbGVyc1twcm9wXS5nZXQoKTtcbiAgICB9XG4gICAgaWYgKHByb3AgaW4gb2JqZWN0RnVuY3Rpb25zKSB7XG4gICAgICByZXR1cm4gb2JqZWN0RnVuY3Rpb25zW3Byb3BdO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9LFxuICBzZXQodGFyZ2V0LCBwcm9wLCB2KSB7XG4gICAgZGVmaW5lZCA9IHRydWU7XG4gICAgaWYgKHByb3AgaW4gaGFuZGxlcnMpIHtcbiAgICAgIGhhbmRsZXJzW3Byb3BdLnNldCh2KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoYWRkaXRpb25hbFByb3BlcnR5SGFuZGxlcikge1xuICAgICAgaWYgKCEocHJvcCBpbiBhZGRpdGlvbmFsUHJvcGVydGllcykpIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXNbcHJvcF0gPSBhZGRpdGlvbmFsUHJvcGVydHlIYW5kbGVyKHByb3ApO1xuICAgICAgfVxuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXNbcHJvcF0uc2V0KHYpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIDwlIGlmIChvcHRpb25zLmlnbm9yZUV4dHJhUHJvcGVydGllcyAhPT0gdHJ1ZSkge1xuICAgICAgJT50aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkUHJvcGVydHlOYW1lRXhjZXB0aW9uKDwlPSBKU09OLnN0cmluZ2lmeShwYXRoKSAlPiArICcvJyArIHByb3ApOzwlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBKdXN0IGlnbm9yZSB0aGUgcHJvcGVydHkuXG4gICAgICAlPnJldHVybiB0cnVlOzwlXG4gICAgICB9ICU+XG4gICAgfVxuICB9LFxuICBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3ApIHtcbiAgICBpZiAocHJvcCBpbiBoYW5kbGVycykge1xuICAgICAgaGFuZGxlcnNbcHJvcF0ucmVtb3ZlKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGFkZGl0aW9uYWxQcm9wZXJ0eUhhbmRsZXIgJiYgcHJvcCBpbiBhZGRpdGlvbmFsUHJvcGVydGllcykge1xuICAgICAgZGVsZXRlIGFkZGl0aW9uYWxQcm9wZXJ0aWVzW3Byb3BdO1xuICAgIH1cbiAgfSxcbiAgZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBwcm9wLCBkZXNjcmlwdG9yKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuICBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBwcm9wKSB7XG4gICAgaWYgKHByb3AgaW4gaGFuZGxlcnMpIHtcbiAgICAgIHJldHVybiB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSB9O1xuICAgIH0gZWxzZSBpZiAoYWRkaXRpb25hbFByb3BlcnR5SGFuZGxlciAmJiBwcm9wIGluIGFkZGl0aW9uYWxQcm9wZXJ0eUhhbmRsZXIpIHtcbiAgICAgIHJldHVybiB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSB9O1xuICAgIH1cbiAgfSxcbiAgb3duS2V5cyh0YXJnZXQpIHtcbiAgICByZXR1cm4gW10uY29uY2F0KFxuICAgICAgT2JqZWN0LmtleXMoaGFuZGxlcnMpLFxuICAgICAgYWRkaXRpb25hbFByb3BlcnR5SGFuZGxlciA/IE9iamVjdC5rZXlzKGFkZGl0aW9uYWxQcm9wZXJ0aWVzKSA6IFtdXG4gICAgKTtcbiAgfSxcbn07XG5cblxuY29uc3QgcHJveHkgPSBuZXcgUHJveHkoe30sIG9iamVjdFByb3h5SGFuZGxlcik7XG5cbmNvbnN0IG9iamVjdEhhbmRsZXIgPSB7XG4gIHNldCh2KSB7XG4gICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVmaW5lZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRlZmluZWQgPSB0cnVlO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHYpKSB7XG4gICAgICBwcm94eVtrZXldID0gdltrZXldO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHJlcXVpcmVkIGZpZWxkcy5cbiAgICA8JSBmb3IgKGNvbnN0IGtleSBvZiByZXF1aXJlZCkgeyAlPlxuICAgIGlmICghKDwlPSBKU09OLnN0cmluZ2lmeShrZXkpICU+IGluIHYpKSB7XG4gICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5SZXF1aXJlZFZhbHVlTWlzc2luZ0V4Y2VwdGlvbig8JT0gSlNPTi5zdHJpbmdpZnkocGF0aCkgJT4gKyAnLycgKyA8JT0gSlNPTi5zdHJpbmdpZnkoa2V5KSAlPik7XG4gICAgfTwlIH0gJT5cbiAgfSxcbiAgZ2V0KCkge1xuICAgIGlmICg8JT0gb3B0aW9ucy5hbGxvd0FjY2Vzc1VuZGVmaW5lZE9iamVjdHMgPT09IHRydWUgJT4gfHwgdGhpcy5pc0RlZmluZWQoKSkge1xuICAgICAgcmV0dXJuIHByb3h5O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gPCU9ICdkZWZhdWx0JyBpbiBzY2hlbWEgPyBKU09OLnN0cmluZ2lmeShzY2hlbWEuZGVmYXVsdCkgOiAndW5kZWZpbmVkJyAlPjtcbiAgICB9XG4gIH0sXG4gIGlzRGVmaW5lZCgpIHtcbiAgICByZXR1cm4gZGVmaW5lZFxuICAgICAgJiYgKE9iamVjdC5rZXlzKGhhbmRsZXJzKS5zb21lKGZ1bmN0aW9uKHgpIHsgcmV0dXJuIGhhbmRsZXJzW3hdLmlzRGVmaW5lZCgpOyB9KVxuICAgICAgICAgIHx8IE9iamVjdC5rZXlzKGFkZGl0aW9uYWxQcm9wZXJ0aWVzKS5zb21lKGZ1bmN0aW9uKHgpIHtcbiAgICAgICAgICAgIHJldHVybiBhZGRpdGlvbmFsUHJvcGVydGllc1t4XS5pc0RlZmluZWQoKTtcbiAgICAgICAgICB9KSk7XG4gIH0sXG4gIHJlbW92ZSgpIHsgdGhpcy5zZXQodW5kZWZpbmVkKTsgfSxcbiAgc2NoZW1hOiA8JT0gSlNPTi5zdHJpbmdpZnkoc2NoZW1hKSAlPixcbn07XG5cbnJldHVybiBvYmplY3RIYW5kbGVyO1xuXG59KSgpXG4iXX0=
@@ -0,0 +1,98 @@
1
+ return module.exports.default = function(obj) {
2
+ obj || (obj = {});
3
+ let __t;
4
+ let __p = "";
5
+ const __escapes = {"&":"&amp;","<":"&lt;",">":"&gt;","\"":"&quot;","'":"&#39;","`":"&#96;"};
6
+ const __escapesre = new RegExp('[&<>"\\\'`]', 'g');
7
+
8
+ const __e = function(s) { return s ? s.replace(__escapesre, function(key) { return __escapes[key]; }) : ''; };
9
+ with (obj) {
10
+ __p = __p
11
+ + "{\n"
12
+ + "";
13
+
14
+ if ('default' in schema && typeof schema.default != 'string'
15
+ || 'minLength' in schema && (typeof schema.minLength != 'number' || schema.minLength < 0)
16
+ || 'maxLength' in schema && (typeof schema.maxLength != 'number' || schema.maxLength < 0)
17
+ || 'pattern' in schema && typeof schema.pattern != 'string'
18
+ || 'format' in schema && typeof schema.format != 'string') {
19
+ throw new exceptions.InvalidSchemaException(schema);
20
+ }
21
+
22
+ const pattern = ('pattern' in schema) ? new RegExp(schema.pattern) : null;
23
+
24
+ __p = __p
25
+ + "\n"
26
+ + " value: undefined,\n"
27
+ + " get() { return this.value === undefined ? ";
28
+ __p += ((__t = JSON.stringify(schema.default) || 'undefined' ) == null ? "" : __t);
29
+ __p = __p
30
+ + " : this.value; },\n"
31
+ + " set(v) {\n"
32
+ + " if (v === undefined && ";
33
+ __p += ((__t = !required ) == null ? "" : __t);
34
+ __p = __p
35
+ + ") {\n"
36
+ + " this.value = undefined;\n"
37
+ + " return;\n"
38
+ + " }\n"
39
+ + " if (typeof v != 'string') {\n"
40
+ + " throw new exceptions.InvalidValueException(";
41
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
42
+ __p = __p
43
+ + ", typeof v, 'string');\n"
44
+ + " }";
45
+
46
+ if ('minLength' in schema) {
47
+ __p = __p
48
+ + "\n"
49
+ + " if (v.length <= ";
50
+ __p += ((__t = schema.minLength ) == null ? "" : __t);
51
+ __p = __p
52
+ + ") {\n"
53
+ + " throw new exceptions.InvalidRangeException(";
54
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
55
+ __p = __p
56
+ + ", v, 'longer', ";
57
+ __p += ((__t = schema.minLength ) == null ? "" : __t);
58
+ __p = __p
59
+ + ");\n"
60
+ + " }";
61
+
62
+ }
63
+ if ('maxLength' in schema) {
64
+ __p = __p
65
+ + "\n"
66
+ + " if (v.length >= ";
67
+ __p += ((__t = schema.maxLength ) == null ? "" : __t);
68
+ __p = __p
69
+ + ") {\n"
70
+ + " throw new exceptions.InvalidRangeException(";
71
+ __p += ((__t = JSON.stringify(name) ) == null ? "" : __t);
72
+ __p = __p
73
+ + ", v, 'smaller', ";
74
+ __p += ((__t = schema.maxLength ) == null ? "" : __t);
75
+ __p = __p
76
+ + ");\n"
77
+ + " }";
78
+
79
+ }
80
+
81
+ __p = __p
82
+ + "\n"
83
+ + " this.value = v;\n"
84
+ + " },\n"
85
+ + " isDefined() { return this.value !== undefined; },\n"
86
+ + " remove() { this.set(undefined); },\n"
87
+ + " schema() { return ";
88
+ __p += ((__t = JSON.stringify(schema) ) == null ? "" : __t);
89
+ __p = __p
90
+ + "; },\n"
91
+ + "}\n"
92
+ + "";
93
+ };
94
+
95
+ return __p;
96
+ }
97
+
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2NvcmUvc3JjL2pzb24vc2NoZW1hL3NlcmlhbGl6ZXJzL3RlbXBsYXRlcy9qYXZhc2NyaXB0L3Byb3Atc3RyaW5nLmVqcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFdBQ0E7QUFBQSxRQURDO0FBQUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFRTtBQUFBO0FBQUEsVUFDRjtBQUFBLDZCQUNBO0FBQUEsb0RBQTRDO0FBQUEsOERBQW9EO0FBQUE7QUFBQSwyQkFDaEc7QUFBQSxvQkFDQTtBQUFBLG1DQUEyQjtBQUFBLDBCQUFnQjtBQUFBO0FBQUEsYUFDM0M7QUFBQSx1Q0FDQTtBQUFBLHVCQUNBO0FBQUEsZUFDQTtBQUFBLHlDQUNBO0FBQUEseURBQWlEO0FBQUEscUNBQTJCO0FBQUE7QUFBQSxnQ0FDNUU7QUFBQSxhQUFLO0FBQUE7QUFDTCw2QkFDQTtBQUFBO0FBQUEsVUFDQTtBQUFBLDRCQURxQjtBQUFBLGlDQUF1QjtBQUFBO0FBQUEsYUFDNUM7QUFBQSx5REFBa0Q7QUFBQSxxQ0FBMkI7QUFBQTtBQUFBLHVCQUFlO0FBQUEsaUNBQXVCO0FBQUE7QUFBQSxZQUNuSDtBQUFBLGFBQU07QUFBQTtBQUNOO0FBQ0EsNkJBQ0M7QUFBQTtBQUFBLFVBQ0Q7QUFBQSw0QkFEc0I7QUFBQSxpQ0FBdUI7QUFBQTtBQUFBLGFBQzdDO0FBQUEseURBQW1EO0FBQUEscUNBQTJCO0FBQUE7QUFBQSx3QkFBZ0I7QUFBQSxpQ0FBdUI7QUFBQTtBQUFBLFlBQ3JIO0FBQUEsYUFBTztBQUFBO0FBQ1A7QUFFRTtBQUFBO0FBQUEsVUFDRjtBQUFBLDZCQUNBO0FBQUEsY0FDQTtBQUFBLDZEQUNBO0FBQUEsOENBQ0E7QUFBQSw0QkFEdUI7QUFBQSx1Q0FBNkI7QUFBQTtBQUFBLGNBQ3BEO0FBQUEsV0FDQTtBQUFBLFFBQUc7QUFBQTtBQUFBO0FBQUE7QUFBQSIsImZpbGUiOiJwYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9jb3JlL3NyYy9qc29uL3NjaGVtYS9zZXJpYWxpemVycy90ZW1wbGF0ZXMvamF2YXNjcmlwdC9wcm9wLXN0cmluZy5lanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvZGV2a2l0Iiwic291cmNlc0NvbnRlbnQiOlsie1xuPCVcbmlmICgnZGVmYXVsdCcgaW4gc2NoZW1hICYmIHR5cGVvZiBzY2hlbWEuZGVmYXVsdCAhPSAnc3RyaW5nJ1xuICAgIHx8ICdtaW5MZW5ndGgnIGluIHNjaGVtYSAmJiAodHlwZW9mIHNjaGVtYS5taW5MZW5ndGggIT0gJ251bWJlcicgfHwgc2NoZW1hLm1pbkxlbmd0aCA8IDApXG4gICAgfHwgJ21heExlbmd0aCcgaW4gc2NoZW1hICYmICh0eXBlb2Ygc2NoZW1hLm1heExlbmd0aCAhPSAnbnVtYmVyJyB8fCBzY2hlbWEubWF4TGVuZ3RoIDwgMClcbiAgICB8fCAncGF0dGVybicgaW4gc2NoZW1hICYmIHR5cGVvZiBzY2hlbWEucGF0dGVybiAhPSAnc3RyaW5nJ1xuICAgIHx8ICdmb3JtYXQnIGluIHNjaGVtYSAmJiB0eXBlb2Ygc2NoZW1hLmZvcm1hdCAhPSAnc3RyaW5nJykge1xuICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkU2NoZW1hRXhjZXB0aW9uKHNjaGVtYSk7XG59XG5cbmNvbnN0IHBhdHRlcm4gPSAoJ3BhdHRlcm4nIGluIHNjaGVtYSkgPyBuZXcgUmVnRXhwKHNjaGVtYS5wYXR0ZXJuKSA6IG51bGw7XG4lPlxuICB2YWx1ZTogdW5kZWZpbmVkLFxuICBnZXQoKSB7IHJldHVybiB0aGlzLnZhbHVlID09PSB1bmRlZmluZWQgPyA8JT0gSlNPTi5zdHJpbmdpZnkoc2NoZW1hLmRlZmF1bHQpIHx8ICd1bmRlZmluZWQnICU+IDogdGhpcy52YWx1ZTsgfSxcbiAgc2V0KHYpIHtcbiAgICBpZiAodiA9PT0gdW5kZWZpbmVkICYmIDwlPSAhcmVxdWlyZWQgJT4pIHtcbiAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdiAhPSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbnMuSW52YWxpZFZhbHVlRXhjZXB0aW9uKDwlPSBKU09OLnN0cmluZ2lmeShuYW1lKSAlPiwgdHlwZW9mIHYsICdzdHJpbmcnKTtcbiAgICB9PCVcbmlmICgnbWluTGVuZ3RoJyBpbiBzY2hlbWEpIHsgJT5cbiAgICBpZiAodi5sZW5ndGggPD0gPCU9IHNjaGVtYS5taW5MZW5ndGggJT4pIHtcbiAgICAgIHRocm93IG5ldyBleGNlcHRpb25zLkludmFsaWRSYW5nZUV4Y2VwdGlvbig8JT0gSlNPTi5zdHJpbmdpZnkobmFtZSkgJT4sIHYsICdsb25nZXInLCA8JT0gc2NoZW1hLm1pbkxlbmd0aCAlPik7XG4gICAgfTwlXG59XG5pZiAoJ21heExlbmd0aCcgaW4gc2NoZW1hKSB7ICU+XG4gICAgaWYgKHYubGVuZ3RoID49IDwlPSBzY2hlbWEubWF4TGVuZ3RoICU+KSB7XG4gICAgICB0aHJvdyBuZXcgZXhjZXB0aW9ucy5JbnZhbGlkUmFuZ2VFeGNlcHRpb24oPCU9IEpTT04uc3RyaW5naWZ5KG5hbWUpICU+LCB2LCAnc21hbGxlcicsIDwlPSBzY2hlbWEubWF4TGVuZ3RoICU+KTtcbiAgICB9PCVcbn1cbiU+XG4gICAgdGhpcy52YWx1ZSA9IHY7XG4gIH0sXG4gIGlzRGVmaW5lZCgpIHsgcmV0dXJuIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZDsgfSxcbiAgcmVtb3ZlKCkgeyB0aGlzLnNldCh1bmRlZmluZWQpOyB9LFxuICBzY2hlbWEoKSB7IHJldHVybiA8JT0gSlNPTi5zdHJpbmdpZnkoc2NoZW1hKSAlPjsgfSxcbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ return module.exports.default = function(obj) {
2
+ obj || (obj = {});
3
+ let __t;
4
+ let __p = "";
5
+ const __escapes = {"&":"&amp;","<":"&lt;",">":"&gt;","\"":"&quot;","'":"&#39;","`":"&#96;"};
6
+ const __escapesre = new RegExp('[&<>"\\\'`]', 'g');
7
+
8
+ const __e = function(s) { return s ? s.replace(__escapesre, function(key) { return __escapes[key]; }) : ''; };
9
+ with (obj) {
10
+
11
+ const extras = {
12
+ exceptions,
13
+ options,
14
+ strings,
15
+ symbols,
16
+ templates,
17
+ };
18
+
19
+ __p = __p
20
+ + "\n"
21
+ + "\n"
22
+ + "const holder = ";
23
+ __p += ((__t = templates.subschema(Object.assign({
24
+ name: name,
25
+ path: '',
26
+ required: false,
27
+ schema: schema,
28
+ }, extras))
29
+ ) == null ? "" : __t);
30
+ __p = __p
31
+ + ";\n"
32
+ + "\n"
33
+ + "holder.set(value);\n"
34
+ + "return holder.get();\n"
35
+ + "";
36
+ };
37
+
38
+ return __p;
39
+ }
40
+
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2NvcmUvc3JjL2pzb24vc2NoZW1hL3NlcmlhbGl6ZXJzL3RlbXBsYXRlcy9qYXZhc2NyaXB0L3Jvb3QuZWpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRTtBQUFBO0FBQUEsVUFDRjtBQUFBLFVBQ0E7QUFBQSx1QkFBZTtBQUFBO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFO0FBQUE7QUFBQSxXQUNGO0FBQUEsVUFDQTtBQUFBLDRCQUNBO0FBQUEsOEJBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwiZmlsZSI6InBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2NvcmUvc3JjL2pzb24vc2NoZW1hL3NlcmlhbGl6ZXJzL3RlbXBsYXRlcy9qYXZhc2NyaXB0L3Jvb3QuZWpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9oYW5zbC9Tb3VyY2VzL2RldmtpdCIsInNvdXJjZXNDb250ZW50IjpbIjwlXG5jb25zdCBleHRyYXMgPSB7XG4gIGV4Y2VwdGlvbnMsXG4gIG9wdGlvbnMsXG4gIHN0cmluZ3MsXG4gIHN5bWJvbHMsXG4gIHRlbXBsYXRlcyxcbn07XG4lPlxuXG5jb25zdCBob2xkZXIgPSA8JT0gdGVtcGxhdGVzLnN1YnNjaGVtYShPYmplY3QuYXNzaWduKHtcbiAgbmFtZTogbmFtZSxcbiAgcGF0aDogJycsXG4gIHJlcXVpcmVkOiBmYWxzZSxcbiAgc2NoZW1hOiBzY2hlbWEsXG59LCBleHRyYXMpKVxuJT47XG5cbmhvbGRlci5zZXQodmFsdWUpO1xucmV0dXJuIGhvbGRlci5nZXQoKTtcbiJdfQ==
@@ -0,0 +1,65 @@
1
+ return module.exports.default = function(obj) {
2
+ obj || (obj = {});
3
+ let __t;
4
+ let __p = "";
5
+ const __escapes = {"&":"&amp;","<":"&lt;",">":"&gt;","\"":"&quot;","'":"&#39;","`":"&#96;"};
6
+ const __escapesre = new RegExp('[&<>"\\\'`]', 'g');
7
+
8
+ const __e = function(s) { return s ? s.replace(__escapesre, function(key) { return __escapes[key]; }) : ''; };
9
+ with (obj) {
10
+
11
+ const extras = {
12
+ exceptions,
13
+ options,
14
+ path: (path ? path + '/' : '') + name,
15
+ strings,
16
+ symbols,
17
+ templates,
18
+ };
19
+
20
+ if (!schema) {
21
+
22
+ __p = __p
23
+ + "null";
24
+
25
+ } else if (schema === true) {
26
+
27
+ __p += ((__t =
28
+ templates.prop_any(Object.assign({
29
+ name,
30
+ required,
31
+ schema: {},
32
+ }, extras))
33
+ ) == null ? "" : __t);
34
+
35
+ } else if (!('type' in schema)) {
36
+
37
+ __p += ((__t =
38
+ templates.prop_any(Object.assign({
39
+ name,
40
+ required,
41
+ schema: {},
42
+ }, extras))
43
+ ) == null ? "" : __t);
44
+
45
+ } else {
46
+
47
+ __p += ((__t =
48
+ templates['prop_' + schema.type](Object.assign({
49
+ name: name,
50
+ required,
51
+ schema: schema,
52
+ }, extras))
53
+ ) == null ? "" : __t);
54
+
55
+ }
56
+
57
+ __p = __p
58
+ + "\n"
59
+ + "";
60
+ };
61
+
62
+ return __p;
63
+ }
64
+
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2NvcmUvc3JjL2pzb24vc2NoZW1hL3NlcmlhbGl6ZXJzL3RlbXBsYXRlcy9qYXZhc2NyaXB0L3N1YnNjaGVtYS5lanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUk7QUFBQTtBQUFBLFlBQUk7QUFBQTtBQUNSO0FBQ0c7QUFBQTtBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRztBQUFBO0FBQ0g7QUFDSTtBQUFBO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNJO0FBQUE7QUFDSjtBQUNLO0FBQUE7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0c7QUFBQTtBQUFBLFVBQ0g7QUFBQSxRQURJO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJmaWxlIjoicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvY29yZS9zcmMvanNvbi9zY2hlbWEvc2VyaWFsaXplcnMvdGVtcGxhdGVzL2phdmFzY3JpcHQvc3Vic2NoZW1hLmVqcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvaGFuc2wvU291cmNlcy9kZXZraXQiLCJzb3VyY2VzQ29udGVudCI6WyI8JVxuY29uc3QgZXh0cmFzID0ge1xuICBleGNlcHRpb25zLFxuICBvcHRpb25zLFxuICBwYXRoOiAocGF0aCA/IHBhdGggKyAnLycgOiAnJykgKyBuYW1lLFxuICBzdHJpbmdzLFxuICBzeW1ib2xzLFxuICB0ZW1wbGF0ZXMsXG59O1xuXG5pZiAoIXNjaGVtYSkge1xuICAlPm51bGw8JVxufSBlbHNlIGlmIChzY2hlbWEgPT09IHRydWUpIHtcbiU+PCU9XG4gIHRlbXBsYXRlcy5wcm9wX2FueShPYmplY3QuYXNzaWduKHtcbiAgICBuYW1lLFxuICAgIHJlcXVpcmVkLFxuICAgIHNjaGVtYToge30sXG4gIH0sIGV4dHJhcykpXG4lPjwlXG59IGVsc2UgaWYgKCEoJ3R5cGUnIGluIHNjaGVtYSkpIHtcbiU+PCU9XG4gIHRlbXBsYXRlcy5wcm9wX2FueShPYmplY3QuYXNzaWduKHtcbiAgICBuYW1lLFxuICAgIHJlcXVpcmVkLFxuICAgIHNjaGVtYToge30sXG4gIH0sIGV4dHJhcykpXG4lPjwlXG59IGVsc2Uge1xuJT48JT1cbiAgdGVtcGxhdGVzWydwcm9wXycgKyBzY2hlbWEudHlwZV0oT2JqZWN0LmFzc2lnbih7XG4gICAgbmFtZTogbmFtZSxcbiAgICByZXF1aXJlZCxcbiAgICBzY2hlbWE6IHNjaGVtYSxcbiAgfSwgZXh0cmFzKSlcbiU+PCVcbn1cbiU+XG4iXX0=
@@ -5,7 +5,6 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- export * from './cli-logger';
9
8
  export * from './indent';
10
9
  export * from './logger';
11
10
  export * from './null-logger';
@@ -10,9 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  * Use of this source code is governed by an MIT-style license that can be
11
11
  * found in the LICENSE file at https://angular.io/license
12
12
  */
13
- __export(require("./cli-logger"));
14
13
  __export(require("./indent"));
15
14
  __export(require("./logger"));
16
15
  __export(require("./null-logger"));
17
16
  __export(require("./transform-logger"));
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvY29yZS9zcmMvbG9nZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsa0NBQTZCO0FBQzdCLDhCQUF5QjtBQUN6Qiw4QkFBeUI7QUFDekIsbUNBQThCO0FBQzlCLHdDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY2xpLWxvZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL2luZGVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL251bGwtbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmb3JtLWxvZ2dlcic7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2hhbnNsL1NvdXJjZXMvZGV2a2l0LyIsInNvdXJjZXMiOlsicGFja2FnZXMvYW5ndWxhcl9kZXZraXQvY29yZS9zcmMvbG9nZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsOEJBQXlCO0FBQ3pCLDhCQUF5QjtBQUN6QixtQ0FBOEI7QUFDOUIsd0NBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9pbmRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9udWxsLWxvZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zZm9ybS1sb2dnZXInO1xuIl19
@@ -20,8 +20,17 @@ export interface LogEntry extends LoggerMetadata {
20
20
  message: string;
21
21
  timestamp: number;
22
22
  }
23
+ export interface LoggerApi {
24
+ createChild(name: string): Logger;
25
+ log(level: LogLevel, message: string, metadata?: JsonObject): void;
26
+ debug(message: string, metadata?: JsonObject): void;
27
+ info(message: string, metadata?: JsonObject): void;
28
+ warn(message: string, metadata?: JsonObject): void;
29
+ error(message: string, metadata?: JsonObject): void;
30
+ fatal(message: string, metadata?: JsonObject): void;
31
+ }
23
32
  export declare type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
24
- export declare class Logger extends Observable<LogEntry> {
33
+ export declare class Logger extends Observable<LogEntry> implements LoggerApi {
25
34
  readonly name: string;
26
35
  readonly parent: Logger | null;
27
36
  protected readonly _subject: Subject<LogEntry>;
@@ -30,6 +39,8 @@ export declare class Logger extends Observable<LogEntry> {
30
39
  private _subscription;
31
40
  protected _observable: Observable<LogEntry>;
32
41
  constructor(name: string, parent?: Logger | null);
42
+ asApi(): LoggerApi;
43
+ createChild(name: string): Logger;
33
44
  complete(): void;
34
45
  log(level: LogLevel, message: string, metadata?: JsonObject): void;
35
46
  debug(message: string, metadata?: JsonObject): void;