@or-sdk/identifiers 0.25.0-beta.844.0 → 0.25.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/CHANGELOG.md +129 -0
- package/dist/cjs/__tests__/identifiers.spec.js +44 -0
- package/dist/cjs/__tests__/identifiers.spec.js.map +1 -0
- package/dist/cjs/constants.js +1 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/identifiers.errors.js +46 -0
- package/dist/cjs/identifiers.errors.js.map +1 -0
- package/dist/cjs/{Identifiers.js → identifiers.js} +52 -81
- package/dist/cjs/identifiers.js.map +1 -0
- package/dist/cjs/index.js +2 -2
- package/dist/esm/__tests__/identifiers.spec.js +43 -0
- package/dist/esm/__tests__/identifiers.spec.js.map +1 -0
- package/dist/esm/constants.js +0 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/identifiers.errors.js +19 -0
- package/dist/esm/identifiers.errors.js.map +1 -0
- package/dist/esm/{Identifiers.js → identifiers.js} +46 -57
- package/dist/esm/identifiers.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/types/__tests__/identifiers.spec.d.ts +2 -0
- package/dist/types/__tests__/identifiers.spec.d.ts.map +1 -0
- package/dist/types/constants.d.ts +0 -1
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/{Identifiers.d.ts → identifiers.d.ts} +8 -10
- package/dist/types/identifiers.d.ts.map +1 -0
- package/dist/types/identifiers.errors.d.ts +13 -0
- package/dist/types/identifiers.errors.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types.d.ts +9 -24
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +12 -6
- package/src/__tests__/identifiers.spec.ts +59 -0
- package/src/constants.ts +0 -1
- package/src/identifiers.errors.ts +20 -0
- package/src/identifiers.ts +338 -0
- package/src/index.ts +1 -1
- package/src/types.ts +20 -42
- package/vitest.config.js +24 -0
- package/dist/cjs/Identifiers.js.map +0 -1
- package/dist/esm/Identifiers.js.map +0 -1
- package/dist/types/Identifiers.d.ts.map +0 -1
- package/src/Identifiers.ts +0 -269
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import { List, makeList } from '@or-sdk/base';
|
|
2
|
+
import { SdkApi } from '@or-sdk/sdk-api';
|
|
3
|
+
import {
|
|
4
|
+
BuyIdentifierResponse,
|
|
5
|
+
Identifier,
|
|
6
|
+
IdentifierGroup,
|
|
7
|
+
IdentifierProvider,
|
|
8
|
+
IdentifiersConfig,
|
|
9
|
+
IdentifierTrigger,
|
|
10
|
+
ListProvidersResponse,
|
|
11
|
+
ObtainableIdentifier,
|
|
12
|
+
ObtainableIdentifierRequestParams,
|
|
13
|
+
SingleIdentifier,
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
15
|
+
IdentifierProviderSettings,
|
|
16
|
+
} from './types';
|
|
17
|
+
import {
|
|
18
|
+
extractIdentifierProvidersResponse,
|
|
19
|
+
getGroupIdentifiers,
|
|
20
|
+
getSingleIdentifiers,
|
|
21
|
+
makeIdentifierGroups,
|
|
22
|
+
} from './utils';
|
|
23
|
+
import _ from 'lodash';
|
|
24
|
+
import { SdkUrlOrDiscoveryUrlIsMissedError, TokenIsMissedError } from './identifiers.errors';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Identifiers SDK API. Mainly used for Identifiers Manager application(since v3)
|
|
28
|
+
* Depends on {@link SdkApi}, their configuration and initialisation
|
|
29
|
+
*
|
|
30
|
+
* @see https://gitlab.internal.onereach.io/onereach/voice/identifiers-manager
|
|
31
|
+
*/
|
|
32
|
+
export class Identifiers {
|
|
33
|
+
private readonly _sdkApi: SdkApi;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Identifiers SDK client creation. Including {@link SdkApi} dependency
|
|
37
|
+
*
|
|
38
|
+
* @param config SDK configuration {@link IdentifiersConfig}
|
|
39
|
+
* @throws TokenIsMissedError if required configuration parameter token is missed
|
|
40
|
+
* @throws SdkUrlOrDiscoveryUrlIsMissedError if one of required configuration
|
|
41
|
+
* parameter is missed : sdkUrl or discoveryUrl
|
|
42
|
+
*/
|
|
43
|
+
constructor(config: IdentifiersConfig) {
|
|
44
|
+
const {
|
|
45
|
+
token, sdkUrl,
|
|
46
|
+
discoveryUrl, accountId,
|
|
47
|
+
} = config;
|
|
48
|
+
|
|
49
|
+
if (_.isEmpty(sdkUrl) && _.isEmpty(discoveryUrl)) {
|
|
50
|
+
throw new SdkUrlOrDiscoveryUrlIsMissedError();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (_.isEmpty(token)) {
|
|
54
|
+
throw new TokenIsMissedError();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
this._sdkApi = new SdkApi({
|
|
58
|
+
token,
|
|
59
|
+
discoveryUrl,
|
|
60
|
+
accountId,
|
|
61
|
+
sdkUrl,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Service initialisation. Including dependencies.
|
|
67
|
+
* Required to call depending on context of usage(already initialised {@link SdkApi})
|
|
68
|
+
*/
|
|
69
|
+
async init() {
|
|
70
|
+
await this._sdkApi.init();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Load list of identifiers
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const identifierList = await identifiers.listIdentifiers();
|
|
79
|
+
* ```
|
|
80
|
+
* @async
|
|
81
|
+
* @return List<SingleIdentifier>
|
|
82
|
+
*/
|
|
83
|
+
public async listIdentifiers(): Promise<List<SingleIdentifier>> {
|
|
84
|
+
const result = await this._fetchIdentifiers();
|
|
85
|
+
|
|
86
|
+
return makeList<SingleIdentifier>(getSingleIdentifiers(result));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* List identifier groups
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* const identifierGroupList = await identifiers.listIdentifierGroups();
|
|
95
|
+
* ```
|
|
96
|
+
* @async
|
|
97
|
+
* @return List<IdentifierGroup>
|
|
98
|
+
*
|
|
99
|
+
*/
|
|
100
|
+
public async listIdentifierGroups(): Promise<List<IdentifierGroup>> {
|
|
101
|
+
const result = await this._fetchIdentifiers();
|
|
102
|
+
|
|
103
|
+
return makeList<IdentifierGroup>(makeIdentifierGroups(result));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Get identifier by identifier id
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const identifier = await identifiers.getIdentifier('identifier-id');
|
|
112
|
+
* ```
|
|
113
|
+
* @param id identifier id
|
|
114
|
+
* @async
|
|
115
|
+
* @return SingleIdentifier
|
|
116
|
+
*/
|
|
117
|
+
public async getIdentifier(id: Identifier['id']): Promise<SingleIdentifier> {
|
|
118
|
+
const result = await this._fetchIdentifiers(id, false);
|
|
119
|
+
const singleIdentifiers = getSingleIdentifiers(result);
|
|
120
|
+
|
|
121
|
+
if (singleIdentifiers.length === 0) {
|
|
122
|
+
throw `Id ${id} doesn't belong to an identifier`;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return singleIdentifiers[0];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Get identifier group
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const identifierGroup = await identifiers.getIdentifierGroup('identifier-group-id');
|
|
134
|
+
* ```
|
|
135
|
+
* @param id identifier id
|
|
136
|
+
* @async
|
|
137
|
+
* @return IdentifierGroup
|
|
138
|
+
*/
|
|
139
|
+
public async getIdentifierGroup(id: Identifier['id']): Promise<IdentifierGroup> {
|
|
140
|
+
const result = await this._fetchIdentifiers(id);
|
|
141
|
+
const groupIdentifiers = getGroupIdentifiers(result);
|
|
142
|
+
|
|
143
|
+
if (groupIdentifiers.length === 0) {
|
|
144
|
+
throw `Id ${id} doesn't belong to an identifier group`;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return makeIdentifierGroups(result)[0];
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* List obtainable identifiers
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* const obtainableIdentifiers = await identifiers.listObtainableIdentifiers({
|
|
156
|
+
* country: 'US',
|
|
157
|
+
* type: 'local',
|
|
158
|
+
* limit: 30,
|
|
159
|
+
* pattern: 'pattern',
|
|
160
|
+
* patternType: 'starts',
|
|
161
|
+
* capabilities: ['voice','sms','mms'],
|
|
162
|
+
* });
|
|
163
|
+
* ```
|
|
164
|
+
* @param params obtainable identifiers request params {@link ObtainableIdentifierRequestParams}
|
|
165
|
+
* @async
|
|
166
|
+
* @return List<ObtainableIdentifier>
|
|
167
|
+
*/
|
|
168
|
+
public async listObtainableIdentifiers(
|
|
169
|
+
params: ObtainableIdentifierRequestParams = {}
|
|
170
|
+
): Promise<List<ObtainableIdentifier>> {
|
|
171
|
+
const result = await this._sdkApi.makeRequest<ObtainableIdentifier[]>({
|
|
172
|
+
method: 'GET',
|
|
173
|
+
route: '/http/provider/obtainable-identifiers',
|
|
174
|
+
params: {
|
|
175
|
+
...params,
|
|
176
|
+
...this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {},
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
return makeList<ObtainableIdentifier>(result);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Remove identifiers
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* await identifiers.releaseIdentifier('identifier-id');
|
|
188
|
+
* ```
|
|
189
|
+
* @param id identifier id to remove
|
|
190
|
+
* @async
|
|
191
|
+
*/
|
|
192
|
+
public async releaseIdentifier(id: Identifier['id']): Promise<void> {
|
|
193
|
+
const params = {
|
|
194
|
+
identifier: id,
|
|
195
|
+
...this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {},
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
await this._sdkApi.makeRequest<void>({
|
|
199
|
+
method: 'DELETE',
|
|
200
|
+
route: '/http/provider/identifiers',
|
|
201
|
+
params,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Buy identifiers
|
|
207
|
+
* ```typescript
|
|
208
|
+
* const identifiers = await identifiers.buyIdentifier([ { provider: 'providerName', phoneNumber: 'phoneNumber' } ]);
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
public async buyIdentifier(
|
|
212
|
+
identifiers: ObtainableIdentifier | ObtainableIdentifier[]
|
|
213
|
+
): Promise<BuyIdentifierResponse> {
|
|
214
|
+
const data = {
|
|
215
|
+
identifiers: Array.isArray(identifiers) ? identifiers : [identifiers],
|
|
216
|
+
...this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {},
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
return this._sdkApi.makeRequest<BuyIdentifierResponse>({
|
|
220
|
+
method: 'POST',
|
|
221
|
+
route: '/http/provider/identifiers',
|
|
222
|
+
data,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Create internal OneReach provider
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```typescript
|
|
231
|
+
* await identifiers.createProvider('providerName', { settingKey: 'settingValue' });
|
|
232
|
+
* ```
|
|
233
|
+
* @async
|
|
234
|
+
* @param provider unique providers name to create
|
|
235
|
+
* @param settings provider settings {@link IdentifierProviderSettings }
|
|
236
|
+
*/
|
|
237
|
+
public async createProvider(
|
|
238
|
+
provider: IdentifierProvider['name'],
|
|
239
|
+
settings: IdentifierProvider['settings'] = {}
|
|
240
|
+
): Promise<void> {
|
|
241
|
+
const data = {
|
|
242
|
+
provider,
|
|
243
|
+
settings,
|
|
244
|
+
...this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {},
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
await this._sdkApi.makeRequest<void>({
|
|
248
|
+
method: 'POST',
|
|
249
|
+
route: '/http/provider/identifier-providers',
|
|
250
|
+
data,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* List providers
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* const providers = await identifiers.listProviders();
|
|
259
|
+
* ```
|
|
260
|
+
* @async
|
|
261
|
+
* @return IdentifierProvider[]
|
|
262
|
+
*/
|
|
263
|
+
public async listProviders(): Promise<IdentifierProvider[]> {
|
|
264
|
+
const params = this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {};
|
|
265
|
+
|
|
266
|
+
const data = await this._sdkApi.makeRequest<ListProvidersResponse>({
|
|
267
|
+
method: 'GET',
|
|
268
|
+
route: '/http/provider/identifier-providers',
|
|
269
|
+
params,
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
return extractIdentifierProvidersResponse(data);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Delete provider
|
|
277
|
+
* ```typescript
|
|
278
|
+
* await identifiers.deleteProvider('providerName');
|
|
279
|
+
* ```
|
|
280
|
+
* @async
|
|
281
|
+
* @param provider provider name to delete
|
|
282
|
+
*/
|
|
283
|
+
public async deleteProvider(provider: IdentifierProvider['name']): Promise<void> {
|
|
284
|
+
const params = {
|
|
285
|
+
provider,
|
|
286
|
+
...this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {},
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
await this._sdkApi.makeRequest<void>({
|
|
290
|
+
method: 'DELETE',
|
|
291
|
+
route: '/http/provider/identifier-providers',
|
|
292
|
+
params,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Load list of identifier gateway triggers by identifier list.
|
|
298
|
+
* Excludes grouped identifiers(triggered by groups)
|
|
299
|
+
* ```typescript
|
|
300
|
+
* const identifierList = await identifiers.listIdentifiers();
|
|
301
|
+
* const identifierTriggers = await identifiers.listIdentifiersTriggers(identifierList);
|
|
302
|
+
* ```
|
|
303
|
+
* @async
|
|
304
|
+
* @param identifiers identifier list to check {@link List<SingleIdentifier>}
|
|
305
|
+
* @return List<IdentifierTrigger>
|
|
306
|
+
*/
|
|
307
|
+
public async listIdentifiersTriggers(identifiers: List<SingleIdentifier>): Promise<List<IdentifierTrigger>> {
|
|
308
|
+
const ids = _.chain(identifiers.items)
|
|
309
|
+
.reject('group')
|
|
310
|
+
.map('id')
|
|
311
|
+
.value();
|
|
312
|
+
const data = {
|
|
313
|
+
identifiers: ids,
|
|
314
|
+
...this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {},
|
|
315
|
+
};
|
|
316
|
+
console.warn('data', data);
|
|
317
|
+
return this._sdkApi.makeRequest<List<IdentifierTrigger>>({
|
|
318
|
+
method: 'POST',
|
|
319
|
+
route: '/http/provider/get-identifiers-triggers',
|
|
320
|
+
data,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
private async _fetchIdentifiers(id?: Identifier['id'], groupDetails = true): Promise<Identifier[]> {
|
|
325
|
+
const params = {
|
|
326
|
+
fullInfo: true,
|
|
327
|
+
groupDetails,
|
|
328
|
+
identifier: id ? id : undefined,
|
|
329
|
+
...this._sdkApi.isCrossAccount ? { accountId: this._sdkApi.currentAccountId } : {},
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
return this._sdkApi.makeRequest<Identifier[]>({
|
|
333
|
+
method: 'GET',
|
|
334
|
+
route: '/http/provider/identifiers',
|
|
335
|
+
params,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Identifiers } from './
|
|
1
|
+
export { Identifiers } from './identifiers';
|
|
2
2
|
export * from './types';
|
package/src/types.ts
CHANGED
|
@@ -2,10 +2,17 @@ import { Token } from '@or-sdk/base';
|
|
|
2
2
|
|
|
3
3
|
export type IdentifiersConfig = {
|
|
4
4
|
/**
|
|
5
|
-
* token
|
|
5
|
+
* Auth token
|
|
6
|
+
* @type Token
|
|
6
7
|
*/
|
|
7
8
|
token: Token;
|
|
8
9
|
|
|
10
|
+
/**
|
|
11
|
+
* OneReach SDK API URL<br/>
|
|
12
|
+
* @example "https://sdkapi.qa.api.onereach.ai"
|
|
13
|
+
*/
|
|
14
|
+
sdkUrl?: string;
|
|
15
|
+
|
|
9
16
|
/**
|
|
10
17
|
* Url of OneReach service discovery api
|
|
11
18
|
*/
|
|
@@ -15,23 +22,13 @@ export type IdentifiersConfig = {
|
|
|
15
22
|
* Account ID for cross-account requests (super admin only)
|
|
16
23
|
*/
|
|
17
24
|
accountId?: string;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Url of OneReach SDK api
|
|
21
|
-
*/
|
|
22
|
-
sdkUrl?: string;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Url of OneReach data-hub
|
|
26
|
-
*/
|
|
27
|
-
dataHubUrl?: string;
|
|
28
25
|
};
|
|
29
26
|
|
|
30
|
-
export type Type = 'local'|'tollfree'|'mobile';
|
|
27
|
+
export type Type = 'local' | 'tollfree' | 'mobile';
|
|
31
28
|
|
|
32
|
-
export type PatternType = 'starts'|'ends'|'contains';
|
|
29
|
+
export type PatternType = 'starts' | 'ends' | 'contains';
|
|
33
30
|
|
|
34
|
-
export type Capability = 'voice'|'sms'|'mms';
|
|
31
|
+
export type Capability = 'voice' | 'sms' | 'mms';
|
|
35
32
|
|
|
36
33
|
export type SingleIdentifierNormal = {
|
|
37
34
|
id: string;
|
|
@@ -66,6 +63,15 @@ export type SingleIdentifierCrossAccount = {
|
|
|
66
63
|
|
|
67
64
|
export type SingleIdentifier = SingleIdentifierNormal & SingleIdentifierCrossAccount;
|
|
68
65
|
|
|
66
|
+
export type IdentifierTrigger = {
|
|
67
|
+
keywords: [];
|
|
68
|
+
value: string;
|
|
69
|
+
type: string;
|
|
70
|
+
used: {
|
|
71
|
+
flowId: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
|
|
69
75
|
export type GroupIdentifierNormal = {
|
|
70
76
|
id: string;
|
|
71
77
|
name: string;
|
|
@@ -134,31 +140,3 @@ export type IdentifierProvider = {
|
|
|
134
140
|
name: string;
|
|
135
141
|
settings: IdentifierProviderSettings;
|
|
136
142
|
};
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
export type CreateIdentifierParams = {
|
|
140
|
-
type: string;
|
|
141
|
-
data: object;
|
|
142
|
-
name: string;
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
export type IdentifierV2 = CreateIdentifierParams & {
|
|
147
|
-
dateCreated: Date;
|
|
148
|
-
dateModified: Date;
|
|
149
|
-
schemaVersion: string;
|
|
150
|
-
accountId: string;
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
export type ListIdentifiersV2 = {
|
|
154
|
-
query?: object;
|
|
155
|
-
projection?: string[];
|
|
156
|
-
group?: string;
|
|
157
|
-
limit?: number;
|
|
158
|
-
offset?: number;
|
|
159
|
-
order?: string;
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
export type DeleteIdentifierV2 = {
|
|
163
|
-
name: string;
|
|
164
|
-
};
|
package/vitest.config.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
test: {
|
|
5
|
+
reporters: ['junit', 'basic'],
|
|
6
|
+
outputFile: 'test-results/junit.xml',
|
|
7
|
+
coverage: {
|
|
8
|
+
all: true,
|
|
9
|
+
reporter: ['text', 'json', 'html', 'cobertura', 'text-summary'],
|
|
10
|
+
clean: true,
|
|
11
|
+
include: [
|
|
12
|
+
'src/**',
|
|
13
|
+
],
|
|
14
|
+
exclude: [
|
|
15
|
+
'src/types.ts',
|
|
16
|
+
'**/*.spec.ts',
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
globals: true,
|
|
20
|
+
environment: 'node',
|
|
21
|
+
clearMocks: true,
|
|
22
|
+
watch: false,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Identifiers.js","sourceRoot":"","sources":["../../src/Identifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Identifiers.js","sourceRoot":"","sources":["../../src/Identifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Identifiers.d.ts","sourceRoot":"","sources":["../../src/Identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAY,MAAM,cAAc,CAAC;AAGpD,OAAO,EACL,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAyB,oBAAoB,EAAE,iCAAiC,EAAE,gBAAgB,EACzQ,MAAM,SAAS,CAAC;AAKjB,qBAAa,WAAY,SAAQ,IAAI;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,iBAAiB;IAiB/B,IAAI;YAII,gBAAgB;IAqBjB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAYlD,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAYtD,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB9D,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAwBlE,yBAAyB,CAAC,MAAM,GAAE,iCAAsC,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAmB9G,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD,aAAa,CAAC,WAAW,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmBzG,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAE,kBAAkB,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlH,aAAa,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAkB9C,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnE,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7D,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAOnF"}
|