"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS = void 0;
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
const bitSet128_1 = require("../functions/bitSet128");
const color_1 = require("../functions/color");
const kColor_1 = require("../functions/kColor");
const rng_1 = require("../functions/rng");
const vector_1 = require("../functions/vector");
exports.ISAAC_API_CLASS_TYPE_TO_FUNCTIONS = {
    [isaac_typescript_definitions_1.CopyableIsaacAPIClassType.BIT_SET_128]: {
        is: bitSet128_1.isBitSet128,
        isSerialized: bitSet128_1.isSerializedBitSet128,
        copy: bitSet128_1.copyBitSet128,
        serialize: bitSet128_1.serializeBitSet128,
        deserialize: bitSet128_1.deserializeBitSet128,
    },
    [isaac_typescript_definitions_1.CopyableIsaacAPIClassType.COLOR]: {
        is: color_1.isColor,
        isSerialized: color_1.isSerializedColor,
        copy: color_1.copyColor,
        serialize: color_1.serializeColor,
        deserialize: color_1.deserializeColor,
    },
    [isaac_typescript_definitions_1.CopyableIsaacAPIClassType.K_COLOR]: {
        is: kColor_1.isKColor,
        isSerialized: kColor_1.isSerializedKColor,
        copy: kColor_1.copyKColor,
        serialize: kColor_1.serializeKColor,
        deserialize: kColor_1.deserializeKColor,
    },
    [isaac_typescript_definitions_1.CopyableIsaacAPIClassType.RNG]: {
        is: rng_1.isRNG,
        isSerialized: rng_1.isSerializedRNG,
        copy: rng_1.copyRNG,
        serialize: rng_1.serializeRNG,
        deserialize: rng_1.deserializeRNG,
    },
    [isaac_typescript_definitions_1.CopyableIsaacAPIClassType.VECTOR]: {
        is: vector_1.isVector,
        isSerialized: vector_1.isSerializedVector,
        copy: vector_1.copyVector,
        serialize: vector_1.serializeVector,
        deserialize: vector_1.deserializeVector,
    },
};
