@teleporthq/teleport-plugin-common 0.41.0 → 0.42.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 (117) hide show
  1. package/__tests__/builders/html-builders.ts +9 -2
  2. package/__tests__/node-handlers/node-to-html/index.ts +2 -0
  3. package/__tests__/node-handlers/node-to-jsx/index.ts +1 -1
  4. package/__tests__/node-handlers/node-to-jsx/utils.ts +16 -3
  5. package/dist/cjs/builders/ast-builders.d.ts +1 -0
  6. package/dist/cjs/builders/ast-builders.d.ts.map +1 -1
  7. package/dist/cjs/builders/ast-builders.js +19 -3
  8. package/dist/cjs/builders/ast-builders.js.map +1 -1
  9. package/dist/cjs/builders/hast-builders.d.ts +1 -0
  10. package/dist/cjs/builders/hast-builders.d.ts.map +1 -1
  11. package/dist/cjs/builders/hast-builders.js +11 -1
  12. package/dist/cjs/builders/hast-builders.js.map +1 -1
  13. package/dist/cjs/builders/style-builders.d.ts +2 -2
  14. package/dist/cjs/builders/style-builders.d.ts.map +1 -1
  15. package/dist/cjs/builders/style-builders.js +39 -19
  16. package/dist/cjs/builders/style-builders.js.map +1 -1
  17. package/dist/cjs/index.d.ts +2 -1
  18. package/dist/cjs/index.d.ts.map +1 -1
  19. package/dist/cjs/index.js +3 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/node-handlers/node-to-html/constants.d.ts.map +1 -1
  22. package/dist/cjs/node-handlers/node-to-html/constants.js +2 -0
  23. package/dist/cjs/node-handlers/node-to-html/constants.js.map +1 -1
  24. package/dist/cjs/node-handlers/node-to-html/index.d.ts.map +1 -1
  25. package/dist/cjs/node-handlers/node-to-html/index.js +53 -1
  26. package/dist/cjs/node-handlers/node-to-html/index.js.map +1 -1
  27. package/dist/cjs/node-handlers/node-to-html/types.d.ts +5 -1
  28. package/dist/cjs/node-handlers/node-to-html/types.d.ts.map +1 -1
  29. package/dist/cjs/node-handlers/node-to-html/utils.d.ts.map +1 -1
  30. package/dist/cjs/node-handlers/node-to-html/utils.js +48 -4
  31. package/dist/cjs/node-handlers/node-to-html/utils.js.map +1 -1
  32. package/dist/cjs/node-handlers/node-to-jsx/index.d.ts.map +1 -1
  33. package/dist/cjs/node-handlers/node-to-jsx/index.js +325 -44
  34. package/dist/cjs/node-handlers/node-to-jsx/index.js.map +1 -1
  35. package/dist/cjs/node-handlers/node-to-jsx/types.d.ts +5 -5
  36. package/dist/cjs/node-handlers/node-to-jsx/types.d.ts.map +1 -1
  37. package/dist/cjs/node-handlers/node-to-jsx/utils.d.ts +5 -5
  38. package/dist/cjs/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  39. package/dist/cjs/node-handlers/node-to-jsx/utils.js +79 -36
  40. package/dist/cjs/node-handlers/node-to-jsx/utils.js.map +1 -1
  41. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  42. package/dist/cjs/utils/ast-utils.d.ts +16 -6
  43. package/dist/cjs/utils/ast-utils.d.ts.map +1 -1
  44. package/dist/cjs/utils/ast-utils.js +182 -40
  45. package/dist/cjs/utils/ast-utils.js.map +1 -1
  46. package/dist/cjs/utils/hast-utils.d.ts +8 -6
  47. package/dist/cjs/utils/hast-utils.d.ts.map +1 -1
  48. package/dist/cjs/utils/hast-utils.js +28 -4
  49. package/dist/cjs/utils/hast-utils.js.map +1 -1
  50. package/dist/cjs/utils/types.d.ts +3 -0
  51. package/dist/cjs/utils/types.d.ts.map +1 -0
  52. package/dist/cjs/utils/types.js +3 -0
  53. package/dist/cjs/utils/types.js.map +1 -0
  54. package/dist/esm/builders/ast-builders.d.ts +1 -0
  55. package/dist/esm/builders/ast-builders.d.ts.map +1 -1
  56. package/dist/esm/builders/ast-builders.js +18 -3
  57. package/dist/esm/builders/ast-builders.js.map +1 -1
  58. package/dist/esm/builders/hast-builders.d.ts +1 -0
  59. package/dist/esm/builders/hast-builders.d.ts.map +1 -1
  60. package/dist/esm/builders/hast-builders.js +9 -0
  61. package/dist/esm/builders/hast-builders.js.map +1 -1
  62. package/dist/esm/builders/style-builders.d.ts +2 -2
  63. package/dist/esm/builders/style-builders.d.ts.map +1 -1
  64. package/dist/esm/builders/style-builders.js +37 -18
  65. package/dist/esm/builders/style-builders.js.map +1 -1
  66. package/dist/esm/index.d.ts +2 -1
  67. package/dist/esm/index.d.ts.map +1 -1
  68. package/dist/esm/index.js +2 -1
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/node-handlers/node-to-html/constants.d.ts.map +1 -1
  71. package/dist/esm/node-handlers/node-to-html/constants.js +2 -0
  72. package/dist/esm/node-handlers/node-to-html/constants.js.map +1 -1
  73. package/dist/esm/node-handlers/node-to-html/index.d.ts.map +1 -1
  74. package/dist/esm/node-handlers/node-to-html/index.js +54 -2
  75. package/dist/esm/node-handlers/node-to-html/index.js.map +1 -1
  76. package/dist/esm/node-handlers/node-to-html/types.d.ts +5 -1
  77. package/dist/esm/node-handlers/node-to-html/types.d.ts.map +1 -1
  78. package/dist/esm/node-handlers/node-to-html/utils.d.ts.map +1 -1
  79. package/dist/esm/node-handlers/node-to-html/utils.js +45 -4
  80. package/dist/esm/node-handlers/node-to-html/utils.js.map +1 -1
  81. package/dist/esm/node-handlers/node-to-jsx/index.d.ts.map +1 -1
  82. package/dist/esm/node-handlers/node-to-jsx/index.js +326 -45
  83. package/dist/esm/node-handlers/node-to-jsx/index.js.map +1 -1
  84. package/dist/esm/node-handlers/node-to-jsx/types.d.ts +5 -5
  85. package/dist/esm/node-handlers/node-to-jsx/types.d.ts.map +1 -1
  86. package/dist/esm/node-handlers/node-to-jsx/utils.d.ts +5 -5
  87. package/dist/esm/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  88. package/dist/esm/node-handlers/node-to-jsx/utils.js +79 -36
  89. package/dist/esm/node-handlers/node-to-jsx/utils.js.map +1 -1
  90. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  91. package/dist/esm/utils/ast-utils.d.ts +16 -6
  92. package/dist/esm/utils/ast-utils.d.ts.map +1 -1
  93. package/dist/esm/utils/ast-utils.js +176 -39
  94. package/dist/esm/utils/ast-utils.js.map +1 -1
  95. package/dist/esm/utils/hast-utils.d.ts +8 -6
  96. package/dist/esm/utils/hast-utils.d.ts.map +1 -1
  97. package/dist/esm/utils/hast-utils.js +26 -3
  98. package/dist/esm/utils/hast-utils.js.map +1 -1
  99. package/dist/esm/utils/types.d.ts +3 -0
  100. package/dist/esm/utils/types.d.ts.map +1 -0
  101. package/dist/esm/utils/types.js +2 -0
  102. package/dist/esm/utils/types.js.map +1 -0
  103. package/package.json +4 -4
  104. package/src/builders/ast-builders.ts +36 -2
  105. package/src/builders/hast-builders.ts +11 -0
  106. package/src/builders/style-builders.ts +51 -27
  107. package/src/index.ts +12 -1
  108. package/src/node-handlers/node-to-html/constants.ts +2 -0
  109. package/src/node-handlers/node-to-html/index.ts +95 -5
  110. package/src/node-handlers/node-to-html/types.ts +6 -0
  111. package/src/node-handlers/node-to-html/utils.ts +60 -5
  112. package/src/node-handlers/node-to-jsx/index.ts +566 -62
  113. package/src/node-handlers/node-to-jsx/types.ts +10 -29
  114. package/src/node-handlers/node-to-jsx/utils.ts +106 -42
  115. package/src/utils/ast-utils.ts +283 -82
  116. package/src/utils/hast-utils.ts +37 -9
  117. package/src/utils/types.ts +25 -0
