Function

Trait Function 

Source
pub trait Function:
    Send
    + Sync
    + Debug {
Show 13 methods // Required methods fn identifier(&self) -> &'static str; fn usage(&self) -> &'static str; fn category(&self) -> &'static str; fn return_kind(&self) -> u16; fn examples(&self) -> &'static [Example]; fn compile( &self, state: &TypeState, ctx: &mut FunctionCompileContext, arguments: ArgumentList, ) -> Compiled; // Provided methods fn summary(&self) -> &'static str { ... } fn internal_failure_reasons(&self) -> &'static [&'static str] { ... } fn return_rules(&self) -> &'static [&'static str] { ... } fn notices(&self) -> &'static [&'static str] { ... } fn pure(&self) -> bool { ... } fn parameters(&self) -> &'static [Parameter] { ... } fn closure(&self) -> Option<Definition> { ... }
}

Required Methods§

Source

fn identifier(&self) -> &'static str

The identifier by which the function can be called.

Source

fn usage(&self) -> &'static str

A more elaborate multi-paragraph description on how to use the function.

Source

fn category(&self) -> &'static str

The category this function belongs to.

This categorizes functions for documentation and tooling purposes.

Source

fn return_kind(&self) -> u16

The return type kind(s) this function can return.

Source

fn examples(&self) -> &'static [Example]

One or more examples demonstrating usage of the function in VRL source code.

Source

fn compile( &self, state: &TypeState, ctx: &mut FunctionCompileContext, arguments: ArgumentList, ) -> Compiled

Compile a Function into a type that can be resolved to an Expression.

This function is called at compile-time for any Function used in the program.

At runtime, the Expression returned by this function is executed and resolved to its final Value.

Provided Methods§

Source

fn summary(&self) -> &'static str

A brief single-line description explaining what this function does.

Source

fn internal_failure_reasons(&self) -> &'static [&'static str]

Human-readable internal failure reasons for the function.

This returns an empty slice by default, indicating no internal failure reasons are documented for a function.

Source

fn return_rules(&self) -> &'static [&'static str]

Human-readable rules describing the return value of the function.

This returns an empty slice by default, indicating no return rules are documented for this function.

Source

fn notices(&self) -> &'static [&'static str]

Important notices about the function’s behavior or usage.

This returns an empty slice by default, indicating no notices are documented for this function.

Source

fn pure(&self) -> bool

Whether a function is pure or not. When a function is pure, it is idempotent and has no side-effects. Otherwise, it is impure.

Source

fn parameters(&self) -> &'static [Parameter]

An optional list of parameters the function accepts.

This list is used at compile-time to check function arity, keyword names and argument type definition.

Source

fn closure(&self) -> Option<Definition>

An optional closure definition for the function.

This returns None by default, indicating the function doesn’t accept a closure.

Implementors§

Source§

impl Function for Abs

Source§

impl Function for Append

Source§

impl Function for Array

Source§

impl Function for Assert

Source§

impl Function for AssertEq

Source§

impl Function for BaseName

Source§

impl Function for Boolean

Source§

impl Function for Camelcase

Source§

impl Function for Ceil

Source§

impl Function for Chunks

Source§

impl Function for CommunityID

Source§

impl Function for Compact

Source§

impl Function for Contains

Source§

impl Function for ContainsAll

Source§

impl Function for Crc

Source§

impl Function for DecodeBase16

Source§

impl Function for DecodeBase64

Source§

impl Function for DecodeCharset

Source§

impl Function for DecodeGzip

Source§

impl Function for DecodeLz4

Source§

impl Function for DecodeMimeQ

Source§

impl Function for DecodePercent

Source§

impl Function for DecodePunycode

Source§

impl Function for DecodeSnappy

Source§

impl Function for DecodeZlib

Source§

impl Function for DecodeZstd

Source§

impl Function for Decrypt

Source§

impl Function for DecryptIp

Source§

impl Function for Del

Source§

impl Function for DirName

Source§

impl Function for DnsLookup

Source§

impl Function for Downcase

Source§

impl Function for EncodeBase16

Source§

impl Function for EncodeBase64

Source§

impl Function for EncodeCharset

Source§

impl Function for EncodeGzip

Source§

impl Function for EncodeJson

Source§

impl Function for EncodeKeyValue

Source§

impl Function for EncodeLogfmt

Source§

impl Function for EncodeLz4

Source§

impl Function for EncodePercent

Source§

impl Function for EncodeProto

Source§

impl Function for EncodePunycode

Source§

impl Function for EncodeSnappy

Source§

impl Function for EncodeZlib

Source§

impl Function for EncodeZstd

Source§

impl Function for Encrypt

Source§

impl Function for EncryptIp

Source§

impl Function for EndsWith

Source§

impl Function for Exists

Source§

impl Function for Filter

Source§

impl Function for Find

Source§

impl Function for Flatten

Source§

impl Function for Float

Source§

impl Function for Floor

Source§

impl Function for ForEach

Source§

impl Function for FormatInt

Source§

impl Function for FormatNumber

Source§

impl Function for FormatTimestamp

Source§

impl Function for FromUnixTimestamp

Source§

impl Function for Get

Source§

impl Function for GetEnvVar

Source§

impl Function for GetHostname

Source§

impl Function for GetTimezoneName

Source§

impl Function for Haversine

