deno2node
Version:
`tsc` replacement for transpiling Deno libraries to run on Node.js.
11 lines (10 loc) • 433 B
JavaScript
const _source = (arg) => typeof arg === "string"
? arg.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") // escape string
: arg.source;
export const tag = (flags = "") => (literals, ...substitutions) => {
const subpatterns = substitutions.map((sub) => `(?:${_source(sub)})`);
return new RegExp(String.raw(literals, ...subpatterns), flags);
};
export const union = (strings) => ({
source: strings.map(_source).join("|"),
});