UNPKG

@novely/solid-renderer

Version:
39 lines (38 loc) 1.72 kB
import type { BaseTranslationStrings, Context, CoreData, Renderer, RendererInit, StorageData, Stored } from '@novely/core'; import type { DeepAtom, RendererStateStore } from '@novely/renderer-toolkit'; import type { Accessor, FlowComponent } from 'solid-js'; import type { Emitter } from '../emitter'; import type { EmitterEventsMap, RendererStoreExtension } from '../types'; import type { createAudio } from '@novely/renderer-toolkit'; type DataContext = { $rendererState: DeepAtom<RendererStateStore<RendererStoreExtension>>; storageData: Accessor<StorageData>; storageDataUpdate: (fn: (prev: StorageData) => StorageData) => void; coreData: Accessor<CoreData>; coreDataUpdate: (fn: (prev: CoreData) => CoreData) => void; options: RendererInit<any, any>; renderer: Renderer; t: (key: BaseTranslationStrings | (string & Record<never, never>)) => string; emitter: Emitter<EmitterEventsMap>; media: { hyperWide: Accessor<boolean>; }; getContext: (name: string) => Context; removeContext: (name: string) => void; audio: ReturnType<typeof createAudio>; }; declare const Context: import("solid-js").Context<DataContext | undefined>; type ProviderProps = { $rendererState: DeepAtom<RendererStateStore<RendererStoreExtension>>; storageData: Stored<StorageData>; coreData: Stored<CoreData>; options: RendererInit<any, any>; renderer: Renderer; emitter: Emitter<EmitterEventsMap>; getContext: (name: string) => Context; removeContext: (name: string) => void; audio: ReturnType<typeof createAudio>; }; declare const Provider: FlowComponent<ProviderProps>; declare const useData: () => DataContext; export { Provider, useData };