Skip to content

Commit 32746cb

Browse files
TimothyGudomenic
authored andcommitted
Implement legacy platform object
1 parent f142606 commit 32746cb

File tree

8 files changed

+2205
-94
lines changed

8 files changed

+2205
-94
lines changed

lib/constructs/interface.js

Lines changed: 543 additions & 6 deletions
Large diffs are not rendered by default.

lib/output/utils.js

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,33 @@ function tryImplForWrapper(wrapper) {
6969
const iterInternalSymbol = Symbol("internal");
7070
const IteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
7171

72+
function isArrayIndexPropName(P) {
73+
if (typeof P !== "string") {
74+
return false;
75+
}
76+
const i = P >>> 0;
77+
if (i === Math.pow(2, 32) - 1) {
78+
return false;
79+
}
80+
const s = `${i}`;
81+
if (P !== s) {
82+
return false;
83+
}
84+
return true;
85+
}
86+
87+
const supportsPropertyIndex = Symbol("supports property index");
88+
const supportedPropertyIndices = Symbol("supported property indices");
89+
const supportsPropertyName = Symbol("supports property name");
90+
const supportedPropertyNames = Symbol("supported property names");
91+
const indexedGet = Symbol("indexed property get");
92+
const indexedSetNew = Symbol("indexed property set new");
93+
const indexedSetExisting = Symbol("indexed property set existing");
94+
const namedGet = Symbol("named property get");
95+
const namedSetNew = Symbol("named property set new");
96+
const namedSetExisting = Symbol("named property set existing");
97+
const namedDelete = Symbol("named property delete");
98+
7299
module.exports = exports = {
73100
isObject,
74101
getReferenceToBytes,
@@ -82,5 +109,17 @@ module.exports = exports = {
82109
tryWrapperForImpl,
83110
tryImplForWrapper,
84111
iterInternalSymbol,
85-
IteratorPrototype
112+
IteratorPrototype,
113+
isArrayIndexPropName,
114+
supportsPropertyIndex,
115+
supportedPropertyIndices,
116+
supportsPropertyName,
117+
supportedPropertyNames,
118+
indexedGet,
119+
indexedSetNew,
120+
indexedSetExisting,
121+
namedGet,
122+
namedSetNew,
123+
namedSetExisting,
124+
namedDelete
86125
};

0 commit comments

Comments
 (0)