From b12feb091777ee2c9af48a99833cf10b3af82dd4 Mon Sep 17 00:00:00 2001
From: marihachi <marihachi0620@gmail.com>
Date: Sat, 3 Apr 2021 21:23:32 +0900
Subject: [PATCH] update test utility

---
 test/node.ts | 44 +++++++++++++++++++++-----------------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/test/node.ts b/test/node.ts
index 7116e9a..8f9918d 100644
--- a/test/node.ts
+++ b/test/node.ts
@@ -1,26 +1,24 @@
 import {
-	MfmBold, MfmCenter, MfmCodeBlock, MfmEmojiCode, MfmFn, MfmHashtag, MfmInline,
-	MfmInlineCode, MfmItalic, MfmLink, MfmMathBlock, MfmMathInline, MfmMention,
-	MfmNode, MfmQuote, MfmSearch, MfmSmall, MfmStrike, MfmText, MfmUnicodeEmoji, MfmUrl
+	MfmFn, MfmInline, MfmNode, NodeType
 } from '../built';
+ 
+export const QUOTE = (children: MfmNode[]): NodeType<'quote'> => { return { type:'quote', children }; };
+export const SEARCH = (query: string, content: string): NodeType<'search'> => { return { type:'search', props: { query, content } }; };
+export const CODE_BLOCK = (code: string, lang: string | null): NodeType<'blockCode'> => { return { type:'blockCode', props: { code, lang } }; };
+export const MATH_BLOCK = (formula: string): NodeType<'mathBlock'> => { return { type:'mathBlock', props: { formula } }; };
+export const CENTER = (children: MfmInline[]): NodeType<'center'> => { return { type:'center', children }; };
 
-export const QUOTE = (children: MfmNode[]): MfmQuote => { return { type:'quote', children }; };
-export const SEARCH = (query: string, content: string): MfmSearch => { return { type:'search', props: { query, content } }; };
-export const CODE_BLOCK = (code: string, lang: string | null): MfmCodeBlock => { return { type:'blockCode', props: { code, lang } }; };
-export const MATH_BLOCK = (formula: string): MfmMathBlock => { return { type:'mathBlock', props: { formula } }; };
-export const CENTER = (children: MfmInline[]): MfmCenter => { return { type:'center', children }; };
-
-export const BOLD = (children: MfmInline[]): MfmBold => { return { type:'bold', children }; };
-export const SMALL = (children: MfmInline[]): MfmSmall => { return { type:'small', children }; };
-export const ITALIC = (children: MfmInline[]): MfmItalic => { return { type:'italic', children }; };
-export const STRIKE = (children: MfmInline[]): MfmStrike => { return { type:'strike', children }; };
-export const INLINE_CODE = (code: string): MfmInlineCode => { return { type:'inlineCode', props: { code } }; };
-export const MATH_INLINE = (formula: string): MfmMathInline => { return { type:'mathInline', props: { formula } }; };
-export const MENTION = (username: string, host: string | null, acct: string): MfmMention => { return { type:'mention', props: { username, host, acct } }; };
-export const HASHTAG = (value: string): MfmHashtag => { return { type:'hashtag', props: { hashtag: value } }; };
-export const N_URL = (value: string): MfmUrl => { return { type:'url', props: { url: value } }; };
-export const LINK = (silent: boolean, url: string, children: MfmInline[]): MfmLink => { return { type:'link', props: { silent, url }, children }; };
-export const EMOJI_CODE = (name: string): MfmEmojiCode => { return { type:'emojiCode', props: { name: name } }; };
-export const FN = (name: string, args: MfmFn['props']['args'], children: MfmFn['children']): MfmFn => { return { type:'fn', props: { name, args }, children }; };
-export const UNI_EMOJI = (value: string): MfmUnicodeEmoji => { return { type:'unicodeEmoji', props: { emoji: value } }; };
-export const TEXT = (value: string): MfmText => { return { type:'text', props: { text: value } }; };
+export const BOLD = (children: MfmInline[]): NodeType<'bold'> => { return { type:'bold', children }; };
+export const SMALL = (children: MfmInline[]): NodeType<'small'> => { return { type:'small', children }; };
+export const ITALIC = (children: MfmInline[]): NodeType<'italic'> => { return { type:'italic', children }; };
+export const STRIKE = (children: MfmInline[]): NodeType<'strike'> => { return { type:'strike', children }; };
+export const INLINE_CODE = (code: string): NodeType<'inlineCode'> => { return { type:'inlineCode', props: { code } }; };
+export const MATH_INLINE = (formula: string): NodeType<'mathInline'> => { return { type:'mathInline', props: { formula } }; };
+export const MENTION = (username: string, host: string | null, acct: string): NodeType<'mention'> => { return { type:'mention', props: { username, host, acct } }; };
+export const HASHTAG = (value: string): NodeType<'hashtag'> => { return { type:'hashtag', props: { hashtag: value } }; };
+export const N_URL = (value: string): NodeType<'url'> => { return { type:'url', props: { url: value } }; };
+export const LINK = (silent: boolean, url: string, children: MfmInline[]): NodeType<'link'> => { return { type:'link', props: { silent, url }, children }; };
+export const EMOJI_CODE = (name: string): NodeType<'emojiCode'> => { return { type:'emojiCode', props: { name: name } }; };
+export const FN = (name: string, args: MfmFn['props']['args'], children: MfmFn['children']): NodeType<'fn'> => { return { type:'fn', props: { name, args }, children }; };
+export const UNI_EMOJI = (value: string): NodeType<'unicodeEmoji'> => { return { type:'unicodeEmoji', props: { emoji: value } }; };
+export const TEXT = (value: string): NodeType<'text'> => { return { type:'text', props: { text: value } }; };
-- 
GitLab