sveld 0.15.1 → 0.15.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.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
  - add isAccessor field to API
11
11
  - update Markdown writer to generate a separate table for accessors -->
12
12
 
13
+ ## [0.15.2](https://github.com/carbon-design-system/sveld/releases/tag/v0.15.2) - 2022-05-13
14
+
15
+ - dispatched event type without detail should default to `null`, not `any`
16
+
13
17
  ## [0.15.1](https://github.com/carbon-design-system/sveld/releases/tag/v0.15.1) - 2022-05-01
14
18
 
15
19
  - function exported from `<script context="module">` should be typed as functions, not types
@@ -138,18 +138,25 @@ var ComponentParser = /** @class */ (function () {
138
138
  });
139
139
  }
140
140
  };
141
- ComponentParser.prototype.addDispatchedEvent = function (name, detail) {
141
+ ComponentParser.prototype.addDispatchedEvent = function (_a) {
142
+ var name = _a.name, detail = _a.detail, has_argument = _a.has_argument;
142
143
  if (name === undefined)
143
144
  return;
145
+ /**
146
+ * `e.detail` should be `null` if the dispatcher
147
+ * is not provided a second argument and if
148
+ * `@event` is not specified.
149
+ */
150
+ var default_detail = !has_argument && !detail ? "null" : ComponentParser.assignValue(detail);
144
151
  if (this.events.has(name)) {
145
152
  var existing_event = this.events.get(name);
146
- this.events.set(name, __assign(__assign({}, existing_event), { detail: existing_event.detail === undefined ? ComponentParser.assignValue(detail) : existing_event.detail }));
153
+ this.events.set(name, __assign(__assign({}, existing_event), { detail: existing_event.detail === undefined ? default_detail : existing_event.detail }));
147
154
  }
148
155
  else {
149
156
  this.events.set(name, {
150
157
  type: "dispatched",
151
158
  name: name,
152
- detail: ComponentParser.assignValue(detail)
159
+ detail: default_detail
153
160
  });
154
161
  }
155
162
  };
@@ -177,7 +184,7 @@ var ComponentParser = /** @class */ (function () {
177
184
  _this.addSlot(name, type);
178
185
  break;
179
186
  case "event":
180
- _this.addDispatchedEvent(name, type);
187
+ _this.addDispatchedEvent({ name: name, detail: type, has_argument: false });
181
188
  break;
182
189
  case "typedef":
183
190
  _this.typedefs.set(name, {
@@ -476,11 +483,16 @@ var ComponentParser = /** @class */ (function () {
476
483
  });
477
484
  if (dispatcher_name !== undefined) {
478
485
  callees.forEach(function (callee) {
479
- var _a, _b;
486
+ var _a;
480
487
  if (callee.name === dispatcher_name) {
481
488
  var event_name = (_a = callee.arguments[0]) === null || _a === void 0 ? void 0 : _a.value;
482
- var event_detail = (_b = callee.arguments[1]) === null || _b === void 0 ? void 0 : _b.value;
483
- _this.addDispatchedEvent(event_name, event_detail);
489
+ var event_argument = callee.arguments[1];
490
+ var event_detail = event_argument === null || event_argument === void 0 ? void 0 : event_argument.value;
491
+ _this.addDispatchedEvent({
492
+ name: event_name,
493
+ detail: event_detail,
494
+ has_argument: Boolean(event_argument)
495
+ });
484
496
  }
485
497
  });
486
498
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sveld",
3
- "version": "0.15.1",
3
+ "version": "0.15.2",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Generate TypeScript definitions for your Svelte components.",
6
6
  "main": "./lib/index.js",