TypeScript part4 (378レス)
TypeScript part4 http://mevius.5ch.net/test/read.cgi/tech/1640872622/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
レス栞
あぼーん
169: デフォルトの名無しさん [] 2022/06/30(木) 11:29:36.59 ID:Argu0lpR >>165 です。ありがとうございます。 実際のケースでお話しします。 ・ライブラリの型を利用している。 ・ライブラリの実装をそのまま真似ている。(実装は変えられる。) ・anyは使わない方針。 の状況です。 【型定義(サードパーティ)】 declare const visit: { <V extends Node>(tree: Node,test: Test<V> | Array<Test<any>>,visitor: visit.Visitor<V>,reverse?: boolean): void } export = visit declare namespace unistUtilIs { type TestFunction<T extends Node> = (node: unknown,index?: number,parent?: Parent) => node is T type Test<T extends Node> = TestFunction<T> | null | undefined } 【実装(大部分省略)】 import visit from 'unist-util-visit'; import { Node, Data } from 'unist'; function visitX(node: any): void { if (!node.type) return; } return function transformer(tree): void { visit(tree, (node: Node<Data>) => node.type === 'xxx', visitX); }; ここで、function visitX(node: any) の Unexpected any. を消すのに難儀しています。 function visitX(node: Node<Data>): void { にすると、 visit( の部分で No overload matches this call. Overload 1 of 2, '(tree: Node<Data>, test: any[] | Test<Node<Data>>, visitor: Visitor<Node<Data>>, reverse?: boolean | undefined): void', gave the following error. ... と怒られます。極端な話、サードパーティの定義の方をいじらないと解決しないかもと思った次第です。 http://mevius.5ch.net/test/read.cgi/tech/1640872622/169
171: デフォルトの名無しさん [] 2022/06/30(木) 12:53:38.41 ID:Argu0lpR >>165 です。 すみません。かなり省略して、改行も削除しました。 伝えたかったのは、以下です。 https://tsplay.dev/WJyrDm http://mevius.5ch.net/test/read.cgi/tech/1640872622/171
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.108s*