@eventcatalog/language-server 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.
- package/dist/compiler.d.ts +4 -1
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +144 -57
- package/dist/compiler.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/compiler.d.ts
CHANGED
|
@@ -3,5 +3,8 @@ export interface CompiledOutput {
|
|
|
3
3
|
path: string;
|
|
4
4
|
content: string;
|
|
5
5
|
}
|
|
6
|
-
export
|
|
6
|
+
export interface CompileOptions {
|
|
7
|
+
nested?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function compile(program: Program, options?: CompileOptions): CompiledOutput[];
|
|
7
10
|
//# sourceMappingURL=compiler.d.ts.map
|
package/dist/compiler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EAuBR,MAAM,oBAAoB,CAAC;AA0E5B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EAuBR,MAAM,oBAAoB,CAAC;AA0E5B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,cAAc,EAAE,CAOlB"}
|
package/dist/compiler.js
CHANGED
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
import { isDomainDef, isServiceDef, isEventDef, isCommandDef, isQueryDef, isChannelDef, isContainerDef, isDataProductDef, isFlowDef, isDiagramDef, isUserDef, isTeamDef, isVisualizerDef, isNamedAnnotationArg, isPositionalAnnotationArg, isKeyValueAnnotationBlockItem, isParameterDescriptionProp, isParameterDefaultProp, isParameterEnumProp, isParameterExamplesProp, isStringAnnotationValue, isIdAnnotationValue, isNumberAnnotationValue, isBoolAnnotationValue, isVersionAnnotationValue, isKeywordAnnotationValue, } from "./generated/ast.js";
|
|
1
|
+
import { isDomainDef, isServiceDef, isEventDef, isCommandDef, isQueryDef, isChannelDef, isContainerDef, isDataProductDef, isFlowDef, isDiagramDef, isUserDef, isTeamDef, isVisualizerDef, isNamedAnnotationArg, isPositionalAnnotationArg, isKeyValueAnnotationBlockItem, isParameterDescriptionProp, isParameterDefaultProp, isParameterEnumProp, isParameterExamplesProp, isToClause, isFromClause, isStringAnnotationValue, isIdAnnotationValue, isNumberAnnotationValue, isBoolAnnotationValue, isVersionAnnotationValue, isKeywordAnnotationValue, } from "./generated/ast.js";
|
|
2
2
|
import { stripQuotes, getVersion, getName, getSummary, getOwners, getDeprecated, getDraft, getSchema, getServices, getSubdomains, getSends, getReceives, getAnnotations, getAddress, getProtocols, getParameters, getContainerType, getTechnology, getAuthoritative, getAccessMode, getClassification, getResidency, getRetention, getInputs, getOutputs, getFlowEntryChains, getFlowWhenBlocks, } from "./ast-utils.js";
|
|
3
|
-
export function compile(program) {
|
|
3
|
+
export function compile(program, options) {
|
|
4
|
+
const nested = options?.nested ?? false;
|
|
4
5
|
const outputs = [];
|
|
5
6
|
for (const def of program.definitions) {
|
|
6
|
-
compileDefinition(def, outputs);
|
|
7
|
+
compileDefinition(def, outputs, nested, "");
|
|
7
8
|
}
|
|
8
9
|
return outputs;
|
|
9
10
|
}
|
|
10
|
-
function compileDefinition(def, outputs) {
|
|
11
|
+
function compileDefinition(def, outputs, nested, parentPath) {
|
|
11
12
|
if (isDomainDef(def))
|
|
12
|
-
compileDomain(def, outputs);
|
|
13
|
+
compileDomain(def, outputs, nested);
|
|
13
14
|
else if (isServiceDef(def)) {
|
|
14
|
-
compileService(def, outputs);
|
|
15
|
-
compileInlineMessages(def, outputs);
|
|
15
|
+
compileService(def, outputs, nested, parentPath);
|
|
16
|
+
compileInlineMessages(def, outputs, nested, parentPath);
|
|
16
17
|
}
|
|
17
18
|
else if (isEventDef(def))
|
|
18
|
-
compileMessage(def, "events", outputs);
|
|
19
|
+
compileMessage(def, "events", outputs, nested, parentPath);
|
|
19
20
|
else if (isCommandDef(def))
|
|
20
|
-
compileMessage(def, "commands", outputs);
|
|
21
|
+
compileMessage(def, "commands", outputs, nested, parentPath);
|
|
21
22
|
else if (isQueryDef(def))
|
|
22
|
-
compileMessage(def, "queries", outputs);
|
|
23
|
+
compileMessage(def, "queries", outputs, nested, parentPath);
|
|
23
24
|
else if (isChannelDef(def))
|
|
24
|
-
compileChannel(def, outputs);
|
|
25
|
+
compileChannel(def, outputs, nested, parentPath);
|
|
25
26
|
else if (isContainerDef(def))
|
|
26
|
-
compileContainer(def, outputs);
|
|
27
|
+
compileContainer(def, outputs, nested, parentPath);
|
|
27
28
|
else if (isDataProductDef(def))
|
|
28
29
|
compileDataProduct(def, outputs);
|
|
29
30
|
else if (isFlowDef(def))
|
|
@@ -35,7 +36,7 @@ function compileDefinition(def, outputs) {
|
|
|
35
36
|
else if (isTeamDef(def))
|
|
36
37
|
compileTeam(def, outputs);
|
|
37
38
|
else if (isVisualizerDef(def))
|
|
38
|
-
compileVisualizer(def, outputs);
|
|
39
|
+
compileVisualizer(def, outputs, nested);
|
|
39
40
|
// ActorDef and ExternalSystemDef are flow-only — no markdown output
|
|
40
41
|
}
|
|
41
42
|
// --- YAML helpers ---
|
|
@@ -280,10 +281,15 @@ function commonFrontmatter(id, body) {
|
|
|
280
281
|
Object.assign(fm, annFields);
|
|
281
282
|
return fm;
|
|
282
283
|
}
|
|
283
|
-
function
|
|
284
|
+
function withSummary(fm, body) {
|
|
285
|
+
const summary = getSummary(body);
|
|
286
|
+
if (summary)
|
|
287
|
+
fm.summary = summary;
|
|
288
|
+
return fm;
|
|
289
|
+
}
|
|
290
|
+
function makeOutput(path, fm) {
|
|
284
291
|
const frontmatter = buildFrontmatter(fm);
|
|
285
|
-
|
|
286
|
-
return { path, content };
|
|
292
|
+
return { path, content: `${frontmatter}\n` };
|
|
287
293
|
}
|
|
288
294
|
// Build a versioned output path: "<folder>/<name>/versioned/<version>/index.md"
|
|
289
295
|
// Falls back to "<folder>/<name>/index.md" when no version is present.
|
|
@@ -294,27 +300,71 @@ function versionedPath(folder, name, body) {
|
|
|
294
300
|
return `${folder}/${name}/index.md`;
|
|
295
301
|
}
|
|
296
302
|
// --- Resource compilers ---
|
|
297
|
-
function compileDomain(domain, outputs) {
|
|
303
|
+
function compileDomain(domain, outputs, nested) {
|
|
298
304
|
const body = domain.body;
|
|
299
|
-
const fm = commonFrontmatter(domain.name, body);
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
+
const fm = withSummary(commonFrontmatter(domain.name, body), body);
|
|
306
|
+
// Add services pointers
|
|
307
|
+
const services = getServices(body);
|
|
308
|
+
if (services.length > 0) {
|
|
309
|
+
fm.services = services.map((svc) => {
|
|
310
|
+
const ref = { id: svc.name };
|
|
311
|
+
const v = getVersion(svc.body);
|
|
312
|
+
if (v)
|
|
313
|
+
ref.version = v;
|
|
314
|
+
return ref;
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
// Add subdomain pointers (listed as "domains" in frontmatter)
|
|
318
|
+
const subdomains = getSubdomains(body);
|
|
319
|
+
if (subdomains.length > 0) {
|
|
320
|
+
fm.domains = subdomains.map((sub) => {
|
|
321
|
+
const ref = { id: sub.name };
|
|
322
|
+
const v = getVersion(sub.body);
|
|
323
|
+
if (v)
|
|
324
|
+
ref.version = v;
|
|
325
|
+
return ref;
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
outputs.push(makeOutput(versionedPath("domains", domain.name, body), fm));
|
|
329
|
+
const domainPath = nested ? `domains/${domain.name}` : "";
|
|
330
|
+
for (const svc of services) {
|
|
331
|
+
compileService(svc, outputs, nested, domainPath);
|
|
332
|
+
compileInlineMessages(svc, outputs, nested, domainPath);
|
|
333
|
+
}
|
|
334
|
+
for (const ch of body.filter((n) => isChannelDef(n))) {
|
|
335
|
+
compileChannel(ch, outputs, nested, domainPath);
|
|
305
336
|
}
|
|
306
|
-
for (const
|
|
337
|
+
for (const cont of body.filter((n) => isContainerDef(n))) {
|
|
338
|
+
compileContainer(cont, outputs, nested, domainPath);
|
|
339
|
+
}
|
|
340
|
+
for (const sub of subdomains) {
|
|
307
341
|
const subBody = sub.body;
|
|
308
|
-
const subFm = commonFrontmatter(sub.name, subBody);
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
342
|
+
const subFm = withSummary(commonFrontmatter(sub.name, subBody), subBody);
|
|
343
|
+
// Add services pointers to subdomain
|
|
344
|
+
const subServices = getServices(subBody);
|
|
345
|
+
if (subServices.length > 0) {
|
|
346
|
+
subFm.services = subServices.map((svc) => {
|
|
347
|
+
const ref = { id: svc.name };
|
|
348
|
+
const v = getVersion(svc.body);
|
|
349
|
+
if (v)
|
|
350
|
+
ref.version = v;
|
|
351
|
+
return ref;
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
const subdomainFolder = nested
|
|
355
|
+
? `domains/${domain.name}/subdomains`
|
|
356
|
+
: `domains/${domain.name}/domains`;
|
|
357
|
+
outputs.push(makeOutput(versionedPath(subdomainFolder, sub.name, subBody), subFm));
|
|
358
|
+
const subdomainPath = nested
|
|
359
|
+
? `domains/${domain.name}/subdomains/${sub.name}`
|
|
360
|
+
: "";
|
|
361
|
+
for (const svc of subServices) {
|
|
362
|
+
compileService(svc, outputs, nested, subdomainPath);
|
|
363
|
+
compileInlineMessages(svc, outputs, nested, subdomainPath);
|
|
314
364
|
}
|
|
315
365
|
}
|
|
316
366
|
}
|
|
317
|
-
function compileService(svc, outputs) {
|
|
367
|
+
function compileService(svc, outputs, nested, parentPath) {
|
|
318
368
|
const body = svc.body;
|
|
319
369
|
const fm = commonFrontmatter(svc.name, body);
|
|
320
370
|
const sends = getSends(body);
|
|
@@ -325,7 +375,9 @@ function compileService(svc, outputs) {
|
|
|
325
375
|
if (receives.length > 0) {
|
|
326
376
|
fm.receives = receives.map((r) => buildMessageRef(r));
|
|
327
377
|
}
|
|
328
|
-
|
|
378
|
+
withSummary(fm, body);
|
|
379
|
+
const folder = nested && parentPath ? `${parentPath}/services` : "services";
|
|
380
|
+
outputs.push(makeOutput(versionedPath(folder, svc.name, body), fm));
|
|
329
381
|
}
|
|
330
382
|
function buildMessageRef(clause) {
|
|
331
383
|
const ref = { id: clause.messageName };
|
|
@@ -337,31 +389,60 @@ function buildMessageRef(clause) {
|
|
|
337
389
|
if (inlineVersion)
|
|
338
390
|
ref.version = inlineVersion;
|
|
339
391
|
}
|
|
392
|
+
// Add channel routing (to/from) when present
|
|
393
|
+
if (clause.channelClause) {
|
|
394
|
+
const cc = clause.channelClause;
|
|
395
|
+
const channelRefs = cc.channels.map((ch) => {
|
|
396
|
+
const entry = { id: ch.channelName };
|
|
397
|
+
if (ch.channelVersion)
|
|
398
|
+
entry.version = ch.channelVersion;
|
|
399
|
+
return entry;
|
|
400
|
+
});
|
|
401
|
+
if (cc.deliveryMode) {
|
|
402
|
+
for (const entry of channelRefs) {
|
|
403
|
+
entry.delivery_mode = cc.deliveryMode;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
if (isToClause(cc)) {
|
|
407
|
+
ref.to = channelRefs;
|
|
408
|
+
}
|
|
409
|
+
else if (isFromClause(cc)) {
|
|
410
|
+
ref.from = channelRefs;
|
|
411
|
+
}
|
|
412
|
+
}
|
|
340
413
|
return ref;
|
|
341
414
|
}
|
|
342
|
-
function compileInlineMessages(svc, outputs) {
|
|
415
|
+
function compileInlineMessages(svc, outputs, nested, parentPath) {
|
|
343
416
|
const body = svc.body;
|
|
417
|
+
// Compute the service path to nest messages under
|
|
418
|
+
const servicePath = nested && parentPath
|
|
419
|
+
? `${parentPath}/services/${svc.name}`
|
|
420
|
+
: nested
|
|
421
|
+
? `services/${svc.name}`
|
|
422
|
+
: "";
|
|
344
423
|
const allClauses = [...getSends(body), ...getReceives(body)];
|
|
345
424
|
for (const clause of allClauses) {
|
|
346
425
|
if (clause.body.length > 0) {
|
|
347
426
|
const inlineBody = clause.body;
|
|
348
427
|
const msgType = clause.messageType;
|
|
349
|
-
const
|
|
428
|
+
const msgFolder = msgType === "event"
|
|
350
429
|
? "events"
|
|
351
430
|
: msgType === "command"
|
|
352
431
|
? "commands"
|
|
353
432
|
: "queries";
|
|
354
|
-
const
|
|
355
|
-
|
|
433
|
+
const folder = nested && servicePath ? `${servicePath}/${msgFolder}` : msgFolder;
|
|
434
|
+
const fm = withSummary(commonFrontmatter(clause.messageName, inlineBody), inlineBody);
|
|
435
|
+
outputs.push(makeOutput(versionedPath(folder, clause.messageName, inlineBody), fm));
|
|
356
436
|
}
|
|
357
437
|
}
|
|
358
438
|
}
|
|
359
|
-
function compileMessage(msg, folder, outputs) {
|
|
439
|
+
function compileMessage(msg, folder, outputs, nested, parentPath) {
|
|
360
440
|
const body = msg.body;
|
|
361
|
-
const fm = commonFrontmatter(msg.name, body);
|
|
362
|
-
|
|
441
|
+
const fm = withSummary(commonFrontmatter(msg.name, body), body);
|
|
442
|
+
const resolvedFolder = nested && parentPath ? `${parentPath}/${folder}` : folder;
|
|
443
|
+
outputs.push(makeOutput(versionedPath(resolvedFolder, msg.name, body), fm));
|
|
363
444
|
}
|
|
364
|
-
function compileChannel(ch, outputs) {
|
|
445
|
+
function compileChannel(ch, outputs, nested = false, parentPath = "") {
|
|
365
446
|
const body = ch.body;
|
|
366
447
|
const fm = commonFrontmatter(ch.name, body);
|
|
367
448
|
const address = getAddress(body);
|
|
@@ -387,9 +468,11 @@ function compileChannel(ch, outputs) {
|
|
|
387
468
|
return param;
|
|
388
469
|
});
|
|
389
470
|
}
|
|
390
|
-
|
|
471
|
+
withSummary(fm, body);
|
|
472
|
+
const folder = nested && parentPath ? `${parentPath}/channels` : "channels";
|
|
473
|
+
outputs.push(makeOutput(versionedPath(folder, ch.name, body), fm));
|
|
391
474
|
}
|
|
392
|
-
function compileContainer(cont, outputs) {
|
|
475
|
+
function compileContainer(cont, outputs, nested = false, parentPath = "") {
|
|
393
476
|
const body = cont.body;
|
|
394
477
|
const fm = commonFrontmatter(cont.name, body);
|
|
395
478
|
const ct = getContainerType(body);
|
|
@@ -413,7 +496,9 @@ function compileContainer(cont, outputs) {
|
|
|
413
496
|
const ret = getRetention(body);
|
|
414
497
|
if (ret)
|
|
415
498
|
fm.retention = ret;
|
|
416
|
-
|
|
499
|
+
withSummary(fm, body);
|
|
500
|
+
const folder = nested && parentPath ? `${parentPath}/containers` : "containers";
|
|
501
|
+
outputs.push(makeOutput(versionedPath(folder, cont.name, body), fm));
|
|
417
502
|
}
|
|
418
503
|
function compileDataProduct(dp, outputs) {
|
|
419
504
|
const body = dp.body;
|
|
@@ -441,7 +526,8 @@ function compileDataProduct(dp, outputs) {
|
|
|
441
526
|
return o;
|
|
442
527
|
});
|
|
443
528
|
}
|
|
444
|
-
|
|
529
|
+
withSummary(fm, body);
|
|
530
|
+
outputs.push(makeOutput(versionedPath("data-products", dp.name, body), fm));
|
|
445
531
|
}
|
|
446
532
|
function compileFlow(flow, outputs) {
|
|
447
533
|
const body = flow.body;
|
|
@@ -454,7 +540,8 @@ function compileFlow(flow, outputs) {
|
|
|
454
540
|
fm.steps = steps;
|
|
455
541
|
}
|
|
456
542
|
}
|
|
457
|
-
|
|
543
|
+
withSummary(fm, body);
|
|
544
|
+
outputs.push(makeOutput(versionedPath("flows", flow.name, body), fm));
|
|
458
545
|
}
|
|
459
546
|
function flowRefToStep(ref) {
|
|
460
547
|
return {
|
|
@@ -532,8 +619,8 @@ function compileFlowBody(entryChains, whenBlocks) {
|
|
|
532
619
|
}
|
|
533
620
|
function compileDiagram(diag, outputs) {
|
|
534
621
|
const body = diag.body;
|
|
535
|
-
const fm = commonFrontmatter(diag.name, body);
|
|
536
|
-
outputs.push(makeOutput(versionedPath("diagrams", diag.name, body), fm
|
|
622
|
+
const fm = withSummary(commonFrontmatter(diag.name, body), body);
|
|
623
|
+
outputs.push(makeOutput(versionedPath("diagrams", diag.name, body), fm));
|
|
537
624
|
}
|
|
538
625
|
function compileUser(user, outputs) {
|
|
539
626
|
const fm = {
|
|
@@ -614,39 +701,39 @@ function compileTeam(team, outputs) {
|
|
|
614
701
|
fm.members = members;
|
|
615
702
|
const annFields = mapAnnotations(annotations);
|
|
616
703
|
Object.assign(fm, annFields);
|
|
617
|
-
outputs.push(makeOutput(`teams/${team.name}.md`, fm
|
|
704
|
+
outputs.push(makeOutput(`teams/${team.name}.md`, fm));
|
|
618
705
|
}
|
|
619
|
-
function compileVisualizer(viz, outputs) {
|
|
706
|
+
function compileVisualizer(viz, outputs, nested) {
|
|
620
707
|
// Visualizer wrapper does NOT produce its own markdown.
|
|
621
708
|
// Inline definitions inside it compile normally.
|
|
622
709
|
for (const item of viz.body) {
|
|
623
710
|
if (isDomainDef(item)) {
|
|
624
|
-
compileDomain(item, outputs);
|
|
711
|
+
compileDomain(item, outputs, nested);
|
|
625
712
|
continue;
|
|
626
713
|
}
|
|
627
714
|
if (isServiceDef(item)) {
|
|
628
|
-
compileService(item, outputs);
|
|
629
|
-
compileInlineMessages(item, outputs);
|
|
715
|
+
compileService(item, outputs, nested, "");
|
|
716
|
+
compileInlineMessages(item, outputs, nested, "");
|
|
630
717
|
continue;
|
|
631
718
|
}
|
|
632
719
|
if (isEventDef(item) && item.body.length > 0) {
|
|
633
|
-
compileMessage(item, "events", outputs);
|
|
720
|
+
compileMessage(item, "events", outputs, nested, "");
|
|
634
721
|
continue;
|
|
635
722
|
}
|
|
636
723
|
if (isCommandDef(item) && item.body.length > 0) {
|
|
637
|
-
compileMessage(item, "commands", outputs);
|
|
724
|
+
compileMessage(item, "commands", outputs, nested, "");
|
|
638
725
|
continue;
|
|
639
726
|
}
|
|
640
727
|
if (isQueryDef(item) && item.body.length > 0) {
|
|
641
|
-
compileMessage(item, "queries", outputs);
|
|
728
|
+
compileMessage(item, "queries", outputs, nested, "");
|
|
642
729
|
continue;
|
|
643
730
|
}
|
|
644
731
|
if (isChannelDef(item)) {
|
|
645
|
-
compileChannel(item, outputs);
|
|
732
|
+
compileChannel(item, outputs, nested, "");
|
|
646
733
|
continue;
|
|
647
734
|
}
|
|
648
735
|
if (isContainerDef(item)) {
|
|
649
|
-
compileContainer(item, outputs);
|
|
736
|
+
compileContainer(item, outputs, nested, "");
|
|
650
737
|
continue;
|
|
651
738
|
}
|
|
652
739
|
if (isDataProductDef(item)) {
|
package/dist/compiler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export * from "./generated/ast.js";
|
|
|
6
6
|
export { astToGraph } from "./graph.js";
|
|
7
7
|
export type { GraphNode, GraphEdge, DslGraph } from "./graph-types.js";
|
|
8
8
|
export { compile } from "./compiler.js";
|
|
9
|
-
export type { CompiledOutput } from "./compiler.js";
|
|
9
|
+
export type { CompiledOutput, CompileOptions } from "./compiler.js";
|
|
10
10
|
export * from "./ast-utils.js";
|
|
11
11
|
export { formatEc } from "./formatter.js";
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|