expressions working

Signed-off-by: Casey Lee <cplee@nektos.com>
This commit is contained in:
Casey Lee
2020-02-12 23:27:37 -08:00
parent 409060c847
commit e40ab0145f
114 changed files with 32361 additions and 0 deletions

16
vendor/gopkg.in/sourcemap.v1/.travis.yml generated vendored Normal file
View File

@@ -0,0 +1,16 @@
sudo: false
language: go
go:
- 1.6
- 1.7
- tip
matrix:
allow_failures:
- go: tip
install:
- mkdir -p $HOME/gopath/src/gopkg.in
- mv $HOME/gopath/src/github.com/go-sourcemap/sourcemap $HOME/gopath/src/gopkg.in/sourcemap.v1
- cd $HOME/gopath/src/gopkg.in/sourcemap.v1

25
vendor/gopkg.in/sourcemap.v1/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,25 @@
Copyright (c) 2016 The github.com/go-sourcemap/sourcemap Contributors.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

4
vendor/gopkg.in/sourcemap.v1/Makefile generated vendored Normal file
View File

@@ -0,0 +1,4 @@
all:
go test ./...
go test ./... -short -race
go vet

35
vendor/gopkg.in/sourcemap.v1/README.md generated vendored Normal file
View File

@@ -0,0 +1,35 @@
# Source Maps consumer for Golang [![Build Status](https://travis-ci.org/go-sourcemap/sourcemap.svg?branch=v1)](https://travis-ci.org/go-sourcemap/sourcemap)
## Installation
Install:
go get gopkg.in/sourcemap.v1
## Quickstart
```go
func ExampleParse() {
mapURL := "http://code.jquery.com/jquery-2.0.3.min.map"
resp, err := http.Get(mapURL)
if err != nil {
panic(err)
}
defer resp.Body.Close()
b, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
smap, err := sourcemap.Parse(mapURL, b)
if err != nil {
panic(err)
}
line, column := 5, 6789
file, fn, line, col, ok := smap.Source(line, column)
fmt.Println(file, fn, line, col, ok)
// Output: http://code.jquery.com/jquery-2.0.3.js apply 4360 27 true
}
```

92
vendor/gopkg.in/sourcemap.v1/base64vlq/base64_vlq.go generated vendored Normal file
View File

@@ -0,0 +1,92 @@
package base64vlq
import (
"io"
)
const encodeStd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
const (
vlqBaseShift = 5
vlqBase = 1 << vlqBaseShift
vlqBaseMask = vlqBase - 1
vlqSignBit = 1
vlqContinuationBit = vlqBase
)
var decodeMap [256]byte
func init() {
for i := 0; i < len(encodeStd); i++ {
decodeMap[encodeStd[i]] = byte(i)
}
}
func toVLQSigned(n int) int {
if n < 0 {
return -n<<1 + 1
}
return n << 1
}
func fromVLQSigned(n int) int {
isNeg := n&vlqSignBit != 0
n >>= 1
if isNeg {
return -n
}
return n
}
type Encoder struct {
w io.ByteWriter
}
func NewEncoder(w io.ByteWriter) *Encoder {
return &Encoder{
w: w,
}
}
func (enc Encoder) Encode(n int) error {
n = toVLQSigned(n)
for digit := vlqContinuationBit; digit&vlqContinuationBit != 0; {
digit = n & vlqBaseMask
n >>= vlqBaseShift
if n > 0 {
digit |= vlqContinuationBit
}
err := enc.w.WriteByte(encodeStd[digit])
if err != nil {
return err
}
}
return nil
}
type Decoder struct {
r io.ByteReader
}
func NewDecoder(r io.ByteReader) *Decoder {
return &Decoder{
r: r,
}
}
func (dec Decoder) Decode() (n int, err error) {
shift := uint(0)
for continuation := true; continuation; {
c, err := dec.r.ReadByte()
if err != nil {
return 0, err
}
c = decodeMap[c]
continuation = c&vlqContinuationBit != 0
n += int(c&vlqBaseMask) << shift
shift += vlqBaseShift
}
return fromVLQSigned(n), nil
}

134
vendor/gopkg.in/sourcemap.v1/consumer.go generated vendored Normal file
View File

