<commit_before>import { Action, NewAction, NormalizedAction } from "../action/types";
import { ActionNormalizer } from "../actionNormalizer";
import {
  ActionNormalizerInterface,
  NormalizeOptions
} from "../actionNormalizer/types";
import { ActionResolver } from "../actionResolver";
import { ActionResolverInterface } from "../actionResolver/types";
import { DeepPartial } from "../util/types";
import { isAction } from "../action";
import { Listener, SubscribableInterface } from "../subscribable/types";
import { Mutator } from "../mutator";
import { setWildCard } from "../event";
import { StoreInterface } from "./types";
import { Subscribable } from "../subscribable";
import { cloneDeep as _cloneDeep } from "../util";

export var actionTypes = {
  INIT: "@@init"
};

export class Store<T extends Mutator = Mutator> implements StoreInterface {
  _isMutating: boolean;
  _state: any = null;
  _action: Action;
  _effectHandler: any;
  _mutator: Mutator;
  _actionNormalizer: ActionNormalizerInterface;
  _actionResolver: ActionResolverInterface;
  _subscribable: SubscribableInterface<Store<T>>;
  _cloneDeep: typeof _cloneDeep;
  _pureByDefault: boolean;

  constructor({
    mutator,
    state,
    actionNormalizer = new ActionNormalizer(),
    actionResolver = new ActionResolver(),
    subscribable = new Subscribable(),
    cloneDeep = _cloneDeep,
    pureByDefault = false
  }: {
    mutator: T;
    state?: DeepPartial<ReturnType<ReturnType<T>>>;
    actionNormalizer?: ActionNormalizerInterface;
    actionResolver?: ActionResolverInterface;
    subscribable?: SubscribableInterface<Store<T>>;
    cloneDeep?: typeof _cloneDeep;
    pureByDefault?: boolean;
  }) {
    this._actionResolver = actionResolver;
    this._actionNormalizer = actionNormalizer;
    this._subscribable = subscribable;
    this._cloneDeep = cloneDeep;
    this._pureByDefault = pureByDefault;
<commit_msg>[FEATURE] #85: Store: Remove unused _effectHandler field<commit_after>import { Action, NewAction, NormalizedAction } from "../action/types";
import { ActionNormalizer } from "../actionNormalizer";
import {
  ActionNormalizerInterface,
  NormalizeOptions
} from "../actionNormalizer/types";
import { ActionResolver } from "../actionResolver";
import { ActionResolverInterface } from "../actionResolver/types";
import { DeepPartial } from "../util/types";
import { isAction } from "../action";
import { Listener, SubscribableInterface } from "../subscribable/types";
import { Mutator } from "../mutator";
import { setWildCard } from "../event";
import { StoreInterface } from "./types";
import { Subscribable } from "../subscribable";
import { cloneDeep as _cloneDeep } from "../util";

export var actionTypes = {
  INIT: "@@init"
};

export class Store<T extends Mutator = Mutator> implements StoreInterface {
  _isMutating: boolean;
  _state: any = null;
  _action: Action;
  _mutator: Mutator;
  _actionNormalizer: ActionNormalizerInterface;
  _actionResolver: ActionResolverInterface;
  _subscribable: SubscribableInterface<Store<T>>;
  _cloneDeep: typeof _cloneDeep;
  _pureByDefault: boolean;

  constructor({
    mutator,
    state,
    actionNormalizer = new ActionNormalizer(),
    actionResolver = new ActionResolver(),
    subscribable = new Subscribable(),
    cloneDeep = _cloneDeep,
    pureByDefault = false
  }: {
    mutator: T;
    state?: DeepPartial<ReturnType<ReturnType<T>>>;
    actionNormalizer?: ActionNormalizerInterface;
    actionResolver?: ActionResolverInterface;
    subscribable?: SubscribableInterface<Store<T>>;
    cloneDeep?: typeof _cloneDeep;
    pureByDefault?: boolean;
  }) {
    this._actionResolver = actionResolver;
    this._actionNormalizer = actionNormalizer;
    this._subscribable = subscribable;
    this._cloneDeep = cloneDeep;
    this._pureByDefault = pureByDefault;

{'fraction_non_alphanumeric': 0.11766247379454926, 'fraction_numerical': 0.0005241090146750524, 'mean_word_length': 4.604992657856094, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, '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': '3181719', 'n_tokens_mistral': 1073, 'n_tokens_neox': 1057, 'n_words': 272}