driver.js — svelte Source File
Architecture documentation for driver.js, a javascript file in the svelte codebase. 5 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 5356c441_f7d0_ed2c_0521_aa99b7042df3["driver.js"] cbc8b341_8c50_6658_3311_b9aae7c6d268["__MAIN_DOT_SVELTE__"] 5356c441_f7d0_ed2c_0521_aa99b7042df3 --> cbc8b341_8c50_6658_3311_b9aae7c6d268 b3fd33a9_508c_a778_7b78_fe4bb4cc9c60["__CONFIG__"] 5356c441_f7d0_ed2c_0521_aa99b7042df3 --> b3fd33a9_508c_a778_7b78_fe4bb4cc9c60 d8193e0e_f38a_3f5d_633b_c34e0918fdb4["assert.js"] 5356c441_f7d0_ed2c_0521_aa99b7042df3 --> d8193e0e_f38a_3f5d_633b_c34e0918fdb4 0089bc1e_86a8_7436_5025_0d4d65a18542["legacy"] 5356c441_f7d0_ed2c_0521_aa99b7042df3 --> 0089bc1e_86a8_7436_5025_0d4d65a18542 4ead6623_c53e_ab40_5690_64903d5addf1["svelte"] 5356c441_f7d0_ed2c_0521_aa99b7042df3 --> 4ead6623_c53e_ab40_5690_64903d5addf1 style 5356c441_f7d0_ed2c_0521_aa99b7042df3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
// @ts-expect-error
import SvelteComponent from '__MAIN_DOT_SVELTE__';
// @ts-expect-error
import config from '__CONFIG__';
// @ts-expect-error
import * as assert from 'assert.js';
import { createClassComponent } from 'svelte/legacy';
import { flushSync } from 'svelte';
/** @param {HTMLElement} target */
export default async function (target) {
let unhandled_rejection = false;
/** @param {any} event */
function unhandled_rejection_handler(event) {
unhandled_rejection = event.reason;
}
window.addEventListener('unhandledrejection', unhandled_rejection_handler);
try {
if (config.before_test) config.before_test();
const options = Object.assign(
{},
{
component: SvelteComponent,
target,
props: config.props,
intro: config.intro,
hydrate: __HYDRATE__,
recover: false
},
config.options || {}
);
const component = __CE_TEST__ ? null : createClassComponent(options);
/**
* @param {() => boolean} fn
* @param {number} ms
*/
const wait_until = async (fn, ms = 500) => {
const start = new Date().getTime();
do {
if (fn()) return;
await new Promise((resolve) => window.setTimeout(resolve, 1));
} while (new Date().getTime() <= start + ms);
};
flushSync();
if (config.html) {
assert.htmlEqual(target.innerHTML, config.html);
}
if (config.test) {
await config.test({
assert,
get component() {
if (!component) {
throw new Error('test property `component` is not available in custom element tests');
}
return component;
},
componentCtor: SvelteComponent,
target,
window,
waitUntil: wait_until
});
component?.$destroy();
if (unhandled_rejection) {
throw unhandled_rejection;
}
} else {
component.$destroy();
assert.htmlEqual(target.innerHTML, '');
if (unhandled_rejection) {
throw unhandled_rejection;
}
}
if (config.after_test) config.after_test();
} catch (error) {
if (config.error) {
assert.equal(/** @type {Error} */ (error).message, config.error);
} else {
throw error;
}
} finally {
window.removeEventListener('unhandledrejection', unhandled_rejection_handler);
}
}
Dependencies
- __CONFIG__
- __MAIN_DOT_SVELTE__
- assert.js
- legacy
- svelte
Source
Frequently Asked Questions
What does driver.js do?
driver.js is a source file in the svelte codebase, written in javascript.
What does driver.js depend on?
driver.js imports 5 module(s): __CONFIG__, __MAIN_DOT_SVELTE__, assert.js, legacy, svelte.
Where is driver.js in the architecture?
driver.js is located at packages/svelte/tests/runtime-browser/driver.js (directory: packages/svelte/tests/runtime-browser).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free