<commit_before>import { DEBUG } from '@glimmer/env';
import ApplicationInstance from '@ember/application/instance';

// Hax because Ember does not have types for `setComponentManager`
declare module '@ember/component' {
  export function setComponentManager<T extends object>(
    factory: (owner: ApplicationInstance) => GlimmerComponentManager,
    componentClass: T
  ): T;
}

import { setComponentManager } from '@ember/component';

import GlimmerComponentManager from './-private/ember-component-manager';
import _GlimmerComponent, { Args } from './-private/component';
import { setOwner } from '@ember/application';

export default class GlimmerComponent<S> extends _GlimmerComponent<S> {
  constructor(owner: object, args: Args<S>) {
    super(owner, args);

    if (DEBUG && !(owner !== null && typeof owner === 'object')) {
      throw new Error(
        `You must pass both the owner and args to super() in your component: ${this.constructor.name}. You can pass them directly, or use ...arguments to pass all arguments through.`
      );
    }

    setOwner(this, owner);
  }
}

setComponentManager((owner: ApplicationInstance) => {
  return new GlimmerComponentManager(owner);
}, GlimmerComponent);<commit_msg>Default Glimmer Component signature to `unknown`<commit_after>import { DEBUG } from '@glimmer/env';
import ApplicationInstance from '@ember/application/instance';

// Hax because Ember does not have types for `setComponentManager`
declare module '@ember/component' {
  export function setComponentManager<T extends object>(
    factory: (owner: ApplicationInstance) => GlimmerComponentManager,
    componentClass: T
  ): T;
}

import { setComponentManager } from '@ember/component';

import GlimmerComponentManager from './-private/ember-component-manager';
import _GlimmerComponent, { Args } from './-private/component';
import { setOwner } from '@ember/application';

export default class GlimmerComponent<S = unknown> extends _GlimmerComponent<S> {
  constructor(owner: object, args: Args<S>) {
    super(owner, args);

    if (DEBUG && !(owner !== null && typeof owner === 'object')) {
      throw new Error(
        `You must pass both the owner and args to super() in your component: ${this.constructor.name}. You can pass them directly, or use ...arguments to pass all arguments through.`
      );
    }

    setOwner(this, owner);
  }
}

setComponentManager((owner: ApplicationInstance) => {
  return new GlimmerComponentManager(owner);
}, GlimmerComponent);
{'fraction_non_alphanumeric': 0.12022517088862082, 'fraction_numerical': 0.0, 'mean_word_length': 4.603603603603603, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6975498', 'n_tokens_mistral': 670, 'n_tokens_neox': 671, 'n_words': 217}