feat: add polyfills insertion for ES Next used features

This commit is contained in:
Artem Kobzar
2022-02-16 10:49:11 +00:00
committed by Space
parent 76ff717091
commit 804eb61bf0
80 changed files with 8769 additions and 6552 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
package kotlin.js
@JsNativeImplementation("""
@JsPolyfill("""
(function() {
if (typeof globalThis === 'object') return;
Object.defineProperty(Object.prototype, '__magic__', {
+2 -2
View File
@@ -5,8 +5,8 @@
@file:JsQualifier("Math")
package kotlin.js
@JsNativeImplementation("""
if (typeof Math == "object" && Math !== null & typeof Math.imul === "undefined") {
@JsPolyfill("""
if (typeof Math.imul === "undefined") {
Math.imul = function imul(a, b) {
return ((a & 0xffff0000) * (b & 0xffff) + (a & 0xffff) * (b | 0)) | 0;
}
@@ -142,9 +142,7 @@ internal fun isArray(obj: Any): Boolean {
return isJsArray(obj) && !(obj.asDynamic().`$type$`)
}
internal fun isArrayish(o: dynamic) =
isJsArray(o) || js("ArrayBuffer").isView(o).unsafeCast<Boolean>()
internal fun isArrayish(o: dynamic) = isJsArray(o) || arrayBufferIsView(o)
internal fun isChar(@Suppress("UNUSED_PARAMETER") c: Any): Boolean {
error("isChar is not implemented")