@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 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: Function): () => void
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
@@ -5,7 +5,7 @@
5
5
  "module": "./index.ts",
6
6
  "license": "MPL-2.0",
7
7
  "private": false,
8
- "version": "1.0.0",
8
+ "version": "1.0.2",
9
9
  "scripts": {
10
10
  "publish": "npm publish --access public"
11
11
  },
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 "./channel";
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("Plugin has a fatal error! Please check your plugin!");
23
+ throw new Error('Plugin has a fatal error! Please check your plugin!')
24
24
 
25
- window.$crash = function(message, extraData) {
26
- window.$send("crash", { message, ...extraData });
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
  }