UNPKG

quote-quote

Version:

Convert straight quotes to curly quotes — also known as smart quotes.

2 lines 956 B
import{throwForInvalidArgumentTypes}from"./utils.js";export function convert(u,e){throwForInvalidArgumentTypes(u,e);const p=u.replace(/\u0027\u0027\u0027\u0027/g,"⁗").replace(/\u0027\u0027\u0027/g,"‴").replace(/([^\p{L}0-9_]|^)\u0022([\p{L}0-9_\u0027\u00A1\u00BF])/gu,"$1$2").replace(/(\u201c[^\u0022]*)\u0022([^\u0022]*$|[^\u201c\u0022]*\u201c)/g,"$1$2").replace(/([^0-9])\u0022/g,"$1”").replace(/\u0027\u0027/g,"″").replace(/([^\p{L}0-9_]|^)\u0027(\S)/gu,"$1$2").replace(/([\p{L}0-9_])\u0027([\p{L}])/giu,"$1$2").replace(/(\u2018)([0-9]{2}[^\u2019]*)(\u2018([^0-9]|$)|$|\u2019[\p{L}])/giu,"’$2$3").replace(/((\u2018[^\u0027]*)|[\p{L}])\u0027([^0-9]|$)/giu,"$1$3").replace(/(\B|^)\u2018(?=([^\u2018\u2019]*\u2019\b)*([^\u2018\u2019]*\B[^\p{L}0-9_][\u2018\u2019]\b|[^\u2018\u2019]*$))/giu,"$1’").replace(/\u0022/g,"″").replace(/\u0027/g,"′");return e?.ellipsis?p.replace(/\.{3}/g,"…"):p} //# sourceMappingURL=convert.js.map