<commit_before><commit_msg>Implements `numericMap` data structure<commit_after>namespace Styx.Collections {
    export interface NumericMap<T> {
        add(key: number, value: T);
        contains(key: number): boolean;
        get(key: number): T;
    }

    interface LookupObject<T> {
        [key: number]: T;
    }

    export const NumericMap = {
        create: createMap
    };

    function createMap<T>(): NumericMap<T> {
        let lookup: LookupObject<T> = {};

        return {
            add(key, value) {
                lookup[key] = value;
            },

            contains(key) {
                return lookup.hasOwnProperty(key.toString());
            },

            get(key) {
                return lookup[key];
            }
        };
    }
}
{'fraction_non_alphanumeric': 0.1203104786545925, 'fraction_numerical': 0.0, 'mean_word_length': 1.6506849315068493, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, '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': '5143947', 'n_tokens_mistral': 226, 'n_tokens_neox': 216, 'n_words': 45}