UNPKG

@lynx-js/types

Version:

@lynx-js/types is a type package of all public APIs officially provided by the Lynx team. Using this package can help you better use Lynx APIs to develop your applications.

98 lines (85 loc) 2.83 kB
// Copyright 2024 The Lynx Authors. All rights reserved. // Licensed under the Apache License Version 2.0 that can be found in the // LICENSE file in the root directory of this source tree. export interface TextInfo { fontSize: string; fontFamily?: string; maxWidth?: string; maxLine?: number; } export interface TextMetrics { width: number; content?: Array<string>; } export type DispatchEventResult = // 'NotCanceled' // Event was not canceled by event handler or default event handler. | 0 // 'CanceledByEventHandler' // Event was canceled by event handler; i.e. a script handler calling // preventDefault. | 1 // 'CanceledByDefaultEventHandler' // Event was canceled by the default event handler; i.e. executing the default // action. This result should be used sparingly as it deviates from the DOM // Event Dispatch model. Default event handlers really shouldn't be invoked // inside of dispatch. | 2 // 'CanceledBeforeDispatch' // Event was canceled but suppressed before dispatched to event handler. This // result should be used sparingly; and its usage likely indicates there is // potential for a bug. Trusted events may return this code; but untrusted // events likely should always execute the event handler the developer intends // to execute. | 3; export interface MessageEvent { type: string; data: any; origin?: string; } export interface ContextProxy { onTriggerEvent?: (event: MessageEvent) => void; postMessage(message: any): void; dispatchEvent(event: MessageEvent): DispatchEventResult; addEventListener(type: string, listener: (event: MessageEvent) => void): void; removeEventListener( type: string, listener: (event: MessageEvent) => void ): void; } export interface BundleInfo { url: string; code: number; error_msg: string; } export interface ResponseHandler { wait: (timeout: number) => BundleInfo; then: (info: BundleInfo) => {} } /* *@description Common Lynx type */ export interface CommonLynx { getTextInfo(text: string, info: TextInfo): TextMetrics; /** * @description proactively report error * @param error errorInfo * @param options level warning or error * @since main-thread:3.0; background-thread:2.3; */ reportError(error: string | Error, options?: { level?: 'error' | 'warning' }): void; /** * @description get project's targetSdkVersion config. * @since main-thread:3.0, background-thread: 2.6 */ targetSdkVersion?: string; getDevtool(): ContextProxy; getCoreContext(): ContextProxy; getJSContext(): ContextProxy; getUIContext(): ContextProxy; getNative(): ContextProxy; getEngine(): ContextProxy; fetchBundle(url: string, options?: {}): ResponseHandler; stopExposure(options?: { sendEvent: boolean }): void; resumeExposure(): void; }