@@ -1,10 +1,11 @@
1
1
  import * as types from '@babel/types';
2
2
  import ParsedASTNode from './parsed-ast';
3
- import { UIDLStateDefinition, UIDLPropDefinition, UIDLRawValue, UIDLStaticValue, UIDLResourceItem, UIDLPropValue, UIDLExpressionValue, UIDLStateValue } from '@teleporthq/teleport-types';
3
+ import { UIDLStateDefinition, UIDLPropDefinition, UIDLRawValue, UIDLStaticValue, UIDLResourceItem, UIDLPropValue, UIDLExpressionValue, UIDLStateValue, HastNode } from '@teleporthq/teleport-types';
4
+ import { UnaryOperation, BinaryOperator } from './types';
4
5
  /**
5
6
  * Adds a class definition string to an existing string of classes
6
7
  */
7
- export declare const addClassStringOnJSXTag: (jsxNode: types.JSXElement, classString: string, classAttributeName?: string, dynamicValues?: Array<types.MemberExpression | types.Identifier>) => void;
8
+ export declare const addClassStringOnJSXTag: (jsxNode: types.JSXElement, classString: string, classAttributeName?: string, dynamicValues?: Array<types.MemberExpression | types.Identifier | types.ConditionalExpression>) => void;
8
9
  /**
9
10
  * Makes `${name}={${prefix}.${value}}` happen in AST
10
11
  */
