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