mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-30 03:03:51 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Copyright (C) 2020 Rick Waldron. All rights reserved.
 | |
| // This code is governed by the BSD license found in the LICENSE file.
 | |
| 
 | |
| /*---
 | |
| esid: sec-object.seal
 | |
| description: >
 | |
|     Object.seal BigInt64Array
 | |
| info: |
 | |
|   If Type(O) is not Object, return O.
 | |
|   Let status be ? SetIntegrityLevel(O, sealed).
 | |
| 
 | |
|   SetIntegrityLevel ( O, level )
 | |
| 
 | |
|   Assert: Type(O) is Object.
 | |
|   Assert: level is either sealed or frozen.
 | |
|   Let status be ? O.[[PreventExtensions]]().
 | |
|   If status is false, return false.
 | |
|   Let keys be ? O.[[OwnPropertyKeys]]().
 | |
|   If level is sealed, then
 | |
|     For each element k of keys, do
 | |
|       Perform ? DefinePropertyOrThrow(O, k, PropertyDescriptor { [[Configurable]]: false }).
 | |
|   Else,
 | |
|     Assert: level is frozen.
 | |
|     For each element k of keys, do
 | |
|       Let currentDesc be ? O.[[GetOwnProperty]](k).
 | |
|       If currentDesc is not undefined, then
 | |
|         If IsAccessorDescriptor(currentDesc) is true, then
 | |
|           Let desc be the PropertyDescriptor { [[Configurable]]: false }.
 | |
|         Else,
 | |
|           Let desc be the PropertyDescriptor { [[Configurable]]: false, [[Writable]]: false }.
 | |
|         Perform ? DefinePropertyOrThrow(O, k, desc).
 | |
|   Return true.
 | |
| 
 | |
| ---*/
 | |
| 
 | |
| Object.seal(new BigInt64Array());
 |