Skip to content

Commit 27b4a0b

Browse files
author
Oleg
committed
Enable explicit api for kotlin compilation
1 parent 50d2d8e commit 27b4a0b

File tree

8 files changed

+21
-29
lines changed

8 files changed

+21
-29
lines changed

api/json-schema-validator.api

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,3 @@ public final class smirnov/oleg/json/schema/ValidationError {
6464
public fun toString ()Ljava/lang/String;
6565
}
6666

67-
public final class smirnov/oleg/json/schema/internal/KeyWords : java/lang/Enum {
68-
public static final field ANCHOR Lsmirnov/oleg/json/schema/internal/KeyWords;
69-
public static final field DEFINITIONS Lsmirnov/oleg/json/schema/internal/KeyWords;
70-
public static final field ID Lsmirnov/oleg/json/schema/internal/KeyWords;
71-
public static final field REF Lsmirnov/oleg/json/schema/internal/KeyWords;
72-
public static fun valueOf (Ljava/lang/String;)Lsmirnov/oleg/json/schema/internal/KeyWords;
73-
public static fun values ()[Lsmirnov/oleg/json/schema/internal/KeyWords;
74-
}
75-

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ repositories {
1616
}
1717

1818
kotlin {
19+
explicitApi()
1920
jvm {
2021
jvmToolchain(11)
2122
withJava()

src/commonMain/kotlin/smirnov/oleg/json/pointer/JsonPointer.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package smirnov.oleg.json.pointer
33
import kotlin.jvm.JvmField
44
import kotlin.jvm.JvmStatic
55

6-
fun JsonPointer(path: String): JsonPointer = JsonPointer.compile(path)
6+
public fun JsonPointer(path: String): JsonPointer = JsonPointer.compile(path)
77

8-
sealed class JsonPointer(
8+
public sealed class JsonPointer(
99
private val fullPath: String,
1010
private val pathOffset: Int,
1111
internal val next: JsonPointer? = null,
@@ -35,17 +35,17 @@ sealed class JsonPointer(
3535
return result
3636
}
3737

38-
companion object {
38+
public companion object {
3939
internal const val SEPARATOR: Char = '/'
4040
internal const val QUOTATION: Char = '~'
4141

4242
@JvmField
43-
val ROOT: JsonPointer = EmptyPointer
43+
public val ROOT: JsonPointer = EmptyPointer
4444

4545
private const val DEFAULT_BUFFER_CAPACITY = 32
4646

4747
@JvmStatic
48-
fun compile(expr: String): JsonPointer {
48+
public fun compile(expr: String): JsonPointer {
4949
return if (expr.isEmpty()) {
5050
EmptyPointer
5151
} else {

src/commonMain/kotlin/smirnov/oleg/json/pointer/extensions.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import kotlinx.serialization.json.JsonObject
99
import kotlinx.serialization.json.JsonPrimitive
1010
import kotlin.jvm.JvmName
1111

12-
operator fun JsonPointer.get(index: Int): JsonPointer = JsonPointer(
12+
public operator fun JsonPointer.get(index: Int): JsonPointer = JsonPointer(
1313
buildString {
1414
val pointer = this@get.toString()
1515
append(pointer)
@@ -20,7 +20,7 @@ operator fun JsonPointer.get(index: Int): JsonPointer = JsonPointer(
2020
},
2121
)
2222

23-
operator fun JsonPointer.div(property: String): JsonPointer = JsonPointer(
23+
public operator fun JsonPointer.div(property: String): JsonPointer = JsonPointer(
2424
buildString {
2525
val pointer = this@div.toString()
2626
append(pointer)
@@ -31,7 +31,7 @@ operator fun JsonPointer.div(property: String): JsonPointer = JsonPointer(
3131
},
3232
)
3333

34-
operator fun JsonPointer.plus(otherPointer: JsonPointer): JsonPointer {
34+
public operator fun JsonPointer.plus(otherPointer: JsonPointer): JsonPointer {
3535
if (this is EmptyPointer) {
3636
return otherPointer
3737
}
@@ -51,7 +51,7 @@ operator fun JsonPointer.plus(otherPointer: JsonPointer): JsonPointer {
5151
)
5252
}
5353

54-
fun JsonPointer.relative(other: JsonPointer): JsonPointer {
54+
public fun JsonPointer.relative(other: JsonPointer): JsonPointer {
5555
if (this is EmptyPointer) {
5656
return other
5757
}
@@ -61,7 +61,7 @@ fun JsonPointer.relative(other: JsonPointer): JsonPointer {
6161
return JsonPointer(otherValue.substringAfter(currentValue))
6262
}
6363

64-
tailrec fun JsonElement.at(pointer: JsonPointer): JsonElement? {
64+
public tailrec fun JsonElement.at(pointer: JsonPointer): JsonElement? {
6565
return when (pointer) {
6666
is EmptyPointer -> this
6767
is SegmentPointer -> {

src/commonMain/kotlin/smirnov/oleg/json/schema/ErrorCollector.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import kotlin.jvm.JvmField
55
/**
66
* Listener for validations error
77
*/
8-
fun interface ErrorCollector {
8+
public fun interface ErrorCollector {
99
/**
1010
* Method is invoked on error during validation
1111
* @param error validation error
1212
*/
13-
fun onError(error: ValidationError)
13+
public fun onError(error: ValidationError)
1414

15-
companion object {
15+
public companion object {
1616
@JvmField
17-
val EMPTY: ErrorCollector = ErrorCollector { }
17+
public val EMPTY: ErrorCollector = ErrorCollector { }
1818
}
1919
}

src/commonMain/kotlin/smirnov/oleg/json/schema/JsonSchema.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@ import smirnov.oleg.json.schema.internal.RefId
99
import smirnov.oleg.json.schema.internal.SchemaLoader
1010
import kotlin.jvm.JvmStatic
1111

12-
class JsonSchema internal constructor(
12+
public class JsonSchema internal constructor(
1313
private val assertion: JsonSchemaAssertion,
1414
private val references: Map<RefId, JsonSchemaAssertion>,
1515
) {
16-
fun validate(value: JsonElement, errorCollector: ErrorCollector): Boolean {
16+
public fun validate(value: JsonElement, errorCollector: ErrorCollector): Boolean {
1717
val context = DefaultAssertionContext(JsonPointer.ROOT, references)
1818
return assertion.validate(value, context, errorCollector)
1919
}
2020

21-
companion object {
21+
public companion object {
2222
@JvmStatic
23-
fun fromDescription(schema: String): JsonSchema {
23+
public fun fromDescription(schema: String): JsonSchema {
2424
val schemaElement: JsonElement = Json.parseToJsonElement(schema)
2525
return SchemaLoader().load(schemaElement)
2626
}

src/commonMain/kotlin/smirnov/oleg/json/schema/ValidationError.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import smirnov.oleg.json.pointer.JsonPointer
55
/**
66
* [ValidationError] contains information about the assertion that failed during the validation
77
*/
8-
data class ValidationError(
8+
public data class ValidationError(
99
/**
1010
* Path to the assertion definition in schema
1111
*/

src/commonMain/kotlin/smirnov/oleg/json/schema/internal/KeyWords.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ package smirnov.oleg.json.schema.internal
44
* Schema keywords that can be used during schema parsing.
55
* Depending on the schema version the corresponding JSON property will be extracted from Schema definition.
66
*/
7-
enum class KeyWords {
7+
internal enum class KeyWords {
88
REF, ID, ANCHOR, DEFINITIONS
99
}

0 commit comments

Comments
 (0)