...

Package bidirule

import "vendor/golang.org/x/text/secure/bidirule"
Overview
Index

Overview ▾

Package bidirule implements the Bidi Rule defined by RFC 5893.

This package is under development. The API may change without notice and without preserving backward compatibility.

Variables

ErrInvalid indicates a label is invalid according to the Bidi Rule.

var ErrInvalid = errors.New("bidirule: failed Bidi Rule")

func Direction

func Direction(b []byte) bidi.Direction

Direction reports the direction of the given label as defined by RFC 5893. The Bidi Rule does not have to be applied to labels of the category LeftToRight.

func DirectionString

func DirectionString(s string) bidi.Direction

DirectionString reports the direction of the given label as defined by RFC 5893. The Bidi Rule does not have to be applied to labels of the category LeftToRight.

func Valid

func Valid(b []byte) bool

Valid reports whether b conforms to the BiDi rule.

func ValidString

func ValidString(s string) bool

ValidString reports whether s conforms to the BiDi rule.

type Transformer

Transformer implements transform.Transform.

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

func New

func New() *Transformer

New returns a Transformer that verifies that input adheres to the Bidi Rule.

func (*Transformer) Reset

func (t *Transformer) Reset()

Reset implements transform.Transformer.

func (*Transformer) Span

func (t *Transformer) Span(src []byte, atEOF bool) (n int, err error)

Span returns the first n bytes of src that conform to the Bidi rule.

func (*Transformer) Transform

func (t *Transformer) Transform(dst, src []byte, atEOF bool) (nDst, nSrc int, err error)

Transform implements transform.Transformer. This Transformer has state and needs to be reset between uses.