@pezkuwi/rpc-core 16.5.5 → 16.5.8

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 (152) hide show
  1. package/LICENSE +201 -0
  2. package/build/LICENSE +201 -0
  3. package/build/README.md +3 -0
  4. package/build/bundle.d.ts +1 -1
  5. package/build/bundle.js +411 -0
  6. package/build/cjs/bundle.d.ts +91 -0
  7. package/build/cjs/bundle.js +417 -0
  8. package/build/cjs/index.d.ts +2 -0
  9. package/build/cjs/index.js +5 -0
  10. package/build/cjs/package.json +3 -0
  11. package/build/cjs/packageDetect.d.ts +1 -0
  12. package/build/cjs/packageDetect.js +7 -0
  13. package/build/cjs/packageInfo.d.ts +6 -0
  14. package/build/cjs/packageInfo.js +4 -0
  15. package/build/cjs/types/base.d.ts +22 -0
  16. package/build/cjs/types/base.js +2 -0
  17. package/build/cjs/types/index.d.ts +2 -0
  18. package/build/cjs/types/index.js +5 -0
  19. package/build/cjs/types/jsonrpc.d.ts +2 -0
  20. package/build/cjs/types/jsonrpc.js +2 -0
  21. package/build/cjs/util/drr.d.ts +15 -0
  22. package/build/cjs/util/drr.js +31 -0
  23. package/build/cjs/util/index.d.ts +3 -0
  24. package/build/cjs/util/index.js +6 -0
  25. package/build/cjs/util/memo.d.ts +6 -0
  26. package/build/cjs/util/memo.js +18 -0
  27. package/build/cjs/util/refCountDelay.d.ts +3 -0
  28. package/build/cjs/util/refCountDelay.js +40 -0
  29. package/build/index.js +2 -0
  30. package/build/package.json +209 -0
  31. package/build/packageDetect.js +5 -0
  32. package/build/packageInfo.js +1 -0
  33. package/build/types/base.js +1 -0
  34. package/build/types/index.js +2 -0
  35. package/build/types/jsonrpc.js +1 -0
  36. package/build/util/drr.js +28 -0
  37. package/build/util/index.js +3 -0
  38. package/build/util/memo.js +15 -0
  39. package/build/util/refCountDelay.js +37 -0
  40. package/build-deno/README.md +3 -0
  41. package/build-deno/bundle.ts +532 -0
  42. package/build-deno/checkTypes.manual.ts +2 -0
  43. package/build-deno/index.ts +4 -0
  44. package/build-deno/mod.ts +2 -0
  45. package/build-deno/packageDetect.ts +9 -0
  46. package/build-deno/packageInfo.ts +3 -0
  47. package/build-deno/types/base.ts +26 -0
  48. package/build-deno/types/index.ts +4 -0
  49. package/build-deno/types/jsonrpc.ts +4 -0
  50. package/build-deno/util/drr.ts +50 -0
  51. package/build-deno/util/index.ts +4 -0
  52. package/build-deno/util/memo.ts +30 -0
  53. package/build-deno/util/refCountDelay.ts +43 -0
  54. package/build-tsc/bundle.d.ts +91 -0
  55. package/build-tsc/index.d.ts +2 -0
  56. package/build-tsc/packageDetect.d.ts +1 -0
  57. package/build-tsc/packageInfo.d.ts +6 -0
  58. package/build-tsc/types/base.d.ts +22 -0
  59. package/build-tsc/types/index.d.ts +2 -0
  60. package/build-tsc/types/jsonrpc.d.ts +2 -0
  61. package/build-tsc/util/drr.d.ts +15 -0
  62. package/build-tsc/util/index.d.ts +3 -0
  63. package/build-tsc/util/memo.d.ts +6 -0
  64. package/build-tsc/util/refCountDelay.d.ts +3 -0
  65. package/build-tsc-cjs/bundle.js +417 -0
  66. package/build-tsc-cjs/index.js +5 -0
  67. package/build-tsc-cjs/packageDetect.js +7 -0
  68. package/build-tsc-cjs/packageInfo.js +4 -0
  69. package/build-tsc-cjs/types/base.js +2 -0
  70. package/build-tsc-cjs/types/index.js +5 -0
  71. package/build-tsc-cjs/types/jsonrpc.js +2 -0
  72. package/build-tsc-cjs/util/drr.js +31 -0
  73. package/build-tsc-cjs/util/index.js +6 -0
  74. package/build-tsc-cjs/util/memo.js +18 -0
  75. package/build-tsc-cjs/util/refCountDelay.js +40 -0
  76. package/build-tsc-esm/bundle.js +411 -0
  77. package/build-tsc-esm/index.js +2 -0
  78. package/build-tsc-esm/packageDetect.js +5 -0
  79. package/build-tsc-esm/packageInfo.js +1 -0
  80. package/build-tsc-esm/types/base.js +1 -0
  81. package/build-tsc-esm/types/index.js +2 -0
  82. package/build-tsc-esm/types/jsonrpc.js +1 -0
  83. package/build-tsc-esm/util/drr.js +28 -0
  84. package/build-tsc-esm/util/index.js +3 -0
  85. package/build-tsc-esm/util/memo.js +15 -0
  86. package/build-tsc-esm/util/refCountDelay.js +37 -0
  87. package/bundle.d.ts +91 -0
  88. package/bundle.js +411 -0
  89. package/cjs/bundle.d.ts +91 -0
  90. package/cjs/bundle.js +417 -0
  91. package/cjs/index.d.ts +2 -0
  92. package/cjs/index.js +5 -0
  93. package/cjs/package.json +3 -0
  94. package/cjs/packageDetect.d.ts +1 -0
  95. package/cjs/packageDetect.js +7 -0
  96. package/cjs/packageInfo.d.ts +6 -0
  97. package/cjs/packageInfo.js +4 -0
  98. package/cjs/types/base.d.ts +22 -0
  99. package/cjs/types/base.js +2 -0
  100. package/cjs/types/index.d.ts +2 -0
  101. package/cjs/types/index.js +5 -0
  102. package/cjs/types/jsonrpc.d.ts +2 -0
  103. package/cjs/types/jsonrpc.js +2 -0
  104. package/cjs/util/drr.d.ts +15 -0
  105. package/cjs/util/drr.js +31 -0
  106. package/cjs/util/index.d.ts +3 -0
  107. package/cjs/util/index.js +6 -0
  108. package/cjs/util/memo.d.ts +6 -0
  109. package/cjs/util/memo.js +18 -0
  110. package/cjs/util/refCountDelay.d.ts +3 -0
  111. package/cjs/util/refCountDelay.js +40 -0
  112. package/index.d.ts +2 -0
  113. package/index.js +2 -0
  114. package/package.json +186 -12
  115. package/packageDetect.d.ts +1 -0
  116. package/packageDetect.js +5 -0
  117. package/packageInfo.d.ts +6 -0
  118. package/packageInfo.js +1 -0
  119. package/src/bundle.ts +2 -2
  120. package/src/cached.spec.ts +1 -1
  121. package/src/checkTypes.manual.ts +1 -1
  122. package/src/index.spec.ts +1 -1
  123. package/src/index.ts +1 -1
  124. package/src/methodSend.spec.ts +1 -1
  125. package/src/mod.ts +1 -1
  126. package/src/packageDetect.ts +2 -2
  127. package/src/packageInfo.ts +3 -3
  128. package/src/replay.spec.ts +1 -1
  129. package/src/types/base.ts +1 -1
  130. package/src/types/index.ts +1 -1
  131. package/src/types/jsonrpc.ts +1 -1
  132. package/src/util/drr.spec.ts +1 -1
  133. package/src/util/drr.ts +1 -1
  134. package/src/util/index.ts +1 -1
  135. package/src/util/memo.ts +1 -1
  136. package/src/util/refCountDelay.ts +1 -1
  137. package/tsconfig.build.tsbuildinfo +1 -1
  138. package/tsconfig.spec.tsbuildinfo +1 -0
  139. package/types/base.d.ts +22 -0
  140. package/types/base.js +1 -0
  141. package/types/index.d.ts +2 -0
  142. package/types/index.js +2 -0
  143. package/types/jsonrpc.d.ts +2 -0
  144. package/types/jsonrpc.js +1 -0
  145. package/util/drr.d.ts +15 -0
  146. package/util/drr.js +28 -0
  147. package/util/index.d.ts +3 -0
  148. package/util/index.js +3 -0
  149. package/util/memo.d.ts +6 -0
  150. package/util/memo.js +15 -0
  151. package/util/refCountDelay.d.ts +3 -0
  152. package/util/refCountDelay.js +37 -0
