Skip to content

Commit 52ea833

Browse files
committed
chore: Used different dsl marker for expression composition
1 parent 968f79f commit 52ea833

20 files changed

Lines changed: 282 additions & 274 deletions

module-bsonkt/src/commonMain/kotlin/Annotations.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ package org.cufy.bson
3434
AnnotationTarget.PROPERTY_SETTER,
3535
AnnotationTarget.TYPEALIAS,
3636
)
37-
annotation class BsonMarker2
37+
annotation class BsonMarker2 // style 4
3838

3939
/**
4040
* A marker for bson keywords.
@@ -43,7 +43,16 @@ annotation class BsonMarker2
4343
* @since 2.0.0
4444
*/
4545
@DslMarker
46-
annotation class BsonMarker1
46+
annotation class BsonMarker1 // style 1
47+
48+
/**
49+
* INTERNAL: A marker for bson expression composition functions.
50+
*
51+
* @author LSafer
52+
* @since 2.0.0
53+
*/
54+
@DslMarker
55+
annotation class BsonMarker4 // style 2
4756

4857
/**
4958
* Marks the annotated component as experimental.

module-mongokt/src/commonMain/kotlin/expr/Declarations.kt

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import kotlin.time.Instant
1111
/* ============= ------------------ ============= */
1212

1313
@Suppress("ClassName")
14-
@BsonMarker2
1514
@ExperimentalMongodbApi
1615
data 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
4140
fun <T : _Element> `$`(path: String) = Expr<T>("$${path}".bson)
4241

43-
@BsonMarker2
42+
@BsonMarker4
4443
fun <T : _Element> `$$`(path: String) = Expr<T>("$$${path}".bson)
4544

4645
@Suppress("UNCHECKED_CAST")
47-
@BsonMarker2
46+
@BsonMarker4
4847
fun <T : _Element> Expr<*>.unsafeCast() = this as Expr<T>
4948

5049
/* ============= ------------------ ============= */
5150

52-
@BsonMarker2
51+
@BsonMarker4
5352
fun arrayExpr() = Expr<_Array>(BsonArray())
54-
@BsonMarker2
53+
@BsonMarker4
5554
fun arrayExpr(block: BsonArrayBlock) = Expr<_Array>(BsonArray(block))
56-
@BsonMarker2
55+
@BsonMarker4
5756
fun arrayExpr(vararg items: BsonElement) = Expr<_Array>(BsonArray(*items))
5857

59-
@BsonMarker2
58+
@BsonMarker4
6059
fun documentExpr() = Expr<_Document>(BsonDocument())
61-
@BsonMarker2
60+
@BsonMarker4
6261
fun documentExpr(block: BsonDocumentBlock) = Expr<_Document>(BsonDocument(block))
63-
@BsonMarker2
62+
@BsonMarker4
6463
fun documentExpr(vararg pairs: Pair<String, BsonElement>) = Expr<_Document>(BsonDocument(*pairs))
6564

66-
@BsonMarker2
65+
@BsonMarker4
6766
val BsonArray?.exprUnsafe get() = Expr<_Array>(this ?: null.bson)
68-
@BsonMarker2
67+
@BsonMarker4
6968
val BsonDocument?.exprUnsafe get() = Expr<_Document>(this ?: null.bson)
7069

7170
//
7271

73-
@BsonMarker2
72+
@BsonMarker4
7473
val Nothing?.expr get() = Expr<_Element>(null.bson)
75-
@BsonMarker2
74+
@BsonMarker4
7675
val BsonElement?.expr get() = Expr<_Element>(this ?: null.bson)
77-
@BsonMarker2
76+
@BsonMarker4
7877
val BsonDouble?.expr get() = Expr<_Number>(this ?: null.bson)
79-
@BsonMarker2
78+
@BsonMarker4
8079
val BsonInt32?.expr get() = Expr<_Number>(this ?: null.bson)
81-
@BsonMarker2
80+
@BsonMarker4
8281
val BsonInt64?.expr get() = Expr<_Number>(this ?: null.bson)
83-
@BsonMarker2
82+
@BsonMarker4
8483
val BsonDecimal128?.expr get() = Expr<_Number>(this ?: null.bson)
85-
@BsonMarker2
84+
@BsonMarker4
8685
val BsonBoolean?.expr get() = Expr<_Boolean>(this ?: null.bson)
87-
@BsonMarker2
86+
@BsonMarker4
8887
val BsonDateTime?.expr get() = Expr<_DateTime>(this ?: null.bson)
89-
@BsonMarker2
88+
@BsonMarker4
9089
val BsonObjectId?.expr get() = Expr<_ObjectId>(this ?: null.bson)
91-
@BsonMarker2
90+
@BsonMarker4
9291
val BsonString?.expr get() = Expr<_String>(this ?: null.bson)
93-
@BsonMarker2
92+
@BsonMarker4
9493
val BsonRegExp?.expr get() = Expr<_RegExp>(this ?: null.bson)
95-
@BsonMarker2
94+
@BsonMarker4
9695
val BsonBinary?.expr get() = Expr<_Binary>(this ?: null.bson)
97-
@BsonMarker2
96+
@BsonMarker4
9897
val BsonTimestamp?.expr get() = Expr<_Timestamp>(this ?: null.bson)
9998

10099
//
101100

102-
@BsonMarker2
101+
@BsonMarker4
103102
val Double?.expr get() = Expr<_Number>(bson)
104-
@BsonMarker2
103+
@BsonMarker4
105104
val Int?.expr get() = Expr<_Number>(bson)
106-
@BsonMarker2
105+
@BsonMarker4
107106
val Long?.expr get() = Expr<_Number>(bson)
108-
@BsonMarker2
107+
@BsonMarker4
109108
val Decimal128?.expr get() = Expr<_Number>(bson)
110-
@BsonMarker2
109+
@BsonMarker4
111110
val Boolean?.expr get() = Expr<_Boolean>(bson)
112-
@BsonMarker2
111+
@BsonMarker4
113112
val Instant?.expr get() = Expr<_DateTime>(bson)
114-
@BsonMarker2
113+
@BsonMarker4
115114
val ObjectId?.expr get() = Expr<_ObjectId>(bson)
116-
@BsonMarker2
115+
@BsonMarker4
117116
val AnyID?.expr get() = Expr<_Element>(bson)
118-
@BsonMarker2
117+
@BsonMarker4
119118
val String?.expr get() = Expr<_String>(bson)
120119

121120
/* ============= ------------------ ============= */

0 commit comments

Comments
 (0)