function push(props, runes = false, fn) {
	var ctx = (component_context = {
		p: component_context,
		c: null,
		d: false,
		e: null,
		m: false,
		s: props,
		x: null,
		l: null
	});

	if (legacy_mode_flag && !runes) {
		component_context.l = {
			s: null,
			u: null,
			r1: [],
			r2: source(false)
		};
	}

	teardown(() => {
		/** @type {ComponentContext} */ (ctx).d = true;
	});

	if (DEV) {
		// component function
		component_context.function = fn;
		dev_current_component_function = fn;
	}
}
@param {Record<string, unknown>} props
@param {any} runes
@param {Function} [fn]
@returns {void}