11import { Node , Parent } from 'unist'
2- import { expectType , expectNotType , expectError } from 'tsd'
2+ import {
3+ expectType ,
4+ expectAssignable ,
5+ expectNotAssignable ,
6+ expectError
7+ } from 'tsd'
38import { Heading } from 'mdast'
49import * as unified from 'unified'
510import { is , convert } from './index.js'
@@ -17,13 +22,13 @@ interface Paragraph extends Parent {
1722 type : 'ParagraphNode'
1823}
1924
20- const heading : Node = {
25+ const heading = {
2126 type : 'heading' ,
2227 depth : 2 ,
2328 children : [ ]
2429}
2530
26- const element : Node = {
31+ const element = {
2732 type : 'element' ,
2833 tagName : 'section' ,
2934 properties : { } ,
@@ -67,17 +72,17 @@ expectType<boolean>(is<Heading>(element, 'heading'))
6772expectError ( is < Heading > ( heading , 'element' ) )
6873
6974if ( is < Heading > ( heading , 'heading' ) ) {
70- expectType < Heading > ( heading )
71- expectNotType < Element > ( heading )
75+ expectAssignable < Heading > ( heading )
76+ expectNotAssignable < Element > ( heading )
7277}
7378
7479expectType < boolean > ( is < Element > ( element , 'element' ) )
7580expectType < boolean > ( is < Element > ( heading , 'element' ) )
7681expectError ( is < Element > ( element , 'heading' ) )
7782
7883if ( is < Element > ( element , 'element' ) ) {
79- expectType < Element > ( element )
80- expectNotType < Heading > ( element )
84+ expectAssignable < Element > ( element )
85+ expectNotAssignable < Heading > ( element )
8186}
8287
8388/* Should support function tests. */
@@ -86,16 +91,16 @@ expectType<boolean>(is(element, isHeading))
8691expectError ( is < Heading > ( heading , isElement ) )
8792
8893if ( is ( heading , isHeading ) ) {
89- expectType < Heading > ( heading )
90- expectNotType < Element > ( heading )
94+ expectAssignable < Heading > ( heading )
95+ expectNotAssignable < Element > ( heading )
9196}
9297
9398expectType < boolean > ( is ( element , isElement ) )
9499expectType < boolean > ( is ( heading , isElement ) )
95100expectError ( is < Element > ( element , isHeading ) )
96101
97102if ( is ( element , isElement ) ) {
98- expectType < Element > ( element )
103+ expectAssignable < Element > ( element )
99104}
100105
101106/* Should support object tests. */
@@ -104,17 +109,17 @@ expectType<boolean>(is<Heading>(element, {type: 'heading', depth: 2}))
104109expectError ( is < Heading > ( heading , { type : 'heading' , depth : '2' } ) )
105110
106111if ( is < Heading > ( heading , { type : 'heading' , depth : 2 } ) ) {
107- expectType < Heading > ( heading )
108- expectNotType < Element > ( heading )
112+ expectAssignable < Heading > ( heading )
113+ expectNotAssignable < Element > ( heading )
109114}
110115
111116expectType < boolean > ( is < Element > ( element , { type : 'element' , tagName : 'section' } ) )
112117expectType < boolean > ( is < Element > ( heading , { type : 'element' , tagName : 'section' } ) )
113118expectError ( is < Element > ( element , { type : 'element' , tagName : true } ) )
114119
115120if ( is < Element > ( element , { type : 'element' , tagName : 'section' } ) ) {
116- expectType < Element > ( element )
117- expectNotType < Heading > ( element )
121+ expectAssignable < Element > ( element )
122+ expectNotAssignable < Heading > ( element )
118123}
119124
120125/* Should support array tests. */
@@ -135,17 +140,17 @@ if (
135140) {
136141 switch ( heading . type ) {
137142 case 'heading' : {
138- expectType < Heading > ( heading )
143+ expectAssignable < Heading > ( heading )
139144 break
140145 }
141146
142147 case 'element' : {
143- expectType < Element > ( heading )
148+ expectAssignable < Element > ( heading )
144149 break
145150 }
146151
147152 case 'ParagraphNode' : {
148- expectType < Paragraph > ( heading )
153+ expectAssignable < Paragraph > ( heading )
149154 break
150155 }
151156
0 commit comments