refactor start

This commit is contained in:
Spectre 2025-02-18 11:19:45 +01:00
parent bd49791e06
commit e46d25f0b7
16699 changed files with 2 additions and 1484887 deletions

View file

@ -1,52 +0,0 @@
'use strict';
var $TypeError = require('es-errors/type');
var callBound = require('call-bind/callBound');
var hasOwn = require('hasown');
var $charCodeAt = callBound('String.prototype.charCodeAt');
var $toUpperCase = callBound('String.prototype.toUpperCase');
var isRegExpRecord = require('../helpers/records/regexp-record');
var caseFolding = require('../helpers/caseFolding.json');
// https://262.ecma-international.org/14.0/#sec-runtime-semantics-canonicalize-ch
module.exports = function Canonicalize(rer, ch) {
if (!isRegExpRecord(rer)) {
throw new $TypeError('Assertion failed: `rer` must be a RegExp Record');
}
if (typeof ch !== 'string') {
throw new $TypeError('Assertion failed: `ch` must be a character');
}
if (rer['[[Unicode]]'] && rer['[[IgnoreCase]]']) { // step 1
if (hasOwn(caseFolding.C, ch)) {
return caseFolding.C[ch];
}
if (hasOwn(caseFolding.S, ch)) {
return caseFolding.S[ch];
}
return ch; // step 1.b
}
if (!rer['[[IgnoreCase]]']) {
return ch; // step 2
}
var u = $toUpperCase(ch); // step 5
if (u.length !== 1) {
return ch; // step 7
}
var cu = u; // step 8
if ($charCodeAt(ch, 0) >= 128 && $charCodeAt(cu, 0) < 128) {
return ch; // step 9
}
return cu; // step 10
};