node

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CmpUnknown = util.CompareUnknown
	CmpLess    = util.CompareLess
	CmpEqual   = util.CompareEqual
	CmpGreater = util.CompareGreater
)
View Source
const (
	KeyPath    = "path"     // file or directory path.
	KeySize    = "size"     // file size in bytes.
	KeyIsDir   = "is_dir"   // if true, it's a directory.
	KeyModTime = "mod_time" // last modified time.
	KeyMode    = "mode"     // file or directory mode.
)

Variables

View Source
var (
	ErrUnknownData = errors.New("UnknownData")
	ErrUnavailable = errors.New("Unavailable")
)
View Source
var ErrInvalidNode = errors.New("InvalidNode")

Functions

func BuiltinKeys

func BuiltinKeys() []string

func IsBuiltinKey

func IsBuiltinKey(key string) bool

Types

type Bool

type Bool bool

func (Bool) Any

func (v Bool) Any() any

func (Bool) AsOp

func (v Bool) AsOp() *Op

func (Bool) Display

func (v Bool) Display() string

func (Bool) IsData

func (Bool) IsData()

func (*Bool) MarshalJSON

func (v *Bool) MarshalJSON() ([]byte, error)

func (Bool) Raw

func (v Bool) Raw() bool

func (*Bool) UnmarshalJSON

func (v *Bool) UnmarshalJSON(b []byte) error

type CompareResult

type CompareResult = util.CompareResult

type Data

type Data interface {
	IsData()
	Display() string
	AsOp() *Op
	Any() any
}

Data is the smallest unit of data in ndql.

type DefaultData

type DefaultData struct{}

DefaultData is the factory of the default value of Data.

func Default

func Default() *DefaultData

func (DefaultData) Bool

func (DefaultData) Bool() Bool

func (DefaultData) Duration

func (DefaultData) Duration() Duration

func (DefaultData) Float

func (DefaultData) Float() Float

func (DefaultData) Int

func (DefaultData) Int() Int

func (DefaultData) Null

func (DefaultData) Null() Null

func (DefaultData) String

func (DefaultData) String() String

func (DefaultData) Time

func (DefaultData) Time() Time

type Duration

type Duration time.Duration

func (Duration) Any

func (v Duration) Any() any

func (Duration) AsOp

func (v Duration) AsOp() *Op

func (Duration) Display

func (v Duration) Display() string

func (Duration) IsData

func (Duration) IsData()

func (*Duration) MarshalJSON

func (v *Duration) MarshalJSON() ([]byte, error)

func (Duration) Raw

func (v Duration) Raw() time.Duration

func (*Duration) UnmarshalJSON

func (v *Duration) UnmarshalJSON(b []byte) error

type Float

type Float float64

func (Float) Any

func (v Float) Any() any

func (Float) AsOp

func (v Float) AsOp() *Op

func (Float) Display

func (v Float) Display() string

func (Float) IsData

func (Float) IsData()

func (*Float) MarshalJSON

func (v *Float) MarshalJSON() ([]byte, error)

func (Float) Raw

func (v Float) Raw() float64

func (*Float) UnmarshalJSON

func (v *Float) UnmarshalJSON(b []byte) error

type Int

type Int int64

func (Int) Any

func (v Int) Any() any

func (Int) AsOp

func (v Int) AsOp() *Op

func (Int) Display

func (v Int) Display() string

func (Int) IsData

func (Int) IsData()

func (*Int) MarshalJSON

func (v *Int) MarshalJSON() ([]byte, error)

func (Int) Raw

func (v Int) Raw() int64

func (*Int) UnmarshalJSON

func (v *Int) UnmarshalJSON(b []byte) error

type Node

type Node struct {
	*mapx.Map[string, Data]
}

Node is a set of Data; what we call 'row' in SQL.

func FromMap

func FromMap(v map[string]Data) *Node

func FromWalkerEntry

func FromWalkerEntry(v *iox.WalkerEntry) *Node

func New

func New() *Node

func (*Node) GetIsDir

func (n *Node) GetIsDir() Bool

func (*Node) GetModTime

func (n *Node) GetModTime() Time

func (*Node) GetMode

func (n *Node) GetMode() String

func (*Node) GetPath

func (n *Node) GetPath() String

func (*Node) GetSize

func (n *Node) GetSize() Int

func (*Node) MarshalJSON

func (n *Node) MarshalJSON() ([]byte, error)

func (*Node) UnmarshalJSON

func (n *Node) UnmarshalJSON(data []byte) error

func (*Node) Validate

func (n *Node) Validate() error

Validate returns an error if the node does not have all the builtin keys.

type Null

type Null struct{}

func NewNull

func NewNull() Null

func (Null) Any

func (Null) Any() any

func (Null) AsOp

func (v Null) AsOp() *Op

func (Null) Display

func (Null) Display() string

