4545      < raml-aware  raml ="{{amfModel}} " scope ="[[aware]] "> </ raml-aware > 
4646    </ template > 
4747    < section  class ="title "> 
48-       < h1 > [[type ]]</ h1 > 
48+       < h1 > [[_type ]]</ h1 > 
4949    </ section > 
5050    < template  is ="dom-if " if ="[[hasCustomProperties]] "> 
5151      < api-annotation-document  shape ="[[security]] "> </ api-annotation-document > 
5252    </ template > 
53-     < template  is ="dom-if " if ="[[hasDescription ]] "> 
54-       < marked-element  markdown ="[[description ]] "> 
53+     < template  is ="dom-if " if ="[[_hasDescription ]] "> 
54+       < marked-element  markdown ="[[_description ]] "> 
5555        < div  slot ="markdown-html " class ="markdown-body "> </ div > 
5656      </ marked-element > 
5757    </ template > 
58-     < template  is ="dom-if " if ="[[hasSettings ]] "> 
59-       < template  is ="dom-if " if ="[[isOauth2Settings ]] "> 
58+     < template  is ="dom-if " if ="[[_hasSettings ]] "> 
59+       < template  is ="dom-if " if ="[[_hasOA2Settings ]] "> 
6060        < h2 > Settings</ h2 > 
61-         < api-oauth2-settings-document  settings ="[[settings]] "> </ api-oauth2-settings-document > 
61+         < api-oauth2-settings-document  amf-model ="[[amfModel]]  "  settings =" [[_settings ]] "> </ api-oauth2-settings-document > 
6262      </ template > 
63-       < template  is ="dom-if " if ="[[isOauth1Settings ]] "> 
63+       < template  is ="dom-if " if ="[[_hasOA1Settings ]] "> 
6464        < h2 > Settings</ h2 > 
65-         < api-oauth1-settings-document  settings ="[[settings]] "> </ api-oauth1-settings-document > 
65+         < api-oauth1-settings-document  amf-model ="[[amfModel]]  "  settings =" [[_settings ]] "> </ api-oauth1-settings-document > 
6666      </ template > 
6767    </ template > 
68-     < template  is ="dom-if " if ="[[hasQueryParameters ]] "> 
69-       < api-parameters-document  amf-model ="[[amfModel]] " query-opened  query-parameters ="[[queryParameters ]] " narrow ="[[narrow]] "> </ api-parameters-document > 
68+     < template  is ="dom-if " if ="[[_hasQueryParameters ]] "> 
69+       < api-parameters-document  amf-model ="[[amfModel]] " query-opened  query-parameters ="[[_queryParameters ]] " narrow ="[[narrow]] "> </ api-parameters-document > 
7070    </ template > 
71-     < template  is ="dom-if " if ="[[hasHeaders ]] "> 
72-       < api-headers-document  opened  amf-model ="[[amfModel]] " headers ="[[headers ]] " narrow ="[[narrow]] "> </ api-headers-document > 
71+     < template  is ="dom-if " if ="[[_hasHeaders ]] "> 
72+       < api-headers-document  opened  amf-model ="[[amfModel]] " headers ="[[_headers ]] " narrow ="[[narrow]] "> </ api-headers-document > 
7373    </ template > 
74-     < template  is ="dom-if " if ="[[hasResponses ]] "> 
74+     < template  is ="dom-if " if ="[[_hasResponses ]] "> 
7575      < section  class ="response-documentation "> 
7676        < h2 > Responses</ h2 > 
77-         < api-responses-document  amf-model ="[[amfModel]] " returns ="[[responses ]] " narrow ="[[narrow]] "> </ api-responses-document > 
77+         < api-responses-document  amf-model ="[[amfModel]] " returns ="[[_responses ]] " narrow ="[[narrow]] "> </ api-responses-document > 
7878      </ section > 
7979    </ template > 
8080  </ template > 
@@ -105,7 +105,7 @@ <h2>Responses</h2>
105105   * @appliesMixin  ApiElements.AmfHelperMixin 
106106   */ 
107107  class  ApiSecurityDocumentation  extends  ApiElements . AmfHelperMixin ( Polymer . Element )  { 
108-     static  get  is ( )  {   return  'api-security-documentation' ;   } 
108+     static  get  is ( )  { return  'api-security-documentation' ; } 
109109    static  get  properties ( )  { 
110110      return  { 
111111        /** 
@@ -119,77 +119,76 @@ <h2>Responses</h2>
119119         * @type  {Object } 
120120         */ 
121121        security : Object , 
122+         /** 
123+          * Computed value, scheme of the security 
124+          */ 
125+         _scheme : { type : Object ,  computed : '_computeScheme(security, amfModel)' } , 
122126        /** 
123127         * Security scheme type. 
124128         */ 
125-         type : { 
129+         _type : { 
126130          type : String , 
127-           computed : '_computeType(security )' 
131+           computed : '_computeType(_scheme )' 
128132        } , 
129133
130-         description : { 
134+         _description : { 
131135          type : String , 
132-           computed : '_computeDescription(security )' 
136+           computed : '_computeDescription(_scheme )' 
133137        } , 
134138
135-         hasDescription : { 
139+         _hasDescription : { 
136140          type : Boolean , 
137-           computed : '_computeHasStringValue(description )' 
141+           computed : '_computeHasStringValue(_description )' 
138142        } , 
139143
140-         headers : { 
144+         _headers : { 
141145          type : Array , 
142-           computed : '_computeHeaders(security )' 
146+           computed : '_computeHeaders(_scheme )' 
143147        } , 
144148
145-         hasHeaders : { 
149+         _hasHeaders : { 
146150          type : Array , 
147-           computed : '_computeHasArrayValue(headers )' 
151+           computed : '_computeHasArrayValue(_headers )' 
148152        } , 
149153
150-         queryParameters : { 
154+         _queryParameters : { 
151155          type : Array , 
152-           computed : '_computeQueryParameters(security )' 
156+           computed : '_computeQueryParameters(_scheme )' 
153157        } , 
154158
155-         hasQueryParameters : { 
159+         _hasQueryParameters : { 
156160          type : Array , 
157-           computed : '_computeHasArrayValue(queryParameters )' 
161+           computed : '_computeHasArrayValue(_queryParameters )' 
158162        } , 
159163
160-         responses : { 
164+         _responses : { 
161165          type : Array , 
162-           computed : '_computeResponses(security )' 
166+           computed : '_computeResponses(_scheme )' 
163167        } , 
164168
165-         hasResponses : { 
169+         _hasResponses : { 
166170          type : Array , 
167-           computed : '_computeHasArrayValue(responses )' 
171+           computed : '_computeHasArrayValue(_responses )' 
168172        } , 
169173
170-         settings : { 
174+         _settings : { 
171175          type : Array , 
172-           computed : '_computeSettings(security )' 
176+           computed : '_computeSettings(_scheme )' 
173177        } , 
174178
175-         hasSettings : { 
179+         _hasSettings : { 
176180          type : Array , 
177-           computed : '_computeHasStringValue(settings)' 
178-         } , 
179- 
180-         isOauth2Settings : { 
181-           type : Boolean , 
182-           computed : '_computeIsOauth2Settings(hasSettings, settings)' 
181+           computed : '_computeHasStringValue(_settings)' 
183182        } , 
184183
185-         isOauth1Settings : { 
184+         _hasOA2Settings : { 
186185          type : Boolean , 
187-           computed : '_computeIsOauth1Settings(hasSettings, settings )' 
186+           computed : '_computeHasOA2Settings(_hasSettings, _settings )' 
188187        } , 
189188
190-         isCustomSettings : { 
189+         _hasOA1Settings : { 
191190          type : Boolean , 
192-           computed : '_computeIsCustomSettings(hasSettings, isOauth2Settings, isOauth1Settings, settings )' 
191+           computed : '_computeHasOA1Settings(_hasSettings, _settings )' 
193192        } , 
194193        /** 
195194         * Computed value from current `method`. True if the model contains 
@@ -209,6 +208,27 @@ <h2>Responses</h2>
209208      } ; 
210209    } 
211210
211+     _computeScheme ( security )  { 
212+       if  ( ! security )  { 
213+         return ; 
214+       } 
215+       if  ( security  instanceof  Array )  { 
216+         security  =  security [ 0 ] ; 
217+       } 
218+       if  ( this . _hasType ( security ,  this . ns . raml . vocabularies . security  +  'SecurityScheme' ) )  { 
219+         return  security ; 
220+       } 
221+       const  key  =  this . _getAmfKey ( this . ns . raml . vocabularies . security  +  'scheme' ) ; 
222+       let  scheme  =  security [ key ] ; 
223+       if  ( ! scheme )  { 
224+         return ; 
225+       } 
226+       if  ( scheme  instanceof  Array )  { 
227+         scheme  =  scheme [ 0 ] ; 
228+       } 
229+       return  scheme ; 
230+     } 
231+ 
212232    _computeType ( shape )  { 
213233      return  this . _getValue ( shape ,  this . ns . raml . vocabularies . security  +  'type' ) ; 
214234    } 
@@ -217,35 +237,19 @@ <h2>Responses</h2>
217237      return  this . _computePropertyObject ( shape ,  this . ns . raml . vocabularies . security  +  'settings' ) ; 
218238    } 
219239
220-     _computeIsOauth2Settings ( hasSettings ,  settings )  { 
240+     _computeHasOA2Settings ( hasSettings ,  settings )  { 
221241      if  ( ! hasSettings  ||  ! settings )  { 
222242        return  false ; 
223243      } 
224244      return  this . _hasType ( settings ,  this . ns . raml . vocabularies . security  +  'OAuth2Settings' ) ; 
225245    } 
226246
227-     _computeIsOauth1Settings ( hasSettings ,  settings )  { 
247+     _computeHasOA1Settings ( hasSettings ,  settings )  { 
228248      if  ( ! hasSettings  ||  ! settings )  { 
229249        return  false ; 
230250      } 
231251      return  this . _hasType ( settings ,  this . ns . raml . vocabularies . security  +  'OAuth1Settings' ) ; 
232252    } 
233- 
234-     _computeIsCustomSettings ( hasSettings ,  isOauth2Settings ,  isOauth1Settings ,  settings )  { 
235-       if  ( ! hasSettings  ||  isOauth1Settings  ||  isOauth2Settings  ||  ! settings )  { 
236-         return  false ; 
237-       } 
238-       return  this . _hasType ( settings ,  this . ns . raml . vocabularies . security  +  'Settings' ) ; 
239-     } 
240-     /** 
241-      * Computes value for `hasCustomProperties` property. 
242-      * 
243-      * @param  {Object } shape AMF `supportedOperation` model 
244-      * @return  {Boolean } 
245-      */ 
246-     _computeHasCustomProperties ( shape )  { 
247-       return  ! ! ( shape  &&  ( shape  &&  this . ns . raml . vocabularies . document  +  'customDomainProperties'  in  shape ) ) ; 
248-     } 
249253  } 
250254  window . customElements . define ( ApiSecurityDocumentation . is ,  ApiSecurityDocumentation ) ; 
251255  </ script > 
0 commit comments