@thymian/core 0.0.1 → 0.0.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.
Files changed (49) hide show
  1. package/dist/actions/format.action.d.ts +4 -0
  2. package/dist/actions/format.action.d.ts.map +1 -0
  3. package/dist/actions/format.action.js +2 -0
  4. package/dist/actions/format.action.js.map +1 -0
  5. package/dist/actions/index.d.ts +3 -0
  6. package/dist/actions/index.d.ts.map +1 -1
  7. package/dist/actions/index.js +1 -0
  8. package/dist/actions/index.js.map +1 -1
  9. package/dist/actions/load-format.action.d.ts +4 -1
  10. package/dist/actions/load-format.action.d.ts.map +1 -1
  11. package/dist/actions/load-format.action.js.map +1 -1
  12. package/dist/emitter/thymian-emitter.d.ts +9 -2
  13. package/dist/emitter/thymian-emitter.d.ts.map +1 -1
  14. package/dist/emitter/thymian-emitter.js +51 -12
  15. package/dist/emitter/thymian-emitter.js.map +1 -1
  16. package/dist/events/report.event.d.ts +3 -0
  17. package/dist/events/report.event.d.ts.map +1 -1
  18. package/dist/events/report.event.js +10 -0
  19. package/dist/events/report.event.js.map +1 -1
  20. package/dist/format/edges/edge.d.ts +1 -0
  21. package/dist/format/edges/edge.d.ts.map +1 -1
  22. package/dist/format/http-filter-expression-to-transaction-filter.d.ts +5 -0
  23. package/dist/format/http-filter-expression-to-transaction-filter.d.ts.map +1 -0
  24. package/dist/format/http-filter-expression-to-transaction-filter.js +88 -0
  25. package/dist/format/http-filter-expression-to-transaction-filter.js.map +1 -0
  26. package/dist/format/nodes/node.d.ts +1 -0
  27. package/dist/format/nodes/node.d.ts.map +1 -1
  28. package/dist/format/thymian-format.d.ts +36 -12
  29. package/dist/format/thymian-format.d.ts.map +1 -1
  30. package/dist/format/thymian-format.js +170 -33
  31. package/dist/format/thymian-format.js.map +1 -1
  32. package/dist/format/thymian-schema.d.ts +1 -0
  33. package/dist/format/thymian-schema.d.ts.map +1 -1
  34. package/dist/format/utils.d.ts +2 -2
  35. package/dist/format/utils.d.ts.map +1 -1
  36. package/dist/format/utils.js +9 -5
  37. package/dist/format/utils.js.map +1 -1
  38. package/dist/thymian-plugin.d.ts.map +1 -1
  39. package/dist/thymian-plugin.js +4 -2
  40. package/dist/thymian-plugin.js.map +1 -1
  41. package/dist/thymian.d.ts +8 -1
  42. package/dist/thymian.d.ts.map +1 -1
  43. package/dist/thymian.js +40 -27
  44. package/dist/thymian.js.map +1 -1
  45. package/dist/utils.d.ts +3 -1
  46. package/dist/utils.d.ts.map +1 -1
  47. package/dist/utils.js +9 -2
  48. package/dist/utils.js.map +1 -1
  49. package/package.json +2 -1
@@ -1,10 +1,12 @@
1
- import { createHash, randomUUID } from 'node:crypto';
1
+ import { createHash } from 'node:crypto';
2
2
  import { MultiDirectedGraph } from 'graphology';
3
3
  import { match } from 'path-to-regexp';
4
+ import stringify from 'safe-stable-stringify';
4
5
  import { httpStatusCodeToPhrase, isValidHttpStatusCode, } from '../http-status-codes/index.js';
5
6
  import { ThymianBaseError } from '../thymian.error.js';
6
7
  import { capitalizeFirstChar, equalsIgnoreCase, getContentType, httpRequestToLabel, httpResponseToLabel, normalizeUrl, thymianRequestToOrigin, } from '../utils.js';
7
8
  import { matchObjects } from '../utils.js';
9
+ import { httpFilterExpressionToTransactionFilter } from './http-filter-expression-to-transaction-filter.js';
8
10
  import { httpRequestToThymianHttpRequest, httpResponseToThymianHttpResponse, } from './utils.js';
