Commit c1eff1c 1 parent b67d76f commit c1eff1c Copy full SHA for c1eff1c
File tree 3 files changed +56
-6
lines changed
3 files changed +56
-6
lines changed Original file line number Diff line number Diff line change 1
- export const PROVIDERS : {
1
+ /**
2
+ * @typedef {Object } Provider
3
+ * @property {string } id
4
+ * @property {string } url — url of web interface
5
+ * @property {string } label — label that will can be outputed into UI
6
+ * @property {string[] } keywords — keyword that can be used to determine that email belongs to the provider
7
+ */
8
+ /** @constant
9
+ * @type {Provider[] }
10
+ */
11
+ export const PROVIDERS : Provider [ ] ;
12
+ export function getProvider ( id : string ) : ( Provider | undefined ) ;
13
+ export function getProviderById ( id : string ) : ( Provider | undefined ) ;
14
+ export function getProviderByEmail ( email : string ) : ( Provider | undefined ) ;
15
+ export default PROVIDERS ;
16
+ export type Provider = {
2
17
id : string ;
18
+ /**
19
+ * — url of web interface
20
+ */
3
21
url : string ;
22
+ /**
23
+ * — label that will can be outputed into UI
24
+ */
4
25
label : string ;
26
+ /**
27
+ * — keyword that can be used to determine that email belongs to the provider
28
+ */
5
29
keywords : string [ ] ;
6
- } [ ] ;
7
- export function getProvider ( id : any ) : any ;
8
- export default PROVIDERS ;
30
+ } ;
9
31
//# sourceMappingURL=index.d.ts.map
Original file line number Diff line number Diff line change
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @typedef {Object } Provider
3
+ * @property {string } id
4
+ * @property {string } url — url of web interface
5
+ * @property {string } label — label that can be outputed into UI
6
+ * @property {string[] } keywords — keyword that can be used to determine that email belongs to the provider
7
+ */
8
+
9
+ /** @constant
10
+ * @type {Provider[] }
11
+ */
1
12
export const PROVIDERS = [
2
13
{
3
14
id : 'GMAIL' ,
@@ -43,6 +54,23 @@ export const PROVIDERS = [
43
54
} ,
44
55
] ;
45
56
46
- export const getProvider = ( id ) => PROVIDERS . find ( ( provider ) => provider . id === id ) ;
57
+ /**
58
+ * Gets provider by id
59
+ * @param {string } id - id of provider
60
+ * @returns {(Provider | undefined) } — returns provider object if found, and undefined if not found
61
+ */
62
+ export const getProvider = ( id ) =>
63
+ PROVIDERS . find ( ( provider ) => provider . id === id ) ; //#FIXME Completely rename to getProviderById in next version
64
+ export const getProviderById = getProvider ;
65
+
66
+ /**
67
+ * Gets provider from email
68
+ * @param {string } email - email to search
69
+ * @returns {(Provider | undefined) } — returns provider object if found, and undefined if not found
70
+ */
71
+ export const getProviderByEmail = ( email ) =>
72
+ PROVIDERS . find ( ( provider ) => {
73
+ return provider . keywords . find ( ( keyword ) => email . includes ( keyword ) ) ;
74
+ } ) ;
47
75
48
76
export default PROVIDERS ;
You can’t perform that action at this time.
0 commit comments