@@ -0,0 +1,209 @@
1
+ {
2
+ "author": "Jaco Greeff <jacogr@gmail.com>",
3
+ "bugs": "https://github.com/pezkuwichain/pezkuwi-api/issues",
4
+ "description": "A JavaScript wrapper for the Pezkuwi JsonRPC interface",
5
+ "engines": {
6
+ "node": ">=18"
7
+ },
8
+ "homepage": "https://github.com/pezkuwichain/pezkuwi-api/tree/master/packages/rpc-core#readme",
9
+ "license": "Apache-2.0",
10
+ "name": "@pezkuwi/rpc-core",
11
+ "repository": {
12
+ "directory": "packages/rpc-core",
13
+ "type": "git",
14
+ "url": "https://github.com/pezkuwichain/pezkuwi-api.git"
15
+ },
16
+ "sideEffects": [
17
+ "./packageDetect.js",
18
+ "./cjs/packageDetect.js"
19
+ ],
20
+ "type": "module",
21
+ "version": "16.5.8",
22
+ "main": "./cjs/index.js",
23
+ "module": "./index.js",
24
+ "types": "./index.d.ts",
25
+ "exports": {
26
+ "./cjs/package.json": "./cjs/package.json",
27
+ "./cjs/*": "./cjs/*.js",
28
+ ".": {
29
+ "module": {
30
+ "types": "./index.d.ts",
31
+ "default": "./index.js"
32
+ },
33
+ "require": {
34
+ "types": "./cjs/index.d.ts",
35
+ "default": "./cjs/index.js"
36
+ },
37
+ "default": {
38
+ "types": "./index.d.ts",
39
+ "default": "./index.js"
40
+ }
41
+ },
42
+ "./bundle": {
43
+ "module": {
44
+ "types": "./bundle.d.ts",
45
+ "default": "./bundle.js"
46
+ },
47
+ "require": {
48
+ "types": "./cjs/bundle.d.ts",
49
+ "default": "./cjs/bundle.js"
50
+ },
51
+ "default": {
52
+ "types": "./bundle.d.ts",
53
+ "default": "./bundle.js"
54
+ }
55
+ },
56
+ "./package.json": {
57
+ "require": "./cjs/package.json",
58
+ "default": "./package.json"
59
+ },
60
+ "./packageDetect": {
61
+ "module": {
62
+ "types": "./packageDetect.d.ts",
63
+ "default": "./packageDetect.js"
64
+ },
65
+ "require": {
66
+ "types": "./cjs/packageDetect.d.ts",
67
+ "default": "./cjs/packageDetect.js"
68
+ },
69
+ "default": {
70
+ "types": "./packageDetect.d.ts",
71
+ "default": "./packageDetect.js"
72
+ }
73
+ },
74
+ "./packageInfo.js": {
75
+ "module": {
76
+ "types": "./packageInfo.d.ts",
77
+ "default": "./packageInfo.js"
78
+ },
79
+ "require": {
80
+ "types": "./cjs/packageInfo.d.ts",
81
+ "default": "./cjs/packageInfo.js"
82
+ },
83
+ "default": {
84
+ "types": "./packageInfo.d.ts",
85
+ "default": "./packageInfo.js"
86
+ }
87
+ },
88
+ "./packageInfo": {
89
+ "module": {
90
+ "types": "./packageInfo.d.ts",
91
+ "default": "./packageInfo.js"
92
+ },
93
+ "require": {
94
+ "types": "./cjs/packageInfo.d.ts",
95
+ "default": "./cjs/packageInfo.js"
96
+ },
97
+ "default": {
98
+ "types": "./packageInfo.d.ts",
99
+ "default": "./packageInfo.js"
100
+ }
101
+ },
102
+ "./types": {
103
+ "module": {
104
+ "types": "./types/index.d.ts",
105
+ "default": "./types/index.js"
106
+ },
107
+ "require": {
108
+ "types": "./cjs/types/index.d.ts",
109
+ "default": "./cjs/types/index.js"
110
+ },
111
+ "default": {
112
+ "types": "./types/index.d.ts",
113
+ "default": "./types/index.js"
114
+ }
115
+ },
116
+ "./types/base": {
117
+ "module": {
118
+ "types": "./types/base.d.ts",
119
+ "default": "./types/base.js"
120
+ },
121
+ "require": {
122
+ "types": "./cjs/types/base.d.ts",
123
+ "default": "./cjs/types/base.js"
124
+ },
125
+ "default": {
126
+ "types": "./types/base.d.ts",
127
+ "default": "./types/base.js"
128
+ }
129
+ },
130
+ "./types/jsonrpc": {
131
+ "module": {
132
+ "types": "./types/jsonrpc.d.ts",
133
+ "default": "./types/jsonrpc.js"
134
+ },
135
+ "require": {
136
+ "types": "./cjs/types/jsonrpc.d.ts",
137
+ "default": "./cjs/types/jsonrpc.js"
138
+ },
139
+ "default": {
140
+ "types": "./types/jsonrpc.d.ts",
141
+ "default": "./types/jsonrpc.js"
142
+ }
143
+ },
144
+ "./util": {
145
+ "module": {
146
+ "types": "./util/index.d.ts",
147
+ "default": "./util/index.js"
148
+ },
149
+ "require": {
150
+ "types": "./cjs/util/index.d.ts",
151
+ "default": "./cjs/util/index.js"
152
+ },
153
+ "default": {
154
+ "types": "./util/index.d.ts",
155
+ "default": "./util/index.js"
156
+ }
157
+ },
158
+ "./util/drr": {
159
+ "module": {
160
+ "types": "./util/drr.d.ts",
161
+ "default": "./util/drr.js"
162
+ },
163
+ "require": {
164
+ "types": "./cjs/util/drr.d.ts",
165
+ "default": "./cjs/util/drr.js"
166
+ },
167
+ "default": {
168
+ "types": "./util/drr.d.ts",
169
+ "default": "./util/drr.js"
170
+ }
171
+ },
172
+ "./util/memo": {
173
+ "module": {
174
+ "types": "./util/memo.d.ts",
175
+ "default": "./util/memo.js"
176
+ },
177
+ "require": {
178
+ "types": "./cjs/util/memo.d.ts",
179
+ "default": "./cjs/util/memo.js"
180
+ },
181
+ "default": {
182
+ "types": "./util/memo.d.ts",
183
+ "default": "./util/memo.js"
184
+ }
185
+ },
186
+ "./util/refCountDelay": {
187
+ "module": {
188
+ "types": "./util/refCountDelay.d.ts",
189
+ "default": "./util/refCountDelay.js"
190
+ },
191
+ "require": {
192
+ "types": "./cjs/util/refCountDelay.d.ts",
193
+ "default": "./cjs/util/refCountDelay.js"
194
+ },
195
+ "default": {
196
+ "types": "./util/refCountDelay.d.ts",
197
+ "default": "./util/refCountDelay.js"
198
+ }
199
+ }
200
+ },
201
+ "dependencies": {
202
+ "@pezkuwi/rpc-augment": "workspace:*",
203
+ "@pezkuwi/rpc-provider": "workspace:*",
204
+ "@pezkuwi/types": "workspace:*",
205
+ "@pezkuwi/util": "^14.0.1",
206
+ "rxjs": "^7.8.1",
207
+ "tslib": "^2.8.1"
208
+ }
209
+ }
@@ -0,0 +1,5 @@
1
+ import { packageInfo as providerInfo } from '@pezkuwi/rpc-provider/packageInfo';
2
+ import { packageInfo as typesInfo } from '@pezkuwi/types/packageInfo';
3
+ import { detectPackage } from '@pezkuwi/util';
4
+ import { packageInfo } from './packageInfo.js';
5
+ detectPackage(packageInfo, null, [providerInfo, typesInfo]);
@@ -0,0 +1 @@
1
+ export const packageInfo = { name: '@pezkuwi/rpc-core', path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto', type: 'esm', version: '16.5.8' };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from '@pezkuwi/rpc-core/types/jsonrpc';
2
+ export * from './base.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,28 @@
1
+ import { catchError, distinctUntilChanged, publishReplay, refCount, tap } from 'rxjs';
2
+ import { stringify } from '@pezkuwi/util';
3
+ import { refCountDelay } from './refCountDelay.js';
4
+ function CMP(a, b) {
5
+ return stringify({ t: a }) === stringify({ t: b });
6
+ }
7
+ function ERR(error) {
8
+ throw error;
9
+ }
10
+ function NOOP() {
11
+ // empty
12
+ }
13
+ /**
14
+ * Shorthand for distinctUntilChanged(), publishReplay(1) and refCount().
15
+ *
16
+ * @ignore
17
+ * @internal
18
+ */
19
+ export function drr({ delay, skipChange = false, skipTimeout = false } = {}) {
20
+ return (source$) => source$.pipe(catchError(ERR), skipChange
21
+ ? tap(NOOP)
22
+ : distinctUntilChanged(CMP),
23
+ // eslint-disable-next-line deprecation/deprecation
24
+ publishReplay(1), skipTimeout
25
+ // eslint-disable-next-line deprecation/deprecation
26
+ ? refCount()
27
+ : refCountDelay(delay));
28
+ }
@@ -0,0 +1,3 @@
1
+ export * from './drr.js';
2
+ export * from './memo.js';
3
+ export * from './refCountDelay.js';
@@ -0,0 +1,15 @@
1
+ import { Observable } from 'rxjs';
2
+ import { memoize } from '@pezkuwi/util';
3
+ import { drr } from './drr.js';
4
+ /** @internal */
5
+ export function memo(instanceId, inner) {
6
+ const options = { getInstanceId: () => instanceId };
7
+ const cached = memoize((...params) => new Observable((observer) => {
8
+ const subscription = inner(...params).subscribe(observer);
9
+ return () => {
10
+ cached.unmemoize(...params);
11
+ subscription.unsubscribe();
12
+ };
13
+ }).pipe(drr()), options);
14
+ return cached;
15
+ }
@@ -0,0 +1,37 @@
1
+ import { asapScheduler, Observable, Subscription } from 'rxjs';
2
+ /** @internal */
3
+ export function refCountDelay(delay = 1750) {
4
+ return (source) => {
5
+ // state: 0 = disconnected, 1 = disconnecting, 2 = connecting, 3 = connected
6
+ let [state, refCount, connection, scheduler] = [0, 0, Subscription.EMPTY, Subscription.EMPTY];
7
+ return new Observable((ob) => {
8
+ source.subscribe(ob);
9
+ if (refCount++ === 0) {
10
+ if (state === 1) {
11
+ scheduler.unsubscribe();
12
+ }
13
+ else {
14
+ // eslint-disable-next-line deprecation/deprecation
15
+ connection = source.connect();
16
+ }
17
+ state = 3;
18
+ }
19
+ return () => {
20
+ if (--refCount === 0) {
21
+ if (state === 2) {
22
+ state = 0;
23
+ scheduler.unsubscribe();
24
+ }
25
+ else {
26
+ // state === 3
27
+ state = 1;
28
+ scheduler = asapScheduler.schedule(() => {
29
+ state = 0;
30
+ connection.unsubscribe();
31
+ }, delay);
32
+ }
33
+ }
34
+ };
35
+ });
36
+ };
37
+ }
@@ -0,0 +1,3 @@
1
+ # @pezkuwi/rpc-core
2
+
3
+ This library provides a clean wrapper around all the methods exposed by a Pezkuwi network client. It is only used internally to the API.