about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2025-12-23 20:08:44 +0300
committerMunyoki Kilyungi2026-01-13 12:02:50 +0300
commit30c17dde2647ede993e13ad2c9d6fbf553197392 (patch)
tree51bbc554486cbc689c624f710f93a4f8b090c546
parent76da7359cf0bf9c45673853c78a20ce616dce248 (diff)
downloadgn-transform-databases-30c17dde2647ede993e13ad2c9d6fbf553197392.tar.gz
Add extra string utility functions.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
-rw-r--r--transform/strings.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/transform/strings.scm b/transform/strings.scm
index 7d9bc82..aba554a 100644
--- a/transform/strings.scm
+++ b/transform/strings.scm
@@ -14,7 +14,8 @@
             sanitize-rdf-string
             snake->lower-camel
             lower-case-and-replace-spaces
-            string-capitalize-first))
+            string-capitalize-first
+            normalize-string-field))
 
 (define (lower-case-and-replace-spaces str)
   (string-map
@@ -119,3 +120,13 @@ association list mapping substrings to their replacements."
       ((null? lst) (reverse result))
       ((memq (car lst) result) (loop (cdr lst) result))
       (else (loop (cdr lst) (cons (car lst) result))))))
+
+(define (normalize-string-field field)
+  (let ((field (string-trim-both field)))
+    (match field
+      ((?  string? field)
+       (if (or (string-blank? field)
+               (string=? (string-downcase field) "none"))
+           ""
+           field))
+      (_ ""))))