Sha256: 9d296a3dec5d76f5e795bcc2432f1c258ec26bf32ecaf7cf2949005b2bacf069

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

import { get } from '@ember/-internals/metal';
import { info } from '@ember/debug';
import { DEBUG } from '@glimmer/env';
/**
@module ember
*/
/**
  Generates a controller factory

  @for Ember
  @method generateControllerFactory
  @private
*/
export function generateControllerFactory(owner, controllerName) {
    let Factory = owner.factoryFor('controller:basic').class;
    Factory = Factory.extend({
        toString() {
            return `(generated ${controllerName} controller)`;
        },
    });
    let fullName = `controller:${controllerName}`;
    owner.register(fullName, Factory);
    return Factory;
}
/**
  Generates and instantiates a controller extending from `controller:basic`
  if present, or `Controller` if not.

  @for Ember
  @method generateController
  @private
  @since 1.3.0
*/
export default function generateController(owner, controllerName) {
    generateControllerFactory(owner, controllerName);
    let fullName = `controller:${controllerName}`;
    let instance = owner.lookup(fullName);
    if (DEBUG) {
        if (get(instance, 'namespace.LOG_ACTIVE_GENERATION')) {
            info(`generated -> ${fullName}`, { fullName });
        }
    }
    return instance;
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
discourse-ember-source-3.6.0.0 dist/es/@ember/-internals/routing/lib/system/generate_controller.js