Home / File/ console-log.js — svelte Source File

console-log.js — svelte Source File

Architecture documentation for console-log.js, a javascript file in the svelte codebase. 6 imports, 0 dependents.

File javascript ClientRuntime Hydration 6 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  2c4e51a4_95e5_a6e4_6aca_e064c05b4c52["console-log.js"]
  258b696c_d923_7010_457a_b58908a057b0["clone.js"]
  2c4e51a4_95e5_a6e4_6aca_e064c05b4c52 --> 258b696c_d923_7010_457a_b58908a057b0
  532a740d_d410_0fd6_983a_933cb13808e7["snapshot"]
  2c4e51a4_95e5_a6e4_6aca_e064c05b4c52 --> 532a740d_d410_0fd6_983a_933cb13808e7
  df278ca2_0a6c_fefe_09f2_b397500fe3c2["warnings.js"]
  2c4e51a4_95e5_a6e4_6aca_e064c05b4c52 --> df278ca2_0a6c_fefe_09f2_b397500fe3c2
  bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"]
  2c4e51a4_95e5_a6e4_6aca_e064c05b4c52 --> bde4209f_8ffc_1594_4024_b1835a44bcf6
  a814b193_e12a_4037_c3c8_dfd45f3bd0bb["untrack"]
  2c4e51a4_95e5_a6e4_6aca_e064c05b4c52 --> a814b193_e12a_4037_c3c8_dfd45f3bd0bb
  54c2bfce_50b6_b8cc_4371_e1e14f283fb3["constants"]
  2c4e51a4_95e5_a6e4_6aca_e064c05b4c52 --> 54c2bfce_50b6_b8cc_4371_e1e14f283fb3
  style 2c4e51a4_95e5_a6e4_6aca_e064c05b4c52 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { STATE_SYMBOL } from '#client/constants';
import { snapshot } from '../../shared/clone.js';
import * as w from '../warnings.js';
import { untrack } from '../runtime.js';

/**
 * @param {string} method
 * @param  {...any} objects
 */
export function log_if_contains_state(method, ...objects) {
	untrack(() => {
		try {
			let has_state = false;
			const transformed = [];

			for (const obj of objects) {
				if (obj && typeof obj === 'object' && STATE_SYMBOL in obj) {
					transformed.push(snapshot(obj, true));
					has_state = true;
				} else {
					transformed.push(obj);
				}
			}

			if (has_state) {
				w.console_log_state(method);

				// eslint-disable-next-line no-console
				console.log('%c[snapshot]', 'color: grey', ...transformed);
			}
		} catch {
			// Errors can occur when trying to snapshot objects with getters that throw or non-enumerable properties.
		}
	});

	return objects;
}

Domain

Subdomains

Frequently Asked Questions

What does console-log.js do?
console-log.js is a source file in the svelte codebase, written in javascript. It belongs to the ClientRuntime domain, Hydration subdomain.
What functions are defined in console-log.js?
console-log.js defines 1 function(s): log_if_contains_state.
What does console-log.js depend on?
console-log.js imports 6 module(s): clone.js, constants, runtime.js, snapshot, untrack, warnings.js.
Where is console-log.js in the architecture?
console-log.js is located at packages/svelte/src/internal/client/dev/console-log.js (domain: ClientRuntime, subdomain: Hydration, directory: packages/svelte/src/internal/client/dev).

Analyze Your Own Codebase

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

Try Supermodel Free