func (Null) IsData

func (Null) IsData()

func (*Null) MarshalJSON

func (*Null) MarshalJSON() ([]byte, error)

func (Null) Raw

func (v Null) Raw() Null

func (*Null) UnmarshalJSON

func (*Null) UnmarshalJSON(b []byte) error

type Op

type Op struct {
	// contains filtered or unexported fields
}

Op defines some operations on Data.

func E

func E() *Op

func Now

func Now() *Op

func Pi

func Pi() *Op

func Rand

func Rand() *Op

func (*Op) Abs

func (v *Op) Abs() (*Op, error)

func (*Op) AbsPath

func (v *Op) AbsPath() (*Op, error)

func (*Op) Acos

func (v *Op) Acos() (*Op, error)

func (*Op) Add

func (v *Op) Add(other *Op) (*Op, error)

func (*Op) AsBool

func (v *Op) AsBool() (Bool, error)

func (*Op) AsData

func (v *Op) AsData() Data

func (*Op) AsDuration

func (v *Op) AsDuration() (Duration, error)

func (*Op) AsFloat

func (v *Op) AsFloat() (Float, error)

func (*Op) AsInt

func (v *Op) AsInt() (Int, error)

func (*Op) AsNull

func (v *Op) AsNull() (Null, error)

func (*Op) AsString

func (v *Op) AsString() (String, error)

func (*Op) AsTime

func (v *Op) AsTime() (Time, error)

func (*Op) Asin

func (v *Op) Asin() (*Op, error)

func (*Op) Atan

func (v *Op) Atan() (*Op, error)

func (*Op) Atan2

func (v *Op) Atan2(other *Op) (*Op, error)

func (*Op) Basename

func (v *Op) Basename() (*Op, error)

func (*Op) Between

func (v *Op) Between(left, right *Op) (bool, error)

func (*Op) BitAnd

func (v *Op) BitAnd(other *Op) (*Op, error)

func (*Op) BitNot

func (v *Op) BitNot() (*Op, error)

func (*Op) BitOr

func (v *Op) BitOr(other *Op) (*Op, error)

func (*Op) BitXor

func (v *Op) BitXor(other *Op) (*Op, error)

func (*Op) Bool

func (v *Op) Bool() (Bool, bool)

func (*Op) Ceil

func (v *Op) Ceil() (*Op, error)

func (*Op) Coalesce

func (v *Op) Coalesce(other ...*Op) *Op

func (*Op) Compare

func (v *Op) Compare(other *Op) CompareResult

func (*Op) ConcatWs

func (v *Op) ConcatWs(other ...*Op) (*Op, error)

func (*Op) Cos

func (v *Op) Cos() (*Op, error)

func (*Op) Cot

func (v *Op) Cot() (*Op, error)

func (*Op) Day

func (v *Op) Day() (*Op, error)

func (*Op) DayOfWeek

func (v *Op) DayOfWeek() (*Op, error)

func (*Op) DayOfYear

func (v *Op) DayOfYear() (*Op, error)

func (*Op) Degrees

func (v *Op) Degrees() (*Op, error)

func (*Op) Dir

func (v *Op) Dir() (*Op, error)

func (*Op) Divide

func (v *Op) Divide(other *Op) (*Op, error)

func (*Op) Duration

func (v *Op) Duration() (Duration, bool)

func (*Op) Env

func (v *Op) Env() (*Op, error)

func (*Op) EnvOr

func (v *Op) EnvOr(other *Op) (*Op, error)

func (*Op) EqualType

func (v *Op) EqualType(other *Op) bool

func (*Op) Exp

func (v *Op) Exp() (*Op, error)

func (*Op) Extension

func (v *Op) Extension() (*Op, error)

func (*Op) Float

func (v *Op) Float() (Float, bool)

func (*Op) Floor

func (v *Op) Floor() (*Op, error)

func (*Op) Format

func (v *Op) Format(other ...*Op) (*Op, error)

func (*Op) Greatest

func (v *Op) Greatest(other ...*Op) *Op

func (*Op) Hour

func (v *Op) Hour() (*Op, error)

func (*Op) If

func (v *Op) If(left, right *Op) *Op

func (*Op) IfNull

func (v *Op) IfNull(other *Op) *Op

func (*Op) In

func (v *Op) In(other ...*Op) bool

func (*Op) Instr

func (v *Op) Instr(other *Op) (*Op, error)

func (*Op) Int

func (v *Op) Int() (Int, bool)

func (*Op) Inverse

func (v *Op) Inverse() (*Op, error)

func (*Op) IsFalse

func (v *Op) IsFalse() bool

func (*Op) IsNull

func (v *Op) IsNull() bool

func (*Op) IsTrue

func (v *Op) IsTrue() bool

func (*Op) Least

func (v *Op) Least(other ...*Op) *Op

func (*Op) LeftShift

