Documentation
¶
Index ¶
- Constants
- func CreateBuiltin() starlark.StringDict
- func GetBoolAttr(s starlark.HasAttrs, key string) (bool, error)
- func GetIntAttr(s starlark.HasAttrs, key string) (int64, error)
- func GetListStringAttr(s starlark.HasAttrs, key string, optional bool) ([]string, error)
- func GetStringAttr(s starlark.HasAttrs, key string) (string, error)
- func GetStringList(list *starlark.List) ([]string, error)
- func LoadParamInfo(fileName string, data []byte) (map[string]AppParam, error)
- func LoadStoreInfo(fileName string, data []byte) (*starlark_type.StoreInfo, error)
- func ReadParamInfo(fileName string, inp []byte) (map[string]AppParam, error)
- func ReadStoreInfo(fileName string, inp []byte) (*starlark_type.StoreInfo, error)
- type AppConfig
- type AppParam
- type HtmxConfig
- type RouteConfig
Constants ¶
const ( DEFAULT_MODULE = "ace" DOC_MODULE = "doc" TABLE_MODULE = "table" PARAM_MODULE = "param" APP = "app" HTML = "html" API = "api" PROXY = "proxy" FRAGMENT = "fragment" STYLE = "style" REDIRECT = "redirect" PERMISSION = "permission" RESPONSE = "response" LIBRARY = "library" CONTAINER_URL = "<CONTAINER_URL>" // special url to use for proxying to the container DEFAULT_REDIRECT_CODE = 303 )
const ( // Constants included in the ace builtin module GET = "GET" POST = "POST" PUT = "PUT" DELETE = "DELETE" HTML_TYPE = "HTML" JSON = "JSON" TEXT = "TEXT" READ = "READ" WRITE = "WRITE" )
const ( APP_FILE_NAME = "app.star" APP_CONFIG_KEY = "app" DEFAULT_HANDLER = "handler" ERROR_HANDLER = "error_handler" METHODS_DELIMITER = "," CONFIG_LOCK_FILE_NAME = "config_gen.lock" SCHEMA_FILE_NAME = "schema.star" PARAMS_FILE_NAME = "params.star" BUILTIN_PLUGIN_SUFFIX = "in" STARLARK_FILE_SUFFIX = ".star" INDEX_FILE = "index.go.html" INDEX_GEN_FILE = "index_gen.go.html" CLACE_GEN_FILE = "clace_gen.go.html" ACCOUNT_SEPERATOR = "#" )
const ( TYPE = "type" FIELD = "field" INDEX = "index" )
const (
PARAM = "param"
)
Variables ¶
This section is empty.
Functions ¶
func CreateBuiltin ¶
func CreateBuiltin() starlark.StringDict
func GetListStringAttr ¶
func LoadStoreInfo ¶
func LoadStoreInfo(fileName string, data []byte) (*starlark_type.StoreInfo, error)
func ReadStoreInfo ¶
func ReadStoreInfo(fileName string, inp []byte) (*starlark_type.StoreInfo, error)
Types ¶
type AppConfig ¶
type AppConfig struct { Routing RouteConfig `json:"routing"` Htmx HtmxConfig `json:"htmx"` }
func NewAppConfig ¶
func NewAppConfig() *AppConfig
NewAppConfig creates an AppConfig with default values. This config is used when lock file is not present. The config file load order is
DefaultAppConfig -> StarlarkAppConfig
func NewCompatibleAppConfig ¶
func NewCompatibleAppConfig() *AppConfig
NewCompatibleAppConfig creates an AppConfig focused on maintaining backward compatibility. This is used when the app is created from a source url where the source has the config lock file present. The configs are read in the order
CompatibleAppConfig -> LockFile -> StarlarkAppConfig
The goal is that if the application has a lock file, then all settings will attempt to be locked such that there should not be any change in behavior when the Clace version is updated. Removing the lock file will result in new config defaults getting applied, which can be done when the app developer wants to do an application refresh. Refresh will require additional testing to ensure that UI functionality is not changed..
type AppParam ¶
type AppParam struct { Name string Description string Required bool Type starlark_type.TypeName DefaultValue starlark.Value }
AppParam represents a parameter in an app.
type HtmxConfig ¶
type HtmxConfig struct {
Version string `json:"version"`
}
type RouteConfig ¶
type RouteConfig struct { TemplateLocations []string `json:"template_locations"` BaseTemplates string `json:"base_templates"` PushEvents bool `json:"push_events"` EarlyHints bool `json:"early_hints"` // glob patterns for files which are excluded from container content change check ContainerExclude []string `json:"container_exclude"` }