Sha256: 1e6017fc4fa39236e376ba4cd4b09322489573dbf17e68fa11f3bc85895b271f

Contents?: true

Size: 728 Bytes

Versions: 243

Compression:

Stored size: 728 Bytes

Contents

'use strict';

var GetIntrinsic = require('get-intrinsic');

var $TypeError = GetIntrinsic('%TypeError%');

var GetV = require('./GetV');
var IsCallable = require('./IsCallable');
var IsPropertyKey = require('./IsPropertyKey');

var inspect = require('object-inspect');

// https://262.ecma-international.org/6.0/#sec-getmethod

module.exports = function GetMethod(O, P) {
	// 7.3.9.1
	if (!IsPropertyKey(P)) {
		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
	}

	// 7.3.9.2
	var func = GetV(O, P);

	// 7.3.9.4
	if (func == null) {
		return void 0;
	}

	// 7.3.9.5
	if (!IsCallable(func)) {
		throw new $TypeError(inspect(P) + ' is not a function: ' + inspect(func));
	}

	// 7.3.9.6
	return func;
};

Version data entries

243 entries across 27 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.32 node_modules/es-abstract/2023/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2019/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2018/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2016/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2020/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2015/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2022/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2017/GetMethod.js
immosquare-cleaner-0.1.32 node_modules/es-abstract/2021/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2023/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2015/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2021/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2018/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2022/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2019/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2016/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2020/GetMethod.js
immosquare-cleaner-0.1.31 node_modules/es-abstract/2017/GetMethod.js
immosquare-cleaner-0.1.30 node_modules/es-abstract/2023/GetMethod.js
immosquare-cleaner-0.1.30 node_modules/es-abstract/2015/GetMethod.js