unjs / magic-regexp

A compiled-away, type-safe, readable RegExp alternative
https://regexp.dev
MIT License
3.67k stars 51 forks source link

[QUESTION] How to create typed function with RegExp or MagicRegExp input? (TypeScript) #392

Open kravetsone opened 2 months ago

kravetsone commented 2 months ago

📚 Is your documentation request related to a problem?

How to create typed function with RegExp or MagicRegExp input?

I write something like

function getMatchedResult<R extends MagicRegExp<any, any, any, any> | RegExp>(regexp: R, str: string) {
    return str.match(regexp);
}

it doesn't matter Magic Regexp or just Regexp you place the function ReturnType is RegExpMatchArray | null

And is it possible not to use magic regexp as a dependency but to support it? (for example maybe implement compability types)

I am the maintainer of the Telegram Bot API framework - GramIO And if i add support magic-regexp it would be amazing

image

I need to allow magic (with type-safety) and not regexp

🔍 Where should you find it?

No response

ℹī¸ Additional context

No response