Skip to content

Commit ef4d884

Browse files
stainless-botStainless Bot
authored andcommitted
fix(client): ensure constructed objects are immutable
chore: unknown commit message
1 parent 505c349 commit ef4d884

File tree

93 files changed

+332
-350
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+332
-350
lines changed

openai-java-core/src/main/kotlin/com/openai/core/ClientOptions.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@ private constructor(
176176
apiKey!!,
177177
organization,
178178
project,
179-
headers.toUnmodifiable(),
180-
queryParams.toUnmodifiable(),
179+
headers.toImmutable(),
180+
queryParams.toImmutable(),
181181
responseValidation,
182182
maxRetries,
183183
)

openai-java-core/src/main/kotlin/com/openai/core/Utils.kt

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package com.openai.core
44

55
import com.google.common.collect.ImmutableListMultimap
66
import com.google.common.collect.ListMultimap
7-
import com.google.common.collect.Multimaps
87
import com.openai.errors.OpenAIInvalidDataException
98
import java.util.Collections
109

@@ -13,30 +12,15 @@ internal fun <T : Any> T?.getOrThrow(name: String): T =
1312
this ?: throw OpenAIInvalidDataException("`${name}` is not present")
1413

1514
@JvmSynthetic
16-
internal fun <T> List<T>.toUnmodifiable(): List<T> {
17-
if (isEmpty()) {
18-
return Collections.emptyList()
19-
}
20-
21-
return Collections.unmodifiableList(this)
22-
}
15+
internal fun <T> List<T>.toImmutable(): List<T> =
16+
if (isEmpty()) Collections.emptyList() else Collections.unmodifiableList(toList())
2317

2418
@JvmSynthetic
25-
internal fun <K, V> Map<K, V>.toUnmodifiable(): Map<K, V> {
26-
if (isEmpty()) {
27-
return Collections.emptyMap()
28-
}
29-
30-
return Collections.unmodifiableMap(this)
31-
}
19+
internal fun <K, V> Map<K, V>.toImmutable(): Map<K, V> =
20+
if (isEmpty()) Collections.emptyMap() else Collections.unmodifiableMap(toMap())
3221

3322
@JvmSynthetic
34-
internal fun <K, V> ListMultimap<K, V>.toUnmodifiable(): ListMultimap<K, V> {
35-
if (isEmpty()) {
36-
return ImmutableListMultimap.of()
37-
}
38-
39-
return Multimaps.unmodifiableListMultimap(this)
40-
}
23+
internal fun <K, V> ListMultimap<K, V>.toImmutable(): ListMultimap<K, V> =
24+
ImmutableListMultimap.copyOf(this)
4125

4226
internal interface Enum

openai-java-core/src/main/kotlin/com/openai/core/Values.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ private constructor(
389389
override fun toString() = values.toString()
390390

391391
companion object {
392-
@JsonCreator @JvmStatic fun of(values: List<JsonValue>) = JsonArray(values.toUnmodifiable())
392+
@JsonCreator @JvmStatic fun of(values: List<JsonValue>) = JsonArray(values.toImmutable())
393393
}
394394
}
395395

@@ -415,7 +415,7 @@ private constructor(
415415
companion object {
416416
@JsonCreator
417417
@JvmStatic
418-
fun of(values: Map<String, JsonValue>) = JsonObject(values.toUnmodifiable())
418+
fun of(values: Map<String, JsonValue>) = JsonObject(values.toImmutable())
419419
}
420420
}
421421

openai-java-core/src/main/kotlin/com/openai/core/http/HttpRequest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import com.google.common.collect.ArrayListMultimap
44
import com.google.common.collect.ListMultimap
55
import com.google.common.collect.Multimap
66
import com.google.common.collect.MultimapBuilder
7-
import com.openai.core.toUnmodifiable
7+
import com.openai.core.toImmutable
88

99
class HttpRequest
1010
private constructor(
@@ -83,8 +83,8 @@ private constructor(
8383
HttpRequest(
8484
checkNotNull(method) { "`method` is required but was not set" },
8585
url,
86-
pathSegments.toUnmodifiable(),
87-
queryParams.toUnmodifiable(),
86+
pathSegments.toImmutable(),
87+
queryParams.toImmutable(),
8888
headers,
8989
body,
9090
)

openai-java-core/src/main/kotlin/com/openai/errors/OpenAIError.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonAnySetter
77
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
88
import com.openai.core.JsonValue
99
import com.openai.core.NoAutoDetect
10-
import com.openai.core.toUnmodifiable
10+
import com.openai.core.toImmutable
1111
import java.util.Objects
1212

1313
@JsonDeserialize(builder = OpenAIError.Builder::class)
@@ -60,6 +60,6 @@ constructor(
6060
this.additionalProperties.putAll(additionalProperties)
6161
}
6262

63-
fun build(): OpenAIError = OpenAIError(additionalProperties.toUnmodifiable())
63+
fun build(): OpenAIError = OpenAIError(additionalProperties.toImmutable())
6464
}
6565
}

