@zimi/remote 0.2.1 → 0.2.3
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/LICENSE.md +21 -21
- package/README.md +289 -285
- package/dist/adaptor.d.mts +33 -0
- package/dist/adaptor.d.ts +5 -4
- package/dist/adaptor.js +1 -1
- package/dist/adaptor.js.map +1 -1
- package/dist/adaptor.mjs +1 -0
- package/dist/adaptor.mjs.map +1 -0
- package/dist/adaptors/dao3/client.d.mts +39 -0
- package/dist/adaptors/dao3/client.d.ts +5 -3
- package/dist/adaptors/dao3/client.js +1 -44
- package/dist/adaptors/dao3/client.js.map +1 -1
- package/dist/adaptors/dao3/client.mjs +2 -0
- package/dist/adaptors/dao3/client.mjs.map +1 -0
- package/dist/adaptors/dao3/server.d.mts +82 -0
- package/dist/adaptors/dao3/server.d.ts +5 -3
- package/dist/adaptors/dao3/server.js +1 -104
- package/dist/adaptors/dao3/server.js.map +1 -1
- package/dist/adaptors/dao3/server.mjs +2 -0
- package/dist/adaptors/dao3/server.mjs.map +1 -0
- package/dist/adaptors/electron/constants.d.mts +5 -0
- package/dist/adaptors/electron/constants.d.ts +5 -0
- package/dist/adaptors/electron/constants.js +2 -0
- package/dist/adaptors/electron/constants.js.map +1 -0
- package/dist/adaptors/electron/constants.mjs +2 -0
- package/dist/adaptors/electron/constants.mjs.map +1 -0
- package/dist/adaptors/electron/main.d.mts +10 -0
- package/dist/adaptors/electron/main.d.ts +10 -0
- package/dist/adaptors/electron/main.js +2 -0
- package/dist/adaptors/electron/main.js.map +1 -0
- package/dist/adaptors/electron/main.mjs +2 -0
- package/dist/adaptors/electron/main.mjs.map +1 -0
- package/dist/adaptors/electron/messenger.d.mts +8 -0
- package/dist/adaptors/electron/messenger.d.ts +8 -0
- package/dist/adaptors/electron/messenger.js +2 -0
- package/dist/adaptors/electron/messenger.js.map +1 -0
- package/dist/adaptors/electron/messenger.mjs +2 -0
- package/dist/adaptors/electron/messenger.mjs.map +1 -0
- package/dist/adaptors/electron/preload.d.mts +6 -0
- package/dist/adaptors/electron/preload.d.ts +6 -0
- package/dist/adaptors/electron/preload.js +2 -0
- package/dist/adaptors/electron/preload.js.map +1 -0
- package/dist/adaptors/electron/preload.mjs +2 -0
- package/dist/adaptors/electron/preload.mjs.map +1 -0
- package/dist/adaptors/electron/renderer.d.mts +9 -0
- package/dist/adaptors/electron/renderer.d.ts +9 -0
- package/dist/adaptors/electron/renderer.js +2 -0
- package/dist/adaptors/electron/renderer.js.map +1 -0
- package/dist/adaptors/electron/renderer.mjs +2 -0
- package/dist/adaptors/electron/renderer.mjs.map +1 -0
- package/dist/adaptors/http.d.mts +15 -0
- package/dist/adaptors/http.d.ts +6 -4
- package/dist/adaptors/http.js +1 -26
- package/dist/adaptors/http.js.map +1 -1
- package/dist/adaptors/http.mjs +2 -0
- package/dist/adaptors/http.mjs.map +1 -0
- package/dist/adaptors/iframe.d.mts +7 -0
- package/dist/adaptors/iframe.d.ts +5 -2
- package/dist/adaptors/iframe.js +1 -38
- package/dist/adaptors/iframe.js.map +1 -1
- package/dist/adaptors/iframe.mjs +2 -0
- package/dist/adaptors/iframe.mjs.map +1 -0
- package/dist/index.d.mts +16 -0
- package/dist/index.d.ts +16 -10
- package/dist/index.js +1 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/remote.d.mts +81 -0
- package/dist/remote.d.ts +6 -4
- package/dist/remote.js +1 -196
- package/dist/remote.js.map +1 -1
- package/dist/remote.mjs +2 -0
- package/dist/remote.mjs.map +1 -0
- package/dist/remoteValue/exposeToRemote.d.mts +43 -0
- package/dist/remoteValue/exposeToRemote.d.ts +7 -5
- package/dist/remoteValue/exposeToRemote.js +1 -52
- package/dist/remoteValue/exposeToRemote.js.map +1 -1
- package/dist/remoteValue/exposeToRemote.mjs +2 -0
- package/dist/remoteValue/exposeToRemote.mjs.map +1 -0
- package/dist/remoteValue/remoteValue.d.mts +29 -0
- package/dist/remoteValue/remoteValue.d.ts +6 -4
- package/dist/remoteValue/remoteValue.js +1 -67
- package/dist/remoteValue/remoteValue.js.map +1 -1
- package/dist/remoteValue/remoteValue.mjs +2 -0
- package/dist/remoteValue/remoteValue.mjs.map +1 -0
- package/dist/remoteValue/type.d.mts +67 -0
- package/dist/remoteValue/type.d.ts +20 -19
- package/dist/remoteValue/type.js +1 -1
- package/dist/remoteValue/type.js.map +1 -1
- package/dist/remoteValue/type.mjs +1 -0
- package/dist/remoteValue/type.mjs.map +1 -0
- package/dist/response.d.mts +105 -0
- package/dist/response.d.ts +6 -5
- package/dist/response.js +1 -154
- package/dist/response.js.map +1 -1
- package/dist/response.mjs +2 -0
- package/dist/response.mjs.map +1 -0
- package/package.json +13 -6
- package/src/adaptor.ts +34 -34
- package/src/adaptors/dao3/client.ts +53 -53
- package/src/adaptors/dao3/server.ts +136 -136
- package/src/adaptors/electron/constants.ts +3 -0
- package/src/adaptors/electron/main.ts +59 -0
- package/src/adaptors/electron/messenger.ts +13 -0
- package/src/adaptors/electron/preload.ts +21 -0
- package/src/adaptors/electron/renderer.ts +52 -0
- package/src/adaptors/http.ts +31 -31
- package/src/adaptors/iframe.ts +47 -47
- package/src/index.ts +5 -0
- package/src/remote.ts +263 -260
- package/src/remoteValue/exposeToRemote.ts +102 -102
- package/src/remoteValue/remoteValue.ts +94 -94
- package/src/remoteValue/type.ts +124 -124
- package/src/response.ts +170 -170
package/src/response.ts
CHANGED
|
@@ -1,170 +1,170 @@
|
|
|
1
|
-
/* eslint-disable max-classes-per-file */
|
|
2
|
-
interface RawRemoteError {
|
|
3
|
-
/**
|
|
4
|
-
* code > 0 才是合法的 Error;
|
|
5
|
-
* name 和 message 都是 human readable 的字符串,
|
|
6
|
-
* 仅用于调试和展示,
|
|
7
|
-
* 程序逻辑判断请使用 code
|
|
8
|
-
*/
|
|
9
|
-
code: number
|
|
10
|
-
/**
|
|
11
|
-
* name 和 message 都是 human readable 的字符串,
|
|
12
|
-
* 仅用于调试和展示,
|
|
13
|
-
* 程序逻辑判断请使用 code
|
|
14
|
-
*/
|
|
15
|
-
name: string
|
|
16
|
-
/**
|
|
17
|
-
* name 和 message 都是 human readable 的字符串,
|
|
18
|
-
* 仅用于调试和展示,
|
|
19
|
-
* 程序逻辑判断请使用 code
|
|
20
|
-
*/
|
|
21
|
-
message: string
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* name 和 message 都是 human readable 的字符串,
|
|
26
|
-
* 仅用于调试和展示,
|
|
27
|
-
* 程序逻辑判断请使用 code
|
|
28
|
-
*/
|
|
29
|
-
export class RemoteError extends Error {
|
|
30
|
-
/**
|
|
31
|
-
* code > 0 才是合法的 Error;
|
|
32
|
-
* name 和 message 都是 human readable 的字符串,
|
|
33
|
-
* 仅用于调试和展示,
|
|
34
|
-
* 程序逻辑判断请使用 code
|
|
35
|
-
*/
|
|
36
|
-
code = 1
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* name 和 message 都是 human readable 的字符串,
|
|
40
|
-
* 仅用于调试和展示,
|
|
41
|
-
* 程序逻辑判断请使用 code
|
|
42
|
-
*/
|
|
43
|
-
constructor(message: string) {
|
|
44
|
-
super(message)
|
|
45
|
-
this.name = 'RemoteError'
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
toJson(): RawRemoteError {
|
|
49
|
-
return {
|
|
50
|
-
code: this.code,
|
|
51
|
-
name: this.name,
|
|
52
|
-
message: this.message,
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
toString() {
|
|
57
|
-
return JSON.stringify(this.toJson())
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
valueOf() {
|
|
61
|
-
return `${this.name} [${this.code}]: ${this.message}`
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
static fromError(err: unknown) {
|
|
65
|
-
if (typeof err === 'string') {
|
|
66
|
-
return new RemoteError(err)
|
|
67
|
-
}
|
|
68
|
-
if (!err) {
|
|
69
|
-
return new RemoteError('Unknown error')
|
|
70
|
-
}
|
|
71
|
-
const json = err as Partial<RawRemoteError>
|
|
72
|
-
const error = new RemoteError(
|
|
73
|
-
typeof json.message === 'string' ? json.message : 'Unknown error'
|
|
74
|
-
)
|
|
75
|
-
if (typeof json.code === 'number' && json.code > 0) {
|
|
76
|
-
error.code = json.code
|
|
77
|
-
}
|
|
78
|
-
if (json.name && typeof json.name === 'string') {
|
|
79
|
-
error.name = json.name
|
|
80
|
-
}
|
|
81
|
-
return error
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
static isRemoteError(data: unknown): data is RawRemoteError {
|
|
85
|
-
const json = data as Partial<RawRemoteError>
|
|
86
|
-
return (
|
|
87
|
-
!!json &&
|
|
88
|
-
typeof json === 'object' &&
|
|
89
|
-
typeof json.code === 'number' &&
|
|
90
|
-
json.code > 0 &&
|
|
91
|
-
typeof json.name === 'string' &&
|
|
92
|
-
typeof json.message === 'string'
|
|
93
|
-
)
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* name 和 message 都是 human readable 的字符串,
|
|
99
|
-
* 仅用于调试和展示,
|
|
100
|
-
* 程序逻辑判断请使用 code
|
|
101
|
-
*/
|
|
102
|
-
export class RemoteTimeoutError extends RemoteError {
|
|
103
|
-
/**
|
|
104
|
-
* name 和 message 都是 human readable 的字符串,
|
|
105
|
-
* 仅用于调试和展示,
|
|
106
|
-
* 程序逻辑判断请使用 code
|
|
107
|
-
*/
|
|
108
|
-
static code = 2
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* name 和 message 都是 human readable 的字符串,
|
|
112
|
-
* 仅用于调试和展示,
|
|
113
|
-
* 程序逻辑判断请使用 code
|
|
114
|
-
*/
|
|
115
|
-
code = 2
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* name 和 message 都是 human readable 的字符串,
|
|
119
|
-
* 仅用于调试和展示,
|
|
120
|
-
* 程序逻辑判断请使用 code
|
|
121
|
-
*/
|
|
122
|
-
constructor(message: string) {
|
|
123
|
-
super(message)
|
|
124
|
-
this.name = 'RemoteTimeoutError'
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* name 和 message 都是 human readable 的字符串,
|
|
130
|
-
* 仅用于调试和展示,
|
|
131
|
-
* 程序逻辑判断请使用 code
|
|
132
|
-
*/
|
|
133
|
-
export class RemoteNotFoundError extends RemoteError {
|
|
134
|
-
/**
|
|
135
|
-
* name 和 message 都是 human readable 的字符串,
|
|
136
|
-
* 仅用于调试和展示,
|
|
137
|
-
* 程序逻辑判断请使用 code
|
|
138
|
-
*/
|
|
139
|
-
static code = 3
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* name 和 message 都是 human readable 的字符串,
|
|
143
|
-
* 仅用于调试和展示,
|
|
144
|
-
* 程序逻辑判断请使用 code
|
|
145
|
-
*/
|
|
146
|
-
code = 3
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* name 和 message 都是 human readable 的字符串,
|
|
150
|
-
* 仅用于调试和展示,
|
|
151
|
-
* 程序逻辑判断请使用 code
|
|
152
|
-
*/
|
|
153
|
-
constructor(message: string) {
|
|
154
|
-
super(message)
|
|
155
|
-
this.name = 'RemoteNotFoundError'
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export const response = {
|
|
160
|
-
success<T>(data: T) {
|
|
161
|
-
return {
|
|
162
|
-
code: 0,
|
|
163
|
-
data,
|
|
164
|
-
} as const
|
|
165
|
-
},
|
|
166
|
-
|
|
167
|
-
error(error: RemoteError) {
|
|
168
|
-
return error.toJson()
|
|
169
|
-
},
|
|
170
|
-
}
|
|
1
|
+
/* eslint-disable max-classes-per-file */
|
|
2
|
+
interface RawRemoteError {
|
|
3
|
+
/**
|
|
4
|
+
* code > 0 才是合法的 Error;
|
|
5
|
+
* name 和 message 都是 human readable 的字符串,
|
|
6
|
+
* 仅用于调试和展示,
|
|
7
|
+
* 程序逻辑判断请使用 code
|
|
8
|
+
*/
|
|
9
|
+
code: number
|
|
10
|
+
/**
|
|
11
|
+
* name 和 message 都是 human readable 的字符串,
|
|
12
|
+
* 仅用于调试和展示,
|
|
13
|
+
* 程序逻辑判断请使用 code
|
|
14
|
+
*/
|
|
15
|
+
name: string
|
|
16
|
+
/**
|
|
17
|
+
* name 和 message 都是 human readable 的字符串,
|
|
18
|
+
* 仅用于调试和展示,
|
|
19
|
+
* 程序逻辑判断请使用 code
|
|
20
|
+
*/
|
|
21
|
+
message: string
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* name 和 message 都是 human readable 的字符串,
|
|
26
|
+
* 仅用于调试和展示,
|
|
27
|
+
* 程序逻辑判断请使用 code
|
|
28
|
+
*/
|
|
29
|
+
export class RemoteError extends Error {
|
|
30
|
+
/**
|
|
31
|
+
* code > 0 才是合法的 Error;
|
|
32
|
+
* name 和 message 都是 human readable 的字符串,
|
|
33
|
+
* 仅用于调试和展示,
|
|
34
|
+
* 程序逻辑判断请使用 code
|
|
35
|
+
*/
|
|
36
|
+
code = 1
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* name 和 message 都是 human readable 的字符串,
|
|
40
|
+
* 仅用于调试和展示,
|
|
41
|
+
* 程序逻辑判断请使用 code
|
|
42
|
+
*/
|
|
43
|
+
constructor(message: string) {
|
|
44
|
+
super(message)
|
|
45
|
+
this.name = 'RemoteError'
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
toJson(): RawRemoteError {
|
|
49
|
+
return {
|
|
50
|
+
code: this.code,
|
|
51
|
+
name: this.name,
|
|
52
|
+
message: this.message,
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
toString() {
|
|
57
|
+
return JSON.stringify(this.toJson())
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
valueOf() {
|
|
61
|
+
return `${this.name} [${this.code}]: ${this.message}`
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static fromError(err: unknown) {
|
|
65
|
+
if (typeof err === 'string') {
|
|
66
|
+
return new RemoteError(err)
|
|
67
|
+
}
|
|
68
|
+
if (!err) {
|
|
69
|
+
return new RemoteError('Unknown error')
|
|
70
|
+
}
|
|
71
|
+
const json = err as Partial<RawRemoteError>
|
|
72
|
+
const error = new RemoteError(
|
|
73
|
+
typeof json.message === 'string' ? json.message : 'Unknown error'
|
|
74
|
+
)
|
|
75
|
+
if (typeof json.code === 'number' && json.code > 0) {
|
|
76
|
+
error.code = json.code
|
|
77
|
+
}
|
|
78
|
+
if (json.name && typeof json.name === 'string') {
|
|
79
|
+
error.name = json.name
|
|
80
|
+
}
|
|
81
|
+
return error
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static isRemoteError(data: unknown): data is RawRemoteError {
|
|
85
|
+
const json = data as Partial<RawRemoteError>
|
|
86
|
+
return (
|
|
87
|
+
!!json &&
|
|
88
|
+
typeof json === 'object' &&
|
|
89
|
+
typeof json.code === 'number' &&
|
|
90
|
+
json.code > 0 &&
|
|
91
|
+
typeof json.name === 'string' &&
|
|
92
|
+
typeof json.message === 'string'
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* name 和 message 都是 human readable 的字符串,
|
|
99
|
+
* 仅用于调试和展示,
|
|
100
|
+
* 程序逻辑判断请使用 code
|
|
101
|
+
*/
|
|
102
|
+
export class RemoteTimeoutError extends RemoteError {
|
|
103
|
+
/**
|
|
104
|
+
* name 和 message 都是 human readable 的字符串,
|
|
105
|
+
* 仅用于调试和展示,
|
|
106
|
+
* 程序逻辑判断请使用 code
|
|
107
|
+
*/
|
|
108
|
+
static code = 2
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* name 和 message 都是 human readable 的字符串,
|
|
112
|
+
* 仅用于调试和展示,
|
|
113
|
+
* 程序逻辑判断请使用 code
|
|
114
|
+
*/
|
|
115
|
+
code = 2
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* name 和 message 都是 human readable 的字符串,
|
|
119
|
+
* 仅用于调试和展示,
|
|
120
|
+
* 程序逻辑判断请使用 code
|
|
121
|
+
*/
|
|
122
|
+
constructor(message: string) {
|
|
123
|
+
super(message)
|
|
124
|
+
this.name = 'RemoteTimeoutError'
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* name 和 message 都是 human readable 的字符串,
|
|
130
|
+
* 仅用于调试和展示,
|
|
131
|
+
* 程序逻辑判断请使用 code
|
|
132
|
+
*/
|
|
133
|
+
export class RemoteNotFoundError extends RemoteError {
|
|
134
|
+
/**
|
|
135
|
+
* name 和 message 都是 human readable 的字符串,
|
|
136
|
+
* 仅用于调试和展示,
|
|
137
|
+
* 程序逻辑判断请使用 code
|
|
138
|
+
*/
|
|
139
|
+
static code = 3
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* name 和 message 都是 human readable 的字符串,
|
|
143
|
+
* 仅用于调试和展示,
|
|
144
|
+
* 程序逻辑判断请使用 code
|
|
145
|
+
*/
|
|
146
|
+
code = 3
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* name 和 message 都是 human readable 的字符串,
|
|
150
|
+
* 仅用于调试和展示,
|
|
151
|
+
* 程序逻辑判断请使用 code
|
|
152
|
+
*/
|
|
153
|
+
constructor(message: string) {
|
|
154
|
+
super(message)
|
|
155
|
+
this.name = 'RemoteNotFoundError'
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export const response = {
|
|
160
|
+
success<T>(data: T) {
|
|
161
|
+
return {
|
|
162
|
+
code: 0,
|
|
163
|
+
data,
|
|
164
|
+
} as const
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
error(error: RemoteError) {
|
|
168
|
+
return error.toJson()
|
|
169
|
+
},
|
|
170
|
+
}
|