Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MengZian
arrayLikeMethods-ECMAScript-module
提交
c45db217
A
arrayLikeMethods-ECMAScript-module
项目概览
MengZian
/
arrayLikeMethods-ECMAScript-module
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
arrayLikeMethods-ECMAScript-module
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c45db217
编写于
8月 28, 2023
作者:
MengZian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1693145244301
上级
3a612ce5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
69 addition
and
55 deletion
+69
-55
arrayLikeMethods.js
arrayLikeMethods.js
+69
-55
未找到文件。
arrayLikeMethods.js
浏览文件 @
c45db217
/*!
arrayLikeMethods.js
date 169
2547463377 [Mon Aug 21 2023 00:04:23
GMT+0800 (China Standard Time)]
date 169
3145244301 [Sun Aug 27 2023 22:07:24
GMT+0800 (China Standard Time)]
(c) 2023 Bright_Leader
Licensed under the Apache-2.0.
*/
...
...
@@ -163,9 +163,8 @@ ESLint [ http://eslint.org/ ] configurations
require
/* eslint-disable-line no-undef */
===
typeFunction
)
&&
/* NodeJS environment [ http://nodejs.org ] or some other environment that uses "module.exports" to import modules? */
function
(){
const
exports_key
=
"
exports
"
;
let
exports
;
isObjectType
(
exports
=
var0
[
exports_key
])
||
(
var0
[
exports_key
]
=
exports
=
tryES5CreateNullPrototypeObject
());
let
key
,
exports
;
isObjectType
(
exports
=
var0
[
key
=
"
exports
"
])
||
(
var0
[
key
]
=
exports
=
tryES5CreateNullPrototypeObject
());
exports
[
source_key
]
=
"
module.exports
"
;
exports
[
isAsynchronous_key
]
=
isAsynchronous
;
factory
(
exports
,
var1
);
...
...
@@ -308,12 +307,12 @@ const isNotInfinity=function(value){
return
value
!==
infinity
&&
value
!==
negativeInfinity
;
};
const
is
Normal
Number
=
function
(
value
){
const
is
Finite
Number
=
function
(
value
){
return
isNumber
(
value
)
&&
isNotNaN
(
value
)
&&
isNotInfinity
(
value
);
};
const
forceToInteger
=
function
(
value
){
return
is
Normal
Number
(
value
)?
value
-
(
value
%
1
):
value
^
0
;
return
is
Finite
Number
(
value
)?
value
-
(
value
%
1
):
value
^
0
;
};
const
UNSIGNED_INT32_MAX
=
4294967295
;
...
...
@@ -534,16 +533,14 @@ const definePropertyIsFunction=isFunction(defineProperty);
return
function
(
target
,
propertyName
,
propertyValue
,
isWritable
,
isEnumerable
,
isConfigurable
){
returnOrThrowObjectType
(
target
);
definePropertyIsFunction
?
defineProperty
(
target
,
propertyName
,
{
value
:
propertyValue
,
writable
:
isWritable
,
enumerable
:
isEnumerable
,
configurable
:
isConfigurable
}
):(
target
[
propertyName
]
=
propertyValue
);
let
tempObject
;
if
(
definePropertyIsFunction
){
(
tempObject
=
new
Object_constructor
()).
value
=
propertyValue
;
tempObject
.
writable
=
isWritable
;
tempObject
.
enumerable
=
isEnumerable
;
tempObject
.
configurable
=
isConfigurable
;
defineProperty
(
target
,
propertyName
,
tempObject
);
}
else
target
[
propertyName
]
=
propertyValue
;
return
target
;
};
}();
...
...
@@ -838,40 +835,34 @@ const nSymbol=(
globalObject
.
Symbol
/* http://262.ecma-international.org/6.0/#sec-symbol-objects */
);
const
nSymbolIsFunction
=
(
isFunction
(
nSymbol
)
&&
isFunction
(
nSymbol
[
"
for
"
])
&&
/* http://262.ecma-international.org/6.0/#sec-symbol.for */
isFunction
(
nSymbol
.
keyFor
)
/* http://262.ecma-international.org/6.0/#sec-symbol.keyfor */
);
function
isSymbol
(
value
){
return
typeof
value
===
"
symbol
"
;
/* http://262.ecma-international.org/6.0/#sec-typeof-operator-runtime-semantics-evaluation */
}
const
tryES6AssignWellKnownSymbolProperty
=
function
(
target
,
symbolKeyName
,
propertyValue
,
writable
,
enumerable
,
configurable
){
tryES5DefineProperty
(
returnOrThrowObjectType
(
target
),
const
iterator_key
=
"
iterator
"
;
"
@@
"
+
symbolKeyName
,
propertyValue
,
const
nSymbolIsFunction
=
(
isFunction
(
nSymbol
)
&&
isSymbol
(
nSymbol
[
iterator_key
])
/* http://262.ecma-international.org/6.0/#sec-symbol.iterator */
);
writable
,
enumerable
,
configurable
);
const
retrieveWellKnownSymbol
=
function
(
symbolKeyName
){
let
tempKey
;
tryES5DefineProperty
(
target
,
return
(
nSymbolIsFunction
&&
symbolKeyName
in
nSymbol
&&
isSymbol
(
tempKey
=
nSymbol
[
symbolKeyName
])
/* http://262.ecma-international.org/6.0/#sec-well-known-symbols */
)?
tempKey
:
"
@@
"
+
symbolKeyName
;
};
(
nSymbolIsFunction
&&
symbolKeyName
in
nSymbol
&&
isSymbol
(
tempKey
=
nSymbol
[
symbolKeyName
])
/* http://262.ecma-international.org/6.0/#sec-well-known-symbols */
)?
tempKey
:
"
Symbol.
"
+
symbolKeyName
,
propertyValue
,
const
toStringTag_key
=
"
toStringTag
"
,
isConcatSpreadable_key
=
"
isConcatSpreadable
"
,
unscopables_key
=
"
unscopables
"
;
writable
,
enumerable
,
configurable
);
return
target
;
};
const
iterator_wellKnownSymbol
=
retrieveWellKnownSymbol
(
iterator_key
),
toStringTag_wellKnownSymbol
=
retrieveWellKnownSymbol
(
toStringTag_key
),
/* http://262.ecma-international.org/6.0/#sec-symbol.tostringtag */
isConcatSpreadable_wellKnownSymbol
=
retrieveWellKnownSymbol
(
isConcatSpreadable_key
),
/* http://262.ecma-international.org/6.0/#sec-symbol.isconcatspreadable */
unscopables_wellKnownSymbol
=
retrieveWellKnownSymbol
(
unscopables_key
);
/* http://262.ecma-international.org/6.0/#sec-symbol.unscopables */
function
returnThis_makeFunction
(){
return
function
(){
...
...
@@ -879,8 +870,6 @@ function returnThis_makeFunction(){
};
}
const
iterator_key
=
"
iterator
"
;
const
IterableIterator
=
function
(){
/* http://262.ecma-international.org/6.0/#sec-iterator-interface */
/* http://262.ecma-international.org/6.0/#sec-iterable-interface */
...
...
@@ -932,10 +921,10 @@ tryES5DefineProperty(
False
,
False
,
False
);
tryES
6AssignWellKnownSymbol
Property
(
tryES
5Define
Property
(
constructorFn_prototype
,
iterator_
key
,
/* http://262.ecma-international.org/6.0/#sec-symbol.iterator */
iterator_
wellKnownSymbol
,
returnThis_makeFunction
(),
/* http://262.ecma-international.org/6.0/#sec-%iteratorprototype%-@@iterator */
False
,
False
,
False
...
...
@@ -1026,10 +1015,10 @@ so we ignore this "if" case entirely and jump to step 9 directly.
False
,
False
,
False
);
tryES
6AssignWellKnownSymbol
Property
(
tryES
5Define
Property
(
ArrayIteratorPrototype
,
"
toStringTag
"
,
/* http://262.ecma-international.org/6.0/#sec-symbol.tostringtag */
toStringTag_wellKnownSymbol
,
"
Array Iterator
"
,
/* http://262.ecma-international.org/6.0/#sec-%arrayiteratorprototype%-@@tostringtag */
False
,
False
,
True
...
...
@@ -1344,30 +1333,30 @@ http://www.ecma-international.org/wp-content/uploads/ECMA-262_7th_edition_june_2
useDefaultDefinePropertyConfig
?
True
:
configurable
);
tryES
6AssignWellKnownSymbol
Property
(
tryES
5Define
Property
(
target
,
"
isConcatSpreadable
"
,
/* http://262.ecma-international.org/6.0/#sec-symbol.isconcatspreadable */
isConcatSpreadable_wellKnownSymbol
,
True
,
useDefaultDefinePropertyConfig
?
True
:
writable
,
useDefaultDefinePropertyConfig
?
False
:
enumerable
,
useDefaultDefinePropertyConfig
?
True
:
configurable
);
tryES
6AssignWellKnownSymbol
Property
(
tryES
5Define
Property
(
target
,
iterator_
key
,
iterator_
wellKnownSymbol
,
arrayLikeValues
,
useDefaultDefinePropertyConfig
?
True
:
writable
,
useDefaultDefinePropertyConfig
?
False
:
enumerable
,
useDefaultDefinePropertyConfig
?
True
:
configurable
);
tryES
6AssignWellKnownSymbol
Property
(
tryES
5Define
Property
(
target
,
"
unscopables
"
,
/* http://262.ecma-international.org/6.0/#sec-symbol.unscopables */
unscopables_wellKnownSymbol
,
getArraySymbolunscopables
(
tryES5CreateNullPrototypeObject
()),
useDefaultDefinePropertyConfig
?
False
:
writable
,
...
...
@@ -1384,7 +1373,7 @@ const exportStaticMethods=function(){
const
assist
=
function
(
target
){
returnOrThrowObjectType
(
target
).
isInteger
=
isInteger
;
target
.
isNotInfinity
=
isNotInfinity
;
target
.
is
NormalNumber
=
isNormal
Number
;
target
.
is
FiniteNumber
=
isFinite
Number
;
target
.
forceToInteger
=
forceToInteger
;
target
.
isUint32
=
isUint32
;
target
.
isSint32
=
isSint32
;
...
...
@@ -1493,6 +1482,31 @@ temp0[key_plus_value_itemKind]=key_plus_value_itemKind;
createArrayIterator
.
allowedKinds
=
temp0
;
(
temp0
=
tryES5CreateNullPrototypeObject
())[
iterator_key
]
=
iterator_wellKnownSymbol
;
temp0
[
toStringTag_key
]
=
toStringTag_wellKnownSymbol
;
temp0
[
isConcatSpreadable_key
]
=
isConcatSpreadable_wellKnownSymbol
;
temp0
[
unscopables_key
]
=
unscopables_wellKnownSymbol
;
tryES5DefineProperty
(
objectToExport
,
"
wellKnownSymbols
"
,
temp0
,
True
,
True
,
True
);
(
temp0
=
tryES5CreateNullPrototypeObject
())[
IteratedObject_doubleBracketString
]
=
IteratedObject_internalSlot
;
temp0
[
ArrayIteratorNextIndex_doubleBracketString
]
=
ArrayIteratorNextIndex_internalSlot
;
temp0
[
ArrayIterationKind_doubleBracketString
]
=
ArrayIterationKind_internalSlot
;
tryES5DefineProperty
(
objectToExport
,
"
uniqueSymbols
"
,
temp0
,
True
,
True
,
True
);
(
temp0
=
tryES5CreateNullPrototypeObject
()).
exportStaticMethods
=
exportStaticMethods
;
temp0
.
exportInstanceMethods
=
exportInstanceMethods
;
temp0
.
exportConstructors
=
exportConstructors
;
...
...
@@ -1504,7 +1518,7 @@ mergeObject(
);
(
temp0
=
tryES5CreateNullPrototypeObject
()).
author
=
"
Bright_Leader
"
;
temp0
.
date
=
169
2547463377
;
temp0
.
date
=
169
3145244301
;
mergeObject
(
objectToExport
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录