openai-java-core/src/main/kotlin/com/openai/models/Batch.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import com.openai.core.JsonField
1313
import com.openai.core.JsonMissing
1414
import com.openai.core.JsonValue
1515
import com.openai.core.NoAutoDetect
16-
import com.openai.core.toUnmodifiable
16+
import com.openai.core.toImmutable
1717
import com.openai.errors.OpenAIInvalidDataException
1818
import java.util.Objects
1919
import java.util.Optional
@@ -454,7 +454,7 @@ private constructor(
454454
cancelledAt,
455455
requestCounts,
456456
metadata,
457-
additionalProperties.toUnmodifiable(),
457+
additionalProperties.toImmutable(),
458458
)
459459
}
460460

@@ -686,8 +686,8 @@ private constructor(
686686
fun build(): Errors =
687687
Errors(
688688
object_,
689-
data.map { it.toUnmodifiable() },
690-
additionalProperties.toUnmodifiable(),
689+
data.map { it.toImmutable() },
690+
additionalProperties.toImmutable(),
691691
)
692692
}
693693

openai-java-core/src/main/kotlin/com/openai/models/BatchCancelParams.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ package com.openai.models
44

55
import com.openai.core.JsonValue
66
import com.openai.core.NoAutoDetect
7-
import com.openai.core.toUnmodifiable
7+
import com.openai.core.toImmutable
88
import com.openai.models.*
99
import java.util.Objects
1010
import java.util.Optional
@@ -138,9 +138,9 @@ constructor(
138138
fun build(): BatchCancelParams =
139139
BatchCancelParams(
140140
checkNotNull(batchId) { "`batchId` is required but was not set" },
141-
additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(),
142-
additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(),
143-
additionalBodyProperties.toUnmodifiable(),
141+
additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(),
142+
additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(),
143+
additionalBodyProperties.toImmutable(),
144144
)
145145
}
146146
}

openai-java-core/src/main/kotlin/com/openai/models/BatchCreateParams.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import com.openai.core.ExcludeMissing
1212
import com.openai.core.JsonField
1313
import com.openai.core.JsonValue
1414
import com.openai.core.NoAutoDetect
15-
import com.openai.core.toUnmodifiable
15+
import com.openai.core.toImmutable
1616
import com.openai.errors.OpenAIInvalidDataException
1717
import com.openai.models.*
1818
import java.util.Objects
@@ -180,7 +180,7 @@ constructor(
180180
checkNotNull(endpoint) { "`endpoint` is required but was not set" },
181181
checkNotNull(inputFileId) { "`inputFileId` is required but was not set" },
182182
metadata,
183-
additionalProperties.toUnmodifiable(),
183+
additionalProperties.toImmutable(),
184184
)
185185
}
186186

@@ -347,9 +347,9 @@ constructor(
347347
checkNotNull(endpoint) { "`endpoint` is required but was not set" },
348348
checkNotNull(inputFileId) { "`inputFileId` is required but was not set" },
349349
metadata,
350-
additionalQueryParams.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(),
351-
additionalHeaders.mapValues { it.value.toUnmodifiable() }.toUnmodifiable(),
352-
additionalBodyProperties.toUnmodifiable(),
350+
additionalQueryParams.mapValues { it.value.toImmutable() }.toImmutable(),
351+
additionalHeaders.mapValues { it.value.toImmutable() }.toImmutable(),
352+
additionalBodyProperties.toImmutable(),
353353
)
354354
}
355355

@@ -509,7 +509,7 @@ constructor(
509509
this.additionalProperties.putAll(additionalProperties)
510510
}
511511

512-
fun build(): Metadata = Metadata(additionalProperties.toUnmodifiable())
512+
fun build(): Metadata = Metadata(additionalProperties.toImmutable())
513513
}
514514

515515
override fun equals(other: Any?): Boolean {

openai-java-core/src/main/kotlin/com/openai/models/BatchError.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.openai.core.JsonField
1111
import com.openai.core.JsonMissing
1212
import com.openai.core.JsonValue
1313
import com.openai.core.NoAutoDetect
14-
import com.openai.core.toUnmodifiable
14+
import com.openai.core.toImmutable
1515
import java.util.Objects
1616
import java.util.Optional
1717

@@ -142,7 +142,7 @@ private constructor(
142142
message,
143143
param,
144144
line,
145-
additionalProperties.toUnmodifiable(),
145+
additionalProperties.toImmutable(),
146146
)
147147
}
148148

openai-java-core/src/main/kotlin/com/openai/models/BatchListPage.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import com.openai.core.JsonField
1111
import com.openai.core.JsonMissing
1212
import com.openai.core.JsonValue
1313
import com.openai.core.NoAutoDetect
14-
import com.openai.core.toUnmodifiable
14+
import com.openai.core.toImmutable
1515
import com.openai.services.blocking.BatchService
1616
import java.util.Objects
1717
import java.util.Optional
@@ -142,7 +142,7 @@ private constructor(
142142
this.additionalProperties.put(key, value)
143143
}
144144

145-
fun build() = Response(data, additionalProperties.toUnmodifiable())
145+
fun build() = Response(data, additionalProperties.toImmutable())
146146
}
147147
}
148148

0 commit comments

Comments
 (0)