(serviceType: ServiceType<IService>)
| 166 | * ``` |
| 167 | */ |
| 168 | export function InjectProperty(serviceType: ServiceType<IService>): PropertyDecorator { |
| 169 | return function (target: object, propertyKey: string | symbol) { |
| 170 | let metadata = injectableMetadata.get((target as { constructor: Constructor }).constructor); |
| 171 | |
| 172 | if (!metadata) { |
| 173 | metadata = { |
| 174 | injectable: true, |
| 175 | dependencies: [] |
| 176 | }; |
| 177 | injectableMetadata.set((target as { constructor: Constructor }).constructor, metadata); |
| 178 | } |
| 179 | |
| 180 | if (!metadata.properties) { |
| 181 | metadata.properties = new Map(); |
| 182 | } |
| 183 | |
| 184 | metadata.properties.set(propertyKey, serviceType); |
| 185 | }; |
| 186 | } |
| 187 | |
| 188 | /** |
| 189 | * 检查类是否标记为可注入 |
no test coverage detected