var cpp11_variadic_function_templates = require("cpp11_variadic_function_templates"); const {A, B, C, D, variadicmix1} = cpp11_variadic_function_templates; ec = new cpp11_variadic_function_templates.EmplaceContainer(); ec.emplace(new A()); ec.emplace(new A(), new B()); ec.emplace(new A(), new B(), new C()); ec.emplace(new A(), new B(), new C(), new D()); function check(expected, got) { if (expected != got) { throw new Error("failed: {} != {}".format(expected, got)); } } a = new A(); b = new B(); c = new C(); check(variadicmix1(), 20); check(variadicmix1(a), 20); check(variadicmix1(a, b), 10); check(variadicmix1(a, b, c), 20); check(variadicmix1(11, 22), 10);