@@ -11,7 +11,6 @@ import kotlin.time.Instant
1111/* ============= ------------------ ============= */
1212
1313@Suppress(" ClassName" )
14- @BsonMarker2
1514@ExperimentalMongodbApi
1615data class Expr <out T : _Element >(val element : BsonElement ) {
1716 interface _Element
@@ -37,85 +36,85 @@ infix fun String.by(expr: Expr<*>) =
3736
3837/* ============= ------------------ ============= */
3938
40- @BsonMarker2
39+ @BsonMarker4
4140fun <T : _Element > `$` (path : String ) = Expr <T >(" $${path} " .bson)
4241
43- @BsonMarker2
42+ @BsonMarker4
4443fun <T : _Element > `$$` (path : String ) = Expr <T >(" $$${path} " .bson)
4544
4645@Suppress(" UNCHECKED_CAST" )
47- @BsonMarker2
46+ @BsonMarker4
4847fun <T : _Element > Expr <* >.unsafeCast () = this as Expr <T >
4948
5049/* ============= ------------------ ============= */
5150
52- @BsonMarker2
51+ @BsonMarker4
5352fun arrayExpr () = Expr <_Array >(BsonArray ())
54- @BsonMarker2
53+ @BsonMarker4
5554fun arrayExpr (block : BsonArrayBlock ) = Expr <_Array >(BsonArray (block))
56- @BsonMarker2
55+ @BsonMarker4
5756fun arrayExpr (vararg items : BsonElement ) = Expr <_Array >(BsonArray (* items))
5857
59- @BsonMarker2
58+ @BsonMarker4
6059fun documentExpr () = Expr <_Document >(BsonDocument ())
61- @BsonMarker2
60+ @BsonMarker4
6261fun documentExpr (block : BsonDocumentBlock ) = Expr <_Document >(BsonDocument (block))
63- @BsonMarker2
62+ @BsonMarker4
6463fun documentExpr (vararg pairs : Pair <String , BsonElement >) = Expr <_Document >(BsonDocument (* pairs))
6564
66- @BsonMarker2
65+ @BsonMarker4
6766val BsonArray ?.exprUnsafe get() = Expr <_Array >(this ? : null .bson)
68- @BsonMarker2
67+ @BsonMarker4
6968val BsonDocument ?.exprUnsafe get() = Expr <_Document >(this ? : null .bson)
7069
7170//
7271
73- @BsonMarker2
72+ @BsonMarker4
7473val Nothing? .expr get() = Expr <_Element >(null .bson)
75- @BsonMarker2
74+ @BsonMarker4
7675val BsonElement ?.expr get() = Expr <_Element >(this ? : null .bson)
77- @BsonMarker2
76+ @BsonMarker4
7877val BsonDouble ?.expr get() = Expr <_Number >(this ? : null .bson)
79- @BsonMarker2
78+ @BsonMarker4
8079val BsonInt32 ?.expr get() = Expr <_Number >(this ? : null .bson)
81- @BsonMarker2
80+ @BsonMarker4
8281val BsonInt64 ?.expr get() = Expr <_Number >(this ? : null .bson)
83- @BsonMarker2
82+ @BsonMarker4
8483val BsonDecimal128 ?.expr get() = Expr <_Number >(this ? : null .bson)
85- @BsonMarker2
84+ @BsonMarker4
8685val BsonBoolean ?.expr get() = Expr <_Boolean >(this ? : null .bson)
87- @BsonMarker2
86+ @BsonMarker4
8887val BsonDateTime ?.expr get() = Expr <_DateTime >(this ? : null .bson)
89- @BsonMarker2
88+ @BsonMarker4
9089val BsonObjectId ?.expr get() = Expr <_ObjectId >(this ? : null .bson)
91- @BsonMarker2
90+ @BsonMarker4
9291val BsonString ?.expr get() = Expr <_String >(this ? : null .bson)
93- @BsonMarker2
92+ @BsonMarker4
9493val BsonRegExp ?.expr get() = Expr <_RegExp >(this ? : null .bson)
95- @BsonMarker2
94+ @BsonMarker4
9695val BsonBinary ?.expr get() = Expr <_Binary >(this ? : null .bson)
97- @BsonMarker2
96+ @BsonMarker4
9897val BsonTimestamp ?.expr get() = Expr <_Timestamp >(this ? : null .bson)
9998
10099//
101100
102- @BsonMarker2
101+ @BsonMarker4
103102val Double? .expr get() = Expr <_Number >(bson)
104- @BsonMarker2
103+ @BsonMarker4
105104val Int? .expr get() = Expr <_Number >(bson)
106- @BsonMarker2
105+ @BsonMarker4
107106val Long? .expr get() = Expr <_Number >(bson)
108- @BsonMarker2
107+ @BsonMarker4
109108val Decimal128 ?.expr get() = Expr <_Number >(bson)
110- @BsonMarker2
109+ @BsonMarker4
111110val Boolean? .expr get() = Expr <_Boolean >(bson)
112- @BsonMarker2
111+ @BsonMarker4
113112val Instant ?.expr get() = Expr <_DateTime >(bson)
114- @BsonMarker2
113+ @BsonMarker4
115114val ObjectId ?.expr get() = Expr <_ObjectId >(bson)
116- @BsonMarker2
115+ @BsonMarker4
117116val AnyID ?.expr get() = Expr <_Element >(bson)
118- @BsonMarker2
117+ @BsonMarker4
119118val String? .expr get() = Expr <_String >(bson)
120119
121120/* ============= ------------------ ============= */
0 commit comments