A generator of clojure specs for data-based API definitions.
This differs from spec-gen.clj by creating registered specs. So they are reachable by just using keywords with vanilla the spec api.
exoscale.test-api.resource/job
with for instance one of it's fields:exoscale.test-api.resource.job/id where exoscale.test-api is the
blueprint definition root namespace, job the resource and id one
of its fields.
commands specs for :update-job-posting are are under:
exoscale.test-api.command.update-job-posting/outputexoscale.test-api.command.update-job-posting/inputexoscale.test-api.command.update-job-posting/paramsexoscale.test-api.command.update-job-posting/pathexoscale.test-api.command.update-job-posting/handlerresources
exoscale.test-api.resource/jobexoscale.test-api.resource/userA generator of clojure specs for data-based API definitions. This differs from spec-gen.clj by creating registered specs. So they are reachable by just using keywords with vanilla the spec api. * resource specs are in the form of `exoscale.test-api.resource/job` with for instance one of it's fields: `exoscale.test-api.resource.job/id` where `exoscale.test-api` is the blueprint definition root namespace, `job` the resource and `id` one of its fields. * commands specs for :update-job-posting are are under: - `exoscale.test-api.command.update-job-posting/output` - `exoscale.test-api.command.update-job-posting/input` - `exoscale.test-api.command.update-job-posting/params` - `exoscale.test-api.command.update-job-posting/path` - `exoscale.test-api.command.update-job-posting/handler` * resources - `exoscale.test-api.resource/job` - `exoscale.test-api.resource/user`
(command->key k)Takes a whole keyword and generate a part good for name usage,
including the ns potentially. :foo.bar/baz -> "foo-bar-baz"
Takes a whole keyword and generate a part good for `name` usage, including the ns potentially. :foo.bar/baz -> "foo-bar-baz"
(command-spec ns k scope)(gen-commands-specs! {:blueprint.registry/keys [commands ns]})(gen-multi-spec-defmulti! mm-sym dispatch alternatives default ctx)(gen-resources-specs! {:blueprint.registry/keys [resources ns]})(gen-spec! spec-key spec-form meta)(gen-spec-for-resource! ns spec-key resource-def)(generate-specs! api-def)(normalize-path-param-name kw-name)Normalizes catch-all syntax path parameters *foo -> foo
Normalizes catch-all syntax path parameters *foo -> foo
(resource-ns ns)(resource-spec ns k)cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |