UNPKG

svelte

Version:

Cybernetically enhanced web apps

23 lines (20 loc) 573 B
import { teardown } from '../../../reactivity/effects.js'; import { get_descriptor } from '../../../../shared/utils.js'; /** * Makes an `export`ed (non-prop) variable available on the `$$props` object * so that consumers can do `bind:x` on the component. * @template V * @param {Record<string, unknown>} props * @param {string} prop * @param {V} value * @returns {void} */ export function bind_prop(props, prop, value) { var desc = get_descriptor(props, prop); if (desc && desc.set) { props[prop] = value; teardown(() => { props[prop] = null; }); } }