@nirvana-labs/nirvana 1.5.0 → 1.6.0

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 (135) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +3 -4
  3. package/client.d.mts +8 -5
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +8 -5
  6. package/client.d.ts.map +1 -1
  7. package/client.js +29 -22
  8. package/client.js.map +1 -1
  9. package/client.mjs +18 -11
  10. package/client.mjs.map +1 -1
  11. package/core/resource.d.mts +1 -1
  12. package/core/resource.d.mts.map +1 -1
  13. package/core/resource.d.ts +1 -1
  14. package/core/resource.d.ts.map +1 -1
  15. package/core/resource.js.map +1 -1
  16. package/core/resource.mjs.map +1 -1
  17. package/internal/headers.d.mts.map +1 -1
  18. package/internal/headers.d.ts.map +1 -1
  19. package/internal/headers.js +4 -4
  20. package/internal/headers.js.map +1 -1
  21. package/internal/headers.mjs +4 -4
  22. package/internal/headers.mjs.map +1 -1
  23. package/internal/request-options.d.mts +1 -0
  24. package/internal/request-options.d.mts.map +1 -1
  25. package/internal/request-options.d.ts +1 -0
  26. package/internal/request-options.d.ts.map +1 -1
  27. package/internal/request-options.js.map +1 -1
  28. package/internal/request-options.mjs.map +1 -1
  29. package/internal/uploads.js +1 -1
  30. package/internal/uploads.js.map +1 -1
  31. package/internal/uploads.mjs +1 -1
  32. package/internal/uploads.mjs.map +1 -1
  33. package/internal/utils/log.js +1 -1
  34. package/internal/utils/log.js.map +1 -1
  35. package/internal/utils/log.mjs +1 -1
  36. package/internal/utils/log.mjs.map +1 -1
  37. package/internal/utils/path.d.mts.map +1 -1
  38. package/internal/utils/path.d.ts.map +1 -1
  39. package/internal/utils/path.js.map +1 -1
  40. package/internal/utils/path.mjs +1 -1
  41. package/internal/utils/path.mjs.map +1 -1
  42. package/internal/utils/values.d.mts +2 -0
  43. package/internal/utils/values.d.mts.map +1 -1
  44. package/internal/utils/values.d.ts +2 -0
  45. package/internal/utils/values.d.ts.map +1 -1
  46. package/internal/utils/values.js +4 -1
  47. package/internal/utils/values.js.map +1 -1
  48. package/internal/utils/values.mjs +2 -0
  49. package/internal/utils/values.mjs.map +1 -1
  50. package/package.json +1 -1
  51. package/resources/index.d.mts +1 -0
  52. package/resources/index.d.mts.map +1 -1
  53. package/resources/index.d.ts +1 -0
  54. package/resources/index.d.ts.map +1 -1
  55. package/resources/index.js +3 -1
  56. package/resources/index.js.map +1 -1
  57. package/resources/index.mjs +1 -0
  58. package/resources/index.mjs.map +1 -1
  59. package/resources/rpc-nodes/flex/blockchains.d.mts +11 -0
  60. package/resources/rpc-nodes/flex/blockchains.d.mts.map +1 -0
  61. package/resources/rpc-nodes/flex/blockchains.d.ts +11 -0
  62. package/resources/rpc-nodes/flex/blockchains.d.ts.map +1 -0
  63. package/resources/rpc-nodes/flex/blockchains.js +15 -0
  64. package/resources/rpc-nodes/flex/blockchains.js.map +1 -0
  65. package/resources/rpc-nodes/flex/blockchains.mjs +11 -0
  66. package/resources/rpc-nodes/flex/blockchains.mjs.map +1 -0
  67. package/resources/rpc-nodes/flex/flex.d.mts +43 -0
  68. package/resources/rpc-nodes/flex/flex.d.mts.map +1 -0
  69. package/resources/rpc-nodes/flex/flex.d.ts +43 -0
  70. package/resources/rpc-nodes/flex/flex.d.ts.map +1 -0
  71. package/resources/rpc-nodes/flex/flex.js +30 -0
  72. package/resources/rpc-nodes/flex/flex.js.map +1 -0
  73. package/resources/rpc-nodes/flex/flex.mjs +25 -0
  74. package/resources/rpc-nodes/flex/flex.mjs.map +1 -0
  75. package/resources/rpc-nodes/flex/index.d.mts +3 -0
  76. package/resources/rpc-nodes/flex/index.d.mts.map +1 -0
  77. package/resources/rpc-nodes/flex/index.d.ts +3 -0
  78. package/resources/rpc-nodes/flex/index.d.ts.map +1 -0
  79. package/resources/rpc-nodes/flex/index.js +9 -0
  80. package/resources/rpc-nodes/flex/index.js.map +1 -0
  81. package/resources/rpc-nodes/flex/index.mjs +4 -0
  82. package/resources/rpc-nodes/flex/index.mjs.map +1 -0
  83. package/resources/rpc-nodes/flex.d.mts +2 -0
  84. package/resources/rpc-nodes/flex.d.mts.map +1 -0
  85. package/resources/rpc-nodes/flex.d.ts +2 -0
  86. package/resources/rpc-nodes/flex.d.ts.map +1 -0
  87. package/resources/rpc-nodes/flex.js +6 -0
  88. package/resources/rpc-nodes/flex.js.map +1 -0
  89. package/resources/rpc-nodes/flex.mjs +3 -0
  90. package/resources/rpc-nodes/flex.mjs.map +1 -0
  91. package/resources/rpc-nodes/index.d.mts +3 -0
  92. package/resources/rpc-nodes/index.d.mts.map +1 -0
  93. package/resources/rpc-nodes/index.d.ts +3 -0
  94. package/resources/rpc-nodes/index.d.ts.map +1 -0
  95. package/resources/rpc-nodes/index.js +9 -0
  96. package/resources/rpc-nodes/index.js.map +1 -0
  97. package/resources/rpc-nodes/index.mjs +4 -0
  98. package/resources/rpc-nodes/index.mjs.map +1 -0
  99. package/resources/rpc-nodes/rpc-nodes.d.mts +10 -0
  100. package/resources/rpc-nodes/rpc-nodes.d.mts.map +1 -0
  101. package/resources/rpc-nodes/rpc-nodes.d.ts +10 -0
  102. package/resources/rpc-nodes/rpc-nodes.d.ts.map +1 -0
  103. package/resources/rpc-nodes/rpc-nodes.js +17 -0
  104. package/resources/rpc-nodes/rpc-nodes.js.map +1 -0
  105. package/resources/rpc-nodes/rpc-nodes.mjs +12 -0
  106. package/resources/rpc-nodes/rpc-nodes.mjs.map +1 -0
  107. package/resources/rpc-nodes.d.mts +2 -0
  108. package/resources/rpc-nodes.d.mts.map +1 -0
  109. package/resources/rpc-nodes.d.ts +2 -0
  110. package/resources/rpc-nodes.d.ts.map +1 -0
  111. package/resources/rpc-nodes.js +6 -0
  112. package/resources/rpc-nodes.js.map +1 -0
  113. package/resources/rpc-nodes.mjs +3 -0
  114. package/resources/rpc-nodes.mjs.map +1 -0
  115. package/src/client.ts +34 -11
  116. package/src/core/resource.ts +1 -1
  117. package/src/internal/headers.ts +5 -5
  118. package/src/internal/request-options.ts +1 -0
  119. package/src/internal/uploads.ts +2 -2
  120. package/src/internal/utils/log.ts +1 -1
  121. package/src/internal/utils/path.ts +1 -1
  122. package/src/internal/utils/values.ts +3 -0
  123. package/src/resources/index.ts +1 -0
  124. package/src/resources/rpc-nodes/flex/blockchains.ts +15 -0
  125. package/src/resources/rpc-nodes/flex/flex.ts +72 -0
  126. package/src/resources/rpc-nodes/flex/index.ts +10 -0
  127. package/src/resources/rpc-nodes/flex.ts +3 -0
  128. package/src/resources/rpc-nodes/index.ts +10 -0
  129. package/src/resources/rpc-nodes/rpc-nodes.ts +27 -0
  130. package/src/resources/rpc-nodes.ts +3 -0
  131. package/src/version.ts +1 -1
  132. package/version.d.mts +1 -1
  133. package/version.d.ts +1 -1
  134. package/version.js +1 -1
  135. package/version.mjs +1 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  import type { NirvanaLabs } from '../client';
