Comments (2)
Note that since this isn't a content type, but a way to encode and decode any schema, including a nested one, this'll likely justify creating a type looking like this in the runtime library:
struct Base64EncodedData: Sendable, Codable, Hashable {
var data: Foundation.Data // or [UInt8] or ArraySlice<UInt8>
init(data: Foundation.Data) {
self.data = data
}
init(from decoder: Decoder) throws {
let container = try decoder.singleValueContainer()
let base64EncodedString = try container.decode(String.self)
guard let data = Data(base64Encoded: base64EncodedString) else {
throw RuntimeError.invalidBase64String(base64EncodedString)
}
self.init(data: data)
}
func encode(to encoder: Encoder) throws {
var container = encoder.singleValueContainer()
let base64String = data.base64EncodedString()
try container.encode(base64String)
}
}
And then for e.g. the following JSON Schema snippet
MyObj:
type: object
properties:
stuff:
type: string
format: byte
required: [stuff]
generate a struct like:
struct MyObj: Sendable, Codable, Hashable {
var stuff: OpenAPIRuntime.Base64EncodedData
// ...
}
from swift-openapi-generator.
Shipped in https://github.com/apple/swift-openapi-generator/releases/tag/0.3.1.
from swift-openapi-generator.
Related Issues (20)
- Support `$dynamicAnchor` and `$dynamicRef` HOT 19
- Generated enums should conform to `CaseIterable` HOT 7
- Is it possible to use component refs in paths that accept multiple content types? HOT 8
- Multipart content not properly generated? HOT 11
- A way to group features or services to allow middleware to be applied to groups HOT 4
- Manual invocation of the generator and SPM warnings HOT 5
- Null property type with quotes not generated HOT 14
- Support for XML request body and response body HOT 7
- Support schemas.type: string, format: uri generates URL property not String HOT 3
- How to support OAuth2 Password flows? HOT 3
- allOf plus properties HOT 2
- OpenAPI shared components HOT 4
- bug/regression: latest yams results in incomplete generation of types HOT 10
- Logging and HTTPBody HOT 3
- Merging oneOf with many compatible enums of a single value HOT 10
- anyOf encoder does not include discriminator's `parameterName` leading to incorrect encoding HOT 2
- Is there a workaround to deal with slow compilation times for a very large openapi file? HOT 3
- Empty arrays are omitted from query params HOT 5
- Support for `multipart/mixed`? HOT 1
- When a delete path do not have responses content an error generated HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swift-openapi-generator.