/** * Options for content injections. */ export interface IdentifierInjectionOptions { /** * If true, the injected value will be null if no viable object is found in the container * If false, an error will be thrown at class creation time. */ optional?: boolean; /** * Whether to set the variable to an array of all objects matching the identifier. * If true, the value will be an array of all matching objects. * If false, the first identified object will be used. * * Note that 'optional' is still required to avoid throwing an error if no objects are found. * If both 'optional' and 'all' are true, then an empty array will be set if no objects are found. */ all?: boolean; } export interface ParameterInjectionOptions { /** * Whether this parameter is not required to be injected. * If false, the value `null` will be injected if the parameter is not defined. */ optional?: boolean; }