@zimi/remote 0.2.1 → 0.2.4

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.
Files changed (115) hide show
  1. package/LICENSE.md +21 -21
  2. package/README.md +289 -285
  3. package/dist/adaptor.d.mts +33 -0
  4. package/dist/adaptor.d.ts +5 -4
  5. package/dist/adaptor.js +1 -1
  6. package/dist/adaptor.js.map +1 -1
  7. package/dist/adaptor.mjs +1 -0
  8. package/dist/adaptor.mjs.map +1 -0
  9. package/dist/adaptors/dao3/client.d.mts +39 -0
  10. package/dist/adaptors/dao3/client.d.ts +5 -3
  11. package/dist/adaptors/dao3/client.js +1 -44
  12. package/dist/adaptors/dao3/client.js.map +1 -1
  13. package/dist/adaptors/dao3/client.mjs +2 -0
  14. package/dist/adaptors/dao3/client.mjs.map +1 -0
  15. package/dist/adaptors/dao3/server.d.mts +82 -0
  16. package/dist/adaptors/dao3/server.d.ts +5 -3
  17. package/dist/adaptors/dao3/server.js +1 -104
  18. package/dist/adaptors/dao3/server.js.map +1 -1
  19. package/dist/adaptors/dao3/server.mjs +2 -0
  20. package/dist/adaptors/dao3/server.mjs.map +1 -0
  21. package/dist/adaptors/electron/constants.d.mts +5 -0
  22. package/dist/adaptors/electron/constants.d.ts +5 -0
  23. package/dist/adaptors/electron/constants.js +2 -0
  24. package/dist/adaptors/electron/constants.js.map +1 -0
  25. package/dist/adaptors/electron/constants.mjs +2 -0
  26. package/dist/adaptors/electron/constants.mjs.map +1 -0
  27. package/dist/adaptors/electron/main.d.mts +10 -0
  28. package/dist/adaptors/electron/main.d.ts +10 -0
  29. package/dist/adaptors/electron/main.js +2 -0
  30. package/dist/adaptors/electron/main.js.map +1 -0
  31. package/dist/adaptors/electron/main.mjs +2 -0
  32. package/dist/adaptors/electron/main.mjs.map +1 -0
  33. package/dist/adaptors/electron/messenger.d.mts +8 -0
  34. package/dist/adaptors/electron/messenger.d.ts +8 -0
  35. package/dist/adaptors/electron/messenger.js +2 -0
  36. package/dist/adaptors/electron/messenger.js.map +1 -0
  37. package/dist/adaptors/electron/messenger.mjs +2 -0
  38. package/dist/adaptors/electron/messenger.mjs.map +1 -0
  39. package/dist/adaptors/electron/preload.d.mts +6 -0
  40. package/dist/adaptors/electron/preload.d.ts +6 -0
  41. package/dist/adaptors/electron/preload.js +2 -0
  42. package/dist/adaptors/electron/preload.js.map +1 -0
  43. package/dist/adaptors/electron/preload.mjs +2 -0
  44. package/dist/adaptors/electron/preload.mjs.map +1 -0
  45. package/dist/adaptors/electron/renderer.d.mts +9 -0
  46. package/dist/adaptors/electron/renderer.d.ts +9 -0
  47. package/dist/adaptors/electron/renderer.js +2 -0
  48. package/dist/adaptors/electron/renderer.js.map +1 -0
  49. package/dist/adaptors/electron/renderer.mjs +2 -0
  50. package/dist/adaptors/electron/renderer.mjs.map +1 -0
  51. package/dist/adaptors/http.d.mts +15 -0
  52. package/dist/adaptors/http.d.ts +6 -4
  53. package/dist/adaptors/http.js +1 -26
  54. package/dist/adaptors/http.js.map +1 -1
  55. package/dist/adaptors/http.mjs +2 -0
  56. package/dist/adaptors/http.mjs.map +1 -0
  57. package/dist/adaptors/iframe.d.mts +7 -0
  58. package/dist/adaptors/iframe.d.ts +5 -2
  59. package/dist/adaptors/iframe.js +1 -38
  60. package/dist/adaptors/iframe.js.map +1 -1
  61. package/dist/adaptors/iframe.mjs +2 -0
  62. package/dist/adaptors/iframe.mjs.map +1 -0
  63. package/dist/index.d.mts +16 -0
  64. package/dist/index.d.ts +16 -10
  65. package/dist/index.js +1 -9
  66. package/dist/index.js.map +1 -1
  67. package/dist/index.mjs +2 -0
  68. package/dist/index.mjs.map +1 -0
  69. package/dist/remote.d.mts +81 -0
  70. package/dist/remote.d.ts +6 -4
  71. package/dist/remote.js +1 -196
  72. package/dist/remote.js.map +1 -1
  73. package/dist/remote.mjs +2 -0
  74. package/dist/remote.mjs.map +1 -0
  75. package/dist/remoteValue/exposeToRemote.d.mts +43 -0
  76. package/dist/remoteValue/exposeToRemote.d.ts +7 -5
  77. package/dist/remoteValue/exposeToRemote.js +1 -52
  78. package/dist/remoteValue/exposeToRemote.js.map +1 -1
  79. package/dist/remoteValue/exposeToRemote.mjs +2 -0
  80. package/dist/remoteValue/exposeToRemote.mjs.map +1 -0
  81. package/dist/remoteValue/remoteValue.d.mts +29 -0
  82. package/dist/remoteValue/remoteValue.d.ts +6 -4
  83. package/dist/remoteValue/remoteValue.js +1 -67
  84. package/dist/remoteValue/remoteValue.js.map +1 -1
  85. package/dist/remoteValue/remoteValue.mjs +2 -0
  86. package/dist/remoteValue/remoteValue.mjs.map +1 -0
  87. package/dist/remoteValue/type.d.mts +67 -0
  88. package/dist/remoteValue/type.d.ts +20 -19
  89. package/dist/remoteValue/type.js +1 -1
  90. package/dist/remoteValue/type.js.map +1 -1
  91. package/dist/remoteValue/type.mjs +1 -0
  92. package/dist/remoteValue/type.mjs.map +1 -0
  93. package/dist/response.d.mts +105 -0
  94. package/dist/response.d.ts +6 -5
  95. package/dist/response.js +1 -154
  96. package/dist/response.js.map +1 -1
  97. package/dist/response.mjs +2 -0
  98. package/dist/response.mjs.map +1 -0
  99. package/package.json +31 -24
  100. package/src/adaptor.ts +34 -34
  101. package/src/adaptors/dao3/client.ts +53 -53
  102. package/src/adaptors/dao3/server.ts +136 -136
  103. package/src/adaptors/electron/constants.ts +3 -0
  104. package/src/adaptors/electron/main.ts +59 -0
  105. package/src/adaptors/electron/messenger.ts +13 -0
  106. package/src/adaptors/electron/preload.ts +21 -0
  107. package/src/adaptors/electron/renderer.ts +52 -0
  108. package/src/adaptors/http.ts +31 -31
  109. package/src/adaptors/iframe.ts +47 -47
  110. package/src/index.ts +17 -12
  111. package/src/remote.ts +263 -260
  112. package/src/remoteValue/exposeToRemote.ts +102 -102
  113. package/src/remoteValue/remoteValue.ts +94 -94
  114. package/src/remoteValue/type.ts +124 -124
  115. 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
+ }