1515 */
1616import * as validator from '../utils/validator' ;
1717import { AuthClientErrorCode , FirebaseAuthError } from '../utils/error' ;
18- import { deepCopy } from '../utils/deep-copy' ;
18+ import { deepCopy } from '../utils/deep-copy' ;
1919
2020export interface PasskeyConfigRequest {
2121 expectedOrigins ?: string [ ] ;
@@ -38,94 +38,95 @@ export class PasskeyConfig {
3838 public readonly rpId ?: string ;
3939 public readonly expectedOrigins ?: string [ ] ;
4040
41- private static validate ( isCreateRequest : boolean , passkeyConfigRequest ?: PasskeyConfigRequest , rpId ?: string ) {
42- if ( isCreateRequest && ! validator . isNonEmptyString ( rpId ) ) {
43- throw new FirebaseAuthError (
44- AuthClientErrorCode . INVALID_ARGUMENT ,
45- `' rpId' must be a valid non-empty string'` ,
46- ) ;
41+ private static validate ( isCreateRequest : boolean , passkeyConfigRequest ?: PasskeyConfigRequest , rpId ?: string ) : void {
42+ if ( isCreateRequest && ! validator . isNonEmptyString ( rpId ) ) {
43+ throw new FirebaseAuthError (
44+ AuthClientErrorCode . INVALID_ARGUMENT ,
45+ '\' rpId\ ' must be a valid non-empty string\'' ,
46+ ) ;
4747 }
48- if ( ! isCreateRequest && typeof rpId !== 'undefined' ) {
49- throw new FirebaseAuthError (
50- AuthClientErrorCode . INVALID_ARGUMENT ,
51- `' rpId' cannot be changed once created.'` ,
52- ) ;
48+ if ( ! isCreateRequest && typeof rpId !== 'undefined' ) {
49+ throw new FirebaseAuthError (
50+ AuthClientErrorCode . INVALID_ARGUMENT ,
51+ '\' rpId\ ' cannot be changed once created.\'' ,
52+ ) ;
5353 }
54- if ( ! validator . isNonNullObject ( passkeyConfigRequest ) ) {
55- throw new FirebaseAuthError (
56- AuthClientErrorCode . INVALID_ARGUMENT ,
57- `' passkeyConfigRequest' must be a valid non-empty object.'` ,
58- ) ;
54+ if ( ! validator . isNonNullObject ( passkeyConfigRequest ) ) {
55+ throw new FirebaseAuthError (
56+ AuthClientErrorCode . INVALID_ARGUMENT ,
57+ '\' passkeyConfigRequest\ ' must be a valid non-empty object.\'' ,
58+ ) ;
5959 }
6060 const validKeys = {
61- expectedOrigins : true ,
61+ expectedOrigins : true ,
6262 } ;
6363 // Check for unsupported top level attributes.
6464 for ( const key in passkeyConfigRequest ) {
65- if ( ! ( key in validKeys ) ) {
66- throw new FirebaseAuthError (
67- AuthClientErrorCode . INVALID_ARGUMENT ,
68- `'${ key } ' is not a valid PasskeyConfigRequest parameter.` ,
69- ) ;
70- }
71- }
72- if ( ! validator . isNonEmptyArray ( passkeyConfigRequest . expectedOrigins ) ) {
65+ if ( ! ( key in validKeys ) ) {
7366 throw new FirebaseAuthError (
74- AuthClientErrorCode . INVALID_ARGUMENT ,
75- `'passkeyConfigRequest.expectedOrigins' must be a valid non-empty array of strings.'` ,
76- ) ;
67+ AuthClientErrorCode . INVALID_ARGUMENT ,
68+ `'${ key } ' is not a valid PasskeyConfigRequest parameter.` ,
69+ ) ;
70+ }
71+ }
72+ if ( ! validator . isNonEmptyArray ( passkeyConfigRequest . expectedOrigins ) ) {
73+ throw new FirebaseAuthError (
74+ AuthClientErrorCode . INVALID_ARGUMENT ,
75+ '\'passkeyConfigRequest.expectedOrigins\' must be a valid non-empty array of strings.\'' ,
76+ ) ;
7777 }
7878 for ( const origin of passkeyConfigRequest . expectedOrigins ) {
7979 if ( ! validator . isNonEmptyString ( origin ) ) {
8080 throw new FirebaseAuthError (
8181 AuthClientErrorCode . INVALID_ARGUMENT ,
82- `' passkeyConfigRequest.expectedOrigins' must be a valid non-empty array of strings.'` ,
82+ '\' passkeyConfigRequest.expectedOrigins\ ' must be a valid non-empty array of strings.\'' ,
8383 ) ;
8484 }
8585 }
86- } ;
86+ }
8787
88- public static buildServerRequest ( isCreateRequest : boolean , passkeyConfigRequest ?: PasskeyConfigRequest , rpId ?: string ) : PasskeyConfigClientRequest {
88+ public static buildServerRequest ( isCreateRequest : boolean , passkeyConfigRequest ?: PasskeyConfigRequest ,
89+ rpId ?: string ) : PasskeyConfigClientRequest {
8990 PasskeyConfig . validate ( isCreateRequest , passkeyConfigRequest , rpId ) ;
90- let request : PasskeyConfigClientRequest = { } ;
91- if ( isCreateRequest && typeof rpId !== 'undefined' ) {
92- request . rpId = rpId ;
91+ const request : PasskeyConfigClientRequest = { } ;
92+ if ( isCreateRequest && typeof rpId !== 'undefined' ) {
93+ request . rpId = rpId ;
9394 }
94- if ( typeof passkeyConfigRequest ?. expectedOrigins !== 'undefined' ) {
95- request . expectedOrigins = passkeyConfigRequest . expectedOrigins ;
95+ if ( typeof passkeyConfigRequest ?. expectedOrigins !== 'undefined' ) {
96+ request . expectedOrigins = passkeyConfigRequest . expectedOrigins ;
9697 }
9798 return request ;
98- } ;
99+ }
99100
100101 constructor ( response : PasskeyConfigServerResponse ) {
101- if ( typeof response . name !== 'undefined' ) {
102- this . name = response . name ;
102+ if ( typeof response . name !== 'undefined' ) {
103+ this . name = response . name ;
103104 }
104- if ( typeof response . rpId !== 'undefined' ) {
105- this . rpId = response . rpId ;
106- } ;
107- if ( typeof response . expectedOrigins !== 'undefined' ) {
108- this . expectedOrigins = response . expectedOrigins ;
105+ if ( typeof response . rpId !== 'undefined' ) {
106+ this . rpId = response . rpId ;
109107 }
110- } ;
108+ if ( typeof response . expectedOrigins !== 'undefined' ) {
109+ this . expectedOrigins = response . expectedOrigins ;
110+ }
111+ }
111112
112113 public toJSON ( ) : object {
113114 const json = {
114115 name : deepCopy ( this . name ) ,
115116 rpId : deepCopy ( this . rpId ) ,
116117 expectedOrigins : deepCopy ( this . expectedOrigins ) ,
117118 } ;
118- if ( typeof json . name === 'undefined' ) {
119+ if ( typeof json . name === 'undefined' ) {
119120 delete json . name ;
120121 }
121- if ( typeof json . rpId === 'undefined' ) {
122+ if ( typeof json . rpId === 'undefined' ) {
122123 delete json . rpId ;
123124 }
124- if ( typeof json . expectedOrigins === 'undefined' ) {
125+ if ( typeof json . expectedOrigins === 'undefined' ) {
125126 delete json . expectedOrigins ;
126127 }
127128 return json ;
128129 }
129130
130- } ;
131+ }
131132
0 commit comments