RefSpec type
Home > @rimitive/view > RefSpec
RefSpec type
Section titled “RefSpec type”Ref spec - a specification/blueprint for a ref that can be instantiated multiple times Extends Service to provide uniform context injection pattern
Signature:
export type RefSpec<TElement> = { status: typeof STATUS_REF_SPEC; create<TExt = Record<string, unknown>>(svc?: unknown, extensions?: TExt, parentContext?: ParentContext<unknown>): NodeRef<TElement> & TExt;};References: STATUS_REF_SPEC, ParentContext, NodeRef
Example
Section titled “Example”import { compose } from '@rimitive/core';import { SignalModule } from '@rimitive/signals/extend';import { createDOMAdapter } from '@rimitive/view/adapters/dom';import { createElModule } from '@rimitive/view/el';import type { RefSpec } from '@rimitive/view/types';
const adapter = createDOMAdapter();const svc = compose(SignalModule, createElModule(adapter));const { el, mount } = svc;
// el() returns a RefSpecconst buttonSpec: RefSpec<HTMLButtonElement> = el('button')('Click me');
// RefSpecs can be instantiated multiple timesconst button1 = mount(buttonSpec);const button2 = mount(buttonSpec);