UNPKG

@codelet/core

Version:
16 lines (15 loc) 1.55 kB
/// <reference types="miniprogram-api-typings" /> import type { AnyObject, Loose } from '@daysnap/types'; import type { IntersectionBehavior, OptionBehavior, UnwrapBehaviorsType } from './options'; import type { ComponentPropertyOption, DataOption, EnsureNonVoid, InstanceMethods, PageInstanceProperties, PageLifetimes, PropertyOptionToData } from './types'; export type PageOtherOptions = { options?: WechatMiniprogram.Component.ComponentOptions; }; export type PageOptionsInstance<Data extends DataOption = {}, Behavior extends OptionBehavior = OptionBehavior, Custom extends AnyObject = {}, PublicBehavior = IntersectionBehavior<Behavior>, PublicProperty extends ComponentPropertyOption = UnwrapBehaviorsType<PublicBehavior, 'Property'>, PublicData extends DataOption = UnwrapBehaviorsType<PublicBehavior, 'Data'> & EnsureNonVoid<Data> & PropertyOptionToData<PublicProperty>> = Partial<PageLifetimes> & PageInstanceProperties & UnwrapBehaviorsType<PublicBehavior, 'Method'> & { data: Loose<PublicData>; } & InstanceMethods<PublicData> & Custom; export type PageOptions<Data extends DataOption = {}, Behavior extends OptionBehavior = OptionBehavior, Custom extends AnyObject = {}> = { data?: Data; behaviors?: Behavior[]; } & Custom & Partial<PageLifetimes> & PageOtherOptions & ThisType<PageOptionsInstance<Data, Behavior, Custom>>; export declare function createPage<Data extends DataOption = {}, Behavior extends OptionBehavior = OptionBehavior, Custom extends AnyObject = {}>(options?: PageOptions<Data, Behavior, Custom>): void;