Описание тега prismatic-schema
Библиотека Clojure(Script) для описания и проверки декларативных данных. В настоящее время известен как Plumatic-схема.
1
ответ
В Compojure-api, как я могу применить проверку схемы к параметрам формы определенного маршрута?
Из документов compojure-api... Дано (s/defschema Pizza {:name s/Str :size (s/enum :L :M :S) :origin {:country (s/enum :FI :PO) :city s/Str}}) Позже вы можете в своем коде сделать что-то вроде: (defapi app ... ... (POST* "/pizza" [] :return Pizza :bo…
06 янв '16 в 23:36
1
ответ
Можно ли использовать Prismatic schema.core/ может быть в предварительном условии функции Clojure?
Я пытаюсь использовать Prismatic schema.core/maybe в предварительном условии для функции, принимающей необязательный аргумент opts, но, кажется, всегда бросать AssertionError когда я вызываю функцию без opts: (require '[schema.core :as schema]) (def…
24 сен '14 в 16:00
1
ответ
Выражение для "члена в наборе" со схемой plumatic
Я хочу написать схему, в которой элемент e в структуре данных может быть любым членом в наборе S элементов; e ∈ S. С Clojure Spec это выражается с помощью набора: (spec/def ::key-set #{:subprocess :leiningen :nrepl}) (gen/sample (spec/gen ::key-set)…
28 апр '17 в 14:42
0
ответов
Как назначить предикат для extra-validator-fn?
Как бы я назначил предикат для каждой проверки в extra-validator-fn следующей схемы defrecord: (s/defrecord Item [type :- (s/enum :solid :liquid) unit :- (s/enum :kg :ml)] (s/fn [{:as this :keys [type unit]}] (or (and (= type :solid) (= unit :kg)) (…
15 июн '18 в 12:15
1
ответ
Глобальный флаг для включения / выключения проверки в Prismatic/Schema?
Во время разработки я хотел бы включить проверку для всех функций, которые определены с schema.core / defn, вместо того, чтобы аннотировать их :^:always-validate, Это возможно с этой библиотекой? Нечто подобное не работает, возможно, потому что мета…
07 сен '14 в 12:10
1
ответ
Почему проверка не проходит (значение ExceptionInfo не соответствует схеме) для призматической схемы, использующей оникс?
Может кто-то пролить свет на то, что здесь происходит? Я дважды проверил локальное поведение DynamodB, используя неониксовый клиент, и простые операции работают с Фарадеем. Код, который я пытаюсь запустить, находится здесь, и я зарегистрировал здесь…
11 мар '16 в 00:21
1
ответ
Добавление синтаксического сахара, чтобы сделать призматическую схему похожей на Core.Typed/Haskell
Рассмотрим путь core.typed аннотирует функцию: (t/ann typed-function [t/Str :-> t/Str]) Теперь рассмотрим способ, которым призматическая схема аннотирует функцию: (s/defn schema-function :- s/Str [arg :- s/Str] arg) Лично я нахожу способ, которым…
19 май '16 в 22:57
0
ответов
Создание конструкторов записей, которые проверяют схему в Clojure
Здравствуйте, товарищи-клоурцы, известно, что defreord от Clojure не учитывает подсказки типов, и в поля записи могут быть помещены данные любого типа. Я ищу способ ограничить поля записей в Clojure. Я начал экспериментировать с defrecord Зов Призма…
06 окт '17 в 15:45
3
ответа
Использование Prismatic/ схемы для проверки формы с помощью Liberator
Является ли Prismatic / схема подходящим для проверки формы? Я никогда не проектировал lib для валидации форм, но я представляю, что он выводит что-то вроде этого, а не создает исключения на s/validate: {::errors {:name [{:missing "Required field."}…
18 сен '14 в 11:32
1
ответ
Почему я не могу использовать регулярные выражения для проверки строк в качестве ключей карты?
В моем проекте Clojure у меня есть такие: :dependencies [ [org.clojure/clojure "1.8.0"] [prismatic/schema "1.0.5"]] Это считается действительным: (require '[schema.core :as s]) (def pos (s/pred #(re-matches #"\d+,\d+" %))) (s/validate pos "0,0") ; "…
11 мар '16 в 01:36
1
ответ
Как проверить ошибку ValidationError, возникшую во время приведения схемы Prismatic?
В результате создания схемы Scheer Coercer, а затем пытаясь принудить набор данных, я получаю в результате: #schema.utils.ErrorContainer{:error #<ValidationError schema.utils.ValidationError@2abfe6ca>} Как получить объяснение того, что являетс…
15 фев '15 в 18:27
1
ответ
Проверка нескольких полиморфных значений с использованием призматической схемы
Некоторое время назад я спросил о простых полиморфных схемах, и ответ там некоторое время работал хорошо. Теперь карта, которую я хочу проверить, имеет дополнительное значение, которое зависит от значения другого ключа. Придуманный пример объекта: {…
24 июн '14 в 10:05
1
ответ
Призматическое приведение схемы - переименование ключа карты
Я пытаюсь привести карту с помощью призматической схемы (1.0.4) Я пытаюсь заставить {:a 1} в {:b 1} Использование собственного сопоставителя со схемой: {:b s/Int} Но этот код не работает: (require '[schema.core :as s]) (require '[schema.coerce :as c…
11 дек '15 в 23:57
1
ответ
Как получить схему "хотя бы"?
По крайней мере, я имею в виду схему, которая будет игнорировать все disallowed-key ошибки. Рассмотрим следующий фрагмент: (require '[schema.core :as s]) (def s {:a s/Int}) (s/check s {:a 1}) ;; => nil (check passed) (s/check s {:a 1 :b 2}) ;; =&…
23 фев '16 в 19:02
1
ответ
Необязательные аргументы в compojure-api/schema/swagger?
Когда у меня есть определение API, как это: (POST* "/register" [] :body-params [username :- String, password :- String, name :- String] (ok))) Как правильно сделать имя необязательным? Это: (POST* "/register" [] :body-params [username :- String, pas…
01 авг '15 в 22:39
0
ответов
Использование Prismatic Schema и Core.Typed одновременно?
Я экспериментирую с этими двумя библиотеками. Я могу использовать одну или другую самостоятельно, но когда я пытаюсь использовать оба одновременно (т. Е. В одном и том же файле), я получаю чрезвычайно большую ошибку консоли, которая жалуется на то, …
19 май '16 в 23:01
1
ответ
Не может проверить значения со строковыми ключами в карте, используя библиотеку схемы clojure
Я попытался проверить карту, используя призматическую / схему библиотеки для clojure. вот моя фигура (require '[schema.core :as s]) (def d {"a" s/Str "b" s/Int}) Когда я пытался проверить его на карте, он выдает следующее исключение (s/validate d {"…
14 окт '15 в 06:16
0
ответов
Как определить призматическую схему для чередующихся типов?
Предположим, у меня есть следующая последовательность: '[ SomeMandatorySymbol AnotherMandatorySymbol 123 "mandatory string" 2 "a" 9 "c" 11 "f" 23 "x" ] например [(one Symbol) (one Symbol) (one Int) (one Str) ... ] Что мне вместо этого вставить..., ч…
12 мар '15 в 15:29
1
ответ
Используя clojure.core/Extend со схемой Prismatic, я получаю различное поведение протокола s/ в s/validate и в s/with-fn-validation
Я пытаюсь проверить протокол экземпляра defrecord, который я генерирую динамически, используя clojure.core/extend Ниже вы можете видеть, что удовлетворяет возвращает true и (s/validate (s/protocol ...)) не выдает исключение, но если я запускаю s/wit…
29 окт '14 в 10:59
1
ответ
Генерация из регулярного выражения с генераторами Plumatic Schema
Регулярные выражения кажутся принятыми схемами: (require '[schema.core :as schema]) (schema/validate #"^..$" "hi") ; => "hi" Но генераторы схемы не могут генерировать из них: (require '[schema-generators.generators :as gen]) (gen/generate #"^..$"…
26 апр '17 в 13:02