New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@basis-theory/basis-theory-js

Package Overview
Dependencies
Maintainers
0
Versions
182
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@basis-theory/basis-theory-js - npm Package Compare versions

Comparing version 4.19.0 to 4.20.0

common/telemetry-logging.d.ts

11

BasisTheory.js

@@ -16,2 +16,4 @@ "use strict";

var _telemetryLogging = require("./common/telemetry-logging");
var _elements = require("./elements");

@@ -42,2 +44,3 @@

elements: false,
disableTelemetry: false,
appInfo: {}

@@ -159,2 +162,7 @@ };

});
if (!options.disableTelemetry && undefined !== 'test') {
(0, _telemetryLogging.initTelemetryLogger)();
}
this._initStatus = 'done';

@@ -192,4 +200,5 @@ } catch (error) {

const elementsUseNgApi = this.initOptions.elementsUseNgApi || false;
const elementsUseSameOriginApi = this.initOptions.elementsUseSameOriginApi || false;
const disableTelemetry = this.initOptions.disableTelemetry || false;
await elements.init(apiKey, elementsBaseUrl.toString().replace(/\/$/u, ''), elementsUseNgApi, disableTelemetry);
await elements.init(apiKey, elementsBaseUrl.toString().replace(/\/$/u, ''), elementsUseNgApi, elementsUseSameOriginApi, disableTelemetry);
this.elements = elements;

@@ -196,0 +205,0 @@ } // these should be set by the init call only.

4

common/constants.d.ts

@@ -13,2 +13,4 @@ import type { BasisTheoryServicesBasePathMap } from '../types/sdk';

declare const DEFAULT_ELEMENTS_BASE_URL: string;
declare const DD_TOKEN: string | undefined;
declare const DD_GIT_SHA: string | undefined;
declare const CLIENT_BASE_PATHS: BasisTheoryServicesBasePathMap;

@@ -19,2 +21,2 @@ declare const BROWSER_LIST: {

}[];
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, };
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, };

@@ -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.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.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';

@@ -30,2 +30,6 @@ exports.API_KEY_HEADER = API_KEY_HEADER;

