glyphix 1.0.4 → 1.0.6

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/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "glyphix",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "main": "lib/index.js",
5
+ "types": "types/index.d.ts",
5
6
  "bin": {
6
7
  "glyphix": "./glyphix.js"
7
8
  },
@@ -0,0 +1,85 @@
1
+ declare module "@system.cipher" {
2
+ type transformationType =
3
+ | "AES/ECB/PKCS5Padding"
4
+ | "AES/ECB/PKCS7Padding"
5
+ | "AES/ECB/NoPadding"
6
+ | "AES/ECB/OneAndZerosPadding"
7
+ | "AES/ECB/ZerosAndLenPadding"
8
+ | "AES/ECB/ZerosPadding"
9
+ | "AES/CBC/PKCS5Padding"
10
+ | "AES/CBC/PKCS7Padding"
11
+ | "AES/CBC/NoPadding"
12
+ | "AES/CBC/OneAndZerosPadding"
13
+ | "AES/CBC/ZerosAndLenPadding"
14
+ | "AES/CBC/ZerosPadding"
15
+ | "AES/CFB/PKCS5Padding"
16
+ | "AES/CFB/PKCS7Padding"
17
+ | "AES/CFB/NoPadding"
18
+ | "AES/CFB/OneAndZerosPadding"
19
+ | "AES/CFB/ZerosAndLenPadding"
20
+ | "AES/CFB/ZerosPadding"
21
+ | "AES/CTR/PKCS5Padding"
22
+ | "AES/CTR/PKCS7Padding"
23
+ | "AES/CTR/NoPadding"
24
+ | "AES/CTR/OneAndZerosPadding"
25
+ | "AES/CTR/ZerosAndLenPadding"
26
+ | "AES/CTR/ZerosPadding"
27
+ | "AES/OFB/PKCS5Padding"
28
+ | "AES/OFB/PKCS7Padding"
29
+ | "AES/OFB/NoPadding"
30
+ | "AES/OFB/OneAndZerosPadding"
31
+ | "AES/OFB/ZerosAndLenPadding"
32
+ | "AES/OFB/ZerosPadding";
33
+ interface CipherFactory {
34
+ aes(options: {
35
+ action: "encrypt" | "decrypt";
36
+ text: string;
37
+ key: string;
38
+ transformation?: transformationType;
39
+ iv?: string;
40
+ ivOffset?: number;
41
+ ivLen?: number;
42
+ }): Promise<{ text: string }>;
43
+
44
+ rsa(options: {
45
+ action: string;
46
+ text: string;
47
+ key: string;
48
+ transformation?:
49
+ | "PKCS_v15andMGF1Padding"
50
+ | "OAEPwithMD5andMGF1Padding"
51
+ | "1andMGF1Padding"
52
+ | "256andMGF1Padding";
53
+ }): Promise<{ text: string }>;
54
+
55
+ sign(options: {
56
+ text: string;
57
+ key: string;
58
+ algorithm?:
59
+ | "MD5withRSA"
60
+ | "SHA1withRSA"
61
+ | "SHA256withRSA"
62
+ | "SHA512withRSA";
63
+ }): Promise<{ sign: string }>;
64
+
65
+ hash(options: {
66
+ data: string | ArrayBuffer;
67
+ algorithm: "md5" | "sha1" | "sha224" | "sha256" | "sha384" | "sha512";
68
+ encode?: "hex" | "base64" | "arraybuffer";
69
+ }): Promise<string | ArrayBuffer>;
70
+
71
+ hmac(options: {
72
+ data: string | ArrayBuffer;
73
+ algorithm: "md5" | "sha1" | "sha224" | "sha256" | "sha384" | "sha512";
74
+ key: string | ArrayBuffer;
75
+ encode?: "hex" | "base64" | "arraybuffer";
76
+ }): Promise<string | ArrayBuffer>;
77
+
78
+ base64Encode(data: string | ArrayBuffer): Promise<string>;
79
+
80
+ base64Decode(data: string | ArrayBuffer): Promise<ArrayBuffer>;
81
+ }
82
+
83
+ const cipherFactory: CipherFactory;
84
+ export default cipherFactory;
85
+ }
@@ -0,0 +1,20 @@
1
+ declare module "@system.fetch" {
2
+ interface FetchFactory {
3
+ fetch(options: {
4
+ url: string;
5
+ method?: "GET" | "POST" | "PUT";
6
+ header?: { [key: string]: string };
7
+ params?: { [key: string]: string | number };
8
+ data?: string | ArrayBuffer | { [key: string]: any };
9
+ responseType?: "text" | "json" | "arraybuffer";
10
+ timeout?: number;
11
+ }): Promise<{
12
+ code: number;
13
+ headers: { [key: string]: string };
14
+ data: string | ArrayBuffer | any;
15
+ }>;
16
+ }
17
+
18
+ const fetchFactory: FetchFactory;
19
+ export default fetchFactory;
20
+ }
@@ -0,0 +1,41 @@
1
+ declare module "@system.file" {
2
+ interface FileFactory {
3
+ readText(params: { uri: string }): Promise<string>;
4
+
5
+ writeText(params: {
6
+ uri: string;
7
+ text: string;
8
+ append?: boolean;
9
+ }): Promise<void>;
10
+
11
+ read(params: {
12
+ uri: string;
13
+ position?: number;
14
+ length?: number;
15
+ }): Promise<ArrayBuffer>;
16
+
17
+ write(params: {
18
+ uri: string;
19
+ data: ArrayBuffer;
20
+ position?: number;
21
+ append?: boolean;
22
+ }): Promise<void>;
23
+
24
+ copy(params: { srcUri: string; dstUri: string }): Promise<void>;
25
+
26
+ rename(params: { oldUri: string; newUri: string }): Promise<void>;
27
+
28
+ list(params: { uri: string }): Promise<Array>;
29
+
30
+ access(params: { uri: string }): Promise<boolean>;
31
+
32
+ mkdir(params: { uri: string; recursive?: boolean }): Promise<void>;
33
+
34
+ remove(params: { uri: string; recursive?: boolean }): Promise<void>;
35
+
36
+ stat(options: { uri: string }): Promise<{ size: number }>;
37
+ }
38
+
39
+ const fileFactory: FileFactory;
40
+ export default fileFactory;
41
+ }
@@ -0,0 +1,11 @@
1
+ /// <reference path="./websocketfactory.d.ts" />
2
+ /// <reference path="./media.d.ts" />
3
+ /// <reference path="./fetch.d.ts" />
4
+ /// <reference path="./request.d.ts" />
5
+ /// <reference path="./router.d.ts" />
6
+ /// <reference path="./launch.d.ts" />
7
+ /// <reference path="./storage.d.ts" />
8
+ /// <reference path="./file.d.ts" />
9
+ /// <reference path="./network.d.ts" />
10
+ /// <reference path="./cipher.d.ts" />
11
+
@@ -0,0 +1,28 @@
1
+ declare module "@system.launch" {
2
+ interface LaunchFactory {
3
+ /**
4
+ * 启动指定应用并切换到前台。
5
+ * app 是一个已经安装的应用 ID 字符串。
6
+ * 返回的 Promise 表示应用是否加载成功
7
+ * @param app 应用 id
8
+ */
9
+ launch(app: string): Promise<bool>;
10
+ /**
11
+ * 将应用切换到后台
12
+ * @param app 应用 id
13
+ */
14
+ inactive(app?: string): Promise<void>;
15
+ /**
16
+ * 退出一个应用
17
+ * @param app 应用 id
18
+ */
19
+ exit(app?: string): Promise<void>;
20
+ /**
21
+ * 获取正在运行的应用包名列表,包括那些在后台的应用
22
+ */
23
+ getRunning(): string[];
24
+ }
25
+
26
+ const fetchFactory: LaunchFactory;
27
+ export default fetchFactory;
28
+ }
@@ -0,0 +1,68 @@
1
+ declare module "@system.media" {
2
+ interface MediaFactory {
3
+ createAudioPlayer(): AudioPLayer;
4
+ createAudioRecord(): AudioRecorder;
5
+ setVolume(volume: number): void;
6
+ }
7
+
8
+ interface SongAttribute {
9
+ title: string; // 歌曲的名称
10
+ artist: string; // 表演者的名称,可以是个人或者乐队
11
+ album: string; // 歌曲所属的专辑名称
12
+ year: string; // 歌曲的发行年份
13
+ genre: string; // 歌曲的类型,例如流行、摇滚、古典等
14
+ track: string; // 当前歌曲在专辑中的编号,例如:"1/12" 表示第1首,共12首
15
+ coverArt: string; // 歌曲封面图片的url
16
+ lyrics: string; // 歌词文本的 url
17
+ comments: string; // 额外信息,如版权备注等
18
+ }
19
+
20
+ export interface AudioPLayer {
21
+ src: string;
22
+ name?: string;
23
+ icon?: string;
24
+ mode?: "sequential" | "random" | "singleloop" | "listloop";
25
+ status: "play" | "pause" | "stop" | "ended" | "error";
26
+ duration: number;
27
+ position: number;
28
+ openSystemNotification: boolean;
29
+ songAttribute: SongAttribute;
30
+ play(): void;
31
+ pause(): void;
32
+ stop(): void;
33
+ release(): void;
34
+ onplay?: () => void;
35
+ onpause?: () => void;
36
+ onstop?: () => void;
37
+ onended?: () => void;
38
+ onerror?: () => void;
39
+ ontimeupdate?: () => void;
40
+ oninterrupt(action: number): void;
41
+ onnext?: () => void;
42
+ onprevious?: () => void;
43
+ }
44
+
45
+ export interface AudioRecorder {
46
+ start(options: {
47
+ uri: string;
48
+ sample?: 8000 | 16000 | 44100 | 48000;
49
+ layout?: 8 | 16 | 32;
50
+ channel?: 1 | 2;
51
+ success?: () => void;
52
+ failed?: () => void;
53
+ });
54
+
55
+ read(options: { callback: (buffer: ArrayBuffer) => void });
56
+
57
+ stop(): void;
58
+ release(): void;
59
+ onstart?: () => void;
60
+ onstop?: () => void;
61
+ onrelease?: () => void;
62
+ onavailable: (data: ArrayBuffer) => void;
63
+ onerror: () => void;
64
+ }
65
+
66
+ const mediaFactory: MediaFactory;
67
+ export default mediaFactory;
68
+ }
@@ -0,0 +1,18 @@
1
+ declare module "@system.network" {
2
+ interface NetworkFactory {
3
+ subscribe(callback: (status: NetworkState) => void): number;
4
+ unsubscribe(subscribeID: number): void;
5
+
6
+ getType(): Promise<NetworkState>;
7
+ }
8
+
9
+ interface NetworkState {
10
+ device: string; // 网络设备的名字
11
+ type: string; // 网络设备的类型
12
+ linkUp: boolean; // 网络设备是否已经打开
13
+ online: boolean; // 设备是否在线(是否可以访问互联网)
14
+ }
15
+
16
+ const networkFactory: NetworkFactory;
17
+ export default networkFactory;
18
+ }
@@ -0,0 +1,18 @@
1
+ declare module "@system.request" {
2
+ interface RequestFactory {
3
+ download(options: {
4
+ url: string;
5
+ header?: { [key: string]: string };
6
+ filename?: string;
7
+ callback: (progress: number) => void;
8
+ }): DownloadTask;
9
+ }
10
+
11
+ interface DownloadTask {
12
+ complete: Promise<void>;
13
+ cancel(): void;
14
+ }
15
+
16
+ const fetchFactory: RequestFactory;
17
+ export default fetchFactory;
18
+ }
@@ -0,0 +1,68 @@
1
+ declare module "@system.router" {
2
+ interface RouterFactory {
3
+ /**
4
+ * 跳转到应用内的指定页面
5
+ * @param options
6
+ */
7
+ push(options: { uri: string; params?: Object }): Promise<boolean>;
8
+
9
+ /**
10
+ * 跳转到应用内的指定页面并关闭当前页面
11
+ * @param options
12
+ */
13
+ replace(options: { uri: string; params?: Object }): Promise<boolean>;
14
+
15
+ /**
16
+ * 返回到名为 name 的页面,如果 name 为空或者不传递这个参数,router.back() 就返回到上一级页面
17
+ * @param name
18
+ */
19
+ back(name?: string): Promise<boolean>;
20
+
21
+ /**
22
+ * 关闭指定页面。page 是一个页面的 view-model 对象
23
+ * @param page
24
+ */
25
+ close(page: Object): Promise<void>;
26
+
27
+ /**
28
+ * 获取当前应用页面栈中所有页面的页面组件
29
+ */
30
+ getPages(): Component[];
31
+
32
+ /**
33
+ * 获取当前应用页面栈中页面数量
34
+ */
35
+ getLength(): number;
36
+
37
+ /**
38
+ * 获取当前应用页面栈中所有页面的名称
39
+ */
40
+ getPagesName(): String[];
41
+
42
+ /**
43
+ * 获取当前应用中由 index 指定的页面组件。index 是页面的索引(即在页面栈中的位置)。如果查找的页面不存在则返回 undefined
44
+ * @param index
45
+ */
46
+ getPage(index: number): Component | undefined;
47
+
48
+ /**
49
+ * 获取当前应用中由页面组件 component 指定的页面索引。如果查找的页面不存在则返回 undefined。
50
+ * @param component
51
+ */
52
+ getIndex(component: Component): number | undefined;
53
+ /**
54
+ * 获取页面栈中名为 name 的所有页面列表,页面列表和页面栈的顺序相同。
55
+ * @param name
56
+ */
57
+ queryPage(name: string): Component[];
58
+
59
+ /**
60
+ * 获取页面栈中名为 name 的所有页面索引,页面索引值的顺序和页面栈的顺序相同
61
+ * @param name
62
+ */
63
+ queryIndex(name: string): number[];
64
+ }
65
+
66
+ const router: RouterFactory;
67
+ export default RouterFactory;
68
+ }
@@ -0,0 +1,32 @@
1
+ declare module "@system.storage" {
2
+ interface StorageFactory {
3
+ /**
4
+ * 获取存储中键名 key 所对应的值。
5
+ * 如果键值对不存在则返回 undefined
6
+ * @param key
7
+ */
8
+ get(key: string): any;
9
+
10
+ /**
11
+ * 该方法接受一个键名 key 和值 value 作为参数并将此键值对添加到存储中。
12
+ * 如果键名已经存在则更新其对应的值
13
+ * @param key
14
+ * @param value
15
+ */
16
+ set(key: string, value: any): void;
17
+
18
+ /**
19
+ * 删除存储中键名 key 对应的键值对。键值对存在且删除成功后返回 true
20
+ * @param key
21
+ */
22
+ delete(key: string): boolean;
23
+ /**
24
+ * 清空应用中的所有存储数据
25
+ */
26
+ clear(): void;
27
+ }
28
+
29
+ const storageFactory: StorageFactory;
30
+
31
+ export default storageFactory;
32
+ }
@@ -0,0 +1,18 @@
1
+ declare module '@system.websocketfactory' {
2
+ interface WebSocketFactory {
3
+ create(options: { url: string; header: { [key: string]: any } });
4
+ }
5
+
6
+ export interface WebSocketInstance {
7
+ send(params: { data: string | ArrayBuffer }): Promise<any>;
8
+ close(params: { code: number; reason: string }): void;
9
+
10
+ onopen?: () => void;
11
+ onmessage?: (msg: string | ArrayBuffer) => void;
12
+ onclose?: (event: { code: number; reason: string }) => void;
13
+ onerror?: (error: { code: number; reason: string }) => void;
14
+ }
15
+
16
+ const websocketFactory: WebSocketFactory;
17
+ export default websocketFactory;
18
+ }