"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isGenericSerializer = isGenericSerializer;
const utils_1 = require("../utils");
const TypeSerializerMethods = [
    'serializeString',
    'serializeNumber',
    'serializeBigInt',
    'serializeBoolean',
    'serializeSymbol',
    //'serializeMap',
    'serializeIterable',
    'serializeNull',
    'serializeObject',
    'serializeClass',
];
const AnySerializerMethods = ['serializeAny'];
function isGenericSerializer(value) {
    return AnySerializerMethods.every(k => (0, utils_1.isFunction)(value[k])) &&
        TypeSerializerMethods.every(k => !(0, utils_1.isFunction)(value[k]));
}