@wazo/sdk 0.41.1 → 0.42.0-rc.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/dist/wazo-sdk.js +42 -41913
- package/esm/__tests__/api-client.test.js +15 -5
- package/esm/api/confd.js +2 -0
- package/esm/domain/CallerID.js +24 -0
- package/esm/domain/Features.js +7 -1
- package/esm/index.js +1 -0
- package/esm/service/__tests__/IssueReporter.test.js +5 -1
- package/esm/types/api/confd.d.ts +2 -0
- package/esm/types/api/confd.d.ts.map +1 -1
- package/esm/types/domain/CallerID.d.ts +22 -0
- package/esm/types/domain/CallerID.d.ts.map +1 -0
- package/esm/types/domain/Features.d.ts +2 -0
- package/esm/types/domain/Features.d.ts.map +1 -1
- package/esm/types/index.d.ts +1 -0
- package/esm/types/index.d.ts.map +1 -1
- package/esm/types/service/getApiClient.d.ts.map +1 -1
- package/esm/types/simple/index.d.ts +2 -0
- package/esm/types/simple/index.d.ts.map +1 -1
- package/esm/types/utils/PhoneNumberUtil.d.ts +5 -6
- package/esm/types/utils/PhoneNumberUtil.d.ts.map +1 -1
- package/esm/types/utils/array.d.ts.map +1 -1
- package/esm/utils/PhoneNumberUtil.js +27 -19
- package/esm/utils/__tests__/PhoneNumberUtil.test.js +23 -6
- package/esm/utils/__tests__/api-requester.test.js +19 -15
- package/esm/web-rtc-client.js +1 -1
- package/esm/websocket-client.js +1 -1
- package/lib/__tests__/api-client.test.js +15 -5
- package/lib/api/confd.js +2 -0
- package/lib/checker/Checker.js +2 -2
- package/lib/domain/CallerID.js +27 -0
- package/lib/domain/Features.js +6 -1
- package/lib/domain/Phone/WebRTCPhone.js +12 -12
- package/lib/index.js +4 -2
- package/lib/service/CallApi.js +4 -4
- package/lib/service/__tests__/IssueReporter.test.js +5 -1
- package/lib/simple/Auth.js +5 -5
- package/lib/simple/Phone.js +9 -9
- package/lib/simple/room/Participant.js +2 -2
- package/lib/simple/room/Room.js +8 -8
- package/lib/simple/room/SipRoom.js +2 -2
- package/lib/simple/utils.js +1 -1
- package/lib/types/api/confd.d.ts +2 -0
- package/lib/types/api/confd.d.ts.map +1 -1
- package/lib/types/domain/CallerID.d.ts +22 -0
- package/lib/types/domain/CallerID.d.ts.map +1 -0
- package/lib/types/domain/Features.d.ts +2 -0
- package/lib/types/domain/Features.d.ts.map +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/service/getApiClient.d.ts.map +1 -1
- package/lib/types/simple/index.d.ts +2 -0
- package/lib/types/simple/index.d.ts.map +1 -1
- package/lib/types/utils/PhoneNumberUtil.d.ts +5 -6
- package/lib/types/utils/PhoneNumberUtil.d.ts.map +1 -1
- package/lib/types/utils/array.d.ts.map +1 -1
- package/lib/utils/PhoneNumberUtil.js +28 -25
- package/lib/utils/__tests__/PhoneNumberUtil.test.js +22 -5
- package/lib/utils/__tests__/api-requester.test.js +19 -15
- package/lib/utils/api-requester.js +2 -2
- package/lib/web-rtc-client.js +23 -27
- package/lib/websocket-client.js +1 -1
- package/package.json +23 -21
- package/src/__tests__/api-client.test.ts +15 -5
- package/src/api/confd.ts +3 -0
- package/src/domain/CallerID.ts +49 -0
- package/src/domain/Features.ts +9 -1
- package/src/index.ts +1 -0
- package/src/service/__tests__/IssueReporter.test.ts +5 -1
- package/src/utils/PhoneNumberUtil.ts +31 -24
- package/src/utils/__tests__/PhoneNumberUtil.test.ts +31 -6
- package/src/utils/__tests__/api-requester.test.ts +20 -16
- package/src/web-rtc-client.ts +1 -1
- package/src/websocket-client.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getDisplayableNumber, getCallableNumber } from '../PhoneNumberUtil';
|
|
1
|
+
import { getDisplayableNumber, getCallableNumber, guessParsePhoneNumber } from '../PhoneNumberUtil';
|
|
2
2
|
|
|
3
3
|
describe('Formatting phone numbers', () => {
|
|
4
4
|
it('should not format all phone numbers', () => {
|
|
@@ -8,30 +8,34 @@ describe('Formatting phone numbers', () => {
|
|
|
8
8
|
expect(getDisplayableNumber('#23445433', 'DE')).toBe('#23445433');
|
|
9
9
|
expect(getDisplayableNumber('0080510', 'FR')).toBe('0080510');
|
|
10
10
|
});
|
|
11
|
+
|
|
11
12
|
it('should format real phone numbers', () => {
|
|
12
13
|
expect(getDisplayableNumber('+33675456545', 'FR')).toBe('06 75 45 65 45');
|
|
13
14
|
expect(getDisplayableNumber('0675456545', 'FR')).toBe('06 75 45 65 45');
|
|
14
15
|
expect(getDisplayableNumber('+33675456545', 'US')).toBe('+33 6 75 45 65 45');
|
|
15
|
-
expect(getDisplayableNumber('0675456545', 'US')).toBe('+
|
|
16
|
+
expect(getDisplayableNumber('0675456545', 'US')).toBe('+33 6 75 45 65 45');
|
|
16
17
|
expect(getDisplayableNumber('4188884356', 'US')).toBe('(418) 888-4356');
|
|
17
18
|
});
|
|
19
|
+
|
|
18
20
|
it('should format real phone numbers when typing', () => {
|
|
19
21
|
expect(getDisplayableNumber('+3367545', 'FR', true)).toBe('+33 6 75 45');
|
|
20
22
|
expect(getDisplayableNumber('067545', 'FR', true)).toBe('06 75 45');
|
|
21
23
|
expect(getDisplayableNumber('+3367545', 'US', true)).toBe('+33 6 75 45');
|
|
22
24
|
expect(getDisplayableNumber('067545', 'US', true)).toBe('067545');
|
|
23
|
-
expect(getDisplayableNumber('418808', 'US', true)).toBe('418
|
|
25
|
+
expect(getDisplayableNumber('418808', 'US', true)).toBe('(418) 808');
|
|
24
26
|
});
|
|
27
|
+
|
|
25
28
|
it('should use the international number if the country number is different from the given country', () => {
|
|
26
|
-
expect(getDisplayableNumber('00201005803648', 'FR')).toBe('+20
|
|
27
|
-
expect(getDisplayableNumber('+14188004554', 'FR')).toBe('+1 418
|
|
28
|
-
expect(getDisplayableNumber('00201005803648', 'EG')).toBe('
|
|
29
|
+
expect(getDisplayableNumber('00201005803648', 'FR')).toBe('+20 10 05803648');
|
|
30
|
+
expect(getDisplayableNumber('+14188004554', 'FR')).toBe('+1 418 800 4554');
|
|
31
|
+
expect(getDisplayableNumber('00201005803648', 'EG')).toBe('010 05803648');
|
|
29
32
|
expect(getDisplayableNumber('0634543450', 'FR')).toBe('06 34 54 34 50');
|
|
30
33
|
expect(getDisplayableNumber('4188034302', 'US')).toBe('(418) 803-4302');
|
|
31
34
|
expect(getDisplayableNumber('8775863230', 'CA')).toBe('(877) 586-3230');
|
|
32
35
|
expect(getDisplayableNumber('8775863230', 'US')).toBe('(877) 586-3230');
|
|
33
36
|
});
|
|
34
37
|
});
|
|
38
|
+
|
|
35
39
|
describe('getCallableNumber', () => {
|
|
36
40
|
it('works with a country', () => {
|
|
37
41
|
expect(getCallableNumber('+33 6 75 45 12 34', 'FR')).toBe('0675451234');
|
|
@@ -43,6 +47,7 @@ describe('getCallableNumber', () => {
|
|
|
43
47
|
expect(getCallableNumber('*10', 'US')).toBe('*10');
|
|
44
48
|
expect(getCallableNumber('9000', 'US')).toBe('9000');
|
|
45
49
|
});
|
|
50
|
+
|
|
46
51
|
it('works without a country', () => {
|
|
47
52
|
expect(getCallableNumber('06 75 45')).toBe('067545');
|
|
48
53
|
expect(getCallableNumber('067-545')).toBe('067545');
|
|
@@ -52,3 +57,23 @@ describe('getCallableNumber', () => {
|
|
|
52
57
|
expect(getCallableNumber('9000')).toBe('9000');
|
|
53
58
|
});
|
|
54
59
|
});
|
|
60
|
+
|
|
61
|
+
describe('guessParsePhoneNumber', () => {
|
|
62
|
+
it('should guess with default countries', () => {
|
|
63
|
+
const parsedNumber = guessParsePhoneNumber('0675456545');
|
|
64
|
+
expect(parsedNumber?.country).toBe('FR');
|
|
65
|
+
expect(parsedNumber?.isValid()).toBe(true);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it('should guess with specified countries', () => {
|
|
69
|
+
const parsedNumber = guessParsePhoneNumber('752097514', undefined, ['JP']);
|
|
70
|
+
expect(parsedNumber?.country).toBe('JP');
|
|
71
|
+
expect(parsedNumber?.isValid()).toBe(true);
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
it('should used use defaultCountry has guesser', () => {
|
|
75
|
+
const parsedNumber = guessParsePhoneNumber('752097514', 'JP', []);
|
|
76
|
+
expect(parsedNumber?.country).toBe('JP');
|
|
77
|
+
expect(parsedNumber?.isValid()).toBe(true);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
@@ -79,12 +79,14 @@ describe('Retrieving headers', () => {
|
|
|
79
79
|
});
|
|
80
80
|
describe('Calling fetch', () => {
|
|
81
81
|
it('should call fetch without body but query string in get method', async () => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
Object.defineProperty(global, 'fetch', {
|
|
83
|
+
value: jest.fn(() => Promise.resolve({
|
|
84
|
+
json: () => Promise.resolve({}),
|
|
85
|
+
headers: {
|
|
86
|
+
get: () => '',
|
|
87
|
+
},
|
|
88
|
+
}) as any),
|
|
89
|
+
});
|
|
88
90
|
|
|
89
91
|
await new ApiRequester({
|
|
90
92
|
server,
|
|
@@ -107,17 +109,19 @@ describe('Calling fetch', () => {
|
|
|
107
109
|
describe('With a refresh token', () => {
|
|
108
110
|
it('should retry the call with a new token', async () => {
|
|
109
111
|
let calls = 0;
|
|
112
|
+
Object.defineProperty(global, 'fetch', {
|
|
113
|
+
value: jest.fn(() => {
|
|
114
|
+
calls++;
|
|
115
|
+
return Promise.resolve({
|
|
116
|
+
headers: {
|
|
117
|
+
get: () => 'application/json',
|
|
118
|
+
},
|
|
119
|
+
status: calls === 1 ? 401 : 200,
|
|
120
|
+
json: () => Promise.resolve({}),
|
|
121
|
+
} as any);
|
|
122
|
+
}),
|
|
123
|
+
});
|
|
110
124
|
|
|
111
|
-
global.fetch = jest.fn(() => {
|
|
112
|
-
calls++;
|
|
113
|
-
return Promise.resolve({
|
|
114
|
-
headers: {
|
|
115
|
-
get: () => 'application/json',
|
|
116
|
-
},
|
|
117
|
-
status: calls === 1 ? 401 : 200,
|
|
118
|
-
json: () => Promise.resolve({}),
|
|
119
|
-
});
|
|
120
|
-
}) as any;
|
|
121
125
|
const requester = new ApiRequester({
|
|
122
126
|
server,
|
|
123
127
|
agent: null,
|
package/src/web-rtc-client.ts
CHANGED