Documentation
¶
Overview ¶
Default generated models package docs (at least one file is necessary in a models package)
generated boilerplate code edit the file for adding other stages
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
generated code - do not edit
Index ¶
- Constants
- func AfterCreateFromFront[Type Gongstruct](stage *Stage, instance *Type)
- func AfterDeleteFromFront[Type Gongstruct](stage *Stage, staged, front *Type)
- func AfterReadFromFront[Type Gongstruct](stage *Stage, instance *Type)
- func AfterUpdateFromFront[Type Gongstruct](stage *Stage, old, new *Type)
- func ApplyDiff(b, c string) (string, error)
- func CompareGongstructByName[T PointerToGongstruct](a, b T) int
- func ComputeDiff(a, b string) string
- func CopyBranch[Type Gongstruct](from *Type) (to *Type)
- func CopyDirectory(src, dst string) error
- func CopyFile(srcPath, destPath string) error
- func GetAssociationName[Type Gongstruct]() *Type
- func GetFields[Type Gongstruct]() (res []string)
- func GetFieldsFromPointer[Type PointerToGongstruct]() (res []string)
- func GetGongstrucsSorted[T PointerToGongstruct](stage *Stage) (sortedSlice []T)
- func GetGongstructInstancesMap[Type Gongstruct](stage *Stage) *map[string]*Type
- func GetGongstructInstancesSet[Type Gongstruct](stage *Stage) *map[*Type]any
- func GetGongstructInstancesSetFromPointerType[Type PointerToGongstruct](stage *Stage) *map[Type]any
- func GetGongstructName[Type Gongstruct]() (res string)
- func GetNamedStructInstances[T PointerToGongstruct](set map[T]any, order map[T]uint) (res []string)
- func GetOrder[Type Gongstruct](stage *Stage, instance *Type) uint
- func GetOrderPointerGongstruct[Type PointerToGongstruct](stage *Stage, instance Type) uint
- func GetPointerReverseMap[Start, End Gongstruct](fieldname string, stage *Stage) map[*End][]*Start
- func GetPointerToGongstructName[Type PointerToGongstruct]() (res string)
- func GetReverseFieldOwner[T Gongstruct](stage *Stage, instance *T, reverseField *ReverseField) (res any)
- func GetReverseFieldOwnerName(stage *Stage, instance any, reverseField *ReverseField) (res string)
- func GetSliceOfPointersReverseMap[Start, End Gongstruct](fieldname string, stage *Stage) map[*End][]*Start
- func GetStructInstancesByOrder[T PointerToGongstruct](set map[T]any, order map[T]uint) (res []T)
- func GetStructInstancesByOrderAuto[T PointerToGongstruct](stage *Stage) (res []T)
- func GongGetMap[Type GongstructMapString](stage *Stage) *Type
- func GongGetSet[Type GongstructSet](stage *Stage) *Type
- func IntToLetters(number int32) (letters string)
- func IsStaged[Type Gongstruct](stage *Stage, instance *Type) (ok bool)
- func ParseAstEmbeddedFile(stage *Stage, directory embed.FS, pathToFile string) error
- func ParseAstFile(stage *Stage, pathToFile string) error
- func ParseAstFileFromAst(stage *Stage, inFile *ast.File, fset *token.FileSet) error
- func ReplaceOldDeclarationsInFile(pathToFile string) error
- func SanitizeFileName(name string, separator string) string
- func Serialize[Type Gongstruct](stage *Stage, tab Tabulator)
- func SerializeExcelize[Type Gongstruct](stage *Stage, f *excelize.File)
- func SerializeExcelizePointerToGongstruct[Type PointerToGongstruct](stage *Stage, f *excelize.File)
- func SerializeStage(stage *Stage, filename string)
- func SetCallbackAfterCreateFromFront[Type Gongstruct](stage *Stage, callback OnAfterCreateInterface[Type])
- func SetCallbackAfterDeleteFromFront[Type Gongstruct](stage *Stage, callback OnAfterDeleteInterface[Type])
- func SetCallbackAfterReadFromFront[Type Gongstruct](stage *Stage, callback OnAfterReadInterface[Type])
- func SetCallbackAfterUpdateFromFront[Type Gongstruct](stage *Stage, callback OnAfterUpdateInterface[Type])
- func SetOrchestratorOnAfterUpdate[Type Gongstruct](stage *Stage)
- func SortGongstructSetByName[T PointerToGongstruct](set map[T]any) (sortedSlice []T)
- func StageBranch[Type Gongstruct](stage *Stage, instance *Type)
- func UnmarshallGongstructStaging(stage *Stage, cmap *ast.CommentMap, assignStmt *ast.AssignStmt, ...) (instance any, identifier string, gongstructName string, fieldName string)
- func UnstageBranch[Type Gongstruct](stage *Stage, instance *Type)
- type AllModelsStructCreateInterface
- type AllModelsStructDeleteInterface
- type BackRepoInterface
- type Chapter
- func (chapter *Chapter) Checkout(stage *Stage) *Chapter
- func (chapter *Chapter) Commit(stage *Stage) *Chapter
- func (chapter *Chapter) CommitVoid(stage *Stage)
- func (from *Chapter) CopyBasicFields(to *Chapter)
- func (chapter *Chapter) GetName() (res string)
- func (chapter *Chapter) Stage(stage *Stage) *Chapter
- func (chapter *Chapter) Unstage(stage *Stage) *Chapter
- func (chapter *Chapter) UnstageVoid(stage *Stage)
- type Chapter_WOP
- type Content
- func (content *Content) Checkout(stage *Stage) *Content
- func (content *Content) Commit(stage *Stage) *Content
- func (content *Content) CommitVoid(stage *Stage)
- func (from *Content) CopyBasicFields(to *Content)
- func (content *Content) GetName() (res string)
- func (content *Content) Stage(stage *Stage) *Content
- func (content *Content) Unstage(stage *Stage) *Content
- func (content *Content) UnstageVoid(stage *Stage)
- type Content_WOP
- type DiffHunk
- type DiffOp
- type ExcelizeTabulator
- type GONG__ExpressionType
- type GONG__Identifier
- type GongFieldValue
- type GongFieldValueType
- type GongStructInterface
- type Gongstruct
- type GongstructEnumIntField
- type GongstructEnumStringField
- type GongstructMapString
- type GongstructSet
- type GongtructBasicField
- type NamedStruct
- type OnAfterCreateInterface
- type OnAfterDeleteInterface
- type OnAfterReadInterface
- type OnAfterUpdateInterface
- type OnInitCommitInterface
- type Page
- func (page *Page) Checkout(stage *Stage) *Page
- func (page *Page) Commit(stage *Stage) *Page
- func (page *Page) CommitVoid(stage *Stage)
- func (from *Page) CopyBasicFields(to *Page)
- func (page *Page) GetName() (res string)
- func (page *Page) Stage(stage *Stage) *Page
- func (page *Page) Unstage(stage *Stage) *Page
- func (page *Page) UnstageVoid(stage *Stage)
- type Page_WOP
- type PointerToGongstruct
- type PointerToGongstructEnumIntField
- type PointerToGongstructEnumStringField
- type ReverseField
- type Stage
- func (stage *Stage) Backup(dirPath string)
- func (stage *Stage) BackupXL(dirPath string)
- func (stage *Stage) Checkout()
- func (stage *Stage) Commit()
- func (stage *Stage) CommitWithSuspendedCallbacks()
- func (stage *Stage) ComputeReverseMaps()
- func (stage *Stage) Generation()
- func (stage *Stage) GetCommitId() uint
- func (stage *Stage) GetCommitTS() time.Time
- func (stage *Stage) GetDigramsEmbededDir() embed.FS
- func (stage *Stage) GetMap_GongStructName_InstancesNb() map[string]int
- func (stage *Stage) GetModelsEmbededDir() embed.FS
- func (stage *Stage) GetName() string
- func (stage *Stage) GetNamedStructNamesByOrder(namedStructName string) (res []string)
- func (stage *Stage) GetNamedStructsNames() (res []string)
- func (stage *Stage) GetProbeFormStageName() string
- func (stage *Stage) GetProbeSplitStageName() string
- func (stage *Stage) GetProbeTableStageName() string
- func (stage *Stage) GetProbeTreeSidebarStageName() string
- func (stage *Stage) GetType() string
- func (stage *Stage) IsStagedChapter(chapter *Chapter) (ok bool)
- func (stage *Stage) IsStagedContent(content *Content) (ok bool)
- func (stage *Stage) IsStagedPage(page *Page) (ok bool)
- func (stage *Stage) Marshall(file *os.File, modelsPackageName, packageName string)
- func (stage *Stage) Nil()
- func (stage *Stage) Reset()
- func (stage *Stage) Restore(dirPath string)
- func (stage *Stage) RestoreXL(dirPath string)
- func (stage *Stage) SetGeneratesDiff(generatesDiff bool)
- func (stage *Stage) StageBranchChapter(chapter *Chapter)
- func (stage *Stage) StageBranchContent(content *Content)
- func (stage *Stage) StageBranchPage(page *Page)
- func (stage *Stage) Unstage()
- func (stage *Stage) UnstageBranchChapter(chapter *Chapter)
- func (stage *Stage) UnstageBranchContent(content *Content)
- func (stage *Stage) UnstageBranchPage(page *Page)
- type Stager
- type Tabulator
- type Target
- func (target Target) CodeValues() (res []string)
- func (target Target) Codes() (res []string)
- func (target *Target) FromCodeString(input string) (err error)
- func (target *Target) FromString(input string) (err error)
- func (target *Target) ToCodeString() (res string)
- func (target Target) ToString() (res string)
Constants ¶
const IdentifiersDecls = `
{{Identifier}} := (&models.{{GeneratedStructName}}{}).Stage(stage)`
const MetaFieldStructInitStatement = `
{{Identifier}}.{{GeneratedFieldName}} = ` + `{{GeneratedFieldNameValue}}`
const NumberInitStatement = `
{{Identifier}}.{{GeneratedFieldName}} = {{GeneratedFieldNameValue}}`
const PointerFieldInitStatement = `
{{Identifier}}.{{GeneratedFieldName}} = {{GeneratedFieldNameValue}}`
const ProbeFormSuffix = ":form of the probe"
const ProbeSplitSuffix = ":probe of the probe"
const ProbeTableSuffix = ":table of the probe"
const ProbeTreeSidebarSuffix = ":sidebar of the probe"
const SliceOfPointersFieldInitStatement = `
{{Identifier}}.{{GeneratedFieldName}} = append({{Identifier}}.{{GeneratedFieldName}}, {{GeneratedFieldNameValue}})`
const StringEnumInitStatement = `
{{Identifier}}.{{GeneratedFieldName}} = {{GeneratedFieldNameValue}}`
const StringInitStatement = `
{{Identifier}}.{{GeneratedFieldName}} = ` + "`" + `{{GeneratedFieldNameValue}}` + "`"
const TimeInitStatement = `` /* 129-byte string literal not displayed */
Variables ¶
This section is empty.
Functions ¶
func AfterCreateFromFront ¶
func AfterCreateFromFront[Type Gongstruct](stage *Stage, instance *Type)
AfterCreateFromFront is called after a create from front
func AfterDeleteFromFront ¶
func AfterDeleteFromFront[Type Gongstruct](stage *Stage, staged, front *Type)
AfterDeleteFromFront is called after a delete from front
func AfterReadFromFront ¶
func AfterReadFromFront[Type Gongstruct](stage *Stage, instance *Type)
AfterReadFromFront is called after a Read from front
func AfterUpdateFromFront ¶
func AfterUpdateFromFront[Type Gongstruct](stage *Stage, old, new *Type)
AfterUpdateFromFront is called after a update from front
func CompareGongstructByName ¶
func CompareGongstructByName[T PointerToGongstruct](a, b T) int
func ComputeDiff ¶
ComputeDiff generates a git-style unified diff from string a to string b
func CopyBranch ¶
func CopyBranch[Type Gongstruct](from *Type) (to *Type)
CopyBranch stages instance and apply CopyBranch on all gongstruct instances that are referenced by pointers or slices of pointers of the instance
the algorithm stops along the course of graph if a vertex is already staged
func CopyDirectory ¶
CopyDirectory recursively copies a directory from src to dst.
- If dst exists, it will be REMOVED entirely before the copy starts.
- It attempts to preserve file permissions.
- It does NOT handle symbolic links specially; it will copy the target of the link if it's a file, or traverse into it if it's a directory.
func CopyFile ¶
CopyFile copies a file from srcPath to destPath. It returns an error if any step of the process fails.
func GetAssociationName ¶
func GetAssociationName[Type Gongstruct]() *Type
GetAssociationName is a generic function that returns an instance of Type where each association is filled with an instance whose name is the name of the association
This function can be handy for generating navigation function that are refactorable
func GetFields ¶
func GetFields[Type Gongstruct]() (res []string)
GetFields return the array of the fields
func GetFieldsFromPointer ¶
func GetFieldsFromPointer[Type PointerToGongstruct]() (res []string)
GetFieldsFromPointer return the array of the fields
func GetGongstrucsSorted ¶
func GetGongstrucsSorted[T PointerToGongstruct](stage *Stage) (sortedSlice []T)
func GetGongstructInstancesMap ¶
func GetGongstructInstancesMap[Type Gongstruct](stage *Stage) *map[string]*Type
GetGongstructInstancesMap returns the map of staged GongstructType instances it is usefull because it allows refactoring of gong struct identifier
func GetGongstructInstancesSet ¶
func GetGongstructInstancesSet[Type Gongstruct](stage *Stage) *map[*Type]any
GetGongstructInstancesSet returns the set staged GongstructType instances it is usefull because it allows refactoring of gongstruct identifier
func GetGongstructInstancesSetFromPointerType ¶
func GetGongstructInstancesSetFromPointerType[Type PointerToGongstruct](stage *Stage) *map[Type]any
GetGongstructInstancesSetFromPointerType returns the set staged GongstructType instances it is usefull because it allows refactoring of gongstruct identifier
func GetGongstructName ¶
func GetGongstructName[Type Gongstruct]() (res string)
GetGongstructName returns the name of the Gongstruct this can be usefull if one want program robust to refactoring
func GetNamedStructInstances ¶
func GetNamedStructInstances[T PointerToGongstruct](set map[T]any, order map[T]uint) (res []string)
func GetOrder ¶
func GetOrder[Type Gongstruct](stage *Stage, instance *Type) uint
func GetOrderPointerGongstruct ¶
func GetOrderPointerGongstruct[Type PointerToGongstruct](stage *Stage, instance Type) uint
func GetPointerReverseMap ¶
func GetPointerReverseMap[Start, End Gongstruct](fieldname string, stage *Stage) map[*End][]*Start
GetPointerReverseMap allows backtrack navigation of any Start.Fieldname associations (0..1) that is a pointer from one staged Gongstruct (type Start) instances to another (type End)
The function provides a map with keys as instances of End and values to arrays of *Start the map is construed by iterating over all Start instances and populationg keys with End instances and values with slice of Start instances
func GetPointerToGongstructName ¶
func GetPointerToGongstructName[Type PointerToGongstruct]() (res string)
GetPointerToGongstructName returns the name of the Gongstruct this can be usefull if one want program robust to refactoring
func GetReverseFieldOwner ¶
func GetReverseFieldOwner[T Gongstruct]( stage *Stage, instance *T, reverseField *ReverseField) (res any)
func GetReverseFieldOwnerName ¶
func GetReverseFieldOwnerName( stage *Stage, instance any, reverseField *ReverseField) (res string)
func GetSliceOfPointersReverseMap ¶
func GetSliceOfPointersReverseMap[Start, End Gongstruct](fieldname string, stage *Stage) map[*End][]*Start
GetSliceOfPointersReverseMap allows backtrack navigation of any Start.Fieldname associations (0..N) between one staged Gongstruct instances and many others
The function provides a map with keys as instances of End and values to *Start instances the map is construed by iterating over all Start instances and populating keys with End instances and values with the Start instances
func GetStructInstancesByOrder ¶
func GetStructInstancesByOrder[T PointerToGongstruct](set map[T]any, order map[T]uint) (res []T)
func GetStructInstancesByOrderAuto ¶
func GetStructInstancesByOrderAuto[T PointerToGongstruct](stage *Stage) (res []T)
func GongGetMap ¶
func GongGetMap[Type GongstructMapString](stage *Stage) *Type
GongGetMap returns the map of staged GongstructType instances it is usefull because it allows refactoring of gong struct identifier
func GongGetSet ¶
func GongGetSet[Type GongstructSet](stage *Stage) *Type
GongGetSet returns the set staged GongstructType instances it is usefull because it allows refactoring of gong struct identifier
func IntToLetters ¶
func IsStaged ¶
func IsStaged[Type Gongstruct](stage *Stage, instance *Type) (ok bool)
func ParseAstEmbeddedFile ¶
ParseAstEmbeddedFile parses the Go source code from an embedded file specified by pathToFile within the provided embed.FS directory and stages instances declared in the file using the provided Stage.
Parameters:
stage: The staging area to populate. directory: The embedded filesystem containing the file. pathToFile: The path to the Go source file within the embedded filesystem.
Returns:
An error if reading or parsing the file fails, or if ParseAstFileFromAst fails.
func ParseAstFile ¶
ParseAstFile Parse pathToFile and stages all instances declared in the file
func ParseAstFileFromAst ¶
ParseAstFile Parse pathToFile and stages all instances declared in the file
func ReplaceOldDeclarationsInFile ¶
ReplaceOldDeclarationsInFile replaces specific text in a file at the given path.
func SanitizeFileName ¶
SanitizeFileName generates a safe filename from a given string.
It performs the following actions: - Replaces illegal characters with a specified separator. - Replaces whitespace with the separator. - Transliterates non-ASCII characters to their ASCII equivalents. - Truncates the filename to a maximum length. - Avoids reserved filenames on Windows.
func Serialize ¶
func Serialize[Type Gongstruct](stage *Stage, tab Tabulator)
func SerializeExcelize ¶
func SerializeExcelize[Type Gongstruct](stage *Stage, f *excelize.File)
func SerializeExcelizePointerToGongstruct ¶
func SerializeExcelizePointerToGongstruct[Type PointerToGongstruct](stage *Stage, f *excelize.File)
func SerializeStage ¶
func SetCallbackAfterCreateFromFront ¶
func SetCallbackAfterCreateFromFront[Type Gongstruct](stage *Stage, callback OnAfterCreateInterface[Type])
func SetCallbackAfterDeleteFromFront ¶
func SetCallbackAfterDeleteFromFront[Type Gongstruct](stage *Stage, callback OnAfterDeleteInterface[Type])
func SetCallbackAfterReadFromFront ¶
func SetCallbackAfterReadFromFront[Type Gongstruct](stage *Stage, callback OnAfterReadInterface[Type])
func SetCallbackAfterUpdateFromFront ¶
func SetCallbackAfterUpdateFromFront[Type Gongstruct](stage *Stage, callback OnAfterUpdateInterface[Type])
SetCallbackAfterUpdateFromFront is a function to set up callback that is robust to refactoring
func SetOrchestratorOnAfterUpdate ¶
func SetOrchestratorOnAfterUpdate[Type Gongstruct](stage *Stage)
func SortGongstructSetByName ¶
func SortGongstructSetByName[T PointerToGongstruct](set map[T]any) (sortedSlice []T)
func StageBranch ¶
func StageBranch[Type Gongstruct](stage *Stage, instance *Type)
StageBranch stages instance and apply StageBranch on all gongstruct instances that are referenced by pointers or slices of pointers of the instance
the algorithm stops along the course of graph if a vertex is already staged
func UnmarshallGongstructStaging ¶
func UnmarshallGongstructStaging(stage *Stage, cmap *ast.CommentMap, assignStmt *ast.AssignStmt, astCoordinate_ string) ( instance any, identifier string, gongstructName string, fieldName string)
UnmarshallGoStaging unmarshall a go assign statement
func UnstageBranch ¶
func UnstageBranch[Type Gongstruct](stage *Stage, instance *Type)
UnstageBranch stages instance and apply UnstageBranch on all gongstruct instances that are referenced by pointers or slices of pointers of the insance
the algorithm stops along the course of graph if a vertex is already staged
Types ¶
type AllModelsStructCreateInterface ¶
type AllModelsStructCreateInterface interface { CreateORMChapter(Chapter *Chapter) CreateORMContent(Content *Content) CreateORMPage(Page *Page) }
swagger:ignore
type BackRepoInterface ¶
type BackRepoInterface interface { Commit(stage *Stage) Checkout(stage *Stage) Backup(stage *Stage, dirPath string) Restore(stage *Stage, dirPath string) BackupXL(stage *Stage, dirPath string) RestoreXL(stage *Stage, dirPath string) // insertion point for Commit and Checkout signatures CommitChapter(chapter *Chapter) CheckoutChapter(chapter *Chapter) CommitContent(content *Content) CheckoutContent(content *Content) CommitPage(page *Page) CheckoutPage(page *Page) GetLastCommitFromBackNb() uint GetLastPushFromFrontNb() uint }
type Chapter ¶
type Chapter struct { Name string //gong:text //gong:width 600 gong:height 300 MardownContent string Pages []*Page }
func CopyBranchChapter ¶
insertion point for stage branch per struct
func (*Chapter) CommitVoid ¶
func (*Chapter) CopyBasicFields ¶
func (*Chapter) Stage ¶
insertion point for cumulative sub template with model space calls Stage puts chapter to the model stage
func (*Chapter) UnstageVoid ¶
UnstageVoid removes chapter off the model stage
type Content ¶
type Content struct { Name string //gong:text //gong:width 600 gong:height 300 MardownContent string // path to the content generation ContentPath string OutputPath string LayoutPath string StaticPath string Target Target Chapters []*Chapter }
func CopyBranchContent ¶
func (*Content) CommitVoid ¶
func (*Content) CopyBasicFields ¶
func (*Content) UnstageVoid ¶
UnstageVoid removes content off the model stage
type Content_WOP ¶
type ExcelizeTabulator ¶
type ExcelizeTabulator struct {
// contains filtered or unexported fields
}
func (*ExcelizeTabulator) AddCell ¶
func (tab *ExcelizeTabulator) AddCell(sheetName string, rowId, columnIndex int, value string)
func (*ExcelizeTabulator) AddRow ¶
func (tab *ExcelizeTabulator) AddRow(sheetName string) (rowId int)
func (*ExcelizeTabulator) AddSheet ¶
func (tab *ExcelizeTabulator) AddSheet(sheetName string)
func (*ExcelizeTabulator) SetExcelizeFile ¶
func (tab *ExcelizeTabulator) SetExcelizeFile(f *excelize.File)
type GONG__ExpressionType ¶
type GONG__ExpressionType string
swagger:ignore
const ( GONG__STRUCT_INSTANCE GONG__ExpressionType = "STRUCT_INSTANCE" GONG__FIELD_OR_CONST_VALUE GONG__ExpressionType = "FIELD_OR_CONST_VALUE" GONG__FIELD_VALUE GONG__ExpressionType = "FIELD_VALUE" GONG__ENUM_CAST_INT GONG__ExpressionType = "ENUM_CAST_INT" GONG__ENUM_CAST_STRING GONG__ExpressionType = "ENUM_CAST_STRING" GONG__IDENTIFIER_CONST GONG__ExpressionType = "IDENTIFIER_CONST" )
type GONG__Identifier ¶
type GONG__Identifier struct { Ident string Type GONG__ExpressionType }
type GongFieldValue ¶
type GongFieldValue struct { GongFieldValueType // contains filtered or unexported fields }
func GetFieldStringValue ¶
func GetFieldStringValue(instance any, fieldName string) (res GongFieldValue)
func GetFieldStringValueFromPointer ¶
func GetFieldStringValueFromPointer(instance any, fieldName string) (res GongFieldValue)
func (*GongFieldValue) GetValueBool ¶
func (gongValueField *GongFieldValue) GetValueBool() bool
func (*GongFieldValue) GetValueFloat ¶
func (gongValueField *GongFieldValue) GetValueFloat() float64
func (*GongFieldValue) GetValueInt ¶
func (gongValueField *GongFieldValue) GetValueInt() int
func (*GongFieldValue) GetValueString ¶
func (gongValueField *GongFieldValue) GetValueString() string
type GongFieldValueType ¶
type GongFieldValueType string
const ( GongFieldValueTypeInt GongFieldValueType = "GongFieldValueTypeInt" GongFieldValueTypeFloat GongFieldValueType = "GongFieldValueTypeFloat" GongFieldValueTypeBool GongFieldValueType = "GongFieldValueTypeBool" GongFieldValueTypeOthers GongFieldValueType = "GongFieldValueTypeOthers" )
type GongStructInterface ¶
type GongStructInterface interface {
GetName() (res string)
}
GongStructInterface is the interface met by GongStructs It allows runtime reflexion of instances (without the hassle of the "reflect" package)
type Gongstruct ¶
type Gongstruct interface { }
Gongstruct is the type parameter for generated generic function that allows - access to staged instances - navigation between staged instances by going backward association links between gongstruct - full refactoring of Gongstruct identifiers / fields
type GongstructEnumIntField ¶
type GongstructMapString ¶
type GongstructSet ¶
type GongtructBasicField ¶
type NamedStruct ¶
type NamedStruct struct {
// contains filtered or unexported fields
}
func (*NamedStruct) GetName ¶
func (namedStruct *NamedStruct) GetName() string
type OnAfterCreateInterface ¶
type OnAfterCreateInterface[Type Gongstruct] interface { OnAfterCreate(stage *Stage, instance *Type) }
OnAfterCreateInterface callback when an instance is updated from the front
type OnAfterDeleteInterface ¶
type OnAfterDeleteInterface[Type Gongstruct] interface { OnAfterDelete(stage *Stage, staged, front *Type) }
OnAfterDeleteInterface callback when an instance is updated from the front
type OnAfterReadInterface ¶
type OnAfterReadInterface[Type Gongstruct] interface { OnAfterRead(stage *Stage, instance *Type) }
OnAfterReadInterface callback when an instance is updated from the front
type OnAfterUpdateInterface ¶
type OnAfterUpdateInterface[Type Gongstruct] interface { OnAfterUpdate(stage *Stage, old, new *Type) }
OnAfterUpdateInterface callback when an instance is updated from the front
type OnInitCommitInterface ¶
type OnInitCommitInterface interface {
BeforeCommit(stage *Stage)
}
type Page ¶
func (*Page) CommitVoid ¶
func (*Page) CopyBasicFields ¶
func (*Page) UnstageVoid ¶
UnstageVoid removes page off the model stage
type PointerToGongstruct ¶
type PointerToGongstruct interface { GetName() string CommitVoid(*Stage) UnstageVoid(stage *Stage) comparable }
Gongstruct is the type parameter for generated generic function that allows - access to staged instances - navigation between staged instances by going backward association links between gongstruct - full refactoring of Gongstruct identifiers / fields
type ReverseField ¶
func GetReverseFields ¶
func GetReverseFields[Type Gongstruct]() (res []ReverseField)
type Stage ¶
type Stage struct { // insertion point for definition of arrays registering instances Chapters map[*Chapter]any Chapters_mapString map[string]*Chapter // insertion point for slice of pointers maps Chapter_Pages_reverseMap map[*Page]*Chapter OnAfterChapterCreateCallback OnAfterCreateInterface[Chapter] OnAfterChapterUpdateCallback OnAfterUpdateInterface[Chapter] OnAfterChapterDeleteCallback OnAfterDeleteInterface[Chapter] OnAfterChapterReadCallback OnAfterReadInterface[Chapter] Contents map[*Content]any Contents_mapString map[string]*Content // insertion point for slice of pointers maps Content_Chapters_reverseMap map[*Chapter]*Content OnAfterContentCreateCallback OnAfterCreateInterface[Content] OnAfterContentUpdateCallback OnAfterUpdateInterface[Content] OnAfterContentDeleteCallback OnAfterDeleteInterface[Content] OnAfterContentReadCallback OnAfterReadInterface[Content] Pages map[*Page]any Pages_mapString map[string]*Page // insertion point for slice of pointers maps OnAfterPageCreateCallback OnAfterCreateInterface[Page] OnAfterPageUpdateCallback OnAfterUpdateInterface[Page] OnAfterPageDeleteCallback OnAfterDeleteInterface[Page] OnAfterPageReadCallback OnAfterReadInterface[Page] AllModelsStructCreateCallback AllModelsStructCreateInterface AllModelsStructDeleteCallback AllModelsStructDeleteInterface BackRepo BackRepoInterface // if set will be called before each commit to the back repo OnInitCommitCallback OnInitCommitInterface OnInitCommitFromFrontCallback OnInitCommitInterface OnInitCommitFromBackCallback OnInitCommitInterface // store the number of instance per gongstruct Map_GongStructName_InstancesNb map[string]int // store meta package import MetaPackageImportPath string MetaPackageImportAlias string // to be removed after fix of [issue](https://github.com/golang/go/issues/57559) // map to enable docLink renaming when an identifier is renamed Map_DocLink_Renaming map[string]GONG__Identifier // store the stage order of each instance in order to // preserve this order when serializing them // insertion point for order fields declaration ChapterOrder uint ChapterMap_Staged_Order map[*Chapter]uint ContentOrder uint ContentMap_Staged_Order map[*Content]uint PageOrder uint PageMap_Staged_Order map[*Page]uint NamedStructs []*NamedStruct // contains filtered or unexported fields }
Stage enables storage of staged instances swagger:ignore
func (*Stage) CommitWithSuspendedCallbacks ¶
func (stage *Stage) CommitWithSuspendedCallbacks()
func (*Stage) ComputeReverseMaps ¶
func (stage *Stage) ComputeReverseMaps()
ComputeReverseMaps computes the reverse map, for all intances, for all slice to pointers field Its complexity is in O(n)O(p) where p is the number of pointers
func (*Stage) Generation ¶
func (stage *Stage) Generation()
func (*Stage) GetCommitId ¶
func (*Stage) GetCommitTS ¶
func (*Stage) GetDigramsEmbededDir ¶
func (*Stage) GetMap_GongStructName_InstancesNb ¶
func (*Stage) GetModelsEmbededDir ¶
func (*Stage) GetNamedStructNamesByOrder ¶
func (*Stage) GetNamedStructsNames ¶
GetNamedStructs implements models.ProbebStage.
func (*Stage) GetProbeFormStageName ¶
func (*Stage) GetProbeSplitStageName ¶
func (*Stage) GetProbeTableStageName ¶
func (*Stage) GetProbeTreeSidebarStageName ¶
func (*Stage) IsStagedChapter ¶
insertion point for stage per struct
func (*Stage) IsStagedContent ¶
func (*Stage) IsStagedPage ¶
func (*Stage) Marshall ¶
Marshall marshall the stage content into the file as an instanciation into a stage
func (*Stage) Restore ¶
Restore resets Stage & BackRepo and restores their content from the restore files in dirPath
func (*Stage) RestoreXL ¶
Restore resets Stage & BackRepo and restores their content from the restore files in dirPath
func (*Stage) SetGeneratesDiff ¶
func (*Stage) StageBranchChapter ¶
insertion point for stage branch per struct
func (*Stage) StageBranchContent ¶
func (*Stage) StageBranchPage ¶
func (*Stage) UnstageBranchChapter ¶
insertion point for unstage branch per struct
func (*Stage) UnstageBranchContent ¶
func (*Stage) UnstageBranchPage ¶
type Stager ¶
type Stager struct {
// contains filtered or unexported fields
}
func (*Stager) GetButtonsStage ¶
GetButtonsStage implements models.Target.
func (*Stager) OnAfterUpdateButton ¶
func (stager *Stager) OnAfterUpdateButton()
OnAfterUpdateButton implements models.Target.
func (*Stager) UpdateAndCommitButtonStage ¶
func (stager *Stager) UpdateAndCommitButtonStage()
type Tabulator ¶
type Tabulator interface { AddSheet(sheetName string) AddRow(sheetName string) int AddCell(sheetName string, rowId, columnIndex int, value string) }
Tabulator is an interface for writing to a table strings
type Target ¶
type Target string
func (Target) CodeValues ¶
func (*Target) FromCodeString ¶
func (*Target) FromString ¶
func (*Target) ToCodeString ¶
Source Files
¶
- copy_directory_file.go
- docs.go
- models.go
- sanitize.go
- stage_generation.go
- stager.go
- stager_update_and_commit_button_stage.go
- zzz_gong.go
- zzz_gong_ast.go
- zzz_gong_callbacks.go
- zzz_gong_diff.go
- zzz_gong_enum.go
- zzz_gong_graph.go
- zzz_gong_marshall.go
- zzz_gong_orchestrator.go
- zzz_gong_reverse.go
- zzz_gong_serialize.go
- zzz_gong_slices.go
- zzz_gong_wop.go