longdown 2024.4.13 → 2026.2.1

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.
@@ -11,44 +11,44 @@ clojure.string.reverse = (function clojure$string$reverse(s){
11
11
  return s.replace(clojure.string.re_surrogate_pair,"$2$1").split("").reverse().join("");
12
12
  });
13
13
  clojure.string.replace_all = (function clojure$string$replace_all(s,re,replacement){
14
- var r = (new RegExp(re.source,(function (){var G__21430 = "g";
15
- var G__21430__$1 = (cljs.core.truth_(re.ignoreCase)?[G__21430,"i"].join(''):G__21430);
16
- var G__21430__$2 = (cljs.core.truth_(re.multiline)?[G__21430__$1,"m"].join(''):G__21430__$1);
14
+ var r = (new RegExp(re.source,(function (){var G__21414 = "g";
15
+ var G__21414__$1 = (cljs.core.truth_(re.ignoreCase)?[G__21414,"i"].join(''):G__21414);
16
+ var G__21414__$2 = (cljs.core.truth_(re.multiline)?[G__21414__$1,"m"].join(''):G__21414__$1);
17
17
  if(cljs.core.truth_(re.unicode)){
18
- return [G__21430__$2,"u"].join('');
18
+ return [G__21414__$2,"u"].join('');
19
19
  } else {
20
- return G__21430__$2;
20
+ return G__21414__$2;
21
21
  }
22
22
  })()));
23
23
  return s.replace(r,replacement);
24
24
  });
25
25
  clojure.string.replace_with = (function clojure$string$replace_with(f){
26
26
  return (function() {
27
- var G__21490__delegate = function (args){
27
+ var G__21458__delegate = function (args){
28
28
  var matches = cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((2),args);
29
29
  if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(matches),(1))){
30
- var G__21435 = cljs.core.first(matches);
31
- return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__21435) : f.call(null,G__21435));
30
+ var G__21419 = cljs.core.first(matches);
31
+ return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__21419) : f.call(null,G__21419));
32
32
  } else {
33
- var G__21436 = cljs.core.vec(matches);
34
- return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__21436) : f.call(null,G__21436));
33
+ var G__21420 = cljs.core.vec(matches);
34
+ return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__21420) : f.call(null,G__21420));
35
35
  }
36
36
  };
37
- var G__21490 = function (var_args){
37
+ var G__21458 = function (var_args){
38
38
  var args = null;
39
39
  if (arguments.length > 0) {
40
- var G__21491__i = 0, G__21491__a = new Array(arguments.length - 0);
41
- while (G__21491__i < G__21491__a.length) {G__21491__a[G__21491__i] = arguments[G__21491__i + 0]; ++G__21491__i;}
42
- args = new cljs.core.IndexedSeq(G__21491__a,0,null);
40
+ var G__21462__i = 0, G__21462__a = new Array(arguments.length - 0);
41
+ while (G__21462__i < G__21462__a.length) {G__21462__a[G__21462__i] = arguments[G__21462__i + 0]; ++G__21462__i;}
42
+ args = new cljs.core.IndexedSeq(G__21462__a,0,null);
43
43
  }
44
- return G__21490__delegate.call(this,args);};
45
- G__21490.cljs$lang$maxFixedArity = 0;
46
- G__21490.cljs$lang$applyTo = (function (arglist__21492){
47
- var args = cljs.core.seq(arglist__21492);
48
- return G__21490__delegate(args);
44
+ return G__21458__delegate.call(this,args);};
45
+ G__21458.cljs$lang$maxFixedArity = 0;
46
+ G__21458.cljs$lang$applyTo = (function (arglist__21463){
47
+ var args = cljs.core.seq(arglist__21463);
48
+ return G__21458__delegate(args);
49
49
  });
50
- G__21490.cljs$core$IFn$_invoke$arity$variadic = G__21490__delegate;
51
- return G__21490;
50
+ G__21458.cljs$core$IFn$_invoke$arity$variadic = G__21458__delegate;
51
+ return G__21458;
52
52
  })()
53
53
  ;
54
54
  });
@@ -119,8 +119,8 @@ return s.replace(match,replacement);
119
119
  * separated by an optional separator.
120
120
  */
