mirror of
https://github.com/containers/podman.git
synced 2025-12-04 12:17:34 +08:00
Vendor Buildah 1.10.1
As the title says, vendor Buildah v1.10.1 Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
This commit is contained in:
65
vendor/github.com/pquerna/ffjson/inception/writerstack.go
generated
vendored
Normal file
65
vendor/github.com/pquerna/ffjson/inception/writerstack.go
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
package ffjsoninception
|
||||
|
||||
import "strings"
|
||||
|
||||
// ConditionalWrite is a stack containing a number of pending writes
|
||||
type ConditionalWrite struct {
|
||||
Queued []string
|
||||
}
|
||||
|
||||
// Write will add a string to be written
|
||||
func (w *ConditionalWrite) Write(s string) {
|
||||
w.Queued = append(w.Queued, s)
|
||||
}
|
||||
|
||||
// DeleteLast will delete the last added write
|
||||
func (w *ConditionalWrite) DeleteLast() {
|
||||
if len(w.Queued) == 0 {
|
||||
return
|
||||
}
|
||||
w.Queued = w.Queued[:len(w.Queued)-1]
|
||||
}
|
||||
|
||||
// Last will return the last added write
|
||||
func (w *ConditionalWrite) Last() string {
|
||||
if len(w.Queued) == 0 {
|
||||
return ""
|
||||
}
|
||||
return w.Queued[len(w.Queued)-1]
|
||||
}
|
||||
|
||||
// Flush will return all queued writes, and return
|
||||
// "" (empty string) in nothing has been queued
|
||||
// "buf.WriteByte('" + byte + "')" + '\n' if one bute has been queued.
|
||||
// "buf.WriteString(`" + string + "`)" + "\n" if more than one byte has been queued.
|
||||
func (w *ConditionalWrite) Flush() string {
|
||||
combined := strings.Join(w.Queued, "")
|
||||
if len(combined) == 0 {
|
||||
return ""
|
||||
}
|
||||
|
||||
w.Queued = nil
|
||||
if len(combined) == 1 {
|
||||
return "buf.WriteByte('" + combined + "')" + "\n"
|
||||
}
|
||||
return "buf.WriteString(`" + combined + "`)" + "\n"
|
||||
}
|
||||
|
||||
func (w *ConditionalWrite) FlushTo(out string) string {
|
||||
out += w.Flush()
|
||||
return out
|
||||
}
|
||||
|
||||
// WriteFlush will add a string and return the Flush result for the queue
|
||||
func (w *ConditionalWrite) WriteFlush(s string) string {
|
||||
w.Write(s)
|
||||
return w.Flush()
|
||||
}
|
||||
|
||||
// GetQueued will return the current queued content without flushing.
|
||||
func (w *ConditionalWrite) GetQueued() string {
|
||||
t := w.Queued
|
||||
s := w.Flush()
|
||||
w.Queued = t
|
||||
return s
|
||||
}
|
||||
Reference in New Issue
Block a user