9
11
  export function isNodeType(node, type) {
10
12
  return node.type === type;
@@ -26,11 +28,23 @@ export function thymianHttpResponseToLabel(res) {
26
28
  }
27
29
  export class ThymianFormat {
28
30
  graph;
31
+ static ignoredNodeProperties = ['x', 'y'];
29
32
  constructor(graph = new MultiDirectedGraph()) {
30
33
  this.graph = graph;
31
34
  }
32
- addEdge(source, target, edge) {
33
- return this.graph.addEdge(source, target, {
35
+ addEdge(source, target, edge, options = {}) {
36
+ const e = {
37
+ label: edge.type,
38
+ ...edge,
39
+ };
40
+ const id = this.hash(source, target, this.hashObj(e));
41
+ if (this.graph.hasEdge(id)) {
42
+ if (options.throwIfExists) {
43
+ throw new Error(`Edge with ID ${id} already exists.`);
44
+ }
45
+ return id;
46
+ }
47
+ return this.graph.addEdgeWithKey(this.hash(source, target, this.hashObj(e)), source, target, {
34
48
  label: edge.type,
35
49
  ...edge,
36
50
  });
@@ -50,36 +64,35 @@ export class ThymianFormat {
50
64
  type: 'http-link',
51
65
  });
52
66
  }
53
- addResponseToRequest(requestId, response, transaction = {}) {
67
+ addResponseToRequest(requestId, response, transaction = {}, sourceName) {
54
68
  const req = this.getNode(requestId);
55
69
  if (!req) {
56
70
  throw new Error(`Invalid request ID${requestId}. Cannot add response to request.`);
57
71
  }
58
72
  const resLabel = thymianHttpResponseToLabel(response);
59
- const resId = this.addResponse({ ...response, label: resLabel }, this.hash(req.label + resLabel));
73
+ const resId = this.addResponse({ ...response, label: resLabel });
60
74
  return [
61
75
  resId,
62
76
  this.addEdge(requestId, resId, {
63
77
  type: 'http-transaction',
64
78
  ...transaction,
65
79
  label: `${req.label} \u2192 ${resLabel}`,
80
+ sourceName: sourceName ?? req.sourceName,
66
81
  }),
67
82
  ];
68
83
  }
69
- addHttpTransaction(request, response) {
84
+ addHttpTransaction(request, response, sourceName) {
70
85
  const reqLabel = thymianHttpRequestToLabel(request);
71
86
  const resLabel = thymianHttpResponseToLabel(response);
72
- const reqId = this.hash(reqLabel);
73
- if (!this.graph.hasNode(reqId)) {
74
- this.addRequest({ ...request, label: reqLabel });
75
- }
76
- const resId = this.addResponse({ ...response, label: resLabel }, this.hash(reqLabel + resLabel));
87
+ const reqId = this.addRequest({ sourceName, ...request });
88
+ const resId = this.addResponse({ sourceName, ...response });
77
89
  return [
78
90
  reqId,
79
91
  resId,
80
92
  this.addEdge(reqId, resId, {
81
93
  type: 'http-transaction',
82
94
  label: `${reqLabel} \u2192 ${resLabel}`,
95
+ sourceName,
83
96
  }),
84
97
  ];
85
98
  }
@@ -103,7 +116,7 @@ export class ThymianFormat {
103
116
  label,
104
117
  ...request,
105
118
  type: 'http-request',
106
- }, this.hash(label));
119
+ });
107
120
  }
108
121
  addResponse(response, id) {
109
122
  const label = thymianHttpResponseToLabel(response);
@@ -113,8 +126,16 @@ export class ThymianFormat {
113
126
  type: 'http-response',
114
127
  }, id);
115
128
  }
116
- addNode(node, id = randomUUID()) {
117
- return this.graph.addNode(id, node);
129
+ addNode(node, id = this.hashObj(node), options = {}) {
130
+ if (this.graph.hasNode(id)) {
131
+ if (options.throwIfExists) {
132
+ throw new Error(`Node with ID ${id} already exists.`);
133
+ }
134
+ return id;
135
+ }
136
+ else {
137
+ return this.graph.addNode(id, node);
138
+ }
118
139
  }
119
140
  getNode(id) {
120
141
  return this.graph.getNodeAttributes(id);
@@ -151,6 +172,20 @@ export class ThymianFormat {
151
172
  return acc;
152
173
  }, []);
153
174
  }
175
+ getThymianHttpRequestsWithResponses() {
176
+ return this.graph.reduceNodes((acc, id, node) => {
177
+ if (isNodeType(node, 'http-request')) {
178
+ const responses = this.getHttpResponsesOf(id);
179
+ acc.push([
180
+ node,
181
+ responses.map(([, res]) => res),
182
+ id,
183
+ responses.map(([id]) => id),
184
+ ]);
185
+ }
186
+ return acc;
187
+ }, []);
188
+ }
154
189
  getNodesByExtension(extensionName, values) {
155
190
  return this.graph.reduceNodes((acc, _, attributes) => {
156
191
  if (attributes.extensions &&
@@ -161,6 +196,14 @@ export class ThymianFormat {
161
196
  return acc;
162
197
  }, []);
163
198
  }
199
+ getThymianHttpRequestsWithIds() {
200
+ return this.graph.reduceNodes((requests, id, node) => {
201
+ if (isNodeType(node, 'http-request')) {
202
+ requests.push([node, id]);
203
+ }
204
+ return requests;
205
+ }, []);
206
+ }
164
207
  getHttpTransactions() {
165
208
  return this.graph.reduceEdges((transactions, id, edge, source, target) => {
166
209
  if (edge.type === 'http-transaction') {
@@ -169,6 +212,44 @@ export class ThymianFormat {
169
212
  return transactions;
170
213
  }, []);
171
214
  }
215
+ getThymianHttpRequests() {
216
+ return this.graph.reduceNodes((requests, id, node) => {
217
+ if (isNodeType(node, 'http-request')) {
218
+ requests.push(node);
219
+ }
220
+ return requests;
221
+ }, []);
222
+ }
223
+ getThymianHttpTransactionById(id) {
224
+ let edge;
225
+ try {
226
+ edge = this.getEdge(id);
227
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
228
+ }
229
+ catch (e) {
230
+ /*empty*/
231
+ }
232
+ if (!edge) {
233
+ return undefined;
234
+ }
235
+ const [reqId, resId] = this.graph.extremities(id);
236
+ if (!reqId || !resId) {
237
+ return undefined;
238
+ }
239
+ const req = this.getNode(reqId);
240
+ const res = this.getNode(resId);
241
+ if (!req || !res) {
242
+ return undefined;
243
+ }
244
+ return {
245
+ thymianReq: req,
246
+ thymianReqId: reqId,
247
+ thymianRes: res,
248
+ thymianResId: resId,
249
+ transactionId: id,
250
+ transaction: edge,
251
+ };
252
+ }
172
253
  getThymianHttpTransactions() {
173
254
  return this.graph.reduceEdges((transactions, id, edge, sourceId, targetId, source, target) => {
174
255
  if (isEdgeType(edge, 'http-transaction')) {
@@ -186,8 +267,9 @@ export class ThymianFormat {
186
267
  }
187
268
  matchTransaction(req, res) {
188
269
  const edgeId = this.graph.findEdge((id, edge, sourceId, targetId, source, target) => {
189
- if (!isEdgeType(edge, 'http-transaction'))
270
+ if (!isEdgeType(edge, 'http-transaction')) {
190
271
  return false;
272
+ }
191
273
  const thymianReq = source;
192
274
  const thymianRes = target;
193
275
  const origin = thymianRequestToOrigin(thymianReq);
@@ -237,61 +319,116 @@ export class ThymianFormat {
237
319
  }
238
320
  return this.getNode(nodeId);
239
321
  }
240
- addSampleHttpRequest(request) {
322
+ addSampleHttpRequest(request, sourceName) {
241
323
  return this.addNode({
242
324
  type: 'sample-http-request',
243
325
  label: httpRequestToLabel(request),
244
326
  sample: request,
327
+ sourceName,
245
328
  });
246
329
  }
247
- addSampleHttpResponse(response) {
330
+ addSampleHttpResponse(response, sourceName) {
248
331
  return this.addNode({
249
332
  type: 'sample-http-response',
250
333
  label: httpResponseToLabel(response),
251
334
  sample: response,
335
+ sourceName,
252
336
  });
253
337
  }
254
- addSampleHttpTransaction(request, response) {
255
- const reqId = this.addSampleHttpRequest(request);
256
- const resId = this.addSampleHttpResponse(response);
338
+ addSampleHttpTransaction(request, response, sourceName) {
339
+ const reqId = this.addSampleHttpRequest(request, sourceName);
340
+ const resId = this.addSampleHttpResponse(response, sourceName);
257
341
  const transactionId = this.addEdge(reqId, reqId, {
258
342
  type: 'sample-http-transaction',
259
343
  label: `Sample HTTP Transaction`,
344
+ sourceName,
260
345
  });
261
346
  return [reqId, resId, transactionId];
262
347
  }
263
- export() {
264
- return this.graph.export();
348
+ toHash() {
349
+ const hash = createHash('sha1');
350
+ this.graph
351
+ .nodes()
352
+ .sort()
353
+ .forEach((id) => hash.update(id));
354
+ this.graph
355
+ .edges()
356
+ .sort()
357
+ .forEach((id) => hash.update(id));
358
+ return hash.digest('hex');
265
359
  }
266
- toJSON() {
267
- return this.export();
360
+ export() {
361
+ return {
362
+ ...this.graph.export(),
363
+ attributes: {
364
+ hash: this.toHash(),
365
+ },
366
+ };
268
367
  }
269
368
  // TODO must implement this feature. But before we should think about the node and edge ID generation
270
369
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
271
370
  merge(format) {
272
371
  return this;
273
372
  }
274
- static fromHttpTransactions(transactions) {
373
+ filter(fn) {
374
+ const copied = this.graph.copy();
375
+ const filterFn = typeof fn === 'function'
376
+ ? fn
377
+ : httpFilterExpressionToTransactionFilter(fn);
378
+ // 1. if the filter function returns false for a transaction, its corresponding edge is dropped
379
+ this.getThymianHttpTransactions()
380
+ .filter((transaction, _, transactions) => !filterFn(transaction, transactions, this))
381
+ .forEach((transaction) => {
382
+ copied.dropEdge(transaction.transactionId);
383
+ });
384
+ // after that, all nodes that have no outgoing edges are dropped if they are http-request or http-response nodes
385
+ copied.forEachNode((id, node) => {
386
+ if ((isNodeType(node, 'http-request') ||
387
+ isNodeType(node, 'http-response')) &&
388
+ copied.neighbors(id).length === 0) {
389
+ copied.dropNode(id);
390
+ }
391
+ });
392
+ return new ThymianFormat(copied);
393
+ }
394
+ static fromHttpTransactions(transactions, sourceName) {
275
395
  const format = new ThymianFormat();
276
396
  for (const [req, res] of transactions) {
277
- const thymianReq = httpRequestToThymianHttpRequest(req);
278
- const thymianRes = httpResponseToThymianHttpResponse(res);
279
- const [sampleReqId, sampleResId] = format.addSampleHttpTransaction(req, res);
280
- const [reqId, resId] = format.addHttpTransaction(thymianReq, thymianRes);
397
+ const thymianReq = httpRequestToThymianHttpRequest(req, sourceName);
398
+ const thymianRes = httpResponseToThymianHttpResponse(res, sourceName);
399
+ const [sampleReqId, sampleResId] = format.addSampleHttpTransaction(req, res, sourceName);
400
+ const [reqId, resId] = format.addHttpTransaction(thymianReq, thymianRes, sourceName);
281
401
  format.addEdge(reqId, sampleReqId, {
282
402
  type: 'has-sample',
403
+ sourceName,
283
404
  });
284
405
  format.addEdge(resId, sampleResId, {
285
406
  type: 'has-sample',
407
+ sourceName,
286
408
  });
287
409
  }
288
410
  return format;
289
411
  }
290
- static import(graph) {
291
- return new ThymianFormat(new MultiDirectedGraph().import(graph));
412
+ static import(graph, sourceName) {
413
+ const g = new MultiDirectedGraph().import(graph);
414
+ g.forEachNode((_, node) => {
415
+ node.sourceName ??= sourceName;
416
+ });
417
+ g.forEachEdge((_, edge) => {
418
+ edge.sourceName ??= sourceName;
419
+ });
420
+ return new ThymianFormat(g);
292
421
  }
293
- hash(input) {
294
- return createHash('sha1').update(input).digest('hex');
422
+ hash(...values) {
423
+ const hash = createHash('sha1');
424
+ values.forEach((value) => hash.update(value));
425
+ return hash.digest('hex');
426
+ }
427
+ hashObj(obj) {
428
+ if (typeof obj === 'undefined') {
429
+ return '';
430
+ }
431
+ return createHash('sha1').update(stringify(obj)).digest('hex');
295
432
  }
296
433
  }
297
434
  //# sourceMappingURL=thymian-format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thymian-format.js","sourceRoot":"","sources":["../../src/format/thymian-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thymian-format.js","sourceRoot":"","sources":["../../src/format/thymian-format.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export type ThymianSchema = {
4
4
  const?: unknown;
5
5
  enum?: unknown[];
6
6
  examples?: unknown[];
7
+ description?: string;
7
8
  default?: unknown;
8
9
  multipleOf?: number;
9
10
  maximum?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"thymian-schema.d.ts","sourceRoot":"","sources":["../../src/format/thymian-schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,aAAa,GAAG;IAE1B,IAAI,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAEjB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,oBAAoB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7C,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB,qBAAqB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAChD,gBAAgB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAE3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,GAAG,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"thymian-schema.d.ts","sourceRoot":"","sources":["../../src/format/thymian-schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,aAAa,GAAG;IAE1B,IAAI,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAEjB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,oBAAoB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7C,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB,qBAAqB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAChD,gBAAgB,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAE3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,GAAG,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC"}
@@ -7,6 +7,6 @@ import type { SerializationStyle } from './serialization-style/index.js';
7
7
  export declare function extractSchemaForValue(value: string): 'string' | 'integer' | 'number' | 'boolean';
8
8
  export declare function valueToParameter(value: string | string[] | undefined, style: SerializationStyle): Parameter | undefined;
9
9
  export declare function parameterValuesToParameters(values: Record<string, string | string[] | undefined>, style: SerializationStyle): Record<string, Parameter>;
10
- export declare function httpRequestToThymianHttpRequest(request: HttpRequest): PartialBy<ThymianHttpRequest, 'label'>;
11
- export declare function httpResponseToThymianHttpResponse(response: HttpResponse): ThymianHttpResponse;
10
+ export declare function httpRequestToThymianHttpRequest(request: HttpRequest, sourceName: string): PartialBy<ThymianHttpRequest, 'label'>;
11
+ export declare function httpResponseToThymianHttpResponse(response: HttpResponse, sourceName: string): ThymianHttpResponse;
12
12
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/format/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GACZ,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAc7C;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACpC,KAAK,EAAE,kBAAkB,GACxB,SAAS,GAAG,SAAS,CAwBvB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACrD,KAAK,EAAE,kBAAkB,GACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAe3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,WAAW,GACnB,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAmBxC;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,YAAY,GACrB,mBAAmB,CAoBrB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/format/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GACZ,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAc7C;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EACpC,KAAK,EAAE,kBAAkB,GACxB,SAAS,GAAG,SAAS,CAwBvB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACrD,KAAK,EAAE,kBAAkB,GACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAmB3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GACjB,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAoBxC;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,GACjB,mBAAmB,CAqBrB"}
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_HEADER_SERIALIZATION_STYLE } from '../constants.js';
2
- import { equalsIgnoreCase, getContentType, getHeader, } from '../utils.js';
2
+ import { equalsIgnoreCase, getContentType } from '../utils.js';
3
3
  export function extractSchemaForValue(value) {
4
4
  if (!isNaN(parseInt(value))) {
5
5
  return 'integer';
@@ -37,16 +37,18 @@ export function valueToParameter(value, style) {
37
37
  }
38
38
  export function parameterValuesToParameters(values, style) {
39
39
  return Object.entries(values).reduce((acc, [key, value]) => {
40
- if (equalsIgnoreCase(key, 'content-type'))
40
+ if (equalsIgnoreCase(key, 'content-type')) {
41
41
  return acc;
42
+ }
42
43
  const parameter = valueToParameter(value, style);
43
- if (!parameter)
44
+ if (!parameter) {
44
45
  return acc;
46
+ }
45
47
  acc[key] = parameter;
46
48
  return acc;
47
49
  }, {});
48
50
  }
49
- export function httpRequestToThymianHttpRequest(request) {
51
+ export function httpRequestToThymianHttpRequest(request, sourceName) {
50
52
  const url = new URL(request.path, request.origin);
51
53
  return {
52
54
  host: url.host,
@@ -60,15 +62,17 @@ export function httpRequestToThymianHttpRequest(request) {
60
62
  headers: parameterValuesToParameters(request.headers ?? {}, DEFAULT_HEADER_SERIALIZATION_STYLE),
61
63
  pathParameters: {},
62
64
  queryParameters: {},
65
+ sourceName,
63
66
  };
64
67
  }
65
- export function httpResponseToThymianHttpResponse(response) {
68
+ export function httpResponseToThymianHttpResponse(response, sourceName) {
66
69
  const thymianHttpResponse = {
67
70
  type: 'http-response',
68
71
  label: '',
69
72
  statusCode: response.statusCode,
70
73
  mediaType: getContentType(response.headers),
71
74
  headers: parameterValuesToParameters(response.headers ?? {}, DEFAULT_HEADER_SERIALIZATION_STYLE),
75
+ sourceName,
72
76
  };
73
77
  if (response.body) {
74
78
  thymianHttpResponse.schema = {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/format/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/format/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thymian-plugin.d.ts","sourceRoot":"","sources":["../src/thymian-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,MAAM,eAAe,CACzB,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,IAC5D,CACF,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE;SACR,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,cAAc,CACzC,IAAI,SAAS,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CACjE;KACF,CAAC;IACF,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE;SACR,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE;YAC5B,KAAK,EAAE,cAAc,CACnB,IAAI,SAAS,MAAM,cAAc,GAC7B,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAC7B,OAAO,CACZ,CAAC;YACF,QAAQ,EAAE,cAAc,CACtB,IAAI,SAAS,MAAM,cAAc,GAC7B,cAAc,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAChC,OAAO,CACZ,CAAC;SACH;KACF,CAAC;IACF,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IACzE;IACF,MAAM,EAAE,eAAe,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,aAAa,CAqBjE"}
1
+ {"version":3,"file":"thymian-plugin.d.ts","sourceRoot":"","sources":["../src/thymian-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,MAAM,eAAe,CACzB,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,IAC5D,CACF,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE;SACR,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,cAAc,CACzC,IAAI,SAAS,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CACjE;KACF,CAAC;IACF,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE;SACR,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE;YAC5B,KAAK,EAAE,cAAc,CACnB,IAAI,SAAS,MAAM,cAAc,GAC7B,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAC7B,OAAO,CACZ,CAAC;YACF,QAAQ,EAAE,cAAc,CACtB,IAAI,SAAS,MAAM,cAAc,GAC7B,cAAc,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAChC,OAAO,CACZ,CAAC;SACH;KACF,CAAC;IACF,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,OAAO,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IACzE;IACF,MAAM,EAAE,eAAe,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,aAAa,CAyBjE"}
@@ -1,12 +1,14 @@
1
1
  import { ThymianEmitter } from './emitter/index.js';
2
2
  import { isRecord } from './utils.js';
3
3
  export function isPlugin(plugin) {
4
- if (!isRecord(plugin))
4
+ if (!isRecord(plugin)) {
5
5
  return false;
6
+ }
6
7
  const requiredKeys = ['plugin', 'name', 'version'];
7
8
  for (const key of requiredKeys) {
8
- if (!Object.hasOwn(plugin, key))
9
+ if (!Object.hasOwn(plugin, key)) {
9
10
  return false;
11
+ }
10
12
  }
11
13
  if (typeof plugin['plugin'] !== 'function') {
12
14
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"thymian-plugin.js","sourceRoot":"","sources":["../src/thymian-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmDtC,MAAM,UAAU,QAAQ,CAAC,MAAe;IACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpC,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"thymian-plugin.js","sourceRoot":"","sources":["../src/thymian-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmDtC,MAAM,UAAU,QAAQ,CAAC,MAAe;IACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/thymian.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ThymianEmitter } from './emitter/index.js';
2
2
  import { ThymianFormat } from './format/index.js';
3
+ import { type HttpFilterExpression } from './http-filter.js';
3
4
  import type { Logger } from './logger/logger.js';
4
5
  import { ThymianBaseError } from './thymian.error.js';
5
6
  import type { ThymianPlugin } from './thymian-plugin.js';
@@ -11,8 +12,10 @@ export declare class PluginRegistrationError extends ThymianBaseError {
11
12
  }
12
13
  export type ThymianOptions = {
13
14
  timeout: number;
15
+ idleTimeout: number;
14
16
  traceEvents: boolean;
15
17
  cwd: string;
18
+ logAllErrors: boolean;
16
19
  };
17
20
  export declare class Thymian {
18
21
  #private;
@@ -21,12 +24,16 @@ export declare class Thymian {
21
24
  readonly emitter: ThymianEmitter;
22
25
  readonly options: ThymianOptions;
23
26
  static readonly VERSION: string;
27
+ static readonly DEFAULT_IDLE_TIMEOUT = 500;
28
+ static readonly DEFAULT_TIMEOUT = 10000;
24
29
  constructor(logger?: Logger, options?: Partial<ThymianOptions>);
25
30
  register<T extends Record<PropertyKey, unknown>>(plugin: ThymianPlugin<T>, options?: T): this;
26
31
  ready(): Promise<void>;
27
32
  run<T>(fn: (emitter: ThymianEmitter, logger: Logger) => Promise<T> | T): Promise<T>;
28
33
  close(): Promise<void>;
29
- loadFormat(): Promise<ThymianFormat>;
34
+ loadFormat(filter?: HttpFilterExpression, _options?: {
35
+ emitFormat?: boolean;
36
+ }): Promise<ThymianFormat>;
30
37
  private loadRegisteredPlugins;
31
38
  private registerPlugin;
32
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"thymian.d.ts","sourceRoot":"","sources":["../src/thymian.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IACnE;IACF,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,gBAAgB;CAAG;AAEhE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,qBAAa,OAAO;;IAYhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAM;IAE1C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAIjC,gBAAuB,OAAO,SAAuB;gBAGlC,MAAM,GAAE,MAAyB,EAClD,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM;IA6BvC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAC7C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,CAAC,GACV,IAAI;IA+BD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,GAAG,CAAC,CAAC,EACH,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC9D,OAAO,CAAC,CAAC,CAAC;IA0CP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;YA6B5B,qBAAqB;YAWrB,cAAc;CA2B7B"}
1
+ {"version":3,"file":"thymian.d.ts","sourceRoot":"","sources":["../src/thymian.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAY,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IACnE;IACF,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,qBAAa,uBAAwB,SAAQ,gBAAgB;CAAG;AAEhE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,qBAAa,OAAO;;IAkBhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAjBzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAM;IAE1C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAIjC,gBAAuB,OAAO,SAAuB;IAGrD,gBAAuB,oBAAoB,OAAO;IAGlD,gBAAuB,eAAe,SAAS;gBAG5B,MAAM,GAAE,MAAyB,EAClD,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM;IAyBvC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAC7C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,CAAC,GACV,IAAI;IAgCD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,GAAG,CAAC,CAAC,EACH,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAC9D,OAAO,CAAC,CAAC,CAAC;IAkDP,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,UAAU,CACd,MAAM,GAAE,oBAAqC,EAC7C,QAAQ,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GACtC,OAAO,CAAC,aAAa,CAAC;YA0CX,qBAAqB;YAWrB,cAAc;CA+B7B"}