UNPKG

quote-quote

Version:

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

2 lines 1.04 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.convert=convert;const utils_js_1=require("./utils.js");function convert(u,e){(0,utils_js_1.throwForInvalidArgumentTypes)(u,e);const r=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?r.replace(/\.{3}/g,"…"):r} //# sourceMappingURL=convert.js.map