@talex-touch/utils 1.0.0 → 1.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/base/index.ts +181 -0
- package/channel/index.ts +1 -1
- package/package.json +1 -1
- package/plugin/index.ts +19 -6
- package/plugin/preload.ts +20 -18
package/base/index.ts
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
export type Arch = 'x64' | 'x86' | 'arm' | 'arm64'
|
|
2
|
+
|
|
3
|
+
export type OS = 'Win' | 'Darwin' | 'Linux' | 'Android' | 'iOS' | 'ipadOS' | 'web' | 'watchOS' | 'tvOS' | 'wearOS' | 'visionOS'
|
|
4
|
+
|
|
5
|
+
export enum DepartedOS {
|
|
6
|
+
WINDOWS_8 = 'Windows 8',
|
|
7
|
+
WINDOWS_7 = 'Windows 7',
|
|
8
|
+
WINDOWS_VISTA = 'Windows Vista',
|
|
9
|
+
WINDOWS_XP = 'Windows XP',
|
|
10
|
+
WINDOWS_2000 = 'Windows 2000',
|
|
11
|
+
WINDOWS_NT = 'Windows NT',
|
|
12
|
+
WINDOWS_ME = 'Windows ME',
|
|
13
|
+
WINDOWS_98 = 'Windows 98',
|
|
14
|
+
WINDOWS_95 = 'Windows 95',
|
|
15
|
+
WINDOWS_CE = 'Windows CE',
|
|
16
|
+
WINDOWS_3_11 = 'Windows 3.11',
|
|
17
|
+
|
|
18
|
+
MACOS_MOJAVE = 'macOS Mojave',
|
|
19
|
+
MACOS_HIGH_SIERRA = 'macOS High Sierra',
|
|
20
|
+
MACOS_SIERRA = 'macOS Sierra',
|
|
21
|
+
MACOS_EL_CAPITAN = 'OS X El Capitan',
|
|
22
|
+
MACOS_YOSEMITE = 'OS X Yosemite',
|
|
23
|
+
MACOS_MAVERICKS = 'OS X Mavericks',
|
|
24
|
+
MACOS_MOUNTAIN_LION = 'OS X Mountain Lion',
|
|
25
|
+
MACOS_LION = 'Mac OS X Lion',
|
|
26
|
+
MACOS_SNOW_LEOPARD = 'Mac OS X Snow Leopard',
|
|
27
|
+
MACOS_LEOPARD = 'Mac OS X Leopard',
|
|
28
|
+
MACOS_TIGER = 'Mac OS X Tiger',
|
|
29
|
+
MACOS_PANTHER = 'Mac OS X Panther',
|
|
30
|
+
MACOS_JAGUAR = 'Mac OS X Jaguar',
|
|
31
|
+
MACOS_PUMA = 'Mac OS X Puma',
|
|
32
|
+
MACOS_CHEETAH = 'Mac OS X Cheetah',
|
|
33
|
+
|
|
34
|
+
LINUX_MANDRIVA = 'Linux Mandriva',
|
|
35
|
+
LINUX_MINT = 'Linux Mint',
|
|
36
|
+
LINUX_GENTOO = 'Linux Gentoo',
|
|
37
|
+
LINUX_KNOPPIX = 'Linux Knoppix',
|
|
38
|
+
LINUX_SLACKWARE = 'Linux Slackware',
|
|
39
|
+
LINUX_XANDROS = 'Linux Xandros',
|
|
40
|
+
LINUX_JOLI = 'Linux Joli',
|
|
41
|
+
LINUX_SUSE = 'Linux SUSE',
|
|
42
|
+
|
|
43
|
+
ANDROID_9 = 'Android 9',
|
|
44
|
+
ANDROID_8_1 = 'Android 8.1',
|
|
45
|
+
ANDROID_8 = 'Android 8',
|
|
46
|
+
ANDROID_7_1 = 'Android 7.1',
|
|
47
|
+
ANDROID_7 = 'Android 7',
|
|
48
|
+
ANDROID_6 = 'Android 6',
|
|
49
|
+
ANDROID_5_1 = 'Android 5.1',
|
|
50
|
+
ANDROID_5 = 'Android 5',
|
|
51
|
+
ANDROID_4_4 = 'Android 4.4',
|
|
52
|
+
ANDROID_4_3 = 'Android 4.3',
|
|
53
|
+
ANDROID_4_2 = 'Android 4.2',
|
|
54
|
+
ANDROID_4_1 = 'Android 4.1',
|
|
55
|
+
ANDROID_4 = 'Android 4',
|
|
56
|
+
ANDROID_3_2 = 'Android 3.2',
|
|
57
|
+
ANDROID_3_1 = 'Android 3.1',
|
|
58
|
+
ANDROID_3 = 'Android 3',
|
|
59
|
+
ANDROID_2_3 = 'Android 2.3',
|
|
60
|
+
ANDROID_2_2 = 'Android 2.2',
|
|
61
|
+
ANDROID_2_1 = 'Android 2.1',
|
|
62
|
+
ANDROID_2 = 'Android 2',
|
|
63
|
+
ANDROID_1_6 = 'Android 1.6',
|
|
64
|
+
ANDROID_1_5 = 'Android 1.5',
|
|
65
|
+
ANDROID_1_1 = 'Android 1.1',
|
|
66
|
+
ANDROID_1_0 = 'Android 1.0',
|
|
67
|
+
|
|
68
|
+
IOS_15 = 'iOS 15',
|
|
69
|
+
IOS_14 = 'iOS 14',
|
|
70
|
+
IOS_13 = 'iOS 13',
|
|
71
|
+
IOS_12 = 'iOS 12',
|
|
72
|
+
IOS_11 = 'iOS 11',
|
|
73
|
+
IOS_10 = 'iOS 10',
|
|
74
|
+
IOS_9 = 'iOS 9',
|
|
75
|
+
IOS_8 = 'iOS 8',
|
|
76
|
+
IOS_7 = 'iOS 7',
|
|
77
|
+
IOS_6 = 'iOS 6',
|
|
78
|
+
IOS_5 = 'iOS 5',
|
|
79
|
+
|
|
80
|
+
IPADOS_15 = 'iPadOS 15',
|
|
81
|
+
IPADOS_14 = 'iPadOS 14',
|
|
82
|
+
IPADOS_13 = 'iPadOS 13',
|
|
83
|
+
IPADOS_12 = 'iPadOS 12',
|
|
84
|
+
IPADOS_11 = 'iPadOS 11',
|
|
85
|
+
IPADOS_10 = 'iPadOS 10',
|
|
86
|
+
IPADOS_9 = 'iPadOS 9',
|
|
87
|
+
IPADOS_8 = 'iPadOS 8',
|
|
88
|
+
IPADOS_7 = 'iPadOS 7',
|
|
89
|
+
IPADOS_6 = 'iPadOS 6',
|
|
90
|
+
IPADOS_5 = 'iPadOS 5',
|
|
91
|
+
|
|
92
|
+
WEB_IE = 'Web IE',
|
|
93
|
+
|
|
94
|
+
WATCHOS_8 = 'watchOS 8',
|
|
95
|
+
WATCHOS_7 = 'watchOS 7',
|
|
96
|
+
WATCHOS_6 = 'watchOS 6',
|
|
97
|
+
WATCHOS_5 = 'watchOS 5',
|
|
98
|
+
WATCHOS_4 = 'watchOS 4',
|
|
99
|
+
WATCHOS_3 = 'watchOS 3',
|
|
100
|
+
WATCHOS_2 = 'watchOS 2',
|
|
101
|
+
WATCHOS_1 = 'watchOS 1',
|
|
102
|
+
|
|
103
|
+
TVOS_15 = 'tvOS 15',
|
|
104
|
+
TVOS_14 = 'tvOS 14',
|
|
105
|
+
TVOS_13 = 'tvOS 13',
|
|
106
|
+
TVOS_12 = 'tvOS 12',
|
|
107
|
+
TVOS_11 = 'tvOS 11',
|
|
108
|
+
TVOS_10 = 'tvOS 10',
|
|
109
|
+
TVOS_9 = 'tvOS 9',
|
|
110
|
+
TVOS_8 = 'tvOS 8',
|
|
111
|
+
TVOS_7 = 'tvOS 7',
|
|
112
|
+
TVOS_6 = 'tvOS 6',
|
|
113
|
+
TVOS_5 = 'tvOS 5',
|
|
114
|
+
TVOS_4 = 'tvOS 4',
|
|
115
|
+
TVOS_3 = 'tvOS 3',
|
|
116
|
+
TVOS_2 = 'tvOS 2',
|
|
117
|
+
TVOS_1 = 'tvOS 1',
|
|
118
|
+
|
|
119
|
+
WEAROS_3 = 'WearOS 3',
|
|
120
|
+
WEAROS_2 = 'WearOS 2',
|
|
121
|
+
WEAROS_1 = 'WearOS 1',
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export enum SupportOS {
|
|
125
|
+
WINDOWS = 'Windows',
|
|
126
|
+
WINDOWS_11 = 'Windows 10 Pro',
|
|
127
|
+
WINDOWS_10 = 'Windows 10',
|
|
128
|
+
|
|
129
|
+
MACOS = 'macOS',
|
|
130
|
+
MACOS_SONOMA = 'macOS Sonoma',
|
|
131
|
+
MACOS_MONTEREY = 'macOS Monterey',
|
|
132
|
+
MACOS_BIG_SUR = 'macOS Big Sur',
|
|
133
|
+
|
|
134
|
+
LINUX = 'Linux',
|
|
135
|
+
LINUX_UBUNTU = 'Linux Ubuntu',
|
|
136
|
+
LINUX_DEBIAN = 'Linux Debian',
|
|
137
|
+
LINUX_FEDORA = 'Linux Fedora',
|
|
138
|
+
LINUX_RED_HAT = 'Linux Red Hat',
|
|
139
|
+
LINUX_CENTOS = 'Linux CentOS',
|
|
140
|
+
LINUX_CHROME_OS = 'Linux Chrome OS',
|
|
141
|
+
LINUX_CHROMIUM_OS = 'Linux Chromium OS',
|
|
142
|
+
|
|
143
|
+
ANDROID = 'Android',
|
|
144
|
+
ANDROID_14 = 'Android 14',
|
|
145
|
+
ANDROID_13 = 'Android 13',
|
|
146
|
+
ANDROID_12 = 'Android 12',
|
|
147
|
+
ANDROID_11 = 'Android 11',
|
|
148
|
+
ANDROID_10 = 'Android 10',
|
|
149
|
+
|
|
150
|
+
IOS = 'iOS',
|
|
151
|
+
IOS_17 = 'iOS 17',
|
|
152
|
+
IOS_16 = 'iOS 16',
|
|
153
|
+
|
|
154
|
+
IPADOS = 'iPadOS',
|
|
155
|
+
IPADOS_17 = 'iPadOS 17',
|
|
156
|
+
IPADOS_16 = 'iPadOS 16',
|
|
157
|
+
|
|
158
|
+
WEB = 'Web',
|
|
159
|
+
WEB_CHROME = 'Web Chrome',
|
|
160
|
+
WEB_FIREFOX = 'Web Firefox',
|
|
161
|
+
WEB_SAFARI = 'Web Safari',
|
|
162
|
+
WEB_EDGE = 'Web Edge',
|
|
163
|
+
WEB_OPERA = 'Web Opera',
|
|
164
|
+
WEB_ANDROID = 'Web Android',
|
|
165
|
+
WEB_IOS = 'Web iOS',
|
|
166
|
+
WEB_IPADOS = 'Web iPadOS',
|
|
167
|
+
|
|
168
|
+
WATCHOS = 'watchOS',
|
|
169
|
+
WATCHOS_9 = 'watchOS 10',
|
|
170
|
+
WATCHOS_10 = 'watchOS 9',
|
|
171
|
+
|
|
172
|
+
TVOS = 'tvOS',
|
|
173
|
+
TVOS_17 = 'tvOS 17',
|
|
174
|
+
TVOS_16 = 'tvOS 16',
|
|
175
|
+
|
|
176
|
+
WEAROS = 'WearOS',
|
|
177
|
+
WEAROS_4 = 'WearOS 4',
|
|
178
|
+
|
|
179
|
+
VISIONOS = 'VisionOS',
|
|
180
|
+
VISIONOS_1 = 'VisionOS 1',
|
|
181
|
+
}
|
package/channel/index.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface ITouchChannel {
|
|
|
18
18
|
* @param eventName {string} The name of event, must be unique in the channel {@link ChannelType
|
|
19
19
|
* @param callback {Function} The callback function
|
|
20
20
|
*/
|
|
21
|
-
regChannel(type: ChannelType, eventName: string, callback:
|
|
21
|
+
regChannel(type: ChannelType, eventName: string, callback: (data: StandardChannelData) => any): () => void
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Send a message to a channel
|
package/package.json
CHANGED
package/plugin/index.ts
CHANGED
|
@@ -1,21 +1,34 @@
|
|
|
1
|
+
import { Arch, SupportOS } from './../base/index';
|
|
1
2
|
export enum PluginStatus {
|
|
2
3
|
DISABLED,
|
|
3
4
|
DISABLING,
|
|
4
|
-
|
|
5
|
+
|
|
5
6
|
CRASHED,
|
|
6
7
|
|
|
7
8
|
ENABLED,
|
|
8
9
|
ACTIVE,
|
|
9
|
-
|
|
10
|
+
|
|
10
11
|
LOADING,
|
|
11
|
-
LOADED
|
|
12
|
+
LOADED,
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export interface IPluginIcon {
|
|
15
|
-
type: string | 'remixicon'
|
|
16
|
+
type: string | 'remixicon' | 'class'
|
|
16
17
|
value: any
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
export interface IPlatformInfo {
|
|
21
|
+
enable: boolean
|
|
22
|
+
arch: Arch[]
|
|
23
|
+
os: SupportOS[]
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export type PlatformKey = 'win' | 'darwin' | 'linux'
|
|
27
|
+
|
|
28
|
+
export type IPlatform = {
|
|
29
|
+
[key in PlatformKey]: IPlatformInfo
|
|
30
|
+
}
|
|
31
|
+
|
|
19
32
|
export interface IPluginBaseInfo {
|
|
20
33
|
name: string
|
|
21
34
|
readme: string
|
|
@@ -50,7 +63,7 @@ export interface IPluginManager {
|
|
|
50
63
|
pluginPath: string
|
|
51
64
|
|
|
52
65
|
setActivePlugin(pluginName: string): boolean
|
|
53
|
-
|
|
66
|
+
|
|
54
67
|
loadPlugin(pluginName: string): Promise<boolean>
|
|
55
68
|
unloadPlugin(pluginName: string): Promise<boolean>
|
|
56
|
-
}
|
|
69
|
+
}
|
package/plugin/preload.ts
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
|
-
import { touchChannel } from
|
|
1
|
+
import { touchChannel } from './channel'
|
|
2
2
|
|
|
3
3
|
// window type
|
|
4
4
|
declare global {
|
|
5
5
|
export interface Window {
|
|
6
6
|
$plugin: {
|
|
7
|
-
name: string
|
|
8
|
-
path: Object
|
|
9
|
-
}
|
|
10
|
-
$send: (type: string, data: any) => void
|
|
11
|
-
$sendSync: (type: string, data: any) => Promise<any
|
|
12
|
-
$regChannel: (type: string, callback: Function) => void
|
|
13
|
-
$crash: (message: string, extraData: any) => void
|
|
7
|
+
name: string
|
|
8
|
+
path: Object
|
|
9
|
+
}
|
|
10
|
+
$send: (type: string, data: any) => void
|
|
11
|
+
$sendSync: (type: string, data: any) => Promise<any>
|
|
12
|
+
$regChannel: (type: string, callback: Function) => void
|
|
13
|
+
$crash: (message: string, extraData: any) => void
|
|
14
14
|
$config: {
|
|
15
|
-
themeStyle: any
|
|
16
|
-
}
|
|
15
|
+
themeStyle: any
|
|
16
|
+
}
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export function init(window: Window) {
|
|
21
|
-
const plugin = window.$plugin
|
|
21
|
+
const plugin = window.$plugin
|
|
22
22
|
if (!plugin)
|
|
23
|
-
throw new Error(
|
|
23
|
+
throw new Error('Plugin has a fatal error! Please check your plugin!')
|
|
24
24
|
|
|
25
|
-
window.$crash = function(message, extraData) {
|
|
26
|
-
window.$send(
|
|
27
|
-
}
|
|
25
|
+
window.$crash = function (message, extraData) {
|
|
26
|
+
window.$send('crash', { message, ...extraData })
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
initBridge(window)
|
|
28
30
|
}
|
|
29
31
|
|
|
30
32
|
export function initBridge(window: Window) {
|
|
31
|
-
window.$send = touchChannel.send
|
|
32
|
-
window.$sendSync = touchChannel.sendSync
|
|
33
|
-
window.$regChannel = touchChannel.regChannel
|
|
33
|
+
window.$send = touchChannel.send
|
|
34
|
+
window.$sendSync = touchChannel.sendSync
|
|
35
|
+
window.$regChannel = touchChannel.regChannel
|
|
34
36
|
}
|