Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm using this package in another package I'm working on and found myself needing to support
Decimal
.While I was poking around, I also happened to notice that
Foundation
is very sparsely used, and therefore was easy to conditionalize for environments where Foundation might not be available (in theory, I think this might build for microcontrollers now without the Foundation features, but I have admittedly not tested it).So this is obviously more than a small, itty bitty, incremental update, but has a few, only tangentially related features:
#if canImport(Foundation)
is true. Otherwise, everything else is all pure Swift (citation needed)Data
serialization and initializers, since they were right where I was working to conditionalizeFoundation
.Decimal
inits and the existing ones.CustomDebugStringConvertible
conformance, keeping it DRY with the existing Playground descriptions.I completely understand if you don't want some, or even all of these changes and I'm happy to tweak the PR to accommodate, but I'll just have to use my own fork for my own needs then :)