@tap-payments/connect 2.4.26 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -26
- package/build/@types/config.d.ts +19 -0
- package/build/@types/index.d.ts +11 -3
- package/build/constants/index.d.ts +5 -2
- package/build/constants/index.js +5 -2
- package/build/features/Connect/ConnectAuth.d.ts +7 -0
- package/build/features/Connect/ConnectAuth.js +117 -0
- package/build/features/Connect/ConnectBank.d.ts +12 -0
- package/build/features/Connect/ConnectBank.js +118 -0
- package/build/features/Connect/ConnectBoard.d.ts +10 -0
- package/build/features/Connect/ConnectBoard.js +117 -0
- package/build/features/Connect/ConnectBrand.d.ts +12 -0
- package/build/features/Connect/ConnectBrand.js +118 -0
- package/build/features/Connect/ConnectEntity.d.ts +12 -0
- package/build/features/Connect/ConnectEntity.js +118 -0
- package/build/features/Connect/ConnectIndividual.d.ts +12 -0
- package/build/features/Connect/ConnectIndividual.js +118 -0
- package/build/features/Connect/ConnectPassword.d.ts +12 -0
- package/build/features/Connect/ConnectPassword.js +118 -0
- package/build/features/Connect/ConnectTax.d.ts +12 -0
- package/build/features/Connect/ConnectTax.js +118 -0
- package/build/features/Connect/index.d.ts +10 -2
- package/build/features/Connect/index.js +9 -1
- package/build/index.d.ts +3 -3
- package/build/index.js +10 -3
- package/build/utils/common.d.ts +1 -1
- package/build/utils/common.js +2 -2
- package/build/utils/config.d.ts +1 -1
- package/build/utils/config.js +2 -1
- package/build/utils/validation.d.ts +6 -0
- package/build/utils/validation.js +133 -4
- package/package.json +1 -1
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
import { TapConnect, renderTapConnect } from './Connect';
|
|
2
|
-
|
|
2
|
+
import { TapConnectAuth, renderTapConnectAuth } from './ConnectAuth';
|
|
3
|
+
import { TapBoard, renderTapBoard } from './ConnectBoard';
|
|
4
|
+
import { TapBrand, renderTapBrand } from './ConnectBrand';
|
|
5
|
+
import { TapBank, renderTapBank } from './ConnectBank';
|
|
6
|
+
import { TapEntity, renderTapEntity } from './ConnectEntity';
|
|
7
|
+
import { TapIndividual, renderTapIndividual } from './ConnectIndividual';
|
|
8
|
+
import { TapPassword, renderTapPassword } from './ConnectPassword';
|
|
9
|
+
import { TapTax, renderTapTax } from './ConnectTax';
|
|
10
|
+
export { TapConnect, renderTapConnect, TapConnectAuth, renderTapConnectAuth, TapBoard, renderTapBoard, TapBrand, renderTapBrand, TapBank, renderTapBank, TapEntity, renderTapEntity, TapIndividual, renderTapIndividual, TapPassword, renderTapPassword, TapTax, renderTapTax };
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TapConnect, TapConnectProps, renderTapConnect } from './features/Connect';
|
|
1
|
+
import { TapConnect, TapConnectProps, renderTapConnect, ConnectAuthProps, TapConnectAuth, renderTapConnectAuth, renderTapBoard, TapBoardProps, TapBoard, TapBrand, TapBrandProps, renderTapBrand, TapBank, TapBankProps, renderTapBank, TapEntity, TapEntityProps, renderTapEntity, TapIndividual, TapIndividualProps, renderTapIndividual, TapPassword, TapPasswordProps, renderTapPassword, TapTax, TapTaxProps, renderTapTax } from './features/Connect';
|
|
2
2
|
import { Language } from './constants';
|
|
3
|
-
export type { TapConnectProps };
|
|
4
|
-
export { Language, TapConnect, renderTapConnect };
|
|
3
|
+
export type { TapConnectProps, ConnectAuthProps, TapBoardProps, TapBrandProps, TapBankProps, TapEntityProps, TapIndividualProps, TapPasswordProps, TapTaxProps };
|
|
4
|
+
export { Language, TapConnect, renderTapConnect, TapConnectAuth, renderTapConnectAuth, TapBoard, renderTapBoard, TapBrand, renderTapBrand, TapBank, renderTapBank, TapEntity, renderTapEntity, TapIndividual, renderTapIndividual, TapPassword, renderTapPassword, TapTax, renderTapTax };
|
package/build/index.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import { TapConnect, renderTapConnect } from './features/Connect';
|
|
1
|
+
import { TapConnect, renderTapConnect, TapConnectAuth, renderTapConnectAuth, renderTapBoard, TapBoard, TapBrand, renderTapBrand, TapBank, renderTapBank, TapEntity, renderTapEntity, TapIndividual, renderTapIndividual, TapPassword, renderTapPassword, TapTax, renderTapTax } from './features/Connect';
|
|
2
2
|
import { Language } from './constants';
|
|
3
|
-
export { Language, TapConnect, renderTapConnect };
|
|
3
|
+
export { Language, TapConnect, renderTapConnect, TapConnectAuth, renderTapConnectAuth, TapBoard, renderTapBoard, TapBrand, renderTapBrand, TapBank, renderTapBank, TapEntity, renderTapEntity, TapIndividual, renderTapIndividual, TapPassword, renderTapPassword, TapTax, renderTapTax };
|
|
4
4
|
window['TapPayments'] = {
|
|
5
5
|
renderTapConnect: renderTapConnect,
|
|
6
|
-
Language: Language
|
|
6
|
+
Language: Language,
|
|
7
|
+
renderTapConnectAuth: renderTapConnectAuth,
|
|
8
|
+
renderTapBoard: renderTapBoard,
|
|
9
|
+
renderTapBrand: renderTapBrand,
|
|
10
|
+
renderTapBank: renderTapBank,
|
|
11
|
+
renderTapEntity: renderTapEntity,
|
|
12
|
+
renderTapPassword: renderTapPassword,
|
|
13
|
+
renderTapTax: renderTapTax
|
|
7
14
|
};
|
package/build/utils/common.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const getBaseUrl: (publicKey: string) => "https://connect-mw.tap.company/middleware/" | "https://connect-mw.sandbox.tap.company/middleware/";
|
|
2
|
-
export declare const getRedirectBaseUrl: (publicKey: string) => "https://connect.tap.company/" | "https://connect.
|
|
2
|
+
export declare const getRedirectBaseUrl: (publicKey: string) => "https://connect.tap.company/" | "https://connect.sandbox.tap.company/";
|
package/build/utils/common.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CONNECT_MW_URL, CONNECT_SANDBOX_MW_URL,
|
|
1
|
+
import { CONNECT_MW_URL, CONNECT_SANDBOX_MW_URL, CONNECT_SANDBOX_URL, CONNECT_URL } from '../constants';
|
|
2
2
|
var isProd = function (publicKey) {
|
|
3
3
|
return publicKey.includes('pk_live');
|
|
4
4
|
};
|
|
@@ -12,5 +12,5 @@ export var getRedirectBaseUrl = function (publicKey) {
|
|
|
12
12
|
if (isProd(publicKey)) {
|
|
13
13
|
return CONNECT_URL;
|
|
14
14
|
}
|
|
15
|
-
return
|
|
15
|
+
return CONNECT_SANDBOX_URL;
|
|
16
16
|
};
|
package/build/utils/config.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ type ExtraProps = {
|
|
|
3
3
|
verifyToken?: string;
|
|
4
4
|
onBoardButtonClick?: (data: Record<string, string>) => void;
|
|
5
5
|
};
|
|
6
|
-
export declare const wrapLibConfig: ({ publicKey, open, mode, language, country, scope, lead, postURL, onError, onReady, onSuccess, board, verifyToken, domain, onBoardButtonClick, onClose, onCreated, onBoardCompleted, boardMaturity, data, redirectUrl }: ConnectProps & ExtraProps) => OriginalConnectProps;
|
|
6
|
+
export declare const wrapLibConfig: ({ publicKey, open, mode, language, country, scope, lead, postURL, onError, onReady, onSuccess, board, verifyToken, domain, onBoardButtonClick, onClose, onCreated, onBoardCompleted, boardMaturity, data, redirectUrl, features }: ConnectProps & ExtraProps) => OriginalConnectProps;
|
|
7
7
|
export {};
|
package/build/utils/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export var wrapLibConfig = function (_a) {
|
|
2
|
-
var publicKey = _a.publicKey, open = _a.open, mode = _a.mode, language = _a.language, country = _a.country, scope = _a.scope, lead = _a.lead, postURL = _a.postURL, onError = _a.onError, onReady = _a.onReady, onSuccess = _a.onSuccess, board = _a.board, verifyToken = _a.verifyToken, domain = _a.domain, onBoardButtonClick = _a.onBoardButtonClick, onClose = _a.onClose, onCreated = _a.onCreated, onBoardCompleted = _a.onBoardCompleted, boardMaturity = _a.boardMaturity, data = _a.data, redirectUrl = _a.redirectUrl;
|
|
2
|
+
var publicKey = _a.publicKey, open = _a.open, mode = _a.mode, language = _a.language, country = _a.country, scope = _a.scope, lead = _a.lead, postURL = _a.postURL, onError = _a.onError, onReady = _a.onReady, onSuccess = _a.onSuccess, board = _a.board, verifyToken = _a.verifyToken, domain = _a.domain, onBoardButtonClick = _a.onBoardButtonClick, onClose = _a.onClose, onCreated = _a.onCreated, onBoardCompleted = _a.onBoardCompleted, boardMaturity = _a.boardMaturity, data = _a.data, redirectUrl = _a.redirectUrl, features = _a.features;
|
|
3
3
|
return {
|
|
4
4
|
appInfo: {
|
|
5
5
|
name: window.location.hostname || window.location.origin
|
|
@@ -18,6 +18,7 @@ export var wrapLibConfig = function (_a) {
|
|
|
18
18
|
showBoard: board,
|
|
19
19
|
boardMaturity: boardMaturity,
|
|
20
20
|
verifyToken: verifyToken,
|
|
21
|
+
features: features,
|
|
21
22
|
onFlowCompleted: function (res) {
|
|
22
23
|
onSuccess && onSuccess(res);
|
|
23
24
|
},
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import { ConnectProps } from '../@types';
|
|
2
2
|
export declare const validateConnectProps: (props: ConnectProps) => void;
|
|
3
|
+
export declare const validateConnectAuthProps: (props: Pick<ConnectProps, 'open' | 'domain' | 'publicKey' | 'redirectUrl' | 'data' | 'postURL' | 'lead' | 'country' | 'language' | 'onSuccess' | 'onError' | 'onReady' | 'onClose'>) => void;
|
|
4
|
+
export declare const validateBoardProps: (props: Pick<ConnectProps, 'open' | 'domain' | 'scope' | 'publicKey' | 'postURL' | 'country' | 'language' | 'onSuccess' | 'onError' | 'onReady' | 'onClose' | 'boardId'>) => void;
|
|
5
|
+
export declare const validateBoardOtherKitsProps: (props: Pick<ConnectProps, "open" | "domain" | "publicKey" | "postURL" | "country" | "language" | "onSuccess" | "onError" | "onReady" | "onClose" | "scope"> & {
|
|
6
|
+
verifyToken: string;
|
|
7
|
+
onBoardButtonClick: (data: Record<string, string>) => void;
|
|
8
|
+
}) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Language } from '../constants';
|
|
2
2
|
export var validateConnectProps = function (props) {
|
|
3
|
-
var mode = props.mode, publicKey = props.publicKey, mature = props.mature,
|
|
3
|
+
var mode = props.mode, publicKey = props.publicKey, mature = props.mature, language = props.language, scope = props.scope, open = props.open, domain = props.domain, board = props.board, lead = props.lead, onClose = props.onClose, onCreated = props.onCreated, onError = props.onError, onReady = props.onReady, onSuccess = props.onSuccess, postURL = props.postURL, redirectUrl = props.redirectUrl;
|
|
4
4
|
if (!mode) {
|
|
5
5
|
throw new Error('mode is required');
|
|
6
6
|
}
|
|
@@ -10,9 +10,6 @@ export var validateConnectProps = function (props) {
|
|
|
10
10
|
if (!publicKey) {
|
|
11
11
|
throw new Error('publicKey is required');
|
|
12
12
|
}
|
|
13
|
-
if (!country) {
|
|
14
|
-
throw new Error('country is required');
|
|
15
|
-
}
|
|
16
13
|
if (!language) {
|
|
17
14
|
throw new Error('language is required');
|
|
18
15
|
}
|
|
@@ -59,3 +56,135 @@ export var validateConnectProps = function (props) {
|
|
|
59
56
|
throw new Error('onSuccess must be a function');
|
|
60
57
|
}
|
|
61
58
|
};
|
|
59
|
+
export var validateConnectAuthProps = function (props) {
|
|
60
|
+
var publicKey = props.publicKey, country = props.country, language = props.language, open = props.open, domain = props.domain, lead = props.lead, onClose = props.onClose, onError = props.onError, onReady = props.onReady, onSuccess = props.onSuccess, postURL = props.postURL, data = props.data;
|
|
61
|
+
if (!data) {
|
|
62
|
+
throw new Error('data is required');
|
|
63
|
+
}
|
|
64
|
+
if (!Array.isArray(data)) {
|
|
65
|
+
throw new Error('data must be an array');
|
|
66
|
+
}
|
|
67
|
+
if (!publicKey) {
|
|
68
|
+
throw new Error('publicKey is required');
|
|
69
|
+
}
|
|
70
|
+
if (typeof country !== 'string') {
|
|
71
|
+
throw new Error('country should be from type string');
|
|
72
|
+
}
|
|
73
|
+
if (!language) {
|
|
74
|
+
throw new Error('language is required');
|
|
75
|
+
}
|
|
76
|
+
if (![Language.AR, Language.EN].includes(language)) {
|
|
77
|
+
throw new Error('you can only use AR or EN for language');
|
|
78
|
+
}
|
|
79
|
+
if (!domain) {
|
|
80
|
+
throw new Error('domain is required');
|
|
81
|
+
}
|
|
82
|
+
if (typeof open !== 'boolean') {
|
|
83
|
+
throw new Error('open is required, and must be a boolean');
|
|
84
|
+
}
|
|
85
|
+
if (typeof lead !== 'undefined' && typeof lead !== 'string') {
|
|
86
|
+
throw new Error('lead must be a string');
|
|
87
|
+
}
|
|
88
|
+
if (typeof postURL !== 'undefined' && typeof postURL !== 'string') {
|
|
89
|
+
throw new Error('postURL must be a string');
|
|
90
|
+
}
|
|
91
|
+
if (typeof onClose !== 'undefined' && typeof onClose !== 'function') {
|
|
92
|
+
throw new Error('onClose must be a function');
|
|
93
|
+
}
|
|
94
|
+
if (typeof onError !== 'undefined' && typeof onError !== 'function') {
|
|
95
|
+
throw new Error('onError must be a function');
|
|
96
|
+
}
|
|
97
|
+
if (typeof onReady !== 'undefined' && typeof onReady !== 'function') {
|
|
98
|
+
throw new Error('onReady must be a function');
|
|
99
|
+
}
|
|
100
|
+
if (typeof onSuccess !== 'undefined' && typeof onSuccess !== 'function') {
|
|
101
|
+
throw new Error('onSuccess must be a function');
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
export var validateBoardProps = function (props) {
|
|
105
|
+
var publicKey = props.publicKey, country = props.country, scope = props.scope, language = props.language, open = props.open, domain = props.domain, onClose = props.onClose, onError = props.onError, onReady = props.onReady, onSuccess = props.onSuccess, postURL = props.postURL, boardId = props.boardId;
|
|
106
|
+
if (!publicKey) {
|
|
107
|
+
throw new Error('publicKey is required');
|
|
108
|
+
}
|
|
109
|
+
if (typeof country !== 'string') {
|
|
110
|
+
throw new Error('country should be from type string');
|
|
111
|
+
}
|
|
112
|
+
if (!language) {
|
|
113
|
+
throw new Error('language is required');
|
|
114
|
+
}
|
|
115
|
+
if (!scope) {
|
|
116
|
+
throw new Error('scope is required');
|
|
117
|
+
}
|
|
118
|
+
if (![Language.AR, Language.EN].includes(language)) {
|
|
119
|
+
throw new Error('you can only use AR or EN for language');
|
|
120
|
+
}
|
|
121
|
+
if (!domain) {
|
|
122
|
+
throw new Error('domain is required');
|
|
123
|
+
}
|
|
124
|
+
if (!boardId) {
|
|
125
|
+
throw new Error('board id is required');
|
|
126
|
+
}
|
|
127
|
+
if (typeof open !== 'boolean') {
|
|
128
|
+
throw new Error('open is required, and must be a boolean');
|
|
129
|
+
}
|
|
130
|
+
if (typeof postURL !== 'undefined' && typeof postURL !== 'string') {
|
|
131
|
+
throw new Error('postURL must be a string');
|
|
132
|
+
}
|
|
133
|
+
if (typeof onClose !== 'undefined' && typeof onClose !== 'function') {
|
|
134
|
+
throw new Error('onClose must be a function');
|
|
135
|
+
}
|
|
136
|
+
if (typeof onError !== 'undefined' && typeof onError !== 'function') {
|
|
137
|
+
throw new Error('onError must be a function');
|
|
138
|
+
}
|
|
139
|
+
if (typeof onReady !== 'undefined' && typeof onReady !== 'function') {
|
|
140
|
+
throw new Error('onReady must be a function');
|
|
141
|
+
}
|
|
142
|
+
if (typeof onSuccess !== 'undefined' && typeof onSuccess !== 'function') {
|
|
143
|
+
throw new Error('onSuccess must be a function');
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
export var validateBoardOtherKitsProps = function (props) {
|
|
147
|
+
var publicKey = props.publicKey, country = props.country, scope = props.scope, language = props.language, open = props.open, domain = props.domain, onClose = props.onClose, onError = props.onError, onReady = props.onReady, onSuccess = props.onSuccess, postURL = props.postURL, verifyToken = props.verifyToken, onBoardButtonClick = props.onBoardButtonClick;
|
|
148
|
+
if (!publicKey) {
|
|
149
|
+
throw new Error('publicKey is required');
|
|
150
|
+
}
|
|
151
|
+
if (typeof country !== 'string') {
|
|
152
|
+
throw new Error('country should be from type string');
|
|
153
|
+
}
|
|
154
|
+
if (!language) {
|
|
155
|
+
throw new Error('language is required');
|
|
156
|
+
}
|
|
157
|
+
if (!scope) {
|
|
158
|
+
throw new Error('scope is required');
|
|
159
|
+
}
|
|
160
|
+
if (![Language.AR, Language.EN].includes(language)) {
|
|
161
|
+
throw new Error('you can only use AR or EN for language');
|
|
162
|
+
}
|
|
163
|
+
if (!domain) {
|
|
164
|
+
throw new Error('domain is required');
|
|
165
|
+
}
|
|
166
|
+
if (!verifyToken) {
|
|
167
|
+
throw new Error('token is required');
|
|
168
|
+
}
|
|
169
|
+
if (typeof open !== 'boolean') {
|
|
170
|
+
throw new Error('open is required, and must be a boolean');
|
|
171
|
+
}
|
|
172
|
+
if (typeof postURL !== 'undefined' && typeof postURL !== 'string') {
|
|
173
|
+
throw new Error('postURL must be a string');
|
|
174
|
+
}
|
|
175
|
+
if (typeof onClose !== 'undefined' && typeof onClose !== 'function') {
|
|
176
|
+
throw new Error('onClose must be a function');
|
|
177
|
+
}
|
|
178
|
+
if (typeof onError !== 'undefined' && typeof onError !== 'function') {
|
|
179
|
+
throw new Error('onError must be a function');
|
|
180
|
+
}
|
|
181
|
+
if (typeof onReady !== 'undefined' && typeof onReady !== 'function') {
|
|
182
|
+
throw new Error('onReady must be a function');
|
|
183
|
+
}
|
|
184
|
+
if (typeof onSuccess !== 'undefined' && typeof onSuccess !== 'function') {
|
|
185
|
+
throw new Error('onSuccess must be a function');
|
|
186
|
+
}
|
|
187
|
+
if (typeof onBoardButtonClick !== 'undefined' && typeof onBoardButtonClick !== 'function') {
|
|
188
|
+
throw new Error('onBoardButtonClick must be a function');
|
|
189
|
+
}
|
|
190
|
+
};
|