@aptos-labs/aptos-client 2.0.0 → 2.1.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.
@@ -14,6 +14,7 @@ type AptosClientRequest = {
14
14
  params?: any;
15
15
  headers?: any;
16
16
  overrides?: any;
17
+ http2?: boolean;
17
18
  };
18
19
 
19
20
  /**
@@ -14,6 +14,7 @@ type AptosClientRequest = {
14
14
  params?: any;
15
15
  headers?: any;
16
16
  overrides?: any;
17
+ http2?: boolean;
17
18
  };
18
19
 
19
20
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.browser.ts"],"sourcesContent":["import { AptosClientRequest, AptosClientResponse } from \"./types\";\n\n/**\n * Used for JSON responses\n *\n * @param options\n */\nexport default async function aptosClient<Res>(\n options: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(options);\n}\n\nexport async function jsonRequest<Res>(\n options: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.json();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param options\n */\nexport async function bcsRequest(\n options: AptosClientRequest,\n): Promise<AptosClientResponse<ArrayBuffer>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.arrayBuffer();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\nfunction buildRequest(options: AptosClientRequest) {\n const headers = new Headers();\n Object.entries(options?.headers ?? {}).forEach(([key, value]) => {\n headers.append(key, String(value));\n });\n\n const body =\n options.body instanceof Uint8Array\n ? options.body\n : JSON.stringify(options.body);\n\n const withCredentialsOption = options.overrides?.WITH_CREDENTIALS;\n let credentials: RequestCredentials;\n if (withCredentialsOption === false) {\n credentials = \"omit\";\n } else if (withCredentialsOption === true) {\n credentials = \"include\";\n } else {\n credentials = withCredentialsOption ?? \"include\";\n }\n\n const requestConfig: RequestInit = {\n method: options.method,\n headers,\n body,\n credentials,\n };\n\n const params = new URLSearchParams();\n Object.entries(options.params ?? {}).forEach(([key, value]) => {\n if (value !== undefined) {\n params.append(key, String(value));\n }\n });\n\n const requestUrl =\n options.url + (params.size > 0 ? `?${params.toString()}` : \"\");\n\n return { requestUrl, requestConfig };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,eAAO,YACL,SACmC;AACnC,SAAO,YAAiB,OAAO;AACjC;AAEA,eAAsB,YACpB,SACmC;AACnC,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAQA,eAAsB,WACpB,SAC2C;AAC3C,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,YAAY;AAEnC,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,aAAa,SAA6B;AArDnD;AAsDE,QAAM,UAAU,IAAI,QAAQ;AAC5B,SAAO,SAAQ,wCAAS,YAAT,YAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/D,YAAQ,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,EACnC,CAAC;AAED,QAAM,OACJ,QAAQ,gBAAgB,aACpB,QAAQ,OACR,KAAK,UAAU,QAAQ,IAAI;AAEjC,QAAM,yBAAwB,aAAQ,cAAR,mBAAmB;AACjD,MAAI;AACJ,MAAI,0BAA0B,OAAO;AACnC,kBAAc;AAAA,EAChB,WAAW,0BAA0B,MAAM;AACzC,kBAAc;AAAA,EAChB,OAAO;AACL,kBAAc,wDAAyB;AAAA,EACzC;AAEA,QAAM,gBAA6B;AAAA,IACjC,QAAQ,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,SAAS,IAAI,gBAAgB;AACnC,SAAO,SAAQ,aAAQ,WAAR,YAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC7D,QAAI,UAAU,QAAW;AACvB,aAAO,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,IAClC;AAAA,EACF,CAAC;AAED,QAAM,aACJ,QAAQ,OAAO,OAAO,OAAO,IAAI,IAAI,OAAO,SAAS,CAAC,KAAK;AAE7D,SAAO,EAAE,YAAY,cAAc;AACrC;","names":[]}
1
+ {"version":3,"sources":["../../src/index.browser.ts"],"sourcesContent":["import { AptosClientRequest, AptosClientResponse } from \"./types\";\n\n/**\n * Used for JSON responses\n *\n * @param options\n */\nexport default async function aptosClient<Res>(\n options: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(options);\n}\n\nexport async function jsonRequest<Res>(\n options: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.json();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param options\n */\nexport async function bcsRequest(\n options: AptosClientRequest\n): Promise<AptosClientResponse<ArrayBuffer>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.arrayBuffer();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\nfunction buildRequest(options: AptosClientRequest) {\n const headers = new Headers();\n Object.entries(options?.headers ?? {}).forEach(([key, value]) => {\n headers.append(key, String(value));\n });\n\n const body =\n options.body instanceof Uint8Array\n ? options.body\n : JSON.stringify(options.body);\n\n const withCredentialsOption = options.overrides?.WITH_CREDENTIALS;\n let credentials: RequestCredentials;\n if (withCredentialsOption === false) {\n credentials = \"omit\";\n } else if (withCredentialsOption === true) {\n credentials = \"include\";\n } else {\n credentials = withCredentialsOption ?? \"include\";\n }\n\n const requestConfig: RequestInit = {\n method: options.method,\n headers,\n body,\n credentials,\n };\n\n const params = new URLSearchParams();\n Object.entries(options.params ?? {}).forEach(([key, value]) => {\n if (value !== undefined) {\n params.append(key, String(value));\n }\n });\n\n const requestUrl =\n options.url + (params.size > 0 ? `?${params.toString()}` : \"\");\n\n return { requestUrl, requestConfig };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,eAAO,YACL,SACmC;AACnC,SAAO,YAAiB,OAAO;AACjC;AAEA,eAAsB,YACpB,SACmC;AACnC,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAQA,eAAsB,WACpB,SAC2C;AAC3C,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,YAAY;AAEnC,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,aAAa,SAA6B;AArDnD;AAsDE,QAAM,UAAU,IAAI,QAAQ;AAC5B,SAAO,SAAQ,wCAAS,YAAT,YAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/D,YAAQ,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,EACnC,CAAC;AAED,QAAM,OACJ,QAAQ,gBAAgB,aACpB,QAAQ,OACR,KAAK,UAAU,QAAQ,IAAI;AAEjC,QAAM,yBAAwB,aAAQ,cAAR,mBAAmB;AACjD,MAAI;AACJ,MAAI,0BAA0B,OAAO;AACnC,kBAAc;AAAA,EAChB,WAAW,0BAA0B,MAAM;AACzC,kBAAc;AAAA,EAChB,OAAO;AACL,kBAAc,wDAAyB;AAAA,EACzC;AAEA,QAAM,gBAA6B;AAAA,IACjC,QAAQ,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,SAAS,IAAI,gBAAgB;AACnC,SAAO,SAAQ,aAAQ,WAAR,YAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC7D,QAAI,UAAU,QAAW;AACvB,aAAO,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,IAClC;AAAA,EACF,CAAC;AAED,QAAM,aACJ,QAAQ,OAAO,OAAO,OAAO,IAAI,IAAI,OAAO,SAAS,CAAC,KAAK;AAE7D,SAAO,EAAE,YAAY,cAAc;AACrC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.browser.ts"],"sourcesContent":["import { AptosClientRequest, AptosClientResponse } from \"./types\";\n\n/**\n * Used for JSON responses\n *\n * @param options\n */\nexport default async function aptosClient<Res>(\n options: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(options);\n}\n\nexport async function jsonRequest<Res>(\n options: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.json();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param options\n */\nexport async function bcsRequest(\n options: AptosClientRequest,\n): Promise<AptosClientResponse<ArrayBuffer>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.arrayBuffer();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\nfunction buildRequest(options: AptosClientRequest) {\n const headers = new Headers();\n Object.entries(options?.headers ?? {}).forEach(([key, value]) => {\n headers.append(key, String(value));\n });\n\n const body =\n options.body instanceof Uint8Array\n ? options.body\n : JSON.stringify(options.body);\n\n const withCredentialsOption = options.overrides?.WITH_CREDENTIALS;\n let credentials: RequestCredentials;\n if (withCredentialsOption === false) {\n credentials = \"omit\";\n } else if (withCredentialsOption === true) {\n credentials = \"include\";\n } else {\n credentials = withCredentialsOption ?? \"include\";\n }\n\n const requestConfig: RequestInit = {\n method: options.method,\n headers,\n body,\n credentials,\n };\n\n const params = new URLSearchParams();\n Object.entries(options.params ?? {}).forEach(([key, value]) => {\n if (value !== undefined) {\n params.append(key, String(value));\n }\n });\n\n const requestUrl =\n options.url + (params.size > 0 ? `?${params.toString()}` : \"\");\n\n return { requestUrl, requestConfig };\n}\n"],"mappings":";AAOA,eAAO,YACL,SACmC;AACnC,SAAO,YAAiB,OAAO;AACjC;AAEA,eAAsB,YACpB,SACmC;AACnC,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAQA,eAAsB,WACpB,SAC2C;AAC3C,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,YAAY;AAEnC,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,aAAa,SAA6B;AArDnD;AAsDE,QAAM,UAAU,IAAI,QAAQ;AAC5B,SAAO,SAAQ,wCAAS,YAAT,YAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/D,YAAQ,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,EACnC,CAAC;AAED,QAAM,OACJ,QAAQ,gBAAgB,aACpB,QAAQ,OACR,KAAK,UAAU,QAAQ,IAAI;AAEjC,QAAM,yBAAwB,aAAQ,cAAR,mBAAmB;AACjD,MAAI;AACJ,MAAI,0BAA0B,OAAO;AACnC,kBAAc;AAAA,EAChB,WAAW,0BAA0B,MAAM;AACzC,kBAAc;AAAA,EAChB,OAAO;AACL,kBAAc,wDAAyB;AAAA,EACzC;AAEA,QAAM,gBAA6B;AAAA,IACjC,QAAQ,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,SAAS,IAAI,gBAAgB;AACnC,SAAO,SAAQ,aAAQ,WAAR,YAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC7D,QAAI,UAAU,QAAW;AACvB,aAAO,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,IAClC;AAAA,EACF,CAAC;AAED,QAAM,aACJ,QAAQ,OAAO,OAAO,OAAO,IAAI,IAAI,OAAO,SAAS,CAAC,KAAK;AAE7D,SAAO,EAAE,YAAY,cAAc;AACrC;","names":[]}
1
+ {"version":3,"sources":["../../src/index.browser.ts"],"sourcesContent":["import { AptosClientRequest, AptosClientResponse } from \"./types\";\n\n/**\n * Used for JSON responses\n *\n * @param options\n */\nexport default async function aptosClient<Res>(\n options: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(options);\n}\n\nexport async function jsonRequest<Res>(\n options: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.json();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param options\n */\nexport async function bcsRequest(\n options: AptosClientRequest\n): Promise<AptosClientResponse<ArrayBuffer>> {\n const { requestUrl, requestConfig } = buildRequest(options);\n\n const res = await fetch(requestUrl, requestConfig);\n const data = await res.arrayBuffer();\n\n return {\n status: res.status,\n statusText: res.statusText,\n data,\n headers: res.headers,\n config: requestConfig,\n };\n}\n\nfunction buildRequest(options: AptosClientRequest) {\n const headers = new Headers();\n Object.entries(options?.headers ?? {}).forEach(([key, value]) => {\n headers.append(key, String(value));\n });\n\n const body =\n options.body instanceof Uint8Array\n ? options.body\n : JSON.stringify(options.body);\n\n const withCredentialsOption = options.overrides?.WITH_CREDENTIALS;\n let credentials: RequestCredentials;\n if (withCredentialsOption === false) {\n credentials = \"omit\";\n } else if (withCredentialsOption === true) {\n credentials = \"include\";\n } else {\n credentials = withCredentialsOption ?? \"include\";\n }\n\n const requestConfig: RequestInit = {\n method: options.method,\n headers,\n body,\n credentials,\n };\n\n const params = new URLSearchParams();\n Object.entries(options.params ?? {}).forEach(([key, value]) => {\n if (value !== undefined) {\n params.append(key, String(value));\n }\n });\n\n const requestUrl =\n options.url + (params.size > 0 ? `?${params.toString()}` : \"\");\n\n return { requestUrl, requestConfig };\n}\n"],"mappings":";AAOA,eAAO,YACL,SACmC;AACnC,SAAO,YAAiB,OAAO;AACjC;AAEA,eAAsB,YACpB,SACmC;AACnC,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,KAAK;AAE5B,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAQA,eAAsB,WACpB,SAC2C;AAC3C,QAAM,EAAE,YAAY,cAAc,IAAI,aAAa,OAAO;AAE1D,QAAM,MAAM,MAAM,MAAM,YAAY,aAAa;AACjD,QAAM,OAAO,MAAM,IAAI,YAAY;AAEnC,SAAO;AAAA,IACL,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,SAAS,IAAI;AAAA,IACb,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,aAAa,SAA6B;AArDnD;AAsDE,QAAM,UAAU,IAAI,QAAQ;AAC5B,SAAO,SAAQ,wCAAS,YAAT,YAAoB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/D,YAAQ,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,EACnC,CAAC;AAED,QAAM,OACJ,QAAQ,gBAAgB,aACpB,QAAQ,OACR,KAAK,UAAU,QAAQ,IAAI;AAEjC,QAAM,yBAAwB,aAAQ,cAAR,mBAAmB;AACjD,MAAI;AACJ,MAAI,0BAA0B,OAAO;AACnC,kBAAc;AAAA,EAChB,WAAW,0BAA0B,MAAM;AACzC,kBAAc;AAAA,EAChB,OAAO;AACL,kBAAc,wDAAyB;AAAA,EACzC;AAEA,QAAM,gBAA6B;AAAA,IACjC,QAAQ,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,QAAM,SAAS,IAAI,gBAAgB;AACnC,SAAO,SAAQ,aAAQ,WAAR,YAAkB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC7D,QAAI,UAAU,QAAW;AACvB,aAAO,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,IAClC;AAAA,EACF,CAAC;AAED,QAAM,aACJ,QAAQ,OAAO,OAAO,OAAO,IAAI,IAAI,OAAO,SAAS,CAAC,KAAK;AAE7D,SAAO,EAAE,YAAY,cAAc;AACrC;","names":[]}
@@ -14,6 +14,7 @@ type AptosClientRequest = {
14
14
  params?: any;
15
15
  headers?: any;
16
16
  overrides?: any;
17
+ http2?: boolean;
17
18
  };
18
19
 
19
20
  /**
@@ -14,6 +14,7 @@ type AptosClientRequest = {
14
14
  params?: any;
15
15
  headers?: any;
16
16
  overrides?: any;
17
+ http2?: boolean;
17
18
  };
18
19
 
19
20
  /**
@@ -116,9 +116,9 @@ async function aptosClient(requestOptions) {
116
116
  return jsonRequest(requestOptions);
117
117
  }
118
118
  async function jsonRequest(requestOptions) {
119
- const { params, method, url, headers, body } = requestOptions;
119
+ const { params, method, url, headers, body, http2 = true } = requestOptions;
120
120
  const request = {
121
- http2: true,
121
+ http2,
122
122
  searchParams: convertBigIntToString(params),
123
123
  method,
124
124
  url,
@@ -164,9 +164,9 @@ async function jsonRequest(requestOptions) {
164
164
  }
165
165
  }
166
166
  async function bcsRequest(requestOptions) {
167
- const { params, method, url, headers, body } = requestOptions;
167
+ const { params, method, url, headers, body, http2 = true } = requestOptions;
168
168
  const request = {
169
- http2: true,
169
+ http2,
170
170
  searchParams: convertBigIntToString(params),
171
171
  method,
172
172
  url,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.node.ts","../../src/cookieJar.ts"],"sourcesContent":["import got, {\n OptionsOfBufferResponseBody,\n OptionsOfJSONResponseBody,\n RequestError,\n Response,\n} from \"got\";\nimport { CookieJar } from \"./cookieJar\";\nimport { AptosClientRequest, AptosClientResponse } from \"./types\";\n\nconst cookieJar = new CookieJar();\n\n/**\n * Used for JSON responses\n * @param requestOptions\n */\nexport default async function aptosClient<Res>(\n requestOptions: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(requestOptions);\n}\n\nexport async function jsonRequest<Res>(\n requestOptions: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n const { params, method, url, headers, body } = requestOptions;\n\n const request: OptionsOfJSONResponseBody = {\n http2: true,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"json\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n const response = await got<Res>(request);\n return parseResponse<Res>(response);\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Res>(gotError.response as Response<Res>);\n }\n throw error;\n }\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param requestOptions\n */\nexport async function bcsRequest(\n requestOptions: AptosClientRequest,\n): Promise<AptosClientResponse<Buffer>> {\n const { params, method, url, headers, body } = requestOptions;\n\n const request: OptionsOfBufferResponseBody = {\n http2: true,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"buffer\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n switch (method) {\n case \"GET\":\n return parseResponse<Buffer>(await got.get(request));\n case \"POST\":\n return parseResponse<Buffer>(await got.post(request));\n default:\n // Do nothing, fall through\n }\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Buffer>(gotError.response as Response<Buffer>);\n }\n throw error;\n }\n\n throw new Error(`Unsupported method: ${method}`);\n}\n\nfunction parseResponse<Res>(response: Response<Res>): AptosClientResponse<Res> {\n return {\n status: response.statusCode,\n statusText: response.statusMessage || \"\",\n data: response.body,\n config: response.request.options,\n request: response.request,\n response,\n headers: response.headers,\n };\n}\n\n/**\n * got supports only - string | number | boolean | null | undefined as searchParam value,\n * so if we have bigint type, convert it to string\n */\nfunction convertBigIntToString(obj: any): any {\n const result: any = {};\n if (!obj) return result;\n\n Object.entries(obj).forEach(([key, value]) => {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (typeof value === \"bigint\") {\n result[key] = String(value);\n } else {\n result[key] = value;\n }\n }\n });\n\n return result;\n}\n","interface Cookie {\n name: string;\n value: string;\n expires?: Date;\n path?: string;\n sameSite?: \"Lax\" | \"None\" | \"Strict\";\n secure?: boolean;\n}\n\nexport class CookieJar {\n constructor(private jar = new Map<string, Cookie[]>()) {}\n\n setCookie(url: URL, cookieStr: string) {\n const key = url.origin.toLowerCase();\n if (!this.jar.has(key)) {\n this.jar.set(key, []);\n }\n\n const cookie = CookieJar.parse(cookieStr);\n this.jar.set(key, [\n ...(this.jar.get(key)?.filter((c) => c.name !== cookie.name) || []),\n cookie,\n ]);\n }\n\n getCookies(url: URL): Cookie[] {\n const key = url.origin.toLowerCase();\n if (!this.jar.get(key)) {\n return [];\n }\n\n // Filter out expired cookies\n return (\n this.jar\n .get(key)\n ?.filter((cookie) => !cookie.expires || cookie.expires > new Date()) ||\n []\n );\n }\n\n static parse(str: string): Cookie {\n if (typeof str !== \"string\") {\n throw new Error(\"argument str must be a string\");\n }\n\n const parts = str.split(\";\").map((part) => part.trim());\n\n let cookie: Cookie;\n\n if (parts.length > 0) {\n const [name, value] = parts[0].split(\"=\");\n if (!name || !value) {\n throw new Error(\"Invalid cookie\");\n }\n\n cookie = {\n name,\n value,\n };\n } else {\n throw new Error(\"Invalid cookie\");\n }\n\n parts.slice(1).forEach((part) => {\n const [name, value] = part.split(\"=\");\n if (!name.trim()) {\n throw new Error(\"Invalid cookie\");\n }\n\n const nameLow = name.toLowerCase();\n const val =\n // eslint-disable-next-line quotes\n value?.charAt(0) === \"'\" || value?.charAt(0) === '\"'\n ? value?.slice(1, -1)\n : value;\n if (nameLow === \"expires\") {\n cookie.expires = new Date(val);\n }\n if (nameLow === \"path\") {\n cookie.path = val;\n }\n if (nameLow === \"samesite\") {\n if (val !== \"Lax\" && val !== \"None\" && val !== \"Strict\") {\n throw new Error(\"Invalid cookie SameSite value\");\n }\n cookie.sameSite = val;\n }\n if (nameLow === \"secure\") {\n cookie.secure = true;\n }\n });\n\n return cookie;\n }\n}\n"],"mappings":"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","names":["got"]}
1
+ {"version":3,"sources":["../../src/index.node.ts","../../src/cookieJar.ts"],"sourcesContent":["import got, {\n OptionsOfBufferResponseBody,\n OptionsOfJSONResponseBody,\n RequestError,\n Response,\n} from \"got\";\nimport { CookieJar } from \"./cookieJar\";\nimport { AptosClientRequest, AptosClientResponse } from \"./types\";\n\nconst cookieJar = new CookieJar();\n\n/**\n * Used for JSON responses\n * @param requestOptions\n */\nexport default async function aptosClient<Res>(\n requestOptions: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(requestOptions);\n}\n\nexport async function jsonRequest<Res>(\n requestOptions: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n const { params, method, url, headers, body, http2 = true } = requestOptions;\n\n const request: OptionsOfJSONResponseBody = {\n http2,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"json\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n const response = await got<Res>(request);\n return parseResponse<Res>(response);\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Res>(gotError.response as Response<Res>);\n }\n throw error;\n }\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param requestOptions\n */\nexport async function bcsRequest(\n requestOptions: AptosClientRequest\n): Promise<AptosClientResponse<Buffer>> {\n const { params, method, url, headers, body, http2 = true } = requestOptions;\n\n const request: OptionsOfBufferResponseBody = {\n http2,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"buffer\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n switch (method) {\n case \"GET\":\n return parseResponse<Buffer>(await got.get(request));\n case \"POST\":\n return parseResponse<Buffer>(await got.post(request));\n default:\n // Do nothing, fall through\n }\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Buffer>(gotError.response as Response<Buffer>);\n }\n throw error;\n }\n\n throw new Error(`Unsupported method: ${method}`);\n}\n\nfunction parseResponse<Res>(response: Response<Res>): AptosClientResponse<Res> {\n return {\n status: response.statusCode,\n statusText: response.statusMessage || \"\",\n data: response.body,\n config: response.request.options,\n request: response.request,\n response,\n headers: response.headers,\n };\n}\n\n/**\n * got supports only - string | number | boolean | null | undefined as searchParam value,\n * so if we have bigint type, convert it to string\n */\nfunction convertBigIntToString(obj: any): any {\n const result: any = {};\n if (!obj) return result;\n\n Object.entries(obj).forEach(([key, value]) => {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (typeof value === \"bigint\") {\n result[key] = String(value);\n } else {\n result[key] = value;\n }\n }\n });\n\n return result;\n}\n","interface Cookie {\n name: string;\n value: string;\n expires?: Date;\n path?: string;\n sameSite?: \"Lax\" | \"None\" | \"Strict\";\n secure?: boolean;\n}\n\nexport class CookieJar {\n constructor(private jar = new Map<string, Cookie[]>()) {}\n\n setCookie(url: URL, cookieStr: string) {\n const key = url.origin.toLowerCase();\n if (!this.jar.has(key)) {\n this.jar.set(key, []);\n }\n\n const cookie = CookieJar.parse(cookieStr);\n this.jar.set(key, [\n ...(this.jar.get(key)?.filter((c) => c.name !== cookie.name) || []),\n cookie,\n ]);\n }\n\n getCookies(url: URL): Cookie[] {\n const key = url.origin.toLowerCase();\n if (!this.jar.get(key)) {\n return [];\n }\n\n // Filter out expired cookies\n return (\n this.jar\n .get(key)\n ?.filter((cookie) => !cookie.expires || cookie.expires > new Date()) ||\n []\n );\n }\n\n static parse(str: string): Cookie {\n if (typeof str !== \"string\") {\n throw new Error(\"argument str must be a string\");\n }\n\n const parts = str.split(\";\").map((part) => part.trim());\n\n let cookie: Cookie;\n\n if (parts.length > 0) {\n const [name, value] = parts[0].split(\"=\");\n if (!name || !value) {\n throw new Error(\"Invalid cookie\");\n }\n\n cookie = {\n name,\n value,\n };\n } else {\n throw new Error(\"Invalid cookie\");\n }\n\n parts.slice(1).forEach((part) => {\n const [name, value] = part.split(\"=\");\n if (!name.trim()) {\n throw new Error(\"Invalid cookie\");\n }\n\n const nameLow = name.toLowerCase();\n const val =\n // eslint-disable-next-line quotes\n value?.charAt(0) === \"'\" || value?.charAt(0) === '\"'\n ? value?.slice(1, -1)\n : value;\n if (nameLow === \"expires\") {\n cookie.expires = new Date(val);\n }\n if (nameLow === \"path\") {\n cookie.path = val;\n }\n if (nameLow === \"samesite\") {\n if (val !== \"Lax\" && val !== \"None\" && val !== \"Strict\") {\n throw new Error(\"Invalid cookie SameSite value\");\n }\n cookie.sameSite = val;\n }\n if (nameLow === \"secure\") {\n cookie.secure = true;\n }\n });\n\n return cookie;\n }\n}\n"],"mappings":"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","names":["got"]}
@@ -80,9 +80,9 @@ async function aptosClient(requestOptions) {
80
80
  return jsonRequest(requestOptions);
81
81
  }
82
82
  async function jsonRequest(requestOptions) {
83
- const { params, method, url, headers, body } = requestOptions;
83
+ const { params, method, url, headers, body, http2 = true } = requestOptions;
84
84
  const request = {
85
- http2: true,
85
+ http2,
86
86
  searchParams: convertBigIntToString(params),
87
87
  method,
88
88
  url,
@@ -128,9 +128,9 @@ async function jsonRequest(requestOptions) {
128
128
  }
129
129
  }
130
130
  async function bcsRequest(requestOptions) {
131
- const { params, method, url, headers, body } = requestOptions;
131
+ const { params, method, url, headers, body, http2 = true } = requestOptions;
132
132
  const request = {
133
- http2: true,
133
+ http2,
134
134
  searchParams: convertBigIntToString(params),
135
135
  method,
136
136
  url,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.node.ts","../../src/cookieJar.ts"],"sourcesContent":["import got, {\n OptionsOfBufferResponseBody,\n OptionsOfJSONResponseBody,\n RequestError,\n Response,\n} from \"got\";\nimport { CookieJar } from \"./cookieJar\";\nimport { AptosClientRequest, AptosClientResponse } from \"./types\";\n\nconst cookieJar = new CookieJar();\n\n/**\n * Used for JSON responses\n * @param requestOptions\n */\nexport default async function aptosClient<Res>(\n requestOptions: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(requestOptions);\n}\n\nexport async function jsonRequest<Res>(\n requestOptions: AptosClientRequest,\n): Promise<AptosClientResponse<Res>> {\n const { params, method, url, headers, body } = requestOptions;\n\n const request: OptionsOfJSONResponseBody = {\n http2: true,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"json\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n const response = await got<Res>(request);\n return parseResponse<Res>(response);\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Res>(gotError.response as Response<Res>);\n }\n throw error;\n }\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param requestOptions\n */\nexport async function bcsRequest(\n requestOptions: AptosClientRequest,\n): Promise<AptosClientResponse<Buffer>> {\n const { params, method, url, headers, body } = requestOptions;\n\n const request: OptionsOfBufferResponseBody = {\n http2: true,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"buffer\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n switch (method) {\n case \"GET\":\n return parseResponse<Buffer>(await got.get(request));\n case \"POST\":\n return parseResponse<Buffer>(await got.post(request));\n default:\n // Do nothing, fall through\n }\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Buffer>(gotError.response as Response<Buffer>);\n }\n throw error;\n }\n\n throw new Error(`Unsupported method: ${method}`);\n}\n\nfunction parseResponse<Res>(response: Response<Res>): AptosClientResponse<Res> {\n return {\n status: response.statusCode,\n statusText: response.statusMessage || \"\",\n data: response.body,\n config: response.request.options,\n request: response.request,\n response,\n headers: response.headers,\n };\n}\n\n/**\n * got supports only - string | number | boolean | null | undefined as searchParam value,\n * so if we have bigint type, convert it to string\n */\nfunction convertBigIntToString(obj: any): any {\n const result: any = {};\n if (!obj) return result;\n\n Object.entries(obj).forEach(([key, value]) => {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (typeof value === \"bigint\") {\n result[key] = String(value);\n } else {\n result[key] = value;\n }\n }\n });\n\n return result;\n}\n","interface Cookie {\n name: string;\n value: string;\n expires?: Date;\n path?: string;\n sameSite?: \"Lax\" | \"None\" | \"Strict\";\n secure?: boolean;\n}\n\nexport class CookieJar {\n constructor(private jar = new Map<string, Cookie[]>()) {}\n\n setCookie(url: URL, cookieStr: string) {\n const key = url.origin.toLowerCase();\n if (!this.jar.has(key)) {\n this.jar.set(key, []);\n }\n\n const cookie = CookieJar.parse(cookieStr);\n this.jar.set(key, [\n ...(this.jar.get(key)?.filter((c) => c.name !== cookie.name) || []),\n cookie,\n ]);\n }\n\n getCookies(url: URL): Cookie[] {\n const key = url.origin.toLowerCase();\n if (!this.jar.get(key)) {\n return [];\n }\n\n // Filter out expired cookies\n return (\n this.jar\n .get(key)\n ?.filter((cookie) => !cookie.expires || cookie.expires > new Date()) ||\n []\n );\n }\n\n static parse(str: string): Cookie {\n if (typeof str !== \"string\") {\n throw new Error(\"argument str must be a string\");\n }\n\n const parts = str.split(\";\").map((part) => part.trim());\n\n let cookie: Cookie;\n\n if (parts.length > 0) {\n const [name, value] = parts[0].split(\"=\");\n if (!name || !value) {\n throw new Error(\"Invalid cookie\");\n }\n\n cookie = {\n name,\n value,\n };\n } else {\n throw new Error(\"Invalid cookie\");\n }\n\n parts.slice(1).forEach((part) => {\n const [name, value] = part.split(\"=\");\n if (!name.trim()) {\n throw new Error(\"Invalid cookie\");\n }\n\n const nameLow = name.toLowerCase();\n const val =\n // eslint-disable-next-line quotes\n value?.charAt(0) === \"'\" || value?.charAt(0) === '\"'\n ? value?.slice(1, -1)\n : value;\n if (nameLow === \"expires\") {\n cookie.expires = new Date(val);\n }\n if (nameLow === \"path\") {\n cookie.path = val;\n }\n if (nameLow === \"samesite\") {\n if (val !== \"Lax\" && val !== \"None\" && val !== \"Strict\") {\n throw new Error(\"Invalid cookie SameSite value\");\n }\n cookie.sameSite = val;\n }\n if (nameLow === \"secure\") {\n cookie.secure = true;\n }\n });\n\n return cookie;\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/index.node.ts","../../src/cookieJar.ts"],"sourcesContent":["import got, {\n OptionsOfBufferResponseBody,\n OptionsOfJSONResponseBody,\n RequestError,\n Response,\n} from \"got\";\nimport { CookieJar } from \"./cookieJar\";\nimport { AptosClientRequest, AptosClientResponse } from \"./types\";\n\nconst cookieJar = new CookieJar();\n\n/**\n * Used for JSON responses\n * @param requestOptions\n */\nexport default async function aptosClient<Res>(\n requestOptions: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n return jsonRequest<Res>(requestOptions);\n}\n\nexport async function jsonRequest<Res>(\n requestOptions: AptosClientRequest\n): Promise<AptosClientResponse<Res>> {\n const { params, method, url, headers, body, http2 = true } = requestOptions;\n\n const request: OptionsOfJSONResponseBody = {\n http2,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"json\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n const response = await got<Res>(request);\n return parseResponse<Res>(response);\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Res>(gotError.response as Response<Res>);\n }\n throw error;\n }\n}\n\n/**\n * Used for binary responses, such as BCS outputs\n *\n * @experimental\n * @param requestOptions\n */\nexport async function bcsRequest(\n requestOptions: AptosClientRequest\n): Promise<AptosClientResponse<Buffer>> {\n const { params, method, url, headers, body, http2 = true } = requestOptions;\n\n const request: OptionsOfBufferResponseBody = {\n http2,\n searchParams: convertBigIntToString(params),\n method,\n url,\n responseType: \"buffer\",\n headers,\n hooks: {\n beforeRequest: [\n (options) => {\n const cookies = cookieJar.getCookies(new URL(options.url!));\n\n if (cookies?.length > 0 && options.headers) {\n /* eslint-disable no-param-reassign */\n options.headers.cookie = cookies\n .map((cookie: any) => `${cookie.name}=${cookie.value}`)\n .join(\"; \");\n }\n },\n ],\n afterResponse: [\n (response) => {\n if (Array.isArray(response.headers[\"set-cookie\"])) {\n response.headers[\"set-cookie\"].forEach((c) => {\n cookieJar.setCookie(new URL(response.url!), c);\n });\n }\n return response;\n },\n ],\n },\n };\n\n if (body) {\n if (body instanceof Uint8Array) {\n request.body = Buffer.from(body);\n } else {\n request.body = Buffer.from(JSON.stringify(body));\n }\n }\n\n try {\n switch (method) {\n case \"GET\":\n return parseResponse<Buffer>(await got.get(request));\n case \"POST\":\n return parseResponse<Buffer>(await got.post(request));\n default:\n // Do nothing, fall through\n }\n } catch (error) {\n const gotError = error as RequestError;\n if (gotError.response) {\n return parseResponse<Buffer>(gotError.response as Response<Buffer>);\n }\n throw error;\n }\n\n throw new Error(`Unsupported method: ${method}`);\n}\n\nfunction parseResponse<Res>(response: Response<Res>): AptosClientResponse<Res> {\n return {\n status: response.statusCode,\n statusText: response.statusMessage || \"\",\n data: response.body,\n config: response.request.options,\n request: response.request,\n response,\n headers: response.headers,\n };\n}\n\n/**\n * got supports only - string | number | boolean | null | undefined as searchParam value,\n * so if we have bigint type, convert it to string\n */\nfunction convertBigIntToString(obj: any): any {\n const result: any = {};\n if (!obj) return result;\n\n Object.entries(obj).forEach(([key, value]) => {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n if (typeof value === \"bigint\") {\n result[key] = String(value);\n } else {\n result[key] = value;\n }\n }\n });\n\n return result;\n}\n","interface Cookie {\n name: string;\n value: string;\n expires?: Date;\n path?: string;\n sameSite?: \"Lax\" | \"None\" | \"Strict\";\n secure?: boolean;\n}\n\nexport class CookieJar {\n constructor(private jar = new Map<string, Cookie[]>()) {}\n\n setCookie(url: URL, cookieStr: string) {\n const key = url.origin.toLowerCase();\n if (!this.jar.has(key)) {\n this.jar.set(key, []);\n }\n\n const cookie = CookieJar.parse(cookieStr);\n this.jar.set(key, [\n ...(this.jar.get(key)?.filter((c) => c.name !== cookie.name) || []),\n cookie,\n ]);\n }\n\n getCookies(url: URL): Cookie[] {\n const key = url.origin.toLowerCase();\n if (!this.jar.get(key)) {\n return [];\n }\n\n // Filter out expired cookies\n return (\n this.jar\n .get(key)\n ?.filter((cookie) => !cookie.expires || cookie.expires > new Date()) ||\n []\n );\n }\n\n static parse(str: string): Cookie {\n if (typeof str !== \"string\") {\n throw new Error(\"argument str must be a string\");\n }\n\n const parts = str.split(\";\").map((part) => part.trim());\n\n let cookie: Cookie;\n\n if (parts.length > 0) {\n const [name, value] = parts[0].split(\"=\");\n if (!name || !value) {\n throw new Error(\"Invalid cookie\");\n }\n\n cookie = {\n name,\n value,\n };\n } else {\n throw new Error(\"Invalid cookie\");\n }\n\n parts.slice(1).forEach((part) => {\n const [name, value] = part.split(\"=\");\n if (!name.trim()) {\n throw new Error(\"Invalid cookie\");\n }\n\n const nameLow = name.toLowerCase();\n const val =\n // eslint-disable-next-line quotes\n value?.charAt(0) === \"'\" || value?.charAt(0) === '\"'\n ? value?.slice(1, -1)\n : value;\n if (nameLow === \"expires\") {\n cookie.expires = new Date(val);\n }\n if (nameLow === \"path\") {\n cookie.path = val;\n }\n if (nameLow === \"samesite\") {\n if (val !== \"Lax\" && val !== \"None\" && val !== \"Strict\") {\n throw new Error(\"Invalid cookie SameSite value\");\n }\n cookie.sameSite = val;\n }\n if (nameLow === \"secure\") {\n cookie.secure = true;\n }\n });\n\n return cookie;\n }\n}\n"],"mappings":"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","names":[]}
@@ -55,13 +55,13 @@ function aptosClient(requestOptions) {
55
55
  }
56
56
  function jsonRequest(requestOptions) {
57
57
  return __awaiter(this, void 0, void 0, function () {
58
- var params, method, url, headers, body, request, response, error_1, gotError;
59
- return __generator(this, function (_a) {
60
- switch (_a.label) {
58
+ var params, method, url, headers, body, _a, http2, request, response, error_1, gotError;
59
+ return __generator(this, function (_b) {
60
+ switch (_b.label) {
61
61
  case 0:
62
- params = requestOptions.params, method = requestOptions.method, url = requestOptions.url, headers = requestOptions.headers, body = requestOptions.body;
62
+ params = requestOptions.params, method = requestOptions.method, url = requestOptions.url, headers = requestOptions.headers, body = requestOptions.body, _a = requestOptions.http2, http2 = _a === void 0 ? true : _a;
63
63
  request = {
64
- http2: true,
64
+ http2: http2,
65
65
  searchParams: convertBigIntToString(params),
66
66
  method: method,
67
67
  url: url,
@@ -99,15 +99,15 @@ function jsonRequest(requestOptions) {
99
99
  request.body = Buffer.from(JSON.stringify(body));
100
100
  }
101
101
  }
102
- _a.label = 1;
102
+ _b.label = 1;
103
103
  case 1:
104
- _a.trys.push([1, 3, , 4]);
104
+ _b.trys.push([1, 3, , 4]);
105
105
  return [4 /*yield*/, (0, got_1.default)(request)];
106
106
  case 2:
107
- response = _a.sent();
107
+ response = _b.sent();
108
108
  return [2 /*return*/, parseResponse(response)];
109
109
  case 3:
110
- error_1 = _a.sent();
110
+ error_1 = _b.sent();
111
111
  gotError = error_1;
112
112
  if (gotError.response) {
113
113
  return [2 /*return*/, parseResponse(gotError.response)];
@@ -126,13 +126,13 @@ function jsonRequest(requestOptions) {
126
126
  */
127
127
  function bcsRequest(requestOptions) {
128
128
  return __awaiter(this, void 0, void 0, function () {
129
- var params, method, url, headers, body, request, _a, _b, _c, error_2, gotError;
130
- return __generator(this, function (_d) {
131
- switch (_d.label) {
129
+ var params, method, url, headers, body, _a, http2, request, _b, _c, _d, error_2, gotError;
130
+ return __generator(this, function (_e) {
131
+ switch (_e.label) {
132
132
  case 0:
133
- params = requestOptions.params, method = requestOptions.method, url = requestOptions.url, headers = requestOptions.headers, body = requestOptions.body;
133
+ params = requestOptions.params, method = requestOptions.method, url = requestOptions.url, headers = requestOptions.headers, body = requestOptions.body, _a = requestOptions.http2, http2 = _a === void 0 ? true : _a;
134
134
  request = {
135
- http2: true,
135
+ http2: http2,
136
136
  searchParams: convertBigIntToString(params),
137
137
  method: method,
138
138
  url: url,
@@ -170,26 +170,26 @@ function bcsRequest(requestOptions) {
170
170
  request.body = Buffer.from(JSON.stringify(body));
171
171
  }
172
172
  }
173
- _d.label = 1;
173
+ _e.label = 1;
174
174
  case 1:
175
- _d.trys.push([1, 7, , 8]);
176
- _a = method;
177
- switch (_a) {
175
+ _e.trys.push([1, 7, , 8]);
176
+ _b = method;
177
+ switch (_b) {
178
178
  case "GET": return [3 /*break*/, 2];
179
179
  case "POST": return [3 /*break*/, 4];
180
180
  }
181
181
  return [3 /*break*/, 6];
182
182
  case 2:
183
- _b = parseResponse;
183
+ _c = parseResponse;
184
184
  return [4 /*yield*/, got_1.default.get(request)];
185
- case 3: return [2 /*return*/, _b.apply(void 0, [_d.sent()])];
185
+ case 3: return [2 /*return*/, _c.apply(void 0, [_e.sent()])];
186
186
  case 4:
187
- _c = parseResponse;
187
+ _d = parseResponse;
188
188
  return [4 /*yield*/, got_1.default.post(request)];
189
- case 5: return [2 /*return*/, _c.apply(void 0, [_d.sent()])];
189
+ case 5: return [2 /*return*/, _d.apply(void 0, [_e.sent()])];
190
190
  case 6: return [3 /*break*/, 8];
191
191
  case 7:
192
- error_2 = _d.sent();
192
+ error_2 = _e.sent();
193
193
  gotError = error_2;
194
194
  if (gotError.response) {
195
195
  return [2 /*return*/, parseResponse(gotError.response)];
@@ -14,4 +14,5 @@ export type AptosClientRequest = {
14
14
  params?: any;
15
15
  headers?: any;
16
16
  overrides?: any;
17
+ http2?: boolean;
17
18
  };
package/package.json CHANGED
@@ -70,5 +70,5 @@
70
70
  "tsup": "8.4.0",
71
71
  "typescript": "5.8.2"
72
72
  },
73
- "version": "2.0.0"
73
+ "version": "2.1.0"
74
74
  }