longdown 2023.4.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +10 -0
- package/README.md +77 -0
- package/bin/cli.js +3 -0
- package/lib/cli.js +120 -0
- package/lib/cljs-runtime/cljs.core.js +38285 -0
- package/lib/cljs-runtime/cljs.core.js.map +1 -0
- package/lib/cljs-runtime/cljs_env.js +1268 -0
- package/lib/cljs-runtime/clojure.string.js +477 -0
- package/lib/cljs-runtime/clojure.string.js.map +1 -0
- package/lib/cljs-runtime/clojure.tools.cli.js +1684 -0
- package/lib/cljs-runtime/clojure.tools.cli.js.map +1 -0
- package/lib/cljs-runtime/clojure.walk.js +131 -0
- package/lib/cljs-runtime/clojure.walk.js.map +1 -0
- package/lib/cljs-runtime/goog.array.array.js +658 -0
- package/lib/cljs-runtime/goog.array.array.js.map +9 -0
- package/lib/cljs-runtime/goog.asserts.asserts.js +131 -0
- package/lib/cljs-runtime/goog.asserts.asserts.js.map +9 -0
- package/lib/cljs-runtime/goog.asserts.dom.js +87 -0
- package/lib/cljs-runtime/goog.asserts.dom.js.map +9 -0
- package/lib/cljs-runtime/goog.base.js +1242 -0
- package/lib/cljs-runtime/goog.base.js.map +9 -0
- package/lib/cljs-runtime/goog.collections.maps.js +79 -0
- package/lib/cljs-runtime/goog.collections.maps.js.map +9 -0
- package/lib/cljs-runtime/goog.debug.error.js +29 -0
- package/lib/cljs-runtime/goog.debug.error.js.map +9 -0
- package/lib/cljs-runtime/goog.dom.asserts.js +39 -0
- package/lib/cljs-runtime/goog.dom.asserts.js.map +9 -0
- package/lib/cljs-runtime/goog.dom.element.js +67 -0
- package/lib/cljs-runtime/goog.dom.element.js.map +9 -0
- package/lib/cljs-runtime/goog.dom.htmlelement.js +6 -0
- package/lib/cljs-runtime/goog.dom.htmlelement.js.map +9 -0
- package/lib/cljs-runtime/goog.dom.nodetype.js +5 -0
- package/lib/cljs-runtime/goog.dom.nodetype.js.map +9 -0
- package/lib/cljs-runtime/goog.dom.safe.js +265 -0
- package/lib/cljs-runtime/goog.dom.safe.js.map +9 -0
- package/lib/cljs-runtime/goog.dom.tagname.js +146 -0
- package/lib/cljs-runtime/goog.dom.tagname.js.map +9 -0
- package/lib/cljs-runtime/goog.dom.tags.js +9 -0
- package/lib/cljs-runtime/goog.dom.tags.js.map +9 -0
- package/lib/cljs-runtime/goog.flags.flags.js +11 -0
- package/lib/cljs-runtime/goog.flags.flags.js.map +9 -0
- package/lib/cljs-runtime/goog.fs.blob.js +37 -0
- package/lib/cljs-runtime/goog.fs.blob.js.map +9 -0
- package/lib/cljs-runtime/goog.fs.url.js +36 -0
- package/lib/cljs-runtime/goog.fs.url.js.map +9 -0
- package/lib/cljs-runtime/goog.functions.functions.js +210 -0
- package/lib/cljs-runtime/goog.functions.functions.js.map +9 -0
- package/lib/cljs-runtime/goog.html.safehtml.js +306 -0
- package/lib/cljs-runtime/goog.html.safehtml.js.map +9 -0
- package/lib/cljs-runtime/goog.html.safescript.js +61 -0
- package/lib/cljs-runtime/goog.html.safescript.js.map +9 -0
- package/lib/cljs-runtime/goog.html.safestyle.js +170 -0
- package/lib/cljs-runtime/goog.html.safestyle.js.map +9 -0
- package/lib/cljs-runtime/goog.html.safestylesheet.js +93 -0
- package/lib/cljs-runtime/goog.html.safestylesheet.js.map +9 -0
- package/lib/cljs-runtime/goog.html.safeurl.js +225 -0
- package/lib/cljs-runtime/goog.html.safeurl.js.map +9 -0
- package/lib/cljs-runtime/goog.html.trustedresourceurl.js +113 -0
- package/lib/cljs-runtime/goog.html.trustedresourceurl.js.map +9 -0
- package/lib/cljs-runtime/goog.html.trustedtypes.js +15 -0
- package/lib/cljs-runtime/goog.html.trustedtypes.js.map +9 -0
- package/lib/cljs-runtime/goog.html.uncheckedconversions.js +43 -0
- package/lib/cljs-runtime/goog.html.uncheckedconversions.js.map +9 -0
- package/lib/cljs-runtime/goog.labs.useragent.browser.js +332 -0
- package/lib/cljs-runtime/goog.labs.useragent.browser.js.map +9 -0
- package/lib/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js +13 -0
- package/lib/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js.map +9 -0
- package/lib/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js +72 -0
- package/lib/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js.map +9 -0
- package/lib/cljs-runtime/goog.labs.useragent.useragent.js +20 -0
- package/lib/cljs-runtime/goog.labs.useragent.useragent.js.map +9 -0
- package/lib/cljs-runtime/goog.labs.useragent.util.js +77 -0
- package/lib/cljs-runtime/goog.labs.useragent.util.js.map +9 -0
- package/lib/cljs-runtime/goog.math.integer.js +425 -0
- package/lib/cljs-runtime/goog.math.integer.js.map +9 -0
- package/lib/cljs-runtime/goog.math.long.js +427 -0
- package/lib/cljs-runtime/goog.math.long.js.map +9 -0
- package/lib/cljs-runtime/goog.object.object.js +283 -0
- package/lib/cljs-runtime/goog.object.object.js.map +9 -0
- package/lib/cljs-runtime/goog.reflect.reflect.js +31 -0
- package/lib/cljs-runtime/goog.reflect.reflect.js.map +9 -0
- package/lib/cljs-runtime/goog.string.const.js +33 -0
- package/lib/cljs-runtime/goog.string.const.js.map +9 -0
- package/lib/cljs-runtime/goog.string.internal.js +118 -0
- package/lib/cljs-runtime/goog.string.internal.js.map +9 -0
- package/lib/cljs-runtime/goog.string.string.js +458 -0
- package/lib/cljs-runtime/goog.string.string.js.map +9 -0
- package/lib/cljs-runtime/goog.string.stringbuffer.js +31 -0
- package/lib/cljs-runtime/goog.string.stringbuffer.js.map +9 -0
- package/lib/cljs-runtime/goog.string.stringformat.js +74 -0
- package/lib/cljs-runtime/goog.string.stringformat.js.map +9 -0
- package/lib/cljs-runtime/goog.string.typedstring.js +8 -0
- package/lib/cljs-runtime/goog.string.typedstring.js.map +9 -0
- package/lib/cljs-runtime/goog.structs.structs.js +188 -0
- package/lib/cljs-runtime/goog.structs.structs.js.map +9 -0
- package/lib/cljs-runtime/goog.uri.uri.js +616 -0
- package/lib/cljs-runtime/goog.uri.uri.js.map +9 -0
- package/lib/cljs-runtime/goog.uri.utils.js +320 -0
- package/lib/cljs-runtime/goog.uri.utils.js.map +9 -0
- package/lib/cljs-runtime/longdown.cli.js +128 -0
- package/lib/cljs-runtime/longdown.cli.js.map +1 -0
- package/lib/cljs-runtime/longdown.lib.js +122 -0
- package/lib/cljs-runtime/longdown.lib.js.map +1 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$mdast_util_from_markdown.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$mdast_util_from_markdown.js.map +9 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$mdast_util_to_markdown$lib$unsafe.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$mdast_util_to_markdown$lib$unsafe.js.map +9 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$mdast_util_to_markdown.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$mdast_util_to_markdown.js.map +9 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$node_fs.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$node_fs.js.map +9 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$node_path.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$node_path.js.map +9 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$remark_parse.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$remark_parse.js.map +9 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$remark_stringify.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$remark_stringify.js.map +9 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$unified.js +5 -0
- package/lib/cljs-runtime/shadow.esm.esm_import$unified.js.map +9 -0
- package/lib/cljs-runtime/shadow.module.cli.append.js +1 -0
- package/lib/cljs-runtime/shadow.module.cli.prepend.js +17 -0
- package/lib/cljs-runtime/shadow.module.lib.append.js +1 -0
- package/lib/cljs-runtime/shadow.module.lib.prepend.js +2 -0
- package/lib/lib.js +8 -0
- package/package.json +33 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version":3,
|
|
3
|
+
"file":"goog.string.internal.js",
|
|
4
|
+
"lineCount":116,
|
|
5
|
+
"mappings":"AAaAA,IAAKC,CAAAA,OAAL,CAAa,sBAAb,CAAA;AAUAD,IAAKE,CAAAA,MAAOC,CAAAA,QAASC,CAAAA,UAArB,GAAkCC,QAAQ,CAACC,GAAD,EAAMC,MAAN,CAAc;AAEtD,SAAOD,GAAIE,CAAAA,WAAJ,CAAgBD,MAAhB,EAAwB,CAAxB,CAAP,IAAqC,CAArC;AAFsD,CAAxD;AAaAP,IAAKE,CAAAA,MAAOC,CAAAA,QAASM,CAAAA,QAArB,GAAgCC,QAAQ,CAACJ,GAAD,EAAMK,MAAN,CAAc;AAEpD,QAAMC,IAAIN,GAAIO,CAAAA,MAARD,GAAiBD,MAAOE,CAAAA,MAA9B;AACA,SAAOD,CAAP,IAAY,CAAZ,IAAiBN,GAAIQ,CAAAA,OAAJ,CAAYH,MAAZ,EAAoBC,CAApB,CAAjB,IAA2CA,CAA3C;AAHoD,CAAtD;AAeAZ,IAAKE,CAAAA,MAAOC,CAAAA,QAASY,CAAAA,yBAArB,GAAiDC,QAAQ,CAACV,GAAD,EAAMC,MAAN,CAAc;AAErE,SACIP,IAAKE,CAAAA,MAAOC,CAAAA,QAASc,CAAAA,sBAArB,CACIV,MADJ,EACYD,GAAIY,CAAAA,KAAJ,CAAU,CAAV,EAAaX,MAAOM,CAAAA,MAApB,CADZ,CADJ,IAEgD,CAFhD;AAFqE,CAAvE;AAgBAb,IAAKE,CAAAA,MAAOC,CAAAA,QAASgB,CAAAA,uBAArB,GAA+CC,QAAQ,CAACd,GAAD,EAAMK,MAAN,CAAc;AAEnE,SACIX,IAAKE,CAAAA,MAAOC,CAAAA,QAASc,CAAAA,sBAArB,CACIN,MADJ,EACYL,GAAIY,CAAAA,KAAJ,CAAUZ,GAAIO,CAAAA,MAAd,GAAuBF,MAAOE,CAAAA,MAA9B,CADZ,CADJ,IAE0D,CAF1D;AAFmE,CAArE;AAgBAb,IAAKE,CAAAA,MAAOC,CAAAA,QAASkB,CAAAA,qBAArB,GAA6CC,QAAQ,CAACC,IAAD,EAAOC,IAAP,CAAa;AAEhE,SAAOD,IAAKE,CAAAA,WAAL,EAAP,IAA6BD,IAAKC,CAAAA,WAAL,EAA7B;AAFgE,CAAlE;AAYAzB,IAAKE,CAAAA,MAAOC,CAAAA,QAASuB,CAAAA,mBAArB,GAA2CC,QAAQ,CAACrB,GAAD,CAAM;AAOvD,SAAO,aAAcsB,CAAAA,IAAd,CAAmBtB,GAAnB,CAAP;AAPuD,CAAzD;AAgBAN,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0B,CAAAA,IAArB,GACK7B,IAAK8B,CAAAA,YAAN,IAAsBC,MAAOC,CAAAA,SAAUH,CAAAA,IAAvC,GAA+C,QAAQ,CAACvB,GAAD,CAAM;AAE3D,SAAOA,GAAIuB,CAAAA,IAAJ,EAAP;AAF2D,CAA7D,GAGI,QAAQ,CAACvB,GAAD,CAAM;AAQhB,SAAO,gCAAiC2B,CAAAA,IAAjC,CAAsC3B,GAAtC,CAAA,CAA2C,CAA3C,CAAP;AARgB,CAJtB;AA2BAN,IAAKE,CAAAA,MAAOC,CAAAA,QAASc,CAAAA,sBAArB,GAA8CiB,QAAQ,CAACX,IAAD,EAAOC,IAAP,CAAa;AAEjE,QAAMW,QAAQJ,MAAA,CAAOR,IAAP,CAAaE,CAAAA,WAAb,EAAd;AACA,QAAMW,QAAQL,MAAA,CAAOP,IAAP,CAAaC,CAAAA,WAAb,EAAd;AAEA,MAAIU,KAAJ,GAAYC,KAAZ;AACE,WAAO,CAAC,CAAR;AADF,QAEO,KAAID,KAAJ,IAAaC,KAAb;AACL,WAAO,CAAP;AADK;AAGL,WAAO,CAAP;AAHK;AAP0D,CAAnE;AAsBApC,IAAKE,CAAAA,MAAOC,CAAAA,QAASkC,CAAAA,WAArB,GAAmCC,QAAQ,CAAChC,GAAD,EAAMiC,OAAN,CAAe;AAExD,SAAOjC,GAAIkC,CAAAA,OAAJ,CAAY,eAAZ,EAA6BD,OAAA,GAAU,cAAV,GAAqB,YAAlD,CAAP;AAFwD,CAA1D;AAeAvC,IAAKE,CAAAA,MAAOC,CAAAA,QAASsC,CAAAA,UAArB,GAAkCC,QAAQ,CACtCpC,GADsC,EACjCqC,8BADiC,CACD;AAEvC,MAAIA,8BAAJ,CAAoC;AAClCrC,OAAA,GAAMA,GAAIkC,CAAAA,OAAJ,CAAYxC,IAAKE,CAAAA,MAAOC,CAAAA,QAASyC,CAAAA,OAAjC,EAA0C,UAA1C,CACKJ,CAAAA,OADL,CACaxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0C,CAAAA,MADlC,EAC0C,SAD1C,CAEKL,CAAAA,OAFL,CAEaxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS2C,CAAAA,MAFlC,EAE0C,SAF1C,CAGKN,CAAAA,OAHL,CAGaxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS4C,CAAAA,QAHlC,EAG4C,WAH5C,CAIKP,CAAAA,OAJL,CAIaxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS6C,CAAAA,gBAJlC,EAIoD,UAJpD,CAKKR,CAAAA,OALL,CAKaxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS8C,CAAAA,QALlC,EAK4C,SAL5C,CAAN;AAMA,WAAO3C,GAAP;AAPkC,GAApC,KASO;AAGL,QAAI,CAACN,IAAKE,CAAAA,MAAOC,CAAAA,QAAS+C,CAAAA,OAAQtB,CAAAA,IAA7B,CAAkCtB,GAAlC,CAAL;AAA6C,aAAOA,GAAP;AAA7C;AAGA,QAAIA,GAAIQ,CAAAA,OAAJ,CAAY,MAAZ,CAAJ,IAAwB,CAAC,CAAzB;AACER,SAAA,GAAMA,GAAIkC,CAAAA,OAAJ,CAAYxC,IAAKE,CAAAA,MAAOC,CAAAA,QAASyC,CAAAA,OAAjC,EAA0C,UAA1C,CAAN;AADF;AAGA,QAAItC,GAAIQ,CAAAA,OAAJ,CAAY,MAAZ,CAAJ,IAAwB,CAAC,CAAzB;AACER,SAAA,GAAMA,GAAIkC,CAAAA,OAAJ,CAAYxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0C,CAAAA,MAAjC,EAAyC,SAAzC,CAAN;AADF;AAGA,QAAIvC,GAAIQ,CAAAA,OAAJ,CAAY,MAAZ,CAAJ,IAAwB,CAAC,CAAzB;AACER,SAAA,GAAMA,GAAIkC,CAAAA,OAAJ,CAAYxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS2C,CAAAA,MAAjC,EAAyC,SAAzC,CAAN;AADF;AAGA,QAAIxC,GAAIQ,CAAAA,OAAJ,CAAY,GAAZ,CAAJ,IAAwB,CAAC,CAAzB;AACER,SAAA,GAAMA,GAAIkC,CAAAA,OAAJ,CAAYxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS4C,CAAAA,QAAjC,EAA2C,WAA3C,CAAN;AADF;AAGA,QAAIzC,GAAIQ,CAAAA,OAAJ,CAAY,GAAZ,CAAJ,IAAyB,CAAC,CAA1B;AACER,SAAA,GAAMA,GAAIkC,CAAAA,OAAJ,CAAYxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS6C,CAAAA,gBAAjC,EAAmD,UAAnD,CAAN;AADF;AAGA,QAAI1C,GAAIQ,CAAAA,OAAJ,CAAY,MAAZ,CAAJ,IAA2B,CAAC,CAA5B;AACER,SAAA,GAAMA,GAAIkC,CAAAA,OAAJ,CAAYxC,IAAKE,CAAAA,MAAOC,CAAAA,QAAS8C,CAAAA,QAAjC,EAA2C,SAA3C,CAAN;AADF;AAGA,WAAO3C,GAAP;AAxBK;AAXgC,CADzC;AA8CAN,IAAKE,CAAAA,MAAOC,CAAAA,QAASyC,CAAAA,OAArB,GAA+B,IAA/B;AAQA5C,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0C,CAAAA,MAArB,GAA8B,IAA9B;AAQA7C,IAAKE,CAAAA,MAAOC,CAAAA,QAAS2C,CAAAA,MAArB,GAA8B,IAA9B;AAQA9C,IAAKE,CAAAA,MAAOC,CAAAA,QAAS4C,CAAAA,QAArB,GAAgC,IAAhC;AAQA/C,IAAKE,CAAAA,MAAOC,CAAAA,QAAS6C,CAAAA,gBAArB,GAAwC,IAAxC;AAQAhD,IAAKE,CAAAA,MAAOC,CAAAA,QAAS8C,CAAAA,QAArB,GAAgC,OAAhC;AAQAjD,IAAKE,CAAAA,MAAOC,CAAAA,QAAS+C,CAAAA,OAArB,GAA+B,aAA/B;AAWAlD,IAAKE,CAAAA,MAAOC,CAAAA,QAASgD,CAAAA,gBAArB,GAAwCC,QAAQ,CAAC9C,GAAD,EAAMiC,OAAN,CAAe;AAG7D,SAAOvC,IAAKE,CAAAA,MAAOC,CAAAA,QAASkC,CAAAA,WAArB,CACH/B,GAAIkC,CAAAA,OAAJ,CAAY,KAAZ,EAAmB,YAAnB,CADG,EAC4BD,OAD5B,CAAP;AAH6D,CAA/D;AAeAvC,IAAKE,CAAAA,MAAOC,CAAAA,QAASkD,CAAAA,QAArB,GAAgCC,QAAQ,CAAChD,GAAD,EAAMiD,SAAN,CAAiB;AAEvD,SAAOjD,GAAIQ,CAAAA,OAAJ,CAAYyC,SAAZ,CAAP,IAAiC,CAAC,CAAlC;AAFuD,CAAzD;AAaAvD,IAAKE,CAAAA,MAAOC,CAAAA,QAASqD,CAAAA,uBAArB,GAA+CC,QAAQ,CAACnD,GAAD,EAAMiD,SAAN,CAAiB;AAEtE,SAAOvD,IAAKE,CAAAA,MAAOC,CAAAA,QAASkD,CAAAA,QAArB,CACH/C,GAAImB,CAAAA,WAAJ,EADG,EACgB8B,SAAU9B,CAAAA,WAAV,EADhB,CAAP;AAFsE,CAAxE;AAkBAzB,IAAKE,CAAAA,MAAOC,CAAAA,QAASuD,CAAAA,eAArB,GAAuCC,QAAQ,CAACC,QAAD,EAAWC,QAAX,CAAqB;AAElE,MAAIC,QAAQ,CAAZ;AAGA,QAAMC,SAAS/D,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0B,CAAAA,IAArB,CAA0BE,MAAA,CAAO6B,QAAP,CAA1B,CAA4CI,CAAAA,KAA5C,CAAkD,GAAlD,CAAf;AACA,QAAMC,SAASjE,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0B,CAAAA,IAArB,CAA0BE,MAAA,CAAO8B,QAAP,CAA1B,CAA4CG,CAAAA,KAA5C,CAAkD,GAAlD,CAAf;AACA,QAAME,WAAWC,IAAKC,CAAAA,GAAL,CAASL,MAAOlD,CAAAA,MAAhB,EAAwBoD,MAAOpD,CAAAA,MAA/B,CAAjB;AAGA,OAAK,IAAIwD,SAAS,CAAlB,EAAqBP,KAArB,IAA8B,CAA9B,IAAmCO,MAAnC,GAA4CH,QAA5C,EAAsDG,MAAA,EAAtD,CAAgE;AAC9D,QAAIC,QAAQP,MAAA,CAAOM,MAAP,CAARC,IAA0B,EAA9B;AACA,QAAIC,QAAQN,MAAA,CAAOI,MAAP,CAARE,IAA0B,EAA9B;AAEA,MAAG;AAID,YAAMC,SAAS,gBAAiBvC,CAAAA,IAAjB,CAAsBqC,KAAtB,CAATE,IAAyC,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,CAA/C;AACA,YAAMC,SAAS,gBAAiBxC,CAAAA,IAAjB,CAAsBsC,KAAtB,CAATE,IAAyC,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,CAA/C;AAEA,UAAID,MAAA,CAAO,CAAP,CAAU3D,CAAAA,MAAd,IAAwB,CAAxB,IAA6B4D,MAAA,CAAO,CAAP,CAAU5D,CAAAA,MAAvC,IAAiD,CAAjD;AACE;AADF;AAMA,YAAM6D,YAAYF,MAAA,CAAO,CAAP,CAAU3D,CAAAA,MAAV,IAAoB,CAApB,GAAwB,CAAxB,GAA4B8D,QAAA,CAASH,MAAA,CAAO,CAAP,CAAT,EAAoB,EAApB,CAA9C;AACA,YAAMI,YAAYH,MAAA,CAAO,CAAP,CAAU5D,CAAAA,MAAV,IAAoB,CAApB,GAAwB,CAAxB,GAA4B8D,QAAA,CAASF,MAAA,CAAO,CAAP,CAAT,EAAoB,EAApB,CAA9C;AAMAX,WAAA,GAAQ9D,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0E,CAAAA,gBAArB,CAAsCH,SAAtC,EAAiDE,SAAjD,CAAR,IACI5E,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0E,CAAAA,gBAArB,CACIL,MAAA,CAAO,CAAP,CAAU3D,CAAAA,MADd,IACwB,CADxB,EAC2B4D,MAAA,CAAO,CAAP,CAAU5D,CAAAA,MADrC,IAC+C,CAD/C,CADJ,IAGIb,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0E,CAAAA,gBAArB,CAAsCL,MAAA,CAAO,CAAP,CAAtC,EAAiDC,MAAA,CAAO,CAAP,CAAjD,CAHJ;AAMAH,WAAA,GAAQE,MAAA,CAAO,CAAP,CAAR;AACAD,WAAA,GAAQE,MAAA,CAAO,CAAP,CAAR;AA3BC,KAAH,QA4BSX,KA5BT,IA4BkB,CA5BlB;AAJ8D;AAmChE,SAAOA,KAAP;AA7CkE,CAApE;AA4DA9D,IAAKE,CAAAA,MAAOC,CAAAA,QAAS0E,CAAAA,gBAArB,GAAwCC,QAAQ,CAACC,IAAD,EAAOC,KAAP,CAAc;AAE5D,MAAID,IAAJ,GAAWC,KAAX;AACE,WAAO,CAAC,CAAR;AADF,QAEO,KAAID,IAAJ,GAAWC,KAAX;AACL,WAAO,CAAP;AADK;AAGP,SAAO,CAAP;AAP4D,CAA9D;;",
|
|
6
|
+
"sources":["goog/string/internal.js"],
|
|
7
|
+
"sourcesContent":["/**\n * @license\n * Copyright The Closure Library Authors.\n * SPDX-License-Identifier: Apache-2.0\n */\n\n/**\n * @fileoverview String functions called from Closure packages that couldn't\n * depend on each other. Outside Closure, use goog.string function which\n * delegate to these.\n */\n\n\ngoog.provide('goog.string.internal');\n\n\n/**\n * Fast prefix-checker.\n * @param {string} str The string to check.\n * @param {string} prefix A string to look for at the start of `str`.\n * @return {boolean} True if `str` begins with `prefix`.\n * @see goog.string.startsWith\n */\ngoog.string.internal.startsWith = function(str, prefix) {\n 'use strict';\n return str.lastIndexOf(prefix, 0) == 0;\n};\n\n\n/**\n * Fast suffix-checker.\n * @param {string} str The string to check.\n * @param {string} suffix A string to look for at the end of `str`.\n * @return {boolean} True if `str` ends with `suffix`.\n * @see goog.string.endsWith\n */\ngoog.string.internal.endsWith = function(str, suffix) {\n 'use strict';\n const l = str.length - suffix.length;\n return l >= 0 && str.indexOf(suffix, l) == l;\n};\n\n\n/**\n * Case-insensitive prefix-checker.\n * @param {string} str The string to check.\n * @param {string} prefix A string to look for at the end of `str`.\n * @return {boolean} True if `str` begins with `prefix` (ignoring\n * case).\n * @see goog.string.caseInsensitiveStartsWith\n */\ngoog.string.internal.caseInsensitiveStartsWith = function(str, prefix) {\n 'use strict';\n return (\n goog.string.internal.caseInsensitiveCompare(\n prefix, str.slice(0, prefix.length)) == 0);\n};\n\n\n/**\n * Case-insensitive suffix-checker.\n * @param {string} str The string to check.\n * @param {string} suffix A string to look for at the end of `str`.\n * @return {boolean} True if `str` ends with `suffix` (ignoring\n * case).\n * @see goog.string.caseInsensitiveEndsWith\n */\ngoog.string.internal.caseInsensitiveEndsWith = function(str, suffix) {\n 'use strict';\n return (\n goog.string.internal.caseInsensitiveCompare(\n suffix, str.slice(str.length - suffix.length)) == 0);\n};\n\n\n/**\n * Case-insensitive equality checker.\n * @param {string} str1 First string to check.\n * @param {string} str2 Second string to check.\n * @return {boolean} True if `str1` and `str2` are the same string,\n * ignoring case.\n * @see goog.string.caseInsensitiveEquals\n */\ngoog.string.internal.caseInsensitiveEquals = function(str1, str2) {\n 'use strict';\n return str1.toLowerCase() == str2.toLowerCase();\n};\n\n\n/**\n * Checks if a string is empty or contains only whitespaces.\n * @param {string} str The string to check.\n * @return {boolean} Whether `str` is empty or whitespace only.\n * @see goog.string.isEmptyOrWhitespace\n */\ngoog.string.internal.isEmptyOrWhitespace = function(str) {\n 'use strict';\n // testing length == 0 first is actually slower in all browsers (about the\n // same in Opera).\n // Since IE doesn't include non-breaking-space (0xa0) in their \\s character\n // class (as required by section 7.2 of the ECMAScript spec), we explicitly\n // include it in the regexp to enforce consistent cross-browser behavior.\n return /^[\\s\\xa0]*$/.test(str);\n};\n\n\n/**\n * Trims white spaces to the left and right of a string.\n * @param {string} str The string to trim.\n * @return {string} A trimmed copy of `str`.\n */\ngoog.string.internal.trim =\n (goog.TRUSTED_SITE && String.prototype.trim) ? function(str) {\n 'use strict';\n return str.trim();\n } : function(str) {\n 'use strict';\n // Since IE doesn't include non-breaking-space (0xa0) in their \\s\n // character class (as required by section 7.2 of the ECMAScript spec),\n // we explicitly include it in the regexp to enforce consistent\n // cross-browser behavior.\n // NOTE: We don't use String#replace because it might have side effects\n // causing this function to not compile to 0 bytes.\n return /^[\\s\\xa0]*([\\s\\S]*?)[\\s\\xa0]*$/.exec(str)[1];\n };\n\n\n/**\n * A string comparator that ignores case.\n * -1 = str1 less than str2\n * 0 = str1 equals str2\n * 1 = str1 greater than str2\n *\n * @param {string} str1 The string to compare.\n * @param {string} str2 The string to compare `str1` to.\n * @return {number} The comparator result, as described above.\n * @see goog.string.caseInsensitiveCompare\n */\ngoog.string.internal.caseInsensitiveCompare = function(str1, str2) {\n 'use strict';\n const test1 = String(str1).toLowerCase();\n const test2 = String(str2).toLowerCase();\n\n if (test1 < test2) {\n return -1;\n } else if (test1 == test2) {\n return 0;\n } else {\n return 1;\n }\n};\n\n\n/**\n * Converts \\n to <br>s or <br />s.\n * @param {string} str The string in which to convert newlines.\n * @param {boolean=} opt_xml Whether to use XML compatible tags.\n * @return {string} A copy of `str` with converted newlines.\n * @see goog.string.newLineToBr\n */\ngoog.string.internal.newLineToBr = function(str, opt_xml) {\n 'use strict';\n return str.replace(/(\\r\\n|\\r|\\n)/g, opt_xml ? '<br />' : '<br>');\n};\n\n\n/**\n * Escapes double quote '\"' and single quote '\\'' characters in addition to\n * '&', '<', and '>' so that a string can be included in an HTML tag attribute\n * value within double or single quotes.\n * @param {string} str string to be escaped.\n * @param {boolean=} opt_isLikelyToContainHtmlChars\n * @return {string} An escaped copy of `str`.\n * @see goog.string.htmlEscape\n */\ngoog.string.internal.htmlEscape = function(\n str, opt_isLikelyToContainHtmlChars) {\n 'use strict';\n if (opt_isLikelyToContainHtmlChars) {\n str = str.replace(goog.string.internal.AMP_RE_, '&')\n .replace(goog.string.internal.LT_RE_, '<')\n .replace(goog.string.internal.GT_RE_, '>')\n .replace(goog.string.internal.QUOT_RE_, '"')\n .replace(goog.string.internal.SINGLE_QUOTE_RE_, ''')\n .replace(goog.string.internal.NULL_RE_, '�');\n return str;\n\n } else {\n // quick test helps in the case when there are no chars to replace, in\n // worst case this makes barely a difference to the time taken\n if (!goog.string.internal.ALL_RE_.test(str)) return str;\n\n // str.indexOf is faster than regex.test in this case\n if (str.indexOf('&') != -1) {\n str = str.replace(goog.string.internal.AMP_RE_, '&');\n }\n if (str.indexOf('<') != -1) {\n str = str.replace(goog.string.internal.LT_RE_, '<');\n }\n if (str.indexOf('>') != -1) {\n str = str.replace(goog.string.internal.GT_RE_, '>');\n }\n if (str.indexOf('\"') != -1) {\n str = str.replace(goog.string.internal.QUOT_RE_, '"');\n }\n if (str.indexOf('\\'') != -1) {\n str = str.replace(goog.string.internal.SINGLE_QUOTE_RE_, ''');\n }\n if (str.indexOf('\\x00') != -1) {\n str = str.replace(goog.string.internal.NULL_RE_, '�');\n }\n return str;\n }\n};\n\n\n/**\n * Regular expression that matches an ampersand, for use in escaping.\n * @const {!RegExp}\n * @private\n */\ngoog.string.internal.AMP_RE_ = /&/g;\n\n\n/**\n * Regular expression that matches a less than sign, for use in escaping.\n * @const {!RegExp}\n * @private\n */\ngoog.string.internal.LT_RE_ = /</g;\n\n\n/**\n * Regular expression that matches a greater than sign, for use in escaping.\n * @const {!RegExp}\n * @private\n */\ngoog.string.internal.GT_RE_ = />/g;\n\n\n/**\n * Regular expression that matches a double quote, for use in escaping.\n * @const {!RegExp}\n * @private\n */\ngoog.string.internal.QUOT_RE_ = /\"/g;\n\n\n/**\n * Regular expression that matches a single quote, for use in escaping.\n * @const {!RegExp}\n * @private\n */\ngoog.string.internal.SINGLE_QUOTE_RE_ = /'/g;\n\n\n/**\n * Regular expression that matches null character, for use in escaping.\n * @const {!RegExp}\n * @private\n */\ngoog.string.internal.NULL_RE_ = /\\x00/g;\n\n\n/**\n * Regular expression that matches any character that needs to be escaped.\n * @const {!RegExp}\n * @private\n */\ngoog.string.internal.ALL_RE_ = /[\\x00&<>\"']/;\n\n\n/**\n * Do escaping of whitespace to preserve spatial formatting. We use character\n * entity #160 to make it safer for xml.\n * @param {string} str The string in which to escape whitespace.\n * @param {boolean=} opt_xml Whether to use XML compatible tags.\n * @return {string} An escaped copy of `str`.\n * @see goog.string.whitespaceEscape\n */\ngoog.string.internal.whitespaceEscape = function(str, opt_xml) {\n 'use strict';\n // This doesn't use goog.string.preserveSpaces for backwards compatibility.\n return goog.string.internal.newLineToBr(\n str.replace(/ /g, '  '), opt_xml);\n};\n\n\n/**\n * Determines whether a string contains a substring.\n * @param {string} str The string to search.\n * @param {string} subString The substring to search for.\n * @return {boolean} Whether `str` contains `subString`.\n * @see goog.string.contains\n */\ngoog.string.internal.contains = function(str, subString) {\n 'use strict';\n return str.indexOf(subString) != -1;\n};\n\n\n/**\n * Determines whether a string contains a substring, ignoring case.\n * @param {string} str The string to search.\n * @param {string} subString The substring to search for.\n * @return {boolean} Whether `str` contains `subString`.\n * @see goog.string.caseInsensitiveContains\n */\ngoog.string.internal.caseInsensitiveContains = function(str, subString) {\n 'use strict';\n return goog.string.internal.contains(\n str.toLowerCase(), subString.toLowerCase());\n};\n\n\n/**\n * Compares two version numbers.\n *\n * @param {string|number} version1 Version of first item.\n * @param {string|number} version2 Version of second item.\n *\n * @return {number} 1 if `version1` is higher.\n * 0 if arguments are equal.\n * -1 if `version2` is higher.\n * @see goog.string.compareVersions\n */\ngoog.string.internal.compareVersions = function(version1, version2) {\n 'use strict';\n let order = 0;\n // Trim leading and trailing whitespace and split the versions into\n // subversions.\n const v1Subs = goog.string.internal.trim(String(version1)).split('.');\n const v2Subs = goog.string.internal.trim(String(version2)).split('.');\n const subCount = Math.max(v1Subs.length, v2Subs.length);\n\n // Iterate over the subversions, as long as they appear to be equivalent.\n for (let subIdx = 0; order == 0 && subIdx < subCount; subIdx++) {\n let v1Sub = v1Subs[subIdx] || '';\n let v2Sub = v2Subs[subIdx] || '';\n\n do {\n // Split the subversions into pairs of numbers and qualifiers (like 'b').\n // Two different RegExp objects are use to make it clear the code\n // is side-effect free\n const v1Comp = /(\\d*)(\\D*)(.*)/.exec(v1Sub) || ['', '', '', ''];\n const v2Comp = /(\\d*)(\\D*)(.*)/.exec(v2Sub) || ['', '', '', ''];\n // Break if there are no more matches.\n if (v1Comp[0].length == 0 && v2Comp[0].length == 0) {\n break;\n }\n\n // Parse the numeric part of the subversion. A missing number is\n // equivalent to 0.\n const v1CompNum = v1Comp[1].length == 0 ? 0 : parseInt(v1Comp[1], 10);\n const v2CompNum = v2Comp[1].length == 0 ? 0 : parseInt(v2Comp[1], 10);\n\n // Compare the subversion components. The number has the highest\n // precedence. Next, if the numbers are equal, a subversion without any\n // qualifier is always higher than a subversion with any qualifier. Next,\n // the qualifiers are compared as strings.\n order = goog.string.internal.compareElements_(v1CompNum, v2CompNum) ||\n goog.string.internal.compareElements_(\n v1Comp[2].length == 0, v2Comp[2].length == 0) ||\n goog.string.internal.compareElements_(v1Comp[2], v2Comp[2]);\n // Stop as soon as an inequality is discovered.\n\n v1Sub = v1Comp[3];\n v2Sub = v2Comp[3];\n } while (order == 0);\n }\n\n return order;\n};\n\n\n/**\n * Compares elements of a version number.\n *\n * @param {string|number|boolean} left An element from a version number.\n * @param {string|number|boolean} right An element from a version number.\n *\n * @return {number} 1 if `left` is higher.\n * 0 if arguments are equal.\n * -1 if `right` is higher.\n * @private\n */\ngoog.string.internal.compareElements_ = function(left, right) {\n 'use strict';\n if (left < right) {\n return -1;\n } else if (left > right) {\n return 1;\n }\n return 0;\n};\n"],
|
|
8
|
+
"names":["goog","provide","string","internal","startsWith","goog.string.internal.startsWith","str","prefix","lastIndexOf","endsWith","goog.string.internal.endsWith","suffix","l","length","indexOf","caseInsensitiveStartsWith","goog.string.internal.caseInsensitiveStartsWith","caseInsensitiveCompare","slice","caseInsensitiveEndsWith","goog.string.internal.caseInsensitiveEndsWith","caseInsensitiveEquals","goog.string.internal.caseInsensitiveEquals","str1","str2","toLowerCase","isEmptyOrWhitespace","goog.string.internal.isEmptyOrWhitespace","test","trim","TRUSTED_SITE","String","prototype","exec","goog.string.internal.caseInsensitiveCompare","test1","test2","newLineToBr","goog.string.internal.newLineToBr","opt_xml","replace","htmlEscape","goog.string.internal.htmlEscape","opt_isLikelyToContainHtmlChars","AMP_RE_","LT_RE_","GT_RE_","QUOT_RE_","SINGLE_QUOTE_RE_","NULL_RE_","ALL_RE_","whitespaceEscape","goog.string.internal.whitespaceEscape","contains","goog.string.internal.contains","subString","caseInsensitiveContains","goog.string.internal.caseInsensitiveContains","compareVersions","goog.string.internal.compareVersions","version1","version2","order","v1Subs","split","v2Subs","subCount","Math","max","subIdx","v1Sub","v2Sub","v1Comp","v2Comp","v1CompNum","parseInt","v2CompNum","compareElements_","goog.string.internal.compareElements_","left","right"]
|
|
9
|
+
}
|
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
import "./cljs_env.js";
|
|
2
|
+
goog.provide("goog.string");
|
|
3
|
+
goog.provide("goog.string.Unicode");
|
|
4
|
+
goog.require("goog.dom.safe");
|
|
5
|
+
goog.require("goog.html.uncheckedconversions");
|
|
6
|
+
goog.require("goog.string.Const");
|
|
7
|
+
goog.require("goog.string.internal");
|
|
8
|
+
goog.string.DETECT_DOUBLE_ESCAPING = goog.define("goog.string.DETECT_DOUBLE_ESCAPING", false);
|
|
9
|
+
goog.string.FORCE_NON_DOM_HTML_UNESCAPING = goog.define("goog.string.FORCE_NON_DOM_HTML_UNESCAPING", false);
|
|
10
|
+
goog.string.Unicode = {NBSP:" ", ZERO_WIDTH_SPACE:""};
|
|
11
|
+
goog.string.startsWith = goog.string.internal.startsWith;
|
|
12
|
+
goog.string.endsWith = goog.string.internal.endsWith;
|
|
13
|
+
goog.string.caseInsensitiveStartsWith = goog.string.internal.caseInsensitiveStartsWith;
|
|
14
|
+
goog.string.caseInsensitiveEndsWith = goog.string.internal.caseInsensitiveEndsWith;
|
|
15
|
+
goog.string.caseInsensitiveEquals = goog.string.internal.caseInsensitiveEquals;
|
|
16
|
+
goog.string.subs = function(str, var_args) {
|
|
17
|
+
const splitParts = str.split("%s");
|
|
18
|
+
let returnString = "";
|
|
19
|
+
const subsArguments = Array.prototype.slice.call(arguments, 1);
|
|
20
|
+
while (subsArguments.length && splitParts.length > 1) {
|
|
21
|
+
returnString += splitParts.shift() + subsArguments.shift();
|
|
22
|
+
}
|
|
23
|
+
return returnString + splitParts.join("%s");
|
|
24
|
+
};
|
|
25
|
+
goog.string.collapseWhitespace = function(str) {
|
|
26
|
+
return str.replace(/[\s\xa0]+/g, " ").replace(/^\s+|\s+$/g, "");
|
|
27
|
+
};
|
|
28
|
+
goog.string.isEmptyOrWhitespace = goog.string.internal.isEmptyOrWhitespace;
|
|
29
|
+
goog.string.isEmptyString = function(str) {
|
|
30
|
+
return str.length == 0;
|
|
31
|
+
};
|
|
32
|
+
goog.string.isEmpty = goog.string.isEmptyOrWhitespace;
|
|
33
|
+
goog.string.isEmptyOrWhitespaceSafe = function(str) {
|
|
34
|
+
return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(str));
|
|
35
|
+
};
|
|
36
|
+
goog.string.isEmptySafe = goog.string.isEmptyOrWhitespaceSafe;
|
|
37
|
+
goog.string.isBreakingWhitespace = function(str) {
|
|
38
|
+
return !/[^\t\n\r ]/.test(str);
|
|
39
|
+
};
|
|
40
|
+
goog.string.isAlpha = function(str) {
|
|
41
|
+
return !/[^a-zA-Z]/.test(str);
|
|
42
|
+
};
|
|
43
|
+
goog.string.isNumeric = function(str) {
|
|
44
|
+
return !/[^0-9]/.test(str);
|
|
45
|
+
};
|
|
46
|
+
goog.string.isAlphaNumeric = function(str) {
|
|
47
|
+
return !/[^a-zA-Z0-9]/.test(str);
|
|
48
|
+
};
|
|
49
|
+
goog.string.isSpace = function(ch) {
|
|
50
|
+
return ch == " ";
|
|
51
|
+
};
|
|
52
|
+
goog.string.isUnicodeChar = function(ch) {
|
|
53
|
+
return ch.length == 1 && ch >= " " && ch <= "~" || ch >= "" && ch <= "�";
|
|
54
|
+
};
|
|
55
|
+
goog.string.stripNewlines = function(str) {
|
|
56
|
+
return str.replace(/(\r\n|\r|\n)+/g, " ");
|
|
57
|
+
};
|
|
58
|
+
goog.string.canonicalizeNewlines = function(str) {
|
|
59
|
+
return str.replace(/(\r\n|\r|\n)/g, "\n");
|
|
60
|
+
};
|
|
61
|
+
goog.string.normalizeWhitespace = function(str) {
|
|
62
|
+
return str.replace(/\xa0|\s/g, " ");
|
|
63
|
+
};
|
|
64
|
+
goog.string.normalizeSpaces = function(str) {
|
|
65
|
+
return str.replace(/\xa0|[ \t]+/g, " ");
|
|
66
|
+
};
|
|
67
|
+
goog.string.collapseBreakingSpaces = function(str) {
|
|
68
|
+
return str.replace(/[\t\r\n ]+/g, " ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g, "");
|
|
69
|
+
};
|
|
70
|
+
goog.string.trim = goog.string.internal.trim;
|
|
71
|
+
goog.string.trimLeft = function(str) {
|
|
72
|
+
return str.replace(/^[\s\xa0]+/, "");
|
|
73
|
+
};
|
|
74
|
+
goog.string.trimRight = function(str) {
|
|
75
|
+
return str.replace(/[\s\xa0]+$/, "");
|
|
76
|
+
};
|
|
77
|
+
goog.string.caseInsensitiveCompare = goog.string.internal.caseInsensitiveCompare;
|
|
78
|
+
goog.string.numberAwareCompare_ = function(str1, str2, tokenizerRegExp) {
|
|
79
|
+
if (str1 == str2) {
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
if (!str1) {
|
|
83
|
+
return -1;
|
|
84
|
+
}
|
|
85
|
+
if (!str2) {
|
|
86
|
+
return 1;
|
|
87
|
+
}
|
|
88
|
+
const tokens1 = str1.toLowerCase().match(tokenizerRegExp);
|
|
89
|
+
const tokens2 = str2.toLowerCase().match(tokenizerRegExp);
|
|
90
|
+
const count = Math.min(tokens1.length, tokens2.length);
|
|
91
|
+
for (let i = 0; i < count; i++) {
|
|
92
|
+
const a = tokens1[i];
|
|
93
|
+
const b = tokens2[i];
|
|
94
|
+
if (a != b) {
|
|
95
|
+
const num1 = parseInt(a, 10);
|
|
96
|
+
if (!isNaN(num1)) {
|
|
97
|
+
const num2 = parseInt(b, 10);
|
|
98
|
+
if (!isNaN(num2) && num1 - num2) {
|
|
99
|
+
return num1 - num2;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return a < b ? -1 : 1;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (tokens1.length != tokens2.length) {
|
|
106
|
+
return tokens1.length - tokens2.length;
|
|
107
|
+
}
|
|
108
|
+
return str1 < str2 ? -1 : 1;
|
|
109
|
+
};
|
|
110
|
+
goog.string.intAwareCompare = function(str1, str2) {
|
|
111
|
+
return goog.string.numberAwareCompare_(str1, str2, /\d+|\D+/g);
|
|
112
|
+
};
|
|
113
|
+
goog.string.floatAwareCompare = function(str1, str2) {
|
|
114
|
+
return goog.string.numberAwareCompare_(str1, str2, /\d+|\.\d+|\D+/g);
|
|
115
|
+
};
|
|
116
|
+
goog.string.numerateCompare = goog.string.floatAwareCompare;
|
|
117
|
+
goog.string.urlEncode = function(str) {
|
|
118
|
+
return encodeURIComponent(String(str));
|
|
119
|
+
};
|
|
120
|
+
goog.string.urlDecode = function(str) {
|
|
121
|
+
return decodeURIComponent(str.replace(/\+/g, " "));
|
|
122
|
+
};
|
|
123
|
+
goog.string.newLineToBr = goog.string.internal.newLineToBr;
|
|
124
|
+
goog.string.htmlEscape = function(str, opt_isLikelyToContainHtmlChars) {
|
|
125
|
+
str = goog.string.internal.htmlEscape(str, opt_isLikelyToContainHtmlChars);
|
|
126
|
+
if (goog.string.DETECT_DOUBLE_ESCAPING) {
|
|
127
|
+
str = str.replace(goog.string.E_RE_, "\x26#101;");
|
|
128
|
+
}
|
|
129
|
+
return str;
|
|
130
|
+
};
|
|
131
|
+
goog.string.E_RE_ = /e/g;
|
|
132
|
+
goog.string.unescapeEntities = function(str) {
|
|
133
|
+
if (goog.string.contains(str, "\x26")) {
|
|
134
|
+
if (!goog.string.FORCE_NON_DOM_HTML_UNESCAPING && "document" in goog.global) {
|
|
135
|
+
return goog.string.unescapeEntitiesUsingDom_(str);
|
|
136
|
+
} else {
|
|
137
|
+
return goog.string.unescapePureXmlEntities_(str);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return str;
|
|
141
|
+
};
|
|
142
|
+
goog.string.unescapeEntitiesWithDocument = function(str, document) {
|
|
143
|
+
if (goog.string.contains(str, "\x26")) {
|
|
144
|
+
return goog.string.unescapeEntitiesUsingDom_(str, document);
|
|
145
|
+
}
|
|
146
|
+
return str;
|
|
147
|
+
};
|
|
148
|
+
goog.string.unescapeEntitiesUsingDom_ = function(str, opt_document) {
|
|
149
|
+
const seen = {"\x26amp;":"\x26", "\x26lt;":"\x3c", "\x26gt;":"\x3e", "\x26quot;":'"'};
|
|
150
|
+
let div;
|
|
151
|
+
if (opt_document) {
|
|
152
|
+
div = opt_document.createElement("div");
|
|
153
|
+
} else {
|
|
154
|
+
div = goog.global.document.createElement("div");
|
|
155
|
+
}
|
|
156
|
+
return str.replace(goog.string.HTML_ENTITY_PATTERN_, function(s, entity) {
|
|
157
|
+
let value = seen[s];
|
|
158
|
+
if (value) {
|
|
159
|
+
return value;
|
|
160
|
+
}
|
|
161
|
+
if (entity.charAt(0) == "#") {
|
|
162
|
+
const n = Number("0" + entity.slice(1));
|
|
163
|
+
if (!isNaN(n)) {
|
|
164
|
+
value = String.fromCharCode(n);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (!value) {
|
|
168
|
+
goog.dom.safe.setInnerHtml(div, goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."), s + " "));
|
|
169
|
+
value = div.firstChild.nodeValue.slice(0, -1);
|
|
170
|
+
}
|
|
171
|
+
return seen[s] = value;
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
goog.string.unescapePureXmlEntities_ = function(str) {
|
|
175
|
+
return str.replace(/&([^;]+);/g, function(s, entity) {
|
|
176
|
+
switch(entity) {
|
|
177
|
+
case "amp":
|
|
178
|
+
return "\x26";
|
|
179
|
+
case "lt":
|
|
180
|
+
return "\x3c";
|
|
181
|
+
case "gt":
|
|
182
|
+
return "\x3e";
|
|
183
|
+
case "quot":
|
|
184
|
+
return '"';
|
|
185
|
+
default:
|
|
186
|
+
if (entity.charAt(0) == "#") {
|
|
187
|
+
const n = Number("0" + entity.slice(1));
|
|
188
|
+
if (!isNaN(n)) {
|
|
189
|
+
return String.fromCharCode(n);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return s;
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
goog.string.HTML_ENTITY_PATTERN_ = /&([^;\s<&]+);?/g;
|
|
197
|
+
goog.string.whitespaceEscape = function(str, opt_xml) {
|
|
198
|
+
return goog.string.newLineToBr(str.replace(/ /g, " \x26#160;"), opt_xml);
|
|
199
|
+
};
|
|
200
|
+
goog.string.preserveSpaces = function(str) {
|
|
201
|
+
return str.replace(/(^|[\n ]) /g, "$1" + goog.string.Unicode.NBSP);
|
|
202
|
+
};
|
|
203
|
+
goog.string.stripQuotes = function(str, quoteChars) {
|
|
204
|
+
const length = quoteChars.length;
|
|
205
|
+
for (let i = 0; i < length; i++) {
|
|
206
|
+
const quoteChar = length == 1 ? quoteChars : quoteChars.charAt(i);
|
|
207
|
+
if (str.charAt(0) == quoteChar && str.charAt(str.length - 1) == quoteChar) {
|
|
208
|
+
return str.substring(1, str.length - 1);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return str;
|
|
212
|
+
};
|
|
213
|
+
goog.string.truncate = function(str, chars, opt_protectEscapedCharacters) {
|
|
214
|
+
if (opt_protectEscapedCharacters) {
|
|
215
|
+
str = goog.string.unescapeEntities(str);
|
|
216
|
+
}
|
|
217
|
+
if (str.length > chars) {
|
|
218
|
+
str = str.substring(0, chars - 3) + "...";
|
|
219
|
+
}
|
|
220
|
+
if (opt_protectEscapedCharacters) {
|
|
221
|
+
str = goog.string.htmlEscape(str);
|
|
222
|
+
}
|
|
223
|
+
return str;
|
|
224
|
+
};
|
|
225
|
+
goog.string.truncateMiddle = function(str, chars, opt_protectEscapedCharacters, opt_trailingChars) {
|
|
226
|
+
if (opt_protectEscapedCharacters) {
|
|
227
|
+
str = goog.string.unescapeEntities(str);
|
|
228
|
+
}
|
|
229
|
+
if (opt_trailingChars && str.length > chars) {
|
|
230
|
+
if (opt_trailingChars > chars) {
|
|
231
|
+
opt_trailingChars = chars;
|
|
232
|
+
}
|
|
233
|
+
const endPoint = str.length - opt_trailingChars;
|
|
234
|
+
const startPoint = chars - opt_trailingChars;
|
|
235
|
+
str = str.substring(0, startPoint) + "..." + str.substring(endPoint);
|
|
236
|
+
} else if (str.length > chars) {
|
|
237
|
+
let half = Math.floor(chars / 2);
|
|
238
|
+
const endPos = str.length - half;
|
|
239
|
+
half += chars % 2;
|
|
240
|
+
str = str.substring(0, half) + "..." + str.substring(endPos);
|
|
241
|
+
}
|
|
242
|
+
if (opt_protectEscapedCharacters) {
|
|
243
|
+
str = goog.string.htmlEscape(str);
|
|
244
|
+
}
|
|
245
|
+
return str;
|
|
246
|
+
};
|
|
247
|
+
goog.string.specialEscapeChars_ = {"\x00":"\\0", "\b":"\\b", "\f":"\\f", "\n":"\\n", "\r":"\\r", "\t":"\\t", "\v":"\\x0B", '"':'\\"', "\\":"\\\\", "\x3c":"\\u003C"};
|
|
248
|
+
goog.string.jsEscapeCache_ = {"'":"\\'"};
|
|
249
|
+
goog.string.quote = function(s) {
|
|
250
|
+
s = String(s);
|
|
251
|
+
const sb = ['"'];
|
|
252
|
+
for (let i = 0; i < s.length; i++) {
|
|
253
|
+
const ch = s.charAt(i);
|
|
254
|
+
const cc = ch.charCodeAt(0);
|
|
255
|
+
sb[i + 1] = goog.string.specialEscapeChars_[ch] || (cc > 31 && cc < 127 ? ch : goog.string.escapeChar(ch));
|
|
256
|
+
}
|
|
257
|
+
sb.push('"');
|
|
258
|
+
return sb.join("");
|
|
259
|
+
};
|
|
260
|
+
goog.string.escapeString = function(str) {
|
|
261
|
+
const sb = [];
|
|
262
|
+
for (let i = 0; i < str.length; i++) {
|
|
263
|
+
sb[i] = goog.string.escapeChar(str.charAt(i));
|
|
264
|
+
}
|
|
265
|
+
return sb.join("");
|
|
266
|
+
};
|
|
267
|
+
goog.string.escapeChar = function(c) {
|
|
268
|
+
if (c in goog.string.jsEscapeCache_) {
|
|
269
|
+
return goog.string.jsEscapeCache_[c];
|
|
270
|
+
}
|
|
271
|
+
if (c in goog.string.specialEscapeChars_) {
|
|
272
|
+
return goog.string.jsEscapeCache_[c] = goog.string.specialEscapeChars_[c];
|
|
273
|
+
}
|
|
274
|
+
let rv = c;
|
|
275
|
+
const cc = c.charCodeAt(0);
|
|
276
|
+
if (cc > 31 && cc < 127) {
|
|
277
|
+
rv = c;
|
|
278
|
+
} else {
|
|
279
|
+
if (cc < 256) {
|
|
280
|
+
rv = "\\x";
|
|
281
|
+
if (cc < 16 || cc > 256) {
|
|
282
|
+
rv += "0";
|
|
283
|
+
}
|
|
284
|
+
} else {
|
|
285
|
+
rv = "\\u";
|
|
286
|
+
if (cc < 4096) {
|
|
287
|
+
rv += "0";
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
rv += cc.toString(16).toUpperCase();
|
|
291
|
+
}
|
|
292
|
+
return goog.string.jsEscapeCache_[c] = rv;
|
|
293
|
+
};
|
|
294
|
+
goog.string.contains = goog.string.internal.contains;
|
|
295
|
+
goog.string.caseInsensitiveContains = goog.string.internal.caseInsensitiveContains;
|
|
296
|
+
goog.string.countOf = function(s, ss) {
|
|
297
|
+
return s && ss ? s.split(ss).length - 1 : 0;
|
|
298
|
+
};
|
|
299
|
+
goog.string.removeAt = function(s, index, stringLength) {
|
|
300
|
+
let resultStr = s;
|
|
301
|
+
if (index >= 0 && index < s.length && stringLength > 0) {
|
|
302
|
+
resultStr = s.slice(0, index) + s.slice(index + stringLength);
|
|
303
|
+
}
|
|
304
|
+
return resultStr;
|
|
305
|
+
};
|
|
306
|
+
goog.string.remove = function(str, substr) {
|
|
307
|
+
return str.replace(substr, "");
|
|
308
|
+
};
|
|
309
|
+
goog.string.removeAll = function(s, ss) {
|
|
310
|
+
const re = new RegExp(goog.string.regExpEscape(ss), "g");
|
|
311
|
+
return s.replace(re, "");
|
|
312
|
+
};
|
|
313
|
+
goog.string.replaceAll = function(s, ss, replacement) {
|
|
314
|
+
const re = new RegExp(goog.string.regExpEscape(ss), "g");
|
|
315
|
+
return s.replace(re, replacement.replace(/\$/g, "$$$$"));
|
|
316
|
+
};
|
|
317
|
+
goog.string.regExpEscape = function(s) {
|
|
318
|
+
return String(s).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08");
|
|
319
|
+
};
|
|
320
|
+
goog.string.repeat = String.prototype.repeat ? function(string, length) {
|
|
321
|
+
return string.repeat(length);
|
|
322
|
+
} : function(string, length) {
|
|
323
|
+
return (new Array(length + 1)).join(string);
|
|
324
|
+
};
|
|
325
|
+
goog.string.padNumber = function(num, length, opt_precision) {
|
|
326
|
+
if (!Number.isFinite(num)) {
|
|
327
|
+
return String(num);
|
|
328
|
+
}
|
|
329
|
+
let s = opt_precision !== undefined ? num.toFixed(opt_precision) : String(num);
|
|
330
|
+
let index = s.indexOf(".");
|
|
331
|
+
if (index === -1) {
|
|
332
|
+
index = s.length;
|
|
333
|
+
}
|
|
334
|
+
const sign = s[0] === "-" ? "-" : "";
|
|
335
|
+
if (sign) {
|
|
336
|
+
s = s.substring(1);
|
|
337
|
+
}
|
|
338
|
+
return sign + goog.string.repeat("0", Math.max(0, length - index)) + s;
|
|
339
|
+
};
|
|
340
|
+
goog.string.makeSafe = function(obj) {
|
|
341
|
+
return obj == null ? "" : String(obj);
|
|
342
|
+
};
|
|
343
|
+
goog.string.getRandomString = function() {
|
|
344
|
+
const x = 2147483648;
|
|
345
|
+
return Math.floor(Math.random() * x).toString(36) + Math.abs(Math.floor(Math.random() * x) ^ goog.now()).toString(36);
|
|
346
|
+
};
|
|
347
|
+
goog.string.compareVersions = goog.string.internal.compareVersions;
|
|
348
|
+
goog.string.hashCode = function(str) {
|
|
349
|
+
let result = 0;
|
|
350
|
+
for (let i = 0; i < str.length; ++i) {
|
|
351
|
+
result = 31 * result + str.charCodeAt(i) >>> 0;
|
|
352
|
+
}
|
|
353
|
+
return result;
|
|
354
|
+
};
|
|
355
|
+
goog.string.uniqueStringCounter_ = Math.random() * 2147483648 | 0;
|
|
356
|
+
goog.string.createUniqueString = function() {
|
|
357
|
+
return "goog_" + goog.string.uniqueStringCounter_++;
|
|
358
|
+
};
|
|
359
|
+
goog.string.toNumber = function(str) {
|
|
360
|
+
const num = Number(str);
|
|
361
|
+
if (num == 0 && goog.string.isEmptyOrWhitespace(str)) {
|
|
362
|
+
return NaN;
|
|
363
|
+
}
|
|
364
|
+
return num;
|
|
365
|
+
};
|
|
366
|
+
goog.string.isLowerCamelCase = function(str) {
|
|
367
|
+
return /^[a-z]+([A-Z][a-z]*)*$/.test(str);
|
|
368
|
+
};
|
|
369
|
+
goog.string.isUpperCamelCase = function(str) {
|
|
370
|
+
return /^([A-Z][a-z]*)+$/.test(str);
|
|
371
|
+
};
|
|
372
|
+
goog.string.toCamelCase = function(str) {
|
|
373
|
+
return String(str).replace(/\-([a-z])/g, function(all, match) {
|
|
374
|
+
return match.toUpperCase();
|
|
375
|
+
});
|
|
376
|
+
};
|
|
377
|
+
goog.string.toSelectorCase = function(str) {
|
|
378
|
+
return String(str).replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
379
|
+
};
|
|
380
|
+
goog.string.toTitleCase = function(str, opt_delimiters) {
|
|
381
|
+
let delimiters = typeof opt_delimiters === "string" ? goog.string.regExpEscape(opt_delimiters) : "\\s";
|
|
382
|
+
delimiters = delimiters ? "|[" + delimiters + "]+" : "";
|
|
383
|
+
const regexp = new RegExp("(^" + delimiters + ")([a-z])", "g");
|
|
384
|
+
return str.replace(regexp, function(all, p1, p2) {
|
|
385
|
+
return p1 + p2.toUpperCase();
|
|
386
|
+
});
|
|
387
|
+
};
|
|
388
|
+
goog.string.capitalize = function(str) {
|
|
389
|
+
return String(str.charAt(0)).toUpperCase() + String(str.slice(1)).toLowerCase();
|
|
390
|
+
};
|
|
391
|
+
goog.string.parseInt = function(value) {
|
|
392
|
+
if (isFinite(value)) {
|
|
393
|
+
value = String(value);
|
|
394
|
+
}
|
|
395
|
+
if (typeof value === "string") {
|
|
396
|
+
return /^\s*-?0x/i.test(value) ? parseInt(value, 16) : parseInt(value, 10);
|
|
397
|
+
}
|
|
398
|
+
return NaN;
|
|
399
|
+
};
|
|
400
|
+
goog.string.splitLimit = function(str, separator, limit) {
|
|
401
|
+
const parts = str.split(separator);
|
|
402
|
+
const returnVal = [];
|
|
403
|
+
while (limit > 0 && parts.length) {
|
|
404
|
+
returnVal.push(parts.shift());
|
|
405
|
+
limit--;
|
|
406
|
+
}
|
|
407
|
+
if (parts.length) {
|
|
408
|
+
returnVal.push(parts.join(separator));
|
|
409
|
+
}
|
|
410
|
+
return returnVal;
|
|
411
|
+
};
|
|
412
|
+
goog.string.lastComponent = function(str, separators) {
|
|
413
|
+
if (!separators) {
|
|
414
|
+
return str;
|
|
415
|
+
} else if (typeof separators == "string") {
|
|
416
|
+
separators = [separators];
|
|
417
|
+
}
|
|
418
|
+
let lastSeparatorIndex = -1;
|
|
419
|
+
for (let i = 0; i < separators.length; i++) {
|
|
420
|
+
if (separators[i] == "") {
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
const currentSeparatorIndex = str.lastIndexOf(separators[i]);
|
|
424
|
+
if (currentSeparatorIndex > lastSeparatorIndex) {
|
|
425
|
+
lastSeparatorIndex = currentSeparatorIndex;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
if (lastSeparatorIndex == -1) {
|
|
429
|
+
return str;
|
|
430
|
+
}
|
|
431
|
+
return str.slice(lastSeparatorIndex + 1);
|
|
432
|
+
};
|
|
433
|
+
goog.string.editDistance = function(a, b) {
|
|
434
|
+
const v0 = [];
|
|
435
|
+
const v1 = [];
|
|
436
|
+
if (a == b) {
|
|
437
|
+
return 0;
|
|
438
|
+
}
|
|
439
|
+
if (!a.length || !b.length) {
|
|
440
|
+
return Math.max(a.length, b.length);
|
|
441
|
+
}
|
|
442
|
+
for (let i = 0; i < b.length + 1; i++) {
|
|
443
|
+
v0[i] = i;
|
|
444
|
+
}
|
|
445
|
+
for (let i = 0; i < a.length; i++) {
|
|
446
|
+
v1[0] = i + 1;
|
|
447
|
+
for (let j = 0; j < b.length; j++) {
|
|
448
|
+
const cost = Number(a[i] != b[j]);
|
|
449
|
+
v1[j + 1] = Math.min(v1[j] + 1, v0[j + 1] + 1, v0[j] + cost);
|
|
450
|
+
}
|
|
451
|
+
for (let j = 0; j < v0.length; j++) {
|
|
452
|
+
v0[j] = v1[j];
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
return v1[b.length];
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
//# sourceMappingURL=goog.string.string.js.map
|