* Compiles the host metadata into its partial declaration form as declared * in `R3DeclareDirectiveMetadata['host']`
(meta: R3HostMetadata)
| 208 | * in `R3DeclareDirectiveMetadata['host']` |
| 209 | */ |
| 210 | function compileHostMetadata(meta: R3HostMetadata): o.LiteralMapExpr | null { |
| 211 | const hostMetadata = new DefinitionMap<NonNullable<R3DeclareDirectiveMetadata['host']>>(); |
| 212 | hostMetadata.set( |
| 213 | 'attributes', |
| 214 | toOptionalLiteralMap(meta.attributes, (expression) => expression), |
| 215 | ); |
| 216 | hostMetadata.set('listeners', toOptionalLiteralMap(meta.listeners, o.literal)); |
| 217 | hostMetadata.set('properties', toOptionalLiteralMap(meta.properties, o.literal)); |
| 218 | |
| 219 | if (meta.specialAttributes.styleAttr) { |
| 220 | hostMetadata.set('styleAttribute', o.literal(meta.specialAttributes.styleAttr)); |
| 221 | } |
| 222 | if (meta.specialAttributes.classAttr) { |
| 223 | hostMetadata.set('classAttribute', o.literal(meta.specialAttributes.classAttr)); |
| 224 | } |
| 225 | |
| 226 | if (hostMetadata.values.length > 0) { |
| 227 | return hostMetadata.toLiteralMap(); |
| 228 | } else { |
| 229 | return null; |
| 230 | } |
| 231 | } |
| 232 | |
| 233 | function createHostDirectives( |
| 234 | hostDirectives: NonNullable<R3DirectiveMetadata['hostDirectives']>, |
no test coverage detected
searching dependent graphs…