@@ -369,3 +369,22 @@ expectType<typeof nestedObjectWithNameProperty>(
369369// Regression test for https://github.com/sindresorhus/type-fest/issues/629
370370declare const readonlyTuple : Jsonify < readonly [ 1 , 2 , 3 ] > ;
371371expectType < [ 1 , 2 , 3 ] > ( readonlyTuple ) ;
372+
373+ // `unknown` values
374+ declare const unknownValue : Jsonify < unknown > ;
375+ declare const unknownArray : Jsonify < unknown [ ] > ;
376+ declare const unknownTuple : Jsonify < [ unknown , unknown ] > ;
377+ declare const objectWithUnknownValue : Jsonify < { key : unknown } > ;
378+ expectType < JsonValue > ( unknownValue ) ;
379+ expectAssignable < Jsonify < unknown > > ( 'foo' ) ;
380+ expectAssignable < Jsonify < unknown > > ( [ 'foo' ] ) ;
381+ expectNotAssignable < Jsonify < unknown > > ( new Date ( ) ) ;
382+ expectType < JsonValue [ ] > ( unknownArray ) ;
383+ expectAssignable < Jsonify < unknown [ ] > > ( [ 'foo' ] ) ;
384+ expectNotAssignable < Jsonify < unknown [ ] > > ( [ new Date ( ) ] ) ;
385+ expectType < [ JsonValue , JsonValue ] > ( unknownTuple ) ;
386+ expectAssignable < Jsonify < [ unknown , unknown ] > > ( [ 'foo' , 'foo' ] ) ;
387+ expectNotAssignable < Jsonify < [ unknown , unknown ] > > ( [ new Date ( ) , new Date ( ) ] ) ;
388+ expectType < { key : JsonValue } > ( objectWithUnknownValue ) ;
389+ expectAssignable < Jsonify < { key : unknown } > > ( { key : [ ] } ) ;
390+ expectNotAssignable < Jsonify < { key : unknown } > > ( { key : new Date ( ) } ) ;
0 commit comments