@cardano-sdk/cardano-services-client 0.26.9 → 0.26.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"handleHttpProvider.d.ts","sourceRoot":"","sources":["../../../src/HandleProvider/handleHttpProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAQxE,eAAO,MAAM,kBAAkB,WAAY,yBAAyB,cAAc,CAAC,KAAG,cAMlF,CAAC"}
1
+ {"version":3,"file":"handleHttpProvider.d.ts","sourceRoot":"","sources":["../../../src/HandleProvider/handleHttpProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAQxE,eAAO,MAAM,kBAAkB,WAAY,yBAAyB,cAAc,CAAC,KAAG,cASlF,CAAC"}
@@ -4,6 +4,7 @@ import { apiVersion } from '../version.js';
4
4
  export const handleHttpProvider = (config) => createHttpProvider({
5
5
  ...config,
6
6
  apiVersion: config.apiVersion || apiVersion.handle,
7
+ modifyData: (method, data) => method === 'resolveHandles' ? { ...data, check_handle: true } : { ...data },
7
8
  paths: handleProviderPaths,
8
9
  serviceSlug: 'handle'
9
10
  });
@@ -1 +1 @@
1
- {"version":3,"file":"handleHttpProvider.js","sourceRoot":"","sources":["../../../src/HandleProvider/handleHttpProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAkB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAgD,EAAkB,EAAE,CACrG,kBAAkB,CAAiB;IACjC,GAAG,MAAM;IACT,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM;IAClD,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,QAAQ;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"handleHttpProvider.js","sourceRoot":"","sources":["../../../src/HandleProvider/handleHttpProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAkB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAgD,EAAkB,EAAE,CACrG,kBAAkB,CAAiB;IACjC,GAAG,MAAM;IACT,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM;IAElD,UAAU,EAAE,CAAC,MAAgC,EAAE,IAAS,EAAE,EAAE,CAC1D,MAAM,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE;IAC7E,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,QAAQ;CACtB,CAAC,CAAC"}
@@ -10,9 +10,10 @@ export interface HttpProviderConfig<T extends Provider> {
10
10
  adapter?: AxiosAdapter;
11
11
  logger: Logger;
12
12
  serviceSlug: string;
13
+ modifyData?: (method: string | number | symbol, data: any) => any;
13
14
  }
14
15
  export declare type CreateHttpProviderConfig<T extends Provider> = Pick<HttpProviderConfig<T>, 'baseUrl' | 'adapter' | 'logger'> & {
15
16
  apiVersion?: string;
16
17
  };
17
- export declare const createHttpProvider: <T extends Provider>({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, serviceSlug }: HttpProviderConfig<T>) => T;
18
+ export declare const createHttpProvider: <T extends Provider>({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, modifyData, serviceSlug }: HttpProviderConfig<T>) => T;
18
19
  //# sourceMappingURL=HttpProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpProvider.d.ts","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAkC,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAc,EAAE,YAAY,EAAE,kBAAkB,EAAqD,MAAM,OAAO,CAAC;AAKnH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAEpD,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAElC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IASlC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IAGxD,OAAO,CAAC,EAAE,YAAY,CAAC;IAGvB,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,oBAAY,wBAAwB,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CAC7D,kBAAkB,CAAC,CAAC,CAAC,EACrB,SAAS,GAAG,SAAS,GAAG,QAAQ,CACjC,GAAG;IAEF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAsBF,eAAO,MAAM,kBAAkB,wIA6D3B,CAAC"}
1
+ {"version":3,"file":"HttpProvider.d.ts","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAkC,MAAM,mBAAmB,CAAC;AACtG,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAc,EAAE,YAAY,EAAE,kBAAkB,EAAqD,MAAM,OAAO,CAAC;AAKnH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAEpD,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAElC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IASlC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;IAGxD,OAAO,CAAC,EAAE,YAAY,CAAC;IAGvB,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CACnE;AAGD,oBAAY,wBAAwB,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CAC7D,kBAAkB,CAAC,CAAC,CAAC,EACrB,SAAS,GAAG,SAAS,GAAG,QAAQ,CACjC,GAAG;IAEF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAwBF,eAAO,MAAM,kBAAkB,oJAiE9B,CAAC"}
@@ -15,56 +15,60 @@ const transformRequest = (data) => {
15
15
  return data;
16
16
  return JSON.stringify(toSerializableObject(data));
17
17
  };
18
- export const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, serviceSlug }) => new Proxy({}, {
19
- get(_, prop) {
20
- const method = prop;
21
- const urlPath = paths[method];
22
- if (!urlPath)
23
- return;
24
- return async (...args) => {
25
- try {
26
- const req = {
27
- ...axiosOptions,
28
- adapter,
29
- baseURL: `${baseUrl.replace(/\/$/, '')}/v${apiVersion}/${serviceSlug}`,
30
- data: { ...args[0] },
31
- headers: {
32
- ...axiosOptions?.headers,
33
- 'Content-Type': 'application/json',
34
- 'Version-Api': JSON.stringify(apiVersion),
35
- 'Version-Software': packageJson.version
36
- },
37
- method: 'post',
38
- responseType: 'json',
39
- transformRequest,
40
- transformResponse,
41
- url: urlPath
42
- };
43
- logger.debug(`Sending ${req.method} request to ${req.baseURL}${req.url} with data:`);
44
- logger.debug(req.data);
45
- const axiosInstance = axios.create(req);
46
- const response = (await axiosInstance.request(req)).data;
47
- return !isEmptyResponse(response) ? response : undefined;
48
- }
49
- catch (error) {
50
- if (axios.isAxiosError(error)) {
51
- if (error.response) {
52
- const typedError = error.response.data;
53
- if (mapError)
54
- return mapError(typedError, method);
55
- throw new ProviderError(ProviderFailure.Unknown, typedError);
56
- }
57
- if (error.request) {
58
- throw new ProviderError(ProviderFailure.ConnectionFailure, error, error.code);
18
+ const defaultModifyData = (_method, data) => ({ ...data });
19
+ export const createHttpProvider = ({ apiVersion, baseUrl, axiosOptions, mapError, paths, adapter, logger, modifyData, serviceSlug }) => {
20
+ const internalModifyData = modifyData || defaultModifyData;
21
+ return new Proxy({}, {
22
+ get(_, prop) {
23
+ const method = prop;
24
+ const urlPath = paths[method];
25
+ if (!urlPath)
26
+ return;
27
+ return async (...args) => {
28
+ try {
29
+ const req = {
30
+ ...axiosOptions,
31
+ adapter,
32
+ baseURL: `${baseUrl.replace(/\/$/, '')}/v${apiVersion}/${serviceSlug}`,
33
+ data: internalModifyData(method, args[0]),
34
+ headers: {
35
+ ...axiosOptions?.headers,
36
+ 'Content-Type': 'application/json',
37
+ 'Version-Api': JSON.stringify(apiVersion),
38
+ 'Version-Software': packageJson.version
39
+ },
40
+ method: 'post',
41
+ responseType: 'json',
42
+ transformRequest,
43
+ transformResponse,
44
+ url: urlPath
45
+ };
46
+ logger.debug(`Sending ${req.method} request to ${req.baseURL}${req.url} with data:`);
47
+ logger.debug(req.data);
48
+ const axiosInstance = axios.create(req);
49
+ const response = (await axiosInstance.request(req)).data;
50
+ return !isEmptyResponse(response) ? response : undefined;
51
+ }
52
+ catch (error) {
53
+ if (axios.isAxiosError(error)) {
54
+ if (error.response) {
55
+ const typedError = error.response.data;
56
+ if (mapError)
57
+ return mapError(typedError, method);
58
+ throw new ProviderError(ProviderFailure.Unknown, typedError);
59
+ }
60
+ if (error.request) {
61
+ throw new ProviderError(ProviderFailure.ConnectionFailure, error, error.code);
62
+ }
59
63
  }
64
+ logger.error(error);
65
+ throw new ProviderError(ProviderFailure.Unknown, error);
60
66
  }
61
- logger.error(error);
62
- throw new ProviderError(ProviderFailure.Unknown, error);
63
- }
64
- };
65
- },
66
- has(_, prop) {
67
- return prop in paths;
68
- }
69
- });
67
+ };
68
+ },
69
+ has(_, prop) {
70
+ return prop in paths;
71
+ }
72
+ });
73
+ };
70
74
  //# sourceMappingURL=HttpProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpProvider.js","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAA8F,MAAM,OAAO,CAAC;AACnH,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,MAAM,eAAe,GAAG,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC;AAwC3D,MAAM,iBAAiB,GAA6B,CAAC,CAAC,EAAE,EAAE;IACxD,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACjB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,sBAAsB,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC,CAAC;AACF,MAAM,gBAAgB,GAA4B,CAAC,IAAI,EAAE,EAAE;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAYF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAqB,EACrD,UAAU,EACV,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,OAAO,EACP,MAAM,EACN,WAAW,EACW,EAAK,EAAE,CAC7B,IAAI,KAAK,CAAI,EAAO,EAAE;IAEpB,GAAG,CAAC,CAAC,EAAE,IAAI;QACT,MAAM,MAAM,GAAG,IAAe,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;YAC9B,IAAI;gBACF,MAAM,GAAG,GAAuB;oBAC9B,GAAG,YAAY;oBACf,OAAO;oBACP,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,UAAU,IAAI,WAAW,EAAE;oBACtE,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;oBACpB,OAAO,EAAE;wBACP,GAAG,YAAY,EAAE,OAAO;wBACxB,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;wBACzC,kBAAkB,EAAE,WAAW,CAAC,OAAO;qBACxC;oBACD,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,MAAM;oBACpB,gBAAgB;oBAChB,iBAAiB;oBACjB,GAAG,EAAE,OAAO;iBACb,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;gBACrF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEvB,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;aAC1D;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;oBAC7B,IAAI,KAAK,CAAC,QAAQ,EAAE;wBAClB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACvC,IAAI,QAAQ;4BAAE,OAAO,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;wBAClD,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;qBAC9D;oBACD,IAAI,KAAK,CAAC,OAAO,EAAE;wBACjB,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC/E;iBACF;gBACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACzD;QACH,CAAC,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,CAAC,EAAE,IAAI;QACT,OAAO,IAAI,IAAI,KAAK,CAAC;IACvB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"HttpProvider.js","sourceRoot":"","sources":["../../src/HttpProvider.ts"],"names":[],"mappings":"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"}