📄 promise-capability-record.js
/home/palash/git/site/node_modules/es-abstract/helpers/records/promise-capability-record.js
Language: js • Lines: 16
'use strict';

var hasOwn = require('hasown');

module.exports = function isPromiseCapabilityRecord(value) {
	return !!value
        && typeof value === 'object'
		&& hasOwn(value, '[[Resolve]]')
		&& typeof value['[[Resolve]]'] === 'function'
		&& hasOwn(value, '[[Reject]]')
		&& typeof value['[[Reject]]'] === 'function'
		&& hasOwn(value, '[[Promise]]')
		&& !!value['[[Promise]]']
        && typeof value['[[Promise]]'] === 'object'
		&& typeof value['[[Promise]]'].then === 'function';
};