jsxpression 0.2.1 → 0.2.2

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.
@@ -192,8 +192,8 @@ function emitExpression(node, localFunctions) {
192
192
  case "MemberExpression": {
193
193
  const obj = emitExpression(node.object, localFunctions);
194
194
  const prop = node.computed
195
- ? `[${emitExpression(node.property, localFunctions)}]`
196
- : `.${getAstKeyString(node.property)}`;
195
+ ? `${node.optional ? "?." : ""}[${emitExpression(node.property, localFunctions)}]`
196
+ : `${node.optional ? "?." : "."}${getAstKeyString(node.property)}`;
197
197
  return `${obj}${prop}`;
198
198
  }
199
199
  case "CallExpression": {
@@ -206,8 +206,10 @@ function emitExpression(node, localFunctions) {
206
206
  return emitExpression(argument, localFunctions);
207
207
  })
208
208
  .join(", ");
209
- return `${callee}(${args})`;
209
+ return `${callee}${node.optional ? "?." : ""}(${args})`;
210
210
  }
211
+ case "ChainExpression":
212
+ return emitExpression(node.expression, localFunctions);
211
213
  case "ArrowFunctionExpression": {
212
214
  const params = node.params.map((param) => emitExpression(param, localFunctions)).join(", ");
213
215
  const body = emitExpression(node.body, localFunctions);
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compile/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/compile/compile.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jsxpression",
3
- "version": "0.2.1",
4
- "gitHead": "b5e3be6d241550a3cdc17fe18ff20923d2fba3ce",
3
+ "version": "0.2.2",
4
+ "gitHead": "0e5030d4f7073ac7cbfc9c4c7d9f8ff1f1a18e24",
5
5
  "description": "Validate and safely render JSX expressions",
6
6
  "license": "MIT",
7
7
  "author": "Divid AB <info@divid.se>",
@@ -280,10 +280,9 @@ describe("compile", () => {
280
280
  });
281
281
  });
282
282
 
283
- // TODO: Add ChainExpression support for optional chaining (?.)
284
- // it("should compile nested object access with conditionals", () => {
285
- // const ast = parse("<div>{props.user?.profile?.name || 'Anonymous'}</div>");
286
- // const result = compile(ast);
287
- // expect(result).toBe('"use strict";return h("div", null, ((props.user?.profile?.name) || "Anonymous"));');
288
- // });
283
+ it("should compile nested object access with conditionals", () => {
284
+ const ast = parse("<div>{props.user?.profile?.name || 'Anonymous'}</div>");
285
+ const result = compile(ast);
286
+ expect(result).toBe('"use strict";return h("div", null, (props.user?.profile?.name || "Anonymous"));');
287
+ });
289
288
  });
@@ -242,8 +242,8 @@ function emitExpression(node: CompilableExpression, localFunctions: Set<string>)
242
242
  case "MemberExpression": {
243
243
  const obj = emitExpression(node.object, localFunctions);
244
244
  const prop: string = node.computed
245
- ? `[${emitExpression(node.property, localFunctions)}]`
246
- : `.${getAstKeyString(node.property as Identifier | Literal)}`;
245
+ ? `${node.optional ? "?." : ""}[${emitExpression(node.property, localFunctions)}]`
246
+ : `${node.optional ? "?." : "."}${getAstKeyString(node.property as Identifier | Literal)}`;
247
247
  return `${obj}${prop}`;
248
248
  }
249
249
  case "CallExpression": {
@@ -256,8 +256,10 @@ function emitExpression(node: CompilableExpression, localFunctions: Set<string>)
256
256
  return emitExpression(argument, localFunctions);
257
257
  })
258
258
  .join(", ");
259
- return `${callee}(${args})`;
259
+ return `${callee}${node.optional ? "?." : ""}(${args})`;
260
260
  }
261
+ case "ChainExpression":
262
+ return emitExpression(node.expression, localFunctions);
261
263
  case "ArrowFunctionExpression": {
262
264
  const params = node.params.map((param) => emitExpression(param as CompilableExpression, localFunctions)).join(", ");
263
265
  const body = emitExpression(node.body as CompilableExpression, localFunctions);
@@ -1,3 +1,4 @@
1
+ /* oxlint-disable unicorn/consistent-function-scoping -- each test's mock component is colocated with the test it belongs to; hoisting them to module scope would force artificial unique names and separate them from their usage */
1
2
  import { describe, it, expect, vi } from "vitest";
2
3
  import { compile } from "../compile/index.js";
3
4
  import { parse } from "../parse/index.js";
@@ -1,3 +1,4 @@
1
+ /* oxlint-disable unicorn/consistent-function-scoping -- each test's mock component is colocated with the test it belongs to; hoisting them to module scope would force artificial unique names and separate them from their usage */
1
2
  import { describe, expect, it } from "vitest";
2
3
  import { AnalysisError } from "./analyze/index.js";
3
4
  import { EvaluationError } from "./evaluate/index.js";