Check it out here

A type-safe way to make overloads for your functions in Deno ๐
Getting Started
Import the overload library in your file:
import { overload } from 'https://deno.land/x/overload@2.0.0/mod.ts';
Then, you can get started overloading your functions!
Quick Examples
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
  
  
  overload.overload(name: String, ...functions: OverloadFunction[]): Function
Parameters
  
  
  name
The name of the function.
  
  
  ...functions
The functions that each represent an overload.
  
  
  interface OverloadFunction
Properties
  
  
  args: Function[]
The list of types for each parameter of the function.
  
  
  func: Function
The function.
 

 
    
Top comments (0)