過負荷:DENOにおける過負荷関数のためのライブラリ
5283 ワード
ここでチェック
DEOのあなたの機能のためのオーバーロードを作るタイプ安全な方法🚀
始める
ファイルにoverload
ライブラリをインポートします.
import { overload } from 'https://deno.land/x/[email protected]/mod.ts';
次に、あなたの関数をオーバーロードを開始することができます!
クイック例
const concat = overload(
"concat",
{
args: [String, String],
func: (str1: String, str2: String) => {
return `${str1}${str2}`;
},
},
{
args: [String, String, String],
func: (str1: String, str2: String, str3: String) => {
return `${str1}${str2}${str3}`;
},
},
);
console.log(concat("1", "2")); // 12
console.log(concat("1", "2", "3")); // 123
console.log(concat("1", "2", "3", 4)); // error
API
オーバーロード。オーバーロード( name : string ,...関数:オーバーロード関数[] ]関数
パラメータ
name
関数の名前.
...functions
オーバーロードを表す関数.
インタフェースオーバーロード機能
プロパティ
args: Function[]
関数の各パラメーターの型の一覧です.
func: Function
関数.
Reference
この問題について(過負荷:DENOにおける過負荷関数のためのライブラリ), 我々は、より多くの情報をここで見つけました
https://dev.to/astronomize/overload-a-library-for-overloading-functions-in-deno-2oc6
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import { overload } from 'https://deno.land/x/[email protected]/mod.ts';
const concat = overload(
"concat",
{
args: [String, String],
func: (str1: String, str2: String) => {
return `${str1}${str2}`;
},
},
{
args: [String, String, String],
func: (str1: String, str2: String, str3: String) => {
return `${str1}${str2}${str3}`;
},
},
);
console.log(concat("1", "2")); // 12
console.log(concat("1", "2", "3")); // 123
console.log(concat("1", "2", "3", 4)); // error
Reference
この問題について(過負荷:DENOにおける過負荷関数のためのライブラリ), 我々は、より多くの情報をここで見つけました https://dev.to/astronomize/overload-a-library-for-overloading-functions-in-deno-2oc6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol