<commit_before>import {
    ICutscene, ICutscenes, ICutsceneSettings, IPartialCutsceneSettings,
    IRoutine, IScenePlayr, IScenePlayrSettings,
} from "./IScenePlayr";

/**
 * A stateful cutscene runner for jumping between scenes and their routines.
 */
export class ScenePlayr implements IScenePlayr {
    /**
     * The complete listing of cutscenes that may be played, keyed by name.
     */
    private readonly cutscenes: ICutscenes;

    /**
     * The scope routines are run in, if not this.
     */
    private readonly scope: any;

    /**
     * The currently playing cutscene.
     */
    private cutscene?: ICutscene;

    /**
     * The currently playing routine within the current cutscene.
     */
    private routine?: IRoutine;

    /**
     * The name of the current cutscene.
     */
    private cutsceneName?: string;

    /**
     * Persistent settings for the current cutscene, passed to each routine.
     */
    private cutsceneSettings: ICutsceneSettings;

    /**
     * Any additional arguments to pass to routines.
     */
    private cutsceneArguments: any[];

    /**
     * Initializes a new instance of the ScenePlayr class.
     *
     * @param settings   Settings to be used for initialization.
     */
    public constructor(settings: IScenePlayrSettings = {}) {<commit_msg>tslint@5.9.1<commit_after>import {
    ICutscene, ICutscenes, ICutsceneSettings, IPartialCutsceneSettings,
    IRoutine, IScenePlayr, IScenePlayrSettings,
} from "./IScenePlayr";

/**
 * A stateful cutscene runner for jumping between scenes and their routines.
 */
export class ScenePlayr implements IScenePlayr {
    /**
     * The complete listing of cutscenes that may be played, keyed by name.
     */
    private readonly cutscenes: ICutscenes;

    /**
     * The scope routines are run in, if not this.
     */
    private readonly scope: any;

    /**
     * The currently playing cutscene.
     */
    private cutscene?: ICutscene;

    /**
     * The currently playing routine within the current cutscene.
     */
    private routine?: IRoutine;

    /**
     * The name of the current cutscene.
     */
    private cutsceneName?: string;

    /**
     * Persistent settings for the current cutscene, passed to each routine.
     */
    private cutsceneSettings: ICutsceneSettings;

    /**
     * Any additional arguments to pass to routines.
     */
    private readonly cutsceneArguments: any[];

    /**
     * Initializes a new instance of the ScenePlayr class.
     *
     * @param settings   Settings to be used for initialization.
     */
    public constructor(settings: IScenePlayrSettings = {}) {
{'fraction_non_alphanumeric': 0.08796648895658797, 'fraction_numerical': 0.0011424219345011425, 'mean_word_length': 2.6085164835164836, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '394596', 'n_tokens_mistral': 733, 'n_tokens_neox': 724, 'n_words': 249}