@basis-theory/basis-theory-js
Advanced tools
Comparing version 4.23.1 to 4.24.0
@@ -44,2 +44,3 @@ "use strict"; | ||
disableTelemetry: false, | ||
debug: false, | ||
appInfo: {} | ||
@@ -89,3 +90,4 @@ }; | ||
baseURL: new URL(_common.CLIENT_BASE_PATHS.tokens, baseUrl).toString(), | ||
appInfo | ||
appInfo, | ||
debug: this._initOptions.debug | ||
}); | ||
@@ -95,3 +97,4 @@ this._tokenize = new ((0, _elements.delegateTokenize)(this._elements))({ | ||
baseURL: new URL(_common.CLIENT_BASE_PATHS.tokenize, baseUrl).toString(), | ||
appInfo | ||
appInfo, | ||
debug: this._initOptions.debug | ||
}); | ||
@@ -146,3 +149,4 @@ this._applications = new _applications.BasisTheoryApplications({ | ||
baseURL: new URL(_common.CLIENT_BASE_PATHS.proxy, baseUrl).toString(), | ||
appInfo | ||
appInfo, | ||
debug: this._initOptions.debug | ||
}); | ||
@@ -152,3 +156,4 @@ this._sessions = new _sessions.BasisTheorySessions({ | ||
baseURL: new URL(_common.CLIENT_BASE_PATHS.sessions, baseUrl).toString(), | ||
appInfo | ||
appInfo, | ||
debug: this._initOptions.debug | ||
}); | ||
@@ -163,3 +168,4 @@ this._threeds = new _threeds.BasisTheoryThreeDS({ | ||
baseURL: new URL(_common.CLIENT_BASE_PATHS.tokenIntents, baseUrl).toString(), | ||
appInfo | ||
appInfo, | ||
debug: this._initOptions.debug | ||
}); | ||
@@ -166,0 +172,0 @@ |
export declare class BasisTheoryApiError extends Error { | ||
readonly status: number; | ||
readonly data?: unknown; | ||
constructor(message: string, status: number, data?: unknown); | ||
readonly _debug?: Record<string, unknown> | undefined; | ||
constructor(message: string, status: number, data?: unknown, _debug?: Record<string, unknown> | undefined); | ||
} |
@@ -34,6 +34,7 @@ "use strict"; | ||
class BasisTheoryApiError extends _extendableBuiltin(Error) { | ||
constructor(message, status, data) { | ||
constructor(message, status, data, _debug) { | ||
super(message); | ||
this.status = status; | ||
this.data = data; | ||
this._debug = _debug; | ||
this.name = 'BasisTheoryApiError'; | ||
@@ -40,0 +41,0 @@ Object.setPrototypeOf(this, BasisTheoryApiError.prototype); |
import type { BasisTheoryServicesBasePathMap } from '../types/sdk'; | ||
declare const API_KEY_HEADER = "BT-API-KEY"; | ||
declare const BT_TRACE_ID_HEADER = "bt-trace-id"; | ||
declare const CF_RAY_HEADER = "cf-ray"; | ||
declare const BT_IDEMPOTENCY_KEY_HEADER = "bt-idempotency-key"; | ||
@@ -20,2 +21,2 @@ declare const BT_EXPOSE_PROXY_RESPONSE_HEADER = "BT-EXPOSE-RAW-PROXY-RESPONSE"; | ||
}[]; | ||
export { API_KEY_HEADER, BT_TRACE_ID_HEADER, BT_IDEMPOTENCY_KEY_HEADER, CONTENT_TYPE_HEADER, MERGE_CONTENT_TYPE, USER_AGENT_HEADER, CLIENT_USER_AGENT_HEADER, USER_AGENT_CLIENT, BT_EXPOSE_PROXY_RESPONSE_HEADER, DEFAULT_BASE_URL, DEFAULT_ELEMENTS_BASE_URL, CLIENT_BASE_PATHS, BROWSER_LIST, DD_TOKEN, DD_GIT_SHA, }; | ||
export { API_KEY_HEADER, BT_TRACE_ID_HEADER, BT_IDEMPOTENCY_KEY_HEADER, CONTENT_TYPE_HEADER, MERGE_CONTENT_TYPE, USER_AGENT_HEADER, CLIENT_USER_AGENT_HEADER, USER_AGENT_CLIENT, BT_EXPOSE_PROXY_RESPONSE_HEADER, DEFAULT_BASE_URL, DEFAULT_ELEMENTS_BASE_URL, CLIENT_BASE_PATHS, BROWSER_LIST, DD_TOKEN, DD_GIT_SHA, CF_RAY_HEADER, }; |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.USER_AGENT_HEADER = exports.USER_AGENT_CLIENT = exports.MERGE_CONTENT_TYPE = exports.DEFAULT_ELEMENTS_BASE_URL = exports.DEFAULT_BASE_URL = exports.DD_TOKEN = exports.DD_GIT_SHA = exports.CONTENT_TYPE_HEADER = exports.CLIENT_USER_AGENT_HEADER = exports.CLIENT_BASE_PATHS = exports.BT_TRACE_ID_HEADER = exports.BT_IDEMPOTENCY_KEY_HEADER = exports.BT_EXPOSE_PROXY_RESPONSE_HEADER = exports.BROWSER_LIST = exports.API_KEY_HEADER = void 0; | ||
exports.USER_AGENT_HEADER = exports.USER_AGENT_CLIENT = exports.MERGE_CONTENT_TYPE = exports.DEFAULT_ELEMENTS_BASE_URL = exports.DEFAULT_BASE_URL = exports.DD_TOKEN = exports.DD_GIT_SHA = exports.CONTENT_TYPE_HEADER = exports.CLIENT_USER_AGENT_HEADER = exports.CLIENT_BASE_PATHS = exports.CF_RAY_HEADER = exports.BT_TRACE_ID_HEADER = exports.BT_IDEMPOTENCY_KEY_HEADER = exports.BT_EXPOSE_PROXY_RESPONSE_HEADER = exports.BROWSER_LIST = exports.API_KEY_HEADER = void 0; | ||
const API_KEY_HEADER = 'BT-API-KEY'; | ||
@@ -12,2 +12,4 @@ exports.API_KEY_HEADER = API_KEY_HEADER; | ||
exports.BT_TRACE_ID_HEADER = BT_TRACE_ID_HEADER; | ||
const CF_RAY_HEADER = 'cf-ray'; | ||
exports.CF_RAY_HEADER = CF_RAY_HEADER; | ||
const BT_IDEMPOTENCY_KEY_HEADER = 'bt-idempotency-key'; | ||
@@ -33,3 +35,3 @@ exports.BT_IDEMPOTENCY_KEY_HEADER = BT_IDEMPOTENCY_KEY_HEADER; | ||
exports.DD_TOKEN = DD_TOKEN; | ||
const DD_GIT_SHA = "c87a19b595c31ac80783989cd97d882a8cbd74d8"; | ||
const DD_GIT_SHA = "14843864d437c11f7676a56886d65e3359da17c1"; | ||
exports.DD_GIT_SHA = DD_GIT_SHA; | ||
@@ -36,0 +38,0 @@ const CLIENT_BASE_PATHS = { |
@@ -22,2 +22,3 @@ import type { AxiosRequestConfig, AxiosResponse, AxiosRequestTransformer, AxiosResponseTransformer, AxiosError } from 'axios'; | ||
declare const errorInterceptor: (error: AxiosError) => void; | ||
declare const errorInterceptorDebug: (error: AxiosError) => void; | ||
declare const getQueryParams: <Q>(query?: Q) => string; | ||
@@ -29,2 +30,3 @@ declare const buildUserAgentString: (appInfo?: ApplicationInfo) => string; | ||
declare const buildClientUserAgentString: (appInfo?: ApplicationInfo) => string; | ||
export { assertInit, transformRequestSnakeCase, proxyRaw, dataAndHeadersExtractor, transformReactorRequestSnakeCase, transformProxyRequestSnakeCase, transformTokenRequestSnakeCase, transformTokenResponseCamelCase, transformReactorResponseCamelCase, transformProxyResponseCamelCase, transformResponseCamelCase, dataExtractor, createRequestConfig, concatRequestTransformerWithDefault, concatResponseTransformerWithDefault, errorInterceptor, getQueryParams, buildUserAgentString, buildClientUserAgentString, getOSVersion, getRuntime, getBrowser, }; | ||
declare const debugTransform: AxiosResponseTransformer; | ||
export { assertInit, transformRequestSnakeCase, proxyRaw, dataAndHeadersExtractor, transformReactorRequestSnakeCase, transformProxyRequestSnakeCase, transformTokenRequestSnakeCase, transformTokenResponseCamelCase, transformReactorResponseCamelCase, transformProxyResponseCamelCase, transformResponseCamelCase, dataExtractor, createRequestConfig, concatRequestTransformerWithDefault, concatResponseTransformerWithDefault, errorInterceptor, getQueryParams, buildUserAgentString, buildClientUserAgentString, getOSVersion, getRuntime, getBrowser, debugTransform, errorInterceptorDebug, }; |
@@ -6,3 +6,3 @@ "use strict"; | ||
}); | ||
exports.transformTokenResponseCamelCase = exports.transformTokenRequestSnakeCase = exports.transformResponseCamelCase = exports.transformRequestSnakeCase = exports.transformReactorResponseCamelCase = exports.transformReactorRequestSnakeCase = exports.transformProxyResponseCamelCase = exports.transformProxyRequestSnakeCase = exports.proxyRaw = exports.getRuntime = exports.getQueryParams = exports.getOSVersion = exports.getBrowser = exports.errorInterceptor = exports.dataExtractor = exports.dataAndHeadersExtractor = exports.createRequestConfig = exports.concatResponseTransformerWithDefault = exports.concatRequestTransformerWithDefault = exports.buildUserAgentString = exports.buildClientUserAgentString = exports.assertInit = void 0; | ||
exports.transformTokenResponseCamelCase = exports.transformTokenRequestSnakeCase = exports.transformResponseCamelCase = exports.transformRequestSnakeCase = exports.transformReactorResponseCamelCase = exports.transformReactorRequestSnakeCase = exports.transformProxyResponseCamelCase = exports.transformProxyRequestSnakeCase = exports.proxyRaw = exports.getRuntime = exports.getQueryParams = exports.getOSVersion = exports.getBrowser = exports.errorInterceptorDebug = exports.errorInterceptor = exports.debugTransform = exports.dataExtractor = exports.dataAndHeadersExtractor = exports.createRequestConfig = exports.concatResponseTransformerWithDefault = exports.concatRequestTransformerWithDefault = exports.buildUserAgentString = exports.buildClientUserAgentString = exports.assertInit = void 0; | ||
@@ -294,7 +294,19 @@ var _axios = _interopRequireDefault(require("axios")); | ||
const errorInterceptor = error => { | ||
var _error$response$statu, _error$response, _error$response2, _error$config, _error$config$method, _error$config2, _error$config3, _error$config4, _error$config4$method, _error$config5, _error$config5$header, _error$response3, _error$response4, _error$response5, _error$response6; | ||
const handleAxiosError = (error, debug) => { | ||
var _error$response$statu, _error$response, _error$response2, _error$config, _error$config$method, _error$config2, _error$config3, _error$config4, _error$config4$method, _error$config5, _error$config5$header, _error$response5, _error$response6, _error$response7, _error$response8; | ||
const status = (_error$response$statu = (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) !== null && _error$response$statu !== void 0 ? _error$response$statu : -1; | ||
const data = (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data; | ||
const status = (_error$response$statu = error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) !== null && _error$response$statu !== void 0 ? _error$response$statu : -1; | ||
const data = error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.data; | ||
let _debug; | ||
if (debug) { | ||
var _error$response3, _error$response3$head, _error$response4, _error$response4$head; | ||
_debug = { | ||
cfRay: error === null || error === void 0 ? void 0 : (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : (_error$response3$head = _error$response3.headers) === null || _error$response3$head === void 0 ? void 0 : _error$response3$head[_constants.CF_RAY_HEADER], | ||
btTraceId: error === null || error === void 0 ? void 0 : (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : (_error$response4$head = _error$response4.headers) === null || _error$response4$head === void 0 ? void 0 : _error$response4$head[_constants.BT_TRACE_ID_HEADER] | ||
}; | ||
} | ||
const logSeverity = status > -1 && status < 499 ? 'warn' : 'error'; | ||
@@ -315,15 +327,21 @@ | ||
stack: error === null || error === void 0 ? void 0 : error.stack, | ||
headers: error === null || error === void 0 ? void 0 : (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.headers, | ||
headers: error === null || error === void 0 ? void 0 : (_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.headers, | ||
message: error === null || error === void 0 ? void 0 : error.message, | ||
status: error === null || error === void 0 ? void 0 : (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status, | ||
statusText: error === null || error === void 0 ? void 0 : (_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.statusText, | ||
data: error === null || error === void 0 ? void 0 : (_error$response6 = error.response) === null || _error$response6 === void 0 ? void 0 : _error$response6.data | ||
status: error === null || error === void 0 ? void 0 : (_error$response6 = error.response) === null || _error$response6 === void 0 ? void 0 : _error$response6.status, | ||
statusText: error === null || error === void 0 ? void 0 : (_error$response7 = error.response) === null || _error$response7 === void 0 ? void 0 : _error$response7.statusText, | ||
data: error === null || error === void 0 ? void 0 : (_error$response8 = error.response) === null || _error$response8 === void 0 ? void 0 : _error$response8.data | ||
} | ||
}); | ||
throw new _BasisTheoryApiError.BasisTheoryApiError(error.message, status, data); | ||
throw new _BasisTheoryApiError.BasisTheoryApiError(error.message, status, data, _debug); | ||
}; | ||
const errorInterceptor = error => handleAxiosError(error, false); | ||
exports.errorInterceptor = errorInterceptor; | ||
const errorInterceptorDebug = error => handleAxiosError(error, true); | ||
exports.errorInterceptorDebug = errorInterceptorDebug; | ||
const getQueryParams = (query = {}) => { | ||
@@ -472,2 +490,17 @@ const keys = Object.keys(query); | ||
exports.buildClientUserAgentString = buildClientUserAgentString; | ||
exports.buildClientUserAgentString = buildClientUserAgentString; | ||
const debugTransform = (data, headers) => { | ||
if (headers && typeof data === 'object' && data !== undefined) { | ||
// we are deliberately mutating the data object here to include the debug headers | ||
// eslint-disable-next-line no-param-reassign | ||
data._debug = { ...data._debug, | ||
cfRay: headers[_constants.CF_RAY_HEADER], | ||
btTraceId: headers[_constants.BT_TRACE_ID_HEADER] | ||
}; | ||
} | ||
return data; | ||
}; | ||
exports.debugTransform = debugTransform; |
{ | ||
"name": "@basis-theory/basis-theory-js", | ||
"version": "4.23.1", | ||
"version": "4.24.0", | ||
"repository": "https://github.com/Basis-Theory/basis-theory-js", | ||
@@ -5,0 +5,0 @@ "license": "Apache-2.0", |
@@ -21,3 +21,4 @@ "use strict"; | ||
transformResponse, | ||
appInfo | ||
appInfo, | ||
debug | ||
} = options; | ||
@@ -42,7 +43,7 @@ | ||
transformRequest: [].concat(transformRequest || _common.transformRequestSnakeCase, _axios.default.defaults.transformRequest), | ||
transformResponse: _axios.default.defaults.transformResponse.concat(transformResponse || _common.transformResponseCamelCase) | ||
transformResponse: _axios.default.defaults.transformResponse.concat(transformResponse || _common.transformResponseCamelCase, debug ? _common.debugTransform : []) | ||
/* eslint-enable unicorn/prefer-spread */ | ||
}); | ||
this.client.interceptors.response.use(undefined, _common.errorInterceptor); | ||
this.client.interceptors.response.use(undefined, debug ? _common.errorInterceptorDebug : _common.errorInterceptor); | ||
} | ||
@@ -49,0 +50,0 @@ } |
@@ -6,2 +6,3 @@ import type { AxiosRequestConfig } from 'axios'; | ||
baseURL: string; | ||
debug?: boolean; | ||
appInfo?: ApplicationInfo; | ||
@@ -8,0 +9,0 @@ } |
@@ -25,2 +25,3 @@ import type { TokenBase, DataObject, Auditable, TokenType } from '../../types/models'; | ||
fingerprint?: string; | ||
_debug?: Record<string, unknown>; | ||
}) & (TokenTypeMap[TokenTypesForTokenIntents] | TokenIntentCardDetails | { | ||
@@ -27,0 +28,0 @@ type: 'token'; |
@@ -6,3 +6,5 @@ import type { Primitive } from './shared'; | ||
type TokenizeArray<DataType = Primitive> = Array<Primitive | TokenizeObject<DataType> | TokenizeArray<DataType> | DataType>; | ||
type TokenizeData<DataType = Primitive> = TokenizeArray<DataType> | TokenizeObject<DataType>; | ||
type TokenizeData<DataType = Primitive> = TokenizeArray<DataType> | (TokenizeObject<DataType> & { | ||
_debug?: Record<string, unknown>; | ||
}); | ||
export type { TokenizeObject, TokenizeArray, TokenizeData }; |
@@ -45,2 +45,3 @@ import type { BinDetails } from './bin-details'; | ||
metadata?: Record<string, string>; | ||
_debug?: Record<string, unknown>; | ||
}; | ||
@@ -50,2 +51,3 @@ type CreateToken<DataType = Primitive> = Pick<Token<DataType>, 'type' | 'data' | 'privacy' | 'containers' | 'metadata' | 'encryption' | 'searchIndexes' | 'fingerprintExpression' | 'mask' | 'expiresAt'> & { | ||
id?: string; | ||
_debug?: Record<string, unknown>; | ||
}; | ||
@@ -55,4 +57,5 @@ type UpdateToken<DataType = Primitive> = Partial<Pick<Token<DataType>, 'data' | 'containers' | 'metadata' | 'encryption' | 'searchIndexes' | 'fingerprintExpression' | 'mask' | 'expiresAt'> & { | ||
deduplicateToken: boolean; | ||
_debug?: Record<string, unknown>; | ||
}>; | ||
export type { Token, TokenEnrichments, CreateToken, UpdateToken, DataClassification, DataImpactLevel, DataRestrictionPolicy, }; | ||
export { DATA_CLASSIFICATIONS, DATA_IMPACT_LEVELS, DATA_RESTRICTION_POLICIES }; |
@@ -13,2 +13,3 @@ import type { BasisTheoryElements } from '../../types/elements'; | ||
disableTelemetry?: boolean; | ||
debug?: boolean; | ||
} | ||
@@ -15,0 +16,0 @@ interface BasisTheoryInitOptionsWithoutElements extends BasisTheoryInitOptions { |
@@ -13,2 +13,3 @@ import type { AccessRule } from '../../../types/models/applications'; | ||
expiresAt: string; | ||
_debug?: Record<string, unknown>; | ||
}; | ||
@@ -15,0 +16,0 @@ interface Sessions { |
199973
4426