diff --git a/Package.swift b/Package.swift
index c805a5d47..061c09acd 100644
--- a/Package.swift
+++ b/Package.swift
@@ -12,7 +12,7 @@ let package = Package(
targets: [
.binaryTarget(
name: "SoulverCore",
- url: "https://github.com/soulverteam/SoulverCore/releases/download/1.3.0/SoulverCore.xcframework.zip",
- checksum: "ba50b37c78f84b359c94ba541ca0b7aa4d46381dd45181f1ee099b867c3e7464"),
+ url: "https://github.com/soulverteam/SoulverCore/releases/download/1.3.1/SoulverCore.xcframework.zip",
+ checksum: "4ee4b40a4e67218639fb54de030934d37eb1c76228459857ab4972870d33d078"),
]
)
diff --git a/SoulverCore.xcframework/Info.plist b/SoulverCore.xcframework/Info.plist
index 0b5ce9748..47e6ca75a 100644
--- a/SoulverCore.xcframework/Info.plist
+++ b/SoulverCore.xcframework/Info.plist
@@ -6,19 +6,20 @@
LibraryIdentifier
- ios-arm64
+ macos-arm64_x86_64
LibraryPath
SoulverCore.framework
SupportedArchitectures
arm64
+ x86_64
SupportedPlatform
- ios
+ macos
LibraryIdentifier
- macos-arm64_x86_64
+ ios-arm64_x86_64-simulator
LibraryPath
SoulverCore.framework
SupportedArchitectures
@@ -27,7 +28,9 @@
x86_64
SupportedPlatform
- macos
+ ios
+ SupportedPlatformVariant
+ simulator
LibraryIdentifier
@@ -46,18 +49,15 @@
LibraryIdentifier
- ios-arm64_x86_64-simulator
+ ios-arm64
LibraryPath
SoulverCore.framework
SupportedArchitectures
arm64
- x86_64
SupportedPlatform
ios
- SupportedPlatformVariant
- simulator
CFBundlePackageType
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist
index 9a0f65762..a548656f2 100644
Binary files a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist and b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist differ
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftdoc b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftdoc
index 81d9ba7fd..c39b7fdfd 100644
Binary files a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftdoc and b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface
index c2f429f5c..51b8e552c 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc
index 81d9ba7fd..c39b7fdfd 100644
Binary files a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc and b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
index c2f429f5c..51b8e552c 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore
index 959896380..566675550 100755
Binary files a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore and b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore differ
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources
index 758885da5..5d9db442b 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources
@@ -14,31 +14,31 @@
Info.plist
- 54e4u28jU35N+xgK3LvqN7wZPGo=
+ 41b5rfc/jhsQvPgXHRXhl3Bcy2o=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftdoc
- VPSfJVD4R4cvHdvRNNIt7A5qEoA=
+ MRX6Nxufw3samwkRMAGoBAqqvHw=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface
- r4Aa/2CO2rq1dJoKNz94S2sgy+g=
+ bpOx24VEBL5fsZd5cnXRU6lKugc=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftmodule
- LlJOXPIM6NhqBxKehDU+Cim748g=
+ 77wipZQ9k5CiOfIua61BFMlbR6Y=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
- VPSfJVD4R4cvHdvRNNIt7A5qEoA=
+ MRX6Nxufw3samwkRMAGoBAqqvHw=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
- r4Aa/2CO2rq1dJoKNz94S2sgy+g=
+ bpOx24VEBL5fsZd5cnXRU6lKugc=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
- LlJOXPIM6NhqBxKehDU+Cim748g=
+ 77wipZQ9k5CiOfIua61BFMlbR6Y=
Modules/module.modulemap
@@ -102,7 +102,7 @@
hash
- 1VAB8s59m7+R7LBGLS9JBjmBJyo=
+ sETvueMG9QgGaqsU0CaBAh6GmXE=
optional
@@ -138,7 +138,7 @@
hash
- /VTwVhMyzo8p4PleUN4RJfxPz4E=
+ yOmTSUY2tP5UbixhFVe/eQIaRlg=
optional
@@ -156,7 +156,7 @@
hash
- A+Y1Ee4kmj7t8GfZZ18lymDuLyI=
+ 5k7LfFNKqiBzL/j3pUqnG6FYX3Q=
optional
@@ -201,7 +201,7 @@
hash
- asCKaw2cNzHVjPyH+uH2fTOSxPU=
+ 2Jdelj5pyxr9nzdIh50TtSD8Gy8=
optional
@@ -264,7 +264,7 @@
hash
- NXsdP1rvI/1pUj9kiRTrzd703k4=
+ bq7+F06aS9XOqJksq3uEk7MFyPI=
optional
@@ -291,7 +291,7 @@
hash
- GBtNtxJyKh+ZioKbx0ZjhKJZ6wM=
+ kJ/JHS8kaErLsFpiFY0hmxLQAOk=
optional
@@ -318,7 +318,7 @@
hash
- PWlAkeICGnu9+uZpKJAG45/gAkU=
+ bGUPk7Zf8v/KQAsj3jy5jFcsTxI=
optional
@@ -327,7 +327,7 @@
hash
- UyFdtTR/YEUbs1AdfTRCKKJYhrQ=
+ 9AcznC3Gts6Pp/s+UPlC/2Ui3XY=
optional
@@ -381,7 +381,7 @@
hash
- lHDvW7/FHdulm1FgCAt2v8TABIk=
+ TUIfgv+4m5x61rhoJbx0f+c4W5s=
optional
@@ -407,42 +407,42 @@
hash2
- Q2CK3Ug9y9WpAR6t8OXqtdil+v+wYNYLpvdtvxZbNOM=
+ cJr3OzpUYhYWJ3LTsGHvg5AmvtIY7Z8tPEYV+w1uARE=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface
hash2
- dg+r9/GH14z2WzAi7g5c1KT0AEcT5fzWvltO7GpG8AE=
+ VqfxJIkR50jbnBOaenSDUltQN0Iv5iEJUFQ6D779UPY=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftmodule
hash2
- B3TwY8HHtrSBYAG6CJWd7ukFM4c1eGgDGNLE34Y4a5A=
+ z/hczrceN4eixi8TNThU/EqxGAMZ7hOHC+o+DF9m6iM=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- Q2CK3Ug9y9WpAR6t8OXqtdil+v+wYNYLpvdtvxZbNOM=
+ cJr3OzpUYhYWJ3LTsGHvg5AmvtIY7Z8tPEYV+w1uARE=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- dg+r9/GH14z2WzAi7g5c1KT0AEcT5fzWvltO7GpG8AE=
+ VqfxJIkR50jbnBOaenSDUltQN0Iv5iEJUFQ6D779UPY=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- B3TwY8HHtrSBYAG6CJWd7ukFM4c1eGgDGNLE34Y4a5A=
+ z/hczrceN4eixi8TNThU/EqxGAMZ7hOHC+o+DF9m6iM=
Modules/module.modulemap
@@ -510,7 +510,7 @@
hash2
- f1+hHC9SfVCNiDBBBt/PVS5s8f/S6Nv8YXo81lfO1pU=
+ SFI0qeK6klx1qGHhK9M06vrBLlY4LttmNdUxgCkdGI0=
optional
@@ -546,7 +546,7 @@
hash2
- 6OzvhB3pwbllUHrLpSI1Pw3cH5/wMydjeVqfLJ7XFlM=
+ IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
optional
@@ -564,7 +564,7 @@
hash2
- befc/Ej2pZuqyrbHu/ZImvisUwoqm8YxqQ/M4sq6xTo=
+ DL3YIrOnhEq570T0LT+QXRr6ZPwx15rAcRqGTqp3q5A=
optional
@@ -609,7 +609,7 @@
hash2
- ezIiz4MxZUo7fjSYb94TcZ0EKsRsjba12p3niQVsoyc=
+ 1eXpGQxWYk2bfjiJ6Opb6tf68Q4gd1WLnnzPZV36EKU=
optional
@@ -672,7 +672,7 @@
hash2
- IxO/BrrQ4MbnwuonZbSa9S45SgKJTisKFr+xaQnwJik=
+ JHT6uvGR1V2Ioz1GuRPAlyTnWE2Y5WqdeTxJHNlwUbs=
optional
@@ -699,7 +699,7 @@
hash2
- jMxFKC6wjbtxymH+lQ9YIngAx774m/fgemNMl4UNCFc=
+ /H/XDN8FaDRs6X+QYWsflMu2xSQMSg4h50WOeWyLTLs=
optional
@@ -726,7 +726,7 @@
hash2
- Eis6mLQJ4UTZoE42W57jmSfhePEiv19lQlbBL8I2H7E=
+ E8Uwu97QcC+qocYR5JVS9H6fpBrAEI7BYUDjoEd3AsI=
optional
@@ -735,7 +735,7 @@
hash2
- qA9i7SGcaND7068FL3BR3+1RIUH6ykGpLaNkp3MNotU=
+ +sJO3Tnv6v0NxMoViMDSe8Jr/I+eWJ0H0rab0kLzzNk=
optional
@@ -789,7 +789,7 @@
hash2
- UHs6GAnHo5ItErSp1XJhjsboDrZ0zStoBCuLUrEXYEE=
+ YJ5ilrdX7NAeAxFeUl1QjGfFQa4RRqKUQ+goWzz/qwg=
optional
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/de.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/de.lproj/UnitDescriptions.json
index 7a91a6010..df9df3da3 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/de.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/de.lproj/UnitDescriptions.json
@@ -1448,15 +1448,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
@@ -1516,4 +1507,4 @@
"symbol": "nHz"
}
]
-}
\ No newline at end of file
+}
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/CurrencyDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
index 3267b8516..a2af21f32 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
@@ -20,6 +20,12 @@
],
"symbol": "CDF"
},
+ "XMR": {
+ "aliases": [
+ "monero"
+ ],
+ "symbol": "XMR"
+ },
"ILS": {
"aliases": [
"new israeli sheqel",
@@ -69,6 +75,13 @@
],
"symbol": "SDG"
},
+ "PEN": {
+ "aliases": [
+ "peruvian sol",
+ "peruvian soles"
+ ],
+ "symbol": "PEN"
+ },
"EUR": {
"aliases": [
"euro",
@@ -76,12 +89,11 @@
],
"symbol": "EUR"
},
- "QAR": {
+ "TRX": {
"aliases": [
- "qatari rial",
- "qatari rials"
+ "tron"
],
- "symbol": "QAR"
+ "symbol": "TRX"
},
"PGK": {
"aliases": [
@@ -89,6 +101,13 @@
],
"symbol": "PGK"
},
+ "QAR": {
+ "aliases": [
+ "qatari rial",
+ "qatari rials"
+ ],
+ "symbol": "QAR"
+ },
"LRD": {
"aliases": [
"liberian dollar",
@@ -96,6 +115,12 @@
],
"symbol": "LRD"
},
+ "millisatoshi": {
+ "aliases": [
+ "milli satoshis"
+ ],
+ "symbol": "millisatoshi"
+ },
"ISK": {
"aliases": [
"iceland krona",
@@ -180,6 +205,12 @@
],
"symbol": "GTQ"
},
+ "XRP": {
+ "aliases": [
+ "ripple"
+ ],
+ "symbol": "XRP"
+ },
"CHF": {
"aliases": [
"swiss franc",
@@ -214,6 +245,12 @@
],
"symbol": "SEK"
},
+ "DASH": {
+ "aliases": [
+ "dash"
+ ],
+ "symbol": "DASH"
+ },
"SAR": {
"aliases": [
"saudi riyal",
@@ -241,6 +278,12 @@
],
"symbol": "WST"
},
+ "BNB": {
+ "aliases": [
+ "binance coin"
+ ],
+ "symbol": "BNB"
+ },
"BMD": {
"aliases": [
"bermudian dollar",
@@ -304,6 +347,12 @@
],
"symbol": "TZS"
},
+ "XAG": {
+ "aliases": [
+ "silver price"
+ ],
+ "symbol": "XAG"
+ },
"VEF": {
"aliases": [
"venezuelan bolívar",
@@ -311,13 +360,6 @@
],
"symbol": "VEF"
},
- "VUV": {
- "aliases": [
- "vanuatu vatu",
- "vanuatu vatu"
- ],
- "symbol": "VUV"
- },
"ANG": {
"aliases": [
"netherlands antillean guilder",
@@ -325,6 +367,13 @@
],
"symbol": "ANG"
},
+ "VUV": {
+ "aliases": [
+ "vanuatu vatu",
+ "vanuatu vatu"
+ ],
+ "symbol": "VUV"
+ },
"BND": {
"aliases": [
"brunei dollar",
@@ -436,6 +485,13 @@
],
"symbol": "FJD"
},
+ "ZWL": {
+ "aliases": [
+ "zimbabwean dollar",
+ "zimbabwean dollars"
+ ],
+ "symbol": "ZWL"
+ },
"PKR": {
"aliases": [
"pakistan rupee",
@@ -464,6 +520,12 @@
],
"symbol": "GBP"
},
+ "Satoshi": {
+ "aliases": [
+ "satoshis"
+ ],
+ "symbol": "Satoshi"
+ },
"LVL": {
"aliases": [
"latvian lat",
@@ -661,6 +723,12 @@
],
"symbol": "MUR"
},
+ "XAU": {
+ "aliases": [
+ "gold price"
+ ],
+ "symbol": "XAU"
+ },
"MXN": {
"aliases": [
"mexican peso",
@@ -757,6 +825,12 @@
],
"symbol": "CVE"
},
+ "ETC": {
+ "aliases": [
+ "ethereum"
+ ],
+ "symbol": "ETC"
+ },
"TTD": {
"aliases": [
"trinidad and tobago dollar",
@@ -808,8 +882,14 @@
},
"USD": {
"aliases": [
- "u.s. dollar",
- "u.s. dollars"
+ "u.s. dollar",
+ "u.s. dollars",
+ "us dollars",
+ "us dollar",
+ "american dollars",
+ "american dollar",
+ "usd",
+ "US$"
],
"symbol": "USD"
},
@@ -862,6 +942,12 @@
],
"symbol": "BZD"
},
+ "ADA": {
+ "aliases": [
+ "Cardano"
+ ],
+ "symbol": "ADA"
+ },
"BTN": {
"aliases": [
"bhutanese ngultrum"
@@ -925,7 +1011,7 @@
},
"ETH": {
"aliases": [
- "ethereum"
+ "ethereum classic"
],
"symbol": "ETH"
},
@@ -953,6 +1039,13 @@
],
"symbol": "CAD"
},
+ "pence": {
+ "aliases": [
+ "penny",
+ "pennies"
+ ],
+ "symbol": "pence"
+ },
"CNY": {
"aliases": [
"RMB",
@@ -975,6 +1068,12 @@
],
"symbol": "XPF"
},
+ "XLM": {
+ "aliases": [
+ "Stellar"
+ ],
+ "symbol": "XLM"
+ },
"IQD": {
"aliases": [
"iraqi dinar",
@@ -996,6 +1095,12 @@
],
"symbol": "AED"
},
+ "EOS": {
+ "aliases": [
+ "EOS.IO"
+ ],
+ "symbol": "EOS"
+ },
"KES": {
"aliases": [
"kenyan shilling",
@@ -1024,6 +1129,12 @@
],
"symbol": "DZD"
},
+ "BSV": {
+ "aliases": [
+ "bitcoin sv"
+ ],
+ "symbol": "BSV"
+ },
"CUP": {
"aliases": [
"cuban peso",
@@ -1051,6 +1162,12 @@
],
"symbol": "AZN"
},
+ "BCH": {
+ "aliases": [
+ "bitcoin cash"
+ ],
+ "symbol": "BCH"
+ },
"KGS": {
"aliases": [
"kyrgyzstani som",
@@ -1071,6 +1188,18 @@
],
"symbol": "KHR"
},
+ "NEO": {
+ "aliases": [
+ "neo"
+ ],
+ "symbol": "NEO"
+ },
+ "ZMK": {
+ "aliases": [
+ "zambian kwacha"
+ ],
+ "symbol": "ZMK"
+ },
"HTG": {
"aliases": [
"haitian gourde",
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/FunctionDescriptions.json
index ee418e707..0da204f62 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/FunctionDescriptions.json
@@ -1,29 +1,28 @@
{
"financial": [
{
+ "identifier": "presentValue",
"prototypeExpressions": [
"present value of 1000 after __timespan at __percentage",
"present value of 1000 over __timespan at __percentage"
- ],
- "identifier": "presentValue"
+ ]
},
{
+ "identifier": "returnOnInvestmentAfter",
"prototypeExpressions": [
"annual return on 500 invested 1000 returned after __timespan",
"yearly return on 500 invested 1000 returned after __timespan",
"annual return on 500 invested 1000 returned over __timespan",
"yearly return on 500 invested 1000 returned over __timespan"
- ],
- "identifier": "returnOnInvestmentAfter"
+ ]
},
{
- "identifier": "returnOnInvestment",
"prototypeExpressions": [
"500 invested 1000 returned"
- ]
+ ],
+ "identifier": "returnOnInvestment"
},
{
- "identifier": "totalLoanRepayment",
"prototypeExpressions": [
"total repayment on 10000 for __timespan at __percentage",
"total repayment on 10000 after __timespan at __percentage",
@@ -31,9 +30,11 @@
"total payment on 10000 for __timespan at __percentage",
"total payment on 10000 after __timespan at __percentage",
"total payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "totalLoanRepayment"
},
{
+ "identifier": "annualLoanRepayment",
"prototypeExpressions": [
"annual repayment on 10000 for __timespan at __percentage",
"annual repayment on 10000 after __timespan at __percentage",
@@ -47,11 +48,9 @@
"yearly payment on 10000 over __timespan at __percentage",
"yearly payment on 10000 after __timespan at __percentage",
"yearly payment on 10000 for __timespan at __percentage"
- ],
- "identifier": "annualLoanRepayment"
+ ]
},
{
- "identifier": "monthlyLoanRepayment",
"prototypeExpressions": [
"monthly repayment on 10000 for __timespan at __percentage",
"monthly repayment on 10000 after __timespan at __percentage",
@@ -59,18 +58,18 @@
"monthly payment on 10000 for __timespan at __percentage",
"monthly payment on 10000 after __timespan at __percentage",
"monthly payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "monthlyLoanRepayment"
},
{
+ "identifier": "totalInterestOnLoanRepayment",
"prototypeExpressions": [
"total interest on 10000 for __timespan at __percentage",
"total interest on 10000 after __timespan at __percentage",
"total interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "totalInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "annualInterestOnLoanRepayment",
"prototypeExpressions": [
"annual interest on 10000 for __timespan at __percentage",
"annual interest on 10000 after __timespan at __percentage",
@@ -78,18 +77,18 @@
"yearly interest on 10000 over __timespan at __percentage",
"yearly interest on 10000 after __timespan at __percentage",
"yearly interest on 10000 for __timespan at __percentage"
- ]
+ ],
+ "identifier": "annualInterestOnLoanRepayment"
},
{
+ "identifier": "monthlyInterestOnLoanRepayment",
"prototypeExpressions": [
"monthly interest on 10000 for __timespan at __percentage",
"monthly interest on 10000 after __timespan at __percentage",
"monthly interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "monthlyInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "compoundInterest",
"prototypeExpressions": [
"100 after __timespan at __percentage",
"100 for __timespan at __percentage",
@@ -97,345 +96,354 @@
"100 at __percentage after __timespan",
"100 at __percentage for __timespan",
"100 at __percentage over __timespan"
- ]
+ ],
+ "identifier": "compoundInterest"
}
],
"percentage": [
{
+ "identifier": "percentOf",
"prototypeExpressions": [
"__percentage of 100"
- ],
- "identifier": "percentOf"
+ ]
},
{
+ "identifier": "percentOff",
"prototypeExpressions": [
"__percentage off 100"
- ],
- "identifier": "percentOff"
+ ]
},
{
+ "identifier": "percentOn",
"prototypeExpressions": [
"__percentage on 100"
- ],
- "identifier": "percentOn"
+ ]
},
{
+ "identifier": "isPercentOfWhat",
"prototypeExpressions": [
"30 is __percentage of what"
- ],
- "identifier": "isPercentOfWhat"
+ ]
},
{
+ "identifier": "isPercentOfWhatClassic",
"prototypeExpressions": [
"__percentage of what is 30"
- ],
- "identifier": "isPercentOfWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOffWhat",
"prototypeExpressions": [
"30 is __percentage off what"
- ],
- "identifier": "isPercentOffWhat"
+ ]
},
{
+ "identifier": "isPercentOffWhatClassic",
"prototypeExpressions": [
"__percentage off what is 30"
- ],
- "identifier": "isPercentOffWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOnWhat",
"prototypeExpressions": [
"30 is __percentage on what"
- ],
- "identifier": "isPercentOnWhat"
+ ]
},
{
+ "identifier": "isPercentOnWhatClassic",
"prototypeExpressions": [
"__percentage on what is 30"
- ],
- "identifier": "isPercentOnWhatClassic"
+ ]
},
{
+ "identifier": "isWhatPercentOf",
"prototypeExpressions": [
"10 is what % of 20",
"10 as a % of 20",
"10 as % of 20"
- ],
- "identifier": "isWhatPercentOf"
+ ]
},
{
+ "identifier": "isWhatPercentOff",
"prototypeExpressions": [
"10 is what % off 20",
"10 as a % off 20",
"10 as % off 20"
- ],
- "identifier": "isWhatPercentOff"
+ ]
},
{
+ "identifier": "isWhatPercentOn",
"prototypeExpressions": [
"20 is what % on 10",
"20 as a % on 10",
"20 as % on 10"
- ],
- "identifier": "isWhatPercentOn"
+ ]
},
{
- "identifier": "xToYIsWhatPercentage",
"prototypeExpressions": [
"10 to 20 is what %"
- ]
+ ],
+ "identifier": "xToYIsWhatPercentage"
}
],
"general": [
{
+ "identifier": "remainder",
"prototypeExpressions": [
"remainder of 20 divided by 3"
- ],
- "identifier": "remainder"
+ ]
},
{
+ "identifier": "halfOf",
"prototypeExpressions": [
"half of 20"
- ],
- "identifier": "halfOf"
+ ]
},
{
+ "identifier": "lesserOf",
"prototypeExpressions": [
"smaller of 2 and 30",
"lesser of 2 and 30"
- ],
- "identifier": "lesserOf"
+ ]
},
{
+ "identifier": "greaterOf",
"prototypeExpressions": [
"larger of 2 and 30",
"greater of 2 and 30"
- ],
- "identifier": "greaterOf"
+ ]
},
{
+ "identifier": "midpoint",
"prototypeExpressions": [
"midpoint between 2 and 32"
- ],
- "identifier": "midpoint"
+ ]
},
{
+ "identifier": "lcm",
"prototypeExpressions": [
"lcm of 5 and 8",
"lowest common multiple of 5 and 8"
- ],
- "identifier": "lcm"
+ ]
},
{
+ "identifier": "gcd",
"prototypeExpressions": [
"gcd of 20 and 30",
"greatest common divisor of 5 and 8",
"gcf of 20 and 30",
"greatest common factor of 5 and 8"
- ],
- "identifier": "gcd"
+ ]
},
{
+ "identifier": "proportionsFindNumerator",
"prototypeExpressions": [
- "6 is to 600 as what is to 8"
- ],
- "identifier": "proportionsFindNumerator"
+ "6 is to 600 as what is to 8",
+ "6 to 600 is what to 8",
+ "6 to 600 as what to 8"
+ ]
},
{
+ "identifier": "proportionsFindDenominator",
"prototypeExpressions": [
- "6 is to 600 as 8 is to what"
- ],
- "identifier": "proportionsFindDenominator"
+ "6 is to 600 as 8 is to what",
+ "6 to 600 as 8 to what",
+ "6 to 600 is 8 to what"
+ ]
},
{
+ "identifier": "makeRandomNumber",
"prototypeExpressions": [
"random number between 1 and 5",
"random between 1 and 5"
- ],
- "identifier": "makeRandomNumber"
+ ]
},
{
+ "identifier": "asMultiplierOf",
"prototypeExpressions": [
"5 as multiplier of 1",
"5 as multiple of 1",
- "5 as x of 1"
- ],
- "identifier": "asMultiplierOf"
+ "5 as a multiplier of 1",
+ "5 as a multiple of 1",
+ "5 as x of 1",
+ "5 is what x of 1",
+ "5 is what multiple of 1",
+ "5 is what multiplier of 1"
+ ]
},
{
+ "identifier": "nthRoot",
"prototypeExpressions": [
"5 root of 100",
"root 5 of 100"
- ],
- "identifier": "nthRoot"
+ ]
}
],
"datetime": [
{
+ "identifier": "calendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp and __datestamp",
"__unit from __datestamp to __datestamp",
"__unit in __datestamp to __datestamp"
- ],
- "identifier": "calendarUnitBetweenDates"
+ ]
},
{
+ "identifier": "calendarUnitToDate",
"prototypeExpressions": [
"__unit to __datestamp",
"__unit before __datestamp",
"__unit until __datestamp",
"__unit till __datestamp"
- ],
- "identifier": "calendarUnitToDate"
+ ]
},
{
- "identifier": "calendarUnitToDatespan",
"prototypeExpressions": [
"__unit to __datespan",
"__unit before __datespan",
"__unit until __datespan",
"__unit till __datespan"
- ]
+ ],
+ "identifier": "calendarUnitToDatespan"
},
{
- "identifier": "calendarUnitInDate",
"prototypeExpressions": [
"__unit in __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitInDate"
},
{
- "identifier": "calendarUnitInDatespan",
"prototypeExpressions": [
"__unit in __datespan"
- ]
+ ],
+ "identifier": "calendarUnitInDatespan"
},
{
+ "identifier": "intervalBetweenDates",
"prototypeExpressions": [
"__datestamp to __datestamp",
"difference between __datestamp and __datestamp"
- ],
- "identifier": "intervalBetweenDates"
+ ]
},
{
- "identifier": "inclusiveCalendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp through __datestamp",
"__unit from __datestamp through __datestamp",
"__unit in __datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveCalendarUnitBetweenDates"
},
{
- "identifier": "inclusiveIntervalBetweenDates",
"prototypeExpressions": [
"__datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveIntervalBetweenDates"
},
{
- "identifier": "intervalBetweenTimestamps",
"prototypeExpressions": [
"__timestamp to __timestamp"
- ]
+ ],
+ "identifier": "intervalBetweenTimestamps"
},
{
- "identifier": "calendarUnitSinceDate",
"prototypeExpressions": [
"__unit since __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitSinceDate"
},
{
+ "identifier": "calendarUnitExpressionAfterDate",
"prototypeExpressions": [
"__timespan from __datestamp",
"__timespan after __datestamp"
- ],
- "identifier": "calendarUnitExpressionAfterDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionBeforeDate",
"prototypeExpressions": [
"__timespan before __datestamp"
- ],
- "identifier": "calendarUnitExpressionBeforeDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionAgo",
"prototypeExpressions": [
"__timespan ago"
- ],
- "identifier": "calendarUnitExpressionAgo"
+ ]
},
{
+ "identifier": "generateTimestamp",
"prototypeExpressions": [
"new timestamp"
- ],
- "identifier": "generateTimestamp"
+ ]
},
{
- "identifier": "timeInTimezone",
"prototypeExpressions": [
"__timezone time",
"time __timezone",
"time at __timezone",
"time in __timezone"
- ]
+ ],
+ "identifier": "timeInTimezone"
},
{
+ "identifier": "differenceBetweenTimezones",
"prototypeExpressions": [
"time difference between __timezone and __timezone",
"difference between __timezone and __timezone",
"time difference between __timezone & __timezone",
"difference between __timezone & __timezone"
- ],
- "identifier": "differenceBetweenTimezones"
+ ]
},
{
- "identifier": "weekdayAfterTimespan",
"prototypeExpressions": [
"__datestamp in __timespan",
"__datestamp after __timespan"
- ]
+ ],
+ "identifier": "weekdayAfterTimespan"
},
{
- "identifier": "weekNumberOnDate",
"prototypeExpressions": [
"week number on __datestamp",
"week number __datestamp"
- ]
+ ],
+ "identifier": "weekNumberOnDate"
},
{
+ "identifier": "halfwayBetweenDates",
"prototypeExpressions": [
"halfway between __datestamp and __datestamp",
"midpoint between __datestamp and __datestamp"
- ],
- "identifier": "halfwayBetweenDates"
+ ]
}
],
"unitRelated": [
{
+ "identifier": "unitInUnitExpression",
"prototypeExpressions": [
"__unit in __unit_expression"
- ],
- "identifier": "unitInUnitExpression"
+ ]
},
{
+ "identifier": "substanceWeightToVolumeConversion",
"prototypeExpressions": [
"__unit_expression __substance in __unit",
"__unit_expression of __substance in __unit"
- ],
- "identifier": "substanceWeightToVolumeConversion"
+ ]
},
{
+ "identifier": "densityOfSubstance",
"prototypeExpressions": [
"density of __substance",
"__substance density"
- ],
- "identifier": "densityOfSubstance"
+ ]
},
{
+ "identifier": "unitInTimespan",
"prototypeExpressions": [
"__unit in __timespan"
- ],
- "identifier": "unitInTimespan"
+ ]
},
{
- "identifier": "rateUnitChange",
"prototypeExpressions": [
"__rate is what / __unit",
"__rate is how much / __unit",
@@ -449,7 +457,8 @@
"__rate is what per__unit",
"__rate is how much per__unit",
"__rate as per__unit"
- ]
+ ],
+ "identifier": "rateUnitChange"
}
]
}
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/UnitDescriptions.json
index 8e7ba5798..09b2546d0 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/UnitDescriptions.json
@@ -737,115 +737,133 @@
"dataTransfer": [
{
"aliases": [
+ "bytes per second"
],
"identifier": "bytesPerSecond",
"symbol": "Bps"
},
{
"aliases": [
+ "bits per second"
],
"identifier": "bitsPerSecond",
"symbol": "bps"
},
{
"aliases": [
+ "yottabytes per second"
],
"identifier": "yottabytesPerSecond",
"symbol": "YBps"
},
{
"aliases": [
+ "zettabytes per second"
],
"identifier": "zettabytesPerSecond",
"symbol": "ZBps"
},
{
"aliases": [
+ "exabytes per second"
],
"identifier": "exabytesPerSecond",
"symbol": "EBps"
},
{
"aliases": [
+ "petabytes per second"
],
"identifier": "petabytesPerSecond",
"symbol": "PBps"
},
{
"aliases": [
+ "terabytes per second"
],
"identifier": "terabytesPerSecond",
"symbol": "TBps"
},
{
"aliases": [
- "gBps"
+ "gigabytes per second",
+ "gBps"
],
"identifier": "gigabytesPerSecond",
"symbol": "GBps"
},
{
"aliases": [
- "mBps"
+ "megabytes per second",
+ "mBps"
],
"identifier": "megabytesPerSecond",
"symbol": "MBps"
},
{
"aliases": [
- "kBps"
+ "kilobytes per second",
+ "kBps"
],
"identifier": "kilobytesPerSecond",
"symbol": "KBps"
},
{
"aliases": [
+ "yottabits per second"
],
"identifier": "yottabitsPerSecond",
"symbol": "Ybps"
},
{
"aliases": [
+ "zettabits per second"
],
"identifier": "zettabitsPerSecond",
"symbol": "Zbps"
},
{
"aliases": [
+ "exabits per second"
],
"identifier": "exabitsPerSecond",
"symbol": "Ebps"
},
{
"aliases": [
- "Pbps"
+ "petabits per second",
+ "Pbps"
],
"identifier": "petabitsPerSecond",
"symbol": "Pbps"
},
{
"aliases": [
- "tbps"
+ "terabits per second",
+ "tbps"
],
"identifier": "terabitsPerSecond",
"symbol": "Tbps"
},
{
"aliases": [
- "gbps"
+ "gigabits per second",
+ "gbps"
],
"identifier": "gigabitsPerSecond",
"symbol": "Gbps"
},
{
"aliases": [
- "mbps"
+ "megabits per second",
+ "mbps"
],
"identifier": "megabitsPerSecond",
"symbol": "Mbps"
},
{
"aliases": [
+ "kilobits per second",
"kbps"
],
"identifier": "kilobitsPerSecond",
@@ -853,96 +871,112 @@
},
{
"aliases": [
+ "yobibytes per second"
],
"identifier": "yobibytesPerSecond",
"symbol": "YiBps"
},
{
"aliases": [
+ "zebibytes per second"
],
"identifier": "zebibytesPerSecond",
"symbol": "ZiBps"
},
{
"aliases": [
+ "exbibytes per second"
],
"identifier": "exbibytesPerSecond",
"symbol": "EiBps"
},
{
"aliases": [
+ "pebibytes per second"
],
"identifier": "pebibytesPerSecond",
"symbol": "PiBps"
},
{
"aliases": [
+ "tebibytes per second"
],
"identifier": "tebibytesPerSecond",
"symbol": "TiBps"
},
{
"aliases": [
+ "gibibytes per second"
],
"identifier": "gibibytesPerSecond",
"symbol": "GiBps"
},
{
"aliases": [
+ "mebibytes per second"
],
"identifier": "mebibytesPerSecond",
"symbol": "MiBps"
},
{
"aliases": [
+ "kibibytes per second"
],
"identifier": "kibibytesPerSecond",
"symbol": "KiBps"
},
{
"aliases": [
+ "yobibits per second"
],
"identifier": "yobibitsPerSecond",
"symbol": "Yibps"
},
{
"aliases": [
+ "zebibits per second"
],
"identifier": "zebibitsPerSecond",
"symbol": "Zibps"
},
{
"aliases": [
+ "exbibits per second"
],
"identifier": "exbibitsPerSecond",
"symbol": "Eibps"
},
{
"aliases": [
+ "pebibits per second"
],
"identifier": "pebibitsPerSecond",
"symbol": "Pibps"
},
{
"aliases": [
+ "tebibits per second"
],
"identifier": "tebibitsPerSecond",
"symbol": "Tibps"
},
{
"aliases": [
+ "gibibits per second"
],
"identifier": "gibibitsPerSecond",
"symbol": "Gibps"
},
{
"aliases": [
+ "mebibits per second"
],
"identifier": "mebibitsPerSecond",
"symbol": "Mibps"
},
{
"aliases": [
+ "kibibits per second"
],
"identifier": "kibibitsPerSecond",
"symbol": "Kibps"
@@ -1547,20 +1581,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "us dollars",
- "us dollar",
- "american dollars",
- "american dollar",
- "usd",
- "US$"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/ru.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/ru.lproj/UnitDescriptions.json
index 7121315b3..0b2467365 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/ru.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/ru.lproj/UnitDescriptions.json
@@ -1507,15 +1507,6 @@
"symbol": "нс"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json
index 11f361d05..295869c34 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json
@@ -99,14 +99,14 @@
{
"identifier": "isWhatPercentOf",
"prototypeExpressions": [
- "10 是 20 里的占比为",
"10 是 20 里的百分比为",
- "10是20里的占比为",
"10是20里的百分比为",
- "10 在 20 里的占比为",
"10 在 20 里的百分比为",
+ "10在20里的百分比为",
+ "10是20里的占比为",
+ "10 是 20 里的占比为",
"10在20里的占比为",
- "10在20里的百分比为"
+ "10 在 20 里的占比为"
]
},
{
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json
index 03524db84..89c0c6c7b 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json
@@ -105,7 +105,8 @@
],
"percentTypes": [
"百分之",
- "百分比"
+ "百分比",
+ "占比"
]
}
}
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json
index 614f8bcc4..b2292105c 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json
@@ -1266,15 +1266,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json
index 07558f82b..f997cc1db 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json
@@ -1487,15 +1487,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftdoc
index 5ae0ecbbf..78d8f9e47 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftinterface
index a4764cfc1..8a88d475b 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc
index 5ae0ecbbf..78d8f9e47 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
index a4764cfc1..8a88d475b 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftdoc
index 6b7db02f4..668377df4 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
index 9bdbdb25e..c11451d13 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
index 6b7db02f4..668377df4 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
index 9bdbdb25e..c11451d13 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/Info.plist b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/Info.plist
index f3a4a840e..dab75d41c 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/Info.plist
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/Info.plist
@@ -17,13 +17,13 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.3.0
+ 1.3.1
CFBundleSupportedPlatforms
MacOSX
CFBundleVersion
- 15
+ 16
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json
index 7a91a6010..df9df3da3 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json
@@ -1448,15 +1448,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
@@ -1516,4 +1507,4 @@
"symbol": "nHz"
}
]
-}
\ No newline at end of file
+}
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json
index 3267b8516..a2af21f32 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json
@@ -20,6 +20,12 @@
],
"symbol": "CDF"
},
+ "XMR": {
+ "aliases": [
+ "monero"
+ ],
+ "symbol": "XMR"
+ },
"ILS": {
"aliases": [
"new israeli sheqel",
@@ -69,6 +75,13 @@
],
"symbol": "SDG"
},
+ "PEN": {
+ "aliases": [
+ "peruvian sol",
+ "peruvian soles"
+ ],
+ "symbol": "PEN"
+ },
"EUR": {
"aliases": [
"euro",
@@ -76,12 +89,11 @@
],
"symbol": "EUR"
},
- "QAR": {
+ "TRX": {
"aliases": [
- "qatari rial",
- "qatari rials"
+ "tron"
],
- "symbol": "QAR"
+ "symbol": "TRX"
},
"PGK": {
"aliases": [
@@ -89,6 +101,13 @@
],
"symbol": "PGK"
},
+ "QAR": {
+ "aliases": [
+ "qatari rial",
+ "qatari rials"
+ ],
+ "symbol": "QAR"
+ },
"LRD": {
"aliases": [
"liberian dollar",
@@ -96,6 +115,12 @@
],
"symbol": "LRD"
},
+ "millisatoshi": {
+ "aliases": [
+ "milli satoshis"
+ ],
+ "symbol": "millisatoshi"
+ },
"ISK": {
"aliases": [
"iceland krona",
@@ -180,6 +205,12 @@
],
"symbol": "GTQ"
},
+ "XRP": {
+ "aliases": [
+ "ripple"
+ ],
+ "symbol": "XRP"
+ },
"CHF": {
"aliases": [
"swiss franc",
@@ -214,6 +245,12 @@
],
"symbol": "SEK"
},
+ "DASH": {
+ "aliases": [
+ "dash"
+ ],
+ "symbol": "DASH"
+ },
"SAR": {
"aliases": [
"saudi riyal",
@@ -241,6 +278,12 @@
],
"symbol": "WST"
},
+ "BNB": {
+ "aliases": [
+ "binance coin"
+ ],
+ "symbol": "BNB"
+ },
"BMD": {
"aliases": [
"bermudian dollar",
@@ -304,6 +347,12 @@
],
"symbol": "TZS"
},
+ "XAG": {
+ "aliases": [
+ "silver price"
+ ],
+ "symbol": "XAG"
+ },
"VEF": {
"aliases": [
"venezuelan bolívar",
@@ -311,13 +360,6 @@
],
"symbol": "VEF"
},
- "VUV": {
- "aliases": [
- "vanuatu vatu",
- "vanuatu vatu"
- ],
- "symbol": "VUV"
- },
"ANG": {
"aliases": [
"netherlands antillean guilder",
@@ -325,6 +367,13 @@
],
"symbol": "ANG"
},
+ "VUV": {
+ "aliases": [
+ "vanuatu vatu",
+ "vanuatu vatu"
+ ],
+ "symbol": "VUV"
+ },
"BND": {
"aliases": [
"brunei dollar",
@@ -436,6 +485,13 @@
],
"symbol": "FJD"
},
+ "ZWL": {
+ "aliases": [
+ "zimbabwean dollar",
+ "zimbabwean dollars"
+ ],
+ "symbol": "ZWL"
+ },
"PKR": {
"aliases": [
"pakistan rupee",
@@ -464,6 +520,12 @@
],
"symbol": "GBP"
},
+ "Satoshi": {
+ "aliases": [
+ "satoshis"
+ ],
+ "symbol": "Satoshi"
+ },
"LVL": {
"aliases": [
"latvian lat",
@@ -661,6 +723,12 @@
],
"symbol": "MUR"
},
+ "XAU": {
+ "aliases": [
+ "gold price"
+ ],
+ "symbol": "XAU"
+ },
"MXN": {
"aliases": [
"mexican peso",
@@ -757,6 +825,12 @@
],
"symbol": "CVE"
},
+ "ETC": {
+ "aliases": [
+ "ethereum"
+ ],
+ "symbol": "ETC"
+ },
"TTD": {
"aliases": [
"trinidad and tobago dollar",
@@ -808,8 +882,14 @@
},
"USD": {
"aliases": [
- "u.s. dollar",
- "u.s. dollars"
+ "u.s. dollar",
+ "u.s. dollars",
+ "us dollars",
+ "us dollar",
+ "american dollars",
+ "american dollar",
+ "usd",
+ "US$"
],
"symbol": "USD"
},
@@ -862,6 +942,12 @@
],
"symbol": "BZD"
},
+ "ADA": {
+ "aliases": [
+ "Cardano"
+ ],
+ "symbol": "ADA"
+ },
"BTN": {
"aliases": [
"bhutanese ngultrum"
@@ -925,7 +1011,7 @@
},
"ETH": {
"aliases": [
- "ethereum"
+ "ethereum classic"
],
"symbol": "ETH"
},
@@ -953,6 +1039,13 @@
],
"symbol": "CAD"
},
+ "pence": {
+ "aliases": [
+ "penny",
+ "pennies"
+ ],
+ "symbol": "pence"
+ },
"CNY": {
"aliases": [
"RMB",
@@ -975,6 +1068,12 @@
],
"symbol": "XPF"
},
+ "XLM": {
+ "aliases": [
+ "Stellar"
+ ],
+ "symbol": "XLM"
+ },
"IQD": {
"aliases": [
"iraqi dinar",
@@ -996,6 +1095,12 @@
],
"symbol": "AED"
},
+ "EOS": {
+ "aliases": [
+ "EOS.IO"
+ ],
+ "symbol": "EOS"
+ },
"KES": {
"aliases": [
"kenyan shilling",
@@ -1024,6 +1129,12 @@
],
"symbol": "DZD"
},
+ "BSV": {
+ "aliases": [
+ "bitcoin sv"
+ ],
+ "symbol": "BSV"
+ },
"CUP": {
"aliases": [
"cuban peso",
@@ -1051,6 +1162,12 @@
],
"symbol": "AZN"
},
+ "BCH": {
+ "aliases": [
+ "bitcoin cash"
+ ],
+ "symbol": "BCH"
+ },
"KGS": {
"aliases": [
"kyrgyzstani som",
@@ -1071,6 +1188,18 @@
],
"symbol": "KHR"
},
+ "NEO": {
+ "aliases": [
+ "neo"
+ ],
+ "symbol": "NEO"
+ },
+ "ZMK": {
+ "aliases": [
+ "zambian kwacha"
+ ],
+ "symbol": "ZMK"
+ },
"HTG": {
"aliases": [
"haitian gourde",
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json
index ee418e707..0da204f62 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json
@@ -1,29 +1,28 @@
{
"financial": [
{
+ "identifier": "presentValue",
"prototypeExpressions": [
"present value of 1000 after __timespan at __percentage",
"present value of 1000 over __timespan at __percentage"
- ],
- "identifier": "presentValue"
+ ]
},
{
+ "identifier": "returnOnInvestmentAfter",
"prototypeExpressions": [
"annual return on 500 invested 1000 returned after __timespan",
"yearly return on 500 invested 1000 returned after __timespan",
"annual return on 500 invested 1000 returned over __timespan",
"yearly return on 500 invested 1000 returned over __timespan"
- ],
- "identifier": "returnOnInvestmentAfter"
+ ]
},
{
- "identifier": "returnOnInvestment",
"prototypeExpressions": [
"500 invested 1000 returned"
- ]
+ ],
+ "identifier": "returnOnInvestment"
},
{
- "identifier": "totalLoanRepayment",
"prototypeExpressions": [
"total repayment on 10000 for __timespan at __percentage",
"total repayment on 10000 after __timespan at __percentage",
@@ -31,9 +30,11 @@
"total payment on 10000 for __timespan at __percentage",
"total payment on 10000 after __timespan at __percentage",
"total payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "totalLoanRepayment"
},
{
+ "identifier": "annualLoanRepayment",
"prototypeExpressions": [
"annual repayment on 10000 for __timespan at __percentage",
"annual repayment on 10000 after __timespan at __percentage",
@@ -47,11 +48,9 @@
"yearly payment on 10000 over __timespan at __percentage",
"yearly payment on 10000 after __timespan at __percentage",
"yearly payment on 10000 for __timespan at __percentage"
- ],
- "identifier": "annualLoanRepayment"
+ ]
},
{
- "identifier": "monthlyLoanRepayment",
"prototypeExpressions": [
"monthly repayment on 10000 for __timespan at __percentage",
"monthly repayment on 10000 after __timespan at __percentage",
@@ -59,18 +58,18 @@
"monthly payment on 10000 for __timespan at __percentage",
"monthly payment on 10000 after __timespan at __percentage",
"monthly payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "monthlyLoanRepayment"
},
{
+ "identifier": "totalInterestOnLoanRepayment",
"prototypeExpressions": [
"total interest on 10000 for __timespan at __percentage",
"total interest on 10000 after __timespan at __percentage",
"total interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "totalInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "annualInterestOnLoanRepayment",
"prototypeExpressions": [
"annual interest on 10000 for __timespan at __percentage",
"annual interest on 10000 after __timespan at __percentage",
@@ -78,18 +77,18 @@
"yearly interest on 10000 over __timespan at __percentage",
"yearly interest on 10000 after __timespan at __percentage",
"yearly interest on 10000 for __timespan at __percentage"
- ]
+ ],
+ "identifier": "annualInterestOnLoanRepayment"
},
{
+ "identifier": "monthlyInterestOnLoanRepayment",
"prototypeExpressions": [
"monthly interest on 10000 for __timespan at __percentage",
"monthly interest on 10000 after __timespan at __percentage",
"monthly interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "monthlyInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "compoundInterest",
"prototypeExpressions": [
"100 after __timespan at __percentage",
"100 for __timespan at __percentage",
@@ -97,345 +96,354 @@
"100 at __percentage after __timespan",
"100 at __percentage for __timespan",
"100 at __percentage over __timespan"
- ]
+ ],
+ "identifier": "compoundInterest"
}
],
"percentage": [
{
+ "identifier": "percentOf",
"prototypeExpressions": [
"__percentage of 100"
- ],
- "identifier": "percentOf"
+ ]
},
{
+ "identifier": "percentOff",
"prototypeExpressions": [
"__percentage off 100"
- ],
- "identifier": "percentOff"
+ ]
},
{
+ "identifier": "percentOn",
"prototypeExpressions": [
"__percentage on 100"
- ],
- "identifier": "percentOn"
+ ]
},
{
+ "identifier": "isPercentOfWhat",
"prototypeExpressions": [
"30 is __percentage of what"
- ],
- "identifier": "isPercentOfWhat"
+ ]
},
{
+ "identifier": "isPercentOfWhatClassic",
"prototypeExpressions": [
"__percentage of what is 30"
- ],
- "identifier": "isPercentOfWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOffWhat",
"prototypeExpressions": [
"30 is __percentage off what"
- ],
- "identifier": "isPercentOffWhat"
+ ]
},
{
+ "identifier": "isPercentOffWhatClassic",
"prototypeExpressions": [
"__percentage off what is 30"
- ],
- "identifier": "isPercentOffWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOnWhat",
"prototypeExpressions": [
"30 is __percentage on what"
- ],
- "identifier": "isPercentOnWhat"
+ ]
},
{
+ "identifier": "isPercentOnWhatClassic",
"prototypeExpressions": [
"__percentage on what is 30"
- ],
- "identifier": "isPercentOnWhatClassic"
+ ]
},
{
+ "identifier": "isWhatPercentOf",
"prototypeExpressions": [
"10 is what % of 20",
"10 as a % of 20",
"10 as % of 20"
- ],
- "identifier": "isWhatPercentOf"
+ ]
},
{
+ "identifier": "isWhatPercentOff",
"prototypeExpressions": [
"10 is what % off 20",
"10 as a % off 20",
"10 as % off 20"
- ],
- "identifier": "isWhatPercentOff"
+ ]
},
{
+ "identifier": "isWhatPercentOn",
"prototypeExpressions": [
"20 is what % on 10",
"20 as a % on 10",
"20 as % on 10"
- ],
- "identifier": "isWhatPercentOn"
+ ]
},
{
- "identifier": "xToYIsWhatPercentage",
"prototypeExpressions": [
"10 to 20 is what %"
- ]
+ ],
+ "identifier": "xToYIsWhatPercentage"
}
],
"general": [
{
+ "identifier": "remainder",
"prototypeExpressions": [
"remainder of 20 divided by 3"
- ],
- "identifier": "remainder"
+ ]
},
{
+ "identifier": "halfOf",
"prototypeExpressions": [
"half of 20"
- ],
- "identifier": "halfOf"
+ ]
},
{
+ "identifier": "lesserOf",
"prototypeExpressions": [
"smaller of 2 and 30",
"lesser of 2 and 30"
- ],
- "identifier": "lesserOf"
+ ]
},
{
+ "identifier": "greaterOf",
"prototypeExpressions": [
"larger of 2 and 30",
"greater of 2 and 30"
- ],
- "identifier": "greaterOf"
+ ]
},
{
+ "identifier": "midpoint",
"prototypeExpressions": [
"midpoint between 2 and 32"
- ],
- "identifier": "midpoint"
+ ]
},
{
+ "identifier": "lcm",
"prototypeExpressions": [
"lcm of 5 and 8",
"lowest common multiple of 5 and 8"
- ],
- "identifier": "lcm"
+ ]
},
{
+ "identifier": "gcd",
"prototypeExpressions": [
"gcd of 20 and 30",
"greatest common divisor of 5 and 8",
"gcf of 20 and 30",
"greatest common factor of 5 and 8"
- ],
- "identifier": "gcd"
+ ]
},
{
+ "identifier": "proportionsFindNumerator",
"prototypeExpressions": [
- "6 is to 600 as what is to 8"
- ],
- "identifier": "proportionsFindNumerator"
+ "6 is to 600 as what is to 8",
+ "6 to 600 is what to 8",
+ "6 to 600 as what to 8"
+ ]
},
{
+ "identifier": "proportionsFindDenominator",
"prototypeExpressions": [
- "6 is to 600 as 8 is to what"
- ],
- "identifier": "proportionsFindDenominator"
+ "6 is to 600 as 8 is to what",
+ "6 to 600 as 8 to what",
+ "6 to 600 is 8 to what"
+ ]
},
{
+ "identifier": "makeRandomNumber",
"prototypeExpressions": [
"random number between 1 and 5",
"random between 1 and 5"
- ],
- "identifier": "makeRandomNumber"
+ ]
},
{
+ "identifier": "asMultiplierOf",
"prototypeExpressions": [
"5 as multiplier of 1",
"5 as multiple of 1",
- "5 as x of 1"
- ],
- "identifier": "asMultiplierOf"
+ "5 as a multiplier of 1",
+ "5 as a multiple of 1",
+ "5 as x of 1",
+ "5 is what x of 1",
+ "5 is what multiple of 1",
+ "5 is what multiplier of 1"
+ ]
},
{
+ "identifier": "nthRoot",
"prototypeExpressions": [
"5 root of 100",
"root 5 of 100"
- ],
- "identifier": "nthRoot"
+ ]
}
],
"datetime": [
{
+ "identifier": "calendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp and __datestamp",
"__unit from __datestamp to __datestamp",
"__unit in __datestamp to __datestamp"
- ],
- "identifier": "calendarUnitBetweenDates"
+ ]
},
{
+ "identifier": "calendarUnitToDate",
"prototypeExpressions": [
"__unit to __datestamp",
"__unit before __datestamp",
"__unit until __datestamp",
"__unit till __datestamp"
- ],
- "identifier": "calendarUnitToDate"
+ ]
},
{
- "identifier": "calendarUnitToDatespan",
"prototypeExpressions": [
"__unit to __datespan",
"__unit before __datespan",
"__unit until __datespan",
"__unit till __datespan"
- ]
+ ],
+ "identifier": "calendarUnitToDatespan"
},
{
- "identifier": "calendarUnitInDate",
"prototypeExpressions": [
"__unit in __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitInDate"
},
{
- "identifier": "calendarUnitInDatespan",
"prototypeExpressions": [
"__unit in __datespan"
- ]
+ ],
+ "identifier": "calendarUnitInDatespan"
},
{
+ "identifier": "intervalBetweenDates",
"prototypeExpressions": [
"__datestamp to __datestamp",
"difference between __datestamp and __datestamp"
- ],
- "identifier": "intervalBetweenDates"
+ ]
},
{
- "identifier": "inclusiveCalendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp through __datestamp",
"__unit from __datestamp through __datestamp",
"__unit in __datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveCalendarUnitBetweenDates"
},
{
- "identifier": "inclusiveIntervalBetweenDates",
"prototypeExpressions": [
"__datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveIntervalBetweenDates"
},
{
- "identifier": "intervalBetweenTimestamps",
"prototypeExpressions": [
"__timestamp to __timestamp"
- ]
+ ],
+ "identifier": "intervalBetweenTimestamps"
},
{
- "identifier": "calendarUnitSinceDate",
"prototypeExpressions": [
"__unit since __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitSinceDate"
},
{
+ "identifier": "calendarUnitExpressionAfterDate",
"prototypeExpressions": [
"__timespan from __datestamp",
"__timespan after __datestamp"
- ],
- "identifier": "calendarUnitExpressionAfterDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionBeforeDate",
"prototypeExpressions": [
"__timespan before __datestamp"
- ],
- "identifier": "calendarUnitExpressionBeforeDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionAgo",
"prototypeExpressions": [
"__timespan ago"
- ],
- "identifier": "calendarUnitExpressionAgo"
+ ]
},
{
+ "identifier": "generateTimestamp",
"prototypeExpressions": [
"new timestamp"
- ],
- "identifier": "generateTimestamp"
+ ]
},
{
- "identifier": "timeInTimezone",
"prototypeExpressions": [
"__timezone time",
"time __timezone",
"time at __timezone",
"time in __timezone"
- ]
+ ],
+ "identifier": "timeInTimezone"
},
{
+ "identifier": "differenceBetweenTimezones",
"prototypeExpressions": [
"time difference between __timezone and __timezone",
"difference between __timezone and __timezone",
"time difference between __timezone & __timezone",
"difference between __timezone & __timezone"
- ],
- "identifier": "differenceBetweenTimezones"
+ ]
},
{
- "identifier": "weekdayAfterTimespan",
"prototypeExpressions": [
"__datestamp in __timespan",
"__datestamp after __timespan"
- ]
+ ],
+ "identifier": "weekdayAfterTimespan"
},
{
- "identifier": "weekNumberOnDate",
"prototypeExpressions": [
"week number on __datestamp",
"week number __datestamp"
- ]
+ ],
+ "identifier": "weekNumberOnDate"
},
{
+ "identifier": "halfwayBetweenDates",
"prototypeExpressions": [
"halfway between __datestamp and __datestamp",
"midpoint between __datestamp and __datestamp"
- ],
- "identifier": "halfwayBetweenDates"
+ ]
}
],
"unitRelated": [
{
+ "identifier": "unitInUnitExpression",
"prototypeExpressions": [
"__unit in __unit_expression"
- ],
- "identifier": "unitInUnitExpression"
+ ]
},
{
+ "identifier": "substanceWeightToVolumeConversion",
"prototypeExpressions": [
"__unit_expression __substance in __unit",
"__unit_expression of __substance in __unit"
- ],
- "identifier": "substanceWeightToVolumeConversion"
+ ]
},
{
+ "identifier": "densityOfSubstance",
"prototypeExpressions": [
"density of __substance",
"__substance density"
- ],
- "identifier": "densityOfSubstance"
+ ]
},
{
+ "identifier": "unitInTimespan",
"prototypeExpressions": [
"__unit in __timespan"
- ],
- "identifier": "unitInTimespan"
+ ]
},
{
- "identifier": "rateUnitChange",
"prototypeExpressions": [
"__rate is what / __unit",
"__rate is how much / __unit",
@@ -449,7 +457,8 @@
"__rate is what per__unit",
"__rate is how much per__unit",
"__rate as per__unit"
- ]
+ ],
+ "identifier": "rateUnitChange"
}
]
}
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json
index 8e7ba5798..09b2546d0 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json
@@ -737,115 +737,133 @@
"dataTransfer": [
{
"aliases": [
+ "bytes per second"
],
"identifier": "bytesPerSecond",
"symbol": "Bps"
},
{
"aliases": [
+ "bits per second"
],
"identifier": "bitsPerSecond",
"symbol": "bps"
},
{
"aliases": [
+ "yottabytes per second"
],
"identifier": "yottabytesPerSecond",
"symbol": "YBps"
},
{
"aliases": [
+ "zettabytes per second"
],
"identifier": "zettabytesPerSecond",
"symbol": "ZBps"
},
{
"aliases": [
+ "exabytes per second"
],
"identifier": "exabytesPerSecond",
"symbol": "EBps"
},
{
"aliases": [
+ "petabytes per second"
],
"identifier": "petabytesPerSecond",
"symbol": "PBps"
},
{
"aliases": [
+ "terabytes per second"
],
"identifier": "terabytesPerSecond",
"symbol": "TBps"
},
{
"aliases": [
- "gBps"
+ "gigabytes per second",
+ "gBps"
],
"identifier": "gigabytesPerSecond",
"symbol": "GBps"
},
{
"aliases": [
- "mBps"
+ "megabytes per second",
+ "mBps"
],
"identifier": "megabytesPerSecond",
"symbol": "MBps"
},
{
"aliases": [
- "kBps"
+ "kilobytes per second",
+ "kBps"
],
"identifier": "kilobytesPerSecond",
"symbol": "KBps"
},
{
"aliases": [
+ "yottabits per second"
],
"identifier": "yottabitsPerSecond",
"symbol": "Ybps"
},
{
"aliases": [
+ "zettabits per second"
],
"identifier": "zettabitsPerSecond",
"symbol": "Zbps"
},
{
"aliases": [
+ "exabits per second"
],
"identifier": "exabitsPerSecond",
"symbol": "Ebps"
},
{
"aliases": [
- "Pbps"
+ "petabits per second",
+ "Pbps"
],
"identifier": "petabitsPerSecond",
"symbol": "Pbps"
},
{
"aliases": [
- "tbps"
+ "terabits per second",
+ "tbps"
],
"identifier": "terabitsPerSecond",
"symbol": "Tbps"
},
{
"aliases": [
- "gbps"
+ "gigabits per second",
+ "gbps"
],
"identifier": "gigabitsPerSecond",
"symbol": "Gbps"
},
{
"aliases": [
- "mbps"
+ "megabits per second",
+ "mbps"
],
"identifier": "megabitsPerSecond",
"symbol": "Mbps"
},
{
"aliases": [
+ "kilobits per second",
"kbps"
],
"identifier": "kilobitsPerSecond",
@@ -853,96 +871,112 @@
},
{
"aliases": [
+ "yobibytes per second"
],
"identifier": "yobibytesPerSecond",
"symbol": "YiBps"
},
{
"aliases": [
+ "zebibytes per second"
],
"identifier": "zebibytesPerSecond",
"symbol": "ZiBps"
},
{
"aliases": [
+ "exbibytes per second"
],
"identifier": "exbibytesPerSecond",
"symbol": "EiBps"
},
{
"aliases": [
+ "pebibytes per second"
],
"identifier": "pebibytesPerSecond",
"symbol": "PiBps"
},
{
"aliases": [
+ "tebibytes per second"
],
"identifier": "tebibytesPerSecond",
"symbol": "TiBps"
},
{
"aliases": [
+ "gibibytes per second"
],
"identifier": "gibibytesPerSecond",
"symbol": "GiBps"
},
{
"aliases": [
+ "mebibytes per second"
],
"identifier": "mebibytesPerSecond",
"symbol": "MiBps"
},
{
"aliases": [
+ "kibibytes per second"
],
"identifier": "kibibytesPerSecond",
"symbol": "KiBps"
},
{
"aliases": [
+ "yobibits per second"
],
"identifier": "yobibitsPerSecond",
"symbol": "Yibps"
},
{
"aliases": [
+ "zebibits per second"
],
"identifier": "zebibitsPerSecond",
"symbol": "Zibps"
},
{
"aliases": [
+ "exbibits per second"
],
"identifier": "exbibitsPerSecond",
"symbol": "Eibps"
},
{
"aliases": [
+ "pebibits per second"
],
"identifier": "pebibitsPerSecond",
"symbol": "Pibps"
},
{
"aliases": [
+ "tebibits per second"
],
"identifier": "tebibitsPerSecond",
"symbol": "Tibps"
},
{
"aliases": [
+ "gibibits per second"
],
"identifier": "gibibitsPerSecond",
"symbol": "Gibps"
},
{
"aliases": [
+ "mebibits per second"
],
"identifier": "mebibitsPerSecond",
"symbol": "Mibps"
},
{
"aliases": [
+ "kibibits per second"
],
"identifier": "kibibitsPerSecond",
"symbol": "Kibps"
@@ -1547,20 +1581,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "us dollars",
- "us dollar",
- "american dollars",
- "american dollar",
- "usd",
- "US$"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json
index 7121315b3..0b2467365 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json
@@ -1507,15 +1507,6 @@
"symbol": "нс"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json
index 11f361d05..295869c34 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json
@@ -99,14 +99,14 @@
{
"identifier": "isWhatPercentOf",
"prototypeExpressions": [
- "10 是 20 里的占比为",
"10 是 20 里的百分比为",
- "10是20里的占比为",
"10是20里的百分比为",
- "10 在 20 里的占比为",
"10 在 20 里的百分比为",
+ "10在20里的百分比为",
+ "10是20里的占比为",
+ "10 是 20 里的占比为",
"10在20里的占比为",
- "10在20里的百分比为"
+ "10 在 20 里的占比为"
]
},
{
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json
index 03524db84..89c0c6c7b 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json
@@ -105,7 +105,8 @@
],
"percentTypes": [
"百分之",
- "百分比"
+ "百分比",
+ "占比"
]
}
}
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json
index 614f8bcc4..b2292105c 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json
@@ -1266,15 +1266,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json
index 07558f82b..f997cc1db 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json
@@ -1487,15 +1487,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/SoulverCore b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/SoulverCore
index 935b85a00..b12eef715 100755
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/SoulverCore and b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/SoulverCore differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources
index 390df0c01..b3ddf7af6 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources
@@ -6,7 +6,7 @@
Resources/Info.plist
- gzRfmDK9VCcWapAdco56GGSMTXg=
+ r4JY2h3Lxkro7HJHeJnBuCdRHgo=
Resources/de.lproj/Cities.json
@@ -66,7 +66,7 @@
hash
- 1VAB8s59m7+R7LBGLS9JBjmBJyo=
+ sETvueMG9QgGaqsU0CaBAh6GmXE=
optional
@@ -102,7 +102,7 @@
hash
- /VTwVhMyzo8p4PleUN4RJfxPz4E=
+ yOmTSUY2tP5UbixhFVe/eQIaRlg=
optional
@@ -120,7 +120,7 @@
hash
- A+Y1Ee4kmj7t8GfZZ18lymDuLyI=
+ 5k7LfFNKqiBzL/j3pUqnG6FYX3Q=
optional
@@ -165,7 +165,7 @@
hash
- asCKaw2cNzHVjPyH+uH2fTOSxPU=
+ 2Jdelj5pyxr9nzdIh50TtSD8Gy8=
optional
@@ -228,7 +228,7 @@
hash
- NXsdP1rvI/1pUj9kiRTrzd703k4=
+ bq7+F06aS9XOqJksq3uEk7MFyPI=
optional
@@ -255,7 +255,7 @@
hash
- GBtNtxJyKh+ZioKbx0ZjhKJZ6wM=
+ kJ/JHS8kaErLsFpiFY0hmxLQAOk=
optional
@@ -282,7 +282,7 @@
hash
- PWlAkeICGnu9+uZpKJAG45/gAkU=
+ bGUPk7Zf8v/KQAsj3jy5jFcsTxI=
optional
@@ -291,7 +291,7 @@
hash
- UyFdtTR/YEUbs1AdfTRCKKJYhrQ=
+ 9AcznC3Gts6Pp/s+UPlC/2Ui3XY=
optional
@@ -345,7 +345,7 @@
hash
- lHDvW7/FHdulm1FgCAt2v8TABIk=
+ TUIfgv+4m5x61rhoJbx0f+c4W5s=
optional
@@ -371,84 +371,84 @@
hash2
- HlQxxIiIXEwliUW+aW2DQlC+uc2oN+/2fDDZwqqwKlY=
+ dBEANyA0IcXv+Fga7reg/yVaWTfK2vq16svC+nZL0Mg=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftinterface
hash2
- +izPUcmDFQSMCINBTxMyG2CIrmC8q+acRCrH189dewk=
+ rXZJCEBUJVVjStY95psmUvOtO5N7t4jUg6VjhV5KWu0=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftmodule
hash2
- t7zkIZ46g1RsQpdPgtKTMMlqKFe6NWJv0i7qktPXnnk=
+ Kj1IyscoGo4Sgg4YnT49YkYARPy4GMfwqszEYYW+y9I=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- HlQxxIiIXEwliUW+aW2DQlC+uc2oN+/2fDDZwqqwKlY=
+ dBEANyA0IcXv+Fga7reg/yVaWTfK2vq16svC+nZL0Mg=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- +izPUcmDFQSMCINBTxMyG2CIrmC8q+acRCrH189dewk=
+ rXZJCEBUJVVjStY95psmUvOtO5N7t4jUg6VjhV5KWu0=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- t7zkIZ46g1RsQpdPgtKTMMlqKFe6NWJv0i7qktPXnnk=
+ Kj1IyscoGo4Sgg4YnT49YkYARPy4GMfwqszEYYW+y9I=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftdoc
hash2
- IgF3lQXyAxJ1DWp8O+ZZ0Bru8BjivbmAhuskTlBPzXI=
+ ccphtiHDjphaTzGIJQu3EUoMC9l36ZrNOh2GuLSqfAo=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
hash2
- wqTFtnHbch9yZ2RAiOjtFHiLRNSMSmxjVs21lZIHhLQ=
+ HA+idfn2y6sOC4ympbO6bC1VsLkQCRQ0xb+cdxiC+DA=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftmodule
hash2
- z88KMUTUxFbhsHaSrsMTNMhqvm/n+dKy+NwqPLaoMdE=
+ MxM/fsoenTQ5RWKAg0TovuiQmgCaVBgN72JnZKEMP5I=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
hash2
- IgF3lQXyAxJ1DWp8O+ZZ0Bru8BjivbmAhuskTlBPzXI=
+ ccphtiHDjphaTzGIJQu3EUoMC9l36ZrNOh2GuLSqfAo=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
hash2
- wqTFtnHbch9yZ2RAiOjtFHiLRNSMSmxjVs21lZIHhLQ=
+ HA+idfn2y6sOC4ympbO6bC1VsLkQCRQ0xb+cdxiC+DA=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
hash2
- z88KMUTUxFbhsHaSrsMTNMhqvm/n+dKy+NwqPLaoMdE=
+ MxM/fsoenTQ5RWKAg0TovuiQmgCaVBgN72JnZKEMP5I=
Modules/module.modulemap
@@ -462,7 +462,7 @@
hash2
- CPROTzF2muxaJ1LTr2Pk7crbWlF9oPkRvoLOqk6EyuI=
+ OdsCYwFlDcza390B28gb81xddKTIJU2EoZiZnWkwjX0=
Resources/de.lproj/Cities.json
@@ -523,7 +523,7 @@
hash2
- f1+hHC9SfVCNiDBBBt/PVS5s8f/S6Nv8YXo81lfO1pU=
+ SFI0qeK6klx1qGHhK9M06vrBLlY4LttmNdUxgCkdGI0=
optional
@@ -559,7 +559,7 @@
hash2
- 6OzvhB3pwbllUHrLpSI1Pw3cH5/wMydjeVqfLJ7XFlM=
+ IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
optional
@@ -577,7 +577,7 @@
hash2
- befc/Ej2pZuqyrbHu/ZImvisUwoqm8YxqQ/M4sq6xTo=
+ DL3YIrOnhEq570T0LT+QXRr6ZPwx15rAcRqGTqp3q5A=
optional
@@ -622,7 +622,7 @@
hash2
- ezIiz4MxZUo7fjSYb94TcZ0EKsRsjba12p3niQVsoyc=
+ 1eXpGQxWYk2bfjiJ6Opb6tf68Q4gd1WLnnzPZV36EKU=
optional
@@ -685,7 +685,7 @@
hash2
- IxO/BrrQ4MbnwuonZbSa9S45SgKJTisKFr+xaQnwJik=
+ JHT6uvGR1V2Ioz1GuRPAlyTnWE2Y5WqdeTxJHNlwUbs=
optional
@@ -712,7 +712,7 @@
hash2
- jMxFKC6wjbtxymH+lQ9YIngAx774m/fgemNMl4UNCFc=
+ /H/XDN8FaDRs6X+QYWsflMu2xSQMSg4h50WOeWyLTLs=
optional
@@ -739,7 +739,7 @@
hash2
- Eis6mLQJ4UTZoE42W57jmSfhePEiv19lQlbBL8I2H7E=
+ E8Uwu97QcC+qocYR5JVS9H6fpBrAEI7BYUDjoEd3AsI=
optional
@@ -748,7 +748,7 @@
hash2
- qA9i7SGcaND7068FL3BR3+1RIUH6ykGpLaNkp3MNotU=
+ +sJO3Tnv6v0NxMoViMDSe8Jr/I+eWJ0H0rab0kLzzNk=
optional
@@ -802,7 +802,7 @@
hash2
- UHs6GAnHo5ItErSp1XJhjsboDrZ0zStoBCuLUrEXYEE=
+ YJ5ilrdX7NAeAxFeUl1QjGfFQa4RRqKUQ+goWzz/qwg=
optional
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Info.plist b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Info.plist
index 3b89e26bc..1764240cf 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Info.plist and b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Info.plist differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc
index 1e85f2dac..a27c00baa 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface
index 6ef784abe..c7d44e3c2 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc
index 1e85f2dac..a27c00baa 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
index 6ef784abe..c7d44e3c2 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
index 4b45b88bb..1ed8cec74 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
index f96def6f1..449868ec4 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
index 4b45b88bb..1ed8cec74 100644
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc and b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
index f96def6f1..449868ec4 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/SoulverCore b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/SoulverCore
index 1792379de..442881a3d 100755
Binary files a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/SoulverCore and b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/SoulverCore differ
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources
index 6a9d54e63..321746b13 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources
@@ -14,55 +14,55 @@
Info.plist
- 5s7/C0okRsK5Zt2Fo9ZOndj51o0=
+ dil+YSE4oBkeWfTcs2lhwUUGMxk=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc
- CAC6dk3n/KWLrxBgYkImVQN7weY=
+ 2jH5qvOqnBHzSoEOao6h2DUM5HE=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface
- AIADHe+3MD9IkvTZUPeuHdnMUJc=
+ f+eXTnG6NkzDv09TcoxkaNqa+bo=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftmodule
- i5PBjnuPLhF6qA52+Ie3dWHwE6o=
+ 3JVVja1Ru78jf6A3OnekkRCk3tU=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
- CAC6dk3n/KWLrxBgYkImVQN7weY=
+ 2jH5qvOqnBHzSoEOao6h2DUM5HE=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
- AIADHe+3MD9IkvTZUPeuHdnMUJc=
+ f+eXTnG6NkzDv09TcoxkaNqa+bo=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
- i5PBjnuPLhF6qA52+Ie3dWHwE6o=
+ 3JVVja1Ru78jf6A3OnekkRCk3tU=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
- wr1FXf2It8HB4JrkTOlV8ofH6UE=
+ H5RRf+LpbEhYBUBBibb1Z6Lq9C8=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
- Klt37yi+YqswnNOAem0JmcHZnT8=
+ JNPrzvNm2+VcL5FPT21y+XVFNs8=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
- fUUFP6DfKYFUOJewfqXXtVXgBWE=
+ tataVih47Hv665eLFqnlggsdBmI=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
- wr1FXf2It8HB4JrkTOlV8ofH6UE=
+ H5RRf+LpbEhYBUBBibb1Z6Lq9C8=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
- Klt37yi+YqswnNOAem0JmcHZnT8=
+ JNPrzvNm2+VcL5FPT21y+XVFNs8=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
- fUUFP6DfKYFUOJewfqXXtVXgBWE=
+ tataVih47Hv665eLFqnlggsdBmI=
Modules/module.modulemap
@@ -126,7 +126,7 @@
hash
- 1VAB8s59m7+R7LBGLS9JBjmBJyo=
+ sETvueMG9QgGaqsU0CaBAh6GmXE=
optional
@@ -162,7 +162,7 @@
hash
- /VTwVhMyzo8p4PleUN4RJfxPz4E=
+ yOmTSUY2tP5UbixhFVe/eQIaRlg=
optional
@@ -180,7 +180,7 @@
hash
- A+Y1Ee4kmj7t8GfZZ18lymDuLyI=
+ 5k7LfFNKqiBzL/j3pUqnG6FYX3Q=
optional
@@ -225,7 +225,7 @@
hash
- asCKaw2cNzHVjPyH+uH2fTOSxPU=
+ 2Jdelj5pyxr9nzdIh50TtSD8Gy8=
optional
@@ -288,7 +288,7 @@
hash
- NXsdP1rvI/1pUj9kiRTrzd703k4=
+ bq7+F06aS9XOqJksq3uEk7MFyPI=
optional
@@ -315,7 +315,7 @@
hash
- GBtNtxJyKh+ZioKbx0ZjhKJZ6wM=
+ kJ/JHS8kaErLsFpiFY0hmxLQAOk=
optional
@@ -342,7 +342,7 @@
hash
- PWlAkeICGnu9+uZpKJAG45/gAkU=
+ bGUPk7Zf8v/KQAsj3jy5jFcsTxI=
optional
@@ -351,7 +351,7 @@
hash
- UyFdtTR/YEUbs1AdfTRCKKJYhrQ=
+ 9AcznC3Gts6Pp/s+UPlC/2Ui3XY=
optional
@@ -405,7 +405,7 @@
hash
- lHDvW7/FHdulm1FgCAt2v8TABIk=
+ TUIfgv+4m5x61rhoJbx0f+c4W5s=
optional
@@ -431,84 +431,84 @@
hash2
- O5UMw/z/68R8NYzrUEfMS1SzOvPdlAz0GCAca13Q3kY=
+ T0L92g8UtsH+vSmFpKiwHwn5GdJdsi8gZ/XtnnVEFwE=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface
hash2
- HCrPwuUTXIw4NHVARLsxcaz/kHyJYIXRtjSakx67Xwc=
+ 9WmcuzDJqxJUTGLESqkpqXlGm+bqt6a1KKvKRnfyK54=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftmodule
hash2
- xrwzWhF6C+mvTMkHyZ3sv6qghpF6cyMKJ0AxYNWL7xE=
+ bo/M6bghWnTKFHklRu3hFiVkyBWFOzM4sp2L++TJnsM=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- O5UMw/z/68R8NYzrUEfMS1SzOvPdlAz0GCAca13Q3kY=
+ T0L92g8UtsH+vSmFpKiwHwn5GdJdsi8gZ/XtnnVEFwE=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- HCrPwuUTXIw4NHVARLsxcaz/kHyJYIXRtjSakx67Xwc=
+ 9WmcuzDJqxJUTGLESqkpqXlGm+bqt6a1KKvKRnfyK54=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- xrwzWhF6C+mvTMkHyZ3sv6qghpF6cyMKJ0AxYNWL7xE=
+ bo/M6bghWnTKFHklRu3hFiVkyBWFOzM4sp2L++TJnsM=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
hash2
- V7R/llkNBtUZtQ3fw6gsB4qW/ozjUqVsC1/2lbKOJPc=
+ Ydmqp2EscusuYq1aTtAUr2rzlfVN6DDbHSEKDhGs2X0=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
hash2
- 7zp8EnoGt9hjmc2n8W8GvqQ0zK+6hxzGss2YMM6dyCw=
+ 8nZzYsTArfo3XzNw46lTLpiyvKTj49eGuLW6Q1rAcIw=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
hash2
- doKQFwttXeeUIXUvTj4UjNSQBMqMHupRO1fcRPjk4HE=
+ y9NPvunwHM8chPWgjnDxjW2NksvCFfg9CjQAiXxXKB8=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
hash2
- V7R/llkNBtUZtQ3fw6gsB4qW/ozjUqVsC1/2lbKOJPc=
+ Ydmqp2EscusuYq1aTtAUr2rzlfVN6DDbHSEKDhGs2X0=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
hash2
- 7zp8EnoGt9hjmc2n8W8GvqQ0zK+6hxzGss2YMM6dyCw=
+ 8nZzYsTArfo3XzNw46lTLpiyvKTj49eGuLW6Q1rAcIw=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
hash2
- doKQFwttXeeUIXUvTj4UjNSQBMqMHupRO1fcRPjk4HE=
+ y9NPvunwHM8chPWgjnDxjW2NksvCFfg9CjQAiXxXKB8=
Modules/module.modulemap
@@ -576,7 +576,7 @@
hash2
- f1+hHC9SfVCNiDBBBt/PVS5s8f/S6Nv8YXo81lfO1pU=
+ SFI0qeK6klx1qGHhK9M06vrBLlY4LttmNdUxgCkdGI0=
optional
@@ -612,7 +612,7 @@
hash2
- 6OzvhB3pwbllUHrLpSI1Pw3cH5/wMydjeVqfLJ7XFlM=
+ IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
optional
@@ -630,7 +630,7 @@
hash2
- befc/Ej2pZuqyrbHu/ZImvisUwoqm8YxqQ/M4sq6xTo=
+ DL3YIrOnhEq570T0LT+QXRr6ZPwx15rAcRqGTqp3q5A=
optional
@@ -675,7 +675,7 @@
hash2
- ezIiz4MxZUo7fjSYb94TcZ0EKsRsjba12p3niQVsoyc=
+ 1eXpGQxWYk2bfjiJ6Opb6tf68Q4gd1WLnnzPZV36EKU=
optional
@@ -738,7 +738,7 @@
hash2
- IxO/BrrQ4MbnwuonZbSa9S45SgKJTisKFr+xaQnwJik=
+ JHT6uvGR1V2Ioz1GuRPAlyTnWE2Y5WqdeTxJHNlwUbs=
optional
@@ -765,7 +765,7 @@
hash2
- jMxFKC6wjbtxymH+lQ9YIngAx774m/fgemNMl4UNCFc=
+ /H/XDN8FaDRs6X+QYWsflMu2xSQMSg4h50WOeWyLTLs=
optional
@@ -792,7 +792,7 @@
hash2
- Eis6mLQJ4UTZoE42W57jmSfhePEiv19lQlbBL8I2H7E=
+ E8Uwu97QcC+qocYR5JVS9H6fpBrAEI7BYUDjoEd3AsI=
optional
@@ -801,7 +801,7 @@
hash2
- qA9i7SGcaND7068FL3BR3+1RIUH6ykGpLaNkp3MNotU=
+ +sJO3Tnv6v0NxMoViMDSe8Jr/I+eWJ0H0rab0kLzzNk=
optional
@@ -855,7 +855,7 @@
hash2
- UHs6GAnHo5ItErSp1XJhjsboDrZ0zStoBCuLUrEXYEE=
+ YJ5ilrdX7NAeAxFeUl1QjGfFQa4RRqKUQ+goWzz/qwg=
optional
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/de.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/de.lproj/UnitDescriptions.json
index 7a91a6010..df9df3da3 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/de.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/de.lproj/UnitDescriptions.json
@@ -1448,15 +1448,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
@@ -1516,4 +1507,4 @@
"symbol": "nHz"
}
]
-}
\ No newline at end of file
+}
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/CurrencyDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
index 3267b8516..a2af21f32 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
@@ -20,6 +20,12 @@
],
"symbol": "CDF"
},
+ "XMR": {
+ "aliases": [
+ "monero"
+ ],
+ "symbol": "XMR"
+ },
"ILS": {
"aliases": [
"new israeli sheqel",
@@ -69,6 +75,13 @@
],
"symbol": "SDG"
},
+ "PEN": {
+ "aliases": [
+ "peruvian sol",
+ "peruvian soles"
+ ],
+ "symbol": "PEN"
+ },
"EUR": {
"aliases": [
"euro",
@@ -76,12 +89,11 @@
],
"symbol": "EUR"
},
- "QAR": {
+ "TRX": {
"aliases": [
- "qatari rial",
- "qatari rials"
+ "tron"
],
- "symbol": "QAR"
+ "symbol": "TRX"
},
"PGK": {
"aliases": [
@@ -89,6 +101,13 @@
],
"symbol": "PGK"
},
+ "QAR": {
+ "aliases": [
+ "qatari rial",
+ "qatari rials"
+ ],
+ "symbol": "QAR"
+ },
"LRD": {
"aliases": [
"liberian dollar",
@@ -96,6 +115,12 @@
],
"symbol": "LRD"
},
+ "millisatoshi": {
+ "aliases": [
+ "milli satoshis"
+ ],
+ "symbol": "millisatoshi"
+ },
"ISK": {
"aliases": [
"iceland krona",
@@ -180,6 +205,12 @@
],
"symbol": "GTQ"
},
+ "XRP": {
+ "aliases": [
+ "ripple"
+ ],
+ "symbol": "XRP"
+ },
"CHF": {
"aliases": [
"swiss franc",
@@ -214,6 +245,12 @@
],
"symbol": "SEK"
},
+ "DASH": {
+ "aliases": [
+ "dash"
+ ],
+ "symbol": "DASH"
+ },
"SAR": {
"aliases": [
"saudi riyal",
@@ -241,6 +278,12 @@
],
"symbol": "WST"
},
+ "BNB": {
+ "aliases": [
+ "binance coin"
+ ],
+ "symbol": "BNB"
+ },
"BMD": {
"aliases": [
"bermudian dollar",
@@ -304,6 +347,12 @@
],
"symbol": "TZS"
},
+ "XAG": {
+ "aliases": [
+ "silver price"
+ ],
+ "symbol": "XAG"
+ },
"VEF": {
"aliases": [
"venezuelan bolívar",
@@ -311,13 +360,6 @@
],
"symbol": "VEF"
},
- "VUV": {
- "aliases": [
- "vanuatu vatu",
- "vanuatu vatu"
- ],
- "symbol": "VUV"
- },
"ANG": {
"aliases": [
"netherlands antillean guilder",
@@ -325,6 +367,13 @@
],
"symbol": "ANG"
},
+ "VUV": {
+ "aliases": [
+ "vanuatu vatu",
+ "vanuatu vatu"
+ ],
+ "symbol": "VUV"
+ },
"BND": {
"aliases": [
"brunei dollar",
@@ -436,6 +485,13 @@
],
"symbol": "FJD"
},
+ "ZWL": {
+ "aliases": [
+ "zimbabwean dollar",
+ "zimbabwean dollars"
+ ],
+ "symbol": "ZWL"
+ },
"PKR": {
"aliases": [
"pakistan rupee",
@@ -464,6 +520,12 @@
],
"symbol": "GBP"
},
+ "Satoshi": {
+ "aliases": [
+ "satoshis"
+ ],
+ "symbol": "Satoshi"
+ },
"LVL": {
"aliases": [
"latvian lat",
@@ -661,6 +723,12 @@
],
"symbol": "MUR"
},
+ "XAU": {
+ "aliases": [
+ "gold price"
+ ],
+ "symbol": "XAU"
+ },
"MXN": {
"aliases": [
"mexican peso",
@@ -757,6 +825,12 @@
],
"symbol": "CVE"
},
+ "ETC": {
+ "aliases": [
+ "ethereum"
+ ],
+ "symbol": "ETC"
+ },
"TTD": {
"aliases": [
"trinidad and tobago dollar",
@@ -808,8 +882,14 @@
},
"USD": {
"aliases": [
- "u.s. dollar",
- "u.s. dollars"
+ "u.s. dollar",
+ "u.s. dollars",
+ "us dollars",
+ "us dollar",
+ "american dollars",
+ "american dollar",
+ "usd",
+ "US$"
],
"symbol": "USD"
},
@@ -862,6 +942,12 @@
],
"symbol": "BZD"
},
+ "ADA": {
+ "aliases": [
+ "Cardano"
+ ],
+ "symbol": "ADA"
+ },
"BTN": {
"aliases": [
"bhutanese ngultrum"
@@ -925,7 +1011,7 @@
},
"ETH": {
"aliases": [
- "ethereum"
+ "ethereum classic"
],
"symbol": "ETH"
},
@@ -953,6 +1039,13 @@
],
"symbol": "CAD"
},
+ "pence": {
+ "aliases": [
+ "penny",
+ "pennies"
+ ],
+ "symbol": "pence"
+ },
"CNY": {
"aliases": [
"RMB",
@@ -975,6 +1068,12 @@
],
"symbol": "XPF"
},
+ "XLM": {
+ "aliases": [
+ "Stellar"
+ ],
+ "symbol": "XLM"
+ },
"IQD": {
"aliases": [
"iraqi dinar",
@@ -996,6 +1095,12 @@
],
"symbol": "AED"
},
+ "EOS": {
+ "aliases": [
+ "EOS.IO"
+ ],
+ "symbol": "EOS"
+ },
"KES": {
"aliases": [
"kenyan shilling",
@@ -1024,6 +1129,12 @@
],
"symbol": "DZD"
},
+ "BSV": {
+ "aliases": [
+ "bitcoin sv"
+ ],
+ "symbol": "BSV"
+ },
"CUP": {
"aliases": [
"cuban peso",
@@ -1051,6 +1162,12 @@
],
"symbol": "AZN"
},
+ "BCH": {
+ "aliases": [
+ "bitcoin cash"
+ ],
+ "symbol": "BCH"
+ },
"KGS": {
"aliases": [
"kyrgyzstani som",
@@ -1071,6 +1188,18 @@
],
"symbol": "KHR"
},
+ "NEO": {
+ "aliases": [
+ "neo"
+ ],
+ "symbol": "NEO"
+ },
+ "ZMK": {
+ "aliases": [
+ "zambian kwacha"
+ ],
+ "symbol": "ZMK"
+ },
"HTG": {
"aliases": [
"haitian gourde",
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/FunctionDescriptions.json
index ee418e707..0da204f62 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/FunctionDescriptions.json
@@ -1,29 +1,28 @@
{
"financial": [
{
+ "identifier": "presentValue",
"prototypeExpressions": [
"present value of 1000 after __timespan at __percentage",
"present value of 1000 over __timespan at __percentage"
- ],
- "identifier": "presentValue"
+ ]
},
{
+ "identifier": "returnOnInvestmentAfter",
"prototypeExpressions": [
"annual return on 500 invested 1000 returned after __timespan",
"yearly return on 500 invested 1000 returned after __timespan",
"annual return on 500 invested 1000 returned over __timespan",
"yearly return on 500 invested 1000 returned over __timespan"
- ],
- "identifier": "returnOnInvestmentAfter"
+ ]
},
{
- "identifier": "returnOnInvestment",
"prototypeExpressions": [
"500 invested 1000 returned"
- ]
+ ],
+ "identifier": "returnOnInvestment"
},
{
- "identifier": "totalLoanRepayment",
"prototypeExpressions": [
"total repayment on 10000 for __timespan at __percentage",
"total repayment on 10000 after __timespan at __percentage",
@@ -31,9 +30,11 @@
"total payment on 10000 for __timespan at __percentage",
"total payment on 10000 after __timespan at __percentage",
"total payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "totalLoanRepayment"
},
{
+ "identifier": "annualLoanRepayment",
"prototypeExpressions": [
"annual repayment on 10000 for __timespan at __percentage",
"annual repayment on 10000 after __timespan at __percentage",
@@ -47,11 +48,9 @@
"yearly payment on 10000 over __timespan at __percentage",
"yearly payment on 10000 after __timespan at __percentage",
"yearly payment on 10000 for __timespan at __percentage"
- ],
- "identifier": "annualLoanRepayment"
+ ]
},
{
- "identifier": "monthlyLoanRepayment",
"prototypeExpressions": [
"monthly repayment on 10000 for __timespan at __percentage",
"monthly repayment on 10000 after __timespan at __percentage",
@@ -59,18 +58,18 @@
"monthly payment on 10000 for __timespan at __percentage",
"monthly payment on 10000 after __timespan at __percentage",
"monthly payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "monthlyLoanRepayment"
},
{
+ "identifier": "totalInterestOnLoanRepayment",
"prototypeExpressions": [
"total interest on 10000 for __timespan at __percentage",
"total interest on 10000 after __timespan at __percentage",
"total interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "totalInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "annualInterestOnLoanRepayment",
"prototypeExpressions": [
"annual interest on 10000 for __timespan at __percentage",
"annual interest on 10000 after __timespan at __percentage",
@@ -78,18 +77,18 @@
"yearly interest on 10000 over __timespan at __percentage",
"yearly interest on 10000 after __timespan at __percentage",
"yearly interest on 10000 for __timespan at __percentage"
- ]
+ ],
+ "identifier": "annualInterestOnLoanRepayment"
},
{
+ "identifier": "monthlyInterestOnLoanRepayment",
"prototypeExpressions": [
"monthly interest on 10000 for __timespan at __percentage",
"monthly interest on 10000 after __timespan at __percentage",
"monthly interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "monthlyInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "compoundInterest",
"prototypeExpressions": [
"100 after __timespan at __percentage",
"100 for __timespan at __percentage",
@@ -97,345 +96,354 @@
"100 at __percentage after __timespan",
"100 at __percentage for __timespan",
"100 at __percentage over __timespan"
- ]
+ ],
+ "identifier": "compoundInterest"
}
],
"percentage": [
{
+ "identifier": "percentOf",
"prototypeExpressions": [
"__percentage of 100"
- ],
- "identifier": "percentOf"
+ ]
},
{
+ "identifier": "percentOff",
"prototypeExpressions": [
"__percentage off 100"
- ],
- "identifier": "percentOff"
+ ]
},
{
+ "identifier": "percentOn",
"prototypeExpressions": [
"__percentage on 100"
- ],
- "identifier": "percentOn"
+ ]
},
{
+ "identifier": "isPercentOfWhat",
"prototypeExpressions": [
"30 is __percentage of what"
- ],
- "identifier": "isPercentOfWhat"
+ ]
},
{
+ "identifier": "isPercentOfWhatClassic",
"prototypeExpressions": [
"__percentage of what is 30"
- ],
- "identifier": "isPercentOfWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOffWhat",
"prototypeExpressions": [
"30 is __percentage off what"
- ],
- "identifier": "isPercentOffWhat"
+ ]
},
{
+ "identifier": "isPercentOffWhatClassic",
"prototypeExpressions": [
"__percentage off what is 30"
- ],
- "identifier": "isPercentOffWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOnWhat",
"prototypeExpressions": [
"30 is __percentage on what"
- ],
- "identifier": "isPercentOnWhat"
+ ]
},
{
+ "identifier": "isPercentOnWhatClassic",
"prototypeExpressions": [
"__percentage on what is 30"
- ],
- "identifier": "isPercentOnWhatClassic"
+ ]
},
{
+ "identifier": "isWhatPercentOf",
"prototypeExpressions": [
"10 is what % of 20",
"10 as a % of 20",
"10 as % of 20"
- ],
- "identifier": "isWhatPercentOf"
+ ]
},
{
+ "identifier": "isWhatPercentOff",
"prototypeExpressions": [
"10 is what % off 20",
"10 as a % off 20",
"10 as % off 20"
- ],
- "identifier": "isWhatPercentOff"
+ ]
},
{
+ "identifier": "isWhatPercentOn",
"prototypeExpressions": [
"20 is what % on 10",
"20 as a % on 10",
"20 as % on 10"
- ],
- "identifier": "isWhatPercentOn"
+ ]
},
{
- "identifier": "xToYIsWhatPercentage",
"prototypeExpressions": [
"10 to 20 is what %"
- ]
+ ],
+ "identifier": "xToYIsWhatPercentage"
}
],
"general": [
{
+ "identifier": "remainder",
"prototypeExpressions": [
"remainder of 20 divided by 3"
- ],
- "identifier": "remainder"
+ ]
},
{
+ "identifier": "halfOf",
"prototypeExpressions": [
"half of 20"
- ],
- "identifier": "halfOf"
+ ]
},
{
+ "identifier": "lesserOf",
"prototypeExpressions": [
"smaller of 2 and 30",
"lesser of 2 and 30"
- ],
- "identifier": "lesserOf"
+ ]
},
{
+ "identifier": "greaterOf",
"prototypeExpressions": [
"larger of 2 and 30",
"greater of 2 and 30"
- ],
- "identifier": "greaterOf"
+ ]
},
{
+ "identifier": "midpoint",
"prototypeExpressions": [
"midpoint between 2 and 32"
- ],
- "identifier": "midpoint"
+ ]
},
{
+ "identifier": "lcm",
"prototypeExpressions": [
"lcm of 5 and 8",
"lowest common multiple of 5 and 8"
- ],
- "identifier": "lcm"
+ ]
},
{
+ "identifier": "gcd",
"prototypeExpressions": [
"gcd of 20 and 30",
"greatest common divisor of 5 and 8",
"gcf of 20 and 30",
"greatest common factor of 5 and 8"
- ],
- "identifier": "gcd"
+ ]
},
{
+ "identifier": "proportionsFindNumerator",
"prototypeExpressions": [
- "6 is to 600 as what is to 8"
- ],
- "identifier": "proportionsFindNumerator"
+ "6 is to 600 as what is to 8",
+ "6 to 600 is what to 8",
+ "6 to 600 as what to 8"
+ ]
},
{
+ "identifier": "proportionsFindDenominator",
"prototypeExpressions": [
- "6 is to 600 as 8 is to what"
- ],
- "identifier": "proportionsFindDenominator"
+ "6 is to 600 as 8 is to what",
+ "6 to 600 as 8 to what",
+ "6 to 600 is 8 to what"
+ ]
},
{
+ "identifier": "makeRandomNumber",
"prototypeExpressions": [
"random number between 1 and 5",
"random between 1 and 5"
- ],
- "identifier": "makeRandomNumber"
+ ]
},
{
+ "identifier": "asMultiplierOf",
"prototypeExpressions": [
"5 as multiplier of 1",
"5 as multiple of 1",
- "5 as x of 1"
- ],
- "identifier": "asMultiplierOf"
+ "5 as a multiplier of 1",
+ "5 as a multiple of 1",
+ "5 as x of 1",
+ "5 is what x of 1",
+ "5 is what multiple of 1",
+ "5 is what multiplier of 1"
+ ]
},
{
+ "identifier": "nthRoot",
"prototypeExpressions": [
"5 root of 100",
"root 5 of 100"
- ],
- "identifier": "nthRoot"
+ ]
}
],
"datetime": [
{
+ "identifier": "calendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp and __datestamp",
"__unit from __datestamp to __datestamp",
"__unit in __datestamp to __datestamp"
- ],
- "identifier": "calendarUnitBetweenDates"
+ ]
},
{
+ "identifier": "calendarUnitToDate",
"prototypeExpressions": [
"__unit to __datestamp",
"__unit before __datestamp",
"__unit until __datestamp",
"__unit till __datestamp"
- ],
- "identifier": "calendarUnitToDate"
+ ]
},
{
- "identifier": "calendarUnitToDatespan",
"prototypeExpressions": [
"__unit to __datespan",
"__unit before __datespan",
"__unit until __datespan",
"__unit till __datespan"
- ]
+ ],
+ "identifier": "calendarUnitToDatespan"
},
{
- "identifier": "calendarUnitInDate",
"prototypeExpressions": [
"__unit in __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitInDate"
},
{
- "identifier": "calendarUnitInDatespan",
"prototypeExpressions": [
"__unit in __datespan"
- ]
+ ],
+ "identifier": "calendarUnitInDatespan"
},
{
+ "identifier": "intervalBetweenDates",
"prototypeExpressions": [
"__datestamp to __datestamp",
"difference between __datestamp and __datestamp"
- ],
- "identifier": "intervalBetweenDates"
+ ]
},
{
- "identifier": "inclusiveCalendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp through __datestamp",
"__unit from __datestamp through __datestamp",
"__unit in __datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveCalendarUnitBetweenDates"
},
{
- "identifier": "inclusiveIntervalBetweenDates",
"prototypeExpressions": [
"__datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveIntervalBetweenDates"
},
{
- "identifier": "intervalBetweenTimestamps",
"prototypeExpressions": [
"__timestamp to __timestamp"
- ]
+ ],
+ "identifier": "intervalBetweenTimestamps"
},
{
- "identifier": "calendarUnitSinceDate",
"prototypeExpressions": [
"__unit since __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitSinceDate"
},
{
+ "identifier": "calendarUnitExpressionAfterDate",
"prototypeExpressions": [
"__timespan from __datestamp",
"__timespan after __datestamp"
- ],
- "identifier": "calendarUnitExpressionAfterDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionBeforeDate",
"prototypeExpressions": [
"__timespan before __datestamp"
- ],
- "identifier": "calendarUnitExpressionBeforeDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionAgo",
"prototypeExpressions": [
"__timespan ago"
- ],
- "identifier": "calendarUnitExpressionAgo"
+ ]
},
{
+ "identifier": "generateTimestamp",
"prototypeExpressions": [
"new timestamp"
- ],
- "identifier": "generateTimestamp"
+ ]
},
{
- "identifier": "timeInTimezone",
"prototypeExpressions": [
"__timezone time",
"time __timezone",
"time at __timezone",
"time in __timezone"
- ]
+ ],
+ "identifier": "timeInTimezone"
},
{
+ "identifier": "differenceBetweenTimezones",
"prototypeExpressions": [
"time difference between __timezone and __timezone",
"difference between __timezone and __timezone",
"time difference between __timezone & __timezone",
"difference between __timezone & __timezone"
- ],
- "identifier": "differenceBetweenTimezones"
+ ]
},
{
- "identifier": "weekdayAfterTimespan",
"prototypeExpressions": [
"__datestamp in __timespan",
"__datestamp after __timespan"
- ]
+ ],
+ "identifier": "weekdayAfterTimespan"
},
{
- "identifier": "weekNumberOnDate",
"prototypeExpressions": [
"week number on __datestamp",
"week number __datestamp"
- ]
+ ],
+ "identifier": "weekNumberOnDate"
},
{
+ "identifier": "halfwayBetweenDates",
"prototypeExpressions": [
"halfway between __datestamp and __datestamp",
"midpoint between __datestamp and __datestamp"
- ],
- "identifier": "halfwayBetweenDates"
+ ]
}
],
"unitRelated": [
{
+ "identifier": "unitInUnitExpression",
"prototypeExpressions": [
"__unit in __unit_expression"
- ],
- "identifier": "unitInUnitExpression"
+ ]
},
{
+ "identifier": "substanceWeightToVolumeConversion",
"prototypeExpressions": [
"__unit_expression __substance in __unit",
"__unit_expression of __substance in __unit"
- ],
- "identifier": "substanceWeightToVolumeConversion"
+ ]
},
{
+ "identifier": "densityOfSubstance",
"prototypeExpressions": [
"density of __substance",
"__substance density"
- ],
- "identifier": "densityOfSubstance"
+ ]
},
{
+ "identifier": "unitInTimespan",
"prototypeExpressions": [
"__unit in __timespan"
- ],
- "identifier": "unitInTimespan"
+ ]
},
{
- "identifier": "rateUnitChange",
"prototypeExpressions": [
"__rate is what / __unit",
"__rate is how much / __unit",
@@ -449,7 +457,8 @@
"__rate is what per__unit",
"__rate is how much per__unit",
"__rate as per__unit"
- ]
+ ],
+ "identifier": "rateUnitChange"
}
]
}
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/UnitDescriptions.json
index 8e7ba5798..09b2546d0 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/en.lproj/UnitDescriptions.json
@@ -737,115 +737,133 @@
"dataTransfer": [
{
"aliases": [
+ "bytes per second"
],
"identifier": "bytesPerSecond",
"symbol": "Bps"
},
{
"aliases": [
+ "bits per second"
],
"identifier": "bitsPerSecond",
"symbol": "bps"
},
{
"aliases": [
+ "yottabytes per second"
],
"identifier": "yottabytesPerSecond",
"symbol": "YBps"
},
{
"aliases": [
+ "zettabytes per second"
],
"identifier": "zettabytesPerSecond",
"symbol": "ZBps"
},
{
"aliases": [
+ "exabytes per second"
],
"identifier": "exabytesPerSecond",
"symbol": "EBps"
},
{
"aliases": [
+ "petabytes per second"
],
"identifier": "petabytesPerSecond",
"symbol": "PBps"
},
{
"aliases": [
+ "terabytes per second"
],
"identifier": "terabytesPerSecond",
"symbol": "TBps"
},
{
"aliases": [
- "gBps"
+ "gigabytes per second",
+ "gBps"
],
"identifier": "gigabytesPerSecond",
"symbol": "GBps"
},
{
"aliases": [
- "mBps"
+ "megabytes per second",
+ "mBps"
],
"identifier": "megabytesPerSecond",
"symbol": "MBps"
},
{
"aliases": [
- "kBps"
+ "kilobytes per second",
+ "kBps"
],
"identifier": "kilobytesPerSecond",
"symbol": "KBps"
},
{
"aliases": [
+ "yottabits per second"
],
"identifier": "yottabitsPerSecond",
"symbol": "Ybps"
},
{
"aliases": [
+ "zettabits per second"
],
"identifier": "zettabitsPerSecond",
"symbol": "Zbps"
},
{
"aliases": [
+ "exabits per second"
],
"identifier": "exabitsPerSecond",
"symbol": "Ebps"
},
{
"aliases": [
- "Pbps"
+ "petabits per second",
+ "Pbps"
],
"identifier": "petabitsPerSecond",
"symbol": "Pbps"
},
{
"aliases": [
- "tbps"
+ "terabits per second",
+ "tbps"
],
"identifier": "terabitsPerSecond",
"symbol": "Tbps"
},
{
"aliases": [
- "gbps"
+ "gigabits per second",
+ "gbps"
],
"identifier": "gigabitsPerSecond",
"symbol": "Gbps"
},
{
"aliases": [
- "mbps"
+ "megabits per second",
+ "mbps"
],
"identifier": "megabitsPerSecond",
"symbol": "Mbps"
},
{
"aliases": [
+ "kilobits per second",
"kbps"
],
"identifier": "kilobitsPerSecond",
@@ -853,96 +871,112 @@
},
{
"aliases": [
+ "yobibytes per second"
],
"identifier": "yobibytesPerSecond",
"symbol": "YiBps"
},
{
"aliases": [
+ "zebibytes per second"
],
"identifier": "zebibytesPerSecond",
"symbol": "ZiBps"
},
{
"aliases": [
+ "exbibytes per second"
],
"identifier": "exbibytesPerSecond",
"symbol": "EiBps"
},
{
"aliases": [
+ "pebibytes per second"
],
"identifier": "pebibytesPerSecond",
"symbol": "PiBps"
},
{
"aliases": [
+ "tebibytes per second"
],
"identifier": "tebibytesPerSecond",
"symbol": "TiBps"
},
{
"aliases": [
+ "gibibytes per second"
],
"identifier": "gibibytesPerSecond",
"symbol": "GiBps"
},
{
"aliases": [
+ "mebibytes per second"
],
"identifier": "mebibytesPerSecond",
"symbol": "MiBps"
},
{
"aliases": [
+ "kibibytes per second"
],
"identifier": "kibibytesPerSecond",
"symbol": "KiBps"
},
{
"aliases": [
+ "yobibits per second"
],
"identifier": "yobibitsPerSecond",
"symbol": "Yibps"
},
{
"aliases": [
+ "zebibits per second"
],
"identifier": "zebibitsPerSecond",
"symbol": "Zibps"
},
{
"aliases": [
+ "exbibits per second"
],
"identifier": "exbibitsPerSecond",
"symbol": "Eibps"
},
{
"aliases": [
+ "pebibits per second"
],
"identifier": "pebibitsPerSecond",
"symbol": "Pibps"
},
{
"aliases": [
+ "tebibits per second"
],
"identifier": "tebibitsPerSecond",
"symbol": "Tibps"
},
{
"aliases": [
+ "gibibits per second"
],
"identifier": "gibibitsPerSecond",
"symbol": "Gibps"
},
{
"aliases": [
+ "mebibits per second"
],
"identifier": "mebibitsPerSecond",
"symbol": "Mibps"
},
{
"aliases": [
+ "kibibits per second"
],
"identifier": "kibibitsPerSecond",
"symbol": "Kibps"
@@ -1547,20 +1581,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "us dollars",
- "us dollar",
- "american dollars",
- "american dollar",
- "usd",
- "US$"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/ru.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/ru.lproj/UnitDescriptions.json
index 7121315b3..0b2467365 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/ru.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/ru.lproj/UnitDescriptions.json
@@ -1507,15 +1507,6 @@
"symbol": "нс"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json
index 11f361d05..295869c34 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/FunctionDescriptions.json
@@ -99,14 +99,14 @@
{
"identifier": "isWhatPercentOf",
"prototypeExpressions": [
- "10 是 20 里的占比为",
"10 是 20 里的百分比为",
- "10是20里的占比为",
"10是20里的百分比为",
- "10 在 20 里的占比为",
"10 在 20 里的百分比为",
+ "10在20里的百分比为",
+ "10是20里的占比为",
+ "10 是 20 里的占比为",
"10在20里的占比为",
- "10在20里的百分比为"
+ "10 在 20 里的占比为"
]
},
{
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json
index 03524db84..89c0c6c7b 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/LocalizedFixtures.json
@@ -105,7 +105,8 @@
],
"percentTypes": [
"百分之",
- "百分比"
+ "百分比",
+ "占比"
]
}
}
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json
index 614f8bcc4..b2292105c 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hans.lproj/UnitDescriptions.json
@@ -1266,15 +1266,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json
index 07558f82b..f997cc1db 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/zh-Hant.lproj/UnitDescriptions.json
@@ -1487,15 +1487,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftdoc b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftdoc
index 96ea2af3a..5e904b8b5 100644
Binary files a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftdoc and b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftdoc differ
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftinterface b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftinterface
index 3c6c77b79..5b83a8bcd 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftinterface
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc
index 96ea2af3a..5e904b8b5 100644
Binary files a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc and b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftdoc differ
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
index 3c6c77b79..5b83a8bcd 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/arm64.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc
index ba9db33b3..a96ab8829 100644
Binary files a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc and b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc differ
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface
index 458f5ba06..705f5ec2a 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
index ba9db33b3..a96ab8829 100644
Binary files a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc and b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc differ
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
index 458f5ba06..705f5ec2a 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
@@ -8,7 +8,7 @@ public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable,
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideVariableDefinitionsVia(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
public func allVariables() -> [SoulverCore.Variable]
public func variablesExludingLineReferences() -> [SoulverCore.Variable]
public func singleWordVariables() -> [SoulverCore.Variable]
@@ -102,6 +102,13 @@ public protocol Evaluator {
public struct Laptime : Swift.Equatable {
public static func == (a: SoulverCore.Laptime, b: SoulverCore.Laptime) -> Swift.Bool
}
+public struct WhileEscape {
+ public init(maximumCycles: Swift.Int)
+ public mutating func increment()
+ public var shouldBreak: Swift.Bool {
+ get
+ }
+}
public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
case length
case mass
@@ -399,9 +406,191 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
case gibibitsPerSecond
case mebibitsPerSecond
case kibibitsPerSecond
- case usd
- case aud
- case eur
+ case currencyADA
+ case currencyAED
+ case currencyAFN
+ case currencyALL
+ case currencyAMD
+ case currencyANG
+ case currencyAOA
+ case currencyARS
+ case currencyAUD
+ case currencyAWG
+ case currencyAZN
+ case currencyBAM
+ case currencyBBD
+ case currencyBCH
+ case currencyBDT
+ case currencyBGN
+ case currencyBHD
+ case currencyBIF
+ case currencyBMD
+ case currencyBNB
+ case currencyBND
+ case currencyBOB
+ case currencyBRL
+ case currencyBSD
+ case currencyBSV
+ case currencyBTC
+ case currencyBTN
+ case currencyBWP
+ case currencyBYN
+ case currencyBZD
+ case currencyCAD
+ case currencyCDF
+ case currencyCHF
+ case currencyCLF
+ case currencyCLP
+ case currencyCNY
+ case currencyCOP
+ case currencyCRC
+ case currencyCUC
+ case currencyCVE
+ case currencyCZK
+ case currencyDASH
+ case currencyDJF
+ case currencyDKK
+ case currencyDOGE
+ case currencyDOP
+ case currencyDZD
+ case currencyEGP
+ case currencyEOS
+ case currencyERN
+ case currencyETB
+ case currencyETC
+ case currencyETH
+ case currencyEUR
+ case currencyFJD
+ case currencyFKP
+ case currencyGBP
+ case currencyGEL
+ case currencyGGP
+ case currencyGHS
+ case currencyGIP
+ case currencyGMD
+ case currencyGNF
+ case currencyGTQ
+ case currencyGYD
+ case currencyHKD
+ case currencyHNL
+ case currencyHRK
+ case currencyHTG
+ case currencyHUF
+ case currencyIDR
+ case currencyILS
+ case currencyIMP
+ case currencyINR
+ case currencyIQD
+ case currencyIRR
+ case currencyISK
+ case currencyJEP
+ case currencyJMD
+ case currencyJOD
+ case currencyJPY
+ case currencyKES
+ case currencyKGS
+ case currencyKHR
+ case currencyKMF
+ case currencyKPW
+ case currencyKRW
+ case currencyKWD
+ case currencyKYD
+ case currencyKZT
+ case currencyLAK
+ case currencyLBP
+ case currencyLKR
+ case currencyLRD
+ case currencyLSL
+ case currencyLTC
+ case currencyLTL
+ case currencyLVL
+ case currencyLYD
+ case currencyMAD
+ case currencyMDL
+ case currencyMGA
+ case currencyMKD
+ case currencyMMK
+ case currencyMNT
+ case currencyMOP
+ case currencyMRO
+ case currencyMUR
+ case currencyMVR
+ case currencyMWK
+ case currencyMXN
+ case currencyMYR
+ case currencyMZN
+ case currencyNAD
+ case currencyNEO
+ case currencyNGN
+ case currencyNIO
+ case currencyNOK
+ case currencyNPR
+ case currencyNZD
+ case currencyOMR
+ case currencyPAB
+ case currencyPEN
+ case currencyPGK
+ case currencyPHP
+ case currencyPKR
+ case currencyPLN
+ case currencyPYG
+ case currencyQAR
+ case currencyRON
+ case currencyRSD
+ case currencyRUB
+ case currencyRWF
+ case currencySAR
+ case currencySBD
+ case currencySCR
+ case currencySDG
+ case currencySEK
+ case currencySGD
+ case currencySHP
+ case currencySLL
+ case currencySOS
+ case currencySRD
+ case currencySTD
+ case currencySVC
+ case currencySYP
+ case currencySZL
+ case currencyTHB
+ case currencyTJS
+ case currencyTMT
+ case currencyTND
+ case currencyTOP
+ case currencyTRX
+ case currencyTRY
+ case currencyTTD
+ case currencyTWD
+ case currencyTZS
+ case currencyUAH
+ case currencyUGX
+ case currencyUSD
+ case currencyUYU
+ case currencyUZS
+ case currencyVEF
+ case currencyVND
+ case currencyVUV
+ case currencyWST
+ case currencyXAF
+ case currencyXAG
+ case currencyXAU
+ case currencyXCD
+ case currencyXDR
+ case currencyXLM
+ case currencyXMR
+ case currencyXOF
+ case currencyXPF
+ case currencyXRP
+ case currencyYER
+ case currencyZAR
+ case currencyZMK
+ case currencyZMW
+ case currencyZWL
+ case currencySatoshi
+ case currencyDollarCents
+ case currencyBritishPence
+ case currencyEuroCents
case undefined
public var unit: SoulverCore.SCUnit {
get
@@ -711,9 +900,15 @@ extension UnitExpression : Swift.CustomDebugStringConvertible {
get
}
}
+public struct LineCollectionArchive : Swift.Codable {
+ public init(from decoder: Swift.Decoder) throws
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers public class LineCollectionArchiver {
public class func encode(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, customEvaluator: SoulverCore.Evaluator? = nil) throws -> SoulverCore.LineCollection
+ public class func archiveFor(lineCollection: SoulverCore.LineCollection) -> SoulverCore.LineCollectionArchive
+ public class func lineCollectionFrom(archive: SoulverCore.LineCollectionArchive, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale) -> SoulverCore.LineCollection
@objc deinit
}
public protocol RoutineOwner : AnyObject {
@@ -801,12 +996,13 @@ public enum DatestampType {
public func hash(into hasher: inout Swift.Hasher)
}
public struct Datestamp : Swift.Equatable {
- public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool)
+ public init(date: Foundation.Date, type: SoulverCore.DatestampType, timezone: Foundation.TimeZone, hasExplicitTimeComponent: Swift.Bool, hasExplicitTimeZone: Swift.Bool, isAmbiguous: Swift.Bool = false)
public let date: Foundation.Date
public var type: SoulverCore.DatestampType
public var timezone: Foundation.TimeZone
public let hasExplicitTimeComponent: Swift.Bool
public let hasExplicitTimeZone: Swift.Bool
+ public let isAmbiguous: Swift.Bool
public static func == (a: SoulverCore.Datestamp, b: SoulverCore.Datestamp) -> Swift.Bool
}
public struct ExportOptions {
@@ -857,7 +1053,8 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-@_hasMissingDesignatedInitializers public class CustomType : Swift.Hashable, Swift.Equatable {
+public class CustomType : Swift.Hashable, Swift.Equatable {
+ public init(prototypePlaceholder: SoulverCore.PrototypePlaceholder, symbols: [Swift.String], associatedObject: Any?)
final public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
final public let symbols: [Swift.String]
final public let associatedObject: Any?
@@ -1053,6 +1250,9 @@ extension String {
public var isSingleWord: Swift.Bool {
get
}
+ public var isPhrase: Swift.Bool {
+ get
+ }
}
extension String {
public func containsPattern(_ regex: Swift.String) -> Swift.Bool
@@ -1125,10 +1325,11 @@ public enum TokenType : Swift.CaseIterable {
case legacyQuotationComment
case labelExpression
case url
- case error
case customType
+ case error
case pending
case failed
+ case scalar
case unidentified
case customInternal
case dateComponents
@@ -1172,6 +1373,7 @@ public enum TokenSubType {
case percentageConverter
case percentageApplier
case unitConverter
+ case unitExpressionConverter
case rateConverter
case dateConverter
case iso8601Converter
@@ -1470,6 +1672,9 @@ public class LineCollection {
get
set
}
+ public func addSubsheet() -> SoulverCore.LineReference
+ public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
@@ -1482,6 +1687,12 @@ extension LineCollection : Swift.CustomDebugStringConvertible {
get
}
}
+extension LineCollection {
+ public var engineCustomization: SoulverCore.EngineCustomization {
+ get
+ }
+ public func finishLineCollectionSetup(lineCollection: SoulverCore.LineCollection)
+}
@_hasMissingDesignatedInitializers public class LineCollectionObserverToken : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.LineCollectionObserverToken, rhs: SoulverCore.LineCollectionObserverToken) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
@@ -1494,9 +1705,6 @@ extension LineCollection {
public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public var globalVariablesReferenced: Swift.Set {
- get
- }
public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
public var indexesOfPendingLines: Foundation.IndexSet {
get
@@ -1544,6 +1752,7 @@ public struct TokenTypeSet {
public init(types: Swift.Set)
public let types: Swift.Set
public func contains(_ tokenType: SoulverCore.TokenType) -> Swift.Bool
+ public static let randomWords: SoulverCore.TokenTypeSet
}
public enum LineStyle : Swift.Int {
case normal
@@ -1567,6 +1776,7 @@ public class LineStyler {
public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
public var defaultLabel: Swift.String {
get
}
@@ -1740,9 +1950,11 @@ public struct LineSheetDelta {
public var reversed: Swift.Bool
public init()
}
- public typealias LineCollectionEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
- public class func enumerateLinesIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
+ public typealias LineCollectionStringEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public typealias LineCollectionModelEnumerationHandler = ((SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: (SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateModelsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in modelHandler: (SoulverCore.LineIndex, SoulverCore.TokenList, SoulverCore.CalculationResult?, inout Swift.Bool) -> Swift.Void)
+ public class func enumerateStringsIn(lineCollection: SoulverCore.LineCollection, with options: SoulverCore.LineCollectionEnumerator.LineCollectionEnumerationOptions = LineCollectionEnumerationOptions(), in handler: ((SoulverCore.LineIndex, SoulverCore.LineCollectionEnumerator.EnumerationExpression, SoulverCore.LineCollectionEnumerator.EnumerationResult) -> T?)) -> T?
@objc deinit
}
public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codable {
@@ -1995,6 +2207,12 @@ public struct Timespan : Swift.Equatable {
}
public typealias LineIndex = Swift.Int
@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
+ public var copy: SoulverCore.LineSheet {
+ get
+ }
+ public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ get
+ }
required public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public var debugDescription: Swift.String {
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist
index b2a51bd88..db78b691b 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist
@@ -17,13 +17,13 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.3.0
+ 1.3.1
CFBundleSupportedPlatforms
MacOSX
CFBundleVersion
- 15
+ 16
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json
index 7a91a6010..df9df3da3 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/UnitDescriptions.json
@@ -1448,15 +1448,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
@@ -1516,4 +1507,4 @@
"symbol": "nHz"
}
]
-}
\ No newline at end of file
+}
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json
index 3267b8516..a2af21f32 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/CurrencyDescriptions.json
@@ -20,6 +20,12 @@
],
"symbol": "CDF"
},
+ "XMR": {
+ "aliases": [
+ "monero"
+ ],
+ "symbol": "XMR"
+ },
"ILS": {
"aliases": [
"new israeli sheqel",
@@ -69,6 +75,13 @@
],
"symbol": "SDG"
},
+ "PEN": {
+ "aliases": [
+ "peruvian sol",
+ "peruvian soles"
+ ],
+ "symbol": "PEN"
+ },
"EUR": {
"aliases": [
"euro",
@@ -76,12 +89,11 @@
],
"symbol": "EUR"
},
- "QAR": {
+ "TRX": {
"aliases": [
- "qatari rial",
- "qatari rials"
+ "tron"
],
- "symbol": "QAR"
+ "symbol": "TRX"
},
"PGK": {
"aliases": [
@@ -89,6 +101,13 @@
],
"symbol": "PGK"
},
+ "QAR": {
+ "aliases": [
+ "qatari rial",
+ "qatari rials"
+ ],
+ "symbol": "QAR"
+ },
"LRD": {
"aliases": [
"liberian dollar",
@@ -96,6 +115,12 @@
],
"symbol": "LRD"
},
+ "millisatoshi": {
+ "aliases": [
+ "milli satoshis"
+ ],
+ "symbol": "millisatoshi"
+ },
"ISK": {
"aliases": [
"iceland krona",
@@ -180,6 +205,12 @@
],
"symbol": "GTQ"
},
+ "XRP": {
+ "aliases": [
+ "ripple"
+ ],
+ "symbol": "XRP"
+ },
"CHF": {
"aliases": [
"swiss franc",
@@ -214,6 +245,12 @@
],
"symbol": "SEK"
},
+ "DASH": {
+ "aliases": [
+ "dash"
+ ],
+ "symbol": "DASH"
+ },
"SAR": {
"aliases": [
"saudi riyal",
@@ -241,6 +278,12 @@
],
"symbol": "WST"
},
+ "BNB": {
+ "aliases": [
+ "binance coin"
+ ],
+ "symbol": "BNB"
+ },
"BMD": {
"aliases": [
"bermudian dollar",
@@ -304,6 +347,12 @@
],
"symbol": "TZS"
},
+ "XAG": {
+ "aliases": [
+ "silver price"
+ ],
+ "symbol": "XAG"
+ },
"VEF": {
"aliases": [
"venezuelan bolívar",
@@ -311,13 +360,6 @@
],
"symbol": "VEF"
},
- "VUV": {
- "aliases": [
- "vanuatu vatu",
- "vanuatu vatu"
- ],
- "symbol": "VUV"
- },
"ANG": {
"aliases": [
"netherlands antillean guilder",
@@ -325,6 +367,13 @@
],
"symbol": "ANG"
},
+ "VUV": {
+ "aliases": [
+ "vanuatu vatu",
+ "vanuatu vatu"
+ ],
+ "symbol": "VUV"
+ },
"BND": {
"aliases": [
"brunei dollar",
@@ -436,6 +485,13 @@
],
"symbol": "FJD"
},
+ "ZWL": {
+ "aliases": [
+ "zimbabwean dollar",
+ "zimbabwean dollars"
+ ],
+ "symbol": "ZWL"
+ },
"PKR": {
"aliases": [
"pakistan rupee",
@@ -464,6 +520,12 @@
],
"symbol": "GBP"
},
+ "Satoshi": {
+ "aliases": [
+ "satoshis"
+ ],
+ "symbol": "Satoshi"
+ },
"LVL": {
"aliases": [
"latvian lat",
@@ -661,6 +723,12 @@
],
"symbol": "MUR"
},
+ "XAU": {
+ "aliases": [
+ "gold price"
+ ],
+ "symbol": "XAU"
+ },
"MXN": {
"aliases": [
"mexican peso",
@@ -757,6 +825,12 @@
],
"symbol": "CVE"
},
+ "ETC": {
+ "aliases": [
+ "ethereum"
+ ],
+ "symbol": "ETC"
+ },
"TTD": {
"aliases": [
"trinidad and tobago dollar",
@@ -808,8 +882,14 @@
},
"USD": {
"aliases": [
- "u.s. dollar",
- "u.s. dollars"
+ "u.s. dollar",
+ "u.s. dollars",
+ "us dollars",
+ "us dollar",
+ "american dollars",
+ "american dollar",
+ "usd",
+ "US$"
],
"symbol": "USD"
},
@@ -862,6 +942,12 @@
],
"symbol": "BZD"
},
+ "ADA": {
+ "aliases": [
+ "Cardano"
+ ],
+ "symbol": "ADA"
+ },
"BTN": {
"aliases": [
"bhutanese ngultrum"
@@ -925,7 +1011,7 @@
},
"ETH": {
"aliases": [
- "ethereum"
+ "ethereum classic"
],
"symbol": "ETH"
},
@@ -953,6 +1039,13 @@
],
"symbol": "CAD"
},
+ "pence": {
+ "aliases": [
+ "penny",
+ "pennies"
+ ],
+ "symbol": "pence"
+ },
"CNY": {
"aliases": [
"RMB",
@@ -975,6 +1068,12 @@
],
"symbol": "XPF"
},
+ "XLM": {
+ "aliases": [
+ "Stellar"
+ ],
+ "symbol": "XLM"
+ },
"IQD": {
"aliases": [
"iraqi dinar",
@@ -996,6 +1095,12 @@
],
"symbol": "AED"
},
+ "EOS": {
+ "aliases": [
+ "EOS.IO"
+ ],
+ "symbol": "EOS"
+ },
"KES": {
"aliases": [
"kenyan shilling",
@@ -1024,6 +1129,12 @@
],
"symbol": "DZD"
},
+ "BSV": {
+ "aliases": [
+ "bitcoin sv"
+ ],
+ "symbol": "BSV"
+ },
"CUP": {
"aliases": [
"cuban peso",
@@ -1051,6 +1162,12 @@
],
"symbol": "AZN"
},
+ "BCH": {
+ "aliases": [
+ "bitcoin cash"
+ ],
+ "symbol": "BCH"
+ },
"KGS": {
"aliases": [
"kyrgyzstani som",
@@ -1071,6 +1188,18 @@
],
"symbol": "KHR"
},
+ "NEO": {
+ "aliases": [
+ "neo"
+ ],
+ "symbol": "NEO"
+ },
+ "ZMK": {
+ "aliases": [
+ "zambian kwacha"
+ ],
+ "symbol": "ZMK"
+ },
"HTG": {
"aliases": [
"haitian gourde",
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json
index ee418e707..0da204f62 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/FunctionDescriptions.json
@@ -1,29 +1,28 @@
{
"financial": [
{
+ "identifier": "presentValue",
"prototypeExpressions": [
"present value of 1000 after __timespan at __percentage",
"present value of 1000 over __timespan at __percentage"
- ],
- "identifier": "presentValue"
+ ]
},
{
+ "identifier": "returnOnInvestmentAfter",
"prototypeExpressions": [
"annual return on 500 invested 1000 returned after __timespan",
"yearly return on 500 invested 1000 returned after __timespan",
"annual return on 500 invested 1000 returned over __timespan",
"yearly return on 500 invested 1000 returned over __timespan"
- ],
- "identifier": "returnOnInvestmentAfter"
+ ]
},
{
- "identifier": "returnOnInvestment",
"prototypeExpressions": [
"500 invested 1000 returned"
- ]
+ ],
+ "identifier": "returnOnInvestment"
},
{
- "identifier": "totalLoanRepayment",
"prototypeExpressions": [
"total repayment on 10000 for __timespan at __percentage",
"total repayment on 10000 after __timespan at __percentage",
@@ -31,9 +30,11 @@
"total payment on 10000 for __timespan at __percentage",
"total payment on 10000 after __timespan at __percentage",
"total payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "totalLoanRepayment"
},
{
+ "identifier": "annualLoanRepayment",
"prototypeExpressions": [
"annual repayment on 10000 for __timespan at __percentage",
"annual repayment on 10000 after __timespan at __percentage",
@@ -47,11 +48,9 @@
"yearly payment on 10000 over __timespan at __percentage",
"yearly payment on 10000 after __timespan at __percentage",
"yearly payment on 10000 for __timespan at __percentage"
- ],
- "identifier": "annualLoanRepayment"
+ ]
},
{
- "identifier": "monthlyLoanRepayment",
"prototypeExpressions": [
"monthly repayment on 10000 for __timespan at __percentage",
"monthly repayment on 10000 after __timespan at __percentage",
@@ -59,18 +58,18 @@
"monthly payment on 10000 for __timespan at __percentage",
"monthly payment on 10000 after __timespan at __percentage",
"monthly payment on 10000 over __timespan at __percentage"
- ]
+ ],
+ "identifier": "monthlyLoanRepayment"
},
{
+ "identifier": "totalInterestOnLoanRepayment",
"prototypeExpressions": [
"total interest on 10000 for __timespan at __percentage",
"total interest on 10000 after __timespan at __percentage",
"total interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "totalInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "annualInterestOnLoanRepayment",
"prototypeExpressions": [
"annual interest on 10000 for __timespan at __percentage",
"annual interest on 10000 after __timespan at __percentage",
@@ -78,18 +77,18 @@
"yearly interest on 10000 over __timespan at __percentage",
"yearly interest on 10000 after __timespan at __percentage",
"yearly interest on 10000 for __timespan at __percentage"
- ]
+ ],
+ "identifier": "annualInterestOnLoanRepayment"
},
{
+ "identifier": "monthlyInterestOnLoanRepayment",
"prototypeExpressions": [
"monthly interest on 10000 for __timespan at __percentage",
"monthly interest on 10000 after __timespan at __percentage",
"monthly interest on 10000 over __timespan at __percentage"
- ],
- "identifier": "monthlyInterestOnLoanRepayment"
+ ]
},
{
- "identifier": "compoundInterest",
"prototypeExpressions": [
"100 after __timespan at __percentage",
"100 for __timespan at __percentage",
@@ -97,345 +96,354 @@
"100 at __percentage after __timespan",
"100 at __percentage for __timespan",
"100 at __percentage over __timespan"
- ]
+ ],
+ "identifier": "compoundInterest"
}
],
"percentage": [
{
+ "identifier": "percentOf",
"prototypeExpressions": [
"__percentage of 100"
- ],
- "identifier": "percentOf"
+ ]
},
{
+ "identifier": "percentOff",
"prototypeExpressions": [
"__percentage off 100"
- ],
- "identifier": "percentOff"
+ ]
},
{
+ "identifier": "percentOn",
"prototypeExpressions": [
"__percentage on 100"
- ],
- "identifier": "percentOn"
+ ]
},
{
+ "identifier": "isPercentOfWhat",
"prototypeExpressions": [
"30 is __percentage of what"
- ],
- "identifier": "isPercentOfWhat"
+ ]
},
{
+ "identifier": "isPercentOfWhatClassic",
"prototypeExpressions": [
"__percentage of what is 30"
- ],
- "identifier": "isPercentOfWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOffWhat",
"prototypeExpressions": [
"30 is __percentage off what"
- ],
- "identifier": "isPercentOffWhat"
+ ]
},
{
+ "identifier": "isPercentOffWhatClassic",
"prototypeExpressions": [
"__percentage off what is 30"
- ],
- "identifier": "isPercentOffWhatClassic"
+ ]
},
{
+ "identifier": "isPercentOnWhat",
"prototypeExpressions": [
"30 is __percentage on what"
- ],
- "identifier": "isPercentOnWhat"
+ ]
},
{
+ "identifier": "isPercentOnWhatClassic",
"prototypeExpressions": [
"__percentage on what is 30"
- ],
- "identifier": "isPercentOnWhatClassic"
+ ]
},
{
+ "identifier": "isWhatPercentOf",
"prototypeExpressions": [
"10 is what % of 20",
"10 as a % of 20",
"10 as % of 20"
- ],
- "identifier": "isWhatPercentOf"
+ ]
},
{
+ "identifier": "isWhatPercentOff",
"prototypeExpressions": [
"10 is what % off 20",
"10 as a % off 20",
"10 as % off 20"
- ],
- "identifier": "isWhatPercentOff"
+ ]
},
{
+ "identifier": "isWhatPercentOn",
"prototypeExpressions": [
"20 is what % on 10",
"20 as a % on 10",
"20 as % on 10"
- ],
- "identifier": "isWhatPercentOn"
+ ]
},
{
- "identifier": "xToYIsWhatPercentage",
"prototypeExpressions": [
"10 to 20 is what %"
- ]
+ ],
+ "identifier": "xToYIsWhatPercentage"
}
],
"general": [
{
+ "identifier": "remainder",
"prototypeExpressions": [
"remainder of 20 divided by 3"
- ],
- "identifier": "remainder"
+ ]
},
{
+ "identifier": "halfOf",
"prototypeExpressions": [
"half of 20"
- ],
- "identifier": "halfOf"
+ ]
},
{
+ "identifier": "lesserOf",
"prototypeExpressions": [
"smaller of 2 and 30",
"lesser of 2 and 30"
- ],
- "identifier": "lesserOf"
+ ]
},
{
+ "identifier": "greaterOf",
"prototypeExpressions": [
"larger of 2 and 30",
"greater of 2 and 30"
- ],
- "identifier": "greaterOf"
+ ]
},
{
+ "identifier": "midpoint",
"prototypeExpressions": [
"midpoint between 2 and 32"
- ],
- "identifier": "midpoint"
+ ]
},
{
+ "identifier": "lcm",
"prototypeExpressions": [
"lcm of 5 and 8",
"lowest common multiple of 5 and 8"
- ],
- "identifier": "lcm"
+ ]
},
{
+ "identifier": "gcd",
"prototypeExpressions": [
"gcd of 20 and 30",
"greatest common divisor of 5 and 8",
"gcf of 20 and 30",
"greatest common factor of 5 and 8"
- ],
- "identifier": "gcd"
+ ]
},
{
+ "identifier": "proportionsFindNumerator",
"prototypeExpressions": [
- "6 is to 600 as what is to 8"
- ],
- "identifier": "proportionsFindNumerator"
+ "6 is to 600 as what is to 8",
+ "6 to 600 is what to 8",
+ "6 to 600 as what to 8"
+ ]
},
{
+ "identifier": "proportionsFindDenominator",
"prototypeExpressions": [
- "6 is to 600 as 8 is to what"
- ],
- "identifier": "proportionsFindDenominator"
+ "6 is to 600 as 8 is to what",
+ "6 to 600 as 8 to what",
+ "6 to 600 is 8 to what"
+ ]
},
{
+ "identifier": "makeRandomNumber",
"prototypeExpressions": [
"random number between 1 and 5",
"random between 1 and 5"
- ],
- "identifier": "makeRandomNumber"
+ ]
},
{
+ "identifier": "asMultiplierOf",
"prototypeExpressions": [
"5 as multiplier of 1",
"5 as multiple of 1",
- "5 as x of 1"
- ],
- "identifier": "asMultiplierOf"
+ "5 as a multiplier of 1",
+ "5 as a multiple of 1",
+ "5 as x of 1",
+ "5 is what x of 1",
+ "5 is what multiple of 1",
+ "5 is what multiplier of 1"
+ ]
},
{
+ "identifier": "nthRoot",
"prototypeExpressions": [
"5 root of 100",
"root 5 of 100"
- ],
- "identifier": "nthRoot"
+ ]
}
],
"datetime": [
{
+ "identifier": "calendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp and __datestamp",
"__unit from __datestamp to __datestamp",
"__unit in __datestamp to __datestamp"
- ],
- "identifier": "calendarUnitBetweenDates"
+ ]
},
{
+ "identifier": "calendarUnitToDate",
"prototypeExpressions": [
"__unit to __datestamp",
"__unit before __datestamp",
"__unit until __datestamp",
"__unit till __datestamp"
- ],
- "identifier": "calendarUnitToDate"
+ ]
},
{
- "identifier": "calendarUnitToDatespan",
"prototypeExpressions": [
"__unit to __datespan",
"__unit before __datespan",
"__unit until __datespan",
"__unit till __datespan"
- ]
+ ],
+ "identifier": "calendarUnitToDatespan"
},
{
- "identifier": "calendarUnitInDate",
"prototypeExpressions": [
"__unit in __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitInDate"
},
{
- "identifier": "calendarUnitInDatespan",
"prototypeExpressions": [
"__unit in __datespan"
- ]
+ ],
+ "identifier": "calendarUnitInDatespan"
},
{
+ "identifier": "intervalBetweenDates",
"prototypeExpressions": [
"__datestamp to __datestamp",
"difference between __datestamp and __datestamp"
- ],
- "identifier": "intervalBetweenDates"
+ ]
},
{
- "identifier": "inclusiveCalendarUnitBetweenDates",
"prototypeExpressions": [
"__unit between __datestamp through __datestamp",
"__unit from __datestamp through __datestamp",
"__unit in __datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveCalendarUnitBetweenDates"
},
{
- "identifier": "inclusiveIntervalBetweenDates",
"prototypeExpressions": [
"__datestamp through __datestamp"
- ]
+ ],
+ "identifier": "inclusiveIntervalBetweenDates"
},
{
- "identifier": "intervalBetweenTimestamps",
"prototypeExpressions": [
"__timestamp to __timestamp"
- ]
+ ],
+ "identifier": "intervalBetweenTimestamps"
},
{
- "identifier": "calendarUnitSinceDate",
"prototypeExpressions": [
"__unit since __datestamp"
- ]
+ ],
+ "identifier": "calendarUnitSinceDate"
},
{
+ "identifier": "calendarUnitExpressionAfterDate",
"prototypeExpressions": [
"__timespan from __datestamp",
"__timespan after __datestamp"
- ],
- "identifier": "calendarUnitExpressionAfterDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionBeforeDate",
"prototypeExpressions": [
"__timespan before __datestamp"
- ],
- "identifier": "calendarUnitExpressionBeforeDate"
+ ]
},
{
+ "identifier": "calendarUnitExpressionAgo",
"prototypeExpressions": [
"__timespan ago"
- ],
- "identifier": "calendarUnitExpressionAgo"
+ ]
},
{
+ "identifier": "generateTimestamp",
"prototypeExpressions": [
"new timestamp"
- ],
- "identifier": "generateTimestamp"
+ ]
},
{
- "identifier": "timeInTimezone",
"prototypeExpressions": [
"__timezone time",
"time __timezone",
"time at __timezone",
"time in __timezone"
- ]
+ ],
+ "identifier": "timeInTimezone"
},
{
+ "identifier": "differenceBetweenTimezones",
"prototypeExpressions": [
"time difference between __timezone and __timezone",
"difference between __timezone and __timezone",
"time difference between __timezone & __timezone",
"difference between __timezone & __timezone"
- ],
- "identifier": "differenceBetweenTimezones"
+ ]
},
{
- "identifier": "weekdayAfterTimespan",
"prototypeExpressions": [
"__datestamp in __timespan",
"__datestamp after __timespan"
- ]
+ ],
+ "identifier": "weekdayAfterTimespan"
},
{
- "identifier": "weekNumberOnDate",
"prototypeExpressions": [
"week number on __datestamp",
"week number __datestamp"
- ]
+ ],
+ "identifier": "weekNumberOnDate"
},
{
+ "identifier": "halfwayBetweenDates",
"prototypeExpressions": [
"halfway between __datestamp and __datestamp",
"midpoint between __datestamp and __datestamp"
- ],
- "identifier": "halfwayBetweenDates"
+ ]
}
],
"unitRelated": [
{
+ "identifier": "unitInUnitExpression",
"prototypeExpressions": [
"__unit in __unit_expression"
- ],
- "identifier": "unitInUnitExpression"
+ ]
},
{
+ "identifier": "substanceWeightToVolumeConversion",
"prototypeExpressions": [
"__unit_expression __substance in __unit",
"__unit_expression of __substance in __unit"
- ],
- "identifier": "substanceWeightToVolumeConversion"
+ ]
},
{
+ "identifier": "densityOfSubstance",
"prototypeExpressions": [
"density of __substance",
"__substance density"
- ],
- "identifier": "densityOfSubstance"
+ ]
},
{
+ "identifier": "unitInTimespan",
"prototypeExpressions": [
"__unit in __timespan"
- ],
- "identifier": "unitInTimespan"
+ ]
},
{
- "identifier": "rateUnitChange",
"prototypeExpressions": [
"__rate is what / __unit",
"__rate is how much / __unit",
@@ -449,7 +457,8 @@
"__rate is what per__unit",
"__rate is how much per__unit",
"__rate as per__unit"
- ]
+ ],
+ "identifier": "rateUnitChange"
}
]
}
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json
index 8e7ba5798..09b2546d0 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/UnitDescriptions.json
@@ -737,115 +737,133 @@
"dataTransfer": [
{
"aliases": [
+ "bytes per second"
],
"identifier": "bytesPerSecond",
"symbol": "Bps"
},
{
"aliases": [
+ "bits per second"
],
"identifier": "bitsPerSecond",
"symbol": "bps"
},
{
"aliases": [
+ "yottabytes per second"
],
"identifier": "yottabytesPerSecond",
"symbol": "YBps"
},
{
"aliases": [
+ "zettabytes per second"
],
"identifier": "zettabytesPerSecond",
"symbol": "ZBps"
},
{
"aliases": [
+ "exabytes per second"
],
"identifier": "exabytesPerSecond",
"symbol": "EBps"
},
{
"aliases": [
+ "petabytes per second"
],
"identifier": "petabytesPerSecond",
"symbol": "PBps"
},
{
"aliases": [
+ "terabytes per second"
],
"identifier": "terabytesPerSecond",
"symbol": "TBps"
},
{
"aliases": [
- "gBps"
+ "gigabytes per second",
+ "gBps"
],
"identifier": "gigabytesPerSecond",
"symbol": "GBps"
},
{
"aliases": [
- "mBps"
+ "megabytes per second",
+ "mBps"
],
"identifier": "megabytesPerSecond",
"symbol": "MBps"
},
{
"aliases": [
- "kBps"
+ "kilobytes per second",
+ "kBps"
],
"identifier": "kilobytesPerSecond",
"symbol": "KBps"
},
{
"aliases": [
+ "yottabits per second"
],
"identifier": "yottabitsPerSecond",
"symbol": "Ybps"
},
{
"aliases": [
+ "zettabits per second"
],
"identifier": "zettabitsPerSecond",
"symbol": "Zbps"
},
{
"aliases": [
+ "exabits per second"
],
"identifier": "exabitsPerSecond",
"symbol": "Ebps"
},
{
"aliases": [
- "Pbps"
+ "petabits per second",
+ "Pbps"
],
"identifier": "petabitsPerSecond",
"symbol": "Pbps"
},
{
"aliases": [
- "tbps"
+ "terabits per second",
+ "tbps"
],
"identifier": "terabitsPerSecond",
"symbol": "Tbps"
},
{
"aliases": [
- "gbps"
+ "gigabits per second",
+ "gbps"
],
"identifier": "gigabitsPerSecond",
"symbol": "Gbps"
},
{
"aliases": [
- "mbps"
+ "megabits per second",
+ "mbps"
],
"identifier": "megabitsPerSecond",
"symbol": "Mbps"
},
{
"aliases": [
+ "kilobits per second",
"kbps"
],
"identifier": "kilobitsPerSecond",
@@ -853,96 +871,112 @@
},
{
"aliases": [
+ "yobibytes per second"
],
"identifier": "yobibytesPerSecond",
"symbol": "YiBps"
},
{
"aliases": [
+ "zebibytes per second"
],
"identifier": "zebibytesPerSecond",
"symbol": "ZiBps"
},
{
"aliases": [
+ "exbibytes per second"
],
"identifier": "exbibytesPerSecond",
"symbol": "EiBps"
},
{
"aliases": [
+ "pebibytes per second"
],
"identifier": "pebibytesPerSecond",
"symbol": "PiBps"
},
{
"aliases": [
+ "tebibytes per second"
],
"identifier": "tebibytesPerSecond",
"symbol": "TiBps"
},
{
"aliases": [
+ "gibibytes per second"
],
"identifier": "gibibytesPerSecond",
"symbol": "GiBps"
},
{
"aliases": [
+ "mebibytes per second"
],
"identifier": "mebibytesPerSecond",
"symbol": "MiBps"
},
{
"aliases": [
+ "kibibytes per second"
],
"identifier": "kibibytesPerSecond",
"symbol": "KiBps"
},
{
"aliases": [
+ "yobibits per second"
],
"identifier": "yobibitsPerSecond",
"symbol": "Yibps"
},
{
"aliases": [
+ "zebibits per second"
],
"identifier": "zebibitsPerSecond",
"symbol": "Zibps"
},
{
"aliases": [
+ "exbibits per second"
],
"identifier": "exbibitsPerSecond",
"symbol": "Eibps"
},
{
"aliases": [
+ "pebibits per second"
],
"identifier": "pebibitsPerSecond",
"symbol": "Pibps"
},
{
"aliases": [
+ "tebibits per second"
],
"identifier": "tebibitsPerSecond",
"symbol": "Tibps"
},
{
"aliases": [
+ "gibibits per second"
],
"identifier": "gibibitsPerSecond",
"symbol": "Gibps"
},
{
"aliases": [
+ "mebibits per second"
],
"identifier": "mebibitsPerSecond",
"symbol": "Mibps"
},
{
"aliases": [
+ "kibibits per second"
],
"identifier": "kibibitsPerSecond",
"symbol": "Kibps"
@@ -1547,20 +1581,6 @@
"symbol": "ns"
}
],
- "currency": [
- {
- "aliases": [
- "us dollars",
- "us dollar",
- "american dollars",
- "american dollar",
- "usd",
- "US$"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json
index 7121315b3..0b2467365 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/UnitDescriptions.json
@@ -1507,15 +1507,6 @@
"symbol": "нс"
}
],
- "currency": [
- {
- "aliases": [
- "usd"
- ],
- "identifier": "usd",
- "symbol": "USD"
- }
- ],
"frequency": [
{
"aliases": [
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json
index 11f361d05..295869c34 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/FunctionDescriptions.json
@@ -99,14 +99,14 @@
{
"identifier": "isWhatPercentOf",
"prototypeExpressions": [
- "10 是 20 里的占比为",
"10 是 20 里的百分比为",
- "10是20里的占比为",
"10是20里的百分比为",
- "10 在 20 里的占比为",
"10 在 20 里的百分比为",
+ "10在20里的百分比为",
+ "10是20里的占比为",
+ "10 是 20 里的占比为",
"10在20里的占比为",
- "10在20里的百分比为"
+ "10 在 20 里的占比为"
]
},
{
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json
index 03524db84..89c0c6c7b 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/LocalizedFixtures.json
@@ -105,7 +105,8 @@
],
"percentTypes": [
"百分之",
- "百分比"
+ "百分比",
+ "占比"
]
}
}
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json
index 614f8bcc4..b2292105c 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hans.lproj/UnitDescriptions.json
@@ -1266,15 +1266,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json
index 07558f82b..f997cc1db 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Resources/zh-Hant.lproj/UnitDescriptions.json
@@ -1487,15 +1487,6 @@
"identifier" : "nanoseconds"
}
],
- "currency" : [
- {
- "symbol" : "USD",
- "aliases" : [
- "美元"
- ],
- "identifier" : "usd"
- }
- ],
"frequency" : [
{
"symbol" : "Hz",
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/SoulverCore b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/SoulverCore
index a7f843dda..514dc518a 100755
Binary files a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/SoulverCore and b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/SoulverCore differ
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources
index c15eefaa5..014bd3d8b 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources
@@ -6,7 +6,7 @@
Resources/Info.plist
- 4ic55fMpJVJ7q+pKi6aI9xPplDE=
+ IdaUVuml1gjm5IEMpx3M9vvbRqA=
Resources/de.lproj/Cities.json
@@ -66,7 +66,7 @@
hash
- 1VAB8s59m7+R7LBGLS9JBjmBJyo=
+ sETvueMG9QgGaqsU0CaBAh6GmXE=
optional
@@ -102,7 +102,7 @@
hash
- /VTwVhMyzo8p4PleUN4RJfxPz4E=
+ yOmTSUY2tP5UbixhFVe/eQIaRlg=
optional
@@ -120,7 +120,7 @@
hash
- A+Y1Ee4kmj7t8GfZZ18lymDuLyI=
+ 5k7LfFNKqiBzL/j3pUqnG6FYX3Q=
optional
@@ -165,7 +165,7 @@
hash
- asCKaw2cNzHVjPyH+uH2fTOSxPU=
+ 2Jdelj5pyxr9nzdIh50TtSD8Gy8=
optional
@@ -228,7 +228,7 @@
hash
- NXsdP1rvI/1pUj9kiRTrzd703k4=
+ bq7+F06aS9XOqJksq3uEk7MFyPI=
optional
@@ -255,7 +255,7 @@
hash
- GBtNtxJyKh+ZioKbx0ZjhKJZ6wM=
+ kJ/JHS8kaErLsFpiFY0hmxLQAOk=
optional
@@ -282,7 +282,7 @@
hash
- PWlAkeICGnu9+uZpKJAG45/gAkU=
+ bGUPk7Zf8v/KQAsj3jy5jFcsTxI=
optional
@@ -291,7 +291,7 @@
hash
- UyFdtTR/YEUbs1AdfTRCKKJYhrQ=
+ 9AcznC3Gts6Pp/s+UPlC/2Ui3XY=
optional
@@ -345,7 +345,7 @@
hash
- lHDvW7/FHdulm1FgCAt2v8TABIk=
+ TUIfgv+4m5x61rhoJbx0f+c4W5s=
optional
@@ -371,84 +371,84 @@
hash2
- cXCezGc3xbIwdbnjRtabAJdvd8MFepLhAC9cPhFiLpw=
+ C5z8ShDdaAGRVM4+X3PYPo/C8lH2ewYdmoVo+WaRQiM=
Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftinterface
hash2
- Woc+5mxialComPeKBTZSVwCV7Ecj1hpm4Vzpl1vCF7M=
+ EJK8jE0h9x+4LikqbPfD13jubJL+faMR8p0oUEBhyF0=
Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftmodule
hash2
- 4jaL+IHlvn19tRqEh8wMFtpwfkjUbgeqkGtRQJZPuak=
+ pO1AHcFJkY7V11pcqdhAY5m6/ZdUG/mpEGOUD9HwpoQ=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- cXCezGc3xbIwdbnjRtabAJdvd8MFepLhAC9cPhFiLpw=
+ C5z8ShDdaAGRVM4+X3PYPo/C8lH2ewYdmoVo+WaRQiM=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- Woc+5mxialComPeKBTZSVwCV7Ecj1hpm4Vzpl1vCF7M=
+ EJK8jE0h9x+4LikqbPfD13jubJL+faMR8p0oUEBhyF0=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- 4jaL+IHlvn19tRqEh8wMFtpwfkjUbgeqkGtRQJZPuak=
+ pO1AHcFJkY7V11pcqdhAY5m6/ZdUG/mpEGOUD9HwpoQ=
Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc
hash2
- xnY0RxPxIP9xbfVMFbWJFiTxBBSicXRs6P9UssVj8Pk=
+ QWRVn095RyGhFuLVHtWNt4NpSFxJafFan6M4XefpX6g=
Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface
hash2
- PkueA4wQ+ASSqNatK4OwBbcAtcDV/B9oqKMASsH4D/4=
+ WSQVnf3ml3/0+tjksGszt70TVbQWeNf7QmAiq5B1luI=
Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftmodule
hash2
- lUCfvGkUa3JnM72EYHVKYzDSmeSWKth5pFIuR1Z1VKA=
+ A1zearB+ZIylXZAD2MSumrCy9q2jt17jrJk5eRFwbZo=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
hash2
- xnY0RxPxIP9xbfVMFbWJFiTxBBSicXRs6P9UssVj8Pk=
+ QWRVn095RyGhFuLVHtWNt4NpSFxJafFan6M4XefpX6g=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
hash2
- PkueA4wQ+ASSqNatK4OwBbcAtcDV/B9oqKMASsH4D/4=
+ WSQVnf3ml3/0+tjksGszt70TVbQWeNf7QmAiq5B1luI=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
hash2
- lUCfvGkUa3JnM72EYHVKYzDSmeSWKth5pFIuR1Z1VKA=
+ A1zearB+ZIylXZAD2MSumrCy9q2jt17jrJk5eRFwbZo=
Modules/module.modulemap
@@ -462,7 +462,7 @@
hash2
- 4CxK1Nyl/qsAowMmZlBDhNq7hBwFju+sF/BHl2D3uhk=
+ FabXJ+vUCM9hhqlYrGD/lhTKlizLuLyL9GTxX+gILlQ=
Resources/de.lproj/Cities.json
@@ -523,7 +523,7 @@
hash2
- f1+hHC9SfVCNiDBBBt/PVS5s8f/S6Nv8YXo81lfO1pU=
+ SFI0qeK6klx1qGHhK9M06vrBLlY4LttmNdUxgCkdGI0=
optional
@@ -559,7 +559,7 @@
hash2
- 6OzvhB3pwbllUHrLpSI1Pw3cH5/wMydjeVqfLJ7XFlM=
+ IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
optional
@@ -577,7 +577,7 @@
hash2
- befc/Ej2pZuqyrbHu/ZImvisUwoqm8YxqQ/M4sq6xTo=
+ DL3YIrOnhEq570T0LT+QXRr6ZPwx15rAcRqGTqp3q5A=
optional
@@ -622,7 +622,7 @@
hash2
- ezIiz4MxZUo7fjSYb94TcZ0EKsRsjba12p3niQVsoyc=
+ 1eXpGQxWYk2bfjiJ6Opb6tf68Q4gd1WLnnzPZV36EKU=
optional
@@ -685,7 +685,7 @@
hash2
- IxO/BrrQ4MbnwuonZbSa9S45SgKJTisKFr+xaQnwJik=
+ JHT6uvGR1V2Ioz1GuRPAlyTnWE2Y5WqdeTxJHNlwUbs=
optional
@@ -712,7 +712,7 @@
hash2
- jMxFKC6wjbtxymH+lQ9YIngAx774m/fgemNMl4UNCFc=
+ /H/XDN8FaDRs6X+QYWsflMu2xSQMSg4h50WOeWyLTLs=
optional
@@ -739,7 +739,7 @@
hash2
- Eis6mLQJ4UTZoE42W57jmSfhePEiv19lQlbBL8I2H7E=
+ E8Uwu97QcC+qocYR5JVS9H6fpBrAEI7BYUDjoEd3AsI=
optional
@@ -748,7 +748,7 @@
hash2
- qA9i7SGcaND7068FL3BR3+1RIUH6ykGpLaNkp3MNotU=
+ +sJO3Tnv6v0NxMoViMDSe8Jr/I+eWJ0H0rab0kLzzNk=
optional
@@ -802,7 +802,7 @@
hash2
- UHs6GAnHo5ItErSp1XJhjsboDrZ0zStoBCuLUrEXYEE=
+ YJ5ilrdX7NAeAxFeUl1QjGfFQa4RRqKUQ+goWzz/qwg=
optional