Skip to content

Commit ffc0a8f

Browse files
committed
Merge branch 'Object.preventExtensions-documentation' into Object-docs
2 parents 23d7f0e + a37c1b8 commit ffc0a8f

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

src/Core__Object.res

+33-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,22 @@ point->Object.set("x", 13) // succeeds
6969
@val
7070
external seal: 'a => 'a = "Object.seal"
7171

72-
@val external preventExtensions: 'a => 'a = "Object.preventExtensions"
72+
/**
73+
`preventExtensions` prevents new properties from being added to the object. It modifies the object (rather than creating a copy) and returns it.
74+
75+
See [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.preventextensions) and [Object.preventExtensions on MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions)
76+
77+
## Examples
78+
79+
```rescript
80+
let obj = {"a": 1}
81+
obj->Object.set("b", 2) // succeeds
82+
obj->Object.preventExtensions->ignore
83+
obj->Object.set("c", 3) // fails
84+
```
85+
*/
86+
@val
87+
external preventExtensions: 'a => 'a = "Object.preventExtensions"
7388

7489
/**
7590
`freeze` freezes an object. Freezing an object makes existing properties non-writable and prevents extensions. Once an object is frozen, new properties cannot be be added, existing properties cannot be removed, and their values cannot be changed.
@@ -123,4 +138,20 @@ let fruitIsFrozen = fruit->Object.isFrozen // false
123138
*/
124139
@val
125140
external isFrozen: 'a => bool = "Object.isFrozen"
126-
@val external isExtensible: 'a => bool = "Object.isExtensible"
141+
142+
/**
143+
`isExtensible` determines if an object is extensible (whether it can have new properties added to it).
144+
145+
See [ECMAScript Language Specification](https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.isextensible) and [Object.isExtensible on MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible)
146+
147+
## Examples
148+
149+
```rescript
150+
let obj = {"a": 1}
151+
obj->Object.isExtensible // true
152+
obj->Object.preventExtensions->ignore
153+
obj->Object.isExtensible // false
154+
```
155+
*/
156+
@val
157+
external isExtensible: 'a => bool = "Object.isExtensible"

0 commit comments

Comments
 (0)