/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* global setImmediate */

"use strict";

module.exports = {
  executeSoon: setImmediate,
  isGenerator: function (fn) {
    if (typeof fn !== "function") {
      return false;
    }
    let proto = Object.getPrototypeOf(fn);
    if (!proto) {
      return false;
    }
    let ctor = proto.constructor;
    if (!ctor) {
      return false;
    }
    return ctor.name == "GeneratorFunction";
  }
};
