From 14ea9edadc965f18f91e3ed5a95065f6ccc6ddec Mon Sep 17 00:00:00 2001 From: jmagaram Date: Sun, 19 Mar 2023 20:17:12 -0700 Subject: [PATCH 1/3] Object.keysToArray documentation --- src/Core__Object.res | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Core__Object.res b/src/Core__Object.res index e2e14c50..da7029db 100644 --- a/src/Core__Object.res +++ b/src/Core__Object.res @@ -18,7 +18,22 @@ @set_index external set: ({..}, string, 'a) => unit = "" @set_index external setSymbol: ({..}, Core__Symbol.t, 'a) => unit = "" -@val external keysToArray: {..} => array = "Object.keys" +/** +`keysToArray` returns an array of an object's own enumerable string-keyed property names. + +## Examples + +```rescript +{"a": 1, "b": 2}->Object.keysToArray // ["a", "b"] +{"a": undefined}->Object.keysToArray // ["a"] +Object.empty()->Object.keysToArray // [] +``` +## Specifications +- [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.keys) +- [Object.keys on MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys) +*/ +@val +external keysToArray: {..} => array = "Object.keys" @val external hasOwnProperty: ({..}, string) => bool = "Object.prototype.hasOwnProperty.call" From 2b52a040763c1034d0ffe473af2957e0088f9265 Mon Sep 17 00:00:00 2001 From: jmagaram Date: Tue, 21 Mar 2023 10:05:46 -0700 Subject: [PATCH 2/3] change undefined to None --- src/Core__Object.res | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Core__Object.res b/src/Core__Object.res index da7029db..7c11e3f2 100644 --- a/src/Core__Object.res +++ b/src/Core__Object.res @@ -25,8 +25,7 @@ ```rescript {"a": 1, "b": 2}->Object.keysToArray // ["a", "b"] -{"a": undefined}->Object.keysToArray // ["a"] -Object.empty()->Object.keysToArray // [] +{"a": None}->Object.keysToArray // ["a"]Object.empty()->Object.keysToArray // [] ``` ## Specifications - [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.keys) From 8856175839b822e16c6677277af09547040385bc Mon Sep 17 00:00:00 2001 From: jmagaram Date: Tue, 21 Mar 2023 10:24:56 -0700 Subject: [PATCH 3/3] no Specifications header in docs --- src/Core__Object.res | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Core__Object.res b/src/Core__Object.res index 7c11e3f2..2ed21c54 100644 --- a/src/Core__Object.res +++ b/src/Core__Object.res @@ -19,17 +19,16 @@ @set_index external setSymbol: ({..}, Core__Symbol.t, 'a) => unit = "" /** -`keysToArray` returns an array of an object's own enumerable string-keyed property names. +`keysToArray` returns an array of an object's own enumerable string-keyed property names. See [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.keys) +or [Object.keys on MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys). ## Examples ```rescript {"a": 1, "b": 2}->Object.keysToArray // ["a", "b"] -{"a": None}->Object.keysToArray // ["a"]Object.empty()->Object.keysToArray // [] +{"a": None}->Object.keysToArray // ["a"] +Object.empty()->Object.keysToArray // [] ``` -## Specifications -- [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.keys) -- [Object.keys on MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys) */ @val external keysToArray: {..} => array = "Object.keys"