rxjs-native-bridge 1.0.0 → 1.0.11

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 (2) hide show
  1. package/README.md +53 -32
  2. package/package.json +9 -1
package/README.md CHANGED
@@ -6,75 +6,96 @@ js-bridge https://github.com/uknownothingsnow/JsBridge?tab=readme-ov-file
6
6
  # 使用
7
7
  安装rxjs依赖<br/>
8
8
  npm install rxjs-native-bridge<br/>
9
- ### 初始化js-bridge main.js
10
- import 'rxjs-native-bridge'<br/>
9
+ ### 初始化js-bridge main.ts
10
+ ```ts
11
+ import 'rxjs-native-bridge'
12
+ ```
11
13
  ### 扩展
12
- // import { jsBridge, rxJsBridge, JSBridge, RxJSBridge } from 'rxjs-native-bridge'<br/>
13
- 自定义jsBridge扩展继承 JSBridge<br/>
14
- 自定义RxJSBridge扩展继承 RxJSBridge<br/>
15
-
14
+ ```ts
15
+ // import { jsBridge, rxJsBridge, JSBridge, RxJSBridge } from 'rxjs-native-bridge'
16
+ // 自定义jsBridge扩展继承 JSBridge
17
+ // 自定义RxJSBridge扩展继承 RxJSBridge
18
+ ```
16
19
  ### 不使用rxjs
20
+ ```ts
17
21
  import { jsBridge } from 'rxjs-native-bridge'<br/>
22
+ ```
18
23
  #### js调用native
19
-
24
+ ```ts
20
25
  jsBridge.callHandler('handlerName', { num: 1 }, res => {
21
- console.log(res)
22
- })
23
-
26
+ console.log(res)
27
+ }): void
28
+ ```
24
29
  #### js注册方法共native调用
25
-
30
+ ```ts
26
31
  jsBridge.registerHandler('handlerName', (params, callback) => {
27
32
  console.log('native 参数', params)
28
33
  callback({ name: 'hello' })
29
- })
30
-
34
+ }): void
35
+ ```
31
36
  ### 使用rxjs
32
37
  安装rxjs依赖<br/>
33
38
  npm install rxjs@7.8.2<br/>
34
- import { rxJsBridge } from 'rxjs-native-bridge'<br/>
35
39
  #### js调用native全局回调值拦截器
40
+ ```ts
41
+ import { rxJsBridge } from 'rxjs-native-bridge'
36
42
  rxJsBridge.useCallInterceptor<{ data: unknown }>(res => {
37
- if (!res) throw new Error('native error')
43
+ if (!res) throw new Error('native error') // 抛出错误后会被订阅者订阅到错误而不是成功
38
44
  if (res?.data) return res.data
39
- })
45
+ }): RxJsBridge
46
+ ```
40
47
  #### js调用native
41
- rxJsBridge.call<{ num: number }, { name: string }>('test', { num: 1 }).subscribe(res => {
48
+ ```ts
49
+ rxJsBridge
50
+ .call<{ num: number }, { name: string }>('test', { num: 1 })
51
+ .subscribe(res => {
42
52
  console.log(res.name)
43
53
  })
44
- #### js注册方法共native调用
45
-
46
- // 模块a注册事件<br/>
47
- rxJsBridge.register('handlerName')<br/>
48
- rxJsBridge.setState('handlerName', { name: 'hello' }) // 设置事件得回调参数<br/>
49
- rxJsBridge.delState('handlerName') // 删除对应函数的回调值,删除后回调为null<br/>
50
- rxJsBridge.clearState() // 清空所有回调值,回调为null<br/>
51
-
52
- // 其他模块监听native调用提供的方法<br/>
54
+ ```
55
+ #### js注册方法供native调用
56
+ ```ts
57
+ rxJsBridge.register('handlerName'): RxJsBridge // 注册方法供native调用,建议在项目入口统一注册
58
+ // 设置事件的回调参数,可多处覆盖更新,只会回调最新setState的值给native
59
+ rxJsBridge.setState('handlerName', { name: 'hello' }): void
60
+ rxJsBridge.delState('handlerName'): void // 删除对应函数的回调值,删除后回调为null
61
+ rxJsBridge.clearState(): void // 清空所有回调值,回调为null
62
+ // 其他模块监听native调用提供的方法
53
63
  const sub = rxJsBridge.on('handlerName').subscribe(({ params }) => {
54
64
  console.log('native 传的参数', params)
55
65
  })
56
-
57
66
  sub.unsubscribe() // 取消监听
67
+ ```
58
68
  ##### 监听执行并自动取消
69
+ ```ts
59
70
  rxJsBridge.once('handlerName').subscribe(({ params }) => {
60
71
  console.log('native 参数', params)
61
72
  })
73
+ ```
62
74
  ###### or
75
+ ```ts
63
76
  rxJsBridge
64
77
  .event('handlerName')
65
78
  .pipe(take(1))
66
79
  .subscribe(({ params }) => {
67
80
  console.log('native 参数', params)
68
81
  })
69
- ##### 链式调用
70
- rxJsBridge
82
+ // 注意:once和event方法在没有register时会自动注册 register只注册不监听
83
+ ```
84
+ ##### 同时注册并监听事件
85
+ ```ts
86
+ // 链式调用
87
+ const sub = rxJsBridge
71
88
  .register('handlerName')
72
89
  .on('handlerName')
73
90
  .subscribe(({ params }) => {
74
91
  console.log('native 参数', params)
75
92
  })
76
-
77
- ##### 同时注册并监听事件
93
+ sub.unsubscribe() // 取消监听
94
+ // or
95
+ rxJsBridge.once('handlerName').subscribe(({ params }) => {
96
+ console.log('native 参数', params)
97
+ })
98
+ // or
78
99
  const sub = rxJsBridge
79
100
  .event('handlerName')
80
101
  .subscribe(({ params }) => {
@@ -82,6 +103,6 @@ const sub = rxJsBridge
82
103
  })
83
104
 
84
105
  sub.unsubscribe() // 取消监听
85
-
106
+ ```
86
107
  ### 构建项目
87
108
  npm run build
package/package.json CHANGED
@@ -1,11 +1,19 @@
1
1
  {
2
2
  "name": "rxjs-native-bridge",
3
- "version": "1.0.0",
3
+ "version": "1.0.11",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/ztf-git/rxjs-native-bridge"
8
8
  },
9
+ "keywords": [
10
+ "rxjs-native-bridge",
11
+ "rxjs",
12
+ "native",
13
+ "jsbridge",
14
+ "javascript",
15
+ "typescript"
16
+ ],
9
17
  "files": [
10
18
  "dist"
11
19
  ],