Home / File/ UpdateExpression.js — svelte Source File

UpdateExpression.js — svelte Source File

Architecture documentation for UpdateExpression.js, a javascript file in the svelte codebase. 1 imports, 1 dependents.

File javascript Compiler Transformer 1 imports 1 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  f04c39ca_0e0e_c579_b84f_1250f25711ac["UpdateExpression.js"]
  95c28355_f14c_c3cd_5a03_d5a53ca255bc["builders"]
  f04c39ca_0e0e_c579_b84f_1250f25711ac --> 95c28355_f14c_c3cd_5a03_d5a53ca255bc
  86cf8685_38fa_3a1c_9b81_21c452968289["transform-server.js"]
  86cf8685_38fa_3a1c_9b81_21c452968289 --> f04c39ca_0e0e_c579_b84f_1250f25711ac
  style f04c39ca_0e0e_c579_b84f_1250f25711ac fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { UpdateExpression } from 'estree' */
/** @import { Context } from '../types.js' */
import * as b from '#compiler/builders';

/**
 * @param {UpdateExpression} node
 * @param {Context} context
 */
export function UpdateExpression(node, context) {
	const argument = node.argument;

	if (
		argument.type === 'Identifier' &&
		context.state.scope.get(argument.name)?.kind === 'store_sub'
	) {
		return b.call(
			node.prefix ? '$.update_store_pre' : '$.update_store',
			b.assignment('??=', b.id('$$store_subs'), b.object([])),
			b.literal(argument.name),
			b.id(argument.name.slice(1)),
			node.operator === '--' && b.literal(-1)
		);
	}

	return context.next();
}

Domain

Subdomains

Functions

Dependencies

  • builders

Frequently Asked Questions

What does UpdateExpression.js do?
UpdateExpression.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 UpdateExpression.js?
UpdateExpression.js defines 1 function(s): UpdateExpression.
What does UpdateExpression.js depend on?
UpdateExpression.js imports 1 module(s): builders.
What files import UpdateExpression.js?
UpdateExpression.js is imported by 1 file(s): transform-server.js.
Where is UpdateExpression.js in the architecture?
UpdateExpression.js is located at packages/svelte/src/compiler/phases/3-transform/server/visitors/UpdateExpression.js (domain: Compiler, subdomain: Transformer, directory: packages/svelte/src/compiler/phases/3-transform/server/visitors).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free