OnDirective.js — svelte Source File
Architecture documentation for OnDirective.js, a javascript file in the svelte codebase. 4 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR c19211c5_1457_5635_6aff_780db82c7240["OnDirective.js"] c5a9d025_4aac_a689_1a38_c0fce5e694c0["events.js"] c19211c5_1457_5635_6aff_780db82c7240 --> c5a9d025_4aac_a689_1a38_c0fce5e694c0 2ed29e53_0d07_f94c_69fa_4365c369a1dd["build_event"] c19211c5_1457_5635_6aff_780db82c7240 --> 2ed29e53_0d07_f94c_69fa_4365c369a1dd cd53dd1a_8bd9_06e2_6bfe_ed90344d0b28["build_event_handler"] c19211c5_1457_5635_6aff_780db82c7240 --> cd53dd1a_8bd9_06e2_6bfe_ed90344d0b28 95c28355_f14c_c3cd_5a03_d5a53ca255bc["builders"] c19211c5_1457_5635_6aff_780db82c7240 --> 95c28355_f14c_c3cd_5a03_d5a53ca255bc 7665e008_f37d_b860_a594_f2539a66af4e["transform-client.js"] 7665e008_f37d_b860_a594_f2539a66af4e --> c19211c5_1457_5635_6aff_780db82c7240 style c19211c5_1457_5635_6aff_780db82c7240 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/** @import { AST } from '#compiler' */
/** @import { ComponentContext } from '../types' */
import * as b from '#compiler/builders';
import { build_event, build_event_handler } from './shared/events.js';
const modifiers = /** @type {const} */ ([
'stopPropagation',
'stopImmediatePropagation',
'preventDefault',
'self',
'trusted',
'once'
]);
/**
* @param {AST.OnDirective} node
* @param {ComponentContext} context
*/
export function OnDirective(node, context) {
if (!node.expression) {
context.state.analysis.needs_props = true;
}
let handler = build_event_handler(node.expression, node.metadata.expression, context);
for (const modifier of modifiers) {
if (node.modifiers.includes(modifier)) {
handler = b.call('$.' + modifier, handler);
}
}
const capture = node.modifiers.includes('capture');
const passive =
node.modifiers.includes('passive') ||
(node.modifiers.includes('nonpassive') ? false : undefined);
return build_event(node.name, context.state.node, handler, capture, passive);
}
Domain
Subdomains
Functions
Dependencies
Source
Frequently Asked Questions
What does OnDirective.js do?
OnDirective.js is a source file in the svelte codebase, written in javascript. It belongs to the Compiler domain, Transformer subdomain.
What functions are defined in OnDirective.js?
OnDirective.js defines 1 function(s): OnDirective.
What does OnDirective.js depend on?
OnDirective.js imports 4 module(s): build_event, build_event_handler, builders, events.js.
What files import OnDirective.js?
OnDirective.js is imported by 1 file(s): transform-client.js.
Where is OnDirective.js in the architecture?
OnDirective.js is located at packages/svelte/src/compiler/phases/3-transform/client/visitors/OnDirective.js (domain: Compiler, subdomain: Transformer, directory: packages/svelte/src/compiler/phases/3-transform/client/visitors).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free