@teleporthq/teleport-uidl-validator 0.18.0

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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -0
  3. package/__tests__/parser/componennt-with-referenced-styles.json +111 -0
  4. package/__tests__/parser/component-parsing.ts +116 -0
  5. package/__tests__/parser/component-referenced.ts +50 -0
  6. package/__tests__/parser/component-with-primitive-values.json +61 -0
  7. package/__tests__/parser/component-with-proper-values.json +97 -0
  8. package/__tests__/parser/component-with-reusalble-styles.json +117 -0
  9. package/__tests__/validator/component-element-with-empty-name.json +36 -0
  10. package/__tests__/validator/component-invalid-sample.json +184 -0
  11. package/__tests__/validator/component-uidl-with-event-modifier-undefined.json +45 -0
  12. package/__tests__/validator/component-uidl-with-null-undefined.json +24 -0
  13. package/__tests__/validator/index.ts +216 -0
  14. package/__tests__/validator/old-project-invalid-sample.json +317 -0
  15. package/__tests__/validator/project-invalid-sample-no-route.json +667 -0
  16. package/__tests__/validator/project-invalid-sample.json +671 -0
  17. package/__tests__/validator/project-sample.json +667 -0
  18. package/dist/cjs/decoders/component-decoder.d.ts +4 -0
  19. package/dist/cjs/decoders/component-decoder.js +30 -0
  20. package/dist/cjs/decoders/component-decoder.js.map +1 -0
  21. package/dist/cjs/decoders/custom-combinators.d.ts +8 -0
  22. package/dist/cjs/decoders/custom-combinators.js +59 -0
  23. package/dist/cjs/decoders/custom-combinators.js.map +1 -0
  24. package/dist/cjs/decoders/index.d.ts +2 -0
  25. package/dist/cjs/decoders/index.js +9 -0
  26. package/dist/cjs/decoders/index.js.map +1 -0
  27. package/dist/cjs/decoders/project-decoder.d.ts +5 -0
  28. package/dist/cjs/decoders/project-decoder.js +38 -0
  29. package/dist/cjs/decoders/project-decoder.js.map +1 -0
  30. package/dist/cjs/decoders/utils.d.ts +59 -0
  31. package/dist/cjs/decoders/utils.js +305 -0
  32. package/dist/cjs/decoders/utils.js.map +1 -0
  33. package/dist/cjs/index.d.ts +7 -0
  34. package/dist/cjs/index.js +38 -0
  35. package/dist/cjs/index.js.map +1 -0
  36. package/dist/cjs/parser/index.d.ts +10 -0
  37. package/dist/cjs/parser/index.js +156 -0
  38. package/dist/cjs/parser/index.js.map +1 -0
  39. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  40. package/dist/cjs/validator/index.d.ts +15 -0
  41. package/dist/cjs/validator/index.js +94 -0
  42. package/dist/cjs/validator/index.js.map +1 -0
  43. package/dist/cjs/validator/utils.d.ts +16 -0
  44. package/dist/cjs/validator/utils.js +373 -0
  45. package/dist/cjs/validator/utils.js.map +1 -0
  46. package/dist/esm/decoders/component-decoder.d.ts +4 -0
  47. package/dist/esm/decoders/component-decoder.js +27 -0
  48. package/dist/esm/decoders/component-decoder.js.map +1 -0
  49. package/dist/esm/decoders/custom-combinators.d.ts +8 -0
  50. package/dist/esm/decoders/custom-combinators.js +56 -0
  51. package/dist/esm/decoders/custom-combinators.js.map +1 -0
  52. package/dist/esm/decoders/index.d.ts +2 -0
  53. package/dist/esm/decoders/index.js +3 -0
  54. package/dist/esm/decoders/index.js.map +1 -0
  55. package/dist/esm/decoders/project-decoder.d.ts +5 -0
  56. package/dist/esm/decoders/project-decoder.js +35 -0
  57. package/dist/esm/decoders/project-decoder.js.map +1 -0
  58. package/dist/esm/decoders/utils.d.ts +59 -0
  59. package/dist/esm/decoders/utils.js +301 -0
  60. package/dist/esm/decoders/utils.js.map +1 -0
  61. package/dist/esm/index.d.ts +7 -0
  62. package/dist/esm/index.js +8 -0
  63. package/dist/esm/index.js.map +1 -0
  64. package/dist/esm/parser/index.d.ts +10 -0
  65. package/dist/esm/parser/index.js +151 -0
  66. package/dist/esm/parser/index.js.map +1 -0
  67. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  68. package/dist/esm/validator/index.d.ts +15 -0
  69. package/dist/esm/validator/index.js +73 -0
  70. package/dist/esm/validator/index.js.map +1 -0
  71. package/dist/esm/validator/utils.d.ts +16 -0
  72. package/dist/esm/validator/utils.js +359 -0
  73. package/dist/esm/validator/utils.js.map +1 -0
  74. package/package.json +32 -0
  75. package/src/decoders/component-decoder.ts +48 -0
  76. package/src/decoders/custom-combinators.ts +59 -0
  77. package/src/decoders/index.ts +2 -0
  78. package/src/decoders/project-decoder.ts +40 -0
  79. package/src/decoders/utils.ts +571 -0
  80. package/src/index.ts +9 -0
  81. package/src/parser/index.ts +227 -0
  82. package/src/validator/index.ts +105 -0
  83. package/src/validator/utils.ts +463 -0
  84. package/tsconfig.json +9 -0
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.parseProjectJSON = exports.parseComponentJSON = void 0;
15
+ var teleport_shared_1 = require("@teleporthq/teleport-shared");
16
+ var teleport_types_1 = require("@teleporthq/teleport-types");
17
+ var parseComponentJSON = function (input, params) {
18
+ if (params === void 0) { params = {}; }
19
+ var safeInput = params.noClone ? input : teleport_shared_1.UIDLUtils.cloneObject(input);
20
+ if (input === null || input === void 0 ? void 0 : input.styleSetDefinitions) {
21
+ var styleSetDefinitions = safeInput.styleSetDefinitions;
22
+ Object.values(styleSetDefinitions).forEach(function (styleRef) {
23
+ var _a = styleRef.conditions, conditions = _a === void 0 ? [] : _a;
24
+ styleRef.content = teleport_shared_1.UIDLUtils.transformStylesAssignmentsToJson(styleRef.content);
25
+ if (conditions.length > 0) {
26
+ conditions.forEach(function (style) {
27
+ style.content = teleport_shared_1.UIDLUtils.transformStylesAssignmentsToJson(style.content);
28
+ });
29
+ }
30
+ });
31
+ }
32
+ var node = safeInput.node;
33
+ var result = __assign({}, safeInput);
34
+ // other parsers for other sections of the component here
35
+ result.node = parseComponentNode(node);
36
+ return result;
37
+ };
38
+ exports.parseComponentJSON = parseComponentJSON;
39
+ var parseProjectJSON = function (input, params) {
40
+ var _a;
41
+ if (params === void 0) { params = {}; }
42
+ var safeInput = params.noClone ? input : teleport_shared_1.UIDLUtils.cloneObject(input);
43
+ var root = safeInput.root;
44
+ var result = __assign({}, safeInput);
45
+ result.root = exports.parseComponentJSON(root, { noClone: true });
46
+ if ((_a = result.root) === null || _a === void 0 ? void 0 : _a.designLanguage) {
47
+ var _b = result.root.designLanguage.tokens, tokens_1 = _b === void 0 ? {} : _b;
48
+ result.root.designLanguage.tokens = Object.keys(tokens_1).reduce(function (acc, tokenId) {
49
+ var token = tokens_1[tokenId];
50
+ if (typeof token === 'string' || typeof token === 'number') {
51
+ acc[tokenId] = {
52
+ type: 'static',
53
+ content: token,
54
+ };
55
+ }
56
+ else {
57
+ acc[tokenId] = token;
58
+ }
59
+ return acc;
60
+ }, {});
61
+ }
62
+ if (result.components) {
63
+ result.components = Object.keys(result.components).reduce(function (parsedComponnets, key) {
64
+ parsedComponnets[key] = exports.parseComponentJSON(result.components[key]);
65
+ return parsedComponnets;
66
+ }, {});
67
+ }
68
+ return result;
69
+ };
70
+ exports.parseProjectJSON = parseProjectJSON;
71
+ var parseComponentNode = function (node) {
72
+ var _a, _b;
73
+ switch (node.type) {
74
+ case 'element':
75
+ var elementContent = node.content;
76
+ if (elementContent === null || elementContent === void 0 ? void 0 : elementContent.referencedStyles) {
77
+ Object.values(elementContent.referencedStyles).forEach(function (styleRef) {
78
+ var content = styleRef.content;
79
+ switch (content.mapType) {
80
+ case 'inlined': {
81
+ content.styles = teleport_shared_1.UIDLUtils.transformStylesAssignmentsToJson(content.styles);
82
+ break;
83
+ }
84
+ case 'project-referenced':
85
+ break;
86
+ case 'component-referenced': {
87
+ if (['string', 'number'].includes(typeof styleRef.content.content)) {
88
+ styleRef.content.content = {
89
+ type: 'static',
90
+ content: styleRef.content.content,
91
+ };
92
+ }
93
+ break;
94
+ }
95
+ default: {
96
+ throw new teleport_types_1.ParserError("Un-expected mapType passed in referencedStyles - " + content.mapType);
97
+ }
98
+ }
99
+ });
100
+ }
101
+ if (elementContent.style) {
102
+ elementContent.style = teleport_shared_1.UIDLUtils.transformStylesAssignmentsToJson(elementContent.style);
103
+ }
104
+ if (elementContent.attrs) {
105
+ elementContent.attrs = teleport_shared_1.UIDLUtils.transformAttributesAssignmentsToJson(elementContent.attrs);
106
+ }
107
+ // @ts-ignore
108
+ if ((_a = elementContent.abilities) === null || _a === void 0 ? void 0 : _a.link) {
109
+ // @ts-ignore
110
+ var _c = (_b = elementContent.abilities) === null || _b === void 0 ? void 0 : _b.link, content = _c.content, type = _c.type;
111
+ if (type === 'url' && typeof content.url === 'string') {
112
+ content.url = teleport_shared_1.UIDLUtils.transformStringAssignmentToJson(content.url);
113
+ }
114
+ }
115
+ if (Array.isArray(elementContent.children)) {
116
+ elementContent.children = elementContent.children.map(function (child) {
117
+ if (typeof child === 'string') {
118
+ return teleport_shared_1.UIDLUtils.transformStringAssignmentToJson(child);
119
+ }
120
+ else {
121
+ return parseComponentNode(child);
122
+ }
123
+ }, []);
124
+ }
125
+ return node;
126
+ case 'conditional':
127
+ var conditionalNode = node;
128
+ var reference = conditionalNode.content.reference;
129
+ conditionalNode.content.node = parseComponentNode(conditionalNode.content.node);
130
+ if (typeof reference === 'string') {
131
+ conditionalNode.content.reference = teleport_shared_1.UIDLUtils.transformStringAssignmentToJson(reference);
132
+ }
133
+ return conditionalNode;
134
+ case 'repeat':
135
+ var repeatNode = node;
136
+ var dataSource = repeatNode.content.dataSource;
137
+ repeatNode.content.node = parseComponentNode(repeatNode.content.node);
138
+ if (typeof dataSource === 'string') {
139
+ repeatNode.content.dataSource = teleport_shared_1.UIDLUtils.transformStringAssignmentToJson(dataSource);
140
+ }
141
+ return repeatNode;
142
+ case 'slot':
143
+ var slotNode = node;
144
+ if (slotNode.content.fallback) {
145
+ slotNode.content.fallback = parseComponentNode(slotNode.content.fallback);
146
+ }
147
+ return slotNode;
148
+ case 'dynamic':
149
+ case 'static':
150
+ case 'raw':
151
+ return node;
152
+ default:
153
+ throw new teleport_types_1.ParserError("parseComponentNode attempted to parsed invalid node type " + node.type);
154
+ }
155
+ };
156
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../teleport-types/dist/cjs/uidl.d.ts","../../../teleport-types/dist/cjs/generators.d.ts","../../../teleport-types/dist/cjs/errors.d.ts","../../../teleport-types/dist/cjs/vuidl.d.ts","../../../teleport-types/dist/cjs/index.d.ts","../../../teleport-shared/dist/cjs/constants/index.d.ts","../../../teleport-shared/dist/cjs/utils/string-utils.d.ts","../../../teleport-shared/dist/cjs/utils/uidl-utils.d.ts","../../../teleport-shared/dist/cjs/index.d.ts","../../src/parser/index.ts","../../../../node_modules/@mojotech/json-type-validation/dist/types/result.d.ts","../../../../node_modules/@mojotech/json-type-validation/dist/types/decoder.d.ts","../../../../node_modules/@mojotech/json-type-validation/dist/types/combinators.d.ts","../../../../node_modules/@mojotech/json-type-validation/dist/types/index.d.ts","../../src/decoders/custom-combinators.ts","../../src/decoders/utils.ts","../../src/decoders/component-decoder.ts","../../src/decoders/project-decoder.ts","../../src/decoders/index.ts","../../src/validator/utils.ts","../../src/validator/index.ts","../../src/index.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostic_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/util/types.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/ts3.6/base.d.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/base.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../../node_modules/@types/jest/index.d.ts","../../../../node_modules/@types/jest/ts3.2/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"d1e076bd03d792a96993f458172927e0c5ac3cb8e1b566f54f925e6ef19bbebb","6a55786dc1b8e3c25bc00e1700a7eb297e20bccae7d4bb5e4a020b97daa2052f","eccf9c0b6e420c47b3e3eb87e8f0dc9df312a9583a6cce96756b18ebff176b70","75ecadee387dde7be130c85ed277fdfcee3923e452260ffaf217ebaefe7bd305","cd619820771edb23926bb084906215ab9c491255fa707488d15748b38909b747","28b22326000119f53de35f67ce3096ef475a2224274162b1283ef8718e1efdb5","18aecf77d74ed15ae1e875a0d43f2aa85387794fc447b2bc3c8ab7e2224d0ac6","fcd80368105181b1be66006da7c16a58ed993845e7b37d33302387f18e889001","d2ff55204dd4868d11a163c207d4fbe8d99cbf8cb36fa90d2a2f0bfc802b4d38","3865eefaf5bd805dfd094f0eca8e22d73ce15e251cd4a5d8e9f6139fde38128b","79100ef62a6aefca99e96651119e9bd7620b5eea2bc50b8cb3bd1291317f1e24","c6dcbd5ea7dc92ca6c9670ac5bce4c4a0eb17581ef806d6392e012934df41c5b","974f45848283c166a28ec625ae917491e62421ca46fd369f187b7cae232372bd","5f5bbf3fa89cf2cf093a4c7c0788d9ef3b55c2bd51533c39f693ab81eb3f2b5e","a9bec8afc1227c0bc6c74e531d2c7dac17eebae4123ded2127882c078e674cbb","50e4e043ecdbc723c2f2ff4fa9c49026d833c4f7bfc26fa93d9a84ae438e1dca","6640fb08bf64db67f0f34f864590469ea286533a892a34044f2ca7bea851f9d6","e484e9be3c8b7576ad79524c1443597cef2630705caa0f2c469218b0d957492d","89890e86416bd9ed3d69baebd7c76cc1a2dd2f0f9d3143469269f3dc3fb3a1fe","a2db939eea298e14c7fdf8b7407b38f089303c8e3f5caa1bbafe0e306a96f4c5","b0f60ba54499703b3a90f4b8343f1db21898a9ebc3e55a620db3c25243bd565b","0957d068377b9f2b45a9ddb224d5da6f3887d8d381cdfe65150fe9664a5103d0","c7bdc99177a2a94d25fb13722adaaf5b3291bf70b4d1b27584ba189dd3889ba3",{"version":"d1c92b66c4105659fcad4eb76a1481f7311033e117d0678a1ec545e8ddb8d4c6","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","dee93c07b4df5e26010dc9ec4cdf4d6e4076bb4474d2a8371529217c8b2740a4","d55bc773f71c50f55decb39b64a5d8b9889a7c9e94305b36656ebf30e4f47469","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"c8155caf28fc7b0a564156a5df28ad8a844a3bd32d331d148d8f3ce88025c870","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","dfc747ab8dd5f623055a4c26fd35e8cceca869fd3f1cf09701c941ca3679665a","c9f5f2920ff61d7158417b8440d5181ddc34a3dfef811a5677dd8a9fb91471e9","5cc0a492da3602510b8f5ed1852b1e0390002780d8758fbc8c0cd023ca7085f8","ec7dafafe751a5121f8f1c80201ebe7e7238c47e6329280a73c4d1ca4bb7fa28","64debeb10e4b7ae4ec9e89bfb4e04c6101ab98c3cc806d14e5488607cfec2753",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"a5782d6cea81fe43d2db7ed41e789458c933ab3ab60602f7b5b14c4da3370496","affectsGlobalScope":true},"b86b7ff709a82ef3cba2184136c025989958bad483ffb13e4ca35d720245adf4","6194335ee3353f7226ba31f31d6301d0c6be87228419c0a08976ccd9d4f1213e","5a173b7da4e6d073f9c18a02f387816a934614e7af306193995935fbb95f10b8","b447e123210c68f205f67b20c996c04a1eb64b0e591c5e06e164cd3d3a869b28","13257840c0850d4ebd7c2b17604a9e006f752de76c2400ebc752bc465c330452","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","c55776aa1db2b963a5fb820c0650362e721cba51ebf83b069696f2501378c0f3","e2236264a811ed1d09a2487a433e8f5216ae62378cf233954ae220cf886f6717","3ec1e108d587a5661ec790db607f482605ba9f3830e118ce578e3ffa3c42e22b","100b3bb9d39d2b1b5340f1bf45a52e94ef1692b45232b4ba00fac5c3cc56d331",{"version":"ec1a29ddaecb683aa360df0bd98ab5d4171d2d549554f7c5ab2a5c183a3dcb67","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","2597718d91e306949d89e285bf34c44192014ef541c3bd7cbb825c022749e974","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","ac4801ebc2355ba32329070123b1cd15891bf71b41dcaf9e75b4744832126a59","fd2298fba0640e7295e7bd545e2dfbfcccbb00c27019e501c87965a02bbdebf6","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","71ddd49185b68f27bfac127ef5d22cb2672c278e53e5370d9020ef50ca9c377d","b1ea7a6eaa7608e0e0529aebd323b526a79c6c05a4e519ae5c779675004dcdf1","9fcb033a6208485d8f3fadde31eb5cbcaf99149cff3e40c0dc53ebc6d0dff4e9","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","f4149f1aa299474c7040a35fe8f8ac2ad078cc1b190415adc1fff3ed52d490ea","3730099ed008776216268a97771de31753ef71e0a7d0ec650f588cba2a06ce44","8d649dbc429d7139a1d9a14ea2bf8af1dc089e0a879447539587463d4b6c248c","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","e361aecf17fc4034b4c122a1564471cdcd22ef3a51407803cb5a5fc020c04d02","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"fc0ae4a8ad3c762b96f9d2c3700cb879a373458cb0bf3175478e3b4f85f7ef2f","fabbec378e1ddd86fcf2662e716c2b8318acedb664ee3a4cba6f9e8ee8269cf1","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","efd55e8ca79171bf26c0d0e30221cb8ee1f5a31dd0c791ec4b2e886f42bab124","e222104af6cb9415238ad358488b74d76eceeff238c1268ec6e85655b05341da","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","eba230221317c985ab1953ccc3edc517f248b37db4fef7875cb2c8d08aff7be7","b83e796810e475da3564c6515bc0ae9577070596a33d89299b7d99f94ecfd921","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"f624e578325b8c58e55b30c998b1f4c3ec1b61a9fa66373da4250c89b7880d44","affectsGlobalScope":true},{"version":"d3002f620eab4bf6476c9da5c0efb2041d46f7df8b3032a5631bd206abef2c75","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitAny":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"target":1},"fileIdsList":[[40],[39],[39,40,41],[107,109],[103,104],[103,104,105,106],[108],[110],[100],[99,100],[54,59],[65,66,73,82],[55,65,73],[91],[59,66,74],[82,87],[62,65,73],[63],[62],[65],[65,67,82,90],[65,66,82],[73,82,90],[65,66,68,73,82,87,90],[68,87,90],[101],[90],[62,65,82],[75],[53],[89],[80,91,94],[65,83],[82],[85],[59,73],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],[73],[79],[92],[54,59,65,67,76,82,90,94],[33],[34,35,36],[29],[29,30,31,32],[33,42,44],[42],[45,46],[33,42,44,45],[33,42,43],[38,44,45,46,49],[33,37],[33,47,48]],"referencedMap":[[41,1],[40,2],[42,3],[110,4],[105,5],[107,6],[106,5],[109,7],[111,8],[51,9],[101,10],[54,11],[55,12],[56,13],[57,14],[58,15],[59,16],[60,17],[62,18],[63,19],[64,20],[65,20],[66,21],[67,22],[68,23],[69,24],[70,25],[102,26],[71,20],[72,27],[73,28],[75,29],[76,30],[77,31],[80,20],[81,32],[82,33],[83,34],[85,20],[86,35],[87,36],[99,37],[89,38],[90,39],[91,40],[93,34],[95,41],[96,34],[34,42],[37,43],[36,42],[30,44],[33,45],[32,44],[45,46],[43,47],[47,48],[46,49],[44,50],[50,51],[38,52],[49,53],[48,52]],"exportedModulesMap":[[41,1],[40,2],[42,3],[110,4],[105,5],[107,6],[106,5],[109,7],[111,8],[51,9],[101,10],[54,11],[55,12],[56,13],[57,14],[58,15],[59,16],[60,17],[62,18],[63,19],[64,20],[65,20],[66,21],[67,22],[68,23],[69,24],[70,25],[102,26],[71,20],[72,27],[73,28],[75,29],[76,30],[77,31],[80,20],[81,32],[82,33],[83,34],[85,20],[86,35],[87,36],[99,37],[89,38],[90,39],[91,40],[93,34],[95,41],[96,34],[34,42],[37,43],[36,42],[30,44],[33,45],[32,44],[45,46],[43,47],[47,48],[46,49],[44,50],[50,51],[38,52],[49,53],[48,52]],"semanticDiagnosticsPerFile":[41,40,42,39,110,103,105,107,106,104,109,108,111,100,51,53,101,54,55,56,57,58,59,60,61,62,63,64,65,66,67,52,97,68,69,70,102,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,99,89,90,91,92,93,94,98,95,96,6,8,7,2,9,10,11,12,13,14,15,16,3,4,20,17,18,19,21,22,23,5,24,25,26,27,1,28,34,37,35,36,31,30,33,29,32,45,43,47,46,44,50,38,49,48]},"version":"4.3.5"}
@@ -0,0 +1,15 @@
1
+ import { ProjectUIDL, ComponentUIDL, VComponentUIDL, VProjectUIDL } from '@teleporthq/teleport-types';
2
+ interface ValidationResult {
3
+ valid: boolean;
4
+ errorMsg: string;
5
+ componentUIDL?: VComponentUIDL;
6
+ projectUIDL?: VProjectUIDL;
7
+ }
8
+ export default class Validator {
9
+ validateComponentSchema(input: Record<string, unknown>): ValidationResult;
10
+ validateRootComponentSchema(input: Record<string, unknown>): ValidationResult;
11
+ validateProjectSchema(input: Record<string, unknown>): ValidationResult;
12
+ validateComponentContent(input: ComponentUIDL): ValidationResult;
13
+ validateProjectContent(input: ProjectUIDL): ValidationResult;
14
+ }
15
+ export {};
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
22
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
23
+ to[j] = from[i];
24
+ return to;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ var teleport_types_1 = require("@teleporthq/teleport-types");
28
+ var decoders_1 = require("../decoders");
29
+ var utils = __importStar(require("./utils"));
30
+ var Validator = /** @class */ (function () {
31
+ function Validator() {
32
+ }
33
+ Validator.prototype.validateComponentSchema = function (input) {
34
+ try {
35
+ var cleanedUIDL = utils.validateNulls(input);
36
+ var uidl = decoders_1.componentUIDLDecoder.runWithException(cleanedUIDL);
37
+ return { valid: true, errorMsg: '', componentUIDL: uidl };
38
+ }
39
+ catch (e) {
40
+ var errorMsg = utils.formatErrors([{ kind: e.kind, message: e.message, at: e.at }]);
41
+ throw new teleport_types_1.ComponentValidationError("Component - " + (input === null || input === void 0 ? void 0 : input.name) + " \n\n " + errorMsg);
42
+ }
43
+ };
44
+ Validator.prototype.validateRootComponentSchema = function (input) {
45
+ try {
46
+ var cleanedUIDL = utils.validateNulls(input);
47
+ var uidl = decoders_1.rootComponentUIDLDecoder.runWithException(cleanedUIDL);
48
+ return { valid: true, errorMsg: '', componentUIDL: uidl };
49
+ }
50
+ catch (e) {
51
+ var errorMsg = utils.formatErrors([{ kind: e.kind, message: e.message, at: e.at }]);
52
+ throw new teleport_types_1.ComponentValidationError("Component - " + (input === null || input === void 0 ? void 0 : input.name) + "\n\n " + errorMsg);
53
+ }
54
+ };
55
+ Validator.prototype.validateProjectSchema = function (input) {
56
+ try {
57
+ var cleanedUIDL = utils.validateNulls(input);
58
+ var uidl = decoders_1.projectUIDLDecoder.runWithException(cleanedUIDL);
59
+ return { valid: true, errorMsg: '', projectUIDL: uidl };
60
+ }
61
+ catch (e) {
62
+ var errorMsg = utils.formatErrors([{ kind: e.kind, message: e.message, at: e.at }]);
63
+ throw new teleport_types_1.ProjectValidationError(input.name + "\n\n " + errorMsg);
64
+ }
65
+ };
66
+ Validator.prototype.validateComponentContent = function (input) {
67
+ var errorsInDefinitions = utils.checkDynamicDefinitions(input);
68
+ var errorsWithLocalVariables = utils.checkForLocalVariables(input);
69
+ utils.checkForDuplicateDefinitions(input);
70
+ var errors = __spreadArray(__spreadArray([], errorsInDefinitions), errorsWithLocalVariables);
71
+ if (errors.length > 0) {
72
+ throw new teleport_types_1.ComponentValidationError("UIDL Component Content Validation Error. Please check the following: \n" + errors);
73
+ }
74
+ return { valid: true, errorMsg: '' };
75
+ };
76
+ Validator.prototype.validateProjectContent = function (input) {
77
+ var errorsOnRouteNode = utils.checkRouteDefinition(input) || [];
78
+ var allErrors = errorsOnRouteNode;
79
+ if (errorsOnRouteNode.length === 0) {
80
+ var errorsInStyleSet = utils.checkProjectStyleSet(input);
81
+ var errorsInRootComponent = utils.checkRootComponent(input);
82
+ var errorsWithComponentNaming = utils.checkComponentNaming(input);
83
+ var errorsWtihComponentExistence = utils.checkComponentExistenceAndReferences(input);
84
+ allErrors = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], errorsOnRouteNode), errorsWtihComponentExistence), errorsWithComponentNaming), errorsInRootComponent), errorsInStyleSet);
85
+ }
86
+ if (allErrors.length > 0) {
87
+ throw new teleport_types_1.ProjectValidationError("UIDL Project Content Validation Error. Please check the following: " + allErrors);
88
+ }
89
+ return { valid: true, errorMsg: '' };
90
+ };
91
+ return Validator;
92
+ }());
93
+ exports.default = Validator;
94
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validator/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ProjectUIDL, ComponentUIDL, UIDLStaticValue, UIDLStyleSetTokenReference } from '@teleporthq/teleport-types';
2
+ export declare const checkForDuplicateDefinitions: (input: ComponentUIDL) => void;
3
+ export declare const checkForLocalVariables: (input: ComponentUIDL) => string[];
4
+ export declare const checkDynamicDefinitions: (input: Record<string, unknown>) => string[];
5
+ export declare const checkRouteDefinition: (input: ProjectUIDL) => string[];
6
+ export declare const checkComponentExistenceAndReferences: (input: ProjectUIDL) => string[];
7
+ export declare const checkComponentNaming: (input: ProjectUIDL) => string[];
8
+ export declare const checkProjectStyleSet: (input: ProjectUIDL) => string[];
9
+ export declare const checStylekContentForErrors: (content: Record<string, UIDLStaticValue | UIDLStyleSetTokenReference>) => string[];
10
+ export declare const checkRootComponent: (input: ProjectUIDL) => string[];
11
+ export declare const formatErrors: (errors: Array<{
12
+ kind: string;
13
+ at: string;
14
+ message: string;
15
+ }>) => string;
16
+ export declare const validateNulls: (uidl: Record<string, unknown>) => any;