Move processing, evaluation, and related functions to internal/process

This commit is contained in:
Ian Gulliver
2025-06-27 21:00:02 -07:00
parent 7d83b320de
commit 92ba299941
10 changed files with 25 additions and 25 deletions
@@ -1,4 +1,4 @@
package bkl
package process
import (
"fmt"
+2 -2
View File
@@ -1,4 +1,4 @@
package bkl
package process
import (
"fmt"
@@ -134,7 +134,7 @@ func getCrossDoc(docs []*document.Document, pat any) (*document.Document, error)
var ret *document.Document
for _, doc := range docs {
if matchDoc(doc, pat) {
if MatchDoc(doc, pat) {
if ret != nil {
return nil, fmt.Errorf("%#v: %w", pat, errors.ErrMultiMatch)
}
+2 -2
View File
@@ -1,11 +1,11 @@
package bkl
package process
import (
"github.com/gopatchy/bkl/internal/document"
"github.com/gopatchy/bkl/internal/utils"
)
func matchDoc(doc *document.Document, pat any) bool {
func MatchDoc(doc *document.Document, pat any) bool {
return match(doc.Data, pat)
}
+2 -2
View File
@@ -1,4 +1,4 @@
package bkl
package process
import (
"fmt"
@@ -9,7 +9,7 @@ import (
"github.com/gopatchy/bkl/pkg/errors"
)
func mergeDocs(doc, patch *document.Document) error {
func MergeDocs(doc, patch *document.Document) error {
// If patch document is completely empty (nil), it's a no-op
if patch.Data == nil {
return nil
+1 -1
View File
@@ -1,4 +1,4 @@
package bkl
package process
import (
"fmt"
+2 -2
View File
@@ -1,4 +1,4 @@
package bkl
package process
import (
"crypto/sha256"
@@ -93,7 +93,7 @@ func process2Encode(obj any, mergeFrom *document.Document, mergeFromDocs []*docu
return nil, err
}
err = validate(obj2)
err = Validate(obj2)
if err != nil {
return nil, err
}
@@ -1,8 +1,8 @@
package bkl
package process
import "github.com/gopatchy/bkl/internal/document"
func processDocument(d *document.Document, mergeFromDocs []*document.Document, env map[string]string) ([]*document.Document, error) {
func Document(d *document.Document, mergeFromDocs []*document.Document, env map[string]string) ([]*document.Document, error) {
var err error
ec := newEvalContext(env)
+1 -1
View File
@@ -1,4 +1,4 @@
package bkl
package process
import (
"fmt"
+5 -5
View File
@@ -1,4 +1,4 @@
package bkl
package process
import (
"fmt"
@@ -8,7 +8,7 @@ import (
"golang.org/x/exp/utf8string"
)
func validate(obj any) error {
func Validate(obj any) error {
switch obj2 := obj.(type) {
case map[string]any:
return validateMap(obj2)
@@ -26,12 +26,12 @@ func validate(obj any) error {
func validateMap(obj map[string]any) error {
for k, v := range obj {
err := validate(k)
err := Validate(k)
if err != nil {
return fmt.Errorf("%s: %w", k, err)
}
err = validate(v)
err = Validate(v)
if err != nil {
return fmt.Errorf("%s: %w", k, err)
}
@@ -42,7 +42,7 @@ func validateMap(obj map[string]any) error {
func validateList(obj []any) error {
for _, v := range obj {
err := validate(v)
err := Validate(v)
if err != nil {
return err
}
+7 -7
View File
@@ -13,10 +13,10 @@ import (
"strings"
"github.com/gopatchy/bkl/internal/document"
"github.com/gopatchy/bkl/internal/file"
"github.com/gopatchy/bkl/internal/format"
"github.com/gopatchy/bkl/internal/fsys"
"github.com/gopatchy/bkl/internal/process"
"github.com/gopatchy/bkl/internal/utils"
"github.com/gopatchy/bkl/pkg/errors"
)
@@ -95,7 +95,7 @@ func (b *bkl) mergeDocument(patch *document.Document) error {
for _, doc := range b.parents(patch) {
matched = true
err = mergeDocs(doc, patch)
err = process.MergeDocs(doc, patch)
if err != nil {
return err
}
@@ -135,7 +135,7 @@ func (b *bkl) mergePatchMatch(patch *document.Document) (bool, error) {
// Explicit append
doc := document.New(fmt.Sprintf("%s|matchnull", patch.ID))
b.docs = append(b.docs, doc)
return true, mergeDocs(doc, patch)
return true, process.MergeDocs(doc, patch)
}
docs := b.findMatches(patch, m)
@@ -144,7 +144,7 @@ func (b *bkl) mergePatchMatch(patch *document.Document) (bool, error) {
}
for _, doc := range docs {
err := mergeDocs(doc, patch)
err := process.MergeDocs(doc, patch)
if err != nil {
return true, err
}
@@ -159,7 +159,7 @@ func (b *bkl) findMatches(doc *document.Document, pat any) []*document.Document
// Try parents, then all docs
for _, ds := range [][]*document.Document{b.parents(doc), b.docs} {
for _, d := range ds {
if matchDoc(d, pat) {
if process.MatchDoc(d, pat) {
ret = append(ret, d)
}
}
@@ -213,7 +213,7 @@ func (b *bkl) mergeFileObj(f *file.File) error {
// outputDocument returns the output objects generated by the specified
// document.
func (b *bkl) outputDocument(doc *document.Document, env map[string]string) ([]any, error) {
docs, err := processDocument(doc, b.docs, env)
docs, err := process.Document(doc, b.docs, env)
if err != nil {
return nil, err
}
@@ -243,7 +243,7 @@ func (b *bkl) outputDocument(doc *document.Document, env map[string]string) ([]a
return nil, nil
}
err = validate(v2)
err = process.Validate(v2)
if err != nil {
return nil, err
}