@basis-theory/basis-theory-js
Advanced tools
Comparing version
@@ -16,3 +16,3 @@ "use strict"; | ||
var _telemetryLogging = require("./common/telemetry-logging"); | ||
var _logging = require("./common/logging"); | ||
@@ -162,4 +162,4 @@ var _elements = require("./elements"); | ||
if (!options.disableTelemetry && undefined !== 'test') { | ||
(0, _telemetryLogging.initTelemetryLogger)(); | ||
if (options.disableTelemetry) { | ||
_logging.logger.setTelemetryEnabled(false); | ||
} | ||
@@ -166,0 +166,0 @@ |
@@ -31,3 +31,3 @@ "use strict"; | ||
exports.DD_TOKEN = DD_TOKEN; | ||
const DD_GIT_SHA = "038f3ed25f16236277bd4c16ddac7bad74fb1a83"; | ||
const DD_GIT_SHA = "5378f467085983961242b86ab1ac550e56c1ab19"; | ||
exports.DD_GIT_SHA = DD_GIT_SHA; | ||
@@ -34,0 +34,0 @@ const CLIENT_BASE_PATHS = { |
@@ -1,2 +0,2 @@ | ||
import type { AxiosRequestConfig, AxiosResponse, AxiosRequestTransformer, AxiosResponseTransformer } from 'axios'; | ||
import type { AxiosRequestConfig, AxiosResponse, AxiosRequestTransformer, AxiosResponseTransformer, AxiosError } from 'axios'; | ||
import type { RequestTransformers } from '../service'; | ||
@@ -21,3 +21,3 @@ import type { Reactor, Proxy, Token, CreateReactor, UpdateReactor, CreateProxy, UpdateProxy, Primitive } from '../types/models'; | ||
declare const createRequestConfig: (options?: ProxyRequestOptions | RequestOptions, transformers?: RequestTransformers) => AxiosRequestConfig | undefined; | ||
declare const errorInterceptor: (error: any) => void; | ||
declare const errorInterceptor: (error: AxiosError) => void; | ||
declare const getQueryParams: <Q>(query?: Q) => string; | ||
@@ -24,0 +24,0 @@ declare const buildUserAgentString: (appInfo?: ApplicationInfo) => string; |
@@ -22,2 +22,4 @@ "use strict"; | ||
var _logging = require("./logging"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -288,12 +290,27 @@ | ||
}; | ||
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/explicit-module-boundary-types | ||
}; | ||
exports.createRequestConfig = createRequestConfig; | ||
const errorInterceptor = error => { | ||
var _error$response, _error$response2; | ||
var _error$response$statu, _error$response, _error$response2, _error$config, _error$config2, _error$config3, _error$response3, _error$response4, _error$response5; | ||
const status = ((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) || -1; | ||
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 logSeverity = status < 499 ? 'warn' : 'error'; | ||
_logging.logger.log[logSeverity](`Error when calling ${(_error$config = error.config) === null || _error$config === void 0 ? void 0 : _error$config.url} from the SDK`, { | ||
apiStatus: status, | ||
errorDetails: { | ||
url: (_error$config2 = error.config) === null || _error$config2 === void 0 ? void 0 : _error$config2.url, | ||
method: (_error$config3 = error.config) === null || _error$config3 === void 0 ? void 0 : _error$config3.method, | ||
status: (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.status, | ||
statusText: (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.statusText, | ||
data, | ||
headers: (_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.headers, | ||
message: error.message | ||
}, | ||
errorObject: error | ||
}); | ||
throw new _BasisTheoryApiError.BasisTheoryApiError(error.message, status, data); | ||
@@ -300,0 +317,0 @@ }; |
@@ -8,7 +8,7 @@ "use strict"; | ||
var _telemetryLogging = require("./../common/telemetry-logging"); | ||
var _logging = require("./../common/logging"); | ||
var _constants = require("./constants"); | ||
var _script3 = require("./script"); | ||
var _script = require("./script"); | ||
@@ -21,8 +21,10 @@ let elementsPromise; | ||
if (typeof window !== 'object') { | ||
_telemetryLogging.telemetryLogger.logger.warn(_constants.ELEMENTS_NOM_DOM_ERROR_MESSAGE, { | ||
logType: 'elementsNonDomError', | ||
logOrigin: 'loadElements' | ||
}); | ||
(async () => { | ||
await _logging.logger.log.warn(_constants.ELEMENTS_NOM_DOM_ERROR_MESSAGE, { | ||
logType: 'elementsNonDomError', | ||
logOrigin: 'loadElements' | ||
}); | ||
reject(new Error(_constants.ELEMENTS_NOM_DOM_ERROR_MESSAGE)); | ||
})(); | ||
reject(new Error(_constants.ELEMENTS_NOM_DOM_ERROR_MESSAGE)); | ||
return; | ||
@@ -44,6 +46,8 @@ } | ||
} catch { | ||
_telemetryLogging.telemetryLogger.logger.warn('Invalid format for the given Elements client url.', { | ||
logType: 'invalidClientUrlError', | ||
logOrigin: 'loadElements' | ||
}); | ||
(async () => { | ||
await _logging.logger.log.warn('Invalid format for the given Elements client url.', { | ||
logType: 'invalidClientUrlError', | ||
logOrigin: 'loadElements' | ||
}); | ||
})(); | ||
@@ -54,52 +58,24 @@ throw new Error('Invalid format for the given Elements client url.'); | ||
let script = (0, _script3.findScript)(url); | ||
let script = (0, _script.findScript)(url); | ||
if (!script) { | ||
script = (0, _script3.injectScript)(url); | ||
} // listen for window error events for same script | ||
script = (0, _script.injectScript)(url); | ||
} | ||
window.addEventListener('error', event => { | ||
_telemetryLogging.telemetryLogger.logger.error('Elements script onError event from window', { | ||
logType: 'elementsScriptOnErrorFromWindow', | ||
logOrigin: 'loadElements', | ||
eventObject: event, | ||
event: { | ||
message: event === null || event === void 0 ? void 0 : event.message, | ||
source: event === null || event === void 0 ? void 0 : event.filename, | ||
lineno: event === null || event === void 0 ? void 0 : event.lineno, | ||
colno: event === null || event === void 0 ? void 0 : event.colno, | ||
error: event === null || event === void 0 ? void 0 : event.error | ||
} | ||
}); | ||
}); | ||
script.addEventListener('load', event => { | ||
script.addEventListener('load', async () => { | ||
if (window.BasisTheoryElements) { | ||
resolve(window.BasisTheoryElements); | ||
} else { | ||
var _script; | ||
_telemetryLogging.telemetryLogger.logger.error('Elements not found on window on load', { | ||
await _logging.logger.log.error('Elements not found on window on load', { | ||
logType: 'elementsNotFoundOnWindow', | ||
logOrigin: 'loadElements', | ||
eventObject: event, | ||
event: { | ||
type: event === null || event === void 0 ? void 0 : event.type, | ||
src: (_script = script) === null || _script === void 0 ? void 0 : _script.src | ||
} | ||
logOrigin: 'loadElements' | ||
}); | ||
reject(new Error(_constants.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE)); | ||
} | ||
}); | ||
script.addEventListener('error', event => { | ||
var _script2; | ||
_telemetryLogging.telemetryLogger.logger.warn('Elements script onError event', { | ||
script.addEventListener('error', async event => { | ||
await _logging.logger.log.error('Elements script onError event', { | ||
logType: 'elementsScriptOnError', | ||
logOrigin: 'loadElements', | ||
eventObject: event, | ||
event: { | ||
type: event === null || event === void 0 ? void 0 : event.type, | ||
src: (_script2 = script) === null || _script2 === void 0 ? void 0 : _script2.src, | ||
message: event === null || event === void 0 ? void 0 : event.message, | ||
@@ -109,16 +85,13 @@ source: event === null || event === void 0 ? void 0 : event.filename, | ||
colno: event === null || event === void 0 ? void 0 : event.colno, | ||
error: event === null || event === void 0 ? void 0 : event.error | ||
error: event === null || event === void 0 ? void 0 : event.error, | ||
target: event === null || event === void 0 ? void 0 : event.target | ||
} | ||
}); // printing full error event to console for debugging | ||
// eslint-disable-next-line no-console | ||
console.error(event); | ||
}); | ||
reject((event === null || event === void 0 ? void 0 : event.error) || (event === null || event === void 0 ? void 0 : event.message) || new Error(_constants.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE)); | ||
}); | ||
} catch (error) { | ||
_telemetryLogging.telemetryLogger.logger.error('Unexpected error loading Elements script', { | ||
_logging.logger.log.error('Unexpected error loading Elements script', { | ||
logType: 'unexpectedError', | ||
logOrigin: 'loadElements', | ||
error | ||
errorObject: error | ||
}); | ||
@@ -125,0 +98,0 @@ |
{ | ||
"name": "@basis-theory/basis-theory-js", | ||
"version": "4.21.2", | ||
"version": "4.22.0", | ||
"repository": "https://github.com/Basis-Theory/basis-theory-js", | ||
@@ -18,3 +18,2 @@ "license": "Apache-2.0", | ||
"dependencies": { | ||
"@datadog/browser-logs": "^5.35.0", | ||
"axios": "^1.7.4", | ||
@@ -21,0 +20,0 @@ "camelcase-keys": "^6.2.2", |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
7
-12.5%192465
-0.76%4314
-0.39%1
Infinity%- Removed
- Removed
- Removed