@basis-theory/basis-theory-js
Advanced tools
Comparing version 4.10.0 to 4.10.1
import type { AxiosRequestConfig, AxiosResponse, AxiosRequestTransformer, AxiosResponseTransformer } from 'axios'; | ||
import type { RequestTransformers } from '../service'; | ||
import type { Reactor, Proxy, Token, CreateReactor, UpdateReactor, CreateToken, UpdateToken, CreateProxy, UpdateProxy } from '../types/models'; | ||
import type { Reactor, Proxy, Token, CreateReactor, UpdateReactor, CreateProxy, UpdateProxy, Primitive } from '../types/models'; | ||
import type { ApplicationInfo, PaginatedList, ProxyRequestOptions, RequestOptions } from '../types/sdk'; | ||
@@ -10,4 +10,5 @@ declare const assertInit: <T>(prop: T) => NonNullable<T>; | ||
declare const transformProxyRequestSnakeCase: (proxy: Proxy | CreateProxy | UpdateProxy) => Proxy | CreateProxy | UpdateProxy | undefined; | ||
declare const transformTokenRequestSnakeCase: (token: Token | CreateToken | UpdateToken) => Token | CreateToken | UpdateToken | undefined; | ||
declare const transformTokenResponseCamelCase: (tokenResponse: Token | PaginatedList<Token> | undefined) => Token | PaginatedList<Token> | undefined; | ||
type TokenLike<DataType> = Partial<Token<DataType>> & Record<string, unknown>; | ||
declare const transformTokenRequestSnakeCase: <DataType = Primitive>(payload: TokenLike<DataType>) => TokenLike<DataType> | undefined; | ||
declare const transformTokenResponseCamelCase: <DataType = Primitive>(tokenResponse: PaginatedList<Token> | TokenLike<DataType> | undefined) => PaginatedList<Token> | TokenLike<DataType> | undefined; | ||
declare const transformReactorResponseCamelCase: (reactorResponse: Reactor | PaginatedList<Reactor> | undefined) => Reactor | PaginatedList<Reactor> | undefined; | ||
@@ -14,0 +15,0 @@ declare const transformProxyResponseCamelCase: (proxyResponse: Proxy | PaginatedList<Proxy> | undefined) => Proxy | PaginatedList<Proxy> | undefined; |
@@ -82,15 +82,15 @@ "use strict"; | ||
const transformTokenRequestSnakeCase = token => { | ||
if (typeof token === 'undefined') { | ||
const transformTokenRequestSnakeCase = payload => { | ||
if (typeof payload === 'undefined') { | ||
return undefined; | ||
} | ||
return { ...(0, _snakecaseKeys.default)(token, { | ||
return { ...(0, _snakecaseKeys.default)(payload, { | ||
deep: true | ||
}), | ||
...(token.data !== undefined ? { | ||
data: token.data | ||
...(payload.data !== undefined ? { | ||
data: payload.data | ||
} : {}), | ||
...(token.metadata !== undefined ? { | ||
metadata: token.metadata | ||
...(payload.metadata !== undefined ? { | ||
metadata: payload.metadata | ||
} : {}) | ||
@@ -97,0 +97,0 @@ }; |
{ | ||
"name": "@basis-theory/basis-theory-js", | ||
"version": "4.10.0", | ||
"version": "4.10.1", | ||
"repository": "https://github.com/Basis-Theory/basis-theory-js", | ||
@@ -5,0 +5,0 @@ "license": "Apache-2.0", |
@@ -0,7 +1,8 @@ | ||
import { BasisTheoryServiceOptions } from '../service'; | ||
import type { TokenIntent, CreateTokenIntent } from '../types/models'; | ||
export declare const BasisTheoryTokenIntents: { | ||
new (options: import("../service/types").BasisTheoryServiceOptions): { | ||
new (options: BasisTheoryServiceOptions): { | ||
readonly client: import("axios").AxiosInstance; | ||
}; | ||
} & (new (...args: any[]) => import("../types/sdk/services/shared").Create<TokenIntent<import("../types/models/tokens").DataObject>, CreateTokenIntent>) & (new (...args: any[]) => import("../types/sdk/services/shared").Delete); | ||
} & (new (...args: any[]) => import("../types/sdk/services/shared").Create<TokenIntent, CreateTokenIntent>) & (new (...args: any[]) => import("../types/sdk/services/shared").Delete); | ||
export type BasisTheoryTokenIntents = InstanceType<typeof BasisTheoryTokenIntents>; |
@@ -8,2 +8,4 @@ "use strict"; | ||
var _common = require("./../common"); | ||
var _service = require("./../service"); | ||
@@ -13,3 +15,13 @@ | ||
const BasisTheoryTokenIntents = new _CrudBuilder.CrudBuilder(class BasisTheoryTokenIntents extends _service.BasisTheoryService {}).create().delete().build(); | ||
const BasisTheoryTokenIntents = new _CrudBuilder.CrudBuilder(class BasisTheoryTokenIntents extends _service.BasisTheoryService { | ||
constructor(options) { | ||
const _options = options; // eslint-disable-next-line unicorn/prefer-spread | ||
_options.transformRequest = [].concat(_common.transformTokenRequestSnakeCase, options.transformRequest || []); // eslint-disable-next-line unicorn/prefer-spread | ||
_options.transformResponse = [].concat(_common.transformTokenResponseCamelCase, options.transformResponse || []); | ||
super(_options); | ||
} | ||
}).create().delete().build(); | ||
exports.BasisTheoryTokenIntents = BasisTheoryTokenIntents; |
@@ -11,3 +11,3 @@ import { BasisTheoryServiceOptions } from '../service'; | ||
}; | ||
} & (new (...args: any[]) => import("../types/sdk/services/shared").Create<Token<import("../types/models/shared").Primitive>, CreateToken>) & (new (...args: any[]) => import("../types/sdk/services/shared").Delete) & (new (...args: any[]) => import("../types/sdk/services/shared").List<Token<import("../types/models/shared").Primitive>, ListTokensQuery>); | ||
} & (new (...args: any[]) => import("../types/sdk/services/shared").Create<Token, CreateToken>) & (new (...args: any[]) => import("../types/sdk/services/shared").Delete) & (new (...args: any[]) => import("../types/sdk/services/shared").List<Token, ListTokensQuery>); | ||
export type BasisTheoryTokens = InstanceType<typeof BasisTheoryTokens>; |
@@ -1,2 +0,1 @@ | ||
import type { DataObject } from './tokens'; | ||
type Primitive = string | number | boolean | null; | ||
@@ -10,8 +9,10 @@ type TokenType = 'token' | 'card' | 'bank' | 'card_number' | 'us_bank_routing_number' | 'us_bank_account_number' | 'social_security_number'; | ||
} | ||
interface TokenBase<T extends TokenType = TokenType> extends Auditable { | ||
id: string; | ||
type: T; | ||
tenantId: string; | ||
fingerprint?: string; | ||
metadata?: Record<string, string>; | ||
type DataObject<DataType = Primitive> = { | ||
[member: string]: TokenData<DataType>; | ||
}; | ||
type DataArray<DataType> = Array<TokenData<DataType>>; | ||
type TokenData<DataType = Primitive> = Primitive | DataObject<DataType> | DataArray<DataType> | DataType; | ||
interface TokenBase<DataType = Primitive> extends Auditable { | ||
data: TokenData<DataType>; | ||
type: TokenType; | ||
} | ||
@@ -22,2 +23,2 @@ interface ReactResponse { | ||
} | ||
export type { Primitive, Auditable, TokenType, TokenBase, ReactResponse }; | ||
export type { Primitive, Auditable, TokenType, TokenBase, ReactResponse, DataObject, }; |
@@ -1,22 +0,28 @@ | ||
import type { DataObject, TokenData, Auditable, TokenType } from '../../types/models'; | ||
import type { TokenBase, DataObject, Auditable, TokenType } from '../../types/models'; | ||
interface TokenIntentCardDetails { | ||
cardDetails: { | ||
type: 'card'; | ||
card: { | ||
bin: string; | ||
last4: string; | ||
brand: string; | ||
type: string; | ||
expirationMonth: string; | ||
expirationYear: string; | ||
funding: string; | ||
expirationMonth: number; | ||
expirationYear: number; | ||
}; | ||
} | ||
interface TokenIntent<DataType = DataObject> extends Omit<Auditable, 'modifiedAt' | 'modifiedBy'> { | ||
data: TokenData<DataType>; | ||
type: TokenType; | ||
enrichments?: TokenIntentCardDetails; | ||
type TokenTypesForTokenIntents = Exclude<TokenType, 'token' | 'card'>; | ||
type TokenTypeMap = { | ||
[K in TokenTypesForTokenIntents]: { | ||
type: K; | ||
} & Record<K, Record<string, unknown>>; | ||
}; | ||
type TokenIntent<DataType = DataObject> = (TokenBase<DataType> & Omit<Auditable, 'modifiedAt' | 'modifiedBy'> & { | ||
id: string; | ||
tenantId: string; | ||
expiresAt: string; | ||
} | ||
type CreateTokenIntent<DataType = DataObject> = Pick<TokenIntent<DataType>, 'type' | 'data'> & { | ||
id: string; | ||
}; | ||
fingerprint?: string; | ||
}) & (TokenTypeMap[TokenTypesForTokenIntents] | TokenIntentCardDetails | { | ||
type: 'token'; | ||
}); | ||
type CreateTokenIntent<DataType = DataObject> = Pick<TokenIntent<DataType>, 'type' | 'data'>; | ||
export type { TokenIntent, CreateTokenIntent, TokenIntentCardDetails }; |
@@ -9,7 +9,2 @@ import type { BinDetails } from './bin-details'; | ||
type DataRestrictionPolicy = typeof DATA_RESTRICTION_POLICIES[number]; | ||
type DataObject<DataType = Primitive> = { | ||
[member: string]: TokenData<DataType>; | ||
}; | ||
type DataArray<DataType> = Array<TokenData<DataType>>; | ||
type TokenData<DataType = Primitive> = Primitive | DataObject<DataType> | DataArray<DataType> | DataType; | ||
type MaskObject = { | ||
@@ -36,4 +31,4 @@ [member: string]: TokenMask; | ||
} | ||
interface Token<DataType = Primitive> extends TokenBase { | ||
data: TokenData<DataType>; | ||
type Token<DataType = Primitive> = TokenBase<DataType> & { | ||
id: string; | ||
privacy?: TokenPrivacy; | ||
@@ -47,3 +42,6 @@ containers?: string[]; | ||
enrichments?: TokenEnrichments; | ||
} | ||
tenantId: string; | ||
fingerprint?: string; | ||
metadata?: Record<string, string>; | ||
}; | ||
type CreateToken<DataType = Primitive> = Pick<Token<DataType>, 'type' | 'data' | 'privacy' | 'containers' | 'metadata' | 'encryption' | 'searchIndexes' | 'fingerprintExpression' | 'mask' | 'expiresAt'> & { | ||
@@ -57,3 +55,3 @@ deduplicateToken?: boolean; | ||
}>; | ||
export type { Token, TokenEnrichments, CreateToken, UpdateToken, DataArray, DataObject, TokenData, DataClassification, DataImpactLevel, DataRestrictionPolicy, }; | ||
export type { Token, TokenEnrichments, CreateToken, UpdateToken, DataClassification, DataImpactLevel, DataRestrictionPolicy, }; | ||
export { DATA_CLASSIFICATIONS, DATA_IMPACT_LEVELS, DATA_RESTRICTION_POLICIES }; |
182707
4139