import { ParseResult, Schema } from 'effect';
class AutocompleteThingRaw extends Schema.Class<AutocompleteThingRaw>('AutocompleteThing')({
some_thing: Schema.Number,
}) {}
class AutocompleteThingCamelCase extends Schema.Class<AutocompleteThingCamelCase>('AutocompleteThingCamelCase')({
someThing: Schema.Number,
}) {}
const AutocompleteThing = Schema.transform(AutocompleteThingRaw, AutocompleteThingCamelCase, {
decode: (raw) => ({
someThing: raw.some_thing,
}),
encode: (camel) => ({
some_thing: camel.someThing,
}),
strict: true,
});
class AutocompleteSuggestionsRaw extends Schema.Class<AutocompleteSuggestionsRaw>('AutocompleteSuggestionsRaw')({
Autocomplete: Schema.Array(AutocompleteThingRaw),
}) {}
class AutocompleteSuggestionsCamelCase extends Schema.Class<AutocompleteSuggestionsCamelCase>(
'AutocompleteSuggestionsCamelCase',
)({
autocomplete: Schema.Array(AutocompleteThingCamelCase),
}) {}
export const AutocompleteSuggestions = Schema.transform(AutocompleteSuggestionsRaw, AutocompleteSuggestionsCamelCase, {
decode: (raw) => ({
autocomplete: ParseResult.decodeSync(Schema.Array(AutocompleteThing))(raw.Autocomplete),
}),
encode: (camel) => ({
Autocomplete: ParseResult.encodeSync(Schema.Array(AutocompleteThing))(camel.autocomplete),
}),
strict: true,
});
import { ParseResult, Schema } from 'effect';
class AutocompleteThingRaw extends Schema.Class<AutocompleteThingRaw>('AutocompleteThing')({
some_thing: Schema.Number,
}) {}
class AutocompleteThingCamelCase extends Schema.Class<AutocompleteThingCamelCase>('AutocompleteThingCamelCase')({
someThing: Schema.Number,
}) {}
const AutocompleteThing = Schema.transform(AutocompleteThingRaw, AutocompleteThingCamelCase, {
decode: (raw) => ({
someThing: raw.some_thing,
}),
encode: (camel) => ({
some_thing: camel.someThing,
}),
strict: true,
});
class AutocompleteSuggestionsRaw extends Schema.Class<AutocompleteSuggestionsRaw>('AutocompleteSuggestionsRaw')({
Autocomplete: Schema.Array(AutocompleteThingRaw),
}) {}
class AutocompleteSuggestionsCamelCase extends Schema.Class<AutocompleteSuggestionsCamelCase>(
'AutocompleteSuggestionsCamelCase',
)({
autocomplete: Schema.Array(AutocompleteThingCamelCase),
}) {}
export const AutocompleteSuggestions = Schema.transform(AutocompleteSuggestionsRaw, AutocompleteSuggestionsCamelCase, {
decode: (raw) => ({
autocomplete: ParseResult.decodeSync(Schema.Array(AutocompleteThing))(raw.Autocomplete),
}),
encode: (camel) => ({
Autocomplete: ParseResult.encodeSync(Schema.Array(AutocompleteThing))(camel.autocomplete),
}),
strict: true,
});