"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const debug_1 = require("../../../../debug");
const DeepMerge_1 = require("../../../../system/f/object/DeepMerge");
const util_1 = require("../../../util");
const system_1 = require("../../../util/system");
const deepMerge = new DeepMerge_1.default(system_1.system);
deepMerge.play();
false && (0, debug_1.watchUnitAndLog)(deepMerge);
(0, util_1.testMIMO)(deepMerge, { a: {}, b: {} }, { ab: {} });
(0, util_1.testMIMO)(deepMerge, { a: { a: 1 }, b: { b: 2 } }, { ab: { a: 1, b: 2 } });
(0, util_1.testMIMO)(deepMerge, { a: { a: 1, b: {} }, b: { b: {} } }, { ab: { a: 1, b: {} } });
(0, util_1.testMIMO)(deepMerge, { a: { a: 1, b: 1, c: { foo: [1], bar: 0 } }, b: { b: 2, c: {} } }, {
    ab: {
        a: 1,
        b: 2,
        c: { foo: [1], bar: 0 },
    },
});
(0, util_1.testMIMO)(deepMerge, {
    a: { a: 1, b: 1, c: { foo: [1], bar: 0 } },
    b: { b: 2, c: { foo: 'bar' } },
}, {
    ab: {
        a: 1,
        b: 2,
        c: { foo: 'bar', bar: 0 },
    },
});
//# sourceMappingURL=DeepMerge.js.map