forked from Fediversity/Fediversity
generate-module-options-rebase #1
1 changed files with 6 additions and 2 deletions
|
@ -127,7 +127,7 @@ rec {
|
||||||
# parse options to jsonschema properties
|
# parse options to jsonschema properties
|
||||||
properties = lib.mapAttrs (_name: option: (parseOption' (path ++ [ _name ]) option)) options';
|
properties = lib.mapAttrs (_name: option: (parseOption' (path ++ [ _name ]) option)) options';
|
||||||
# TODO: figure out how to handle if prop.anyOf is used
|
# TODO: figure out how to handle if prop.anyOf is used
|
||||||
isRequired = prop: !(prop ? default || prop.type or null == "object");
|
isRequired = prop: !(prop ? default || prop."$exportedModuleInfo".required or false);
|
||||||
requiredProps = lib.filterAttrs (_: prop: isRequired prop) properties;
|
requiredProps = lib.filterAttrs (_: prop: isRequired prop) properties;
|
||||||
required = lib.optionalAttrs (requiredProps != { }) { required = lib.attrNames requiredProps; };
|
required = lib.optionalAttrs (requiredProps != { }) { required = lib.attrNames requiredProps; };
|
||||||
header' = if addHeader then header else { };
|
header' = if addHeader then header else { };
|
||||||
|
@ -381,7 +381,11 @@ rec {
|
||||||
# return jsonschema property definition for attrs
|
# return jsonschema property definition for attrs
|
||||||
then
|
then
|
||||||
default
|
default
|
||||||
// exposedModuleInfo
|
// (lib.reqursiveUpdate exposedModuleInfo {
|
||||||
|
"$exportedModuleInfo" = {
|
||||||
|
required = true;
|
||||||
|
};
|
||||||
|
})
|
||||||
// example
|
// example
|
||||||
// description
|
// description
|
||||||
// {
|
// {
|
||||||
|
|
Loading…
Add table
Reference in a new issue