4
4
 
5
- export class APIResource {
5
+ export abstract class APIResource {
6
6
  protected _client: NirvanaLabs;
7
7
 
8
8
  constructor(client: NirvanaLabs) {
@@ -1,5 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import { isReadonlyArray } from './utils/values';
4
+
3
5
  type HeaderValue = string | undefined | null;
4
6
  export type HeadersLike =
5
7
  | Headers
@@ -9,7 +11,7 @@ export type HeadersLike =
9
11
  | null
10
12
  | NullableHeaders;
11
13
 
12
- const brand_privateNullableHeaders = Symbol('brand.privateNullableHeaders');
14
+ const brand_privateNullableHeaders = /* @__PURE__ */ Symbol('brand.privateNullableHeaders');
13
15
 
14
16
  /**
15
17
  * @internal
@@ -25,8 +27,6 @@ export type NullableHeaders = {
25
27
  nulls: Set<string>;
26
28
  };
27
29
 
28
- const isArray = Array.isArray as (val: unknown) => val is readonly unknown[];
29
-
30
30
  function* iterateHeaders(headers: HeadersLike): IterableIterator<readonly [string, string | null]> {
31
31
  if (!headers) return;
32
32
 
@@ -43,7 +43,7 @@ function* iterateHeaders(headers: HeadersLike): IterableIterator<readonly [strin
43
43
  let iter: Iterable<readonly (HeaderValue | readonly HeaderValue[])[]>;
44
44
  if (headers instanceof Headers) {
45
45
  iter = headers.entries();
46
- } else if (isArray(headers)) {
46
+ } else if (isReadonlyArray(headers)) {
47
47
  iter = headers;
48
48
  } else {
49
49
  shouldClear = true;
@@ -52,7 +52,7 @@ function* iterateHeaders(headers: HeadersLike): IterableIterator<readonly [strin
52
52
  for (let row of iter) {
53
53
  const name = row[0];
54
54
  if (typeof name !== 'string') throw new TypeError('expected header name to be a string');
55
- const values = isArray(row[1]) ? row[1] : [row[1]];
55
+ const values = isReadonlyArray(row[1]) ? row[1] : [row[1]];
56
56
  let didClear = false;
57
57
  for (const value of values) {
58
58
  if (value === undefined) continue;
@@ -20,6 +20,7 @@ export type RequestOptions = {
20
20
  fetchOptions?: MergedRequestInit;
21
21
  signal?: AbortSignal | undefined | null;
22
22
  idempotencyKey?: string;
23
+ defaultBaseURL?: string | undefined;
23
24
 
24
25
  __binaryResponse?: boolean | undefined;
25
26
  };
@@ -90,7 +90,7 @@ export const multipartFormRequestOptions = async (
90
90
  return { ...opts, body: await createForm(opts.body, fetch) };
91
91
  };
92
92
 
93
- const supportsFormDataMap = new WeakMap<Fetch, Promise<boolean>>();
93
+ const supportsFormDataMap = /** @__PURE__ */ new WeakMap<Fetch, Promise<boolean>>();
94
94
 
95
95
  /**
96
96
  * node-fetch doesn't support the global FormData object in recent node versions. Instead of sending
@@ -138,7 +138,7 @@ export const createForm = async <T = Record<string, unknown>>(
138
138
 
139
139
  // We check for Blob not File because Bun.File doesn't inherit from File,
140
140
  // but they both inherit from Blob and have a `name` property at runtime.
141
- const isNamedBlob = (value: object) => value instanceof Blob && 'name' in value;
141
+ const isNamedBlob = (value: unknown) => value instanceof Blob && 'name' in value;
142
142
 
143
143
  const isUploadable = (value: unknown) =>
144
144
  typeof value === 'object' &&
@@ -58,7 +58,7 @@ const noopLogger = {
58
58
  debug: noop,
59
59
  };
60
60
 
61
- let cachedLoggers = new WeakMap<Logger, [LogLevel, Logger]>();
61
+ let cachedLoggers = /** @__PURE__ */ new WeakMap<Logger, [LogLevel, Logger]>();
62
62
 
63
63
  export function loggerFor(client: NirvanaLabs): Logger {
64
64
  const logger = client.logger;
@@ -62,4 +62,4 @@ export const createPathTagFunction = (pathEncoder = encodeURIPath) =>
62
62
  /**
63
63
  * URI-encodes path params and ensures no unsafe /./ or /../ path segments are introduced.
64
64
  */
65
- export const path = createPathTagFunction(encodeURIPath);
65
+ export const path = /* @__PURE__ */ createPathTagFunction(encodeURIPath);
@@ -9,6 +9,9 @@ export const isAbsoluteURL = (url: string): boolean => {
9
9
  return startsWithSchemeRegexp.test(url);
10
10
  };
11
11
 
12
+ export let isArray = (val: unknown): val is unknown[] => ((isArray = Array.isArray), isArray(val));
13
+ export let isReadonlyArray = isArray as (val: unknown) => val is readonly unknown[];
14
+
12
15
  /** Returns an object if the given value isn't an object, otherwise returns as-is */
13
16
  export function maybeObj(x: unknown): object {
14
17
  if (typeof x !== 'object') {
@@ -5,4 +5,5 @@ export { APIKeys } from './api-keys';
5
5
  export { Compute } from './compute/compute';
6
6
  export { Networking } from './networking/networking';
7
7
  export { Operations } from './operations';
8
+ export { RPCNodes } from './rpc-nodes/rpc-nodes';
8
9
  export { UserResource } from './user';
@@ -0,0 +1,15 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as FlexAPI from './flex';
5
+ import { APIPromise } from '../../../core/api-promise';
6
+ import { RequestOptions } from '../../../internal/request-options';
7
+
8
+ export class Blockchains extends APIResource {
9
+ /**
10
+ * List all Flex Blockchains
11
+ */
12
+ list(options?: RequestOptions): APIPromise<FlexAPI.RPCNodesFlexBlockchainList> {
13
+ return this._client.get('/v1/rpc_nodes/flex/blockchains', options);
14
+ }
15
+ }
@@ -0,0 +1,72 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../../core/resource';
4
+ import * as BlockchainsAPI from './blockchains';
5
+ import { Blockchains } from './blockchains';
6
+ import { APIPromise } from '../../../core/api-promise';
7
+ import { RequestOptions } from '../../../internal/request-options';
8
+ import { path } from '../../../internal/utils/path';
9
+
10
+ export class Flex extends APIResource {
11
+ blockchains: BlockchainsAPI.Blockchains = new BlockchainsAPI.Blockchains(this._client);
12
+
13
+ /**
14
+ * List all RPC Node Flex you created
15
+ */
16
+ list(options?: RequestOptions): APIPromise<RPCNodesFlexList> {
17
+ return this._client.get('/v1/rpc_nodes/flex', options);
18
+ }
19
+
20
+ /**
21
+ * Get details about an RPC Node Flex
22
+ */
23
+ get(nodeID: string, options?: RequestOptions): APIPromise<RPCNodesFlex> {
24
+ return this._client.get(path`/v1/rpc_nodes/flex/${nodeID}`, options);
25
+ }
26
+ }
27
+
28
+ export interface RPCNodesFlex {
29
+ id: string;
30
+
31
+ blockchain: string;
32
+
33
+ created_at: string;
34
+
35
+ name: string;
36
+
37
+ network: string;
38
+
39
+ updated_at: string;
40
+
41
+ user_id: string;
42
+ }
43
+
44
+ /**
45
+ * Blockchain supported by the API.
46
+ */
47
+ export interface RPCNodesFlexBlockchain {
48
+ blockchain: string;
49
+
50
+ network: string;
51
+ }
52
+
53
+ export interface RPCNodesFlexBlockchainList {
54
+ items: Array<RPCNodesFlexBlockchain>;
55
+ }
56
+
57
+ export interface RPCNodesFlexList {
58
+ items: Array<RPCNodesFlex>;
59
+ }
60
+
61
+ Flex.Blockchains = Blockchains;
62
+
63
+ export declare namespace Flex {
64
+ export {
65
+ type RPCNodesFlex as RPCNodesFlex,
66
+ type RPCNodesFlexBlockchain as RPCNodesFlexBlockchain,
67
+ type RPCNodesFlexBlockchainList as RPCNodesFlexBlockchainList,
68
+ type RPCNodesFlexList as RPCNodesFlexList,
69
+ };
70
+
71
+ export { Blockchains as Blockchains };
72
+ }
@@ -0,0 +1,10 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export { Blockchains } from './blockchains';
4
+ export {
5
+ Flex,
6
+ type RPCNodesFlex,
7
+ type RPCNodesFlexBlockchain,
8
+ type RPCNodesFlexBlockchainList,
9
+ type RPCNodesFlexList,
10
+ } from './flex';
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './flex/index';
@@ -0,0 +1,10 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Flex,
5
+ type RPCNodesFlex,
6
+ type RPCNodesFlexBlockchain,
7
+ type RPCNodesFlexBlockchainList,
8
+ type RPCNodesFlexList,
9
+ } from './flex/index';
10
+ export { RPCNodes } from './rpc-nodes';
@@ -0,0 +1,27 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import * as FlexAPI from './flex/flex';
5
+ import {
6
+ Flex,
7
+ RPCNodesFlex,
8
+ RPCNodesFlexBlockchain,
9
+ RPCNodesFlexBlockchainList,
10
+ RPCNodesFlexList,
11
+ } from './flex/flex';
12
+
13
+ export class RPCNodes extends APIResource {
14
+ flex: FlexAPI.Flex = new FlexAPI.Flex(this._client);
15
+ }
16
+
17
+ RPCNodes.Flex = Flex;
18
+
19
+ export declare namespace RPCNodes {
20
+ export {
21
+ Flex as Flex,
22
+ type RPCNodesFlex as RPCNodesFlex,
23
+ type RPCNodesFlexBlockchain as RPCNodesFlexBlockchain,
24
+ type RPCNodesFlexBlockchainList as RPCNodesFlexBlockchainList,
25
+ type RPCNodesFlexList as RPCNodesFlexList,
26
+ };
27
+ }
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export * from './rpc-nodes/index';
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '1.5.0'; // x-release-please-version
1
+ export const VERSION = '1.6.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.5.0";
1
+ export declare const VERSION = "1.6.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.5.0";
1
+ export declare const VERSION = "1.6.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '1.5.0'; // x-release-please-version
4
+ exports.VERSION = '1.6.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '1.5.0'; // x-release-please-version
1
+ export const VERSION = '1.6.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map