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
10
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 1.1.0 to 1.2.0

4

applications/BasisTheoryApplications.d.ts

@@ -0,5 +1,5 @@

import { RequestOptions } from '../service';
import type { Application, ApplicationQuery, CreateApplicationModel } from './types';
import { RequestOptions } from '../service';
export declare const BasisTheoryApplications: {
new (options: import("../service").BasisTheoryServiceOptions): {
new (options: import("../service/types").BasisTheoryServiceOptions): {
/**

@@ -6,0 +6,0 @@ * @deprecated use {@link retrieveByKey} instead

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

*/
async getApplicationByKey() {
getApplicationByKey() {
return this.retrieveByKey();

@@ -21,0 +21,0 @@ }

import type { PaginatedQuery } from '../service';
export declare const APPLICATION_TYPES: readonly ["server_to_server", "public", "elements", "management"];
export declare type ApplicationType = typeof APPLICATION_TYPES[number];
export interface Application {
declare const APPLICATION_TYPES: readonly ["server_to_server", "public", "elements", "management"];
declare type ApplicationType = typeof APPLICATION_TYPES[number];
interface Application {
id: string;

@@ -14,6 +14,7 @@ tenantId: string;

}
export declare type CreateApplicationModel = Pick<Application, 'name' | 'type'> & Partial<Pick<Application, 'permissions'>>;
export declare type UpdateApplicationModel = Partial<Pick<Application, 'name' | 'permissions'>>;
export interface ApplicationQuery extends PaginatedQuery {
declare type CreateApplicationModel = Pick<Application, 'name' | 'type'> & Partial<Pick<Application, 'permissions'>>;
declare type UpdateApplicationModel = Partial<Pick<Application, 'name' | 'permissions'>>;
interface ApplicationQuery extends PaginatedQuery {
id?: string | string[];
}
export { APPLICATION_TYPES, ApplicationType, Application, CreateApplicationModel, UpdateApplicationModel, ApplicationQuery, };

@@ -1,5 +0,5 @@

import type { AtomicBank } from './types';
import type { BasisTheoryServiceOptions, PaginatedQuery, RequestOptions } from '../../service';
import type { Token } from '../../tokens';
import type { ReactRequest } from '../types';
import type { Token } from '../../tokens';
import type { AtomicBank } from './types';
export declare const BasisTheoryAtomicBanks: {

@@ -6,0 +6,0 @@ new (options: BasisTheoryServiceOptions): {

@@ -16,12 +16,16 @@ "use strict";

constructor(options) {
options.transformRequest = [].concat(_common.transformAtomicRequestSnakeCase, options.transformRequest || []);
options.transformResponse = [].concat(_common.transformAtomicResponseCamelCase, options.transformResponse || []);
super(options);
const _options = { ...options
}; // eslint-disable-next-line unicorn/prefer-spread
_options.transformRequest = [].concat(_common.transformAtomicRequestSnakeCase, options.transformRequest || []); // eslint-disable-next-line unicorn/prefer-spread
_options.transformResponse = [].concat(_common.transformAtomicResponseCamelCase, options.transformResponse || []);
super(_options);
}
async retrieveDecrypted(id, options) {
retrieveDecrypted(id, options) {
return this.client.get(`/${id}/decrypt`, (0, _common.createRequestConfig)(options)).then(_common.dataExtractor);
}
async react(id, request, options) {
react(id, request, options) {
return this.client.post(`/${id}/react`, request, (0, _common.createRequestConfig)(options, {

@@ -33,3 +37,3 @@ transformRequest: _common.transformAtomicReactionRequestSnakeCase,

async retrieveReaction(atomicBankId, reactionTokenId, options) {
retrieveReaction(atomicBankId, reactionTokenId, options) {
return this.client.get(`/${atomicBankId}/reaction/${reactionTokenId}`, (0, _common.createRequestConfig)(options, {

@@ -36,0 +40,0 @@ transformResponse: _common.transformTokenResponseCamelCase

import type { Atomic } from '../types';
export interface Bank {
interface Bank {
routingNumber: string;
accountNumber: string;
}
export interface AtomicBank extends Atomic {
interface AtomicBank extends Atomic {
bank: Bank;
}
export declare type CreateAtomicBankModel = Pick<AtomicBank, 'bank' | 'metadata'>;
declare type CreateAtomicBankModel = Pick<AtomicBank, 'bank' | 'metadata'>;
export type { Bank, AtomicBank, CreateAtomicBankModel };

@@ -8,6 +8,6 @@ "use strict";

var _common = require("../common");
var _service = require("../service");
var _common = require("../common");
/**

@@ -20,3 +20,3 @@ * @deprecated use {@link BasisTheoryAtomicBanks} and {@link BasisTheoryAtomicCards} instead

*/
async storeCreditCard(model) {
storeCreditCard(model) {
return this.client.post('/cards', model).then(_common.dataExtractor);

@@ -29,3 +29,3 @@ }

async storeBank(model) {
storeBank(model) {
return this.client.post('/banks', model).then(_common.dataExtractor);

@@ -32,0 +32,0 @@ }

@@ -1,5 +0,5 @@

import type { AtomicCard } from './types';
import type { BasisTheoryServiceOptions, PaginatedQuery, RequestOptions } from '../../service';
import type { Token } from '../../tokens';
import type { ReactRequest } from '../types';
import type { Token } from '../../tokens';
import type { AtomicCard } from './types';
export declare const BasisTheoryAtomicCards: {

@@ -6,0 +6,0 @@ new (options: BasisTheoryServiceOptions): {

@@ -8,6 +8,6 @@ "use strict";

var _utils = require("./../../common/utils");
var _common = require("../../common");
var _utils = require("../../common/utils");
var _service = require("../../service");

@@ -19,12 +19,16 @@

constructor(options) {
options.transformRequest = [].concat(_utils.transformAtomicRequestSnakeCase, options.transformRequest || []);
options.transformResponse = [].concat(_utils.transformAtomicResponseCamelCase, options.transformResponse || []);
super(options);
const _options = { ...options
}; // eslint-disable-next-line unicorn/prefer-spread
_options.transformRequest = [].concat(_utils.transformAtomicRequestSnakeCase, options.transformRequest || []); // eslint-disable-next-line unicorn/prefer-spread
_options.transformResponse = [].concat(_utils.transformAtomicResponseCamelCase, options.transformResponse || []);
super(_options);
}
async retrieveDecrypted(id, options) {
retrieveDecrypted(id, options) {
return this.client.get(`/${id}/decrypt`, (0, _common.createRequestConfig)(options)).then(_common.dataExtractor);
}
async react(id, request, options) {
react(id, request, options) {
return this.client.post(`/${id}/react`, request, (0, _common.createRequestConfig)(options, {

@@ -36,3 +40,3 @@ transformRequest: _common.transformAtomicReactionRequestSnakeCase,

async retrieveReaction(atomicCardId, reactionTokenId, options) {
retrieveReaction(atomicCardId, reactionTokenId, options) {
return this.client.get(`/${atomicCardId}/reaction/${reactionTokenId}`, (0, _common.createRequestConfig)(options, {

@@ -39,0 +43,0 @@ transformResponse: _common.transformTokenResponseCamelCase

import type { Atomic } from '../types';
export interface AtomicCard extends Atomic {
interface AtomicCard extends Atomic {
card: Card;
billingDetails?: BillingDetails;
}
export interface Card {
interface Card {
number: string;

@@ -12,3 +12,3 @@ expirationMonth: number;

}
export interface BillingDetails {
interface BillingDetails {
name?: string;

@@ -19,3 +19,3 @@ email?: string;

}
export interface Address {
interface Address {
line1?: string;

@@ -28,2 +28,3 @@ line2?: string;

}
export declare type CreateAtomicCardModel = Pick<AtomicCard, 'card' | 'billingDetails' | 'metadata'>;
declare type CreateAtomicCardModel = Pick<AtomicCard, 'card' | 'billingDetails' | 'metadata'>;
export type { AtomicCard, Card, BillingDetails, Address, CreateAtomicCardModel, };
import type { TokenType } from '../tokens';
export interface Atomic {
interface Atomic {
id: string;
tenantId: string;
type: TokenType;
fingerprint: string;
metadata?: Record<string, string>;

@@ -10,3 +11,3 @@ createdBy: string;

}
export interface ReactRequest {
interface ReactRequest {
reactorId: string;

@@ -16,1 +17,2 @@ requestParameters?: Record<string, unknown>;

}
export type { Atomic, ReactRequest };

@@ -0,15 +1,14 @@

import { BasisTheoryApplications } from './applications';
import { BasisTheoryAtomic } from './atomic';
import type { BasisTheoryInitOptions } from './types';
import { BasisTheoryApplications } from './applications';
import { BasisTheoryTokens } from './tokens';
import { BasisTheoryAtomicBanks } from './atomic/banks';
import { BasisTheoryAtomicCards } from './atomic/cards';
import type { BasisTheoryElements } from './elements';
import { BasisTheoryEncryptionAdapters } from './encryption/BasisTheoryEncryptionAdapters';
import type { BasisTheoryElements } from './elements';
import { BasisTheoryTenants } from './tenants';
import { BasisTheoryLogs } from './logs';
import { BasisTheoryPermissions } from './permissions';
import { BasisTheoryReactorFormulas } from './reactor-formulas';
import { BasisTheoryReactors } from './reactors';
import { BasisTheoryAtomicBanks } from './atomic/banks';
import { BasisTheoryAtomicCards } from './atomic/cards';
import { BasisTheoryPermissions } from './permissions';
export declare const defaultInitOptions: Required<BasisTheoryInitOptions>;
import { BasisTheoryTenants } from './tenants';
import { BasisTheoryTokens } from './tokens';
import type { BasisTheoryInitOptions } from './types';
export declare class BasisTheory {

@@ -36,4 +35,2 @@ private _initStatus;

get encryption(): BasisTheoryEncryptionAdapters;
set elements(elements: BasisTheoryElements);
get elements(): BasisTheoryElements;
get applications(): BasisTheoryApplications;

@@ -47,2 +44,4 @@ get tenants(): BasisTheoryTenants;

get permissions(): BasisTheoryPermissions;
get elements(): BasisTheoryElements;
set elements(elements: BasisTheoryElements);
}

@@ -6,20 +6,22 @@ "use strict";

});
exports.BasisTheory = exports.defaultInitOptions = void 0;
exports.BasisTheory = void 0;
var _common = require("./common");
var _applications = require("./applications");
var _constants = require("./common/constants");
var _atomic = require("./atomic");
var _applications = require("./applications");
var _banks = require("./atomic/banks");
var _tokens = require("./tokens");
var _cards = require("./atomic/cards");
var _common = require("./common");
var _constants = require("./common/constants");
var _BasisTheoryEncryptionAdapters = require("./encryption/BasisTheoryEncryptionAdapters");
var _tenants = require("./tenants");
var _logs = require("./logs");
var _permissions = require("./permissions");
var _reactorFormulas = require("./reactor-formulas");

@@ -29,8 +31,6 @@

var _banks = require("./atomic/banks");
var _tenants = require("./tenants");
var _cards = require("./atomic/cards");
var _tokens = require("./tokens");
var _permissions = require("./permissions");
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -43,3 +43,2 @@

};
exports.defaultInitOptions = defaultInitOptions;

@@ -99,4 +98,4 @@ class BasisTheory {

baseUrl = baseUrlObject.toString().replace(/\/$/, '');
} catch (e) {
baseUrl = baseUrlObject.toString().replace(/\/$/u, '');
} catch {
throw new Error('Invalid format for the given API base url.');

@@ -152,5 +151,5 @@ }

this._initStatus = 'done';
} catch (e) {
} catch (error) {
this._initStatus = 'error';
throw e;
throw error;
}

@@ -166,3 +165,3 @@

elementsBaseUrl = new URL(this.initOptions.elementsBaseUrl);
} catch (e) {
} catch {
throw new Error('Invalid format for the given Elements base url.');

@@ -172,6 +171,9 @@ }

const elements = await (0, _common.loadElements)();
await elements.init(apiKey, elementsBaseUrl.toString().replace(/\/$/, ''));
await elements.init(apiKey, elementsBaseUrl.toString().replace(/\/$/u, ''));
this.elements = elements;
}
} // these should be set by the init call only.
/* eslint-disable accessor-pairs */
get initOptions() {

@@ -193,10 +195,2 @@ return (0, _common.assertInit)(this._initOptions);

set elements(elements) {
this._elements = elements;
}
get elements() {
return (0, _common.assertInit)(this._elements);
}
get applications() {

@@ -233,5 +227,15 @@ return (0, _common.assertInit)(this._applications);

}
/* eslint-enable accessor-pairs */
get elements() {
return (0, _common.assertInit)(this._elements);
}
set elements(elements) {
this._elements = elements;
}
}
exports.BasisTheory = BasisTheory;
import type { ClientsBasePathMap } from '../types';
export declare const API_KEY_HEADER = "X-API-KEY";
export declare const BT_TRACE_ID_HEADER = "bt-trace-id";
export declare const DEFAULT_BASE_URL: string;
export declare const DEFAULT_ELEMENTS_BASE_URL: string;
export declare const CLIENT_BASE_PATHS: ClientsBasePathMap;
declare const API_KEY_HEADER = "X-API-KEY";
declare const BT_TRACE_ID_HEADER = "bt-trace-id";
declare const DEFAULT_BASE_URL: string;
declare const DEFAULT_ELEMENTS_BASE_URL: string;
declare const CLIENT_BASE_PATHS: ClientsBasePathMap;
export { API_KEY_HEADER, BT_TRACE_ID_HEADER, DEFAULT_BASE_URL, DEFAULT_ELEMENTS_BASE_URL, CLIENT_BASE_PATHS, };

@@ -21,3 +21,2 @@ "use strict";

if (window.BasisTheoryElements) {
// TODO print console message
resolve(window.BasisTheoryElements);

@@ -24,0 +23,0 @@ return;

@@ -1,2 +0,3 @@

export declare const findScript: (url: string) => HTMLScriptElement | null;
export declare const injectScript: (url: string) => HTMLScriptElement;
declare const findScript: (url: string) => HTMLScriptElement | null;
declare const injectScript: (url: string) => HTMLScriptElement;
export { findScript, injectScript };

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

const findScript = url => {
return document.querySelector(`script[src^="${url}"]`);
};
const findScript = url => document.querySelector(`script[src^="${url}"]`);

@@ -24,3 +22,3 @@ exports.findScript = findScript;

parent.appendChild(script);
parent.append(script);
return script;

@@ -27,0 +25,0 @@ };

import type { AxiosRequestConfig, AxiosResponse, AxiosTransformer } from 'axios';
import type { RequestOptions } from '../service';
export declare const assertInit: <T>(prop: T) => NonNullable<T>;
export declare const transformRequestSnakeCase: AxiosTransformer;
export declare const transformReactorRequestSnakeCase: AxiosTransformer;
export declare const transformAtomicRequestSnakeCase: AxiosTransformer;
export declare const transformTokenRequestSnakeCase: AxiosTransformer;
export declare const transformAtomicReactionRequestSnakeCase: AxiosTransformer;
export declare const transformTokenResponseCamelCase: AxiosTransformer;
export declare const transformReactorResponseCamelCase: AxiosTransformer;
export declare const transformResponseCamelCase: AxiosTransformer;
export declare const transformAtomicResponseCamelCase: AxiosTransformer;
export declare const dataExtractor: <T>(res: AxiosResponse<T>) => T;
export declare const createRequestConfig: (options?: RequestOptions | undefined, transformers?: Pick<AxiosRequestConfig, "transformRequest" | "transformResponse"> | undefined) => AxiosRequestConfig | undefined;
export declare const concatRequestTransformerWithDefault: (requestTransformer: AxiosTransformer | AxiosTransformer[]) => AxiosTransformer | AxiosTransformer[] | undefined;
export declare const concatResponseTransformermWithDefault: (responseTransformer: AxiosTransformer | AxiosTransformer[]) => AxiosTransformer | AxiosTransformer[] | undefined;
export declare const errorInterceptor: (error: any) => void;
export declare function getQueryParams<Q>(query: Q): string;
declare const assertInit: <T>(prop: T) => NonNullable<T>;
declare const transformRequestSnakeCase: AxiosTransformer;
declare const transformReactorRequestSnakeCase: AxiosTransformer;
declare const transformAtomicRequestSnakeCase: AxiosTransformer;
declare const transformTokenRequestSnakeCase: AxiosTransformer;
declare const transformAtomicReactionRequestSnakeCase: AxiosTransformer;
declare const transformTokenResponseCamelCase: AxiosTransformer;
declare const transformReactorResponseCamelCase: AxiosTransformer;
declare const transformResponseCamelCase: AxiosTransformer;
declare const transformAtomicResponseCamelCase: AxiosTransformer;
declare const dataExtractor: <T>(res: AxiosResponse<T>) => T;
declare const concatRequestTransformerWithDefault: (requestTransformer: AxiosTransformer | AxiosTransformer[]) => AxiosTransformer | AxiosTransformer[] | undefined;
declare const concatResponseTransformermWithDefault: (responseTransformer: AxiosTransformer | AxiosTransformer[]) => AxiosTransformer | AxiosTransformer[] | undefined;
declare const createRequestConfig: (options?: RequestOptions | undefined, transformers?: Pick<AxiosRequestConfig, "transformRequest" | "transformResponse"> | undefined) => AxiosRequestConfig | undefined;
declare const errorInterceptor: (error: any) => void;
declare const getQueryParams: <Q>(query: Q) => string;
export { assertInit, transformRequestSnakeCase, transformReactorRequestSnakeCase, transformAtomicRequestSnakeCase, transformTokenRequestSnakeCase, transformAtomicReactionRequestSnakeCase, transformTokenResponseCamelCase, transformReactorResponseCamelCase, transformResponseCamelCase, transformAtomicResponseCamelCase, dataExtractor, createRequestConfig, concatRequestTransformerWithDefault, concatResponseTransformermWithDefault, errorInterceptor, getQueryParams, };

@@ -6,4 +6,3 @@ "use strict";

});
exports.getQueryParams = getQueryParams;
exports.errorInterceptor = exports.concatResponseTransformermWithDefault = exports.concatRequestTransformerWithDefault = exports.createRequestConfig = exports.dataExtractor = exports.transformAtomicResponseCamelCase = exports.transformResponseCamelCase = exports.transformReactorResponseCamelCase = exports.transformTokenResponseCamelCase = exports.transformAtomicReactionRequestSnakeCase = exports.transformTokenRequestSnakeCase = exports.transformAtomicRequestSnakeCase = exports.transformReactorRequestSnakeCase = exports.transformRequestSnakeCase = exports.assertInit = void 0;
exports.getQueryParams = exports.errorInterceptor = exports.concatResponseTransformermWithDefault = exports.concatRequestTransformerWithDefault = exports.createRequestConfig = exports.dataExtractor = exports.transformAtomicResponseCamelCase = exports.transformResponseCamelCase = exports.transformReactorResponseCamelCase = exports.transformTokenResponseCamelCase = exports.transformAtomicReactionRequestSnakeCase = exports.transformTokenRequestSnakeCase = exports.transformAtomicRequestSnakeCase = exports.transformReactorRequestSnakeCase = exports.transformRequestSnakeCase = exports.assertInit = void 0;

@@ -14,13 +13,14 @@ var _axios = _interopRequireDefault(require("axios"));

var _snakeCase = require("snake-case");
var _snakecaseKeys = _interopRequireDefault(require("snakecase-keys"));
var _snakeCase = require("snake-case");
var _BasisTheoryApiError = require("./BasisTheoryApiError");
var _constants = require("./constants");
var _BasisTheoryApiError = require("./BasisTheoryApiError");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const assertInit = prop => {
// eslint-disable-next-line unicorn/no-null
if (prop === null || prop === undefined) {

@@ -36,3 +36,3 @@ throw new Error('BasisTheory has not yet been properly initialized.');

const transformRequestSnakeCase = data => {
if (data === undefined) {
if (typeof data === 'undefined') {
return undefined;

@@ -49,3 +49,3 @@ }

const transformReactorRequestSnakeCase = reactor => {
if (reactor === undefined) {
if (typeof reactor === 'undefined') {
return undefined;

@@ -66,3 +66,3 @@ }

const transformAtomicRequestSnakeCase = data => {
if (data === undefined) {
if (typeof data === 'undefined') {
return undefined;

@@ -83,3 +83,3 @@ }

const transformTokenRequestSnakeCase = token => {
if (token === undefined) {
if (typeof token === 'undefined') {
return undefined;

@@ -103,3 +103,3 @@ }

const transformAtomicReactionRequestSnakeCase = request => {
if (request === undefined) {
if (typeof request === 'undefined') {
return undefined;

@@ -111,3 +111,4 @@ }

}),
...(request.requestParameters !== undefined ? {
...(request.requestParameters !== undefined ? // eslint-disable-next-line camelcase
{
request_parameters: request.requestParameters

@@ -124,3 +125,3 @@ } : {}),

const transformTokenResponseCamelCase = token => {
if (token === undefined) {
if (typeof token === 'undefined') {
return undefined;

@@ -144,3 +145,3 @@ }

const transformReactorResponseCamelCase = reactor => {
if (reactor === undefined) {
if (typeof reactor === 'undefined') {
return undefined;

@@ -161,3 +162,3 @@ }

const transformResponseCamelCase = data => {
if (data === undefined) {
if (typeof data === 'undefined') {
return undefined;

@@ -174,3 +175,3 @@ }

const transformAtomicResponseCamelCase = data => {
if (data === undefined) {
if (typeof data === 'undefined') {
return undefined;

@@ -194,2 +195,10 @@ }

const concatRequestTransformerWithDefault = requestTransformer => [...[], ...[requestTransformer], ..._axios.default.defaults.transformRequest];
exports.concatRequestTransformerWithDefault = concatRequestTransformerWithDefault;
const concatResponseTransformermWithDefault = responseTransformer => [..._axios.default.defaults.transformResponse, ...[responseTransformer]];
exports.concatResponseTransformermWithDefault = concatResponseTransformermWithDefault;
const createRequestConfig = (options, transformers) => {

@@ -199,11 +208,11 @@ if (!options) {

return undefined;
} else {
return { ...(transformers.transformRequest !== undefined ? {
transformRequest: concatRequestTransformerWithDefault(transformers.transformRequest)
} : {}),
...(transformers.transformResponse !== undefined ? {
transformResponse: concatResponseTransformermWithDefault(transformers.transformResponse)
} : {})
};
}
return { ...(transformers.transformRequest !== undefined ? {
transformRequest: concatRequestTransformerWithDefault(transformers.transformRequest)
} : {}),
...(transformers.transformResponse !== undefined ? {
transformResponse: concatResponseTransformermWithDefault(transformers.transformResponse)
} : {})
};
}

@@ -232,18 +241,6 @@

};
};
exports.createRequestConfig = createRequestConfig;
const concatRequestTransformerWithDefault = requestTransformer => {
return [].concat(requestTransformer, _axios.default.defaults.transformRequest);
};
exports.concatRequestTransformerWithDefault = concatRequestTransformerWithDefault;
const concatResponseTransformermWithDefault = responseTransformer => {
return _axios.default.defaults.transformResponse.concat(responseTransformer);
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/explicit-module-boundary-types
exports.concatResponseTransformermWithDefault = concatResponseTransformermWithDefault;
exports.createRequestConfig = createRequestConfig;

@@ -260,10 +257,10 @@ const errorInterceptor = error => {

function getQueryParams(query) {
const getQueryParams = query => {
const keys = Object.keys(query);
if (keys.length > 0) {
if (keys.length) {
const params = new URLSearchParams();
const appendSafe = (key, value) => {
const type = typeof value;
const type = typeof value; // eslint-disable-next-line unicorn/no-null

@@ -290,2 +287,4 @@ if (value === null || ['boolean', 'number', 'string'].includes(type)) {

return '';
}
};
exports.getQueryParams = getQueryParams;

@@ -1,5 +0,6 @@

export interface BasisTheoryElements {
interface BasisTheoryElements {
}
export interface BasisTheoryElementsInit extends BasisTheoryElements {
interface BasisTheoryElementsInit extends BasisTheoryElements {
init: (apiKey: string, elementsBaseUrl: string) => Promise<BasisTheoryElements>;
}
export type { BasisTheoryElements, BasisTheoryElementsInit };

@@ -1,5 +0,4 @@

import type { EncryptionAdapter } from './types';
import type { Providers } from '../types';
import type { KeyPair } from './types';
import { EncryptionOptions } from '../types';
import type { EncryptionAdapter, KeyPair } from './types';
export declare class BasisTheoryEncryption implements EncryptionAdapter {

@@ -6,0 +5,0 @@ private readonly adapter;

@@ -34,4 +34,5 @@ "use strict";

return this.adapter.init(encryptionOptions);
}
} // eslint-disable-next-line accessor-pairs
get name() {

@@ -41,11 +42,11 @@ return this.adapter.name;

async generateKeys() {
generateKeys() {
return this.adapter.generateKeys();
}
async encrypt(encryptionKey, plainTextData) {
encrypt(encryptionKey, plainTextData) {
return this.adapter.encrypt(encryptionKey, plainTextData);
}
async decrypt(decryptionKey, cipherTextData) {
decrypt(decryptionKey, cipherTextData) {
return this.adapter.decrypt(decryptionKey, cipherTextData);

@@ -52,0 +53,0 @@ }

@@ -8,6 +8,6 @@ "use strict";

var _common = require("../common");
var _BasisTheoryEncryption = require("./BasisTheoryEncryption");
var _common = require("../common");
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

@@ -26,8 +26,10 @@

}
}
} // eslint-disable-next-line accessor-pairs
get browserEncryption() {
return (0, _common.assertInit)(this._browserEncryption);
}
} // eslint-disable-next-line accessor-pairs
get nodeEncryption() {

@@ -34,0 +36,0 @@ return (0, _common.assertInit)(this._nodeEncryption);

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

function init(browserEncryption) {
const init = browserEncryption => {
var _browserEncryption$op, _browserEncryption$op2, _browserEncryption$al;

@@ -24,5 +24,5 @@

algorithm = (_browserEncryption$al = browserEncryption === null || browserEncryption === void 0 ? void 0 : browserEncryption.algorithm) !== null && _browserEncryption$al !== void 0 ? _browserEncryption$al : 'RSA';
}
};
function convertBinaryToPem(binaryData, label) {
const convertBinaryToPem = (binaryData, label) => {
const base64Cert = (0, _utils.arrayBufferToBase64String)(binaryData);

@@ -33,8 +33,3 @@ let pemCert = `-----BEGIN ${label} KEY-----\r\n`;

while (nextIndex < base64Cert.length) {
if (nextIndex + 64 <= base64Cert.length) {
pemCert += `${base64Cert.substr(nextIndex, 64)}\r\n`;
} else {
pemCert += `${base64Cert.substr(nextIndex)}\r\n`;
}
pemCert += nextIndex + 64 <= base64Cert.length ? `${base64Cert.slice(nextIndex, nextIndex + 64)}\r\n` : `${base64Cert.slice(nextIndex)}\r\n`;
nextIndex += 64;

@@ -45,11 +40,11 @@ }

return pemCert;
}
};
function convertPemToBinary(pem, label) {
const convertPemToBinary = (pem, label) => {
const lines = pem.split('\n');
let encoded = '';
for (let i = 0; i < lines.length; i++) {
if (lines[i].trim().length > 0 && lines[i].indexOf(`-BEGIN ${label} KEY-`) < 0 && lines[i].indexOf(`-END ${label} KEY-`) < 0) {
encoded = encoded + lines[i].trim();
for (const line of lines) {
if (line.trim().length > 0 && !line.includes(`-BEGIN ${label} KEY-`) && !line.includes(`-END ${label} KEY-`)) {
encoded = encoded + line.trim();
}

@@ -59,5 +54,5 @@ }

return (0, _utils.base64StringToArrayBuffer)(encoded);
}
};
async function generateRSAKeys() {
const generateRSAKeys = async () => {
const keyPair = await window.crypto.subtle.generateKey(signAlgorithm, true, ['encrypt', 'decrypt']);

@@ -70,3 +65,3 @@ const exportedPublic = await window.crypto.subtle.exportKey('spki', keyPair.publicKey);

};
}
};

@@ -78,29 +73,25 @@ const generateKeyMap = {

async function generateKeys() {
return generateKeyMap[algorithm]();
}
const generateKeys = () => generateKeyMap[algorithm]();
async function loadPublicKey(pem) {
return await window.crypto.subtle.importKey('spki', convertPemToBinary(pem, 'PUBLIC'), signAlgorithm, true, ['encrypt']);
}
const loadPublicKey = pem => window.crypto.subtle.importKey('spki', convertPemToBinary(pem, 'PUBLIC'), signAlgorithm, true, ['encrypt']);
async function loadPrivateKey(pem) {
return window.crypto.subtle.importKey('pkcs8', convertPemToBinary(pem, 'PRIVATE'), signAlgorithm, true, ['decrypt']);
}
const loadPrivateKey = pem => window.crypto.subtle.importKey('pkcs8', convertPemToBinary(pem, 'PRIVATE'), signAlgorithm, true, ['decrypt']);
async function encrypt(publicKey, data) {
const encrypt = async (publicKey, data) => {
const key = await loadPublicKey(publicKey);
const encrypted = await window.crypto.subtle.encrypt({
name: signAlgorithm.name
}, key, new TextEncoder().encode(data).buffer);
}, key, // eslint-disable-next-line node/no-unsupported-features/node-builtins
new TextEncoder().encode(data).buffer);
return (0, _utils.arrayBufferToBase64String)(encrypted);
}
};
async function decrypt(privateKey, data) {
const decrypt = async (privateKey, data) => {
const key = await loadPrivateKey(privateKey);
const decrypted = await window.crypto.subtle.decrypt({
name: signAlgorithm.name
}, key, (0, _utils.base64StringToArrayBuffer)(data));
}, key, (0, _utils.base64StringToArrayBuffer)(data)); // eslint-disable-next-line node/no-unsupported-features/node-builtins
return new TextDecoder().decode(decrypted);
}
};

@@ -107,0 +98,0 @@ const browserAdapter = {

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

function init(nodeEncryption) {
const init = nodeEncryption => {
var _nodeEncryption$optio, _nodeEncryption$optio2, _nodeEncryption$algor;

@@ -19,5 +19,5 @@

algorithm = (_nodeEncryption$algor = nodeEncryption === null || nodeEncryption === void 0 ? void 0 : nodeEncryption.algorithm) !== null && _nodeEncryption$algor !== void 0 ? _nodeEncryption$algor : 'RSA';
}
};
function generateRSAKeys() {
const generateRSAKeys = () => {
const {

@@ -41,3 +41,3 @@ publicKey,

});
}
};

@@ -49,7 +49,5 @@ const generateKeyMap = {

async function generateKeys() {
return generateKeyMap[algorithm]();
}
const generateKeys = () => generateKeyMap[algorithm]();
async function encrypt(publicKey, data) {
const encrypt = (publicKey, data) => {
const encrypted = (0, _crypto.publicEncrypt)({

@@ -60,6 +58,6 @@ key: publicKey,

}, Buffer.from(data));
return encrypted.toString('base64');
}
return Promise.resolve(encrypted.toString('base64'));
};
async function decrypt(privateKey, data) {
const decrypt = (privateKey, data) => {
const decrypted = (0, _crypto.privateDecrypt)({

@@ -70,4 +68,4 @@ key: privateKey,

}, Buffer.from(data, 'base64'));
return decrypted.toString();
}
return Promise.resolve(decrypted.toString());
};

@@ -74,0 +72,0 @@ const nodeAdapter = {

@@ -1,2 +0,3 @@

export declare function arrayBufferToBase64String(arrayBuffer: ArrayBuffer): string;
export declare function base64StringToArrayBuffer(b64str: string): ArrayBuffer;
declare const arrayBufferToBase64String: (arrayBuffer: ArrayBuffer) => string;
declare const base64StringToArrayBuffer: (b64str: string) => ArrayBuffer;
export { arrayBufferToBase64String, base64StringToArrayBuffer };

@@ -6,10 +6,9 @@ "use strict";

});
exports.base64StringToArrayBuffer = exports.arrayBufferToBase64String = void 0;
const arrayBufferToBase64String = arrayBuffer => window.btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));
exports.arrayBufferToBase64String = arrayBufferToBase64String;
exports.base64StringToArrayBuffer = base64StringToArrayBuffer;
function arrayBufferToBase64String(arrayBuffer) {
return window.btoa(String.fromCharCode(...new Uint8Array(arrayBuffer)));
}
function base64StringToArrayBuffer(b64str) {
const base64StringToArrayBuffer = b64str => {
const binary = window.atob(b64str);

@@ -24,2 +23,4 @@ const len = binary.length;

return bytes.buffer;
}
};
exports.base64StringToArrayBuffer = base64StringToArrayBuffer;
import { EncryptionOptions } from '../types';
export interface KeyPair {
interface KeyPair {
publicKey: string;
privateKey: string;
}
export interface EncryptionAdapter {
interface EncryptionAdapter {
name: string;

@@ -13,1 +13,2 @@ generateKeys(): Promise<KeyPair | string | unknown>;

}
export { KeyPair, EncryptionAdapter };
import type { Log, LogQuery } from './types';
export declare const BasisTheoryLogs: {
new (options: import("../service").BasisTheoryServiceOptions): {
new (options: import("../service/types").BasisTheoryServiceOptions): {
readonly client: import("axios").AxiosInstance;

@@ -5,0 +5,0 @@ };

import type { PaginatedQuery } from '../service';
export interface Log {
interface Log {
tenantId: string;

@@ -11,3 +11,3 @@ applicationId: string;

}
export interface LogQuery extends PaginatedQuery {
interface LogQuery extends PaginatedQuery {
entityType?: string;

@@ -18,1 +18,2 @@ entityId?: string;

}
export type { Log, LogQuery };
{
"name": "@basis-theory/basis-theory-js",
"version": "1.1.0",
"version": "1.2.0",
"repository": "https://github.com/Basis-Theory/basis-theory-js",

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

"dependencies": {
"axios": "^0.21.1",
"axios": "^0.21.2",
"camelcase-keys": "^6.2.2",

@@ -21,0 +21,0 @@ "snake-case": "^3.0.4",

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

class BasisTheoryPermissions extends _service.BasisTheoryService {
async list(options) {
list(options) {
return this.client.get('/', (0, _common.createRequestConfig)(options)).then(_common.dataExtractor);

@@ -16,0 +16,0 @@ }

import type { ApplicationType } from '../applications';
export declare const PERMISSION_TYPES: readonly ["tenant:read", "tenant:update", "tenant:delete", "application:read", "application:create", "application:update", "application:create", "reactor:read", "reactor:create", "reactor:update", "reactor:delete", "log:read", "token:read", "token:create", "token:delete", "token:decrypt", "card:read", "card:create", "card:update", "card:delete", "bank:read", "bank:create", "bank:update", "bank:delete", "bank:decrypt"];
export declare type PermissionType = typeof PERMISSION_TYPES[number];
export interface Permission {
declare const PERMISSION_TYPES: readonly ["tenant:read", "tenant:update", "tenant:delete", "application:read", "application:create", "application:update", "application:create", "reactor:read", "reactor:create", "reactor:update", "reactor:delete", "log:read", "token:read", "token:create", "token:delete", "token:decrypt", "card:read", "card:create", "card:update", "card:delete", "bank:read", "bank:create", "bank:update", "bank:delete", "bank:decrypt"];
declare type PermissionType = typeof PERMISSION_TYPES[number];
interface Permission {
type: PermissionType;

@@ -9,1 +9,3 @@ description: string;

}
export { PERMISSION_TYPES };
export type { PermissionType, Permission };
import type { ReactorFormula, ReactorFormulaQuery } from './types';
export declare const BasisTheoryReactorFormulas: {
new (options: import("../service").BasisTheoryServiceOptions): {
new (options: import("../service/types").BasisTheoryServiceOptions): {
readonly client: import("axios").AxiosInstance;

@@ -5,0 +5,0 @@ };

import type { PaginatedQuery } from '../service';
import type { TokenType } from '../tokens';
export declare type FormulaType = 'official' | 'private';
export declare type DataType = 'string' | 'boolean' | 'number';
export interface ReactorFormula {
declare type FormulaType = 'official' | 'private';
declare type DataType = 'string' | 'boolean' | 'number';
interface ReactorFormula {
id: string;

@@ -18,3 +18,3 @@ name: string;

}
export interface ReactorFormulaConfig {
interface ReactorFormulaConfig {
name: string;

@@ -24,3 +24,3 @@ description?: string;

}
export interface ReactorFormulaRequestParam {
interface ReactorFormulaRequestParam {
name: string;

@@ -31,6 +31,7 @@ description?: string;

}
export declare type CreateReactorFormulaModel = Omit<ReactorFormula, 'id' | 'createdAt' | 'modifiedAt'>;
export interface ReactorFormulaQuery extends PaginatedQuery {
declare type CreateReactorFormulaModel = Omit<ReactorFormula, 'id' | 'createdAt' | 'modifiedAt'>;
interface ReactorFormulaQuery extends PaginatedQuery {
name?: string;
sourceTokenType?: TokenType;
}
export type { FormulaType, DataType, ReactorFormula, ReactorFormulaConfig, ReactorFormulaRequestParam, CreateReactorFormulaModel, ReactorFormulaQuery, };

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

var _utils = require("../common/utils");
var _service = require("../service");

@@ -13,9 +15,11 @@

var _utils = require("./../common/utils");
const BasisTheoryReactors = new _CrudBuilder.CrudBuilder(class BasisTheoryReactors extends _service.BasisTheoryService {
constructor(options) {
options.transformRequest = [].concat(_utils.transformReactorRequestSnakeCase, options.transformRequest || []);
options.transformResponse = [].concat(_utils.transformReactorResponseCamelCase, options.transformResponse || []);
super(options);
const _options = { ...options
}; // eslint-disable-next-line unicorn/prefer-spread
_options.transformRequest = [].concat(_utils.transformReactorRequestSnakeCase, options.transformRequest || []); // eslint-disable-next-line unicorn/prefer-spread
_options.transformResponse = [].concat(_utils.transformReactorResponseCamelCase, options.transformResponse || []);
super(_options);
}

@@ -22,0 +26,0 @@

@@ -0,5 +1,5 @@

import type { ReactorFormula } from '../reactor-formulas/types';
import type { PaginatedQuery } from '../service';
import type { TokenType } from '../tokens/types';
import type { ReactorFormula } from './../reactor-formulas/types';
export interface Reactor {
interface Reactor {
id: string;

@@ -13,7 +13,7 @@ tenantId: string;

}
export declare type CreateReactorModel = Pick<Reactor, 'name' | 'configuration'> & {
declare type CreateReactorModel = Pick<Reactor, 'name' | 'configuration'> & {
formula: Pick<ReactorFormula, 'id'>;
};
export declare type UpdateReactorModel = Pick<Reactor, 'name' | 'configuration'>;
export interface ReactorQuery extends PaginatedQuery {
declare type UpdateReactorModel = Pick<Reactor, 'name' | 'configuration'>;
interface ReactorQuery extends PaginatedQuery {
id?: string | string[];

@@ -23,1 +23,2 @@ name?: string;

}
export type { Reactor, CreateReactorModel, UpdateReactorModel, ReactorQuery };

@@ -22,3 +22,5 @@ "use strict";

apiKey,
baseURL
baseURL,
transformRequest,
transformResponse
} = options;

@@ -30,4 +32,8 @@ this.client = _axios.default.create({

},
transformRequest: [].concat(options.transformRequest || _common.transformRequestSnakeCase, _axios.default.defaults.transformRequest),
transformResponse: _axios.default.defaults.transformResponse.concat(options.transformResponse || _common.transformResponseCamelCase)
/* eslint-disable unicorn/prefer-spread */
transformRequest: [].concat(transformRequest || _common.transformRequestSnakeCase, _axios.default.defaults.transformRequest),
transformResponse: _axios.default.defaults.transformResponse.concat(transformResponse || _common.transformResponseCamelCase)
/* eslint-enable unicorn/prefer-spread */
});

@@ -34,0 +40,0 @@ this.client.interceptors.response.use(undefined, _common.errorInterceptor);

import { BasisTheoryService } from './BasisTheoryService';
import type { RequestOptions } from './types';
import type { PaginatedList, PaginatedQuery } from './types';
import type { RequestOptions, PaginatedList, PaginatedQuery } from './types';
declare type BasisTheoryServiceConstructor<T extends BasisTheoryService = BasisTheoryService> = new (...params: any[]) => T;
export declare type ICreate<T, C> = {
declare type ICreate<T, C> = {
create(model: C, options?: RequestOptions): Promise<T>;
};
export declare type IRetrieve<T> = {
declare type IRetrieve<T> = {
retrieve(id: string, options?: RequestOptions): Promise<T>;
};
export declare type IUpdate<T, U> = {
declare type IUpdate<T, U> = {
update(id: string, model: U, options?: RequestOptions): Promise<T>;
};
export declare type IDelete = {
declare type IDelete = {
delete(id: string, options?: RequestOptions): Promise<void>;
};
export declare type IList<T, Q extends PaginatedQuery> = {
declare type IList<T, Q extends PaginatedQuery> = {
list(query?: Q, options?: RequestOptions): Promise<PaginatedList<T>>;

@@ -25,5 +24,5 @@ };

declare type IListConstructor<T, Q extends PaginatedQuery> = new (...args: any[]) => IList<T, Q>;
export declare class CrudBuilder<Class extends BasisTheoryServiceConstructor> {
declare class CrudBuilder<Class extends BasisTheoryServiceConstructor> {
private BaseService;
constructor(BaseService: Class);
constructor(baseService: Class);
create<T, C>(): CrudBuilder<Class & ICreateConstructor<T, C>>;

@@ -36,2 +35,3 @@ retrieve<T>(): CrudBuilder<Class & IRetrieveConstructor<T>>;

}
export {};
export { CrudBuilder };
export type { ICreate, IRetrieve, IUpdate, IDelete, IList };

@@ -10,3 +10,5 @@ "use strict";

/* eslint-disable @typescript-eslint/explicit-function-return-type,@typescript-eslint/no-explicit-any */
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
/* eslint-enable @typescript-eslint/no-explicit-any */
const Create = Service => class Create extends Service {

@@ -41,3 +43,3 @@ create(model, options) {

const List = Service => class List extends Service {
list(query = {}, options) {
list(query = {}, options = {}) {
const url = `/${(0, _common.getQueryParams)(query)}`;

@@ -50,7 +52,10 @@ return this.client.get(url, (0, _common.createRequestConfig)(options)).then(_common.dataExtractor);

class CrudBuilder {
constructor(BaseService) {
this.BaseService = BaseService;
constructor(baseService) {
_defineProperty(this, "BaseService", void 0);
this.BaseService = baseService;
}
create() {
// eslint-disable-next-line new-cap
this.BaseService = Create(this.BaseService);

@@ -61,2 +66,3 @@ return this;

retrieve() {
// eslint-disable-next-line new-cap
this.BaseService = Retrieve(this.BaseService);

@@ -67,2 +73,3 @@ return this;

update() {
// eslint-disable-next-line new-cap
this.BaseService = Update(this.BaseService);

@@ -73,2 +80,3 @@ return this;

delete() {
// eslint-disable-next-line new-cap
this.BaseService = Delete(this.BaseService);

@@ -79,2 +87,3 @@ return this;

list() {
// eslint-disable-next-line new-cap
this.BaseService = List(this.BaseService);

@@ -89,3 +98,5 @@ return this;

}
/* eslint-enable max-classes-per-file, @typescript-eslint/no-shadow */
exports.CrudBuilder = CrudBuilder;
import type { AxiosRequestConfig } from 'axios';
export interface BasisTheoryServiceOptions extends Pick<AxiosRequestConfig, 'transformRequest' | 'transformResponse'> {
interface BasisTheoryServiceOptions extends Pick<AxiosRequestConfig, 'transformRequest' | 'transformResponse'> {
apiKey: string;
baseURL: string;
}
export interface PaginatedList<T> {
interface PaginatedList<T> {
pagination: {

@@ -16,3 +16,3 @@ totalItems: number;

declare type QueryValue = boolean | number | string | null | undefined | (number | string)[];
export interface PaginatedQuery {
interface PaginatedQuery {
[key: string]: QueryValue;

@@ -23,7 +23,7 @@ [key: number]: QueryValue;

}
export interface RequestOptions {
interface RequestOptions {
apiKey?: string;
correlationId?: string;
}
export declare type RequestTransformers = Pick<AxiosRequestConfig, 'transformRequest' | 'transformResponse'>;
export {};
declare type RequestTransformers = Pick<AxiosRequestConfig, 'transformRequest' | 'transformResponse'>;
export type { BasisTheoryServiceOptions, PaginatedList, PaginatedQuery, RequestOptions, RequestTransformers, };

@@ -0,5 +1,5 @@

import { RequestOptions } from '../service';
import type { Tenant, UpdateTenantModel } from './types';
import { RequestOptions } from '../service';
export declare const BasisTheoryTenants: {
new (options: import("../service").BasisTheoryServiceOptions): {
new (options: import("../service/types").BasisTheoryServiceOptions): {
retrieve(options?: RequestOptions | undefined): Promise<Tenant>;

@@ -6,0 +6,0 @@ update(model: UpdateTenantModel, options?: RequestOptions | undefined): Promise<Tenant>;

@@ -15,7 +15,7 @@ "use strict";

const BasisTheoryTenants = new _CrudBuilder.CrudBuilder(class BasisTheoryTenants extends _service.BasisTheoryService {
async retrieve(options) {
retrieve(options) {
return this.client.get('/', (0, _common.createRequestConfig)(options)).then(_common.dataExtractor);
}
async update(model, options) {
update(model, options) {
return this.client.put('/', model, (0, _common.createRequestConfig)(options)).then(_common.dataExtractor);

@@ -22,0 +22,0 @@ }

@@ -1,2 +0,2 @@

export interface Tenant {
interface Tenant {
id: string;

@@ -8,2 +8,3 @@ ownerId: string;

}
export declare type UpdateTenantModel = Pick<Tenant, 'name'>;
declare type UpdateTenantModel = Pick<Tenant, 'name'>;
export type { Tenant, UpdateTenantModel };

@@ -1,3 +0,3 @@

import { Token, CreateTokenModel, ListTokensQuery, RetrieveTokenQuery, ListTokensQueryDecrypted, TokenData } from './types';
import { BasisTheoryServiceOptions, PaginatedList, RequestOptions } from '../service';
import type { Token, CreateTokenModel, ListTokensQuery, RetrieveTokenQuery, ListTokensQueryDecrypted, TokenData } from './types';
export declare const BasisTheoryTokens: {

@@ -17,9 +17,9 @@ new (options: BasisTheoryServiceOptions): {

deleteToken(id: string): Promise<void>;
retrieve(id: string, query?: RetrieveTokenQuery, options?: RequestOptions | undefined): Promise<Token>;
retrieveDecrypted(id: string, query?: RetrieveTokenQuery, options?: RequestOptions | undefined): Promise<Token>;
listDecrypted(query?: ListTokensQueryDecrypted, options?: RequestOptions | undefined): Promise<PaginatedList<Token>>;
retrieve(id: string, query?: RetrieveTokenQuery, options?: RequestOptions): Promise<Token>;
retrieveDecrypted(id: string, query?: RetrieveTokenQuery, options?: RequestOptions): Promise<Token>;
listDecrypted(query?: ListTokensQueryDecrypted, options?: RequestOptions): Promise<PaginatedList<Token>>;
createAssociation(parentId: string, childId: string, options?: RequestOptions | undefined): Promise<void>;
deleteAssociation(parentId: string, childId: string, options?: RequestOptions | undefined): Promise<void>;
createChild(parentId: string, token: CreateTokenModel, options?: RequestOptions | undefined): Promise<Token>;
listChildren(parentId: string, query?: ListTokensQuery, options?: RequestOptions | undefined): Promise<PaginatedList<Token>>;
listChildren(parentId: string, query?: ListTokensQuery, options?: RequestOptions): Promise<PaginatedList<Token>>;
readonly client: import("axios").AxiosInstance;

@@ -26,0 +26,0 @@ };

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

var _common = require("../common");
var _utils = require("../common/utils");

@@ -15,9 +17,10 @@

var _common = require("../common");
const BasisTheoryTokens = new _CrudBuilder.CrudBuilder(class BasisTheoryTokens extends _service.BasisTheoryService {
constructor(options) {
options.transformRequest = [].concat(_utils.transformTokenRequestSnakeCase, options.transformRequest || []);
options.transformResponse = [].concat(_utils.transformTokenResponseCamelCase, options.transformResponse || []);
super(options);
const _options = options; // eslint-disable-next-line unicorn/prefer-spread
_options.transformRequest = [].concat(_utils.transformTokenRequestSnakeCase, options.transformRequest || []); // eslint-disable-next-line unicorn/prefer-spread
_options.transformResponse = [].concat(_utils.transformTokenResponseCamelCase, options.transformResponse || []);
super(_options);
}

@@ -29,5 +32,5 @@ /**

async createToken(data) {
createToken(data) {
return this.client.post('/', {
data: data
data
}).then(_utils.dataExtractor);

@@ -40,3 +43,3 @@ }

async getToken(id) {
getToken(id) {
return this.client.get(id).then(_utils.dataExtractor);

@@ -53,3 +56,3 @@ }

async retrieve(id, query = {}, options) {
retrieve(id, query = {}, options = {}) {
const url = `/${id}${(0, _common.getQueryParams)(query)}`;

@@ -59,3 +62,3 @@ return this.client.get(url, (0, _common.createRequestConfig)(options)).then(_utils.dataExtractor);

async retrieveDecrypted(id, query = {}, options) {
retrieveDecrypted(id, query = {}, options = {}) {
const url = `/${id}/decrypt${(0, _common.getQueryParams)(query)}`;

@@ -65,3 +68,3 @@ return this.client.get(url, (0, _common.createRequestConfig)(options)).then(_utils.dataExtractor);

async listDecrypted(query = {}, options) {
listDecrypted(query = {}, options = {}) {
const url = `/decrypt${(0, _common.getQueryParams)(query)}`;

@@ -81,3 +84,3 @@ return this.client.get(url, (0, _common.createRequestConfig)(options)).then(_utils.dataExtractor);

async createChild(parentId, token, options) {
createChild(parentId, token, options) {
const url = `/${parentId}/children`;

@@ -87,3 +90,3 @@ return this.client.post(url, token, (0, _common.createRequestConfig)(options)).then(_utils.dataExtractor);

async listChildren(parentId, query = {}, options) {
listChildren(parentId, query = {}, options = {}) {
const url = `/${parentId}/children${(0, _common.getQueryParams)(query)}`;

@@ -90,0 +93,0 @@ return this.client.get(url, (0, _common.createRequestConfig)(options)).then(_utils.dataExtractor);

import type { PaginatedQuery } from '../service';
export declare type Primitive = string | number | boolean | null;
export declare type DataObject = {
declare type Primitive = string | number | boolean | null;
declare type DataObject = {
[member: string]: TokenData;
};
export declare type DataArray = Array<TokenData>;
export declare type TokenData = Primitive | DataObject | DataArray;
export declare type TokenType = 'token' | 'card' | 'bank' | 'card:reaction' | 'bank:reaction';
export interface TokenEncryptionKey {
declare type DataArray = Array<TokenData>;
declare type TokenData = Primitive | DataObject | DataArray;
declare type TokenType = 'token' | 'card' | 'bank' | 'card:reaction' | 'bank:reaction';
interface TokenEncryptionKey {
key: string;
alg: string;
}
export interface TokenEncryption {
interface TokenEncryption {
cek: TokenEncryptionKey;
kek: TokenEncryptionKey;
}
export interface Token {
interface Token {
id: string;

@@ -22,2 +22,3 @@ tenantId: string;

data: TokenData;
fingerprint?: string;
metadata?: Record<string, string>;

@@ -29,8 +30,8 @@ encryption?: TokenEncryption;

}
export declare type CreateTokenModel = Pick<Token, 'type' | 'data' | 'metadata' | 'encryption' | 'children'>;
export interface RetrieveTokenQuery {
declare type CreateTokenModel = Pick<Token, 'type' | 'data' | 'metadata' | 'encryption' | 'children'>;
interface RetrieveTokenQuery {
children?: boolean;
childrenType?: TokenType | TokenType[];
}
export interface ListTokensQuery extends PaginatedQuery {
interface ListTokensQuery extends PaginatedQuery {
id?: string | string[];

@@ -41,4 +42,5 @@ type?: TokenType | TokenType[];

}
export interface ListTokensQueryDecrypted extends ListTokensQuery {
interface ListTokensQueryDecrypted extends ListTokensQuery {
decryptType?: TokenType | TokenType[];
}
export type { Primitive, DataObject, DataArray, TokenData, TokenType, TokenEncryptionKey, TokenEncryption, Token, CreateTokenModel, RetrieveTokenQuery, ListTokensQuery, ListTokensQueryDecrypted, };
import type { BasisTheoryElements } from './elements';
export declare type InitStatus = 'not-started' | 'in-progress' | 'done' | 'error';
export declare type Clients = 'tokens' | 'atomic' | 'applications' | 'reactorFormulas' | 'reactors' | 'atomicBanks' | 'atomicCards' | 'permissions' | 'logs' | 'tenants';
export declare type ClientsBasePathMap = {
declare type InitStatus = 'not-started' | 'in-progress' | 'done' | 'error';
declare type Clients = 'tokens' | 'atomic' | 'applications' | 'reactorFormulas' | 'reactors' | 'atomicBanks' | 'atomicCards' | 'permissions' | 'logs' | 'tenants';
declare type ClientsBasePathMap = {
[key in Clients]: string;
};
export declare type Providers = 'BROWSER' | 'NODE';
export declare const algorithm: readonly ["RSA", "AES"];
export declare type Algorithm = typeof algorithm[number];
export interface EncryptionProviderOptions {
declare type Providers = 'BROWSER' | 'NODE';
declare const algorithm: readonly ["RSA", "AES"];
declare type Algorithm = typeof algorithm[number];
interface EncryptionProviderOptions {
defaultKeySize: number;
keyExpirationInDays: number;
}
export interface EncryptionOptions {
interface EncryptionOptions {
algorithm: Algorithm;
options?: EncryptionProviderOptions;
}
export interface BasisTheoryInitOptions {
interface BasisTheoryInitOptions {
apiBaseUrl?: string;

@@ -28,1 +28,3 @@ elements?: boolean;

}
export { algorithm };
export type { InitStatus, Clients, ClientsBasePathMap, Providers, Algorithm, EncryptionProviderOptions, EncryptionOptions, BasisTheoryInitOptions, };
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