Source§

impl Function for Hmac

Source§

impl Function for HttpRequest

Source§

impl Function for Includes

Source§

impl Function for Integer

Source§

impl Function for IpAton

Source§

impl Function for IpCidrContains

Source§

impl Function for IpNtoa

Source§

impl Function for IpNtop

Source§

impl Function for IpPton

Source§

impl Function for IpSubnet

Source§

impl Function for IpToIpv6

Source§

impl Function for Ipv6ToIpV4

Source§

impl Function for IsArray

Source§

impl Function for IsBoolean

Source§

impl Function for IsEmpty

Source§

impl Function for IsFloat

Source§

impl Function for IsInteger

Source§

impl Function for IsIpv4

Source§

impl Function for IsIpv6

Source§

impl Function for IsJson

Source§

impl Function for IsNull

Source§

impl Function for IsNullish

Source§

impl Function for IsObject

Source§

impl Function for IsRegex

Source§

impl Function for IsString

Source§

impl Function for IsTimestamp

Source§

impl Function for Join

Source§

impl Function for Kebabcase

Source§

impl Function for Keys

Source§

impl Function for Length

Source§

impl Function for Log

Source§

impl Function for MapKeys

Source§

impl Function for MapValues

Source§

impl Function for Match

Source§

impl Function for MatchAny

Source§

impl Function for MatchArray

Source§

impl Function for MatchDatadogQuery

Source§

impl Function for Md5

Source§

impl Function for Merge

Source§

impl Function for Mod

Source§

impl Function for Now

Source§

impl Function for Object

Source§

impl Function for ObjectFromArray

Source§

impl Function for ParseApacheLog

Source§

impl Function for ParseAwsAlbLog

Source§

impl Function for ParseAwsCloudWatchLogSubscriptionMessage

Source§

impl Function for ParseAwsVpcFlowLog

Source§

impl Function for ParseBytes

Source§

impl Function for ParseCbor

Source§

impl Function for ParseCef

Source§

impl Function for ParseCommonLog

Source§

impl Function for ParseCsv

Source§

impl Function for ParseDuration

Source§

impl Function for ParseEtld

Source§

impl Function for ParseFloat

Source§

impl Function for ParseGlog

Source§

impl Function for ParseGrok

Source§

impl Function for ParseGroks

Source§

impl Function for ParseInfluxDB

Source§

impl Function for ParseInt

Source§

impl Function for ParseJson

Source§

impl Function for ParseKeyValue

Source§

impl Function for ParseKlog

Source§

impl Function for ParseLinuxAuthorization

Source§

impl Function for ParseLogFmt

Source§

impl Function for ParseNginxLog

Source§

impl Function for ParseProto

Source§

impl Function for ParseQueryString

Source§

impl Function for ParseRegex

Source§

impl Function for ParseRegexAll

Source§

impl Function for ParseRubyHash

Source§

impl Function for ParseSyslog

Source§

impl Function for ParseTimestamp

Source§

impl Function for ParseTokens

Source§

impl Function for ParseUrl

Source§

impl Function for ParseUserAgent

Source§

impl Function for ParseXml

Source§

impl Function for ParseYaml

Source§

impl Function for Pascalcase

Source§

impl Function for Pop

Source§

impl Function for Push

Source§

impl Function for RandomBool

Source§

impl Function for RandomBytes

Source§

impl Function for RandomFloat

Source§

impl Function for RandomInt

Source§

impl Function for Redact

Source§

impl Function for Remove

Source§

impl Function for Replace

Source§

impl Function for ReplaceWith

Source§

impl Function for ReverseDns

Source§

impl Function for Round

Source§

impl Function for ScreamingSnakecase

Source§

impl Function for Seahash

Source§

impl Function for Set

Source§

impl Function for Sha1

Source§

impl Function for Sha2

Source§

impl Function for Sha3

Source§

impl Function for ShannonEntropy

Source§

impl Function for Sieve

Source§

impl Function for Slice

Source§

impl Function for Snakecase

Source§

impl Function for Split

Source§

impl Function for SplitPath

Source§

impl Function for StartsWith

Source§

impl Function for String

Source§

impl Function for StripAnsiEscapeCodes

Source§

impl Function for StripWhitespace

Source§

impl Function for Strlen

Source§

impl Function for TagTypesExternally

Source§

impl Function for Tally

Source§

impl Function for TallyValue

Source§

impl Function for Timestamp

Source§

impl Function for ToBool

Source§

impl Function for ToFloat

Source§

impl Function for ToInt

Source§

impl Function for ToRegex

Source§

impl Function for ToString

Source§

impl Function for ToSyslogFacility

Source§

impl Function for ToSyslogFacilityCode

Source§

impl Function for ToSyslogLevel

Source§

impl Function for ToSyslogSeverity

Source§

impl Function for ToUnixTimestamp

Source§

impl Function for Truncate

Source§

impl Function for TypeDef

Source§

impl Function for Unflatten

Source§

impl Function for Unique

Source§

impl Function for Unnest

Source§

impl Function for Upcase

Source§

impl Function for UuidFromFriendlyId

Source§

impl Function for UuidV4

Source§

impl Function for UuidV7

Source§

impl Function for ValidateJsonSchema

Source§

impl Function for Values

Source§

impl Function for Xxhash

Source§

impl Function for Zip