17 lines
544 B
JavaScript
17 lines
544 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var hasOwn = require('hasown');
|
||
|
|
||
|
// https://262.ecma-international.org/13.0/#sec-match-records
|
||
|
|
||
|
module.exports = function isMatchRecord(record) {
|
||
|
return (
|
||
|
hasOwn(record, '[[StartIndex]]')
|
||
|
&& hasOwn(record, '[[EndIndex]]')
|
||
|
&& record['[[StartIndex]]'] >= 0
|
||
|
&& record['[[EndIndex]]'] >= record['[[StartIndex]]']
|
||
|
&& String(parseInt(record['[[StartIndex]]'], 10)) === String(record['[[StartIndex]]'])
|
||
|
&& String(parseInt(record['[[EndIndex]]'], 10)) === String(record['[[EndIndex]]'])
|
||
|
);
|
||
|
};
|