exports.DEFAULT_ELEMENTS_BASE_URL = DEFAULT_ELEMENTS_BASE_URL;
const DD_TOKEN = "pub5f53501515584007899577554c4aeda6";
exports.DD_TOKEN = DD_TOKEN;
const DD_GIT_SHA = "82687839b3e74ee9466184449c528d4f323b7c1f";
exports.DD_GIT_SHA = DD_GIT_SHA;
const CLIENT_BASE_PATHS = {

@@ -32,0 +36,0 @@ tokens: 'tokens',

declare const ELEMENTS_INIT_ERROR_MESSAGE = "BasisTheory Elements was not properly initialized.";
declare const ELEMENTS_NOM_DOM_ERROR_MESSAGE = "Tried to load BasisTheoryElements in a non-DOM environment.";
declare const ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE = "Basis Theory Elements did not load properly.";
declare const ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE = "Basis Theory Elements did not load properly. Check network tab for more details.";
declare const ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE = "There was an unknown error when loading Basis Theory Elements. Check the console for details.";

@@ -5,0 +5,0 @@ declare const CARD_BRANDS: readonly ["visa", "mastercard", "american-express", "discover", "diners-club", "jcb", "unionpay", "maestro", "elo", "hiper", "hipercard", "mir", "unknown"];

@@ -11,3 +11,3 @@ "use strict";

exports.ELEMENTS_NOM_DOM_ERROR_MESSAGE = ELEMENTS_NOM_DOM_ERROR_MESSAGE;
const ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE = 'Basis Theory Elements did not load properly.';
const ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE = 'Basis Theory Elements did not load properly. Check network tab for more details.';
exports.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE = ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE;

@@ -14,0 +14,0 @@ const ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE = 'There was an unknown error when loading Basis Theory Elements. Check the console for details.';

@@ -8,5 +8,7 @@ "use strict";

var _telemetryLogging = require("./../common/telemetry-logging");
var _constants = require("./constants");
var _script = require("./script");
var _script3 = require("./script");

@@ -19,2 +21,7 @@ let elementsPromise;

if (typeof window !== 'object') {
_telemetryLogging.telemetryLogger.logger.warn(_constants.ELEMENTS_NOM_DOM_ERROR_MESSAGE, {
logType: 'elementsNonDomError',
logOrigin: 'loadElements'
});
reject(new Error(_constants.ELEMENTS_NOM_DOM_ERROR_MESSAGE));

@@ -37,2 +44,7 @@ return;

} catch {
_telemetryLogging.telemetryLogger.logger.warn('Invalid format for the given Elements client url.', {
logType: 'invalidClientUrlError',
logOrigin: 'loadElements'
});
throw new Error('Invalid format for the given Elements client url.');

@@ -42,12 +54,39 @@ }

let script = (0, _script.findScript)(url);
let script = (0, _script3.findScript)(url);
if (!script) {
script = (0, _script.injectScript)(url);
}
script = (0, _script3.injectScript)(url);
} // listen for window error events for same script
script.addEventListener('load', () => {
window.addEventListener('error', event => {
_telemetryLogging.telemetryLogger.logger.error('Elements script onError event from window', {
logType: 'elementsNotFoundOnWindow',
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 => {
if (window.BasisTheoryElements) {
resolve(window.BasisTheoryElements);
} else {
var _script;
_telemetryLogging.telemetryLogger.logger.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
}
});
reject(new Error(_constants.ELEMENTS_SCRIPT_LOAD_ERROR_MESSAGE));

@@ -57,5 +96,31 @@ }

script.addEventListener('error', event => {
reject((event === null || event === void 0 ? void 0 : event.error) || new Error(_constants.ELEMENTS_SCRIPT_UNKNOWN_ERROR_MESSAGE));
var _script2;
_telemetryLogging.telemetryLogger.logger.warn('Elements script onError event', {
logType: 'elementsNotFoundOnWindow',
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,
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
}
}); // 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', {
logType: 'unexpectedError',
logOrigin: 'loadElements',
error
});
reject(error);

@@ -62,0 +127,0 @@ return;

{
"name": "@basis-theory/basis-theory-js",
"version": "4.19.0",
"version": "4.20.0",
"repository": "https://github.com/Basis-Theory/basis-theory-js",

@@ -18,2 +18,3 @@ "license": "Apache-2.0",

"dependencies": {
"@datadog/browser-logs": "^5.35.0",
"axios": "^1.7.4",

@@ -20,0 +21,0 @@ "camelcase-keys": "^6.2.2",

@@ -62,3 +62,3 @@ import type { HttpClient } from '../../types/sdk';

interface BasisTheoryElementsInternal extends BasisTheoryElements {
init: (apiKey: string | undefined, elementsBaseUrl: string, elementsUseNgApi: boolean | undefined, disableTelemetry: boolean | undefined) => Promise<BasisTheoryElements>;
init: (apiKey: string | undefined, elementsBaseUrl: string, elementsUseNgApi: boolean | undefined, elementsUseSameOriginApi: boolean | undefined, disableTelemetry: boolean | undefined) => Promise<BasisTheoryElements>;
hasElement: (payload: unknown) => boolean;

@@ -70,4 +70,5 @@ client: HttpClient;

BasisTheoryElements?: BasisTheoryElementsInternal;
DD_LOGS: any;
}
}
export type { BaseElement, CardElement, TextElement, CardNumberElement, CardExpirationDateElement, CardVerificationCodeElement, ElementWrapper, ElementValue, BasisTheoryElements, BasisTheoryElementsInternal, };

@@ -12,2 +12,3 @@ import type { BasisTheoryElements } from '../../types/elements';

appInfo?: ApplicationInfo;
disableTelemetry?: boolean;
}

@@ -22,3 +23,3 @@ interface BasisTheoryInitOptionsWithoutElements extends BasisTheoryInitOptions {

elementsUseNgApi?: boolean;
disableTelemetry?: boolean;
elementsUseSameOriginApi?: boolean;
}

@@ -25,0 +26,0 @@ interface BasisTheoryInit {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc