@lynx-js/web-core-wasm 0.0.0 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/{LICENSE → LICENSE.txt} +1 -1
- package/Notice.txt +1 -0
- package/README.md +1 -0
- package/binary/client/client.d.ts +272 -0
- package/binary/client/client.js +1297 -0
- package/binary/client/client_bg.wasm +0 -0
- package/binary/client/client_bg.wasm.d.ts +71 -0
- package/binary/client/client_debug.d.ts +272 -0
- package/binary/client/client_debug.js +1297 -0
- package/binary/client/client_debug_bg.wasm +0 -0
- package/binary/client/client_debug_bg.wasm.d.ts +71 -0
- package/binary/encode/encode.d.ts +118 -0
- package/binary/encode/encode.js +542 -0
- package/binary/encode/encode_bg.wasm +0 -0
- package/binary/encode/encode_bg.wasm.d.ts +30 -0
- package/binary/encode/encode_debug.d.ts +118 -0
- package/binary/encode/encode_debug.js +542 -0
- package/binary/encode/encode_debug_bg.wasm +0 -0
- package/binary/encode/encode_debug_bg.wasm.d.ts +30 -0
- package/binary/encode/package.json +4 -0
- package/css/in_shadow.css +10 -0
- package/css/index.css +119 -0
- package/dist/client/LynxCrossThreadContext.d.ts +22 -0
- package/dist/client/LynxCrossThreadContext.js +44 -0
- package/dist/client/background/background-apis/createBackgroundLynx.d.ts +25 -0
- package/dist/client/background/background-apis/createBackgroundLynx.js +41 -0
- package/dist/client/background/background-apis/createChunkLoading.d.ts +7 -0
- package/dist/client/background/background-apis/createChunkLoading.js +66 -0
- package/dist/client/background/background-apis/createElement.d.ts +5 -0
- package/dist/client/background/background-apis/createElement.js +18 -0
- package/dist/client/background/background-apis/createNapiLoader.d.ts +5 -0
- package/dist/client/background/background-apis/createNapiLoader.js +23 -0
- package/dist/client/background/background-apis/createNativeApp.d.ts +4 -0
- package/dist/client/background/background-apis/createNativeApp.js +98 -0
- package/dist/client/background/background-apis/createNativeModules.d.ts +3 -0
- package/dist/client/background/background-apis/createNativeModules.js +33 -0
- package/dist/client/background/background-apis/createPerformanceApis.d.ts +3 -0
- package/dist/client/background/background-apis/createPerformanceApis.js +47 -0
- package/dist/client/background/background-apis/createTimingSystem.d.ts +8 -0
- package/dist/client/background/background-apis/createTimingSystem.js +86 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createGetCustomSection.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createGetCustomSection.js +14 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createGetPathInfo.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createGetPathInfo.js +23 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createInvokeUIMethod.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createInvokeUIMethod.js +24 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createJSObjectDestructionObserver.d.ts +2 -0
- package/dist/client/background/background-apis/crossThreadHandlers/createJSObjectDestructionObserver.js +12 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerDisposeHandler.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerDisposeHandler.js +9 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerPublicComponentEventHandler.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerPublicComponentEventHandler.js +8 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerPublishEventHandler.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerPublishEventHandler.js +8 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerSendGlobalEvent.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerSendGlobalEvent.js +10 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateDataHandler.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateDataHandler.js +5 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateGlobalPropsHandler.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateGlobalPropsHandler.js +5 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateI18nResource.d.ts +3 -0
- package/dist/client/background/background-apis/crossThreadHandlers/registerUpdateI18nResource.js +9 -0
- package/dist/client/background/background-apis/startBackgroundThread.d.ts +2 -0
- package/dist/client/background/background-apis/startBackgroundThread.js +42 -0
- package/dist/client/background/index.d.ts +1 -0
- package/dist/client/background/index.js +15 -0
- package/dist/client/decodeWorker/cssLoader.d.ts +12 -0
- package/dist/client/decodeWorker/cssLoader.js +95 -0
- package/dist/client/decodeWorker/decode.worker.d.ts +1 -0
- package/dist/client/decodeWorker/decode.worker.js +339 -0
- package/dist/client/decodeWorker/types.d.ts +32 -0
- package/dist/client/decodeWorker/types.js +2 -0
- package/dist/client/endpoints.d.ts +54 -0
- package/dist/client/endpoints.js +38 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.js +3 -0
- package/dist/client/mainthread/Background.d.ts +30 -0
- package/dist/client/mainthread/Background.js +209 -0
- package/dist/client/mainthread/ExposureServices.d.ts +11 -0
- package/dist/client/mainthread/ExposureServices.js +211 -0
- package/dist/client/mainthread/I18n.d.ts +9 -0
- package/dist/client/mainthread/I18n.js +44 -0
- package/dist/client/mainthread/LynxView.d.ts +170 -0
- package/dist/client/mainthread/LynxView.js +367 -0
- package/dist/client/mainthread/LynxViewInstance.d.ts +52 -0
- package/dist/client/mainthread/LynxViewInstance.js +188 -0
- package/dist/client/mainthread/TemplateManager.d.ts +10 -0
- package/dist/client/mainthread/TemplateManager.js +233 -0
- package/dist/client/mainthread/createIFrameRealm.d.ts +6 -0
- package/dist/client/mainthread/createIFrameRealm.js +68 -0
- package/dist/client/mainthread/createMainThreadGlobalAPIs.d.ts +3 -0
- package/dist/client/mainthread/createMainThreadGlobalAPIs.js +82 -0
- package/dist/client/mainthread/crossThreadHandlers/queryNodes.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/queryNodes.js +74 -0
- package/dist/client/mainthread/crossThreadHandlers/registerGetPathInfoHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerGetPathInfoHandler.js +51 -0
- package/dist/client/mainthread/crossThreadHandlers/registerInvokeUIMethodHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerInvokeUIMethodHandler.js +49 -0
- package/dist/client/mainthread/crossThreadHandlers/registerNapiModulesCallHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerNapiModulesCallHandler.js +8 -0
- package/dist/client/mainthread/crossThreadHandlers/registerNativeModulesCallHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerNativeModulesCallHandler.js +7 -0
- package/dist/client/mainthread/crossThreadHandlers/registerReloadHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerReloadHandler.js +10 -0
- package/dist/client/mainthread/crossThreadHandlers/registerSelectComponentHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerSelectComponentHandler.js +20 -0
- package/dist/client/mainthread/crossThreadHandlers/registerSetNativePropsHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerSetNativePropsHandler.js +28 -0
- package/dist/client/mainthread/crossThreadHandlers/registerTriggerComponentEventHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerTriggerComponentEventHandler.js +12 -0
- package/dist/client/mainthread/crossThreadHandlers/registerTriggerElementMethodEndpointHandler.d.ts +3 -0
- package/dist/client/mainthread/crossThreadHandlers/registerTriggerElementMethodEndpointHandler.js +29 -0
- package/dist/client/mainthread/elementAPIs/WASMJSBinding.d.ts +32 -0
- package/dist/client/mainthread/elementAPIs/WASMJSBinding.js +117 -0
- package/dist/client/mainthread/elementAPIs/createCrossThreadEvent.d.ts +2 -0
- package/dist/client/mainthread/elementAPIs/createCrossThreadEvent.js +77 -0
- package/dist/client/mainthread/elementAPIs/createElementAPI.d.ts +3 -0
- package/dist/client/mainthread/elementAPIs/createElementAPI.js +322 -0
- package/dist/client/mainthread/elementAPIs/index.d.ts +2 -0
- package/dist/client/mainthread/elementAPIs/index.js +3 -0
- package/dist/client/mainthread/elementAPIs/pureElementPAPIs.d.ts +26 -0
- package/dist/client/mainthread/elementAPIs/pureElementPAPIs.js +85 -0
- package/dist/client/mainthread/utils/convertLengthToPx.d.ts +1 -0
- package/dist/client/mainthread/utils/convertLengthToPx.js +25 -0
- package/dist/client/wasm.d.ts +3 -0
- package/dist/client/wasm.js +38 -0
- package/dist/client/webElementsDynamicLoader.d.ts +1 -0
- package/dist/client/webElementsDynamicLoader.js +11 -0
- package/dist/client_prod/static/css/async/web-elements.css +1 -0
- package/dist/client_prod/static/css/client.css +1 -0
- package/dist/client_prod/static/js/async/lynx-core-chunk.js +3 -0
- package/dist/client_prod/static/js/async/web-core-main-chunk.js +1 -0
- package/dist/client_prod/static/js/async/web-core-template-loader-thread.js +8 -0
- package/dist/client_prod/static/js/async/web-core-worker-chunk.js +1 -0
- package/dist/client_prod/static/js/async/web-elements.js +309 -0
- package/dist/client_prod/static/js/client.js +2 -0
- package/dist/client_prod/static/wasm/a156b496.module.wasm +0 -0
- package/dist/constants.d.ts +58 -0
- package/dist/constants.js +114 -0
- package/dist/encode/encodeCSS.d.ts +3 -0
- package/dist/encode/encodeCSS.js +99 -0
- package/dist/encode/index.d.ts +1 -0
- package/dist/encode/index.js +7 -0
- package/dist/encode/webEncoder.d.ts +21 -0
- package/dist/encode/webEncoder.js +110 -0
- package/dist/types/BTSChunk.d.ts +3 -0
- package/dist/types/BTSChunk.js +5 -0
- package/dist/types/Cloneable.d.ts +2 -0
- package/dist/types/Cloneable.js +2 -0
- package/dist/types/DecodedTemplate.d.ts +7 -0
- package/dist/types/DecodedTemplate.js +7 -0
- package/dist/types/Element.d.ts +35 -0
- package/dist/types/Element.js +5 -0
- package/dist/types/ElementTemplateData.d.ts +15 -0
- package/dist/types/ElementTemplateData.js +7 -0
- package/dist/types/EventType.d.ts +56 -0
- package/dist/types/EventType.js +5 -0
- package/dist/types/I18nTypes.d.ts +21 -0
- package/dist/types/I18nTypes.js +2 -0
- package/dist/types/IElementPAPI.d.ts +182 -0
- package/dist/types/IElementPAPI.js +2 -0
- package/dist/types/IMtsBinding.d.ts +14 -0
- package/dist/types/IMtsBinding.js +7 -0
- package/dist/types/JSRealm.d.ts +5 -0
- package/dist/types/JSRealm.js +7 -0
- package/dist/types/LynxContextEventTarget.d.ts +12 -0
- package/dist/types/LynxContextEventTarget.js +5 -0
- package/dist/types/MainThreadLynx.d.ts +15 -0
- package/dist/types/MainThreadLynx.js +2 -0
- package/dist/types/NapiModules.d.ts +9 -0
- package/dist/types/NapiModules.js +5 -0
- package/dist/types/NativeApp.d.ts +120 -0
- package/dist/types/NativeApp.js +5 -0
- package/dist/types/NativeModules.d.ts +2 -0
- package/dist/types/NativeModules.js +5 -0
- package/dist/types/PageConfig.d.ts +9 -0
- package/dist/types/PageConfig.js +2 -0
- package/dist/types/ProcessDataCallback.d.ts +1 -0
- package/dist/types/ProcessDataCallback.js +2 -0
- package/dist/types/TimingAPIs.d.ts +32 -0
- package/dist/types/TimingAPIs.js +5 -0
- package/dist/types/UpdateDataOptions.d.ts +8 -0
- package/dist/types/UpdateDataOptions.js +6 -0
- package/dist/types/WorkerStartMessage.d.ts +14 -0
- package/dist/types/WorkerStartMessage.js +5 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.js +7 -0
- package/eslint.config.js +34 -0
- package/package.json +86 -4
- package/index.js +0 -1
- package/selfIdentity.plist +0 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import type { Cloneable } from './Cloneable.js';
|
|
2
|
+
import type { ComponentAtIndexCallback, EnqueueComponentCallback } from './Element.js';
|
|
3
|
+
import type { LynxEventType } from './EventType.js';
|
|
4
|
+
import type { I18nResourceTranslationOptions, PerformancePipelineOptions } from './index.js';
|
|
5
|
+
import type { MainThreadLynx } from './MainThreadLynx.js';
|
|
6
|
+
import type { ProcessDataCallback } from './ProcessDataCallback.js';
|
|
7
|
+
import type { UpdateDataOptions } from './UpdateDataOptions.js';
|
|
8
|
+
export interface FlushElementTreeOptions {
|
|
9
|
+
pipelineOptions?: PerformancePipelineOptions;
|
|
10
|
+
}
|
|
11
|
+
type ElementPAPIEventHandler = string | {
|
|
12
|
+
type: 'worklet';
|
|
13
|
+
value: unknown;
|
|
14
|
+
} | undefined;
|
|
15
|
+
export type AddEventPAPI = (element: HTMLElement, eventType: LynxEventType, eventName: string, newEventHandler: ElementPAPIEventHandler) => void;
|
|
16
|
+
export type GetEventPAPI = (element: HTMLElement, eventName: string, eventType: LynxEventType) => ElementPAPIEventHandler;
|
|
17
|
+
export type GetEventsPAPI = (element: HTMLElement) => {
|
|
18
|
+
type: LynxEventType;
|
|
19
|
+
name: string;
|
|
20
|
+
function: ElementPAPIEventHandler;
|
|
21
|
+
}[];
|
|
22
|
+
export type SetEventsPAPI = (element: HTMLElement, listeners: {
|
|
23
|
+
type: LynxEventType;
|
|
24
|
+
name: string;
|
|
25
|
+
function: ElementPAPIEventHandler;
|
|
26
|
+
}[]) => void;
|
|
27
|
+
export type AppendElementPAPI = (parent: HTMLElement, child: HTMLElement) => void;
|
|
28
|
+
export type ElementIsEqualPAPI = (left: HTMLElement | null, right: HTMLElement | null) => boolean;
|
|
29
|
+
export type FirstElementPAPI = (element: HTMLElement) => HTMLElement | null;
|
|
30
|
+
export type GetChildrenPAPI = (element: HTMLElement) => HTMLElement[];
|
|
31
|
+
export type GetParentPAPI = (element: HTMLElement) => HTMLElement | null;
|
|
32
|
+
export type InsertElementBeforePAPI = (parent: HTMLElement, child: HTMLElement, ref?: HTMLElement | null) => HTMLElement;
|
|
33
|
+
export type LastElementPAPI = (element: HTMLElement) => HTMLElement | null;
|
|
34
|
+
export type NextElementPAPI = (element: HTMLElement) => HTMLElement | null;
|
|
35
|
+
export type RemoveElementPAPI = (parent: HTMLElement, child: HTMLElement) => HTMLElement;
|
|
36
|
+
export type ReplaceElementPAPI = (newElement: HTMLElement, oldElement: HTMLElement) => void;
|
|
37
|
+
export type ReplaceElementsPAPI = (parent: HTMLElement, newChildren: HTMLElement[] | HTMLElement, oldChildren?: HTMLElement[] | HTMLElement | null | undefined) => void;
|
|
38
|
+
export type AddConfigPAPI = (element: HTMLElement, type: string, value: Cloneable) => void;
|
|
39
|
+
export type AddDatasetPAPI = (element: HTMLElement, key: string, value: Cloneable) => void;
|
|
40
|
+
export type GetDatasetPAPI = (element: HTMLElement) => Record<string, Cloneable>;
|
|
41
|
+
export type GetDataByKeyPAPI = (element: HTMLElement, key: string) => Cloneable | undefined;
|
|
42
|
+
export type GetAttributesPAPI = (element: HTMLElement) => Record<string, string>;
|
|
43
|
+
export type GetComponentIdPAPI = (element: HTMLElement) => string | null | undefined;
|
|
44
|
+
export type GetElementConfigPAPI = (element: HTMLElement) => Record<string, Cloneable>;
|
|
45
|
+
export type GetElementUniqueIDPAPI = (element: HTMLElement) => number;
|
|
46
|
+
export type GetIDPAPI = (element: HTMLElement) => string | null;
|
|
47
|
+
export type GetTagPAPI = (element: HTMLElement) => string;
|
|
48
|
+
export type SetConfigPAPI = (element: HTMLElement, config: Record<string, Cloneable>) => void;
|
|
49
|
+
export type SetDatasetPAPI = (element: HTMLElement, dataset: Record<string, Cloneable>) => void;
|
|
50
|
+
export type SetIDPAPI = (element: HTMLElement, id: string | null) => void;
|
|
51
|
+
export type UpdateComponentIDPAPI = (element: HTMLElement, componentID: string) => void;
|
|
52
|
+
export type UpdateComponentInfoPAPI = (element: HTMLElement, params: {
|
|
53
|
+
componentID?: string;
|
|
54
|
+
name?: string;
|
|
55
|
+
path?: string;
|
|
56
|
+
entry?: string;
|
|
57
|
+
cssID?: number;
|
|
58
|
+
}) => void;
|
|
59
|
+
export type GetClassesPAPI = (element: HTMLElement) => string[];
|
|
60
|
+
export type CreateViewPAPI = (parentComponentUniqueID: number) => HTMLElement;
|
|
61
|
+
export type SwapElementPAPI = (childA: HTMLElement, childB: HTMLElement) => void;
|
|
62
|
+
export type UpdateListInfoAttributeValue = {
|
|
63
|
+
insertAction: {
|
|
64
|
+
position: number;
|
|
65
|
+
}[];
|
|
66
|
+
removeAction: {
|
|
67
|
+
position: number;
|
|
68
|
+
}[];
|
|
69
|
+
};
|
|
70
|
+
export type SetAttributePAPI = (element: HTMLElement, key: Exclude<string, 'update-list-info'>, value: string | null | undefined | boolean) => void;
|
|
71
|
+
export type SetAttributePAPIUpdateListInfo = (element: HTMLElement, key: 'update-list-info', value: UpdateListInfoAttributeValue | null) => void;
|
|
72
|
+
export type UpdateListCallbacksPAPI = (element: HTMLElement, componentAtIndex: ComponentAtIndexCallback, enqueueComponent: EnqueueComponentCallback) => void;
|
|
73
|
+
export type CreateTextPAPI = CreateViewPAPI;
|
|
74
|
+
export type CreateRawTextPAPI = (text: string) => HTMLElement;
|
|
75
|
+
export type CreateImagePAPI = CreateViewPAPI;
|
|
76
|
+
export type CreateScrollViewPAPI = CreateViewPAPI;
|
|
77
|
+
export type CreateWrapperElementPAPI = CreateViewPAPI;
|
|
78
|
+
export type CreateComponentPAPI = (componentParentUniqueID: number, componentID: string, cssID: number, entryName: string, name: string, path: string, config: Record<string, Cloneable> | null | undefined, info: Record<string, Cloneable> | null | undefined) => HTMLElement;
|
|
79
|
+
export type CreateElementPAPI = (tagName: string, parentComponentUniqueId: number, info?: Record<string, Cloneable> | null | undefined) => HTMLElement;
|
|
80
|
+
export type CreatePagePAPI = (componentID: string, cssID: number, info?: Record<string, Cloneable> | null | undefined) => HTMLElement;
|
|
81
|
+
export type CreateListPAPI = (parentComponentUniqueId: number, componentAtIndex: ComponentAtIndexCallback, enqueueComponent: EnqueueComponentCallback) => HTMLElement;
|
|
82
|
+
export type AddClassPAPI = (element: HTMLElement, className: string) => void;
|
|
83
|
+
export type SetClassesPAPI = (element: HTMLElement, classNames: string | null) => void;
|
|
84
|
+
export type AddInlineStylePAPI = (element: HTMLElement, key: number | string, value: string | number | null | undefined) => void;
|
|
85
|
+
export type SetInlineStylesPAPI = (element: HTMLElement, value: string | Record<string, string> | undefined) => void;
|
|
86
|
+
export type SetCSSIdPAPI = (elements: HTMLElement[], cssId: number | null, entryName: string | undefined) => void;
|
|
87
|
+
export type GetPageElementPAPI = () => HTMLElement | undefined;
|
|
88
|
+
export type MarkTemplateElementPAPI = (element: HTMLElement) => void;
|
|
89
|
+
export type MarkPartElementPAPI = (element: HTMLElement, partId: string) => void;
|
|
90
|
+
export type GetTemplatePartsPAPI = (templateElement: HTMLElement) => Record<string, HTMLElement>;
|
|
91
|
+
interface JSErrorInfo {
|
|
92
|
+
release: string;
|
|
93
|
+
}
|
|
94
|
+
export type GetAttributeByNamePAPI = (element: HTMLElement, name: string) => string | null;
|
|
95
|
+
export type QueryComponentPAPI = (source: string, resultCallback?: (result: {
|
|
96
|
+
code: number;
|
|
97
|
+
data?: {
|
|
98
|
+
url: string;
|
|
99
|
+
evalResult: unknown;
|
|
100
|
+
};
|
|
101
|
+
}) => void) => null;
|
|
102
|
+
export interface ElementPAPIs {
|
|
103
|
+
__GetTemplateParts: GetTemplatePartsPAPI;
|
|
104
|
+
__MarkPartElement: MarkPartElementPAPI;
|
|
105
|
+
__MarkTemplateElement: MarkTemplateElementPAPI;
|
|
106
|
+
__AddEvent: AddEventPAPI;
|
|
107
|
+
__GetEvent: GetEventPAPI;
|
|
108
|
+
__GetEvents: GetEventsPAPI;
|
|
109
|
+
__SetEvents: SetEventsPAPI;
|
|
110
|
+
__AppendElement: AppendElementPAPI;
|
|
111
|
+
__ElementIsEqual: ElementIsEqualPAPI;
|
|
112
|
+
__FirstElement: FirstElementPAPI;
|
|
113
|
+
__GetChildren: GetChildrenPAPI;
|
|
114
|
+
__GetParent: GetParentPAPI;
|
|
115
|
+
__InsertElementBefore: InsertElementBeforePAPI;
|
|
116
|
+
__LastElement: LastElementPAPI;
|
|
117
|
+
__NextElement: NextElementPAPI;
|
|
118
|
+
__RemoveElement: RemoveElementPAPI;
|
|
119
|
+
__ReplaceElement: ReplaceElementPAPI;
|
|
120
|
+
__ReplaceElements: ReplaceElementsPAPI;
|
|
121
|
+
__AddConfig: AddConfigPAPI;
|
|
122
|
+
__AddDataset: AddDatasetPAPI;
|
|
123
|
+
__GetDataset: GetDatasetPAPI;
|
|
124
|
+
__GetDataByKey: GetDataByKeyPAPI;
|
|
125
|
+
__GetAttributes: GetAttributesPAPI;
|
|
126
|
+
__GetComponentID: GetComponentIdPAPI;
|
|
127
|
+
__GetElementConfig: GetElementConfigPAPI;
|
|
128
|
+
__GetElementUniqueID: GetElementUniqueIDPAPI;
|
|
129
|
+
__GetID: GetIDPAPI;
|
|
130
|
+
__GetTag: GetTagPAPI;
|
|
131
|
+
__SetConfig: SetConfigPAPI;
|
|
132
|
+
__GetConfig: GetElementConfigPAPI;
|
|
133
|
+
__SetDataset: SetDatasetPAPI;
|
|
134
|
+
__SetID: SetIDPAPI;
|
|
135
|
+
__UpdateComponentID: UpdateComponentIDPAPI;
|
|
136
|
+
__UpdateComponentInfo: UpdateComponentInfoPAPI;
|
|
137
|
+
__GetClasses: GetClassesPAPI;
|
|
138
|
+
__CreateView: CreateViewPAPI;
|
|
139
|
+
__SwapElement: SwapElementPAPI;
|
|
140
|
+
__CreateText: CreateTextPAPI;
|
|
141
|
+
__CreateRawText: CreateRawTextPAPI;
|
|
142
|
+
__CreateImage: CreateImagePAPI;
|
|
143
|
+
__CreateScrollView: CreateScrollViewPAPI;
|
|
144
|
+
__CreateWrapperElement: CreateWrapperElementPAPI;
|
|
145
|
+
__CreateComponent: CreateComponentPAPI;
|
|
146
|
+
__CreateElement: CreateElementPAPI;
|
|
147
|
+
__CreatePage: CreatePagePAPI;
|
|
148
|
+
__CreateList: CreateListPAPI;
|
|
149
|
+
__SetAttribute: SetAttributePAPI & SetAttributePAPIUpdateListInfo;
|
|
150
|
+
__UpdateListCallbacks: UpdateListCallbacksPAPI;
|
|
151
|
+
__AddClass: AddClassPAPI;
|
|
152
|
+
__SetClasses: SetClassesPAPI;
|
|
153
|
+
__AddInlineStyle: AddInlineStylePAPI;
|
|
154
|
+
__SetInlineStyles: SetInlineStylesPAPI;
|
|
155
|
+
__SetCSSId: SetCSSIdPAPI;
|
|
156
|
+
__GetPageElement: GetPageElementPAPI;
|
|
157
|
+
__GetAttributeByName: GetAttributeByNamePAPI;
|
|
158
|
+
__FlushElementTree: (_subTree?: unknown, options?: FlushElementTreeOptions) => void;
|
|
159
|
+
}
|
|
160
|
+
export interface MainThreadGlobalAPIs {
|
|
161
|
+
__globalProps: unknown;
|
|
162
|
+
SystemInfo: Cloneable;
|
|
163
|
+
lynx: MainThreadLynx;
|
|
164
|
+
_ReportError: (error: Error, _: unknown) => void;
|
|
165
|
+
_SetSourceMapRelease: (errInfo: JSErrorInfo) => void;
|
|
166
|
+
__OnLifecycleEvent: (lifeCycleEvent: Cloneable) => void;
|
|
167
|
+
__LoadLepusChunk: (path: string) => boolean;
|
|
168
|
+
_I18nResourceTranslation: (options: I18nResourceTranslationOptions) => unknown | undefined;
|
|
169
|
+
_AddEventListener: (...args: unknown[]) => void;
|
|
170
|
+
__QueryComponent: QueryComponentPAPI;
|
|
171
|
+
}
|
|
172
|
+
export type JSFrameworkInjectedHandlers = {
|
|
173
|
+
renderPage: ((data: unknown) => void) | undefined;
|
|
174
|
+
updatePage?: (data: Cloneable, options?: UpdateDataOptions) => void;
|
|
175
|
+
runWorklet?: (obj: unknown, event: unknown) => void;
|
|
176
|
+
processData?: ProcessDataCallback;
|
|
177
|
+
ssrEncode?: () => string;
|
|
178
|
+
ssrHydrate?: (encodeData?: string | null) => void;
|
|
179
|
+
processEvalResult?: (exports: unknown, schema: string) => unknown;
|
|
180
|
+
};
|
|
181
|
+
export type MainThreadGlobalThis = MainThreadGlobalAPIs & ElementPAPIs & JSFrameworkInjectedHandlers;
|
|
182
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CloneableObject } from './Cloneable.js';
|
|
2
|
+
import type { LynxCrossThreadEvent } from './EventType.js';
|
|
3
|
+
/**
|
|
4
|
+
* The JS binding for the WASM main thread context instance.
|
|
5
|
+
*/
|
|
6
|
+
export interface RustMainthreadContextBinding {
|
|
7
|
+
runWorklet(handler: unknown, eventObject: LynxCrossThreadEvent, targetUniqueId: number, targetDataset: CloneableObject, currentTargetUniqueId: number, currentTargetDataset: CloneableObject): void;
|
|
8
|
+
publishEvent(handlerName: string, parentComponentId: string | undefined, eventObject: LynxCrossThreadEvent, targetUniqueId: number, targetDataset: CloneableObject, currentTargetUniqueId: number, currentTargetDataset: CloneableObject): void;
|
|
9
|
+
addEventListener(event_name: string): void;
|
|
10
|
+
markExposureRelatedElementByUniqueId(element: HTMLElement, toEnable: boolean): void;
|
|
11
|
+
enableElementEvent(element: HTMLElement, eventName: string): void;
|
|
12
|
+
disableElementEvent(element: HTMLElement, eventName: string): void;
|
|
13
|
+
getClassList(element: HTMLElement): string[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Cloneable } from './Cloneable.js';
|
|
2
|
+
export type ContextCrossThreadEvent = {
|
|
3
|
+
type: string;
|
|
4
|
+
data: Cloneable;
|
|
5
|
+
};
|
|
6
|
+
export interface LynxContextEventTarget {
|
|
7
|
+
onTriggerEvent?: (event: ContextCrossThreadEvent) => void;
|
|
8
|
+
postMessage(message: any): void;
|
|
9
|
+
dispatchEvent(event: ContextCrossThreadEvent): number;
|
|
10
|
+
addEventListener(type: string, listener: (event: Event) => void): void;
|
|
11
|
+
removeEventListener(type: string, listener: (event: Event) => void): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Cloneable } from './Cloneable.js';
|
|
2
|
+
import type { LynxContextEventTarget } from './LynxContextEventTarget.js';
|
|
3
|
+
export interface MainThreadLynx {
|
|
4
|
+
getJSContext: () => LynxContextEventTarget;
|
|
5
|
+
requestAnimationFrame: (cb: () => void) => number;
|
|
6
|
+
cancelAnimationFrame: (handler: number) => void;
|
|
7
|
+
__globalProps: unknown;
|
|
8
|
+
getCustomSectionSync: (key: string) => Cloneable;
|
|
9
|
+
markPipelineTiming: (pipelineId: string, timingKey: string) => void;
|
|
10
|
+
SystemInfo: Cloneable;
|
|
11
|
+
setTimeout: typeof setTimeout;
|
|
12
|
+
clearTimeout: typeof clearTimeout;
|
|
13
|
+
setInterval: typeof setInterval;
|
|
14
|
+
clearInterval: typeof clearInterval;
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Cloneable } from './Cloneable.js';
|
|
2
|
+
export type NapiModulesMap = Record<string, string>;
|
|
3
|
+
export type NapiModulesCall = (name: string, data: any, moduleName: string, dispatchNapiModules: (data: Cloneable) => void) => Promise<{
|
|
4
|
+
data: unknown;
|
|
5
|
+
transfer?: unknown[];
|
|
6
|
+
} | undefined> | {
|
|
7
|
+
data: unknown;
|
|
8
|
+
transfer?: unknown[];
|
|
9
|
+
} | undefined | Promise<undefined>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { ErrorCode, IdentifierType } from '../constants.js';
|
|
2
|
+
import type { CloneableObject } from './Cloneable.js';
|
|
3
|
+
import type { LynxContextEventTarget } from './LynxContextEventTarget.js';
|
|
4
|
+
import type { PerformancePipelineOptions } from './TimingAPIs.js';
|
|
5
|
+
import type { II18nResource } from './I18nTypes.js';
|
|
6
|
+
export type LynxKernelInject = {
|
|
7
|
+
init: (opt: {
|
|
8
|
+
tt: LynxKernelInject;
|
|
9
|
+
}) => void;
|
|
10
|
+
buildVersion?: string;
|
|
11
|
+
};
|
|
12
|
+
export interface EventEmitter {
|
|
13
|
+
addListener(eventName: string, listener: (...args: unknown[]) => void, context?: object): void;
|
|
14
|
+
removeListener(eventName: string, listener: (...args: unknown[]) => void): void;
|
|
15
|
+
emit(eventName: string, data: unknown): void;
|
|
16
|
+
removeAllListeners(eventName?: string): void;
|
|
17
|
+
trigger(eventName: string, params: string | Record<any, any>): void;
|
|
18
|
+
toggle(eventName: string, ...data: unknown[]): void;
|
|
19
|
+
}
|
|
20
|
+
export type NativeLynx = {
|
|
21
|
+
__globalProps: CloneableObject;
|
|
22
|
+
getJSModule(_moduleName: string): unknown;
|
|
23
|
+
getNativeApp(): NativeApp;
|
|
24
|
+
getCoreContext(): LynxContextEventTarget;
|
|
25
|
+
getCustomSectionSync(key: string): CloneableObject;
|
|
26
|
+
getCustomSection(key: string): Promise<CloneableObject>;
|
|
27
|
+
};
|
|
28
|
+
export type NativeTTObject = {
|
|
29
|
+
lynx: NativeLynx;
|
|
30
|
+
OnLifecycleEvent: (...args: unknown[]) => void;
|
|
31
|
+
publicComponentEvent(componentId: string, handlerName: string, eventData?: unknown): void;
|
|
32
|
+
publishEvent(handlerName: string, data?: unknown): void;
|
|
33
|
+
GlobalEventEmitter: EventEmitter;
|
|
34
|
+
lynxCoreInject: any;
|
|
35
|
+
updateCardData: (newData: Record<string, any>, options?: Record<string, any>) => void;
|
|
36
|
+
onNativeAppReady: () => void;
|
|
37
|
+
globalThis?: {
|
|
38
|
+
tt: NativeTTObject;
|
|
39
|
+
};
|
|
40
|
+
updateGlobalProps: (newData: Record<string, any>) => void;
|
|
41
|
+
};
|
|
42
|
+
export type BundleInitReturnObj = {
|
|
43
|
+
/**
|
|
44
|
+
* On the web platform
|
|
45
|
+
* @param opt
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
init: (opt: {
|
|
49
|
+
tt: NativeTTObject;
|
|
50
|
+
}) => unknown;
|
|
51
|
+
buildVersion?: string;
|
|
52
|
+
};
|
|
53
|
+
export interface InvokeCallbackRes {
|
|
54
|
+
code: ErrorCode;
|
|
55
|
+
data?: unknown;
|
|
56
|
+
}
|
|
57
|
+
export interface NativeApp {
|
|
58
|
+
id: string;
|
|
59
|
+
callLepusMethod(name: string, data: unknown, callback: (ret: unknown) => void): void;
|
|
60
|
+
setTimeout: typeof setTimeout;
|
|
61
|
+
setInterval: typeof setInterval;
|
|
62
|
+
clearTimeout: typeof clearTimeout;
|
|
63
|
+
clearInterval: typeof clearInterval;
|
|
64
|
+
requestAnimationFrame: (cb: () => void) => void;
|
|
65
|
+
cancelAnimationFrame: (id: number) => void;
|
|
66
|
+
readScript: (sourceURL: string, entryName?: string) => string;
|
|
67
|
+
loadScript: (sourceURL: string, entryName?: string) => BundleInitReturnObj;
|
|
68
|
+
loadScriptAsync(sourceURL: string, callback: (message: string | null, exports?: BundleInitReturnObj) => void, entryName?: string): void;
|
|
69
|
+
nativeModuleProxy: Record<string, any>;
|
|
70
|
+
setNativeProps: (type: IdentifierType, identifier: string, component_id: string, first_only: boolean, native_props: Record<string, unknown>, root_unique_id: number | undefined) => void;
|
|
71
|
+
invokeUIMethod: (type: IdentifierType, identifier: string, component_id: string, method: string, params: object, callback: (ret: InvokeCallbackRes) => void, root_unique_id: number) => void;
|
|
72
|
+
getPathInfo: (type: IdentifierType, identifier: string, component_id: string, first_only: boolean, callback: (ret: InvokeCallbackRes) => void, root_unique_id?: number) => void;
|
|
73
|
+
setCard(tt: NativeTTObject): void;
|
|
74
|
+
generatePipelineOptions: () => PerformancePipelineOptions;
|
|
75
|
+
onPipelineStart: (pipeline_id: string) => void;
|
|
76
|
+
markPipelineTiming: (pipeline_id: string, timing_key: string) => void;
|
|
77
|
+
bindPipelineIdWithTimingFlag: (pipeline_id: string, timing_flag: string) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Support from Lynx 3.0
|
|
80
|
+
*/
|
|
81
|
+
profileStart: (traceName: string, option?: unknown) => void;
|
|
82
|
+
/**
|
|
83
|
+
* Support from Lynx 3.0
|
|
84
|
+
*/
|
|
85
|
+
profileEnd: () => void;
|
|
86
|
+
/***
|
|
87
|
+
* Support from Lynx 3.0
|
|
88
|
+
*/
|
|
89
|
+
profileMark: () => void;
|
|
90
|
+
/**
|
|
91
|
+
* Support from Lynx 3.0
|
|
92
|
+
*/
|
|
93
|
+
profileFlowId: () => number;
|
|
94
|
+
/**
|
|
95
|
+
* Support from Lynx 2.18
|
|
96
|
+
*/
|
|
97
|
+
isProfileRecording: () => boolean;
|
|
98
|
+
triggerComponentEvent(id: string, params: {
|
|
99
|
+
eventDetail: CloneableObject;
|
|
100
|
+
eventOption: CloneableObject;
|
|
101
|
+
componentId: string;
|
|
102
|
+
}): void;
|
|
103
|
+
selectComponent(componentId: string, idSelector: string, single: boolean, callback?: () => void): void;
|
|
104
|
+
createJSObjectDestructionObserver(callback: (...args: unknown[]) => unknown): {};
|
|
105
|
+
setSharedData<T>(dataKey: string, dataVal: T): void;
|
|
106
|
+
getSharedData<T = unknown>(dataKey: string): T | undefined;
|
|
107
|
+
i18nResource: II18nResource;
|
|
108
|
+
reportException: (error: Error, _: unknown) => void;
|
|
109
|
+
__SetSourceMapRelease: (err: Error) => void;
|
|
110
|
+
__GetSourceMapRelease: (url: string) => string | undefined;
|
|
111
|
+
queryComponent: (source: string, callback: (ret: {
|
|
112
|
+
__hasReady: boolean;
|
|
113
|
+
} | {
|
|
114
|
+
code: number;
|
|
115
|
+
detail?: {
|
|
116
|
+
schema: string;
|
|
117
|
+
};
|
|
118
|
+
}) => void) => void;
|
|
119
|
+
tt: NativeTTObject | null;
|
|
120
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface PageConfig {
|
|
2
|
+
enableCSSSelector: 'true' | 'false';
|
|
3
|
+
enableRemoveCSSScope: 'true' | 'false';
|
|
4
|
+
defaultDisplayLinear: 'true' | 'false';
|
|
5
|
+
defaultOverflowVisible: 'true' | 'false';
|
|
6
|
+
enableJSDataProcessor: 'true' | 'false';
|
|
7
|
+
isLazy: 'true' | 'false';
|
|
8
|
+
cardType: string;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ProcessDataCallback = (data: any, processorName?: string) => any;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface SetupTimingInfo {
|
|
2
|
+
[key: string]: unknown;
|
|
3
|
+
}
|
|
4
|
+
export interface UpdateTimingInfo {
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
}
|
|
7
|
+
export interface ExtraTimingInfo {
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface MetricsTimingInfo {
|
|
11
|
+
}
|
|
12
|
+
export interface TimingInfo {
|
|
13
|
+
extra_timing: ExtraTimingInfo;
|
|
14
|
+
setup_timing: SetupTimingInfo;
|
|
15
|
+
update_timings: {
|
|
16
|
+
[key: string]: UpdateTimingInfo;
|
|
17
|
+
};
|
|
18
|
+
metrics: MetricsTimingInfo;
|
|
19
|
+
has_reload: boolean;
|
|
20
|
+
thread_strategy: number;
|
|
21
|
+
url: string;
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface PerformancePipelineOptions {
|
|
25
|
+
pipelineID: string;
|
|
26
|
+
needTimestamps: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface TimingEntry {
|
|
29
|
+
timingKey: string;
|
|
30
|
+
pipelineId?: string;
|
|
31
|
+
timeStamp: number;
|
|
32
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var NativeUpdateDataType;
|
|
2
|
+
(function (NativeUpdateDataType) {
|
|
3
|
+
NativeUpdateDataType[NativeUpdateDataType["UPDATE"] = 0] = "UPDATE";
|
|
4
|
+
NativeUpdateDataType[NativeUpdateDataType["RESET"] = 1] = "RESET";
|
|
5
|
+
})(NativeUpdateDataType || (NativeUpdateDataType = {}));
|
|
6
|
+
//# sourceMappingURL=UpdateDataOptions.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Cloneable } from './Cloneable.js';
|
|
2
|
+
import type { NapiModulesMap } from './NapiModules.js';
|
|
3
|
+
import type { NativeModulesMap } from './NativeModules.js';
|
|
4
|
+
export interface WorkerStartMessage {
|
|
5
|
+
mainThreadMessagePort: MessagePort;
|
|
6
|
+
systemInfo?: Record<string, any>;
|
|
7
|
+
initData: Cloneable;
|
|
8
|
+
globalProps: Cloneable;
|
|
9
|
+
cardType: string;
|
|
10
|
+
customSections: Record<string, Cloneable>;
|
|
11
|
+
nativeModulesMap: NativeModulesMap;
|
|
12
|
+
napiModulesMap: NapiModulesMap;
|
|
13
|
+
entryTemplateUrl: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type * from './Element.js';
|
|
2
|
+
export type * from './EventType.js';
|
|
3
|
+
export type * from './Cloneable.js';
|
|
4
|
+
export type * from './IElementPAPI.js';
|
|
5
|
+
export type * from './ElementTemplateData.js';
|
|
6
|
+
export type * from './NativeModules.js';
|
|
7
|
+
export type * from './NapiModules.js';
|
|
8
|
+
export type * from './I18nTypes.js';
|
|
9
|
+
export type * from './NativeApp.js';
|
|
10
|
+
export type * from './LynxContextEventTarget.js';
|
|
11
|
+
export type * from './MainThreadLynx.js';
|
|
12
|
+
export type * from './IMtsBinding.js';
|
|
13
|
+
export type * from './JSRealm.js';
|
|
14
|
+
export type * from './TimingAPIs.js';
|
|
15
|
+
export type * from './WorkerStartMessage.js';
|
|
16
|
+
export type * from './ProcessDataCallback.js';
|
|
17
|
+
export type * from './UpdateDataOptions.js';
|
|
18
|
+
export type * from './BTSChunk.js';
|
|
19
|
+
export type * from './PageConfig.js';
|
|
20
|
+
export type * from './DecodedTemplate.js';
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import compat from 'eslint-plugin-compat';
|
|
2
|
+
import { defineConfig } from 'eslint/config';
|
|
3
|
+
import tseslint from 'typescript-eslint';
|
|
4
|
+
export default defineConfig(
|
|
5
|
+
compat.configs['flat/recommended'],
|
|
6
|
+
{
|
|
7
|
+
ignores: ['dist/**', 'binary/**', 'css/**', 'scripts/**', 'tests/**'],
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
files: ['**/*.ts'],
|
|
11
|
+
languageOptions: {
|
|
12
|
+
parser: tseslint.parser,
|
|
13
|
+
parserOptions: {
|
|
14
|
+
projectService: {
|
|
15
|
+
allowDefaultProject: ['*.js', '*.ts'],
|
|
16
|
+
},
|
|
17
|
+
tsconfigRootDir: import.meta.dirname,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
settings: {
|
|
21
|
+
'lintAllEsApis': true,
|
|
22
|
+
},
|
|
23
|
+
rules: {
|
|
24
|
+
'no-restricted-syntax': [
|
|
25
|
+
'error',
|
|
26
|
+
{
|
|
27
|
+
selector:
|
|
28
|
+
'CallExpression[callee.object.name="Promise"][callee.property.name="withResolvers"]',
|
|
29
|
+
message: 'Promise.withResolvers is not supported in target browsers.',
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
);
|