mirror of
https://github.com/CamHenlin/MessagesForMacintosh.git
synced 2024-12-01 05:51:46 +00:00
36 lines
2.3 KiB
JavaScript
36 lines
2.3 KiB
JavaScript
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
|
|
import inspect from "./inspect.mjs";
|
|
/**
|
|
* A replacement for instanceof which includes an error warning when multi-realm
|
|
* constructors are detected.
|
|
*/
|
|
|
|
// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production
|
|
// See: https://webpack.js.org/guides/production/
|
|
export default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')
|
|
// eslint-disable-next-line no-shadow
|
|
function instanceOf(value, constructor) {
|
|
return value instanceof constructor;
|
|
} : // eslint-disable-next-line no-shadow
|
|
function instanceOf(value, constructor) {
|
|
if (value instanceof constructor) {
|
|
return true;
|
|
}
|
|
|
|
if (_typeof(value) === 'object' && value !== null) {
|
|
var _value$constructor;
|
|
|
|
var className = constructor.prototype[Symbol.toStringTag];
|
|
var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.
|
|
Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;
|
|
|
|
if (className === valueClassName) {
|
|
var stringifiedValue = inspect(value);
|
|
throw new Error("Cannot use ".concat(className, " \"").concat(stringifiedValue, "\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results."));
|
|
}
|
|
}
|
|
|
|
return false;
|
|
};
|