code: function defineInjector(options) {
      return {
          factory: options.factory, providers: options.providers || [], imports: options.imports || [],
      };
  }
docs: Construct an `InjectorDef` which configures an injector.
  
  This should be assigned to a static `ngInjectorDef` field on a type, which will then be an
  `InjectorType`.
  
  Options:
  
  * `factory`: an `InjectorType` is an instantiable type, so a zero argument `factory` function to
  create the type must be provided. If that factory function needs to inject arguments, it can
  use the `inject` function.
  * `providers`: an optional array of providers to add to the injector. Each provider must
  either have a factory or point to a type which has an `ngInjectableDef` static property (the
  type must be an `InjectableType`).
  * `imports`: an optional array of imports of other `InjectorType`s or `InjectorTypeWithModule`s
  whose providers will also be added to the injector. Locally provided types will override
  providers from imports.
  
  @experimental