func (v *Op) LeftShift(other *Op) (*Op, error)

func (*Op) Len

func (v *Op) Len() (*Op, error)

func (*Op) Like

func (v *Op) Like(other *Op) (*Op, error)

func (*Op) Ln

func (v *Op) Ln() (*Op, error)

func (*Op) Log10

func (v *Op) Log10() (*Op, error)

func (*Op) Log2

func (v *Op) Log2() (*Op, error)

func (*Op) LogicalAnd

func (v *Op) LogicalAnd(other *Op) (*Op, error)

func (*Op) LogicalNot

func (v *Op) LogicalNot() (*Op, error)

func (*Op) LogicalOr

func (v *Op) LogicalOr(other *Op) (*Op, error)

func (*Op) LogicalXor

func (v *Op) LogicalXor(other *Op) (*Op, error)

func (*Op) Lower

func (v *Op) Lower() (*Op, error)

func (*Op) MarshalJSON

func (v *Op) MarshalJSON() ([]byte, error)

func (*Op) Minute

func (v *Op) Minute() (*Op, error)

func (*Op) Mod

func (v *Op) Mod(other *Op) (*Op, error)

func (*Op) Month

func (v *Op) Month() (*Op, error)

func (*Op) Multiply

func (v *Op) Multiply(other *Op) (*Op, error)

func (*Op) NewTime

func (v *Op) NewTime(param ...*Op) (*Op, error)

func (*Op) Not

func (v *Op) Not() (*Op, error)

func (*Op) Null

func (v *Op) Null() (Null, bool)

func (*Op) NullIf

func (v *Op) NullIf(other *Op) *Op

func (*Op) Pow

func (v *Op) Pow(other *Op) (*Op, error)

func (*Op) Radians

func (v *Op) Radians() (*Op, error)

func (*Op) Regexp

func (v *Op) Regexp(other *Op) (*Op, error)

func (*Op) RegexpInstr

func (v *Op) RegexpInstr(other *Op) (*Op, error)

func (*Op) RegexpReplace

func (v *Op) RegexpReplace(pat, repl *Op) (*Op, error)

func (*Op) RegexpSubstr

func (v *Op) RegexpSubstr(other *Op) (*Op, error)

func (*Op) RelPath

func (v *Op) RelPath(basepath *Op) (*Op, error)

func (*Op) Replace

func (v *Op) Replace(from, to *Op) (*Op, error)

func (*Op) RightShift

func (v *Op) RightShift(other *Op) (*Op, error)

func (*Op) Round

func (v *Op) Round() (*Op, error)

func (*Op) Second

func (v *Op) Second() (*Op, error)

func (*Op) Sha2

func (v *Op) Sha2() (*Op, error)

func (*Op) Sin

func (v *Op) Sin() (*Op, error)

func (*Op) Size

func (v *Op) Size() (*Op, error)

func (*Op) Sleep

func (v *Op) Sleep() (*Op, error)

func (*Op) Sqrt

func (v *Op) Sqrt() (*Op, error)

func (*Op) String

func (v *Op) String() (String, bool)

func (*Op) Substr

func (v *Op) Substr(other ...*Op) (*Op, error)

func (*Op) SubstrIndex

func (v *Op) SubstrIndex(delim, count *Op) (*Op, error)

func (*Op) Subtract

func (v *Op) Subtract(other *Op) (*Op, error)

func (*Op) Tan

func (v *Op) Tan() (*Op, error)

func (*Op) Time

func (v *Op) Time() (Time, bool)

func (*Op) TimeFormat

func (v *Op) TimeFormat(other *Op) (*Op, error)

func (*Op) Trim

func (v *Op) Trim(other ...*Op) (*Op, error)

func (*Op) UnmarshalJSON

func (v *Op) UnmarshalJSON(data []byte) error

func (*Op) Upper

func (v *Op) Upper() (*Op, error)

func (*Op) Year

func (v *Op) Year() (*Op, error)

type String

type String string

func (String) Any

func (v String) Any() any

func (String) AsOp

func (v String) AsOp() *Op

func (String) Display

func (v String) Display() string

func (String) IsData

func (String) IsData()

func (*String) MarshalJSON

func (v *String) MarshalJSON() ([]byte, error)

func (String) Raw

func (v String) Raw() string

func (*String) UnmarshalJSON

func (v *String) UnmarshalJSON(b []byte) error

type Time

type Time time.Time

func (Time) Any

func (v Time) Any() any

func (Time) AsOp

func (v Time) AsOp() *Op

func (Time) Display

func (v Time) Display() string

func (Time) IsData

func (Time) IsData()

func (*Time) MarshalJSON

func (v *Time) MarshalJSON() ([]byte, error)

func (Time) Raw

func (v Time) Raw() time.Time

func (*Time) UnmarshalJSON

func (v *Time) UnmarshalJSON(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL