Ich habe eine Spezifikationsdefinition, die den Inhalt eingehender Daten validiert. Da die Daten eine Zuordnung von Feldern sind, verwende ich spec/keys
für die Validierung. Zum Beispiel:Strukturdefinitionscode von clojure spec/keys wiederverwenden
Aber ein zusätzliches Bedürfnis, das ich habe, soll sicherstellen, dass eingehende Daten nur die Schlüssel enthalten, die ich will. . (In diesem Fall :name
und :age
Schlüssel nur für das, ich so etwas wie:.
(def permitted-keys [:age :name])
(select-keys some-input permitted-keys)
, um sicherzustellen, nur die Tasten bekommen gefiltert
Gibt es eine Weise, die ich einige Codes zwischen meinem spec wiederverwenden kann Definition für die Abbildungsstruktur (s/keys
) und diesen zusätzlichen Schritt I die zulässigen Tasten zum Filtern nehmen (permitted-keys
)?
vielleicht durch entweder die Liste der Schlüssel aus der s/keys
Definition Extraktion oder durch einen vorhandenen Vektor von Schlüsseln zuPassieren 10?
Auschecken [dieses Makro] (https://github.com/gfredericks/schpec/blob/master/src/com/gfredericks/schpec.clj#L13-L35). –