Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
50 lines
1.1 KiB
CUE
50 lines
1.1 KiB
CUE
package schema
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
#_ENV: =~"^[A-Z][A-Z0-9_]*[A-Z0-9]?$"
|
|
//#_optName: =~ "^[a-zA-Z][a-zA-Z0-9\\s]*[a-zA-Z0-9]+$"
|
|
|
|
#optionsGroup: #_base & {
|
|
imports: [...string] | *([])
|
|
|
|
handle: #handle
|
|
|
|
title: string | *handle
|
|
description?: string
|
|
|
|
env: #_ENV | *(strings.ToUpper(strings.Replace(handle, "-", "_", -1)))
|
|
_envPrefix: env
|
|
|
|
options: {
|
|
[_opt=_]: #option & {
|
|
handle: _opt
|
|
env: #_ENV | *(_envPrefix + "_" + strings.ToUpper(strings.Replace(handle, " ", "_", -1)))
|
|
}
|
|
}
|
|
}
|
|
|
|
#option: {
|
|
handle: #handle
|
|
_words: strings.Replace(strings.Replace(strings.Replace(handle, "-", " ", -1), "_", " ", -1), ".", " ", -1)
|
|
|
|
// lowercased (unexported, golang) identifier
|
|
ident: #ident | *strings.ToCamel(strings.Replace(strings.ToTitle(_words), " ", "", -1))
|
|
|
|
// upercased (exported, golang) identifier
|
|
expIdent: #expIdent | *strings.Replace(strings.ToTitle(_words), " ", "", -1)
|
|
|
|
type: string | *"string"
|
|
description?: string
|
|
|
|
// Default expression to be used
|
|
defaultGoExpr?: string
|
|
|
|
env?: #_ENV
|
|
|
|
// Plain default value to use when generating .env.example
|
|
defaultValue?: string
|
|
}
|