Create new
Bindings
Transitions
Animations
Easing
Component composition
Context API
Special elements
Module context
Debugging
Miscellaneous
App.svelte
Santa.svelte
runes
This component is in runes mode.
To disable runes mode, add the following to the top of your component:
<svelte:options runes={false} />
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
⌄
⌄
⌄
⌄
⌄
<script>
import { Spring } from 'svelte/motion';
import Santa from './Santa.svelte';
let coords = new Spring({ x: 100, y: 100 });
let size = new Spring(1);
let spin = new Spring(0);
let rotate = $derived(spin.current * 360 + (coords.target.x - coords.current.x) * 0.1);
</script>
<svg
role="presentation"
onmousemove={(e) => {
coords.target = { x: e.clientX, y: e.clientY };
}}
onmousedown={(e) => {
spin.target += 1;
size.target = 2;
}}
onmouseup={(e) => {
size.target = 1;
}}
>
<g transform="translate({coords.current.x},{coords.current.y})">
<g transform="scale({size.current}) rotate({rotate})">
<Santa />
</g>
</g>
</svg>
<style>
svg {
position: fixed;
left: 0;
top: 0;
Error compiling component
WebAssembly.instantiateStreaming(): value type opcode @+13
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
⌄
⌄
⌄
import "svelte/internal/disclose-version";
import * as $ from "svelte/internal/client";
import { Spring } from 'svelte/motion';
import Santa from './Santa.svelte';
var root = $.ns_template(`<svg role="presentation" class="svelte-1l8zbh2"><g><g><!></g></g></svg>`);
export default function App($$anchor, $$props) {
$.push($$props, true);
let coords = new Spring({ x: 100, y: 100 });
let size = new Spring(1);
let spin = new Spring(0);
let rotate = $.derived(() => spin.current * 360 + (coords.target.x - coords.current.x) * 0.1);
var svg = root();
svg.__mousemove = (e) => {
coords.target = { x: e.clientX, y: e.clientY };
};
svg.__mousedown = (e) => {
spin.target += 1;
size.target = 2;
};
svg.__mouseup = (e) => {
size.target = 1;
};
var g = $.child(svg);
var g_1 = $.child(g);
var node = $.child(g_1);
Santa(node, {});
$.reset(g_1);
$.reset(g);
result = svelte.compile(source, {
generate: ,
});9
1
2
3
4
5
6
7
8
9
›
svg.svelte-1l8zbh2 {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
Root {
css: StyleSheet {...}
- type: "StyleSheet"
- start: 661
- end: 758
- attributes: []
children: [...] (1)
Rule {...}
- type: "Rule"
prelude: SelectorList {...}
- type: "SelectorList"
- start: 670
- end: 673
children: [...] (1)
ComplexSelector {...}
- type: "ComplexSelector"
- start: 670
- end: 673
children: [...] (1)
RelativeSelector {...}
- type: "RelativeSelector"
- combinator: null
selectors: [...] (1)
TypeSelector {...}
- type: "TypeSelector"
- name: "svg"
- start: 670
- end: 673
}
]- start: 670
- end: 673
}
]
}
]
}block: Block {...}
- type: "Block"
- start: 674
- end: 749
children: [...] (5)
Declaration {...}
- type: "Declaration"
- start: 678
- end: 693
- property: "position"
- value: "fixed"
} Declaration {...}
- type: "Declaration"
- start: 697
- end: 704
- property: "left"
- value: "0"
} Declaration {...}
- type: "Declaration"
- start: 708
- end: 714
- property: "top"
- value: "0"
} Declaration {...}
- type: "Declaration"
- start: 718
- end: 729
- property: "width"
- value: "100%"
} Declaration {...}
- type: "Declaration"
- start: 733
- end: 745
- property: "height"
- value: "100%"
}
]
}- start: 670
- end: 749
}
]content: {...}
- start: 668
- end: 750
- styles: "\n\tsvg {\n\t\tposition: fixed;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n"
- comment: null
}
}- js: []
- start: 289
- end: 659
- type: "Root"
fragment: Fragment {...}
- type: "Fragment"
nodes: [...] (3)
Text {...}
- type: "Text"
- start: 287
- end: 289
- raw: "\n\n"
- data: "\n\n"
} RegularElement {...}
- type: "RegularElement"
- start: 289
- end: 659
- name: "svg"
attributes: [...] (5)
Attribute {...}
- type: "Attribute"
- start: 295
- end: 314
- name: "role"
value: [...] (1)
Text {...}
- start: 301
- end: 313
- type: "Text"
- raw: "presentation"
- data: "presentation"
}
]
} Attribute {...}
- type: "Attribute"
- start: 316
- end: 391
- name: "onmousemove"
value: ExpressionTag {...}
- type: "ExpressionTag"
- start: 328
- end: 391
expression: ArrowFunctionExpression {...}
- type: "ArrowFunctionExpression"
- start: 329
- end: 390
loc: {...}
start: {...}
- line: 14
- column: 14
}end: {...}
- line: 16
- column: 2
}
}- id: null
- expression: false
- generator: false
- async: false
params: [...] (1)
Identifier {...}
- type: "Identifier"
- start: 330
- end: 331
loc: {...}
start: {...}
- line: 14
- column: 15
}end: {...}
- line: 14
- column: 16
}
}- name: "e"
}
]body: BlockStatement {...}
- type: "BlockStatement"
- start: 336
- end: 390
loc: {...}
start: {...}
- line: 14
- column: 21
}end: {...}
- line: 16
- column: 2
}
}body: [...] (1)
ExpressionStatement {...}
- type: "ExpressionStatement"
- start: 340
- end: 387
loc: {...}
start: {...}
- line: 15
- column: 2
}end: {...}
- line: 15
- column: 49
}
}expression: AssignmentExpression {...}
- type: "AssignmentExpression"
- start: 340
- end: 386
loc: {...}
start: {...}
- line: 15
- column: 2
}end: {...}
- line: 15
- column: 48
}
}- operator: "="
left: MemberExpression {...}
- type: "MemberExpression"
- start: 340
- end: 353
loc: {...}
start: {...}
- line: 15
- column: 2
}end: {...}
- line: 15
- column: 15
}
}object: Identifier {...}
- type: "Identifier"
- start: 340
- end: 346
loc: {...}
start: {...}
- line: 15
- column: 2
}end: {...}
- line: 15
- column: 8
}
}- name: "coords"
}property: Identifier {...}
- type: "Identifier"
- start: 347
- end: 353
loc: {...}
start: {...}
- line: 15
- column: 9
}end: {...}
- line: 15
- column: 15
}
}- name: "target"
}- computed: false
- optional: false
}right: ObjectExpression {...}
- type: "ObjectExpression"
- start: 356
- end: 386
loc: {...}
start: {...}
- line: 15
- column: 18
}end: {...}
- line: 15
- column: 48
}
}properties: [...] (2)
Property {...}
- type: "Property"
- start: 358
- end: 370
loc: {...}
start: {...}
- line: 15
- column: 20
}end: {...}
- line: 15
- column: 32
}
}- method: false
- shorthand: false
- computed: false
key: Identifier {...}
- type: "Identifier"
- start: 358
- end: 359
loc: {...}
start: {...}
- line: 15
- column: 20
}end: {...}
- line: 15
- column: 21
}
}- name: "x"
}value: MemberExpression {...}
- type: "MemberExpression"
- start: 361
- end: 370
loc: {...}
start: {...}
- line: 15
- column: 23
}end: {...}
- line: 15
- column: 32
}
}object: Identifier {...}
- type: "Identifier"
- start: 361
- end: 362
loc: {...}
start: {...}
- line: 15
- column: 23
}end: {...}
- line: 15
- column: 24
}
}- name: "e"
}property: Identifier {...}
- type: "Identifier"
- start: 363
- end: 370
loc: {...}
start: {...}
- line: 15
- column: 25
}end: {...}
- line: 15
- column: 32
}
}- name: "clientX"
}- computed: false
- optional: false
}- kind: "init"
} Property {...}
- type: "Property"
- start: 372
- end: 384
loc: {...}
start: {...}
- line: 15
- column: 34
}end: {...}
- line: 15
- column: 46
}
}- method: false
- shorthand: false
- computed: false
key: Identifier {...}
- type: "Identifier"
- start: 372
- end: 373
loc: {...}
start: {...}
- line: 15
- column: 34
}end: {...}
- line: 15
- column: 35
}
}- name: "y"
}value: MemberExpression {...}
- type: "MemberExpression"
- start: 375
- end: 384
loc: {...}
start: {...}
- line: 15
- column: 37
}end: {...}
- line: 15
- column: 46
}
}object: Identifier {...}
- type: "Identifier"
- start: 375
- end: 376
loc: {...}
start: {...}
- line: 15
- column: 37
}end: {...}
- line: 15
- column: 38
}
}- name: "e"
}property: Identifier {...}
- type: "Identifier"
- start: 377
- end: 384
loc: {...}
start: {...}
- line: 15
- column: 39
}end: {...}
- line: 15
- column: 46
}
}- name: "clientY"
}- computed: false
- optional: false
}- kind: "init"
}
]
}
}
}
]
}
}
}
} Attribute {...}
- type: "Attribute"
- start: 393
- end: 457
- name: "onmousedown"
value: ExpressionTag {...}
- type: "ExpressionTag"
- start: 405
- end: 457
expression: ArrowFunctionExpression {...}
- type: "ArrowFunctionExpression"
- start: 406
- end: 456
loc: {...}
start: {...}
- line: 17
- column: 14
}end: {...}
- line: 20
- column: 2
}
}- id: null
- expression: false
- generator: false
- async: false
params: [...] (1)
Identifier {...}
- type: "Identifier"
- start: 407
- end: 408
loc: {...}
start: {...}
- line: 17
- column: 15
}end: {...}
- line: 17
- column: 16
}
}- name: "e"
}
]body: BlockStatement {...}
- type: "BlockStatement"
- start: 413
- end: 456
loc: {...}
start: {...}
- line: 17
- column: 21
}end: {...}
- line: 20
- column: 2
}
}body: [...] (2)
ExpressionStatement {...}
- type: "ExpressionStatement"
- start: 417
- end: 434
loc: {...}
start: {...}
- line: 18
- column: 2
}end: {...}
- line: 18
- column: 19
}
}expression: AssignmentExpression {...}
- type: "AssignmentExpression"
- start: 417
- end: 433
loc: {...}
start: {...}
- line: 18
- column: 2
}end: {...}
- line: 18
- column: 18
}
}- operator: "+="
left: MemberExpression {...}
- type: "MemberExpression"
- start: 417
- end: 428
loc: {...}
start: {...}
- line: 18
- column: 2
}end: {...}
- line: 18
- column: 13
}
}object: Identifier {...}
- type: "Identifier"
- start: 417
- end: 421
loc: {...}
start: {...}
- line: 18
- column: 2
}end: {...}
- line: 18
- column: 6
}
}- name: "spin"
}property: Identifier {...}
- type: "Identifier"
- start: 422
- end: 428
loc: {...}
start: {...}
- line: 18
- column: 7
}end: {...}
- line: 18
- column: 13
}
}- name: "target"
}- computed: false
- optional: false
}right: Literal {...}
- type: "Literal"
- start: 432
- end: 433
loc: {...}
start: {...}
- line: 18
- column: 17
}end: {...}
- line: 18
- column: 18
}
}- value: 1
- raw: "1"
}
}
} ExpressionStatement {...}
- type: "ExpressionStatement"
- start: 437
- end: 453
loc: {...}
start: {...}
- line: 19
- column: 2
}end: {...}
- line: 19
- column: 18
}
}expression: AssignmentExpression {...}
- type: "AssignmentExpression"
- start: 437
- end: 452
loc: {...}
start: {...}
- line: 19
- column: 2
}end: {...}
- line: 19
- column: 17
}
}- operator: "="
left: MemberExpression {...}
- type: "MemberExpression"
- start: 437
- end: 448
loc: {...}
start: {...}
- line: 19
- column: 2
}end: {...}
- line: 19
- column: 13
}
}object: Identifier {...}
- type: "Identifier"
- start: 437
- end: 441
loc: {...}
start: {...}
- line: 19
- column: 2
}end: {...}
- line: 19
- column: 6
}
}- name: "size"
}property: Identifier {...}
- type: "Identifier"
- start: 442
- end: 448
loc: {...}
start: {...}
- line: 19
- column: 7
}end: {...}
- line: 19
- column: 13
}
}- name: "target"
}- computed: false
- optional: false
}right: Literal {...}
- type: "Literal"
- start: 451
- end: 452
loc: {...}
start: {...}
- line: 19
- column: 16
}end: {...}
- line: 19
- column: 17
}
}- value: 2
- raw: "2"
}
}
}
]
}
}
}
} Attribute {...}
- type: "Attribute"
- start: 459
- end: 501
- name: "onmouseup"
value: ExpressionTag {...}
- type: "ExpressionTag"
- start: 469
- end: 501
expression: ArrowFunctionExpression {...}
- type: "ArrowFunctionExpression"
- start: 470
- end: 500
loc: {...}
start: {...}
- line: 21
- column: 12
}end: {...}
- line: 23
- column: 2
}
}- id: null
- expression: false
- generator: false
- async: false
params: [...] (1)
Identifier {...}
- type: "Identifier"
- start: 471
- end: 472
loc: {...}
start: {...}
- line: 21
- column: 13
}end: {...}
- line: 21
- column: 14
}
}- name: "e"
}
]body: BlockStatement {...}
- type: "BlockStatement"
- start: 477
- end: 500
loc: {...}
start: {...}
- line: 21
- column: 19
}end: {...}
- line: 23
- column: 2
}
}body: [...] (1)
ExpressionStatement {...}
- type: "ExpressionStatement"
- start: 481
- end: 497
loc: {...}
start: {...}
- line: 22
- column: 2
}end: {...}
- line: 22
- column: 18
}
}expression: AssignmentExpression {...}
- type: "AssignmentExpression"
- start: 481
- end: 496
loc: {...}
start: {...}
- line: 22
- column: 2
}end: {...}
- line: 22
- column: 17
}
}- operator: "="
left: MemberExpression {...}
- type: "MemberExpression"
- start: 481
- end: 492
loc: {...}
start: {...}
- line: 22
- column: 2
}end: {...}
- line: 22
- column: 13
}
}object: Identifier {...}
- type: "Identifier"
- start: 481
- end: 485
loc: {...}
start: {...}
- line: 22
- column: 2
}end: {...}
- line: 22
- column: 6
}
}- name: "size"
}property: Identifier {...}
- type: "Identifier"
- start: 486
- end: 492
loc: {...}
start: {...}
- line: 22
- column: 7
}end: {...}
- line: 22
- column: 13
}
}- name: "target"
}- computed: false
- optional: false
}right: Literal {...}
- type: "Literal"
- start: 495
- end: 496
loc: {...}
start: {...}
- line: 22
- column: 16
}end: {...}
- line: 22
- column: 17
}
}- value: 1
- raw: "1"
}
}
}
]
}
}
}
} Attribute {...}
- type: "Attribute"
- start: -1
- end: -1
- name: "class"
value: [...] (1)
Text {...}
- type: "Text"
- data: "svelte-1l8zbh2"
- raw: "svelte-1l8zbh2"
- start: -1
- end: -1
}
]
}
]fragment: Fragment {...}
- type: "Fragment"
nodes: [...] (3)
Text {...}
- type: "Text"
- start: 503
- end: 505
- raw: "\n\t"
- data: "\n\t"
} RegularElement {...}
- type: "RegularElement"
- start: 505
- end: 652
- name: "g"
attributes: [...] (1)
Attribute {...}
- type: "Attribute"
- start: 508
- end: 568
- name: "transform"
value: [...] (5)
Text {...}
- start: 519
- end: 529
- type: "Text"
- raw: "translate("
- data: "translate("
} ExpressionTag {...}
- type: "ExpressionTag"
- start: 529
- end: 547
expression: MemberExpression {...}
- type: "MemberExpression"
- start: 530
- end: 546
loc: {...}
start: {...}
- line: 25
- column: 26
}end: {...}
- line: 25
- column: 42
}
}object: MemberExpression {...}
- type: "MemberExpression"
- start: 530
- end: 544
loc: {...}
start: {...}
- line: 25
- column: 26
}end: {...}
- line: 25
- column: 40
}
}object: Identifier {...}
- type: "Identifier"
- start: 530
- end: 536
loc: {...}
start: {...}
- line: 25
- column: 26
}end: {...}
- line: 25
- column: 32
}
}- name: "coords"
}property: Identifier {...}
- type: "Identifier"
- start: 537
- end: 544
loc: {...}
start: {...}
- line: 25
- column: 33
}end: {...}
- line: 25
- column: 40
}
}- name: "current"
}- computed: false
- optional: false
}property: Identifier {...}
- type: "Identifier"
- start: 545
- end: 546
loc: {...}
start: {...}
- line: 25
- column: 41
}end: {...}
- line: 25
- column: 42
}
}- name: "x"
}- computed: false
- optional: false
}
} Text {...}
- start: 547
- end: 548
- type: "Text"
- raw: ","
- data: ","
} ExpressionTag {...}
- type: "ExpressionTag"
- start: 548
- end: 566
expression: MemberExpression {...}
- type: "MemberExpression"
- start: 549
- end: 565
loc: {...}
start: {...}
- line: 25
- column: 45
}end: {...}
- line: 25
- column: 61
}
}object: MemberExpression {...}
- type: "MemberExpression"
- start: 549
- end: 563
loc: {...}
start: {...}
- line: 25
- column: 45
}end: {...}
- line: 25
- column: 59
}
}object: Identifier {...}
- type: "Identifier"
- start: 549
- end: 555
loc: {...}
start: {...}
- line: 25
- column: 45
}end: {...}
- line: 25
- column: 51
}
}- name: "coords"
}property: Identifier {...}
- type: "Identifier"
- start: 556
- end: 563
loc: {...}
start: {...}
- line: 25
- column: 52
}end: {...}
- line: 25
- column: 59
}
}- name: "current"
}- computed: false
- optional: false
}property: Identifier {...}
- type: "Identifier"
- start: 564
- end: 565
loc: {...}
start: {...}
- line: 25
- column: 60
}end: {...}
- line: 25
- column: 61
}
}- name: "y"
}- computed: false
- optional: false
}
} Text {...}
- start: 566
- end: 567
- type: "Text"
- raw: ")"
- data: ")"
}
]
}
]fragment: Fragment {...}
- type: "Fragment"
nodes: [...] (3)
Text {...}
- type: "Text"
- start: 569
- end: 572
- raw: "\n\t\t"
- data: "\n\t\t"
} RegularElement {...}
- type: "RegularElement"
- start: 572
- end: 646
- name: "g"
attributes: [...] (1)
Attribute {...}
- type: "Attribute"
- start: 575
- end: 625
- name: "transform"
value: [...] (5)
Text {...}
- start: 586
- end: 592
- type: "Text"
- raw: "scale("
- data: "scale("
} ExpressionTag {...}
- type: "ExpressionTag"
- start: 592
- end: 606
expression: MemberExpression {...}
- type: "MemberExpression"
- start: 593
- end: 605
loc: {...}
start: {...}
- line: 26
- column: 23
}end: {...}
- line: 26
- column: 35
}
}object: Identifier {...}
- type: "Identifier"
- start: 593
- end: 597
loc: {...}
start: {...}
- line: 26
- column: 23
}end: {...}
- line: 26
- column: 27
}
}- name: "size"
}property: Identifier {...}
- type: "Identifier"
- start: 598
- end: 605
loc: {...}
start: {...}
- line: 26
- column: 28
}end: {...}
- line: 26
- column: 35
}
}- name: "current"
}- computed: false
- optional: false
}
} Text {...}
- start: 606
- end: 615
- type: "Text"
- raw: ") rotate("
- data: ") rotate("
} ExpressionTag {...}
- type: "ExpressionTag"
- start: 615
- end: 623
expression: Identifier {...}
- type: "Identifier"
- start: 616
- end: 622
loc: {...}
start: {...}
- line: 26
- column: 46
}end: {...}
- line: 26
- column: 52
}
}- name: "rotate"
}
} Text {...}
- start: 623
- end: 624
- type: "Text"
- raw: ")"
- data: ")"
}
]
}
]fragment: Fragment {...}
- type: "Fragment"
nodes: [...] (3)
Text {...}
- type: "Text"
- start: 626
- end: 630
- raw: "\n\t\t\t"
- data: "\n\t\t\t"
} Component {...}
- type: "Component"
- start: 630
- end: 639
- name: "Santa"
- attributes: []
fragment: Fragment {...}
- type: "Fragment"
- nodes: []
}
} Text {...}
- type: "Text"
- start: 639
- end: 642
- raw: "\n\t\t"
- data: "\n\t\t"
}
]
}
} Text {...}
- type: "Text"
- start: 646
- end: 648
- raw: "\n\t"
- data: "\n\t"
}
]
}
} Text {...}
- type: "Text"
- start: 652
- end: 653
- raw: "\n"
- data: "\n"
}
]
}
} Text {...}
- type: "Text"
- start: 659
- end: 661
- raw: "\n\n"
- data: "\n\n"
}
]
}- options: null
instance: Script {...}
- type: "Script"
- start: 0
- end: 287
- context: "default"
content: Program {...}
- type: "Program"
- start: 8
- end: 278
loc: {...}
start: {...}
- line: 1
- column: 0
}end: {...}
- line: 10
- column: 0
}
}body: [...] (6)
ImportDeclaration {...}
- type: "ImportDeclaration"
- start: 10
- end: 49
loc: {...}
start: {...}
- line: 2
- column: 1
}end: {...}
- line: 2
- column: 40
}
}specifiers: [...] (1)
ImportSpecifier {...}
- type: "ImportSpecifier"
- start: 19
- end: 25
loc: {...}
start: {...}
- line: 2
- column: 10
}end: {...}
- line: 2
- column: 16
}
}imported: Identifier {...}
- type: "Identifier"
- start: 19
- end: 25
loc: {...}
start: {...}
- line: 2
- column: 10
}end: {...}
- line: 2
- column: 16
}
}- name: "Spring"
}local: Identifier {...}
- type: "Identifier"
- start: 19
- end: 25
loc: {...}
start: {...}
- line: 2
- column: 10
}end: {...}
- line: 2
- column: 16
}
}- name: "Spring"
}
}
]source: Literal {...}
- type: "Literal"
- start: 33
- end: 48
loc: {...}
start: {...}
- line: 2
- column: 24
}end: {...}
- line: 2
- column: 39
}
}- value: "svelte/motion"
- raw: "'svelte/motion'"
}
} ImportDeclaration {...}
- type: "ImportDeclaration"
- start: 51
- end: 86
loc: {...}
start: {...}
- line: 3
- column: 1
}end: {...}
- line: 3
- column: 36
}
}specifiers: [...] (1)
ImportDefaultSpecifier {...}
- type: "ImportDefaultSpecifier"
- start: 58
- end: 63
loc: {...}
start: {...}
- line: 3
- column: 8
}end: {...}
- line: 3
- column: 13
}
}local: Identifier {...}
- type: "Identifier"
- start: 58
- end: 63
loc: {...}
start: {...}
- line: 3
- column: 8
}end: {...}
- line: 3
- column: 13
}
}- name: "Santa"
}
}
]source: Literal {...}
- type: "Literal"
- start: 69
- end: 85
loc: {...}
start: {...}
- line: 3
- column: 19
}end: {...}
- line: 3
- column: 35
}
}- value: "./Santa.svelte"
- raw: "'./Santa.svelte'"
}
} VariableDeclaration {...}
- type: "VariableDeclaration"
- start: 89
- end: 133
loc: {...}
start: {...}
- line: 5
- column: 1
}end: {...}
- line: 5
- column: 45
}
}declarations: [...] (1)
VariableDeclarator {...}
- type: "VariableDeclarator"
- start: 93
- end: 132
loc: {...}
start: {...}
- line: 5
- column: 5
}end: {...}
- line: 5
- column: 44
}
}id: Identifier {...}
- type: "Identifier"
- start: 93
- end: 99
loc: {...}
start: {...}
- line: 5
- column: 5
}end: {...}
- line: 5
- column: 11
}
}- name: "coords"
}init: NewExpression {...}
- type: "NewExpression"
- start: 102
- end: 132
loc: {...}
start: {...}
- line: 5
- column: 14
}end: {...}
- line: 5
- column: 44
}
}callee: Identifier {...}
- type: "Identifier"
- start: 106
- end: 112
loc: {...}
start: {...}
- line: 5
- column: 18
}end: {...}
- line: 5
- column: 24
}
}- name: "Spring"
}arguments: [...] (1)
ObjectExpression {...}
- type: "ObjectExpression"
- start: 113
- end: 131
loc: {...}
start: {...}
- line: 5
- column: 25
}end: {...}
- line: 5
- column: 43
}
}properties: [...] (2)
Property {...}
- type: "Property"
- start: 115
- end: 121
loc: {...}
start: {...}
- line: 5
- column: 27
}end: {...}
- line: 5
- column: 33
}
}- method: false
- shorthand: false
- computed: false
key: Identifier {...}
- type: "Identifier"
- start: 115
- end: 116
loc: {...}
start: {...}
- line: 5
- column: 27
}end: {...}
- line: 5
- column: 28
}
}- name: "x"
}value: Literal {...}
- type: "Literal"
- start: 118
- end: 121
loc: {...}
start: {...}
- line: 5
- column: 30
}end: {...}
- line: 5
- column: 33
}
}- value: 100
- raw: "100"
}- kind: "init"
} Property {...}
- type: "Property"
- start: 123
- end: 129
loc: {...}
start: {...}
- line: 5
- column: 35
}end: {...}
- line: 5
- column: 41
}
}- method: false
- shorthand: false
- computed: false
key: Identifier {...}
- type: "Identifier"
- start: 123
- end: 124
loc: {...}
start: {...}
- line: 5
- column: 35
}end: {...}
- line: 5
- column: 36
}
}- name: "y"
}value: Literal {...}
- type: "Literal"
- start: 126
- end: 129
loc: {...}
start: {...}
- line: 5
- column: 38
}end: {...}
- line: 5
- column: 41
}
}- value: 100
- raw: "100"
}- kind: "init"
}
]
}
]
}
}
]- kind: "let"
} VariableDeclaration {...}
- type: "VariableDeclaration"
- start: 135
- end: 160
loc: {...}
start: {...}
- line: 6
- column: 1
}end: {...}
- line: 6
- column: 26
}
}declarations: [...] (1)
VariableDeclarator {...}
- type: "VariableDeclarator"
- start: 139
- end: 159
loc: {...}
start: {...}
- line: 6
- column: 5
}end: {...}
- line: 6
- column: 25
}
}id: Identifier {...}
- type: "Identifier"
- start: 139
- end: 143
loc: {...}
start: {...}
- line: 6
- column: 5
}end: {...}
- line: 6
- column: 9
}
}- name: "size"
}init: NewExpression {...}
- type: "NewExpression"
- start: 146
- end: 159
loc: {...}
start: {...}
- line: 6
- column: 12
}end: {...}
- line: 6
- column: 25
}
}callee: Identifier {...}
- type: "Identifier"
- start: 150
- end: 156
loc: {...}
start: {...}
- line: 6
- column: 16
}end: {...}
- line: 6
- column: 22
}
}- name: "Spring"
}arguments: [...] (1)
Literal {...}
- type: "Literal"
- start: 157
- end: 158
loc: {...}
start: {...}
- line: 6
- column: 23
}end: {...}
- line: 6
- column: 24
}
}- value: 1
- raw: "1"
}
]
}
}
]- kind: "let"
} VariableDeclaration {...}
- type: "VariableDeclaration"
- start: 162
- end: 187
loc: {...}
start: {...}
- line: 7
- column: 1
}end: {...}
- line: 7
- column: 26
}
}declarations: [...] (1)
VariableDeclarator {...}
- type: "VariableDeclarator"
- start: 166
- end: 186
loc: {...}
start: {...}
- line: 7
- column: 5
}end: {...}
- line: 7
- column: 25
}
}id: Identifier {...}
- type: "Identifier"
- start: 166
- end: 170
loc: {...}
start: {...}
- line: 7
- column: 5
}end: {...}
- line: 7
- column: 9
}
}- name: "spin"
}init: NewExpression {...}
- type: "NewExpression"
- start: 173
- end: 186
loc: {...}
start: {...}
- line: 7
- column: 12
}end: {...}
- line: 7
- column: 25
}
}callee: Identifier {...}
- type: "Identifier"
- start: 177
- end: 183
loc: {...}
start: {...}
- line: 7
- column: 16
}end: {...}
- line: 7
- column: 22
}
}- name: "Spring"
}arguments: [...] (1)
Literal {...}
- type: "Literal"
- start: 184
- end: 185
loc: {...}
start: {...}
- line: 7
- column: 23
}end: {...}
- line: 7
- column: 24
}
}- value: 0
- raw: "0"
}
]
}
}
]- kind: "let"
} VariableDeclaration {...}
- type: "VariableDeclaration"
- start: 190
- end: 277
loc: {...}
start: {...}
- line: 9
- column: 1
}end: {...}
- line: 9
- column: 88
}
}declarations: [...] (1)
VariableDeclarator {...}
- type: "VariableDeclarator"
- start: 194
- end: 276
loc: {...}
start: {...}
- line: 9
- column: 5
}end: {...}
- line: 9
- column: 87
}
}id: Identifier {...}
- type: "Identifier"
- start: 194
- end: 200
loc: {...}
start: {...}
- line: 9
- column: 5
}end: {...}
- line: 9
- column: 11
}
}- name: "rotate"
}init: CallExpression {...}
- type: "CallExpression"
- start: 203
- end: 276
loc: {...}
start: {...}
- line: 9
- column: 14
}end: {...}
- line: 9
- column: 87
}
}callee: Identifier {...}
- type: "Identifier"
- start: 203
- end: 211
loc: {...}
start: {...}
- line: 9
- column: 14
}end: {...}
- line: 9
- column: 22
}
}- name: "$derived"
}arguments: [...] (1)
BinaryExpression {...}
- type: "BinaryExpression"
- start: 212
- end: 275
loc: {...}
start: {...}
- line: 9
- column: 23
}end: {...}
- line: 9
- column: 86
}
}left: BinaryExpression {...}
- type: "BinaryExpression"
- start: 212
- end: 230
loc: {...}
start: {...}
- line: 9
- column: 23
}end: {...}
- line: 9
- column: 41
}
}left: MemberExpression {...}
- type: "MemberExpression"
- start: 212
- end: 224
loc: {...}
start: {...}
- line: 9
- column: 23
}end: {...}
- line: 9
- column: 35
}
}object: Identifier {...}
- type: "Identifier"
- start: 212
- end: 216
loc: {...}
start: {...}
- line: 9
- column: 23
}end: {...}
- line: 9
- column: 27
}
}- name: "spin"
}property: Identifier {...}
- type: "Identifier"
- start: 217
- end: 224
loc: {...}
start: {...}
- line: 9
- column: 28
}end: {...}
- line: 9
- column: 35
}
}- name: "current"
}- computed: false
- optional: false
}- operator: "*"
right: Literal {...}
- type: "Literal"
- start: 227
- end: 230
loc: {...}
start: {...}
- line: 9
- column: 38
}end: {...}
- line: 9
- column: 41
}
}- value: 360
- raw: "360"
}
}- operator: "+"
right: BinaryExpression {...}
- type: "BinaryExpression"
- start: 233
- end: 275
loc: {...}
start: {...}
- line: 9
- column: 44
}end: {...}
- line: 9
- column: 86
}
}left: BinaryExpression {...}
- type: "BinaryExpression"
- start: 234
- end: 268
loc: {...}
start: {...}
- line: 9
- column: 45
}end: {...}
- line: 9
- column: 79
}
}left: MemberExpression {...}
- type: "MemberExpression"
- start: 234
- end: 249
loc: {...}
start: {...}
- line: 9
- column: 45
}end: {...}
- line: 9
- column: 60
}
}object: MemberExpression {...}
- type: "MemberExpression"
- start: 234
- end: 247
loc: {...}
start: {...}
- line: 9
- column: 45
}end: {...}
- line: 9
- column: 58
}
}object: Identifier {...}
- type: "Identifier"
- start: 234
- end: 240
loc: {...}
start: {...}
- line: 9
- column: 45
}end: {...}
- line: 9
- column: 51
}
}- name: "coords"
}property: Identifier {...}
- type: "Identifier"
- start: 241
- end: 247
loc: {...}
start: {...}
- line: 9
- column: 52
}end: {...}
- line: 9
- column: 58
}
}- name: "target"
}- computed: false
- optional: false
}property: Identifier {...}
- type: "Identifier"
- start: 248
- end: 249
loc: {...}
start: {...}
- line: 9
- column: 59
}end: {...}
- line: 9
- column: 60
}
}- name: "x"
}- computed: false
- optional: false
}- operator: "-"
right: MemberExpression {...}
- type: "MemberExpression"
- start: 252
- end: 268
loc: {...}
start: {...}
- line: 9
- column: 63
}end: {...}
- line: 9
- column: 79
}
}object: MemberExpression {...}
- type: "MemberExpression"
- start: 252
- end: 266
loc: {...}
start: {...}
- line: 9
- column: 63
}end: {...}
- line: 9
- column: 77
}
}object: Identifier {...}
- type: "Identifier"
- start: 252
- end: 258
loc: {...}
start: {...}
- line: 9
- column: 63
}end: {...}
- line: 9
- column: 69
}
}- name: "coords"
}property: Identifier {...}
- type: "Identifier"
- start: 259
- end: 266
loc: {...}
start: {...}
- line: 9
- column: 70
}end: {...}
- line: 9
- column: 77
}
}- name: "current"
}- computed: false
- optional: false
}property: Identifier {...}
- type: "Identifier"
- start: 267
- end: 268
loc: {...}
start: {...}
- line: 9
- column: 78
}end: {...}
- line: 9
- column: 79
}
}- name: "x"
}- computed: false
- optional: false
}
}- operator: "*"
right: Literal {...}
- type: "Literal"
- start: 272
- end: 275
loc: {...}
start: {...}
- line: 9
- column: 83
}end: {...}
- line: 9
- column: 86
}
}- value: 0.1
- raw: "0.1"
}
}
}
]- optional: false
}
}
]- kind: "let"
}
]- sourceType: "module"
}- attributes: []
}
}
The AST is not public API and may change at any point in time