121
121
  clojure.string.join = (function clojure$string$join(var_args){
122
- var G__21442 = arguments.length;
123
- switch (G__21442) {
122
+ var G__21426 = arguments.length;
123
+ switch (G__21426) {
124
124
  case 1:
125
125
  return clojure.string.join.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
126
126
 
@@ -140,10 +140,10 @@ var sb = (new goog.string.StringBuffer());
140
140
  var coll__$1 = cljs.core.seq(coll);
141
141
  while(true){
142
142
  if((!((coll__$1 == null)))){
143
- var G__21496 = sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));
144
- var G__21497 = cljs.core.next(coll__$1);
145
- sb = G__21496;
146
- coll__$1 = G__21497;
143
+ var G__21469 = sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));
144
+ var G__21470 = cljs.core.next(coll__$1);
145
+ sb = G__21469;
146
+ coll__$1 = G__21470;
147
147
  continue;
148
148
  } else {
149
149
  return sb.toString();
@@ -165,10 +165,10 @@ if((coll__$2 == null)){
165
165
  sb.append(separator);
166
166
  }
167
167
 
168
- var G__21501 = sb;
169
- var G__21502 = coll__$2;
170
- sb = G__21501;
171
- coll__$1 = G__21502;
168
+ var G__21476 = sb;
169
+ var G__21477 = coll__$2;
170
+ sb = G__21476;
171
+ coll__$1 = G__21477;
172
172
  continue;
173
173
  } else {
174
174
  return sb.toString();
@@ -202,8 +202,8 @@ clojure.string.pop_last_while_empty = (function clojure$string$pop_last_while_em
202
202
  var v__$1 = v;
203
203
  while(true){
204
204
  if(("" === cljs.core.peek(v__$1))){
205
- var G__21503 = cljs.core.pop(v__$1);
206
- v__$1 = G__21503;
205
+ var G__21481 = cljs.core.pop(v__$1);
206
+ v__$1 = G__21481;
207
207
  continue;
208
208
  } else {
209
209
  return v__$1;
@@ -222,12 +222,12 @@ clojure.string.split_with_empty_regex = (function clojure$string$split_with_empt
222
222
  if((((limit <= (0))) || ((limit >= ((2) + cljs.core.count(s)))))){
223
223
  return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons("",cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s)))),"");
224
224
  } else {
225
- var pred__21443 = cljs.core._EQ__EQ_;
226
- var expr__21444 = limit;
227
- if(cljs.core.truth_((pred__21443.cljs$core$IFn$_invoke$arity$2 ? pred__21443.cljs$core$IFn$_invoke$arity$2((1),expr__21444) : pred__21443.call(null,(1),expr__21444)))){
225
+ var pred__21427 = cljs.core._EQ__EQ_;
226
+ var expr__21428 = limit;
227
+ if(cljs.core.truth_((pred__21427.cljs$core$IFn$_invoke$arity$2 ? pred__21427.cljs$core$IFn$_invoke$arity$2((1),expr__21428) : pred__21427.call(null,(1),expr__21428)))){
228
228
  return (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[s],null));
229
229
  } else {
230
- if(cljs.core.truth_((pred__21443.cljs$core$IFn$_invoke$arity$2 ? pred__21443.cljs$core$IFn$_invoke$arity$2((2),expr__21444) : pred__21443.call(null,(2),expr__21444)))){
230
+ if(cljs.core.truth_((pred__21427.cljs$core$IFn$_invoke$arity$2 ? pred__21427.cljs$core$IFn$_invoke$arity$2((2),expr__21428) : pred__21427.call(null,(2),expr__21428)))){
231
231
  return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,["",s],null));
232
232
  } else {
233
233
  var c = (limit - (2));
@@ -242,8 +242,8 @@ return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons
242
242
  * Trailing empty strings are not returned - pass limit of -1 to return all.
243
243
  */
244
244
  clojure.string.split = (function clojure$string$split(var_args){
245
- var G__21453 = arguments.length;
246
- switch (G__21453) {
245
+ var G__21431 = arguments.length;
246
+ switch (G__21431) {
247
247
  case 2:
248
248
  return clojure.string.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
249
249
 
@@ -273,12 +273,12 @@ return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);
273
273
  var m = cljs.core.re_find(re,s__$1);
274
274
  if((!((m == null)))){
275
275
  var index = s__$1.indexOf(m);
276
- var G__21512 = s__$1.substring((index + cljs.core.count(m)));
277
- var G__21513 = (limit__$1 - (1));
278
- var G__21514 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1.substring((0),index));
279
- s__$1 = G__21512;
280
- limit__$1 = G__21513;
281
- parts = G__21514;
276
+ var G__21520 = s__$1.substring((index + cljs.core.count(m)));
277
+ var G__21521 = (limit__$1 - (1));
278
+ var G__21522 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1.substring((0),index));
279
+ s__$1 = G__21520;
280
+ limit__$1 = G__21521;
281
+ parts = G__21522;
282
282
  continue;
283
283
  } else {
284
284
  return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);
@@ -327,8 +327,8 @@ return "";
327
327
  } else {
328
328
  var ch = cljs.core.get.cljs$core$IFn$_invoke$arity$2(s,(index - (1)));
329
329
  if(((("\n" === ch)) || (("\r" === ch)))){
330
- var G__21524 = (index - (1));
331
- index = G__21524;
330
+ var G__21551 = (index - (1));
331
+ index = G__21551;
332
332
  continue;
333
333
  } else {
334
334
  return s.substring((0),index);
@@ -366,8 +366,8 @@ buffer.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(replacement));
366
366
  buffer.append(ch);
367
367
  }
368
368
 
369
- var G__21537 = (index + (1));
370
- index = G__21537;
369
+ var G__21555 = (index + (1));
370
+ index = G__21555;
371
371
  continue;
372
372
  }
373
373
  break;
@@ -378,8 +378,8 @@ break;
378
378
  * forward from from-index or nil if not found.
379
379
  */
380
380
  clojure.string.index_of = (function clojure$string$index_of(var_args){
381
- var G__21467 = arguments.length;
382
- switch (G__21467) {
381
+ var G__21447 = arguments.length;
382
+ switch (G__21447) {
383
383
  case 2:
384
384
  return clojure.string.index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
385
385
 
@@ -419,8 +419,8 @@ return result;
419
419
  * searching backward from from-index or nil if not found.
420
420
  */
421
421
  clojure.string.last_index_of = (function clojure$string$last_index_of(var_args){
422
- var G__21469 = arguments.length;
423
- switch (G__21469) {
422
+ var G__21451 = arguments.length;
423
+ switch (G__21451) {
424
424
  case 2:
425
425
  return clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
426
426
 
@@ -1 +1 @@
1
- {"version":3,"sources":["clojure/string.cljs"],"mappings":"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","names":["clojure.string/seq-reverse","coll","cljs.core.reduce","cljs.core/conj","clojure.string/re-surrogate-pair","js/RegExp","clojure.string/reverse","s","clojure.string/replace-all","re","replacement","r","G__21430","clojure.string/replace-with","f","args","matches","cljs.core.drop_last","cljs.core._EQ_","cljs.core/count","G__21435","cljs.core/first","G__21436","cljs.core/vec","clojure.string/replace","match","goog.string/regExpEscape","clojure.string/replace-first","var_args","G__21442","clojure.string/join","js/Error","sb","js/goog.string.StringBuffer","cljs.core/seq","cljs.core/next","separator","clojure.string/upper-case","clojure.string/lower-case","clojure.string/capitalize","goog.string/capitalize","clojure.string/pop-last-while-empty","v","cljs.core/peek","cljs.core/pop","clojure.string/discard-trailing-if-needed","limit","clojure.string/split-with-empty-regex","cljs.core.conj","cljs.core/cons","cljs.core.map","cljs.core/str","pred__21443","expr__21444","cljs.core/==","cljs.core/PersistentVector","c","cljs.core.subvec","cljs.core.subs","G__21453","clojure.string/split","clojure.string.split","parts","m","cljs.core/re-find","index","clojure.string/split-lines","clojure.string/trim","goog.string/trim","clojure.string/triml","goog.string/trimLeft","clojure.string/trimr","goog.string/trimRight","clojure.string/trim-newline","ch","cljs.core.get","clojure.string/blank?","goog.string/isEmptyOrWhitespace","goog.string/makeSafe","clojure.string/escape","cmap","buffer","length","G__21467","clojure.string/index-of","value","result","from-index","G__21469","clojure.string/last-index-of","clojure.string/starts-with?","substr","goog.string/startsWith","clojure.string/ends-with?","goog.string/endsWith","clojure.string/includes?","goog.string/contains"],"sourcesContent":["; Copyright (c) Rich Hickey. All rights reserved.\n; The use and distribution terms for this software are covered by the\n; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n; which can be found in the file epl-v10.html at the root of this distribution.\n; By using this software in any fashion, you are agreeing to be bound by\n; the terms of this license.\n; You must not remove this notice, or any other, from this software.\n\n(ns clojure.string\n (:refer-clojure :exclude [replace reverse])\n (:require [goog.string :as gstring])\n (:import [goog.string StringBuffer]))\n\n(defn- seq-reverse\n [coll]\n (reduce conj () coll))\n\n(def ^:private re-surrogate-pair\n (js/RegExp. \"([\\\\uD800-\\\\uDBFF])([\\\\uDC00-\\\\uDFFF])\" \"g\"))\n\n(defn ^string reverse\n \"Returns s with its characters reversed.\"\n [s]\n (-> (.replace s re-surrogate-pair \"$2$1\")\n (.. (split \"\") (reverse) (join \"\"))))\n\n(defn- replace-all\n [s re replacement]\n (let [r (js/RegExp. (.-source re)\n (cond-> \"g\"\n (.-ignoreCase re) (str \"i\")\n (.-multiline re) (str \"m\")\n (.-unicode re) (str \"u\")))]\n (.replace s r replacement)))\n\n(defn- replace-with\n [f]\n (fn [& args]\n (let [matches (drop-last 2 args)]\n (if (= (count matches) 1)\n (f (first matches))\n (f (vec matches))))))\n\n(defn ^string replace\n \"Replaces all instance of match with replacement in s.\n\n match/replacement can be:\n\n string / string\n pattern / (string or function of match).\n\n See also replace-first.\n\n The replacement is literal (i.e. none of its characters are treated\n specially) for all cases above except pattern / string.\n\n For pattern / string, $1, $2, etc. in the replacement string are\n substituted with the string that matched the corresponding\n parenthesized group in the pattern.\n\n Example:\n (clojure.string/replace \\\"Almost Pig Latin\\\" #\\\"\\\\b(\\\\w)(\\\\w+)\\\\b\\\" \\\"$2$1ay\\\")\n -> \\\"lmostAay igPay atinLay\\\"\"\n [s match replacement]\n (cond\n (string? match)\n (.replace s (js/RegExp. (gstring/regExpEscape match) \"g\") replacement)\n\n (instance? js/RegExp match)\n (if (string? replacement)\n (replace-all s match replacement)\n (replace-all s match (replace-with replacement)))\n\n :else (throw (str \"Invalid match arg: \" match))))\n\n(defn ^string replace-first\n \"Replaces the first instance of match with replacement in s.\n\n match/replacement can be:\n\n string / string\n pattern / (string or function of match).\n\n See also replace.\n\n The replacement is literal (i.e. none of its characters are treated\n specially) for all cases above except pattern / string.\n\n For pattern / string, $1, $2, etc. in the replacement string are\n substituted with the string that matched the corresponding\n parenthesized group in the pattern.\n\n Example:\n (clojure.string/replace-first \\\"swap first two words\\\"\n #\\\"(\\\\w+)(\\\\s+)(\\\\w+)\\\" \\\"$3$2$1\\\")\n -> \\\"first swap two words\\\"\"\n [s match replacement]\n (.replace s match replacement))\n\n(defn join\n \"Returns a string of all elements in coll, as returned by (seq coll),\n separated by an optional separator.\"\n ([coll]\n (loop [sb (StringBuffer.) coll (seq coll)]\n (if-not (nil? coll)\n (recur (. sb (append (str (first coll)))) (next coll))\n ^string (.toString sb))))\n ([separator coll]\n (loop [sb (StringBuffer.) coll (seq coll)]\n (if-not (nil? coll)\n (do\n (. sb (append (str (first coll))))\n (let [coll (next coll)]\n (when-not (nil? coll)\n (. sb (append separator)))\n (recur sb coll)))\n ^string (.toString sb)))))\n\n(defn ^string upper-case\n \"Converts string to all upper-case.\"\n [s]\n (.toUpperCase s))\n\n(defn ^string lower-case\n \"Converts string to all lower-case.\"\n [s]\n (.toLowerCase s))\n\n(defn ^string capitalize\n \"Converts first character of the string to upper-case, all other\n characters to lower-case.\"\n [s]\n (gstring/capitalize s))\n\n;; The JavaScript split function takes a limit argument but the return\n;; value is not the same as the Java split function.\n;;\n;; Java: (.split \"a-b-c\" #\"-\" 2) => [\"a\" \"b-c\"]\n;; JavaScript: (.split \"a-b-c\" #\"-\" 2) => [\"a\" \"b\"]\n;;\n;; For consistency, the three arg version has been implemented to\n;; mimic Java's behavior.\n\n(defn- pop-last-while-empty\n [v]\n (loop [v v]\n (if (identical? \"\" (peek v))\n (recur (pop v))\n v)))\n\n(defn- discard-trailing-if-needed\n [limit v]\n (if (and (== 0 limit) (< 1 (count v)))\n (pop-last-while-empty v)\n v))\n\n(defn- split-with-empty-regex\n [s limit]\n (if (or (<= limit 0) (>= limit (+ 2 (count s))))\n (conj (vec (cons \"\" (map str (seq s)))) \"\")\n (condp == limit\n 1 (vector s)\n 2 (vector \"\" s)\n (let [c (- limit 2)]\n (conj (vec (cons \"\" (subvec (vec (map str (seq s))) 0 c))) (subs s c))))))\n\n(defn split\n \"Splits string on a regular expression. Optional argument limit is\n the maximum number of parts. Not lazy. Returns vector of the parts.\n Trailing empty strings are not returned - pass limit of -1 to return all.\"\n ([s re]\n (split s re 0))\n ([s re limit]\n (discard-trailing-if-needed limit\n (if (identical? \"/(?:)/\" (str re))\n (split-with-empty-regex s limit)\n (if (< limit 1)\n (vec (.split (str s) re))\n (loop [s s\n limit limit\n parts []]\n (if (== 1 limit)\n (conj parts s)\n (let [m (re-find re s)]\n (if-not (nil? m)\n (let [index (.indexOf s m)]\n (recur (.substring s (+ index (count m)))\n (dec limit)\n (conj parts (.substring s 0 index))))\n (conj parts s))))))))))\n\n(defn split-lines\n \"Splits s on \\\\n or \\\\r\\\\n. Trailing empty lines are not returned.\"\n [s]\n (split s #\"\\n|\\r\\n\"))\n\n(defn ^string trim\n \"Removes whitespace from both ends of string.\"\n [s]\n (gstring/trim s))\n\n(defn ^string triml\n \"Removes whitespace from the left side of string.\"\n [s]\n (gstring/trimLeft s))\n\n(defn ^string trimr\n \"Removes whitespace from the right side of string.\"\n [s]\n (gstring/trimRight s))\n\n(defn ^string trim-newline\n \"Removes all trailing newline \\\\n or return \\\\r characters from\n string. Similar to Perl's chomp.\"\n [s]\n (loop [index (.-length s)]\n (if (zero? index)\n \"\"\n (let [ch (get s (dec index))]\n (if (or (identical? \\newline ch)\n (identical? \\return ch))\n (recur (dec index))\n (.substring s 0 index))))))\n\n(defn ^boolean blank?\n \"True is s is nil, empty, or contains only whitespace.\"\n [s]\n (gstring/isEmptyOrWhitespace (gstring/makeSafe s)))\n\n(defn ^string escape\n \"Return a new string, using cmap to escape each character ch\n from s as follows:\n\n If (cmap ch) is nil, append ch to the new string.\n If (cmap ch) is non-nil, append (str (cmap ch)) instead.\"\n [s cmap]\n (let [buffer (StringBuffer.)\n length (.-length s)]\n (loop [index 0]\n (if (== length index)\n (. buffer (toString))\n (let [ch (.charAt s index)\n replacement (get cmap ch)]\n (if-not (nil? replacement)\n (.append buffer (str replacement))\n (.append buffer ch))\n (recur (inc index)))))))\n\n(defn index-of\n \"Return index of value (string or char) in s, optionally searching\n forward from from-index or nil if not found.\"\n ([s value]\n (let [result (.indexOf s value)]\n (if (neg? result)\n nil\n result)))\n ([s value from-index]\n (let [result (.indexOf s value from-index)]\n (if (neg? result)\n nil\n result))))\n\n(defn last-index-of\n \"Return last index of value (string or char) in s, optionally\n searching backward from from-index or nil if not found.\"\n ([s value]\n (let [result (.lastIndexOf s value)]\n (if (neg? result)\n nil\n result)))\n ([s value from-index]\n (let [result (.lastIndexOf s value from-index)]\n (if (neg? result)\n nil\n result))))\n\n(defn ^boolean starts-with?\n \"True if s starts with substr.\"\n [s substr]\n (gstring/startsWith s substr))\n\n(defn ^boolean ends-with?\n \"True if s ends with substr.\"\n [s substr]\n (gstring/endsWith s substr))\n\n(defn ^boolean includes?\n \"True if s includes substr.\"\n [s substr]\n (gstring/contains s substr))\n"],"x_google_ignoreList":[0]}
1
+ {"version":3,"sources":["clojure/string.cljs"],"mappings":"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","names":["clojure.string/seq-reverse","coll","cljs.core.reduce","cljs.core/conj","clojure.string/re-surrogate-pair","js/RegExp","clojure.string/reverse","s","clojure.string/replace-all","re","replacement","r","G__21414","clojure.string/replace-with","f","args","matches","cljs.core.drop_last","cljs.core._EQ_","cljs.core/count","G__21419","cljs.core/first","G__21420","cljs.core/vec","clojure.string/replace","match","goog.string/regExpEscape","clojure.string/replace-first","var_args","G__21426","clojure.string/join","js/Error","sb","js/goog.string.StringBuffer","cljs.core/seq","cljs.core/next","separator","clojure.string/upper-case","clojure.string/lower-case","clojure.string/capitalize","goog.string/capitalize","clojure.string/pop-last-while-empty","v","cljs.core/peek","cljs.core/pop","clojure.string/discard-trailing-if-needed","limit","clojure.string/split-with-empty-regex","cljs.core.conj","cljs.core/cons","cljs.core.map","cljs.core/str","pred__21427","expr__21428","cljs.core/==","cljs.core/PersistentVector","c","cljs.core.subvec","cljs.core.subs","G__21431","clojure.string/split","clojure.string.split","parts","m","cljs.core/re-find","index","clojure.string/split-lines","clojure.string/trim","goog.string/trim","clojure.string/triml","goog.string/trimLeft","clojure.string/trimr","goog.string/trimRight","clojure.string/trim-newline","ch","cljs.core.get","clojure.string/blank?","goog.string/isEmptyOrWhitespace","goog.string/makeSafe","clojure.string/escape","cmap","buffer","length","G__21447","clojure.string/index-of","value","result","from-index","G__21451","clojure.string/last-index-of","clojure.string/starts-with?","substr","goog.string/startsWith","clojure.string/ends-with?","goog.string/endsWith","clojure.string/includes?","goog.string/contains"],"sourcesContent":["; Copyright (c) Rich Hickey. All rights reserved.\n; The use and distribution terms for this software are covered by the\n; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n; which can be found in the file epl-v10.html at the root of this distribution.\n; By using this software in any fashion, you are agreeing to be bound by\n; the terms of this license.\n; You must not remove this notice, or any other, from this software.\n\n(ns clojure.string\n (:refer-clojure :exclude [replace reverse])\n (:require [goog.string :as gstring])\n (:import [goog.string StringBuffer]))\n\n(defn- seq-reverse\n [coll]\n (reduce conj () coll))\n\n(def ^:private re-surrogate-pair\n (js/RegExp. \"([\\\\uD800-\\\\uDBFF])([\\\\uDC00-\\\\uDFFF])\" \"g\"))\n\n(defn ^string reverse\n \"Returns s with its characters reversed.\"\n [s]\n (-> (.replace s re-surrogate-pair \"$2$1\")\n (.. (split \"\") (reverse) (join \"\"))))\n\n(defn- replace-all\n [s re replacement]\n (let [r (js/RegExp. (.-source re)\n (cond-> \"g\"\n (.-ignoreCase re) (str \"i\")\n (.-multiline re) (str \"m\")\n (.-unicode re) (str \"u\")))]\n (.replace s r replacement)))\n\n(defn- replace-with\n [f]\n (fn [& args]\n (let [matches (drop-last 2 args)]\n (if (= (count matches) 1)\n (f (first matches))\n (f (vec matches))))))\n\n(defn ^string replace\n \"Replaces all instance of match with replacement in s.\n\n match/replacement can be:\n\n string / string\n pattern / (string or function of match).\n\n See also replace-first.\n\n The replacement is literal (i.e. none of its characters are treated\n specially) for all cases above except pattern / string.\n\n For pattern / string, $1, $2, etc. in the replacement string are\n substituted with the string that matched the corresponding\n parenthesized group in the pattern.\n\n Example:\n (clojure.string/replace \\\"Almost Pig Latin\\\" #\\\"\\\\b(\\\\w)(\\\\w+)\\\\b\\\" \\\"$2$1ay\\\")\n -> \\\"lmostAay igPay atinLay\\\"\"\n [s match replacement]\n (cond\n (string? match)\n (.replace s (js/RegExp. (gstring/regExpEscape match) \"g\") replacement)\n\n (instance? js/RegExp match)\n (if (string? replacement)\n (replace-all s match replacement)\n (replace-all s match (replace-with replacement)))\n\n :else (throw (str \"Invalid match arg: \" match))))\n\n(defn ^string replace-first\n \"Replaces the first instance of match with replacement in s.\n\n match/replacement can be:\n\n string / string\n pattern / (string or function of match).\n\n See also replace.\n\n The replacement is literal (i.e. none of its characters are treated\n specially) for all cases above except pattern / string.\n\n For pattern / string, $1, $2, etc. in the replacement string are\n substituted with the string that matched the corresponding\n parenthesized group in the pattern.\n\n Example:\n (clojure.string/replace-first \\\"swap first two words\\\"\n #\\\"(\\\\w+)(\\\\s+)(\\\\w+)\\\" \\\"$3$2$1\\\")\n -> \\\"first swap two words\\\"\"\n [s match replacement]\n (.replace s match replacement))\n\n(defn join\n \"Returns a string of all elements in coll, as returned by (seq coll),\n separated by an optional separator.\"\n ([coll]\n (loop [sb (StringBuffer.) coll (seq coll)]\n (if-not (nil? coll)\n (recur (. sb (append (str (first coll)))) (next coll))\n ^string (.toString sb))))\n ([separator coll]\n (loop [sb (StringBuffer.) coll (seq coll)]\n (if-not (nil? coll)\n (do\n (. sb (append (str (first coll))))\n (let [coll (next coll)]\n (when-not (nil? coll)\n (. sb (append separator)))\n (recur sb coll)))\n ^string (.toString sb)))))\n\n(defn ^string upper-case\n \"Converts string to all upper-case.\"\n [s]\n (.toUpperCase s))\n\n(defn ^string lower-case\n \"Converts string to all lower-case.\"\n [s]\n (.toLowerCase s))\n\n(defn ^string capitalize\n \"Converts first character of the string to upper-case, all other\n characters to lower-case.\"\n [s]\n (gstring/capitalize s))\n\n;; The JavaScript split function takes a limit argument but the return\n;; value is not the same as the Java split function.\n;;\n;; Java: (.split \"a-b-c\" #\"-\" 2) => [\"a\" \"b-c\"]\n;; JavaScript: (.split \"a-b-c\" #\"-\" 2) => [\"a\" \"b\"]\n;;\n;; For consistency, the three arg version has been implemented to\n;; mimic Java's behavior.\n\n(defn- pop-last-while-empty\n [v]\n (loop [v v]\n (if (identical? \"\" (peek v))\n (recur (pop v))\n v)))\n\n(defn- discard-trailing-if-needed\n [limit v]\n (if (and (== 0 limit) (< 1 (count v)))\n (pop-last-while-empty v)\n v))\n\n(defn- split-with-empty-regex\n [s limit]\n (if (or (<= limit 0) (>= limit (+ 2 (count s))))\n (conj (vec (cons \"\" (map str (seq s)))) \"\")\n (condp == limit\n 1 (vector s)\n 2 (vector \"\" s)\n (let [c (- limit 2)]\n (conj (vec (cons \"\" (subvec (vec (map str (seq s))) 0 c))) (subs s c))))))\n\n(defn split\n \"Splits string on a regular expression. Optional argument limit is\n the maximum number of parts. Not lazy. Returns vector of the parts.\n Trailing empty strings are not returned - pass limit of -1 to return all.\"\n ([s re]\n (split s re 0))\n ([s re limit]\n (discard-trailing-if-needed limit\n (if (identical? \"/(?:)/\" (str re))\n (split-with-empty-regex s limit)\n (if (< limit 1)\n (vec (.split (str s) re))\n (loop [s s\n limit limit\n parts []]\n (if (== 1 limit)\n (conj parts s)\n (let [m (re-find re s)]\n (if-not (nil? m)\n (let [index (.indexOf s m)]\n (recur (.substring s (+ index (count m)))\n (dec limit)\n (conj parts (.substring s 0 index))))\n (conj parts s))))))))))\n\n(defn split-lines\n \"Splits s on \\\\n or \\\\r\\\\n. Trailing empty lines are not returned.\"\n [s]\n (split s #\"\\n|\\r\\n\"))\n\n(defn ^string trim\n \"Removes whitespace from both ends of string.\"\n [s]\n (gstring/trim s))\n\n(defn ^string triml\n \"Removes whitespace from the left side of string.\"\n [s]\n (gstring/trimLeft s))\n\n(defn ^string trimr\n \"Removes whitespace from the right side of string.\"\n [s]\n (gstring/trimRight s))\n\n(defn ^string trim-newline\n \"Removes all trailing newline \\\\n or return \\\\r characters from\n string. Similar to Perl's chomp.\"\n [s]\n (loop [index (.-length s)]\n (if (zero? index)\n \"\"\n (let [ch (get s (dec index))]\n (if (or (identical? \\newline ch)\n (identical? \\return ch))\n (recur (dec index))\n (.substring s 0 index))))))\n\n(defn ^boolean blank?\n \"True is s is nil, empty, or contains only whitespace.\"\n [s]\n (gstring/isEmptyOrWhitespace (gstring/makeSafe s)))\n\n(defn ^string escape\n \"Return a new string, using cmap to escape each character ch\n from s as follows:\n\n If (cmap ch) is nil, append ch to the new string.\n If (cmap ch) is non-nil, append (str (cmap ch)) instead.\"\n [s cmap]\n (let [buffer (StringBuffer.)\n length (.-length s)]\n (loop [index 0]\n (if (== length index)\n (. buffer (toString))\n (let [ch (.charAt s index)\n replacement (get cmap ch)]\n (if-not (nil? replacement)\n (.append buffer (str replacement))\n (.append buffer ch))\n (recur (inc index)))))))\n\n(defn index-of\n \"Return index of value (string or char) in s, optionally searching\n forward from from-index or nil if not found.\"\n ([s value]\n (let [result (.indexOf s value)]\n (if (neg? result)\n nil\n result)))\n ([s value from-index]\n (let [result (.indexOf s value from-index)]\n (if (neg? result)\n nil\n result))))\n\n(defn last-index-of\n \"Return last index of value (string or char) in s, optionally\n searching backward from from-index or nil if not found.\"\n ([s value]\n (let [result (.lastIndexOf s value)]\n (if (neg? result)\n nil\n result)))\n ([s value from-index]\n (let [result (.lastIndexOf s value from-index)]\n (if (neg? result)\n nil\n result))))\n\n(defn ^boolean starts-with?\n \"True if s starts with substr.\"\n [s substr]\n (gstring/startsWith s substr))\n\n(defn ^boolean ends-with?\n \"True if s ends with substr.\"\n [s substr]\n (gstring/endsWith s substr))\n\n(defn ^boolean includes?\n \"True if s includes substr.\"\n [s substr]\n (gstring/contains s substr))\n"],"x_google_ignoreList":[0]}