@pezkuwi/rpc-core 16.5.5 → 16.5.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.
Files changed (67) hide show
  1. package/LICENSE +201 -0
  2. package/{build/bundle.d.ts → bundle.d.ts} +1 -1
  3. package/bundle.js +411 -0
  4. package/cjs/bundle.d.ts +91 -0
  5. package/cjs/bundle.js +417 -0
  6. package/cjs/index.js +5 -0
  7. package/cjs/package.json +3 -0
  8. package/cjs/packageDetect.js +7 -0
  9. package/cjs/packageInfo.js +4 -0
  10. package/cjs/types/base.js +2 -0
  11. package/cjs/types/index.js +5 -0
  12. package/cjs/types/jsonrpc.js +2 -0
  13. package/cjs/util/drr.js +31 -0
  14. package/cjs/util/index.js +6 -0
  15. package/cjs/util/memo.js +18 -0
  16. package/cjs/util/refCountDelay.js +40 -0
  17. package/index.d.ts +2 -0
  18. package/index.js +2 -0
  19. package/package.json +186 -12
  20. package/packageDetect.d.ts +1 -0
  21. package/{src/packageDetect.ts → packageDetect.js} +0 -8
  22. package/packageInfo.d.ts +6 -0
  23. package/packageInfo.js +1 -0
  24. package/types/base.d.ts +22 -0
  25. package/types/base.js +1 -0
  26. package/types/index.d.ts +2 -0
  27. package/types/index.js +2 -0
  28. package/types/jsonrpc.d.ts +2 -0
  29. package/types/jsonrpc.js +1 -0
  30. package/util/drr.d.ts +15 -0
  31. package/util/drr.js +28 -0
  32. package/util/index.d.ts +3 -0
  33. package/util/index.js +3 -0
  34. package/util/memo.d.ts +6 -0
  35. package/util/memo.js +15 -0
  36. package/util/refCountDelay.d.ts +3 -0
  37. package/util/refCountDelay.js +37 -0
  38. package/src/bundle.ts +0 -535
  39. package/src/cached.spec.ts +0 -129
  40. package/src/checkTypes.manual.ts +0 -4
  41. package/src/index.spec.ts +0 -55
  42. package/src/index.ts +0 -6
  43. package/src/methodSend.spec.ts +0 -75
  44. package/src/mod.ts +0 -4
  45. package/src/packageInfo.ts +0 -6
  46. package/src/replay.spec.ts +0 -73
  47. package/src/types/base.ts +0 -28
  48. package/src/types/index.ts +0 -8
  49. package/src/types/jsonrpc.ts +0 -7
  50. package/src/util/drr.spec.ts +0 -50
  51. package/src/util/drr.ts +0 -52
  52. package/src/util/index.ts +0 -6
  53. package/src/util/memo.ts +0 -36
  54. package/src/util/refCountDelay.ts +0 -45
  55. package/tsconfig.build.json +0 -17
  56. package/tsconfig.build.tsbuildinfo +0 -1
  57. package/tsconfig.spec.json +0 -20
  58. /package/{build → cjs}/index.d.ts +0 -0
  59. /package/{build → cjs}/packageDetect.d.ts +0 -0
  60. /package/{build → cjs}/packageInfo.d.ts +0 -0
  61. /package/{build → cjs}/types/base.d.ts +0 -0
  62. /package/{build → cjs}/types/index.d.ts +0 -0
  63. /package/{build → cjs}/types/jsonrpc.d.ts +0 -0
  64. /package/{build → cjs}/util/drr.d.ts +0 -0
  65. /package/{build → cjs}/util/index.d.ts +0 -0
  66. /package/{build → cjs}/util/memo.d.ts +0 -0
  67. /package/{build → cjs}/util/refCountDelay.d.ts +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "Jaco Greeff <jacogr@gmail.com>",
3
3
  "bugs": "https://github.com/pezkuwichain/pezkuwi-api/issues",
4
- "description": "A JavaScript wrapper for the Polkadot JsonRPC interface",
4
+ "description": "A JavaScript wrapper for the Pezkuwi JsonRPC interface",
5
5
  "engines": {
6
6
  "node": ">=18"
7
7
  },
@@ -15,21 +15,195 @@
15
15
  },
16
16
  "sideEffects": [
17
17
  "./packageDetect.js",
18
- "./packageDetect.cjs"
18
+ "./cjs/packageDetect.js"
19
19
  ],
20
20
  "type": "module",
