1// 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 "go.mongodb.org/mongo-driver/bson/primitive" 16 "go.mongodb.org/mongo-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 tM = reflect.TypeOf(primitive.M{}) 78var tA = reflect.TypeOf(primitive.A{}) 79var tE = reflect.TypeOf(primitive.E{}) 80 81var tCoreDocument = reflect.TypeOf(bsoncore.Document{}) 82var tCoreArray = reflect.TypeOf(bsoncore.Array{}) 83