aboutsummaryrefslogtreecommitdiff
path: root/transform
diff options
context:
space:
mode:
authorMunyoki Kilyungi2025-12-23 20:08:44 +0300
committerMunyoki Kilyungi2026-01-13 12:02:50 +0300
commit30c17dde2647ede993e13ad2c9d6fbf553197392 (patch)
tree51bbc554486cbc689c624f710f93a4f8b090c546 /transform
parent76da7359cf0bf9c45673853c78a20ce616dce248 (diff)
downloadgn-transform-databases-30c17dde2647ede993e13ad2c9d6fbf553197392.tar.gz
Add extra string utility functions.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
Diffstat (limited to 'transform')
-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))
+ (_ ""))))