@@ -16,7 +17,7 @@ export declare const addDynamicAttributeToJSXTag: (jsxASTNode: types.JSXElement,
16
17
  * and in the future with other sources.
17
18
  */
18
19
  export declare const addDynamicExpressionAttributeToJSXTag: (jsxASTNode: types.JSXElement, dynamicRef: UIDLExpressionValue, attrKey: string, t?: typeof types) => void;
19
- export declare const addMultipleDynamicAttributesToJSXTag: (jsxASTNode: types.JSXElement, name: string, attrValues?: Array<types.MemberExpression | types.Identifier>, t?: typeof types) => void;
20
+ export declare const addMultipleDynamicAttributesToJSXTag: (jsxASTNode: types.JSXElement, name: string, attrValues?: Array<types.MemberExpression | types.Identifier | types.StringLiteral>, t?: typeof types) => void;
20
21
  export declare const stringAsTemplateLiteral: (str: string) => types.TemplateLiteral;
21
22
  export declare const addAttributeToJSXTag: (jsxNode: types.JSXElement, attrName: string, attrValue?: boolean | unknown, t?: typeof types) => void;
22
23
  export declare const addRawAttributeToJSXTag: (jsxNode: types.JSXElement, attrName: string, attrValue: UIDLRawValue, t?: typeof types) => void;
@@ -30,7 +31,7 @@ export declare const objectToObjectExpression: (objectMap: {
30
31
  type ExpressionLiteral = types.StringLiteral | types.BooleanLiteral | types.NumericLiteral | types.Identifier | types.ArrayExpression | types.ObjectExpression | types.NullLiteral;
31
32
  export declare const convertValueToLiteral: (value: any, explicitType?: string, t?: typeof types) => ExpressionLiteral;
32
33
  export declare const addPropertyToASTObject: (obj: types.ObjectExpression, key: string, value: any, t?: typeof types) => void;
33
- export declare const getTSAnnotationForType: (type: any, t?: typeof types) => types.TSBooleanKeyword | types.TSNumberKeyword | types.TSStringKeyword | types.TSUnknownKeyword;
34
+ export declare const getTSAnnotationForType: (type: any, t?: typeof types) => types.TSAnyKeyword | types.TSBooleanKeyword | types.TSNumberKeyword | types.TSStringKeyword;
34
35
  export declare const findAttributeByName: (jsxTag: types.JSXElement, attrName: string) => types.JSXAttribute;
35
36
  export declare const removeAttributeByName: (jsxTag: types.JSXElement, attrName: string) => void;
36
37
  export declare const createClassComponent: (name: string, propDefinitions: Record<string, UIDLPropDefinition>, stateDefinitions: Record<string, UIDLStateDefinition>, jsxTagTree: types.JSXElement, t?: typeof types) => types.ClassDeclaration;
@@ -42,11 +43,20 @@ export declare const createReturnExpressionSyntax: (stateDefinitions: Record<str
42
43
  export declare const createStateHookAST: (stateKey: string, stateDefinition: UIDLStateDefinition, t?: typeof types) => types.VariableDeclaration;
43
44
  export declare const generateDynamicWindowImport: (hookName: string, dependency: string) => types.ExpressionStatement;
44
45
  export declare const wrapObjectPropertiesWithExpression: (properties: types.ObjectProperty[]) => types.ObjectExpression;
45
- export declare const generateRemoteResourceASTs: (resource: UIDLResourceItem) => types.VariableDeclaration[];
46
+ export declare const generateRemoteResourceASTs: (resource: UIDLResourceItem) => (types.IfStatement | types.VariableDeclaration)[];
46
47
  export declare const generateMemberExpressionASTFromBase: (base: types.OptionalMemberExpression | types.MemberExpression | types.Identifier, path: string[]) => types.OptionalMemberExpression;
48
+ export declare const parseValuePath: (valuePath: Array<string | number>) => Array<string | number>;
47
49
  export declare const generateMemberExpressionASTFromPath: (path: Array<string | number>) => types.OptionalMemberExpression | types.Identifier;
48
50
  export declare const generateURLParamsAST: (urlParams: Record<string, UIDLStaticValue | UIDLStateValue | UIDLPropValue | UIDLExpressionValue>) => types.TemplateLiteral | null;
49
- export declare const resolveObjectValue: (prop: UIDLStaticValue | UIDLExpressionValue) => types.Identifier | types.StringLiteral | types.NumericLiteral | types.BooleanLiteral | types.ObjectExpression | types.Expression;
51
+ export declare const computeFetchUrl: (resource: UIDLResourceItem) => types.TemplateLiteral;
52
+ export declare const resolveObjectValue: (prop: UIDLStaticValue | UIDLExpressionValue) => types.Identifier | types.StringLiteral | types.NumericLiteral | types.BooleanLiteral | types.ObjectExpression | types.ArrayExpression | types.Expression;
50
53
  export declare const getExpressionFromUIDLExpressionNode: (node: UIDLExpressionValue) => types.Expression;
54
+ export declare const isJSXElement: (value: types.JSXElement | HastNode) => value is types.JSXElement;
55
+ /**
56
+ * Because of the restrictions of the AST Types we need to have a clear subset of binary operators we can use
57
+ * @param operation - the operation defined in the UIDL for the current state branch
58
+ */
59
+ export declare const convertToBinaryOperator: (operation: string) => BinaryOperator;
60
+ export declare const convertToUnaryOperator: (operation: string) => UnaryOperation;
51
61
  export {};
52
62
  //# sourceMappingURL=ast-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/ast-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/ast-utils.ts"],"names":[],"mappings":"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"}
@@ -12,17 +12,22 @@ import { parse } from '@babel/core';
12
12
  import ParsedASTNode from './parsed-ast';
13
13
  import { StringUtils } from '@teleporthq/teleport-shared';
14
14
  import babelPresetReact from '@babel/preset-react';
15
- import { ASTUtils } from '..';
16
15
  /**
17
16
  * Adds a class definition string to an existing string of classes
18
17
  */
19
18
  export var addClassStringOnJSXTag = function (jsxNode, classString, classAttributeName, dynamicValues) {
20
19
  if (dynamicValues === void 0) { dynamicValues = []; }
20
+ if (classString === '' && dynamicValues.length === 0) {
21
+ return;
22
+ }
21
23
  var classAttribute = getClassAttribute(jsxNode, { createIfNotFound: true, classAttributeName: classAttributeName });
22
24
  if (dynamicValues.length === 0) {
23
25
  if (classAttribute.value && classAttribute.value.type === 'StringLiteral') {
24
26
  var classArray = classAttribute.value.value.split(' ');
25
- classArray.push(classString);
27
+ if (classString) {
28
+ classArray.push(classString);
29
+ }
30
+ classArray.filter(function (item) { return item; });
26
31
  classAttribute.value.value = classArray.join(' ').trim();
27
32
  }
28
33
  else {
@@ -142,16 +147,41 @@ export var stringAsTemplateLiteral = function (str) {
142
147
  .children[0];
143
148
  return container.expression;
144
149
  };
150
+ /**
151
+ * Converts HTML attribute names to React/JSX camelCase format
152
+ * Preserves data-* and aria-* attributes as-is
153
+ */
154
+ var convertToReactAttributeName = function (attrName) {
155
+ // Keep data-* and aria-* attributes as-is (React supports these)
156
+ if (attrName.startsWith('data-') || attrName.startsWith('aria-')) {
157
+ return attrName;
158
+ }
159
+ // Convert hyphenated attributes to camelCase for React
160
+ return attrName.replace(/-([a-z])/g, function (_, letter) { return letter.toUpperCase(); });
161
+ };
145
162
  export var addAttributeToJSXTag = function (jsxNode, attrName, attrValue, t) {
146
163
  if (t === void 0) { t = types; }
147
- var nameOfAttribute = t.jsxIdentifier(attrName);
164
+ var reactAttrName = convertToReactAttributeName(attrName);
165
+ var nameOfAttribute = t.jsxIdentifier(reactAttrName);
148
166
  var attributeDefinition;
149
167
  if (typeof attrValue === 'boolean') {
150
168
  attributeDefinition = t.jsxAttribute(nameOfAttribute, attrValue === true ? undefined : t.jsxExpressionContainer(t.booleanLiteral(attrValue)));
151
169
  }
170
+ else if (t.isNode(attrValue) && t.isJSXElement(attrValue)) {
171
+ attributeDefinition = t.jsxAttribute(nameOfAttribute, t.jsxExpressionContainer(attrValue));
172
+ }
152
173
  else {
153
174
  attributeDefinition = t.jsxAttribute(nameOfAttribute, getProperAttributeValueAssignment(attrValue));
154
175
  }
176
+ var attribute = jsxNode.openingElement.attributes.find(function (attr) {
177
+ if (attr.type === 'JSXAttribute') {
178
+ return attr.name.name === reactAttrName;
179
+ }
180
+ });
181
+ if (attribute && attribute.value && attribute.value.type === 'StringLiteral') {
182
+ attribute.value.value = "".concat(attribute.value.value, " ").concat(attrValue);
183
+ return;
184
+ }
155
185
  jsxNode.openingElement.attributes.push(attributeDefinition);
156
186
  };
157
187
  export var addRawAttributeToJSXTag = function (jsxNode, attrName, attrValue, t) {
@@ -198,7 +228,18 @@ export var objectToObjectExpression = function (objectMap, t) {
198
228
  var keyIdentifier = t.stringLiteral(key);
199
229
  var value = objectMap[key];
200
230
  var computedLiteralValue = null;
201
- if (value instanceof ParsedASTNode || value.constructor.name === 'ParsedASTNode') {
231
+ if (value === undefined) {
232
+ return acc;
233
+ }
234
+ // Handle null values explicitly - they are valid in array mappers with different schemas
235
+ if (value === null) {
236
+ computedLiteralValue = t.nullLiteral();
237
+ }
238
+ // This is for function props that have successfully been parsed.
239
+ else if (typeof value === 'object' && 'functionExpressionParseResult' in value) {
240
+ computedLiteralValue = value.functionExpressionParseResult;
241
+ }
242
+ else if (value instanceof ParsedASTNode || value.constructor.name === 'ParsedASTNode') {
202
243
  computedLiteralValue = value.ast;
203
244
  }
204
245
  else if (typeof value === 'boolean') {
@@ -279,7 +320,7 @@ export var getTSAnnotationForType = function (type, t) {
279
320
  case 'boolean':
280
321
  return t.tsBooleanKeyword();
281
322
  default:
282
- return t.tsUnknownKeyword();
323
+ return t.tsAnyKeyword();
283
324
  }
284
325
  };
285
326
  export var findAttributeByName = function (jsxTag, attrName) {
@@ -329,7 +370,7 @@ export var createReturnExpressionSyntax = function (stateDefinitions, jsxTagTree
329
370
  var stateHooks = Object.keys(stateDefinitions).map(function (stateKey) {
330
371
  return createStateHookAST(stateKey, stateDefinitions[stateKey]);
331
372
  });
332
- return t.blockStatement(__spreadArray(__spreadArray(__spreadArray([], stateHooks, true), Object.values(windowImports), true), [returnStatement], false) || []);
373
+ return t.blockStatement(__spreadArray(__spreadArray(__spreadArray([], stateHooks, true), Object.values(windowImports), true), [returnStatement], false));
333
374
  };
334
375
  /**
335
376
  * Creates an AST line for defining a single state hook
@@ -355,9 +396,8 @@ export var wrapObjectPropertiesWithExpression = function (properties) {
355
396
  return types.objectExpression(properties);
356
397
  };
357
398
  export var generateRemoteResourceASTs = function (resource) {
358
- var _a, _b;
399
+ var _a, _b, _c, _d, _e;
359
400
  var fetchUrl = computeFetchUrl(resource);
360
- var authHeaderAST = computeAuthorizationHeaderAST(resource === null || resource === void 0 ? void 0 : resource.headers);
361
401
  var headersASTs = (resource === null || resource === void 0 ? void 0 : resource.headers) ? generateRESTHeadersAST(resource.headers) : [];
362
402
  var queryParams = generateURLParamsAST(resource === null || resource === void 0 ? void 0 : resource.params);
363
403
  var fetchUrlQuasis = fetchUrl.quasis;
@@ -369,43 +409,61 @@ export var generateRemoteResourceASTs = function (resource) {
369
409
  fetchUrlQuasis[fetchUrlQuasis.length - 1].value.cooked + '?';
370
410
  queryParamsQuasis.pop();
371
411
  }
372
- var paramsDeclerations = Object.keys((resource === null || resource === void 0 ? void 0 : resource.params) || {}).reduce(function (acc, item) {
373
- var prop = resource.params[item];
374
- if (prop.type === 'static') {
375
- acc.push(types.objectProperty(types.stringLiteral(item), ASTUtils.resolveObjectValue(prop)));
376
- }
377
- if (prop.type === 'expr') {
378
- acc.push(types.objectProperty(types.stringLiteral(item), ASTUtils.getExpressionFromUIDLExpressionNode(prop)));
379
- }
380
- if (prop.type === 'dynamic') {
381
- acc.push(types.spreadElement(types.logicalExpression('&&', types.memberExpression(types.identifier('params'), types.stringLiteral(prop.content.id), true, false), types.objectExpression([
382
- types.objectProperty(types.stringLiteral(item), types.memberExpression(types.identifier('params'), types.stringLiteral(prop.content.id), true, false)),
383
- ]))));
384
- }
385
- return acc;
386
- }, []);
387
- var paramsAST = types.variableDeclaration('const', [
388
- types.variableDeclarator(types.identifier('urlParams'), types.objectExpression(paramsDeclerations)),
389
- ]);
412
+ var urlParamsDecleration = generateParamsAST(resource === null || resource === void 0 ? void 0 : resource.params);
413
+ var bodyParamsDecleration = generateParamsAST(resource === null || resource === void 0 ? void 0 : resource.body);
390
414
  var url = (queryParams === null || queryParams === void 0 ? void 0 : queryParams.quasis)
391
415
  ? types.templateLiteral(__spreadArray(__spreadArray([], fetchUrlQuasis, true), queryParamsQuasis, true), __spreadArray([], fetchUrl.expressions.concat(queryParams.expressions), true))
392
416
  : fetchUrl;
393
417
  var method = types.objectProperty(types.identifier('method'), types.stringLiteral(resource.method));
394
418
  var allHeaders = [];
395
- if (authHeaderAST) {
396
- allHeaders.push(authHeaderAST);
419
+ if ((_a = resource === null || resource === void 0 ? void 0 : resource.headers) === null || _a === void 0 ? void 0 : _a.authToken) {
420
+ allHeaders.push(computeAuthorizationHeaderAST(resource === null || resource === void 0 ? void 0 : resource.headers));
397
421
  }
398
422
  if (headersASTs.length) {
399
423
  allHeaders = allHeaders.concat(headersASTs);
400
424
  }
401
- var headers = types.objectProperty(types.identifier('headers'), types.objectExpression(allHeaders));
402
- var fetchAST = types.variableDeclaration('const', [
425
+ var fetchAST = types.variableDeclaration('let', [
403
426
  types.variableDeclarator(types.identifier('data'), types.awaitExpression(types.callExpression(types.identifier('fetch'), [
404
427
  url,
405
- types.objectExpression([method, headers]),
428
+ types.objectExpression(__spreadArray(__spreadArray([
429
+ method
430
+ ], (allHeaders.length > 0
431
+ ? [
432
+ types.objectProperty(types.identifier('headers'), types.objectExpression(allHeaders)),
433
+ ]
434
+ : []), true), (bodyParamsDecleration.length > 0 && (resource === null || resource === void 0 ? void 0 : resource.method) === 'POST'
435
+ ? [
436
+ types.objectProperty(types.identifier('body'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [types.identifier('bodyParams')])),
437
+ ]
438
+ : []), true)),
406
439
  ]))),
407
440
  ]);
408
- var responseType = (_b = (_a = resource === null || resource === void 0 ? void 0 : resource.response) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : 'json';
441
+ // Fallback in case i18n interferes with normal CMS flows
442
+ // Only generate fallback if locale parameter exists
443
+ var hasLocaleParam = ((_b = resource === null || resource === void 0 ? void 0 : resource.params) === null || _b === void 0 ? void 0 : _b.locale) !== undefined;
444
+ var fallbackAST = null;
445
+ if (hasLocaleParam) {
446
+ var fallbackParams = JSON.parse(JSON.stringify(resource));
447
+ (_c = fallbackParams === null || fallbackParams === void 0 ? void 0 : fallbackParams.params) === null || _c === void 0 ? true : delete _c.locale;
448
+ var fallbackUrlParamsDeclaration = generateParamsAST(fallbackParams === null || fallbackParams === void 0 ? void 0 : fallbackParams.params);
449
+ var assignmentOfNewUrlParams = types.expressionStatement(types.assignmentExpression('=', types.identifier('urlParams'), types.objectExpression(__spreadArray([], fallbackUrlParamsDeclaration, true))));
450
+ var assignmentExpressionAST = types.expressionStatement(types.assignmentExpression('=', types.identifier('data'), types.awaitExpression(types.callExpression(types.identifier('fetch'), [
451
+ url,
452
+ types.objectExpression(__spreadArray(__spreadArray([
453
+ method
454
+ ], (allHeaders.length > 0
455
+ ? [
456
+ types.objectProperty(types.identifier('headers'), types.objectExpression(allHeaders)),
457
+ ]
458
+ : []), true), (bodyParamsDecleration.length > 0 && (resource === null || resource === void 0 ? void 0 : resource.method) === 'POST'
459
+ ? [
460
+ types.objectProperty(types.identifier('body'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [types.identifier('bodyParams')])),
461
+ ]
462
+ : []), true)),
463
+ ]))));
464
+ fallbackAST = types.ifStatement(types.binaryExpression('!==', types.memberExpression(types.identifier('data'), types.identifier('status')), types.numericLiteral(200)), types.blockStatement([assignmentOfNewUrlParams, assignmentExpressionAST]));
465
+ }
466
+ var responseType = (_e = (_d = resource === null || resource === void 0 ? void 0 : resource.response) === null || _d === void 0 ? void 0 : _d.type) !== null && _e !== void 0 ? _e : 'json';
409
467
  var responseJSONAST;
410
468
  /**
411
469
  * Responce types can be of json, text and we might be reading just headers
@@ -445,7 +503,40 @@ export var generateRemoteResourceASTs = function (resource) {
445
503
  ]);
446
504
  }
447
505
  }
448
- return [paramsAST, fetchAST, responseJSONAST];
506
+ return __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], (urlParamsDecleration.length > 0
507
+ ? [
508
+ types.variableDeclaration('let', [
509
+ types.variableDeclarator(types.identifier('urlParams'), types.objectExpression(urlParamsDecleration)),
510
+ ]),
511
+ ]
512
+ : []), true), (bodyParamsDecleration.length > 0
513
+ ? [
514
+ types.variableDeclaration('const', [
515
+ types.variableDeclarator(types.identifier('bodyParams'), types.objectExpression(bodyParamsDecleration)),
516
+ ]),
517
+ ]
518
+ : []), true), [
519
+ fetchAST
520
+ ], false), (fallbackAST ? [fallbackAST] : []), true), [
521
+ responseJSONAST,
522
+ ], false).filter(Boolean);
523
+ };
524
+ var generateParamsAST = function (props) {
525
+ return Object.keys(props || {}).reduce(function (acc, item) {
526
+ var prop = props[item];
527
+ if (prop.type === 'static') {
528
+ acc.push(types.objectProperty(types.stringLiteral(item), resolveObjectValue(prop)));
529
+ }
530
+ if (prop.type === 'expr') {
531
+ acc.push(types.objectProperty(types.stringLiteral(item), getExpressionFromUIDLExpressionNode(prop)));
532
+ }
533
+ if (prop.type === 'dynamic') {
534
+ acc.push(types.spreadElement(types.logicalExpression('&&', types.memberExpression(types.identifier('params'), types.stringLiteral(prop.content.id), true, false), types.objectExpression([
535
+ types.objectProperty(types.stringLiteral(item), types.memberExpression(types.identifier('params'), types.stringLiteral(prop.content.id), true, false)),
536
+ ]))));
537
+ }
538
+ return acc;
539
+ }, []);
449
540
  };
450
541
  var generateRESTHeadersAST = function (headers) {
451
542
  return Object.keys(headers)
@@ -466,6 +557,21 @@ export var generateMemberExpressionASTFromBase = function (base, path) {
466
557
  pathClone.pop();
467
558
  return types.optionalMemberExpression(generateMemberExpressionASTFromBase(base, pathClone), types.identifier(path[path.length - 1]), false, true);
468
559
  };
560
+ export var parseValuePath = function (valuePath) {
561
+ return valuePath.map(function (segment) {
562
+ if (typeof segment === 'string') {
563
+ var bracketMatch = segment.match(/^\[(\d+)\]$/);
564
+ if (bracketMatch) {
565
+ return parseInt(bracketMatch[1], 10);
566
+ }
567
+ var numericMatch = segment.match(/^\d+$/);
568
+ if (numericMatch) {
569
+ return parseInt(segment, 10);
570
+ }
571
+ }
572
+ return segment;
573
+ });
574
+ };
469
575
  export var generateMemberExpressionASTFromPath = function (path) {
470
576
  var pathClone = __spreadArray([], path, true);
471
577
  if (path.length === 1) {
@@ -474,7 +580,7 @@ export var generateMemberExpressionASTFromPath = function (path) {
474
580
  pathClone.pop();
475
581
  var currentPath = path[path.length - 1];
476
582
  if (typeof currentPath === 'number') {
477
- return types.optionalMemberExpression(generateMemberExpressionASTFromPath(pathClone), types.numericLiteral(currentPath), false, true);
583
+ return types.optionalMemberExpression(generateMemberExpressionASTFromPath(pathClone), types.numericLiteral(currentPath), true, true);
478
584
  }
479
585
  var containsSpecial = currentPath.indexOf('.') !== -1 || currentPath.indexOf('-') !== -1;
480
586
  return types.optionalMemberExpression(generateMemberExpressionASTFromPath(pathClone), containsSpecial ? types.stringLiteral(currentPath) : types.identifier(currentPath), containsSpecial, true);
@@ -542,7 +648,7 @@ var computeAuthorizationHeaderAST = function (headers) {
542
648
  }, true),
543
649
  ]), true), __spreadArray([], (authTokenType === 'static' ? [] : [types.identifier(String(authToken))]), true)), false, false);
544
650
  };
545
- var computeFetchUrl = function (resource) {
651
+ export var computeFetchUrl = function (resource) {
546
652
  var _a, _b;
547
653
  var path = resource.path;
548
654
  var fetchBaseUrl = resolveResourceValue(path.baseUrl);
@@ -550,7 +656,11 @@ var computeFetchUrl = function (resource) {
550
656
  var baseUrlType = (_a = path.baseUrl) === null || _a === void 0 ? void 0 : _a.type;
551
657
  var routeType = (_b = path.route) === null || _b === void 0 ? void 0 : _b.type;
552
658
  if (baseUrlType === 'static' && routeType === 'static') {
553
- var stringsToJoin = [fetchBaseUrl, resourceRoute].filter(function (item) { return item; }).join('/');
659
+ var baseUrlStr = typeof fetchBaseUrl === 'string' ? fetchBaseUrl : String(fetchBaseUrl || '');
660
+ var routeStr = typeof resourceRoute === 'string' ? resourceRoute : String(resourceRoute || '');
661
+ var cleanBaseUrl = baseUrlStr.endsWith('/') ? baseUrlStr.slice(0, -1) : baseUrlStr;
662
+ var cleanRoute = routeStr.startsWith('/') ? routeStr.slice(1) : routeStr;
663
+ var stringsToJoin = [cleanBaseUrl, cleanRoute].filter(function (item) { return item; }).join('/');
554
664
  return types.templateLiteral([types.templateElement({ cooked: "".concat(stringsToJoin), raw: "".concat(stringsToJoin) }, true)], []);
555
665
  }
556
666
  if (!routeType) {
@@ -604,9 +714,11 @@ export var resolveObjectValue = function (prop) {
604
714
  ? types.booleanLiteral(prop.content)
605
715
  : typeof prop.content === 'number'
606
716
  ? types.numericLiteral(prop.content)
607
- : typeof prop.content === 'object'
608
- ? objectToObjectExpression(prop.content)
609
- : types.identifier(String(prop.content));
717
+ : Array.isArray(prop.content)
718
+ ? types.arrayExpression(prop.content.map(function (element) { return convertValueToLiteral(element); }))
719
+ : typeof prop.content === 'object'
720
+ ? objectToObjectExpression(prop.content)
721
+ : types.identifier(String(prop.content));
610
722
  return value;
611
723
  }
612
724
  if (prop.type === 'expr') {
@@ -626,4 +738,29 @@ export var getExpressionFromUIDLExpressionNode = function (node) {
626
738
  }
627
739
  return theStatementOnlyWihtoutTheProgram.expression;
628
740
  };
741
+ export var isJSXElement = function (value) {
742
+ return value.type === 'JSXElement';
743
+ };
744
+ /**
745
+ * Because of the restrictions of the AST Types we need to have a clear subset of binary operators we can use
746
+ * @param operation - the operation defined in the UIDL for the current state branch
747
+ */
748
+ export var convertToBinaryOperator = function (operation) {
749
+ var allowedOperations = ['===', '!==', '>=', '<=', '>', '<'];
750
+ if (allowedOperations.includes(operation)) {
751
+ return operation;
752
+ }
753
+ else {
754
+ return '===';
755
+ }
756
+ };
757
+ export var convertToUnaryOperator = function (operation) {
758
+ var allowedOperations = ['!'];
759
+ if (allowedOperations.includes(operation)) {
760
+ return operation;
761
+ }
762
+ else {
763
+ return '!';
764
+ }
765
+ };
629
766
  //# sourceMappingURL=ast-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../../src/utils/ast-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../../src/utils/ast-utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- import { HastNode } from '@teleporthq/teleport-types';
2
- export declare const addBooleanAttributeToNode: (node: HastNode, key: string, value?: boolean) => void;
3
- export declare const addAttributeToNode: (node: HastNode, key: string, value: string) => void;
4
- export declare const addClassToNode: (node: HastNode, className: string) => void;
5
- export declare const addChildNode: (node: HastNode, child: HastNode) => void;
6
- export declare const addTextNode: (node: HastNode, text: string) => void;
1
+ import { HastNode, HastText } from '@teleporthq/teleport-types';
2
+ import type { JSXElement } from '@babel/types';
3
+ export declare const addBooleanAttributeToNode: (node: HastNode | HastNode[], key: string, value?: boolean) => void;
4
+ export declare const addAttributeToNode: (node: HastNode | HastNode[], key: string, value: string) => void;
5
+ export declare const addClassToNode: (node: HastNode | HastNode[], className: string) => void;
6
+ export declare const addChildNode: (node: HastNode | HastNode[], child: HastNode | HastText) => void;
7
+ export declare const addTextNode: (node: HastNode | HastNode[], text: string) => void;
8
+ export declare const isHastElement: (value: JSXElement | HastNode) => value is HastNode;
7
9
  //# sourceMappingURL=hast-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hast-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/hast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAGrD,eAAO,MAAM,yBAAyB,SAAU,QAAQ,OAAO,MAAM,UAAS,OAAO,SAKpF,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAU,QAAQ,OAAO,MAAM,SAAS,MAAM,SAE5E,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,QAAQ,aAAa,MAAM,SAE/D,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,QAAQ,SAAS,QAAQ,SAE3D,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,QAAQ,QAAQ,MAAM,SAEvD,CAAA"}
1
+ {"version":3,"file":"hast-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/hast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9C,eAAO,MAAM,yBAAyB,SAC9B,QAAQ,GAAG,QAAQ,EAAE,OACtB,MAAM,UACJ,OAAO,SAQf,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAU,QAAQ,GAAG,QAAQ,EAAE,OAAO,MAAM,SAAS,MAAM,SAMzF,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,QAAQ,GAAG,QAAQ,EAAE,aAAa,MAAM,SAM5E,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,QAAQ,GAAG,QAAQ,EAAE,SAAS,QAAQ,GAAG,QAAQ,SAMnF,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,QAAQ,GAAG,QAAQ,EAAE,QAAQ,MAAM,SAMpE,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,UAAU,GAAG,QAAQ,sBAEY,CAAA"}
@@ -1,21 +1,44 @@
1
1
  import { createTextNode } from '../builders/hast-builders';
2
+ import { isJSXElement } from './ast-utils';
2
3
  export var addBooleanAttributeToNode = function (node, key, value) {
3
4
  if (value === void 0) { value = true; }
5
+ if (Array.isArray(node)) {
6
+ node.forEach(function (subnode) { return (subnode.properties[key] = value === true ? '' : false); });
7
+ return;
8
+ }
4
9
  node.properties[key] = value === true ? '' : false;
5
- /* adding empty string as @starptech/prettyhtml-hast-to-html which we are currently
6
- using for generating HTML supports boolean way of adding attributes only for HTML
7
- attributes but not for Vue*/
10
+ // Adding boolean attributes is currently onyl supported for template generators
8
11
  };
9
12
  export var addAttributeToNode = function (node, key, value) {
13
+ if (Array.isArray(node)) {
14
+ node.forEach(function (subnode) { return (subnode.properties[key] = value); });
15
+ return;
16
+ }
10
17
  node.properties[key] = value;
11
18
  };
12
19
  export var addClassToNode = function (node, className) {
20
+ if (Array.isArray(node)) {
21
+ node.forEach(function (subnode) { return (subnode.properties.class = className); });
22
+ return;
23
+ }
13
24
  node.properties.class = className;
14
25
  };
15
26
  export var addChildNode = function (node, child) {
27
+ if (Array.isArray(node)) {
28
+ node.forEach(function (subnode) { return subnode.children.push(child); });
29
+ return;
30
+ }
16
31
  node.children.push(child);
17
32
  };
18
33
  export var addTextNode = function (node, text) {
34
+ if (Array.isArray(node)) {
35
+ node.forEach(function (subnode) { return subnode.children.push(createTextNode(text)); });
36
+ return;
37
+ }
19
38
  node.children.push(createTextNode(text));
20
39
  };
40
+ export var isHastElement = function (value) {
41
+ return isJSXElement(value) === false &&
42
+ ('properties' in value || 'children' in value || 'tagName' in value);
43
+ };
21
44
  //# sourceMappingURL=hast-utils.js.map