From ae96ff66869e92fa797bf5ac851f3380b26df060 Mon Sep 17 00:00:00 2001 From: Henrique Gottardi Werlang Date: Tue, 23 Aug 2022 17:57:25 -0300 Subject: [PATCH 1/2] In operator. --- packages/rtl/js.pas | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/rtl/js.pas b/packages/rtl/js.pas index 48dd531..2c55116 100644 --- a/packages/rtl/js.pas +++ b/packages/rtl/js.pas @@ -974,6 +974,7 @@ function parseFloat(s: String): double; overload; external name 'parseFloat'; // function hasString(const v: JSValue): boolean; external name 'rtl.hasString';// isString(v) and v<>'' function hasValue(const v: JSValue): boolean; assembler; // returns the JS definition of if(v): v is not false, undefined, null, 0, NaN, or the empty string. Note: JS if(new Boolean(false)) returns true. +function &in(const keyName: String; const &object: TJSObject): Boolean; assembler; function isArray(const v: JSValue): boolean; external name 'rtl.isArray'; function isBoolean(const v: JSValue): boolean; assembler; function isDate(const v: JSValue): boolean; assembler; @@ -1058,6 +1059,11 @@ asm if(v){ return true; } else { return false; }; end; +function &in(const keyName: String; const &object: TJSObject): Boolean; assembler; +asm + return keyName in object; +end; + function isBoolean(const v: JSValue): boolean; assembler; asm return typeof(v) == 'boolean'; From 65efed51424c713ea46ccea63fb3048ce0d20b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Wed, 24 Aug 2022 23:54:00 +0200 Subject: [PATCH 2/2] * Renamed &in to jsIn --- packages/rtl/js.pas | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/rtl/js.pas b/packages/rtl/js.pas index 2c55116..c41ceb8 100644 --- a/packages/rtl/js.pas +++ b/packages/rtl/js.pas @@ -974,7 +974,7 @@ function parseFloat(s: String): double; overload; external name 'parseFloat'; // function hasString(const v: JSValue): boolean; external name 'rtl.hasString';// isString(v) and v<>'' function hasValue(const v: JSValue): boolean; assembler; // returns the JS definition of if(v): v is not false, undefined, null, 0, NaN, or the empty string. Note: JS if(new Boolean(false)) returns true. -function &in(const keyName: String; const &object: TJSObject): Boolean; assembler; +function jsIn(const keyName: String; const &object: TJSObject): Boolean; assembler; function isArray(const v: JSValue): boolean; external name 'rtl.isArray'; function isBoolean(const v: JSValue): boolean; assembler; function isDate(const v: JSValue): boolean; assembler; @@ -1059,7 +1059,7 @@ asm if(v){ return true; } else { return false; }; end; -function &in(const keyName: String; const &object: TJSObject): Boolean; assembler; +function jsIn(const keyName: String; const &object: TJSObject): Boolean; assembler; asm return keyName in object; end;