about summary refs log tree commit diff
path: root/dump/strings.scm
diff options
context:
space:
mode:
Diffstat (limited to 'dump/strings.scm')
-rw-r--r--dump/strings.scm101
1 files changed, 0 insertions, 101 deletions
diff --git a/dump/strings.scm b/dump/strings.scm
deleted file mode 100644
index e965f03..0000000
--- a/dump/strings.scm
+++ /dev/null
@@ -1,101 +0,0 @@
-(define-module (dump strings)
-  #:use-module (srfi srfi-1)
-  #:use-module (srfi srfi-19)
-  #:use-module (ice-9 match)
-  #:use-module (ice-9 string-fun)
-  #:use-module (ice-9 textual-ports)
-  #:export (string-blank?
-            time-unix->string
-            string-blank?
-            string-split-substring
-            delete-substrings
-            replace-substrings
-            sanitize-rdf-string
-            snake->lower-camel
-            string-capitalize-first))
-
-(define (time-unix->string seconds . maybe-format)
-  "Given an integer saying the number of seconds since the Unix
-epoch (1970-01-01 00:00:00), SECONDS, format it as a human readable
-date and time-string, possible using the MAYBE-FORMAT."
-  (letrec ([time-unix->time-utc
-            (lambda (seconds)
-              (add-duration
-               (date->time-utc (make-date 0 0 0 0 1 1 1970 0))
-               (make-time time-duration 0 seconds)))])
-    (apply date->string
-           (time-utc->date (time-unix->time-utc seconds))
-           maybe-format)))
-
-(define (string-blank? str)
-  "Return non-#f if STR consists only of whitespace characters."
-  (string-every char-set:whitespace str))
-
-(define (string-split-substring str substr)
-  "Split the string @var{str} into a list of substrings delimited by the
-substring @var{substr}."
-
-  (define substrlen (string-length substr))
-  (define strlen (string-length str))
-
-  (define (loop index start)
-    (cond
-     ((>= start strlen) (list ""))
-     ((not index) (list (substring str start)))
-     (else
-      (cons (substring str start index)
-            (let ((new-start (+ index substrlen)))
-              (loop (string-contains str substr new-start)
-                    new-start))))))
-
-  (cond
-   ((string-contains str substr) => (lambda (idx) (loop idx 0)))
-   (else (list str))))
-
-(define (delete-substrings str . substrings)
-  "Delete SUBSTRINGS, a list of strings, from STR."
-  (fold (lambda (substring result)
-          (string-replace-substring result substring ""))
-        str
-        substrings))
-
-(define (replace-substrings str replacement-alist)
-  "Replace substrings in STR according to REPLACEMENT-ALIST, an
-association list mapping substrings to their replacements."
-  (fold (match-lambda*
-          (((substring . replacement) str)
-           (string-replace-substring str substring replacement)))
-        str
-        replacement-alist))
-
-(define (sanitize-rdf-string str)
-  (replace-substrings
-   (string-trim-both str)
-   '(("\r" . "\\r")
-     ("\n" . "\\n")
-     ("\"" . "'")
-     ("\v" . "")
-     ("\xad" . "")
-     ("\x28" . "")
-     ("\x29" . "")
-     ("\xa0" . " ")
-     ("\x02" . "")
-     ("\x01" . ""))))
-
-(define (snake->lower-camel str)
-  (let ((char-list (string->list str)))
-    (call-with-output-string
-      (lambda (port)
-        (put-char port (char-downcase (string-ref str 0)))
-        (map (lambda (char previous-char)
-               (unless (char=? char #\_)
-                 (put-char port (if (char=? previous-char #\_)
-                                    (char-upcase char)
-                                    char))))
-             (drop char-list 1)
-             char-list)))))
-
-(define (string-capitalize-first string)
-  (string-titlecase
-   (string-downcase string) 0 1))
-