'use strict';

const isObject = value => value !== null &&
	(typeof value === 'object' || typeof value === 'function');

module.exports = value => (
	value instanceof Promise ||
	(
		isObject(value) &&
		typeof value.then === 'function' &&
		typeof value.catch === 'function'
	)
);