Ignore:
Timestamp:
01/21/25 03:08:24 (3 days ago)
Author:
stefan toskovski <stefantoska84@…>
Branches:
main
Parents:
0c6b92a
Message:

F4 Finalna Verzija

File:
1 edited

Legend:

Unmodified
Added
Removed
  • imaps-frontend/node_modules/es-abstract/2023/IsLooselyEqual.js

    r0c6b92a r79a0317  
    11'use strict';
    22
    3 var isFinite = require('../helpers/isFinite');
     3var isFinite = require('math-intrinsics/isFinite');
    44
    55var IsStrictlyEqual = require('./IsStrictlyEqual');
     
    99var Type = require('./Type');
    1010
     11var isObject = require('../helpers/isObject');
     12
    1113// https://262.ecma-international.org/13.0/#sec-islooselyequal
    1214
    1315module.exports = function IsLooselyEqual(x, y) {
    14         var xType = Type(x);
    15         var yType = Type(y);
    16         if (xType === yType) {
     16        if (Type(x) === Type(y)) {
    1717                return IsStrictlyEqual(x, y);
    1818        }
     
    2020                return true;
    2121        }
    22         if (xType === 'Number' && yType === 'String') {
     22        if (typeof x === 'number' && typeof y === 'string') {
    2323                return IsLooselyEqual(x, ToNumber(y));
    2424        }
    25         if (xType === 'String' && yType === 'Number') {
     25        if (typeof x === 'string' && typeof y === 'number') {
    2626                return IsLooselyEqual(ToNumber(x), y);
    2727        }
    28         if (xType === 'BigInt' && yType === 'String') {
     28        if (typeof x === 'bigint' && typeof y === 'string') {
    2929                var n = StringToBigInt(y);
    3030                if (typeof n === 'undefined') {
     
    3333                return IsLooselyEqual(x, n);
    3434        }
    35         if (xType === 'String' && yType === 'BigInt') {
     35        if (typeof x === 'string' && typeof y === 'bigint') {
    3636                return IsLooselyEqual(y, x);
    3737        }
    38         if (xType === 'Boolean') {
     38        if (typeof x === 'boolean') {
    3939                return IsLooselyEqual(ToNumber(x), y);
    4040        }
    41         if (yType === 'Boolean') {
     41        if (typeof y === 'boolean') {
    4242                return IsLooselyEqual(x, ToNumber(y));
    4343        }
    44         if ((xType === 'String' || xType === 'Number' || xType === 'Symbol' || xType === 'BigInt') && yType === 'Object') {
     44        if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol' || typeof x === 'bigint') && isObject(y)) {
    4545                return IsLooselyEqual(x, ToPrimitive(y));
    4646        }
    47         if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol' || yType === 'BigInt')) {
     47        if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol' || typeof y === 'bigint')) {
    4848                return IsLooselyEqual(ToPrimitive(x), y);
    4949        }
    50         if ((xType === 'BigInt' && yType === 'Number') || (xType === 'Number' && yType === 'BigInt')) {
     50        if ((typeof x === 'bigint' && typeof y === 'number') || (typeof x === 'number' && typeof y === 'bigint')) {
    5151                if (!isFinite(x) || !isFinite(y)) {
    5252                        return false;
Note: See TracChangeset for help on using the changeset viewer.