diff options
author | 2025-03-09 17:47:56 +0100 | |
---|---|---|
committer | 2025-03-10 01:59:49 +0100 | |
commit | 3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch) | |
tree | f61faa581feaaeaba2542b9f2b8234a590684413 /vendor/github.com/goccy/go-json/path.go | |
parent | [chore] update URLs to forked source (diff) | |
download | gotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz |
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/goccy/go-json/path.go')
-rw-r--r-- | vendor/github.com/goccy/go-json/path.go | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/vendor/github.com/goccy/go-json/path.go b/vendor/github.com/goccy/go-json/path.go deleted file mode 100644 index 38abce78f..000000000 --- a/vendor/github.com/goccy/go-json/path.go +++ /dev/null @@ -1,84 +0,0 @@ -package json - -import ( - "reflect" - - "github.com/goccy/go-json/internal/decoder" -) - -// CreatePath creates JSON Path. -// -// JSON Path rule -// $ : root object or element. The JSON Path format must start with this operator, which refers to the outermost level of the JSON-formatted string. -// . : child operator. You can identify child values using dot-notation. -// .. : recursive descent. -// [] : subscript operator. If the JSON object is an array, you can use brackets to specify the array index. -// [*] : all objects/elements for array. -// -// Reserved words must be properly escaped when included in Path. -// -// Escape Rule -// single quote style escape: e.g.) `$['a.b'].c` -// double quote style escape: e.g.) `$."a.b".c` -func CreatePath(p string) (*Path, error) { - path, err := decoder.PathString(p).Build() - if err != nil { - return nil, err - } - return &Path{path: path}, nil -} - -// Path represents JSON Path. -type Path struct { - path *decoder.Path -} - -// RootSelectorOnly whether only the root selector ($) is used. -func (p *Path) RootSelectorOnly() bool { - return p.path.RootSelectorOnly -} - -// UsedSingleQuotePathSelector whether single quote-based escaping was done when building the JSON Path. -func (p *Path) UsedSingleQuotePathSelector() bool { - return p.path.SingleQuotePathSelector -} - -// UsedSingleQuotePathSelector whether double quote-based escaping was done when building the JSON Path. -func (p *Path) UsedDoubleQuotePathSelector() bool { - return p.path.DoubleQuotePathSelector -} - -// Extract extracts a specific JSON string. -func (p *Path) Extract(data []byte, optFuncs ...DecodeOptionFunc) ([][]byte, error) { - return extractFromPath(p, data, optFuncs...) -} - -// PathString returns original JSON Path string. -func (p *Path) PathString() string { - return p.path.String() -} - -// Unmarshal extract and decode the value of the part corresponding to JSON Path from the input data. -func (p *Path) Unmarshal(data []byte, v interface{}, optFuncs ...DecodeOptionFunc) error { - contents, err := extractFromPath(p, data, optFuncs...) - if err != nil { - return err - } - results := make([]interface{}, 0, len(contents)) - for _, content := range contents { - var result interface{} - if err := Unmarshal(content, &result); err != nil { - return err - } - results = append(results, result) - } - if err := decoder.AssignValue(reflect.ValueOf(results), reflect.ValueOf(v)); err != nil { - return err - } - return nil -} - -// Get extract and substitute the value of the part corresponding to JSON Path from the input value. -func (p *Path) Get(src, dst interface{}) error { - return p.path.Get(reflect.ValueOf(src), reflect.ValueOf(dst)) -} |