1{
2 "ast": {
3 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,0:0:0-57:0:1180",
4 "nodes": [
5 {
6 "map_key": {
7 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,1:0:1-44:1:1007",
8 "key": {
9 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,1:0:1-1:11:12",
10 "path": [
11 {
12 "unquoted_string": {
13 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,1:0:1-1:11:12",
14 "value": [
15 {
16 "string": "sql_example",
17 "raw_string": "sql_example"
18 }
19 ]
20 }
21 }
22 ]
23 },
24 "primary": {
25 "unquoted_string": {
26 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,1:13:14-1:24:25",
27 "value": [
28 {
29 "string": "sql_example",
30 "raw_string": "sql_example"
31 }
32 ]
33 }
34 },
35 "value": {
36 "map": {
37 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,1:25:26-44:1:1007",
38 "nodes": [
39 {
40 "map_key": {
41 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,2:2:30-11:3:311",
42 "key": {
43 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,2:2:30-2:7:35",
44 "path": [
45 {
46 "unquoted_string": {
47 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,2:2:30-2:7:35",
48 "value": [
49 {
50 "string": "board",
51 "raw_string": "board"
52 }
53 ]
54 }
55 }
56 ]
57 },
58 "primary": {},
59 "value": {
60 "map": {
61 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,2:9:37-11:3:311",
62 "nodes": [
63 {
64 "map_key": {
65 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,3:4:43-3:20:59",
66 "key": {
67 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,3:4:43-3:9:48",
68 "path": [
69 {
70 "unquoted_string": {
71 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,3:4:43-3:9:48",
72 "value": [
73 {
74 "string": "shape",
75 "raw_string": "shape"
76 }
77 ]
78 }
79 }
80 ]
81 },
82 "primary": {},
83 "value": {
84 "unquoted_string": {
85 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,3:11:50-3:20:59",
86 "value": [
87 {
88 "string": "sql_table",
89 "raw_string": "sql_table"
90 }
91 ]
92 }
93 }
94 }
95 },
96 {
97 "map_key": {
98 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:4:64-4:37:97",
99 "key": {
100 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:4:64-4:6:66",
101 "path": [
102 {
103 "unquoted_string": {
104 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:4:64-4:6:66",
105 "value": [
106 {
107 "string": "id",
108 "raw_string": "id"
109 }
110 ]
111 }
112 }
113 ]
114 },
115 "primary": {
116 "unquoted_string": {
117 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:8:68-4:11:71",
118 "value": [
119 {
120 "string": "int",
121 "raw_string": "int"
122 }
123 ]
124 }
125 },
126 "value": {
127 "map": {
128 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:12:72-4:37:97",
129 "nodes": [
130 {
131 "map_key": {
132 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:13:73-4:36:96",
133 "key": {
134 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:13:73-4:23:83",
135 "path": [
136 {
137 "unquoted_string": {
138 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:13:73-4:23:83",
139 "value": [
140 {
141 "string": "constraint",
142 "raw_string": "constraint"
143 }
144 ]
145 }
146 }
147 ]
148 },
149 "primary": {},
150 "value": {
151 "unquoted_string": {
152 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,4:25:85-4:36:96",
153 "value": [
154 {
155 "string": "primary_key",
156 "raw_string": "primary_key"
157 }
158 ]
159 }
160 }
161 }
162 }
163 ]
164 }
165 }
166 }
167 },
168 {
169 "map_key": {
170 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:4:102-5:40:138",
171 "key": {
172 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:4:102-5:9:107",
173 "path": [
174 {
175 "unquoted_string": {
176 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:4:102-5:9:107",
177 "value": [
178 {
179 "string": "frame",
180 "raw_string": "frame"
181 }
182 ]
183 }
184 }
185 ]
186 },
187 "primary": {
188 "unquoted_string": {
189 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:11:109-5:14:112",
190 "value": [
191 {
192 "string": "int",
193 "raw_string": "int"
194 }
195 ]
196 }
197 },
198 "value": {
199 "map": {
200 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:15:113-5:40:138",
201 "nodes": [
202 {
203 "map_key": {
204 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:16:114-5:39:137",
205 "key": {
206 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:16:114-5:26:124",
207 "path": [
208 {
209 "unquoted_string": {
210 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:16:114-5:26:124",
211 "value": [
212 {
213 "string": "constraint",
214 "raw_string": "constraint"
215 }
216 ]
217 }
218 }
219 ]
220 },
221 "primary": {},
222 "value": {
223 "unquoted_string": {
224 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,5:28:126-5:39:137",
225 "value": [
226 {
227 "string": "foreign_key",
228 "raw_string": "foreign_key"
229 }
230 ]
231 }
232 }
233 }
234 }
235 ]
236 }
237 }
238 }
239 },
240 {
241 "map_key": {
242 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:4:143-6:42:181",
243 "key": {
244 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:4:143-6:11:150",
245 "path": [
246 {
247 "unquoted_string": {
248 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:4:143-6:11:150",
249 "value": [
250 {
251 "string": "diagram",
252 "raw_string": "diagram"
253 }
254 ]
255 }
256 }
257 ]
258 },
259 "primary": {
260 "unquoted_string": {
261 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:13:152-6:16:155",
262 "value": [
263 {
264 "string": "int",
265 "raw_string": "int"
266 }
267 ]
268 }
269 },
270 "value": {
271 "map": {
272 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:17:156-6:42:181",
273 "nodes": [
274 {
275 "map_key": {
276 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:18:157-6:41:180",
277 "key": {
278 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:18:157-6:28:167",
279 "path": [
280 {
281 "unquoted_string": {
282 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:18:157-6:28:167",
283 "value": [
284 {
285 "string": "constraint",
286 "raw_string": "constraint"
287 }
288 ]
289 }
290 }
291 ]
292 },
293 "primary": {},
294 "value": {
295 "unquoted_string": {
296 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,6:30:169-6:41:180",
297 "value": [
298 {
299 "string": "foreign_key",
300 "raw_string": "foreign_key"
301 }
302 ]
303 }
304 }
305 }
306 }
307 ]
308 }
309 }
310 }
311 },
312 {
313 "map_key": {
314 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,7:4:186-7:24:206",
315 "key": {
316 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,7:4:186-7:17:199",
317 "path": [
318 {
319 "unquoted_string": {
320 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,7:4:186-7:17:199",
321 "value": [
322 {
323 "string": "board_objects",
324 "raw_string": "board_objects"
325 }
326 ]
327 }
328 }
329 ]
330 },
331 "primary": {},
332 "value": {
333 "unquoted_string": {
334 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,7:19:201-7:24:206",
335 "value": [
336 {
337 "string": "jsonb",
338 "raw_string": "jsonb"
339 }
340 ]
341 }
342 }
343 }
344 },
345 {
346 "map_key": {
347 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,8:4:211-8:42:249",
348 "key": {
349 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,8:4:211-8:16:223",
350 "path": [
351 {
352 "unquoted_string": {
353 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,8:4:211-8:16:223",
354 "value": [
355 {
356 "string": "last_updated",
357 "raw_string": "last_updated"
358 }
359 ]
360 }
361 }
362 ]
363 },
364 "primary": {},
365 "value": {
366 "unquoted_string": {
367 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,8:18:225-8:42:249",
368 "value": [
369 {
370 "string": "timestamp with time zone",
371 "raw_string": "timestamp with time zone"
372 }
373 ]
374 }
375 }
376 }
377 },
378 {
379 "map_key": {
380 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,9:4:254-9:43:293",
381 "key": {
382 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,9:4:254-9:17:267",
383 "path": [
384 {
385 "unquoted_string": {
386 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,9:4:254-9:17:267",
387 "value": [
388 {
389 "string": "last_thumbgen",
390 "raw_string": "last_thumbgen"
391 }
392 ]
393 }
394 }
395 ]
396 },
397 "primary": {},
398 "value": {
399 "unquoted_string": {
400 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,9:19:269-9:43:293",
401 "value": [
402 {
403 "string": "timestamp with time zone",
404 "raw_string": "timestamp with time zone"
405 }
406 ]
407 }
408 }
409 }
410 },
411 {
412 "map_key": {
413 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,10:4:298-10:13:307",
414 "key": {
415 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,10:4:298-10:7:301",
416 "path": [
417 {
418 "unquoted_string": {
419 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,10:4:298-10:7:301",
420 "value": [
421 {
422 "string": "dsl",
423 "raw_string": "dsl"
424 }
425 ]
426 }
427 }
428 ]
429 },
430 "primary": {},
431 "value": {
432 "unquoted_string": {
433 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,10:9:303-10:13:307",
434 "value": [
435 {
436 "string": "text",
437 "raw_string": "text"
438 }
439 ]
440 }
441 }
442 }
443 }
444 ]
445 }
446 }
447 }
448 },
449 {
450 "comment": {
451 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,13:2:315-13:11:324",
452 "value": "Normal."
453 }
454 },
455 {
456 "map_key": {
457 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:2:327-14:30:355",
458 "edges": [
459 {
460 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:2:327-14:30:355",
461 "src": {
462 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:2:327-14:15:340",
463 "path": [
464 {
465 "unquoted_string": {
466 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:2:327-14:7:332",
467 "value": [
468 {
469 "string": "board",
470 "raw_string": "board"
471 }
472 ]
473 }
474 },
475 {
476 "unquoted_string": {
477 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:8:333-14:15:340",
478 "value": [
479 {
480 "string": "diagram",
481 "raw_string": "diagram"
482 }
483 ]
484 }
485 }
486 ]
487 },
488 "src_arrow": "",
489 "dst": {
490 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:19:344-14:30:355",
491 "path": [
492 {
493 "unquoted_string": {
494 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:19:344-14:27:352",
495 "value": [
496 {
497 "string": "diagrams",
498 "raw_string": "diagrams"
499 }
500 ]
501 }
502 },
503 {
504 "unquoted_string": {
505 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,14:28:353-14:30:355",
506 "value": [
507 {
508 "string": "id",
509 "raw_string": "id"
510 }
511 ]
512 }
513 }
514 ]
515 },
516 "dst_arrow": ">"
517 }
518 ],
519 "primary": {},
520 "value": {}
521 }
522 },
523 {
524 "comment": {
525 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,16:2:359-16:21:378",
526 "value": "Self referential."
527 }
528 },
529 {
530 "map_key": {
531 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:2:381-17:40:419",
532 "edges": [
533 {
534 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:2:381-17:40:419",
535 "src": {
536 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:2:381-17:13:392",
537 "path": [
538 {
539 "unquoted_string": {
540 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:2:381-17:10:389",
541 "value": [
542 {
543 "string": "diagrams",
544 "raw_string": "diagrams"
545 }
546 ]
547 }
548 },
549 {
550 "unquoted_string": {
551 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:11:390-17:13:392",
552 "value": [
553 {
554 "string": "id",
555 "raw_string": "id"
556 }
557 ]
558 }
559 }
560 ]
561 },
562 "src_arrow": "",
563 "dst": {
564 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:17:396-17:40:419",
565 "path": [
566 {
567 "unquoted_string": {
568 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:17:396-17:25:404",
569 "value": [
570 {
571 "string": "diagrams",
572 "raw_string": "diagrams"
573 }
574 ]
575 }
576 },
577 {
578 "unquoted_string": {
579 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,17:26:405-17:40:419",
580 "value": [
581 {
582 "string": "representation",
583 "raw_string": "representation"
584 }
585 ]
586 }
587 }
588 ]
589 },
590 "dst_arrow": ">"
591 }
592 ],
593 "primary": {},
594 "value": {}
595 }
596 },
597 {
598 "comment": {
599 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,19:2:423-19:18:439",
600 "value": "SrcArrow test."
601 }
602 },
603 {
604 "map_key": {
605 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:2:442-20:30:470",
606 "edges": [
607 {
608 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:2:442-20:30:470",
609 "src": {
610 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:2:442-20:13:453",
611 "path": [
612 {
613 "unquoted_string": {
614 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:2:442-20:10:450",
615 "value": [
616 {
617 "string": "diagrams",
618 "raw_string": "diagrams"
619 }
620 ]
621 }
622 },
623 {
624 "unquoted_string": {
625 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:11:451-20:13:453",
626 "value": [
627 {
628 "string": "id",
629 "raw_string": "id"
630 }
631 ]
632 }
633 }
634 ]
635 },
636 "src_arrow": "<",
637 "dst": {
638 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:17:457-20:30:470",
639 "path": [
640 {
641 "unquoted_string": {
642 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:17:457-20:22:462",
643 "value": [
644 {
645 "string": "views",
646 "raw_string": "views"
647 }
648 ]
649 }
650 },
651 {
652 "unquoted_string": {
653 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,20:23:463-20:30:470",
654 "value": [
655 {
656 "string": "diagram",
657 "raw_string": "diagram"
658 }
659 ]
660 }
661 }
662 ]
663 },
664 "dst_arrow": ""
665 }
666 ],
667 "primary": {},
668 "value": {}
669 }
670 },
671 {
672 "map_key": {
673 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:2:473-21:31:502",
674 "edges": [
675 {
676 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:2:473-21:31:502",
677 "src": {
678 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:2:473-21:13:484",
679 "path": [
680 {
681 "unquoted_string": {
682 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:2:473-21:10:481",
683 "value": [
684 {
685 "string": "diagrams",
686 "raw_string": "diagrams"
687 }
688 ]
689 }
690 },
691 {
692 "unquoted_string": {
693 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:11:482-21:13:484",
694 "value": [
695 {
696 "string": "id",
697 "raw_string": "id"
698 }
699 ]
700 }
701 }
702 ]
703 },
704 "src_arrow": "<",
705 "dst": {
706 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:18:489-21:31:502",
707 "path": [
708 {
709 "unquoted_string": {
710 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:18:489-21:23:494",
711 "value": [
712 {
713 "string": "steps",
714 "raw_string": "steps"
715 }
716 ]
717 }
718 },
719 {
720 "unquoted_string": {
721 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,21:24:495-21:31:502",
722 "value": [
723 {
724 "string": "diagram",
725 "raw_string": "diagram"
726 }
727 ]
728 }
729 }
730 ]
731 },
732 "dst_arrow": ">"
733 }
734 ],
735 "primary": {},
736 "value": {}
737 }
738 },
739 {
740 "map_key": {
741 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,23:2:506-27:3:621",
742 "key": {
743 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,23:2:506-23:10:514",
744 "path": [
745 {
746 "unquoted_string": {
747 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,23:2:506-23:10:514",
748 "value": [
749 {
750 "string": "diagrams",
751 "raw_string": "diagrams"
752 }
753 ]
754 }
755 }
756 ]
757 },
758 "primary": {},
759 "value": {
760 "map": {
761 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,23:12:516-27:3:621",
762 "nodes": [
763 {
764 "map_key": {
765 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,24:4:522-24:20:538",
766 "key": {
767 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,24:4:522-24:9:527",
768 "path": [
769 {
770 "unquoted_string": {
771 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,24:4:522-24:9:527",
772 "value": [
773 {
774 "string": "shape",
775 "raw_string": "shape"
776 }
777 ]
778 }
779 }
780 ]
781 },
782 "primary": {},
783 "value": {
784 "unquoted_string": {
785 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,24:11:529-24:20:538",
786 "value": [
787 {
788 "string": "sql_table",
789 "raw_string": "sql_table"
790 }
791 ]
792 }
793 }
794 }
795 },
796 {
797 "map_key": {
798 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:4:543-25:44:583",
799 "key": {
800 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:4:543-25:6:545",
801 "path": [
802 {
803 "unquoted_string": {
804 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:4:543-25:6:545",
805 "value": [
806 {
807 "string": "id",
808 "raw_string": "id"
809 }
810 ]
811 }
812 }
813 ]
814 },
815 "primary": {},
816 "value": {
817 "map": {
818 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:8:547-25:44:583",
819 "nodes": [
820 {
821 "map_key": {
822 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:9:548-25:43:582",
823 "key": {
824 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:9:548-25:13:552",
825 "path": [
826 {
827 "unquoted_string": {
828 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:9:548-25:13:552",
829 "value": [
830 {
831 "string": "type",
832 "raw_string": "type"
833 }
834 ]
835 }
836 }
837 ]
838 },
839 "primary": {},
840 "value": {
841 "unquoted_string": {
842 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,25:15:554-25:43:582",
843 "value": [
844 {
845 "string": "int, constraint: primary_key",
846 "raw_string": "int, constraint: primary_key"
847 }
848 ]
849 }
850 }
851 }
852 }
853 ]
854 }
855 }
856 }
857 },
858 {
859 "map_key": {
860 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:4:588-26:33:617",
861 "key": {
862 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:4:588-26:18:602",
863 "path": [
864 {
865 "unquoted_string": {
866 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:4:588-26:18:602",
867 "value": [
868 {
869 "string": "representation",
870 "raw_string": "representation"
871 }
872 ]
873 }
874 }
875 ]
876 },
877 "primary": {},
878 "value": {
879 "map": {
880 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:20:604-26:33:617",
881 "nodes": [
882 {
883 "map_key": {
884 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:21:605-26:32:616",
885 "key": {
886 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:21:605-26:25:609",
887 "path": [
888 {
889 "unquoted_string": {
890 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:21:605-26:25:609",
891 "value": [
892 {
893 "string": "type",
894 "raw_string": "type"
895 }
896 ]
897 }
898 }
899 ]
900 },
901 "primary": {},
902 "value": {
903 "unquoted_string": {
904 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,26:27:611-26:32:616",
905 "value": [
906 {
907 "string": "jsonb",
908 "raw_string": "jsonb"
909 }
910 ]
911 }
912 }
913 }
914 }
915 ]
916 }
917 }
918 }
919 }
920 ]
921 }
922 }
923 }
924 },
925 {
926 "map_key": {
927 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,29:2:625-34:3:780",
928 "key": {
929 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,29:2:625-29:7:630",
930 "path": [
931 {
932 "unquoted_string": {
933 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,29:2:625-29:7:630",
934 "value": [
935 {
936 "string": "views",
937 "raw_string": "views"
938 }
939 ]
940 }
941 }
942 ]
943 },
944 "primary": {},
945 "value": {
946 "map": {
947 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,29:9:632-34:3:780",
948 "nodes": [
949 {
950 "map_key": {
951 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,30:4:638-30:20:654",
952 "key": {
953 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,30:4:638-30:9:643",
954 "path": [
955 {
956 "unquoted_string": {
957 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,30:4:638-30:9:643",
958 "value": [
959 {
960 "string": "shape",
961 "raw_string": "shape"
962 }
963 ]
964 }
965 }
966 ]
967 },
968 "primary": {},
969 "value": {
970 "unquoted_string": {
971 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,30:11:645-30:20:654",
972 "value": [
973 {
974 "string": "sql_table",
975 "raw_string": "sql_table"
976 }
977 ]
978 }
979 }
980 }
981 },
982 {
983 "map_key": {
984 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:4:659-31:44:699",
985 "key": {
986 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:4:659-31:6:661",
987 "path": [
988 {
989 "unquoted_string": {
990 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:4:659-31:6:661",
991 "value": [
992 {
993 "string": "id",
994 "raw_string": "id"
995 }
996 ]
997 }
998 }
999 ]
1000 },
1001 "primary": {},
1002 "value": {
1003 "map": {
1004 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:8:663-31:44:699",
1005 "nodes": [
1006 {
1007 "map_key": {
1008 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:9:664-31:43:698",
1009 "key": {
1010 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:9:664-31:13:668",
1011 "path": [
1012 {
1013 "unquoted_string": {
1014 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:9:664-31:13:668",
1015 "value": [
1016 {
1017 "string": "type",
1018 "raw_string": "type"
1019 }
1020 ]
1021 }
1022 }
1023 ]
1024 },
1025 "primary": {},
1026 "value": {
1027 "unquoted_string": {
1028 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,31:15:670-31:43:698",
1029 "value": [
1030 {
1031 "string": "int, constraint: primary_key",
1032 "raw_string": "int, constraint: primary_key"
1033 }
1034 ]
1035 }
1036 }
1037 }
1038 }
1039 ]
1040 }
1041 }
1042 }
1043 },
1044 {
1045 "map_key": {
1046 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:4:704-32:33:733",
1047 "key": {
1048 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:4:704-32:18:718",
1049 "path": [
1050 {
1051 "unquoted_string": {
1052 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:4:704-32:18:718",
1053 "value": [
1054 {
1055 "string": "representation",
1056 "raw_string": "representation"
1057 }
1058 ]
1059 }
1060 }
1061 ]
1062 },
1063 "primary": {},
1064 "value": {
1065 "map": {
1066 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:20:720-32:33:733",
1067 "nodes": [
1068 {
1069 "map_key": {
1070 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:21:721-32:32:732",
1071 "key": {
1072 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:21:721-32:25:725",
1073 "path": [
1074 {
1075 "unquoted_string": {
1076 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:21:721-32:25:725",
1077 "value": [
1078 {
1079 "string": "type",
1080 "raw_string": "type"
1081 }
1082 ]
1083 }
1084 }
1085 ]
1086 },
1087 "primary": {},
1088 "value": {
1089 "unquoted_string": {
1090 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,32:27:727-32:32:732",
1091 "value": [
1092 {
1093 "string": "jsonb",
1094 "raw_string": "jsonb"
1095 }
1096 ]
1097 }
1098 }
1099 }
1100 }
1101 ]
1102 }
1103 }
1104 }
1105 },
1106 {
1107 "map_key": {
1108 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:4:738-33:42:776",
1109 "key": {
1110 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:4:738-33:11:745",
1111 "path": [
1112 {
1113 "unquoted_string": {
1114 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:4:738-33:11:745",
1115 "value": [
1116 {
1117 "string": "diagram",
1118 "raw_string": "diagram"
1119 }
1120 ]
1121 }
1122 }
1123 ]
1124 },
1125 "primary": {
1126 "unquoted_string": {
1127 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:13:747-33:16:750",
1128 "value": [
1129 {
1130 "string": "int",
1131 "raw_string": "int"
1132 }
1133 ]
1134 }
1135 },
1136 "value": {
1137 "map": {
1138 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:17:751-33:42:776",
1139 "nodes": [
1140 {
1141 "map_key": {
1142 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:18:752-33:41:775",
1143 "key": {
1144 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:18:752-33:28:762",
1145 "path": [
1146 {
1147 "unquoted_string": {
1148 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:18:752-33:28:762",
1149 "value": [
1150 {
1151 "string": "constraint",
1152 "raw_string": "constraint"
1153 }
1154 ]
1155 }
1156 }
1157 ]
1158 },
1159 "primary": {},
1160 "value": {
1161 "unquoted_string": {
1162 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,33:30:764-33:41:775",
1163 "value": [
1164 {
1165 "string": "foreign_key",
1166 "raw_string": "foreign_key"
1167 }
1168 ]
1169 }
1170 }
1171 }
1172 }
1173 ]
1174 }
1175 }
1176 }
1177 }
1178 ]
1179 }
1180 }
1181 }
1182 },
1183 {
1184 "comment": {
1185 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,36:2:784-42:39:983",
1186 "value": "steps: {\nshape: sql_table\nid: {type: int, constraint: primary_key}\nrepresentation: {type: jsonb}\ndiagram: int {constraint: foreign_key}\n}\nUncomment to make autolayout panic:"
1187 }
1188 },
1189 {
1190 "map_key": {
1191 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,43:2:986-43:21:1005",
1192 "edges": [
1193 {
1194 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,43:2:986-43:21:1005",
1195 "src": {
1196 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,43:2:986-43:6:990",
1197 "path": [
1198 {
1199 "unquoted_string": {
1200 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,43:2:986-43:6:990",
1201 "value": [
1202 {
1203 "string": "meow",
1204 "raw_string": "meow"
1205 }
1206 ]
1207 }
1208 }
1209 ]
1210 },
1211 "src_arrow": "<",
1212 "dst": {
1213 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,43:10:994-43:21:1005",
1214 "path": [
1215 {
1216 "unquoted_string": {
1217 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,43:10:994-43:18:1002",
1218 "value": [
1219 {
1220 "string": "diagrams",
1221 "raw_string": "diagrams"
1222 }
1223 ]
1224 }
1225 },
1226 {
1227 "unquoted_string": {
1228 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,43:19:1003-43:21:1005",
1229 "value": [
1230 {
1231 "string": "id",
1232 "raw_string": "id"
1233 }
1234 ]
1235 }
1236 }
1237 ]
1238 },
1239 "dst_arrow": ""
1240 }
1241 ],
1242 "primary": {},
1243 "value": {}
1244 }
1245 }
1246 ]
1247 }
1248 }
1249 }
1250 },
1251 {
1252 "map_key": {
1253 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,46:0:1009-56:1:1179",
1254 "key": {
1255 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,46:0:1009-46:13:1022",
1256 "path": [
1257 {
1258 "unquoted_string": {
1259 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,46:0:1009-46:13:1022",
1260 "value": [
1261 {
1262 "string": "D2 AST Parser",
1263 "raw_string": "D2 AST Parser"
1264 }
1265 ]
1266 }
1267 }
1268 ]
1269 },
1270 "primary": {},
1271 "value": {
1272 "map": {
1273 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,46:15:1024-56:1:1179",
1274 "nodes": [
1275 {
1276 "map_key": {
1277 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,47:2:1028-47:14:1040",
1278 "key": {
1279 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,47:2:1028-47:7:1033",
1280 "path": [
1281 {
1282 "unquoted_string": {
1283 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,47:2:1028-47:7:1033",
1284 "value": [
1285 {
1286 "string": "shape",
1287 "raw_string": "shape"
1288 }
1289 ]
1290 }
1291 }
1292 ]
1293 },
1294 "primary": {},
1295 "value": {
1296 "unquoted_string": {
1297 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,47:9:1035-47:14:1040",
1298 "value": [
1299 {
1300 "string": "class",
1301 "raw_string": "class"
1302 }
1303 ]
1304 }
1305 }
1306 }
1307 },
1308 {
1309 "map_key": {
1310 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,49:2:1044-49:17:1059",
1311 "key": {
1312 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,49:2:1044-49:11:1053",
1313 "path": [
1314 {
1315 "unquoted_string": {
1316 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,49:2:1044-49:11:1053",
1317 "value": [
1318 {
1319 "string": "+prevRune",
1320 "raw_string": "+prevRune"
1321 }
1322 ]
1323 }
1324 }
1325 ]
1326 },
1327 "primary": {},
1328 "value": {
1329 "unquoted_string": {
1330 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,49:13:1055-49:17:1059",
1331 "value": [
1332 {
1333 "string": "rune",
1334 "raw_string": "rune"
1335 }
1336 ]
1337 }
1338 }
1339 }
1340 },
1341 {
1342 "map_key": {
1343 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,50:2:1062-50:17:1077",
1344 "key": {
1345 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,50:2:1062-50:12:1072",
1346 "path": [
1347 {
1348 "unquoted_string": {
1349 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,50:2:1062-50:12:1072",
1350 "value": [
1351 {
1352 "string": "prevColumn",
1353 "raw_string": "prevColumn"
1354 }
1355 ]
1356 }
1357 }
1358 ]
1359 },
1360 "primary": {},
1361 "value": {
1362 "unquoted_string": {
1363 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,50:14:1074-50:17:1077",
1364 "value": [
1365 {
1366 "string": "int",
1367 "raw_string": "int"
1368 }
1369 ]
1370 }
1371 }
1372 }
1373 },
1374 {
1375 "map_key": {
1376 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,52:2:1081-52:44:1123",
1377 "key": {
1378 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,52:2:1081-52:29:1108",
1379 "path": [
1380 {
1381 "unquoted_string": {
1382 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,52:2:1081-52:29:1108",
1383 "value": [
1384 {
1385 "string": "+eatSpace(eatNewlines bool)",
1386 "raw_string": "+eatSpace(eatNewlines bool)"
1387 }
1388 ]
1389 }
1390 }
1391 ]
1392 },
1393 "primary": {},
1394 "value": {
1395 "unquoted_string": {
1396 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,52:31:1110-52:44:1123",
1397 "value": [
1398 {
1399 "string": "(rune, error)",
1400 "raw_string": "(rune, error)"
1401 }
1402 ]
1403 }
1404 }
1405 }
1406 },
1407 {
1408 "map_key": {
1409 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,53:2:1126-53:14:1138",
1410 "key": {
1411 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,53:2:1126-53:14:1138",
1412 "path": [
1413 {
1414 "unquoted_string": {
1415 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,53:2:1126-53:14:1138",
1416 "value": [
1417 {
1418 "string": "unreadRune()",
1419 "raw_string": "unreadRune()"
1420 }
1421 ]
1422 }
1423 }
1424 ]
1425 },
1426 "primary": {},
1427 "value": {}
1428 }
1429 },
1430 {
1431 "map_key": {
1432 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,55:2:1142-55:37:1177",
1433 "key": {
1434 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,55:2:1142-55:19:1159",
1435 "path": [
1436 {
1437 "unquoted_string": {
1438 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,55:2:1142-55:19:1159",
1439 "value": [
1440 {
1441 "string": "#scanKey(r rune)",
1442 "raw_string": "\\#scanKey(r rune)"
1443 }
1444 ]
1445 }
1446 }
1447 ]
1448 },
1449 "primary": {},
1450 "value": {
1451 "unquoted_string": {
1452 "range": "d2/testdata/d2parser/TestParse/table_and_class.d2,55:21:1161-55:37:1177",
1453 "value": [
1454 {
1455 "string": "(k Key, _ error)",
1456 "raw_string": "(k Key, _ error)"
1457 }
1458 ]
1459 }
1460 }
1461 }
1462 }
1463 ]
1464 }
1465 }
1466 }
1467 }
1468 ]
1469 },
1470 "err": null
1471}
View as plain text