Skip to content

Commit fa5d846

Browse files
committed
feat: expose Json5QuoteStrategy api
1 parent b0ee308 commit fa5d846

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

json5/src/commonMain/kotlin/li/songe/json5/Json5QuoteStrategy.kt

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,28 @@
11
package li.songe.json5
22

33

4-
@Suppress("unused")
5-
sealed class Json5QuoteStrategy {
4+
public fun interface Json5QuoteStrategy {
65
/**
76
* - true -> single quote
87
* - false -> double quote
98
*/
10-
internal abstract fun quote(value: String): Boolean
9+
public fun quote(value: String): Boolean
1110

12-
data object Single : Json5QuoteStrategy() {
13-
override fun quote(value: String) = true
11+
public data object Single : Json5QuoteStrategy {
12+
override fun quote(value: String): Boolean = true
1413
}
1514

16-
data object Double : Json5QuoteStrategy() {
17-
override fun quote(value: String) = false
15+
public data object Double : Json5QuoteStrategy {
16+
override fun quote(value: String): Boolean = false
1817
}
1918

20-
data object PreferSingle : Json5QuoteStrategy() {
19+
public data object PreferSingle : Json5QuoteStrategy {
2120
override fun quote(value: String): Boolean {
2221
return value.contains('"') || !value.contains('\'')
2322
}
2423
}
2524

26-
data object PreferDouble : Json5QuoteStrategy() {
25+
public data object PreferDouble : Json5QuoteStrategy {
2726
override fun quote(value: String): Boolean {
2827
return value.contains('"') && !value.contains('\'')
2928
}

0 commit comments

Comments
 (0)