MCPcopy Create free account
hub / github.com/esengine/esengine / InjectProperty

Function InjectProperty

packages/core/src/Core/DI/Decorators.ts:168–186  ·  view source on GitHub ↗
(serviceType: ServiceType<IService>)

Source from the content-addressed store, hash-verified

166 * ```
167 */
168export 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 * 检查类是否标记为可注入

Callers 9

DebugManagerClass · 0.90
DependentServiceClass · 0.90
PhysicsSystemClass · 0.90
SystemBClass · 0.90
SystemCClass · 0.90
RenderSystemClass · 0.90
CombatSystemClass · 0.90
ConsumerSystemClass · 0.90

Calls 2

getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected