blob: c349a944769a64721f66ed54d38e594745ee26da [file] [log] [blame]
Don Newton379ae252019-04-01 12:17:06 -04001// Copyright (C) MongoDB, Inc. 2017-present.
2//
3// Licensed under the Apache License, Version 2.0 (the "License"); you may
4// not use this file except in compliance with the License. You may obtain
5// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
7package bsoncodec
8
9import (
10 "encoding/json"
11 "net/url"
12 "reflect"
13 "time"
14
15 "github.com/mongodb/mongo-go-driver/bson/primitive"
16 "github.com/mongodb/mongo-go-driver/x/bsonx/bsoncore"
17)
18
19var ptBool = reflect.TypeOf((*bool)(nil))
20var ptInt8 = reflect.TypeOf((*int8)(nil))
21var ptInt16 = reflect.TypeOf((*int16)(nil))
22var ptInt32 = reflect.TypeOf((*int32)(nil))
23var ptInt64 = reflect.TypeOf((*int64)(nil))
24var ptInt = reflect.TypeOf((*int)(nil))
25var ptUint8 = reflect.TypeOf((*uint8)(nil))
26var ptUint16 = reflect.TypeOf((*uint16)(nil))
27var ptUint32 = reflect.TypeOf((*uint32)(nil))
28var ptUint64 = reflect.TypeOf((*uint64)(nil))
29var ptUint = reflect.TypeOf((*uint)(nil))
30var ptFloat32 = reflect.TypeOf((*float32)(nil))
31var ptFloat64 = reflect.TypeOf((*float64)(nil))
32var ptString = reflect.TypeOf((*string)(nil))
33
34var tBool = reflect.TypeOf(false)
35var tFloat32 = reflect.TypeOf(float32(0))
36var tFloat64 = reflect.TypeOf(float64(0))
37var tInt = reflect.TypeOf(int(0))
38var tInt8 = reflect.TypeOf(int8(0))
39var tInt16 = reflect.TypeOf(int16(0))
40var tInt32 = reflect.TypeOf(int32(0))
41var tInt64 = reflect.TypeOf(int64(0))
42var tString = reflect.TypeOf("")
43var tTime = reflect.TypeOf(time.Time{})
44var tUint = reflect.TypeOf(uint(0))
45var tUint8 = reflect.TypeOf(uint8(0))
46var tUint16 = reflect.TypeOf(uint16(0))
47var tUint32 = reflect.TypeOf(uint32(0))
48var tUint64 = reflect.TypeOf(uint64(0))
49
50var tEmpty = reflect.TypeOf((*interface{})(nil)).Elem()
51var tByteSlice = reflect.TypeOf([]byte(nil))
52var tByte = reflect.TypeOf(byte(0x00))
53var tURL = reflect.TypeOf(url.URL{})
54var tJSONNumber = reflect.TypeOf(json.Number(""))
55
56var tValueMarshaler = reflect.TypeOf((*ValueMarshaler)(nil)).Elem()
57var tValueUnmarshaler = reflect.TypeOf((*ValueUnmarshaler)(nil)).Elem()
58var tMarshaler = reflect.TypeOf((*Marshaler)(nil)).Elem()
59var tUnmarshaler = reflect.TypeOf((*Unmarshaler)(nil)).Elem()
60var tProxy = reflect.TypeOf((*Proxy)(nil)).Elem()
61
62var tBinary = reflect.TypeOf(primitive.Binary{})
63var tUndefined = reflect.TypeOf(primitive.Undefined{})
64var tOID = reflect.TypeOf(primitive.ObjectID{})
65var tDateTime = reflect.TypeOf(primitive.DateTime(0))
66var tNull = reflect.TypeOf(primitive.Null{})
67var tRegex = reflect.TypeOf(primitive.Regex{})
68var tCodeWithScope = reflect.TypeOf(primitive.CodeWithScope{})
69var tDBPointer = reflect.TypeOf(primitive.DBPointer{})
70var tJavaScript = reflect.TypeOf(primitive.JavaScript(""))
71var tSymbol = reflect.TypeOf(primitive.Symbol(""))
72var tTimestamp = reflect.TypeOf(primitive.Timestamp{})
73var tDecimal = reflect.TypeOf(primitive.Decimal128{})
74var tMinKey = reflect.TypeOf(primitive.MinKey{})
75var tMaxKey = reflect.TypeOf(primitive.MaxKey{})
76var tD = reflect.TypeOf(primitive.D{})
77var tA = reflect.TypeOf(primitive.A{})
78var tE = reflect.TypeOf(primitive.E{})
79
80var tCoreDocument = reflect.TypeOf(bsoncore.Document{})