// Copyright (C) 2017 André Bargull. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- description: | Test if a given function is a constructor function. defines: [isConstructor] features: [Reflect.construct] ---*/ function isConstructor(f) { if (typeof f !== "function") { throw new Test262Error("isConstructor invoked with a non-function value"); } try { Reflect.construct(function(){}, [], f); } catch (e) { return false; } return true; }