/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, Type, fromEnum, markType } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
/**
 * @hidden
 */
export let DictInterpolator$3 = /*@__PURE__*/ (() => {
    class DictInterpolator$3 extends Base {
        constructor($tKey, $tValue, $tFrame, a, b, c, d) {
            super();
            this.$tKey = null;
            this.$tValue = null;
            this.$tFrame = null;
            this.b = null;
            this.d = null;
            this.e = null;
            this.c = null;
            this.a = null;
            this.$tKey = $tKey;
            this.$tValue = $tValue;
            this.$tFrame = $tFrame;
            this.$type = this.$type.specialize(this.$tKey, this.$tValue, this.$tFrame);
            this.b = a;
            this.d = b;
            this.e = c;
            this.c = d;
            this.a = Type.getDefaultValue(this.$tValue);
        }
        f(a, b, c, d, e, f) {
            let g = new List$1(this.$tKey, 0);
            for (let h of fromEnum(a.keys)) {
                let i = this.a;
                let j = this.a;
                let k = a.item(h);
                let l = ((() => { let m = c.tryGetValue(h, i); i = m.p1; return m.ret; })());
                let m = ((() => { let n = d.tryGetValue(h, j); j = n.p1; return n.ret; })());
                if (!l && !m) {
                    g.add(h);
                }
                else {
                    this.b(k, b, i, j, e, f);
                    if (!this.e(k)) {
                        g.add(h);
                    }
                }
            }
            for (let n of fromEnum(g)) {
                a.removeItem(n);
            }
            for (let o of fromEnum(c.keys)) {
                let p = c.item(o);
                let q = this.a;
                let r = this.a;
                let s = d.tryGetValue(o, q);
                q = s.p1;
                let t = ((() => { let u = a.tryGetValue(o, r); r = u.p1; return u.ret; })());
                if (!t) {
                    r = this.c();
                    this.b(r, b, p, q, e, f);
                    if (!this.e(r)) {
                        continue;
                    }
                    a.addItem(this.d(r), r);
                }
            }
            for (let u of fromEnum(d.keys)) {
                let v = d.item(u);
                let w = this.a;
                let x = this.a;
                let y = ((() => { let z = c.tryGetValue(u, w); w = z.p1; return z.ret; })());
                let z = ((() => { let aa = a.tryGetValue(u, x); x = aa.p1; return aa.ret; })());
                if (!z && !y) {
                    x = this.c();
                    this.b(x, b, w, v, e, f);
                    if (!this.e(x)) {
                        continue;
                    }
                    a.addItem(this.d(x), x);
                }
            }
        }
    }
    DictInterpolator$3.$t = markType(DictInterpolator$3, 'DictInterpolator$3');
    return DictInterpolator$3;
})();
//# sourceMappingURL=DictInterpolator$3.js.map