@@ -0,0 +1,134 @@
package sourcemap
import (
"encoding/json"
"fmt"
"net/url"
"path"
"sort"
"strconv"
)
type Consumer struct {
sourceRootURL *url.URL
smap *sourceMap
mappings []mapping
}
func Parse(mapURL string, b []byte) (*Consumer, error) {
smap := new(sourceMap)
err := json.Unmarshal(b, smap)
if err != nil {
return nil, err
}
if smap.Version != 3 {
return nil, fmt.Errorf(
"sourcemap: got version=%d, but only 3rd version is supported",
smap.Version,
)
}
var sourceRootURL *url.URL
if smap.SourceRoot != "" {
u, err := url.Parse(smap.SourceRoot)
if err != nil {
return nil, err
}
if u.IsAbs() {
sourceRootURL = u
}
} else if mapURL != "" {
u, err := url.Parse(mapURL)
if err != nil {
return nil, err
}
if u.IsAbs() {
u.Path = path.Dir(u.Path)
sourceRootURL = u
}
}
mappings, err := parseMappings(smap.Mappings)
if err != nil {
return nil, err
}
// Free memory.
smap.Mappings = ""
return &Consumer{
sourceRootURL: sourceRootURL,
smap: smap,
mappings: mappings,
}, nil
}
func (c *Consumer) File() string {
return c.smap.File
}
func (c *Consumer) Source(genLine, genCol int) (source, name string, line, col int, ok bool) {
i := sort.Search(len(c.mappings), func(i int) bool {
m := &c.mappings[i]
if m.genLine == genLine {
return m.genCol >= genCol
}
return m.genLine >= genLine
})
// Mapping not found.
if i == len(c.mappings) {
return
}
match := &c.mappings[i]
// Fuzzy match.
if match.genLine > genLine || match.genCol > genCol {
if i == 0 {
return
}
match = &c.mappings[i-1]
}
if match.sourcesInd >= 0 {
source = c.absSource(c.smap.Sources[match.sourcesInd])
}
if match.namesInd >= 0 {
v := c.smap.Names[match.namesInd]
switch v := v.(type) {
case string:
name = v
case float64:
name = strconv.FormatFloat(v, 'f', -1, 64)
default:
name = fmt.Sprint(v)
}
}
line = match.sourceLine
col = match.sourceCol
ok = true
return
}
func (c *Consumer) absSource(source string) string {
if path.IsAbs(source) {
return source
}
if u, err := url.Parse(source); err == nil && u.IsAbs() {
return source
}
if c.sourceRootURL != nil {
u := *c.sourceRootURL
u.Path = path.Join(c.sourceRootURL.Path, source)
return u.String()
}
if c.smap.SourceRoot != "" {
return path.Join(c.smap.SourceRoot, source)
}
return source
}

157
vendor/gopkg.in/sourcemap.v1/sourcemap.go generated vendored Normal file
View File

@@ -0,0 +1,157 @@
package sourcemap // import "gopkg.in/sourcemap.v1"
import (
"io"
"strings"
"gopkg.in/sourcemap.v1/base64vlq"
)
type fn func(m *mappings) (fn, error)
type sourceMap struct {
Version int `json:"version"`
File string `json:"file"`
SourceRoot string `json:"sourceRoot"`
Sources []string `json:"sources"`
Names []interface{} `json:"names"`
Mappings string `json:"mappings"`
}
type mapping struct {
genLine int
genCol int
sourcesInd int
sourceLine int
sourceCol int
namesInd int
}
type mappings struct {
rd *strings.Reader
dec *base64vlq.Decoder
hasName bool
value mapping
values []mapping
}
func parseMappings(s string) ([]mapping, error) {
rd := strings.NewReader(s)
m := &mappings{
rd: rd,
dec: base64vlq.NewDecoder(rd),
}
m.value.genLine = 1
m.value.sourceLine = 1
err := m.parse()
if err != nil {
return nil, err
}
return m.values, nil
}
func (m *mappings) parse() error {
next := parseGenCol
for {
c, err := m.rd.ReadByte()
if err == io.EOF {
m.pushValue()
return nil
}
if err != nil {
return err
}
switch c {
case ',':
m.pushValue()
next = parseGenCol
case ';':
m.pushValue()
m.value.genLine++
m.value.genCol = 0
next = parseGenCol
default:
err := m.rd.UnreadByte()
if err != nil {
return err
}
next, err = next(m)
if err != nil {
return err
}
}
}
}
func parseGenCol(m *mappings) (fn, error) {
n, err := m.dec.Decode()
if err != nil {
return nil, err
}
m.value.genCol += n
return parseSourcesInd, nil
}
func parseSourcesInd(m *mappings) (fn, error) {
n, err := m.dec.Decode()
if err != nil {
return nil, err
}
m.value.sourcesInd += n
return parseSourceLine, nil
}
func parseSourceLine(m *mappings) (fn, error) {
n, err := m.dec.Decode()
if err != nil {
return nil, err
}
m.value.sourceLine += n
return parseSourceCol, nil
}
func parseSourceCol(m *mappings) (fn, error) {
n, err := m.dec.Decode()
if err != nil {
return nil, err
}
m.value.sourceCol += n
return parseNamesInd, nil
}
func parseNamesInd(m *mappings) (fn, error) {
n, err := m.dec.Decode()
if err != nil {
return nil, err
}
m.hasName = true
m.value.namesInd += n
return parseGenCol, nil
}
func (m *mappings) pushValue() {
if m.value.sourceLine == 1 && m.value.sourceCol == 0 {
return
}
if m.hasName {
m.values = append(m.values, m.value)
m.hasName = false
} else {
m.values = append(m.values, mapping{
genLine: m.value.genLine,
genCol: m.value.genCol,
sourcesInd: m.value.sourcesInd,
sourceLine: m.value.sourceLine,
sourceCol: m.value.sourceCol,
namesInd: -1,
})
}
}