1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2025-03-27 16:25:41 +02:00

updated jsvm mapper and updated godoc formatting

This commit is contained in:
Gani Georgiev 2023-06-14 13:14:30 +03:00
parent ec303a60ed
commit 745b230097
5 changed files with 26 additions and 12 deletions

@ -74,14 +74,14 @@ type App interface {
// NewFilesystem creates and returns a configured filesystem.System instance
// for managing regular app files (eg. collection uploads).
//
// NB! Make sure to call `Close()` on the returned result
// NB! Make sure to call Close() on the returned result
// after you are done working with it.
NewFilesystem() (*filesystem.System, error)
// NewBackupsFilesystem creates and returns a configured filesystem.System instance
// for managing app backups.
//
// NB! Make sure to call `Close()` on the returned result
// NB! Make sure to call Close() on the returned result
// after you are done working with it.
NewBackupsFilesystem() (*filesystem.System, error)

@ -485,7 +485,7 @@ func (app *BaseApp) NewMailClient() mailer.Mailer {
// for managing regular app files (eg. collection uploads)
// based on the current app settings.
//
// NB! Make sure to call `Close()` on the returned result
// NB! Make sure to call Close() on the returned result
// after you are done working with it.
func (app *BaseApp) NewFilesystem() (*filesystem.System, error) {
if app.settings != nil && app.settings.S3.Enabled {
@ -506,7 +506,7 @@ func (app *BaseApp) NewFilesystem() (*filesystem.System, error) {
// NewFilesystem creates a new local or S3 filesystem instance
// for managing app backups based on the current app settings.
//
// NB! Make sure to call `Close()` on the returned result
// NB! Make sure to call Close() on the returned result
// after you are done working with it.
func (app *BaseApp) NewBackupsFilesystem() (*filesystem.System, error) {
if app.settings != nil && app.settings.Backups.S3.Enabled {

@ -30,19 +30,32 @@ func (u FieldMapper) MethodName(_ reflect.Type, m reflect.Method) string {
}
func convertGoToJSName(name string) string {
allUppercase := true
startUppercase := make([]rune, 0, len(name))
for _, c := range name {
if c != '_' && !unicode.IsUpper(c) {
allUppercase = false
if c != '_' && !unicode.IsUpper(c) && !unicode.IsDigit(c) {
break
}
startUppercase = append(startUppercase, c)
}
// eg. "JSON" -> "json"
if allUppercase {
totalStartUppercase := len(startUppercase)
// all uppercase eg. "JSON" -> "json"
if len(name) == totalStartUppercase {
return strings.ToLower(name)
}
// eg. "JSONField" -> "jsonField"
if totalStartUppercase > 1 {
return strings.ToLower(name[0:totalStartUppercase-1]) + name[totalStartUppercase-1:]
}
// eg. "GetField" -> "getField"
return strings.ToLower(name[0:1]) + name[1:]
if totalStartUppercase == 1 {
return strings.ToLower(name[0:1]) + name[1:]
}
return name
}

@ -22,8 +22,9 @@ func TestFieldMapper(t *testing.T) {
{"ResolveRequestAsJSON", "resolveRequestAsJSON"},
{"Variable_with_underscore", "variable_with_underscore"},
{"ALLCAPS", "allcaps"},
{"NOTALLCAPs", "nOTALLCAPs"},
{"ALL_CAPS_WITH_UNDERSCORE", "all_caps_with_underscore"},
{"OIDCMap", "oidcMap"},
{"MD5", "md5"},
}
for i, s := range scenarios {

@ -108,7 +108,7 @@ func (s *Store[T]) Set(key string, value T) {
//
// This method is similar to Set() but **it will skip adding new elements**
// to the store if the store length has reached the specified limit.
// `false` is returned if maxAllowedElements limit is reached.
// false is returned if maxAllowedElements limit is reached.
func (s *Store[T]) SetIfLessThanLimit(key string, value T, maxAllowedElements int) bool {
s.mux.Lock()
defer s.mux.Unlock()