21
- "version": "16.5.5",
22
- "main": "index.js",
21
+ "version": "16.5.6",
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
+ },
23
201
  "dependencies": {
24
- "@pezkuwi/rpc-augment": "16.5.5",
25
- "@pezkuwi/rpc-provider": "16.5.5",
26
- "@pezkuwi/types": "16.5.5",
27
- "@pezkuwi/util": "14.0.5",
202
+ "@pezkuwi/rpc-augment": "16.5.4",
203
+ "@pezkuwi/rpc-provider": "16.5.4",
204
+ "@pezkuwi/types": "16.5.4",
205
+ "@pezkuwi/util": "^14.0.1",
28
206
  "rxjs": "^7.8.1",
29
207
  "tslib": "^2.8.1"
30
- },
31
- "devDependencies": {
32
- "@pezkuwi/keyring": "14.0.5",
33
- "@pezkuwi/rpc-augment": "16.5.5"
34
208
  }
35
209
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,13 +1,5 @@
1
- // Copyright 2017-2025 @polkadot/rpc-core authors & contributors
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- // Do not edit, auto-generated by @polkadot/dev
5
- // (packageInfo imports will be kept as-is, user-editable)
6
-
7
1
  import { packageInfo as providerInfo } from '@pezkuwi/rpc-provider/packageInfo';
8
2
  import { packageInfo as typesInfo } from '@pezkuwi/types/packageInfo';
9
3
  import { detectPackage } from '@pezkuwi/util';
10
-
11
4
  import { packageInfo } from './packageInfo.js';
12
-
13
5
  detectPackage(packageInfo, null, [providerInfo, typesInfo]);
@@ -0,0 +1,6 @@
1
+ export declare const packageInfo: {
2
+ name: string;
3
+ path: string;
4
+ type: string;
5
+ version: string;
6
+ };
package/packageInfo.js ADDED
@@ -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.4' };
@@ -0,0 +1,22 @@
1
+ import type { Observable } from 'rxjs';
2
+ import type { ProviderInterface } from '@pezkuwi/rpc-provider/types';
3
+ import type { AnyFunction, Codec, DefinitionRpc } from '@pezkuwi/types/types';
4
+ export interface RpcInterfaceMethod {
5
+ <T extends Codec>(...params: unknown[]): Observable<T>;
6
+ raw(...params: unknown[]): Observable<unknown>;
7
+ meta: DefinitionRpc;
8
+ }
9
+ export type AugmentedRpc<F extends AnyFunction> = F & {
10
+ raw: <T>(...params: Parameters<F>) => Observable<T>;
11
+ meta: DefinitionRpc;
12
+ };
13
+ /** Stats from the rpc-core layer, including the provider stats */
14
+ export interface RpcCoreStats extends NonNullable<ProviderInterface['stats']> {
15
+ /** Internal stats for the rpc-core layer */
16
+ core: {
17
+ /** The number of values retrieved from the core cache */
18
+ cacheHits: number;
19
+ /** The number of entries in the core cache */
20
+ cacheSize: number;
21
+ };
22
+ }
package/types/base.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from '@pezkuwi/rpc-core/types/jsonrpc';
2
+ export * from './base.js';
package/types/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from '@pezkuwi/rpc-core/types/jsonrpc';
2
+ export * from './base.js';
@@ -0,0 +1,2 @@
1
+ export interface RpcInterface {
2
+ }
@@ -0,0 +1 @@
1
+ export {};
package/util/drr.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import type { Observable } from 'rxjs';
2
+ export type DrrResult = <T>(source$: Observable<T>) => Observable<T>;
3
+ interface Options {
4
+ delay?: number;
5
+ skipChange?: boolean;
6
+ skipTimeout?: boolean;
7
+ }
8
+ /**
9
+ * Shorthand for distinctUntilChanged(), publishReplay(1) and refCount().
10
+ *
11
+ * @ignore
12
+ * @internal
13
+ */
14
+ export declare function drr({ delay, skipChange, skipTimeout }?: Options): DrrResult;
15
+ export {};
package/util/drr.js ADDED
@@ -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';
package/util/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './drr.js';
2
+ export * from './memo.js';
3
+ export * from './refCountDelay.js';
package/util/memo.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import type { Memoized } from '@pezkuwi/util/types';
2
+ import { Observable } from 'rxjs';
3
+ type ObsFn<T> = (...params: unknown[]) => Observable<T>;
4
+ /** @internal */
5
+ export declare function memo<T>(instanceId: string, inner: Function): Memoized<ObsFn<T>>;
6
+ export {};
package/util/memo.js ADDED
@@ -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,3 @@
1
+ import type { MonoTypeOperatorFunction } from 'rxjs';
2
+ /** @internal */
3
+ export declare function refCountDelay<T>(delay?: number): MonoTypeOperatorFunction<T>;
@@ -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
+ }