svelte-object
Version:
A nested component Svelte 5 Runes pattern for structuring objects/arrays and their properties
37 lines (36 loc) • 1.68 kB
TypeScript
export interface Props<T extends Record<PropertyKey, any> | any[]> {
children?: Snippet<[{
value: T;
attributes: Record<PropertyKey, any>;
}]>;
name?: string | number;
value?: T;
/** What the unmodified object is */
origin?: T;
/** Whether there's a difference between the modified and unmodified */
modified?: boolean;
attributes?: Record<PropertyKey, any>;
onSubmit?: (value: T) => void;
}
import { type Snippet } from 'svelte';
import type { ValidationType } from './validation-types';
declare class __sveltets_Render<T extends Record<PropertyKey, any>> {
props(): Props<T>;
events(): {};
slots(): {};
bindings(): "value" | "attributes" | "modified";
exports(): {
submit: () => void;
validate: (trigger?: ValidationType) => boolean;
};
}
interface $$IsomorphicComponent {
new <T extends Record<PropertyKey, any>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
} & ReturnType<__sveltets_Render<T>['exports']>;
<T extends Record<PropertyKey, any>>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
}
declare const Object: $$IsomorphicComponent;
type Object<T extends Record<PropertyKey, any>> = InstanceType<typeof Object<T>>;
export default Object;