@@ -6,15 +6,18 @@ const assert = require('assert');
66const internalUtil = require ( 'internal/util' ) ;
77const spawnSync = require ( 'child_process' ) . spawnSync ;
88
9- function getHiddenValue ( obj , name ) {
9+ const binding = process . binding ( 'util' ) ;
10+ const kArrowMessagePrivateSymbolIndex = binding [ 'arrow_message_private_symbol' ] ;
11+
12+ function getHiddenValue ( obj , index ) {
1013 return function ( ) {
11- internalUtil . getHiddenValue ( obj , name ) ;
14+ internalUtil . getHiddenValue ( obj , index ) ;
1215 } ;
1316}
1417
15- function setHiddenValue ( obj , name , val ) {
18+ function setHiddenValue ( obj , index , val ) {
1619 return function ( ) {
17- internalUtil . setHiddenValue ( obj , name , val ) ;
20+ internalUtil . setHiddenValue ( obj , index , val ) ;
1821 } ;
1922}
2023
@@ -23,29 +26,36 @@ assert.throws(getHiddenValue(null, 'foo'), /obj must be an object/);
2326assert . throws ( getHiddenValue ( undefined , 'foo' ) , / o b j m u s t b e a n o b j e c t / ) ;
2427assert . throws ( getHiddenValue ( 'bar' , 'foo' ) , / o b j m u s t b e a n o b j e c t / ) ;
2528assert . throws ( getHiddenValue ( 85 , 'foo' ) , / o b j m u s t b e a n o b j e c t / ) ;
26- assert . throws ( getHiddenValue ( { } ) , / n a m e m u s t b e a s t r i n g / ) ;
27- assert . throws ( getHiddenValue ( { } , null ) , / n a m e m u s t b e a s t r i n g / ) ;
28- assert . throws ( getHiddenValue ( { } , [ ] ) , / n a m e m u s t b e a s t r i n g / ) ;
29- assert . deepStrictEqual ( internalUtil . getHiddenValue ( { } , 'foo' ) , undefined ) ;
29+ assert . throws ( getHiddenValue ( { } ) , / i n d e x m u s t b e a n u i n t 3 2 / ) ;
30+ assert . throws ( getHiddenValue ( { } , null ) , / i n d e x m u s t b e a n u i n t 3 2 / ) ;
31+ assert . throws ( getHiddenValue ( { } , [ ] ) , / i n d e x m u s t b e a n u i n t 3 2 / ) ;
32+ assert . deepStrictEqual (
33+ internalUtil . getHiddenValue ( { } , kArrowMessagePrivateSymbolIndex ) ,
34+ undefined ) ;
3035
3136assert . throws ( setHiddenValue ( ) , / o b j m u s t b e a n o b j e c t / ) ;
3237assert . throws ( setHiddenValue ( null , 'foo' ) , / o b j m u s t b e a n o b j e c t / ) ;
3338assert . throws ( setHiddenValue ( undefined , 'foo' ) , / o b j m u s t b e a n o b j e c t / ) ;
3439assert . throws ( setHiddenValue ( 'bar' , 'foo' ) , / o b j m u s t b e a n o b j e c t / ) ;
3540assert . throws ( setHiddenValue ( 85 , 'foo' ) , / o b j m u s t b e a n o b j e c t / ) ;
36- assert . throws ( setHiddenValue ( { } ) , / n a m e m u s t b e a s t r i n g / ) ;
37- assert . throws ( setHiddenValue ( { } , null ) , / n a m e m u s t b e a s t r i n g / ) ;
38- assert . throws ( setHiddenValue ( { } , [ ] ) , / n a m e m u s t b e a s t r i n g / ) ;
41+ assert . throws ( setHiddenValue ( { } ) , / i n d e x m u s t b e a n u i n t 3 2 / ) ;
42+ assert . throws ( setHiddenValue ( { } , null ) , / i n d e x m u s t b e a n u i n t 3 2 / ) ;
43+ assert . throws ( setHiddenValue ( { } , [ ] ) , / i n d e x m u s t b e a n u i n t 3 2 / ) ;
3944const obj = { } ;
40- assert . strictEqual ( internalUtil . setHiddenValue ( obj , 'foo' , 'bar' ) , true ) ;
41- assert . strictEqual ( internalUtil . getHiddenValue ( obj , 'foo' ) , 'bar' ) ;
45+ assert . strictEqual (
46+ internalUtil . setHiddenValue ( obj , kArrowMessagePrivateSymbolIndex , 'bar' ) ,
47+ true ) ;
48+ assert . strictEqual (
49+ internalUtil . getHiddenValue ( obj , kArrowMessagePrivateSymbolIndex ) ,
50+ 'bar' ) ;
4251
4352let arrowMessage ;
4453
4554try {
4655 require ( '../fixtures/syntax/bad_syntax' ) ;
4756} catch ( err ) {
48- arrowMessage = internalUtil . getHiddenValue ( err , 'node:arrowMessage' ) ;
57+ arrowMessage =
58+ internalUtil . getHiddenValue ( err , kArrowMessagePrivateSymbolIndex ) ;
4959}
5060
5161assert ( / b a d _ s y n t a x \. j s : 1 / . test ( arrowMessage ) ) ;
0 commit comments