diff --git a/Package.swift b/Package.swift
index 061c09acd..fb6dd6f34 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.1/SoulverCore.xcframework.zip",
- checksum: "4ee4b40a4e67218639fb54de030934d37eb1c76228459857ab4972870d33d078"),
+ url: "https://github.com/soulverteam/SoulverCore/releases/download/1.4.0/SoulverCore.xcframework.zip",
+ checksum: "f67706273fb7ec8c7b2e60e6f2b1c0126ca20891daf5758e57244ec6d57a1d82"),
]
)
diff --git a/SoulverCore.xcframework/Info.plist b/SoulverCore.xcframework/Info.plist
index 47e6ca75a..dc00e50b2 100644
--- a/SoulverCore.xcframework/Info.plist
+++ b/SoulverCore.xcframework/Info.plist
@@ -19,18 +19,15 @@
LibraryIdentifier
- ios-arm64_x86_64-simulator
+ ios-arm64
LibraryPath
SoulverCore.framework
SupportedArchitectures
arm64
- x86_64
SupportedPlatform
ios
- SupportedPlatformVariant
- simulator
LibraryIdentifier
@@ -49,15 +46,18 @@
LibraryIdentifier
- ios-arm64
+ ios-arm64_x86_64-simulator
LibraryPath
SoulverCore.framework
SupportedArchitectures
arm64
+ x86_64
SupportedPlatform
ios
+ SupportedPlatformVariant
+ simulator
CFBundlePackageType
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Headers/SoulverCore-Swift.h b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Headers/SoulverCore-Swift.h
index e2414a92a..30830a7e2 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Headers/SoulverCore-Swift.h
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Headers/SoulverCore-Swift.h
@@ -1,4 +1,4 @@
-// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// Generated by Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
#ifndef SOULVERCORE_SWIFT_H
#define SOULVERCORE_SWIFT_H
#pragma clang diagnostic push
@@ -206,6 +206,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+@class NSNumber;
/// Subclass of Operation
that adds support of asynchronous operations.
///
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist
index a548656f2..ef9e3aad9 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 c39b7fdfd..8b6a6d2a3 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 51b8e552c..4d8413357 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-ios13.6 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 c39b7fdfd..8b6a6d2a3 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 51b8e552c..4d8413357 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-ios13.6 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore
index 566675550..de6d4d90e 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 5d9db442b..1c049c3d7 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources
@@ -6,7 +6,7 @@
Headers/SoulverCore-Swift.h
- C7AIHgSI8t0fsqMAwVdbCa5Ki18=
+ aCBluMlOaa6iEU/4ZZNvwJazSSY=
Headers/SoulverCore.h
@@ -14,31 +14,31 @@
Info.plist
- 41b5rfc/jhsQvPgXHRXhl3Bcy2o=
+ tjuIVmfLcecpOPCanBj2cwij6/I=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftdoc
- MRX6Nxufw3samwkRMAGoBAqqvHw=
+ f0HPhL/gUn924wFKaXrKG54LbZs=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface
- bpOx24VEBL5fsZd5cnXRU6lKugc=
+ KGyhvpe0bqWg/pxAr890Zu7YjpY=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftmodule
- 77wipZQ9k5CiOfIua61BFMlbR6Y=
+ lH6j1ynevv3XtKILystZKsc2dLg=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
- MRX6Nxufw3samwkRMAGoBAqqvHw=
+ f0HPhL/gUn924wFKaXrKG54LbZs=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
- bpOx24VEBL5fsZd5cnXRU6lKugc=
+ KGyhvpe0bqWg/pxAr890Zu7YjpY=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
- 77wipZQ9k5CiOfIua61BFMlbR6Y=
+ lH6j1ynevv3XtKILystZKsc2dLg=
Modules/module.modulemap
@@ -138,7 +138,7 @@
hash
- yOmTSUY2tP5UbixhFVe/eQIaRlg=
+ T1fY6yGBPqbnKiBmMxhL1u//wYY=
optional
@@ -393,7 +393,7 @@
hash2
- M/4x90GbKzfpuJrJZPSL1HdwGDfxkgz7kzMsT6Gm51w=
+ 2LaRetRIQPCeIwH6i3mwBk2puYbDN7bHTHaAKX3foSU=
Headers/SoulverCore.h
@@ -407,42 +407,42 @@
hash2
- cJr3OzpUYhYWJ3LTsGHvg5AmvtIY7Z8tPEYV+w1uARE=
+ oiiv9G7L1FbOhUXso5oVN4/j+KobYdYS8lPTiZqvVZI=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface
hash2
- VqfxJIkR50jbnBOaenSDUltQN0Iv5iEJUFQ6D779UPY=
+ 99YQSgueGNOxSXxbniITNWLm84KtjmjJCRYPnbuQN/A=
Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftmodule
hash2
- z/hczrceN4eixi8TNThU/EqxGAMZ7hOHC+o+DF9m6iM=
+ wa3v+44eIV8sArGmuTCQfQHcbJCqChEhrnmpYXmLWDA=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- cJr3OzpUYhYWJ3LTsGHvg5AmvtIY7Z8tPEYV+w1uARE=
+ oiiv9G7L1FbOhUXso5oVN4/j+KobYdYS8lPTiZqvVZI=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- VqfxJIkR50jbnBOaenSDUltQN0Iv5iEJUFQ6D779UPY=
+ 99YQSgueGNOxSXxbniITNWLm84KtjmjJCRYPnbuQN/A=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- z/hczrceN4eixi8TNThU/EqxGAMZ7hOHC+o+DF9m6iM=
+ wa3v+44eIV8sArGmuTCQfQHcbJCqChEhrnmpYXmLWDA=
Modules/module.modulemap
@@ -546,7 +546,7 @@
hash2
- IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
+ 6yTfHuscCVEEzTuLAe3kM06BC3W+YpJ+18a+KuNIgpM=
optional
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 a2af21f32..d64a82ccc 100644
--- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
+++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/en.lproj/CurrencyDescriptions.json
@@ -711,8 +711,8 @@
},
"RON": {
"aliases": [
- "romanian lei",
- "romanian leis"
+ "romanian leu",
+ "romanian lei"
],
"symbol": "RON"
},
@@ -998,7 +998,7 @@
"MDL": {
"aliases": [
"moldovan leu",
- "moldovan leus"
+ "moldovan lei"
],
"symbol": "MDL"
},
@@ -1042,7 +1042,9 @@
"pence": {
"aliases": [
"penny",
- "pennies"
+ "pennies",
+ "british pence",
+ "GBX"
],
"symbol": "pence"
},
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h
index 53948c25c..d9c49f77d 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-maccatalyst/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h
@@ -1,6 +1,6 @@
#if 0
#elif defined(__arm64__) && __arm64__
-// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// Generated by Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
#ifndef SOULVERCORE_SWIFT_H
#define SOULVERCORE_SWIFT_H
#pragma clang diagnostic push
@@ -208,6 +208,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+@class NSNumber;
/// Subclass of Operation
that adds support of asynchronous operations.
///
@@ -241,7 +242,7 @@ SWIFT_CLASS("_TtC11SoulverCore21AsynchronousOperation")
#endif
#elif defined(__x86_64__) && __x86_64__
-// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// Generated by Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
#ifndef SOULVERCORE_SWIFT_H
#define SOULVERCORE_SWIFT_H
#pragma clang diagnostic push
@@ -449,6 +450,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+@class NSNumber;
/// Subclass of Operation
that adds support of asynchronous operations.
///
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 78d8f9e47..b01d5045b 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 8a88d475b..6ca4906f1 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-ios13.6-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 78d8f9e47..b01d5045b 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 8a88d475b..6ca4906f1 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-ios13.6-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 668377df4..bde1c8806 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 c11451d13..6caa506d8 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target x86_64-apple-ios13.6-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 668377df4..bde1c8806 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 c11451d13..6caa506d8 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target x86_64-apple-ios13.6-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 dab75d41c..79dd12d0a 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,29 +17,29 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.3.1
+ 1.4.0
CFBundleSupportedPlatforms
MacOSX
CFBundleVersion
- 16
+ 17
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E262
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1250
DTXcodeBuild
- 12D4e
+ 12E262
LSMinimumSystemVersion
10.15
NSHumanReadableCopyright
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 a2af21f32..d64a82ccc 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
@@ -711,8 +711,8 @@
},
"RON": {
"aliases": [
- "romanian lei",
- "romanian leis"
+ "romanian leu",
+ "romanian lei"
],
"symbol": "RON"
},
@@ -998,7 +998,7 @@
"MDL": {
"aliases": [
"moldovan leu",
- "moldovan leus"
+ "moldovan lei"
],
"symbol": "MDL"
},
@@ -1042,7 +1042,9 @@
"pence": {
"aliases": [
"penny",
- "pennies"
+ "pennies",
+ "british pence",
+ "GBX"
],
"symbol": "pence"
},
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 b12eef715..b7b68d162 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 b3ddf7af6..2d2f11438 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
- r4JY2h3Lxkro7HJHeJnBuCdRHgo=
+ ipKyS5J2nU4TxLOAj2SEtmIFzhY=
Resources/de.lproj/Cities.json
@@ -102,7 +102,7 @@
hash
- yOmTSUY2tP5UbixhFVe/eQIaRlg=
+ T1fY6yGBPqbnKiBmMxhL1u//wYY=
optional
@@ -357,7 +357,7 @@
hash2
- 1Kv2EG7R8UWfMYYEbLha7mFHsRNB+bqWOoi4fktLoBw=
+ id+H2KZ1dfx0fQa0jKNmAsF+2z8vZTwMO3H2ot9CJfA=
Headers/SoulverCore.h
@@ -371,84 +371,84 @@
hash2
- dBEANyA0IcXv+Fga7reg/yVaWTfK2vq16svC+nZL0Mg=
+ rB12dCr2zNmYKaWS6mBycMRI8ioeteLVS1qgqVv2apQ=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftinterface
hash2
- rXZJCEBUJVVjStY95psmUvOtO5N7t4jUg6VjhV5KWu0=
+ ffCvt/bgSdqA2BQGCVXkgWzu8uf6OsKQVyO+EaLDEhE=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-macabi.swiftmodule
hash2
- Kj1IyscoGo4Sgg4YnT49YkYARPy4GMfwqszEYYW+y9I=
+ 1aRBcJ/UnhbM+jtD0veLlvqDXk8tjhl3D72hPDVSpQY=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- dBEANyA0IcXv+Fga7reg/yVaWTfK2vq16svC+nZL0Mg=
+ rB12dCr2zNmYKaWS6mBycMRI8ioeteLVS1qgqVv2apQ=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- rXZJCEBUJVVjStY95psmUvOtO5N7t4jUg6VjhV5KWu0=
+ ffCvt/bgSdqA2BQGCVXkgWzu8uf6OsKQVyO+EaLDEhE=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- Kj1IyscoGo4Sgg4YnT49YkYARPy4GMfwqszEYYW+y9I=
+ 1aRBcJ/UnhbM+jtD0veLlvqDXk8tjhl3D72hPDVSpQY=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftdoc
hash2
- ccphtiHDjphaTzGIJQu3EUoMC9l36ZrNOh2GuLSqfAo=
+ d3OodS3D2bGm8q801gH/FNsgu5mDcjmWnNmRnuOCxHQ=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftinterface
hash2
- HA+idfn2y6sOC4ympbO6bC1VsLkQCRQ0xb+cdxiC+DA=
+ IOQBFYu35m+BG1WxQmqfnKc9+s5YZwzr6Zu9XoMZtOc=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-macabi.swiftmodule
hash2
- MxM/fsoenTQ5RWKAg0TovuiQmgCaVBgN72JnZKEMP5I=
+ vpDthCCxQmr4PnrKLS+gLfo73I9AJrS6q5/vaFIUCfY=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
hash2
- ccphtiHDjphaTzGIJQu3EUoMC9l36ZrNOh2GuLSqfAo=
+ d3OodS3D2bGm8q801gH/FNsgu5mDcjmWnNmRnuOCxHQ=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
hash2
- HA+idfn2y6sOC4ympbO6bC1VsLkQCRQ0xb+cdxiC+DA=
+ IOQBFYu35m+BG1WxQmqfnKc9+s5YZwzr6Zu9XoMZtOc=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
hash2
- MxM/fsoenTQ5RWKAg0TovuiQmgCaVBgN72JnZKEMP5I=
+ vpDthCCxQmr4PnrKLS+gLfo73I9AJrS6q5/vaFIUCfY=
Modules/module.modulemap
@@ -462,7 +462,7 @@
hash2
- OdsCYwFlDcza390B28gb81xddKTIJU2EoZiZnWkwjX0=
+ 49tPddSUexka+cOYLJvZbpUioKLznrKavHR3g27UIKk=
Resources/de.lproj/Cities.json
@@ -559,7 +559,7 @@
hash2
- IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
+ 6yTfHuscCVEEzTuLAe3kM06BC3W+YpJ+18a+KuNIgpM=
optional
diff --git a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h
index 53948c25c..d9c49f77d 100644
--- a/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h
+++ b/SoulverCore.xcframework/ios-arm64_x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h
@@ -1,6 +1,6 @@
#if 0
#elif defined(__arm64__) && __arm64__
-// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// Generated by Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
#ifndef SOULVERCORE_SWIFT_H
#define SOULVERCORE_SWIFT_H
#pragma clang diagnostic push
@@ -208,6 +208,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+@class NSNumber;
/// Subclass of Operation
that adds support of asynchronous operations.
///
@@ -241,7 +242,7 @@ SWIFT_CLASS("_TtC11SoulverCore21AsynchronousOperation")
#endif
#elif defined(__x86_64__) && __x86_64__
-// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// Generated by Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
#ifndef SOULVERCORE_SWIFT_H
#define SOULVERCORE_SWIFT_H
#pragma clang diagnostic push
@@ -449,6 +450,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+@class NSNumber;
/// Subclass of Operation
that adds support of asynchronous operations.
///
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 1764240cf..c45d84bf8 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 a27c00baa..620cccc61 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 c7d44e3c2..2d7087704 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-ios13.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 a27c00baa..620cccc61 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 c7d44e3c2..2d7087704 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-ios13.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 1ed8cec74..6a9fd1225 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 449868ec4..8904923dc 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target x86_64-apple-ios13.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 1ed8cec74..6a9fd1225 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 449868ec4..8904923dc 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target x86_64-apple-ios13.6-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 442881a3d..90456a3d6 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 321746b13..a8b99eb67 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
@@ -6,7 +6,7 @@
Headers/SoulverCore-Swift.h
- E9qI597vzpQgrxjQ5Qg0igoLDow=
+ tMvIoINDpgdT/fEEIcsH52sRBwk=
Headers/SoulverCore.h
@@ -14,55 +14,55 @@
Info.plist
- dil+YSE4oBkeWfTcs2lhwUUGMxk=
+ 75x6CwwZP6UuZiUfVtYjHDycWy0=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc
- 2jH5qvOqnBHzSoEOao6h2DUM5HE=
+ rxCS4nZjwN/mV88IJqUnGws/Ai0=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface
- f+eXTnG6NkzDv09TcoxkaNqa+bo=
+ 5aEsLkmlmvGDjdv7X/RcMyScd5Q=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftmodule
- 3JVVja1Ru78jf6A3OnekkRCk3tU=
+ NgH1XRtV0+NAXXRxU9k4JFjvnro=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
- 2jH5qvOqnBHzSoEOao6h2DUM5HE=
+ rxCS4nZjwN/mV88IJqUnGws/Ai0=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
- f+eXTnG6NkzDv09TcoxkaNqa+bo=
+ 5aEsLkmlmvGDjdv7X/RcMyScd5Q=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
- 3JVVja1Ru78jf6A3OnekkRCk3tU=
+ NgH1XRtV0+NAXXRxU9k4JFjvnro=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
- H5RRf+LpbEhYBUBBibb1Z6Lq9C8=
+ /5iwU/Awoxm9CATgI6wJUQwm6Cc=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
- JNPrzvNm2+VcL5FPT21y+XVFNs8=
+ Jl8obV4MBZgYykUFCflN1+Rio4o=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
- tataVih47Hv665eLFqnlggsdBmI=
+ L+7SsYBYjKl49cVxAHbnMaHX2T8=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
- H5RRf+LpbEhYBUBBibb1Z6Lq9C8=
+ /5iwU/Awoxm9CATgI6wJUQwm6Cc=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
- JNPrzvNm2+VcL5FPT21y+XVFNs8=
+ Jl8obV4MBZgYykUFCflN1+Rio4o=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
- tataVih47Hv665eLFqnlggsdBmI=
+ L+7SsYBYjKl49cVxAHbnMaHX2T8=
Modules/module.modulemap
@@ -162,7 +162,7 @@
hash
- yOmTSUY2tP5UbixhFVe/eQIaRlg=
+ T1fY6yGBPqbnKiBmMxhL1u//wYY=
optional
@@ -417,7 +417,7 @@
hash2
- 1Kv2EG7R8UWfMYYEbLha7mFHsRNB+bqWOoi4fktLoBw=
+ id+H2KZ1dfx0fQa0jKNmAsF+2z8vZTwMO3H2ot9CJfA=
Headers/SoulverCore.h
@@ -431,84 +431,84 @@
hash2
- T0L92g8UtsH+vSmFpKiwHwn5GdJdsi8gZ/XtnnVEFwE=
+ yymjsSd5C9tbODqA9UrL9QKWdsUHbnm4w9m6VJkn2rQ=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface
hash2
- 9WmcuzDJqxJUTGLESqkpqXlGm+bqt6a1KKvKRnfyK54=
+ sslOdxcs2uRLdzbOgkWAsM8jf8S/L/l1m7nYM0hp9h0=
Modules/SoulverCore.swiftmodule/arm64-apple-ios-simulator.swiftmodule
hash2
- bo/M6bghWnTKFHklRu3hFiVkyBWFOzM4sp2L++TJnsM=
+ K5Ug6JW2igV3BBINyVkLDZ89JrfbNY2gea5ViOUMImY=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- T0L92g8UtsH+vSmFpKiwHwn5GdJdsi8gZ/XtnnVEFwE=
+ yymjsSd5C9tbODqA9UrL9QKWdsUHbnm4w9m6VJkn2rQ=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- 9WmcuzDJqxJUTGLESqkpqXlGm+bqt6a1KKvKRnfyK54=
+ sslOdxcs2uRLdzbOgkWAsM8jf8S/L/l1m7nYM0hp9h0=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- bo/M6bghWnTKFHklRu3hFiVkyBWFOzM4sp2L++TJnsM=
+ K5Ug6JW2igV3BBINyVkLDZ89JrfbNY2gea5ViOUMImY=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
hash2
- Ydmqp2EscusuYq1aTtAUr2rzlfVN6DDbHSEKDhGs2X0=
+ cfe59guPFhK+LxBO+TKSWF1k9sAYm0ETAjWz2amtw28=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
hash2
- 8nZzYsTArfo3XzNw46lTLpiyvKTj49eGuLW6Q1rAcIw=
+ Kwl61mJ/Cb6Fohe0xMKVrnCDfJFPfy8DqHvE76qiIFY=
Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
hash2
- y9NPvunwHM8chPWgjnDxjW2NksvCFfg9CjQAiXxXKB8=
+ qQDQc2HIFrYgAEFf+J3twQ65EFgMyUf7PENv+dShT10=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
hash2
- Ydmqp2EscusuYq1aTtAUr2rzlfVN6DDbHSEKDhGs2X0=
+ cfe59guPFhK+LxBO+TKSWF1k9sAYm0ETAjWz2amtw28=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
hash2
- 8nZzYsTArfo3XzNw46lTLpiyvKTj49eGuLW6Q1rAcIw=
+ Kwl61mJ/Cb6Fohe0xMKVrnCDfJFPfy8DqHvE76qiIFY=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
hash2
- y9NPvunwHM8chPWgjnDxjW2NksvCFfg9CjQAiXxXKB8=
+ qQDQc2HIFrYgAEFf+J3twQ65EFgMyUf7PENv+dShT10=
Modules/module.modulemap
@@ -612,7 +612,7 @@
hash2
- IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
+ 6yTfHuscCVEEzTuLAe3kM06BC3W+YpJ+18a+KuNIgpM=
optional
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 a2af21f32..d64a82ccc 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
@@ -711,8 +711,8 @@
},
"RON": {
"aliases": [
- "romanian lei",
- "romanian leis"
+ "romanian leu",
+ "romanian lei"
],
"symbol": "RON"
},
@@ -998,7 +998,7 @@
"MDL": {
"aliases": [
"moldovan leu",
- "moldovan leus"
+ "moldovan lei"
],
"symbol": "MDL"
},
@@ -1042,7 +1042,9 @@
"pence": {
"aliases": [
"penny",
- "pennies"
+ "pennies",
+ "british pence",
+ "GBX"
],
"symbol": "pence"
},
diff --git a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h
index 53948c25c..d9c49f77d 100644
--- a/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h
+++ b/SoulverCore.xcframework/macos-arm64_x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h
@@ -1,6 +1,6 @@
#if 0
#elif defined(__arm64__) && __arm64__
-// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// Generated by Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
#ifndef SOULVERCORE_SWIFT_H
#define SOULVERCORE_SWIFT_H
#pragma clang diagnostic push
@@ -208,6 +208,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+@class NSNumber;
/// Subclass of Operation
that adds support of asynchronous operations.
///
@@ -241,7 +242,7 @@ SWIFT_CLASS("_TtC11SoulverCore21AsynchronousOperation")
#endif
#elif defined(__x86_64__) && __x86_64__
-// Generated by Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// Generated by Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
#ifndef SOULVERCORE_SWIFT_H
#define SOULVERCORE_SWIFT_H
#pragma clang diagnostic push
@@ -449,6 +450,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+@class NSNumber;
/// Subclass of Operation
that adds support of asynchronous operations.
///
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 5e904b8b5..e4eec2c7a 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 5b83a8bcd..b099bf64d 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-macos10.14.4 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 5e904b8b5..e4eec2c7a 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 5b83a8bcd..b099bf64d 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target arm64-apple-macos10.14.4 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 a96ab8829..045930be3 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 705f5ec2a..4c8935552 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target x86_64-apple-macos10.14.4 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 a96ab8829..045930be3 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 705f5ec2a..4c8935552 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
@@ -1,28 +1,28 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
+// swift-compiler-version: Apple Swift version 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)
// swift-module-flags: -target x86_64-apple-macos10.14.4 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore
import Foundation
@_exported import SoulverCore
import Swift
-public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
+final public class VariableList : Swift.CustomDebugStringConvertible, Swift.Equatable, Swift.Hashable {
public init()
convenience public init(variableList: SoulverCore.VariableList)
convenience public init(variables: [SoulverCore.Variable])
- public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
- public func allVariables() -> [SoulverCore.Variable]
- public func variablesExludingLineReferences() -> [SoulverCore.Variable]
- public func singleWordVariables() -> [SoulverCore.Variable]
- public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
- public func setVariable(_ variable: SoulverCore.Variable)
- public func setVariables(_ variables: [SoulverCore.Variable])
- public func clearVariable(withName name: Swift.String)
- public var debugDescription: Swift.String {
+ final public func provideDefinitionsForValuesWith(definitionBlock: (SoulverCore.RawExpression) -> SoulverCore.CalculationResult)
+ final public func allVariables() -> [SoulverCore.Variable]
+ final public func variablesExludingLineReferences() -> [SoulverCore.Variable]
+ final public func singleWordVariables() -> [SoulverCore.Variable]
+ final public func multiWordVariables(reverseSortByLength: Swift.Bool) -> [SoulverCore.Variable]
+ final public func setVariable(_ variable: SoulverCore.Variable)
+ final public func setVariables(_ variables: [SoulverCore.Variable])
+ final public func clearVariable(withName name: Swift.String)
+ final public var debugDescription: Swift.String {
get
}
public static func == (lhs: SoulverCore.VariableList, rhs: SoulverCore.VariableList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
@objc deinit
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
@@ -38,10 +38,10 @@ public enum DatespanType {
case season
case quarter
public static func == (a: SoulverCore.DatespanType, b: SoulverCore.DatespanType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum DatespanSubtype {
case summer
@@ -53,10 +53,10 @@ public enum DatespanSubtype {
case thirdQuarter
case fourthQuarter
public static func == (a: SoulverCore.DatespanSubtype, b: SoulverCore.DatespanSubtype) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct Datespan : Swift.Equatable {
public static func == (a: SoulverCore.Datespan, b: SoulverCore.Datespan) -> Swift.Bool
@@ -88,13 +88,13 @@ public struct LineReference : Swift.Equatable, Swift.Codable, Swift.Hashable, Sw
public var description: Swift.String {
get
}
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.LineReference, b: SoulverCore.LineReference) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public protocol Evaluator {
func evaluate(_ tokenList: SoulverCore.TokenList) -> SoulverCore.EvaluationResult
@@ -143,15 +143,15 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable {
public var associatedOtherUnits: [SoulverCore.UnitIdentifier] {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitType]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitType] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIterable, Swift.Codable {
case metersPerSecondSquared
@@ -601,15 +601,15 @@ public enum UnitIdentifier : Swift.String, Swift.RawRepresentable, Swift.CaseIte
public var motherUnitIdentifier: SoulverCore.UnitIdentifier {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitIdentifier]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitIdentifier] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
extension Int {
public func compare(_ other: Swift.Int) -> Foundation.ComparisonResult
@@ -620,34 +620,12 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
public var timeZone: Foundation.TimeZone {
get
}
- public var customVariables: [SoulverCore.Variable] {
- get
- set
- }
- public var customUnits: [SoulverCore.CustomUnit] {
- get
- set
- }
- public var customSymbols: [SoulverCore.UnitSymbolReplacement] {
- get
- set
- }
- public var customPlaces: [SoulverCore.Place] {
- get
- set
- }
- public var customFunctions: [SoulverCore.CustomFunction] {
- get
- set
- }
- public var dynamicVariables: [SoulverCore.DynamicVariable] {
- get
- set
- }
- public var currencyUnits: [SoulverCore.UnitDescription] {
- get
- set
- }
+ public var customUnits: [SoulverCore.CustomUnit]
+ public var currencyUnits: [SoulverCore.UnitDescription]
+ public var customSymbols: [SoulverCore.UnitSymbolReplacement]
+ public var customPlaces: [SoulverCore.Place]
+ public var customFunctions: [SoulverCore.CustomFunction]
+ public var dynamicVariables: [SoulverCore.DynamicVariable]
public var holidays: [SoulverCore.Holiday]
public var unitSystem: SoulverCore.UnitMeasurementSystem
public var featureFlags: SoulverCore.EngineFeatureFlags
@@ -663,7 +641,7 @@ public struct EngineCustomization : Swift.Equatable, Swift.Hashable {
}
}
extension EngineCustomization {
- public static func engineWithLocale(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
+ public static func standardWith(locale: Foundation.Locale) -> SoulverCore.EngineCustomization
public func isOperator(text: Swift.String) -> Swift.Bool
public func longFormNameFor(unit: SoulverCore.SCUnit) -> Swift.String?
}
@@ -723,80 +701,80 @@ public struct Place : Swift.Hashable, Swift.Equatable {
case timeZoneAbbreviation
case unspecified
public static func == (a: SoulverCore.Place.PlaceType, b: SoulverCore.Place.PlaceType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(name: Swift.String, aliases: [Swift.String]?, timeZone: Foundation.TimeZone, type: SoulverCore.Place.PlaceType = .unspecified)
public let name: Swift.String
public let aliases: [Swift.String]?
public let timeZone: Foundation.TimeZone
public let type: SoulverCore.Place.PlaceType
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Place, b: SoulverCore.Place) -> Swift.Bool
}
@_hasMissingDesignatedInitializers public class LineCollectionCompletions {
public class func completionsFor(textFragment: Swift.String, charIndex: Swift.Int, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String]
@objc deinit
}
-public class Line : Swift.Codable {
- public var expression: Swift.String
- public var behaviour: SoulverCore.LineCalculationBehaviour
- public var skipStatistics: Swift.Bool
- public var lineReference: SoulverCore.LineReference?
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var tags: [Swift.String]
- public var result: SoulverCore.CalculationResult?
- public var parsedExpression: SoulverCore.TokenList?
- public var apparentLineType: SoulverCore.ApparentLineType?
- public var lineIndex: SoulverCore.LineIndex?
- public var explicitDependencies: Foundation.IndexSet?
- public var variableEnvironment: SoulverCore.VariableList?
- public var rawResult: Swift.String {
+final public class Line : Swift.Codable {
+ final public var expression: Swift.String
+ final public var behaviour: SoulverCore.LineCalculationBehaviour
+ final public var skipStatistics: Swift.Bool
+ final public var lineReference: SoulverCore.LineReference?
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var tags: [Swift.String]
+ final public var result: SoulverCore.CalculationResult?
+ final public var parsedExpression: SoulverCore.TokenList?
+ final public var apparentLineType: SoulverCore.ApparentLineType?
+ final public var lineIndex: SoulverCore.LineIndex?
+ final public var explicitDependencies: Foundation.IndexSet?
+ final public var variableEnvironment: SoulverCore.VariableList?
+ final public var rawResult: Swift.String {
get
}
- public var formattedResult: Swift.String {
+ final public var formattedResult: Swift.String {
get
}
convenience public init(_ expression: SoulverCore.RawExpression)
public init()
required public init(from decoder: Swift.Decoder) throws
- public func encode(to encoder: Swift.Encoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
@objc deinit
}
extension Line {
- public var isSubtotal: Swift.Bool {
+ final public var isSubtotal: Swift.Bool {
get
}
- public var isHeading: Swift.Bool {
+ final public var isHeading: Swift.Bool {
get
}
}
extension Line {
- public var declaredVariable: SoulverCore.Variable? {
+ final public var declaredVariable: SoulverCore.Variable? {
get
}
- public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
- public var indexesReferencedInExpression: Foundation.IndexSet {
+ final public func referencesInExpressionTo(variable: SoulverCore.Variable) -> [SoulverCore.Token]
+ final public var indexesReferencedInExpression: Foundation.IndexSet {
get
}
}
extension Line : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.Line, rhs: SoulverCore.Line) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
+ final public func hash(into hasher: inout Swift.Hasher)
public static var EmptyLine: SoulverCore.Line {
get
}
- public var hashValue: Swift.Int {
+ final public var hashValue: Swift.Int {
get
}
}
extension Line : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
@@ -805,16 +783,16 @@ public enum ApparentLineType {
case comment
case variableDeclaration
public static func == (a: SoulverCore.ApparentLineType, b: SoulverCore.ApparentLineType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum LineCalculationBehaviour : Swift.String, Swift.Codable {
case evaluatesExpression
case sumsLinesAbove
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -828,8 +806,8 @@ public enum CurrencySet : Swift.String {
case popular
case realWorld
case realWorldPlusCrypto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -837,16 +815,16 @@ public enum CurrencySet : Swift.String {
public struct CurrencySourceCredentials {
public init(currencyLayerKey: Swift.String?, nomicsKey: Swift.String?)
}
-@_hasMissingDesignatedInitializers public class CurrencyList {
+@_hasMissingDesignatedInitializers final public class CurrencyList {
public static let shared: SoulverCore.CurrencyList
- public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
- public var defaultCurrencySet: SoulverCore.CurrencySet {
+ final public var rateRefreshingCredentials: SoulverCore.CurrencySourceCredentials
+ final public var defaultCurrencySet: SoulverCore.CurrencySet {
get
set
}
- public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
- public func saveCurrenciesTo(url: Foundation.URL)
- public func loadCurrenciesFrom(url: Foundation.URL) throws
+ final public func refreshRates(completionHandler: ((Swift.Bool) -> Swift.Void)? = nil)
+ final public func saveCurrenciesTo(url: Foundation.URL)
+ final public func loadCurrenciesFrom(url: Foundation.URL) throws
@objc deinit
}
public typealias VariableName = Swift.String
@@ -856,8 +834,8 @@ public enum VariableType : Swift.String, Swift.RawRepresentable, Swift.Codable {
case local
case global
case lineReference
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -870,8 +848,8 @@ public struct Variable : Swift.Codable {
public var definition: SoulverCore.EvaluationResult?
public var type: SoulverCore.VariableType
public var isPhrase: Swift.Bool?
- public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
extension Variable : Swift.Hashable, Swift.Equatable {
public static func == (lhs: SoulverCore.Variable, rhs: SoulverCore.Variable) -> Swift.Bool
@@ -906,7 +884,7 @@ public struct LineCollectionArchive : Swift.Codable {
}
@_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 decode(encodedLineSheet: Foundation.Data, withCustomization customization: SoulverCore.EngineCustomization, preferredLocale locale: Foundation.Locale, defaultLineFormatting: SoulverCore.FormattingPreferences?, baseVariables: SoulverCore.VariableList?, 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
@@ -922,7 +900,10 @@ public protocol Routine : AnyObject {
extension Routine {
public func goWithCompletionBlock(completion: @escaping (() -> Swift.Void))
}
-@_hasMissingDesignatedInitializers public class StaticResouces {
+@_hasMissingDesignatedInitializers final public class StaticResouces {
+ public static var localizedStandardPlaces: [SoulverCore.Place] {
+ get
+ }
public static var localizedCountries: [SoulverCore.Country] {
get
}
@@ -938,10 +919,10 @@ public struct DynamicVariable : Swift.Hashable, Swift.Equatable {
case distantValue
case subsheet
public static func == (a: SoulverCore.DynamicVariable.DynamicVariableType, b: SoulverCore.DynamicVariable.DynamicVariableType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public init(symbol: Swift.String, type: SoulverCore.DynamicVariable.DynamicVariableType = .undefined, handler: @escaping SoulverCore.DynamicVariableDefinitonBlock)
public let type: SoulverCore.DynamicVariable.DynamicVariableType
@@ -990,10 +971,10 @@ public enum DatestampType {
case quarter
case unspecified
public static func == (a: SoulverCore.DatestampType, b: SoulverCore.DatestampType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- 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, isAmbiguous: Swift.Bool = false)
@@ -1015,26 +996,30 @@ public struct ExportOptions {
@_hasMissingDesignatedInitializers public class LineCollectionExporter {
public class func jsonDataFor(lineCollection: SoulverCore.LineCollection) -> Foundation.Data?
public class func csvDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
- public class func textDataFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Foundation.Data?
public class func textFor(lineCollection: SoulverCore.LineCollection, options: SoulverCore.ExportOptions) -> Swift.String
@objc deinit
}
-public class Calculator {
- public var formattingPreferences: SoulverCore.FormattingPreferences?
- public var customization: SoulverCore.EngineCustomization {
+final public class Calculator {
+ final public var formattingPreferences: SoulverCore.FormattingPreferences?
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
+ final public var customFunctionEvaluator: SoulverCore.CustomFunctionEvaluator?
public init(customization: SoulverCore.EngineCustomization)
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
- public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> SoulverCore.CalculationResult
+ final public func calculate(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil, completionHandler: @escaping ((SoulverCore.CalculationResult) -> Swift.Void))
@objc deinit
}
public protocol CustomFunctionEvaluator {
func evaluate(customFunction: SoulverCore.CustomFunction, with parameters: [SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
}
extension Calculator {
- public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+ final public func dateFor(_ expression: Swift.String, with variableList: SoulverCore.VariableList? = nil) -> (date: Foundation.Date, result: SoulverCore.CalculationResult)?
+}
+extension Calculator {
+ public static var basic: SoulverCore.Calculator {
+ get
+ }
}
extension IndexSet {
public func isJust(_ integer: Swift.Int) -> Swift.Bool
@@ -1053,22 +1038,23 @@ extension IndexSet {
}
public typealias CustomFunctionHandler = ([SoulverCore.EvaluationResult]) -> SoulverCore.EvaluationResult
public typealias PrototypePlaceholder = Swift.String
-public class CustomType : Swift.Hashable, Swift.Equatable {
+public struct 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?
+ public let prototypePlaceholder: SoulverCore.PrototypePlaceholder
+ public let symbols: [Swift.String]
+ public let associatedObject: Any?
public static func == (lhs: SoulverCore.CustomType, rhs: SoulverCore.CustomType) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
- @objc deinit
public var hashValue: Swift.Int {
get
}
}
public struct CustomFunction : Swift.Hashable, Swift.Equatable {
- public init(prototypeExpression: Swift.String, handler: @escaping SoulverCore.CustomFunctionHandler)
+ public init(prototypeExpression: SoulverCore.PrototypeExpression, handler: @escaping SoulverCore.CustomFunctionHandler)
public var backgroundHandler: SoulverCore.CustomFunctionHandler?
public var customTypes: [SoulverCore.CustomType]?
+ public var aliases: [SoulverCore.PrototypeExpression]?
+ public var prerequisiteTypes: SoulverCore.TokenTypeSet?
public static func == (lhs: SoulverCore.CustomFunction, rhs: SoulverCore.CustomFunction) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
@@ -1077,12 +1063,12 @@ public struct CustomFunction : Swift.Hashable, Swift.Equatable {
}
public struct Airport : Swift.Codable, Swift.Hashable, Swift.Equatable {
public static func == (a: SoulverCore.Airport, b: SoulverCore.Airport) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable {
public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool
@@ -1105,73 +1091,73 @@ extension Token : Swift.CustomDebugStringConvertible {
}
extension TokenList : Swift.Equatable, Swift.Hashable {
public static func == (lhs: SoulverCore.TokenList, rhs: SoulverCore.TokenList) -> Swift.Bool
- public func hash(into hasher: inout Swift.Hasher)
- public var hashValue: Swift.Int {
+ final public func hash(into hasher: inout Swift.Hasher)
+ final public var hashValue: Swift.Int {
get
}
}
-@_hasMissingDesignatedInitializers public class TokenList {
- public var tokens: [SoulverCore.Token]
- public var count: Swift.Int {
+@_hasMissingDesignatedInitializers final public class TokenList {
+ final public var tokens: [SoulverCore.Token]
+ final public var count: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var flattenedTokens: [SoulverCore.Token] {
+ final public var flattenedTokens: [SoulverCore.Token] {
get
}
- public subscript(index: Swift.Int) -> SoulverCore.Token {
+ final public subscript(index: Swift.Int) -> SoulverCore.Token {
get
set(newValue)
}
- public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
- public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
- public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
- public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token]
+ final public func allTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func onlyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func anyTypesHaveBeenPresentIn(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBe type: SoulverCore.TokenType, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenAfter(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
+ final public func tokenBefore(_ token: SoulverCore.Token, mustBeIn types: SoulverCore.TokenTypeSet, ignoreWhitespace: Swift.Bool = true, ignoreTypes: SoulverCore.TokenTypeSet? = nil) -> SoulverCore.Token?
@objc deinit
}
extension TokenList {
- public var rebuiltExpression: SoulverCore.RawExpression {
+ final public var rebuiltExpression: SoulverCore.RawExpression {
get
}
}
extension TokenList : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
+ final public var debugDescription: Swift.String {
get
}
}
extension TokenList {
- public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
- public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
- public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
- public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
+ final public func tokenFor(tokenIndex: SoulverCore.TokenIndex) -> SoulverCore.Token?
+ final public func tokenIndexFor(token: SoulverCore.Token) -> SoulverCore.TokenIndex?
+ final public func tokenFor(characterIndex: Swift.Int, ignoreWhitespace: Swift.Bool = true) -> SoulverCore.Token?
+ final public func findParentOf(childToken: SoulverCore.Token, in tokenList: SoulverCore.TokenList, inRange limitToRange: Swift.ClosedRange? = nil) -> SoulverCore.Token?
}
public typealias TokenListEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void
public typealias TokenListStoppableEnumerationBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?, inout Swift.Bool) -> Swift.Void
public typealias TokenListLeftAndRightEnumerationBlock = (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void
public typealias TokenListTestBlock = (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Bool
extension TokenList {
- public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
- public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
- public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
- public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateSublists(reversed: Swift.Bool, includeSelf: Swift.Bool, enumerationBlock: (SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokens(reversed: Swift.Bool = true, enumerationBlock: (SoulverCore.Token, SoulverCore.TokenList, SoulverCore.Token?) -> Swift.Void)
+ final public func enumerateAllTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, ignoreWhitespace: Swift.Bool, ensureBothSides: Swift.Bool, enumerationBlock: (SoulverCore.Token, SoulverCore.Token?, SoulverCore.Token?, SoulverCore.TokenList) -> Swift.Void)
+ final public func enumerateTokens(reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfType(_ type: SoulverCore.TokenType, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
+ final public func enumerateTokensOfTypes(_ types: SoulverCore.TokenTypeSet, reversed: Swift.Bool, enumerationBlock: (SoulverCore.Token, inout Swift.Bool) -> Swift.Void)
}
extension TokenList {
- public func containsToken(token: SoulverCore.Token) -> Swift.Bool
- public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
+ final public func containsToken(token: SoulverCore.Token) -> Swift.Bool
+ final public func scanForTokenWithTypes(_ tokenTypes: SoulverCore.TokenTypeSet, ignoreParentsWithTypes parentTypes: SoulverCore.TokenTypeSet? = nil) -> Swift.Bool
}
extension TokenList {
- public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
- public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
+ final public func typePrecheck(_ type: SoulverCore.TokenType) -> Swift.Bool
+ final public func typesPrecheck(_ types: SoulverCore.TokenTypeSet) -> Swift.Bool
}
extension TokenList {
public static var EmptyList: SoulverCore.TokenList
@@ -1193,7 +1179,7 @@ extension String {
public var isSingleWhitespace: Swift.Bool {
get
}
- public var isLowerecased: Swift.Bool {
+ public var isLowercased: Swift.Bool {
get
}
public var isUppercased: Swift.Bool {
@@ -1335,14 +1321,14 @@ public enum TokenType : Swift.CaseIterable {
case dateComponents
case literal
public static func == (a: SoulverCore.TokenType, b: SoulverCore.TokenType) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public typealias AllCases = [SoulverCore.TokenType]
public static var allCases: [SoulverCore.TokenType] {
get
}
+ public var hashValue: Swift.Int {
+ get
+ }
}
public enum TokenSubType {
case additionOperator
@@ -1441,10 +1427,10 @@ public enum TokenSubType {
case unknownError
case notSpecified
public static func == (a: SoulverCore.TokenSubType, b: SoulverCore.TokenSubType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
indirect public enum EvaluationResult {
case rawString(Swift.String)
@@ -1467,7 +1453,7 @@ indirect public enum EvaluationResult {
case unit(SoulverCore.SCUnit)
case substance(SoulverCore.Substance)
case datespan(SoulverCore.Datespan)
- case timezone(Foundation.TimeZone)
+ case place(SoulverCore.Place)
case customType(SoulverCore.CustomType)
case pending
case failed
@@ -1487,6 +1473,9 @@ indirect public enum EvaluationResult {
public var datestampValue: SoulverCore.Datestamp? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var unitValue: SoulverCore.SCUnit? {
get
}
@@ -1543,6 +1532,9 @@ extension Token {
public var timespanValue: SoulverCore.Timespan? {
get
}
+ public var placeValue: SoulverCore.Place? {
+ get
+ }
public var timeZoneValue: Foundation.TimeZone? {
get
}
@@ -1568,130 +1560,131 @@ extension Token {
get
}
}
-public class LineCollection {
+final public class LineCollection {
public typealias EvaluatedLinesHandler = (Foundation.IndexSet) -> Swift.Void
- public var lineSheet: SoulverCore.LineSheet {
+ final public var lineSheet: SoulverCore.LineSheet {
get
set
}
- public var customization: SoulverCore.EngineCustomization {
+ final public var customization: SoulverCore.EngineCustomization {
get
}
- public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
+ final public var variableList: SoulverCore.VariableList? {
get
set
}
- public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ final public var defaultLineFormattingPreferences: SoulverCore.FormattingPreferences? {
get
set
}
- public init(customization: SoulverCore.EngineCustomization = EngineCustomization.standard)
- public var deepCopy: SoulverCore.LineCollection {
+ final public var expressionBeautificationOptions: SoulverCore.ExpressionBeautificationOptions? {
+ get
+ set
+ }
+ public init(customization: SoulverCore.EngineCustomization)
+ final public var deepCopy: SoulverCore.LineCollection {
get
}
- public func beginChanges()
- public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
+ final public func beginChanges()
+ final public func endChangesWith(evaluationHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?, dependenciesHandler: SoulverCore.LineCollection.EvaluatedLinesHandler?)
@discardableResult
- public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
- public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
- public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
- public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
- public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
- public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
- public func removeLineAt(lineIndex: SoulverCore.LineIndex)
- public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
- public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ final public func addLine(_ expression: Swift.String = "") -> SoulverCore.Line
+ final public func setLinesWithExpressions(_ expressions: [SoulverCore.RawExpression])
+ final public func insertLineBelow(lineIndex: SoulverCore.LineIndex, with expression: Swift.String)
+ final public func insertLineAt(lineIndex: SoulverCore.LineIndex, withExpression expression: Swift.String)
+ final public func insert(line: SoulverCore.Line, at lineIndex: SoulverCore.LineIndex)
+ final public func moveLineAt(lineIndex: SoulverCore.LineIndex, toLineIndex: SoulverCore.LineIndex)
+ final public func removeLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func replaceLineAt(lineIndex: SoulverCore.LineIndex, with newLine: SoulverCore.Line)
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
get
set(newValue)
}
- public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
+ final public subscript(safe index: SoulverCore.LineIndex) -> SoulverCore.Line? {
get
}
- public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
- public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
- public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
- public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
- public func evaluateAll()
- public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
+ final public func setExpression(expression: Swift.String, forLineAt index: SoulverCore.LineIndex)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences)
+ final public func setFormatting(formattingPreferences: SoulverCore.FormattingPreferences?, forLineAt index: SoulverCore.LineIndex)
+ final public func setTags(tags: [Swift.String], forLineAt index: SoulverCore.LineIndex)
+ final public func setBehaviour(behaviour: SoulverCore.LineCalculationBehaviour, forLineAt index: SoulverCore.LineIndex)
+ final public func evaluateAll()
+ final public func evaluateLinesAt(indexes: Foundation.IndexSet, dependenciesUpdatedHandler: SoulverCore.LineCollection.EvaluatedLinesHandler? = nil)
@discardableResult
- public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
- public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
+ final public func makeReferenceForLineAt(lineIndex: SoulverCore.LineIndex) -> SoulverCore.LineReference
+ final public func clearReferenceForLineAt(lineIndex: SoulverCore.LineIndex)
@discardableResult
- public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
- public func remove(observer: SoulverCore.LineCollectionObserverToken)
- public var quickSum: SoulverCore.CalculationResult? {
+ final public func observeEvaluationWith(handler: @escaping SoulverCore.LineCollection.EvaluatedLinesHandler) -> SoulverCore.LineCollectionObserverToken
+ final public func remove(observer: SoulverCore.LineCollectionObserverToken)
+ final public var quickSum: SoulverCore.CalculationResult? {
get
}
- public var quickAverage: SoulverCore.CalculationResult? {
+ final public var quickAverage: SoulverCore.CalculationResult? {
get
}
- public var quickCount: SoulverCore.CalculationResult? {
+ final public var quickCount: SoulverCore.CalculationResult? {
get
}
- public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
- public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickSumOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickAverageOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
+ final public func quickCountOf(indexes: Foundation.IndexSet) -> SoulverCore.CalculationResult?
@discardableResult
- public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
- public func set(customization: SoulverCore.EngineCustomization)
- public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
+ final public func convertToLocale(_ toLocale: Foundation.Locale) -> Swift.Bool
+ final public func set(customization: SoulverCore.EngineCustomization)
+ final public func performChanges(performBlock: ((SoulverCore.LineCollection) -> Swift.Void)) -> SoulverCore.LineCollectionStateTicket
@discardableResult
- public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
- public func clearStates()
- public var lineCount: Swift.Int {
+ final public func revertToStateWith(ticket: SoulverCore.LineCollectionStateTicket) -> SoulverCore.LineSheetDelta?
+ final public func clearStates()
+ final public var lineCount: Swift.Int {
get
}
- public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public var allIndexes: Foundation.IndexSet {
+ final public func isValidIndex(_ lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public var allIndexes: Foundation.IndexSet {
get
}
- public var lastIndex: Swift.Int {
+ final public var lastIndex: Swift.Int {
get
}
- public var firstIndex: Swift.Int {
+ final public var firstIndex: Swift.Int {
get
}
- public var isEmpty: Swift.Bool {
+ final public var isEmpty: Swift.Bool {
get
}
- public var lines: [SoulverCore.Line] {
+ final public var lines: [SoulverCore.Line] {
get
}
- public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
- public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
- public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
- public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
- public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
- public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
- public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
+ final public func linesAtIndexes(indexes: Foundation.IndexSet) -> [SoulverCore.Line]
+ final public func variableListForLineAtIndex(_ lineIndex: SoulverCore.LineIndex) -> SoulverCore.VariableList
+ final public func tokenFor(tokenIndexPath: SoulverCore.TokenIndexPath) -> SoulverCore.Token?
+ final public func isValidLineReference(UID: SoulverCore.UID, onLineAt lineIndex: SoulverCore.LineIndex) -> Swift.Bool
+ final public func lineForLineReference(lineReference: SoulverCore.LineReference) -> SoulverCore.Line?
+ final public func lineFor(_ lineReferenceVariable: SoulverCore.Variable) -> SoulverCore.Line?
+ final public func formattedDefinitionOf(inlineVariable: SoulverCore.Variable) -> Swift.String?
@discardableResult
- public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
- public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
- public var customEvaluator: SoulverCore.Evaluator? {
+ final public func replaceOccurancesInExpressions(replacements: [Swift.String : Swift.String]) -> Foundation.IndexSet
+ final public func unformattedResultFor(lineIndex: SoulverCore.LineIndex) -> Swift.String
+ final public var customEvaluator: SoulverCore.Evaluator? {
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
+ final public func addSubsheet(reference: SoulverCore.LineReference? = nil) -> SoulverCore.LineReference
+ final public func set(content lineSheet: SoulverCore.LineSheet, forSubsheetWith reference: SoulverCore.LineReference)
+ final public func contentForSubsheetWith(reference: SoulverCore.LineReference) -> SoulverCore.LineSheet?
+ final public func makeReferenceForDynamicSymbol() -> SoulverCore.LineReference
@objc deinit
}
public typealias LineCollectionStateTicket = Swift.String
extension LineCollection : Swift.CustomDebugStringConvertible {
public typealias MultiLineText = Swift.String
- public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
+ final public class func textViewReadyLineCollectionWith(customization: SoulverCore.EngineCustomization) -> SoulverCore.LineCollection
convenience public init(multiLineText: SoulverCore.LineCollection.MultiLineText, customization: SoulverCore.EngineCustomization? = nil)
- public var debugDescription: Swift.String {
+ public static var basic: SoulverCore.LineCollection {
get
}
-}
-extension LineCollection {
- public var engineCustomization: SoulverCore.EngineCustomization {
+ final public var debugDescription: Swift.String {
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
@@ -1702,11 +1695,11 @@ extension LineCollection {
}
}
extension LineCollection {
- public var indexesOfTimeDependentLines: Foundation.IndexSet {
+ final public var indexesOfTimeDependentLines: Foundation.IndexSet {
get
}
- public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
- public var indexesOfPendingLines: Foundation.IndexSet {
+ final public func indexesOfLinesDependentOn(variables: [SoulverCore.Variable]) -> Foundation.IndexSet
+ final public var indexesOfPendingLines: Foundation.IndexSet {
get
}
}
@@ -1716,12 +1709,12 @@ extension LineCollection {
@objc deinit
}
extension LineCollection : Swift.Sequence {
- public func makeIterator() -> SoulverCore.LineCollectionIterator
+ final public func makeIterator() -> SoulverCore.LineCollectionIterator
public typealias Element = SoulverCore.LineCollectionIterator.Element
public typealias Iterator = SoulverCore.LineCollectionIterator
}
extension LineCollection {
- public var text: SoulverCore.LineCollection.MultiLineText {
+ final public var text: SoulverCore.LineCollection.MultiLineText {
get
}
}
@@ -1759,25 +1752,25 @@ public enum LineStyle : Swift.Int {
case heading
case label
case comment
- public typealias RawValue = Swift.Int
public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
get
}
}
-public class LineStyler {
+final public class LineStyler {
public static let MARKDOWN_HEADING_CHARACTER: Swift.String
public static let HEADING_INDICATOR: Swift.String
public static let COMMENT_INDICATOR: Swift.String
public static let LABEL_INDICATOR: Swift.String
public init()
- public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
- public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
- 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 {
+ final public func lineStyleFor(expression: Swift.String) -> SoulverCore.LineStyle
+ final public func style(expression: Swift.String, with style: SoulverCore.LineStyle) -> Swift.String
+ final public func entireLabelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func labelRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingIndicatorRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public func headingRangeIn(_ expression: Swift.String) -> Foundation.NSRange?
+ final public var defaultLabel: Swift.String {
get
}
@objc deinit
@@ -1790,15 +1783,15 @@ public enum UnitSymbolReplacementPosition : Swift.String, Swift.RawRepresentable
public var description: Swift.String {
get
}
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
- public var rawValue: Swift.String {
- get
- }
public typealias AllCases = [SoulverCore.UnitSymbolReplacementPosition]
+ public typealias RawValue = Swift.String
public static var allCases: [SoulverCore.UnitSymbolReplacementPosition] {
get
}
+ public var rawValue: Swift.String {
+ get
+ }
}
public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Codable {
public let originalSymbol: Swift.String
@@ -1806,13 +1799,13 @@ public struct UnitSymbolReplacement : Swift.Equatable, Swift.Hashable, Swift.Cod
public let position: SoulverCore.UnitSymbolReplacementPosition
public init(original: Swift.String, replacement: Swift.String, position: SoulverCore.UnitSymbolReplacementPosition = .before)
public static func standardCustomSymbolsFor(locale: Foundation.Locale) -> [SoulverCore.UnitSymbolReplacement]
- public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.UnitSymbolReplacement, b: SoulverCore.UnitSymbolReplacement) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
+ public init(from decoder: Swift.Decoder) throws
}
public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let name: Swift.String
@@ -1821,12 +1814,12 @@ public struct CustomUnit : Swift.Hashable, Swift.Equatable, Swift.Codable {
public let legacyDefinition: Swift.String?
public init(name: Swift.String, definition: Foundation.Decimal, equivalentUnit: SoulverCore.UnitIdentifier)
public init(from decoder: Swift.Decoder) throws
- public var hashValue: Swift.Int {
- get
- }
public func hash(into hasher: inout Swift.Hasher)
public static func == (a: SoulverCore.CustomUnit, b: SoulverCore.CustomUnit) -> Swift.Bool
public func encode(to encoder: Swift.Encoder) throws
+ public var hashValue: Swift.Int {
+ get
+ }
}
extension Array where Element : Swift.Equatable {
public func doesNotContain(_ element: Element) -> Swift.Bool
@@ -1846,6 +1839,7 @@ extension Array {
public func isValid(index: Swift.Int) -> Swift.Bool
public mutating func trim(where predicate: (Element) throws -> Swift.Bool)
public mutating func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index)
+ public mutating func extract(_ shouldExtract: (Element) -> Swift.Bool) -> [Element]
}
infix operator ~ : AdditionPrecedence
public struct WordFunctionArgument {
@@ -1861,8 +1855,8 @@ public enum UnitMeasurementSystem : Swift.String, Swift.RawRepresentable, Swift.
case customaryUS
case imperial
case metric
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1907,8 +1901,8 @@ public enum SIThreshold : Swift.String {
case atto
case zetto
case yocto
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -1930,19 +1924,19 @@ public struct LineSheetDelta {
case plainTextReference
case markdownLinkStyle
public static func == (a: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy, b: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum ResultFormatting {
case formatted
case raw
public static func == (a: SoulverCore.LineCollectionEnumerator.ResultFormatting, b: SoulverCore.LineCollectionEnumerator.ResultFormatting) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct LineCollectionEnumerationOptions {
public var referenceSubstitutionPolicy: SoulverCore.LineCollectionEnumerator.ReferenceSubstituionPolicy
@@ -1962,6 +1956,7 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public var units: Swift.Bool
public var wordFunctions: Swift.Bool
public var variableDeclarations: Swift.Bool
+ public var unitDeclarations: Swift.Bool
public var hexAndBinary: Swift.Bool
public var cookingSubstances: Swift.Bool
public var bracketComments: Swift.Bool
@@ -1972,11 +1967,11 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl
public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool, inAmbiguityPreferSomethingToNothing: Swift.Bool)
public init(from decoder: Swift.Decoder) throws
public static func == (a: SoulverCore.EngineFeatureFlags, b: SoulverCore.EngineFeatureFlags) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public func encode(to encoder: Swift.Encoder) throws
}
public struct Fraction : Swift.Equatable {
public let decimalValue: Foundation.Decimal
@@ -2005,6 +2000,25 @@ extension SCUnit {
get
}
}
+public class LineCollectionReducer {
+ public var inflectCustomUnits: Swift.Bool
+ public init(lineCollection: SoulverCore.LineCollection)
+ public var returnValue: SoulverCore.CalculationResult {
+ get
+ }
+ public var locallyDefinedVariables: [SoulverCore.Variable] {
+ get
+ }
+ public struct CustomDefinitions {
+ public let customVariables: [SoulverCore.Variable]
+ public let customUnits: [SoulverCore.CustomUnit]
+ public let customPlaces: [SoulverCore.Place]
+ }
+ public var customDefinitions: SoulverCore.LineCollectionReducer.CustomDefinitions {
+ get
+ }
+ @objc deinit
+}
public typealias PrivateUnicodeSymbol = Swift.String
@_hasMissingDesignatedInitializers public class SingleCharacterUIDGenerator {
public class func isUID(symbol: SoulverCore.PrivateUnicodeSymbol) -> Swift.Bool
@@ -2023,12 +2037,12 @@ public struct Country : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.Country, b: SoulverCore.Country) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
public let identifier: Swift.String
@@ -2038,12 +2052,12 @@ public struct City : Swift.Codable, Swift.Equatable, Swift.Hashable {
get
}
public static func == (a: SoulverCore.City, b: SoulverCore.City) -> Swift.Bool
- public init(from decoder: Swift.Decoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
+ public init(from decoder: Swift.Decoder) throws
}
@_hasMissingDesignatedInitializers public class LocaleProvider {
public class func localeWith(identifier: Swift.String) -> Foundation.Locale
@@ -2059,10 +2073,10 @@ public enum EvaluationError : Swift.Error {
case BadDivision
case Other
public static func == (a: SoulverCore.EvaluationError, b: SoulverCore.EvaluationError) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public enum TokenListForm : Swift.Equatable {
case singleNumber(value: Foundation.Decimal)
@@ -2082,7 +2096,7 @@ public struct TokenListMetadata {
public let form: SoulverCore.TokenListForm
}
extension TokenList {
- public var metadata: SoulverCore.TokenListMetadata {
+ final public var metadata: SoulverCore.TokenListMetadata {
get
}
}
@@ -2092,27 +2106,26 @@ public struct NotationPreferences : Swift.Equatable, Swift.Hashable {
case on
case off
public static func == (a: SoulverCore.NotationPreferences.NotationStyle, b: SoulverCore.NotationPreferences.NotationStyle) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public var notationStyle: SoulverCore.NotationPreferences.NotationStyle
public var upperNotationThreshold: SoulverCore.SIThreshold
public var lowerNotationThreshold: SoulverCore.SIThreshold
public init(notationStyle: SoulverCore.NotationPreferences.NotationStyle, upperNotationThreshold: SoulverCore.SIThreshold, lowerNotationThreshold: SoulverCore.SIThreshold)
public static func == (a: SoulverCore.NotationPreferences, b: SoulverCore.NotationPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hashable {
public static var maximumDp: Swift.Int
public var dp: Swift.Int
public var thousandsSeparatorDisabled: Swift.Bool
public var currencyFormattingDisabled: Swift.Bool
- public var implicitUnitsDisabled: Swift.Bool
public var notationPreferences: SoulverCore.NotationPreferences
public var referencesTakeFormattedValue: Swift.Bool
public var fractionizeWherePossible: Swift.Bool
@@ -2120,20 +2133,23 @@ public struct FormattingPreferences : Swift.Codable, Swift.Equatable, Swift.Hash
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
public static func == (a: SoulverCore.FormattingPreferences, b: SoulverCore.FormattingPreferences) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public struct UnitDescription : Swift.Hashable, Swift.Codable {
public init(unit: SoulverCore.SCUnit, symbol: Swift.String, aliases: [Swift.String])
+ public let symbol: Swift.String
+ public let aliases: [Swift.String]
+ public let associatedUnit: SoulverCore.SCUnit
public init(from decoder: Swift.Decoder) throws
public func encode(to encoder: Swift.Encoder) throws
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.UnitDescription, b: SoulverCore.UnitDescription) -> Swift.Bool
}
public typealias PrototypeExpression = Swift.String
public enum PrototypeExpressionMatchType {
@@ -2141,10 +2157,10 @@ public enum PrototypeExpressionMatchType {
case matchTokenType
case matchUnitType
public static func == (a: SoulverCore.PrototypeExpressionMatchType, b: SoulverCore.PrototypeExpressionMatchType) -> Swift.Bool
+ public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
}
public typealias PrototypeExpressionMatchTypeHandler = (SoulverCore.Token) -> SoulverCore.PrototypeExpressionMatchType
@_hasMissingDesignatedInitializers public class PrototypeExpressionGenerator {
@@ -2155,13 +2171,22 @@ extension String {
public func foundationLocalized() -> Swift.String
public func localized(bundle: Foundation.Bundle = .main) -> Swift.String
}
-public struct Holiday : Swift.Hashable, Swift.Equatable {
+public struct Holiday : Swift.Hashable, Swift.Equatable, Swift.Codable {
public init(day: Swift.Int, month: Swift.Int, year: Swift.Int)
+ public let day: Swift.Int
+ public let month: Swift.Int
+ public let year: Swift.Int
+ public var description: Swift.String?
+ public func hash(into hasher: inout Swift.Hasher)
+ public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public func encode(to encoder: Swift.Encoder) throws
public var hashValue: Swift.Int {
get
}
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: SoulverCore.Holiday, b: SoulverCore.Holiday) -> Swift.Bool
+ public init(from decoder: Swift.Decoder) throws
+}
+extension Holiday {
+ public func isOnSameDayAs(otherHoliday: SoulverCore.Holiday) -> Swift.Bool
}
@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation {
@objc override dynamic public var isAsynchronous: Swift.Bool {
@@ -2180,8 +2205,8 @@ public struct Holiday : Swift.Hashable, Swift.Equatable {
case ready
case executing
case finished
- public typealias RawValue = Swift.String
public init?(rawValue: Swift.String)
+ public typealias RawValue = Swift.String
public var rawValue: Swift.String {
get
}
@@ -2206,16 +2231,20 @@ public struct Timespan : Swift.Equatable {
public static func == (a: SoulverCore.Timespan, b: SoulverCore.Timespan) -> Swift.Bool
}
public typealias LineIndex = Swift.Int
-@_hasMissingDesignatedInitializers public class LineSheet : Swift.Codable {
- public var copy: SoulverCore.LineSheet {
+@_hasMissingDesignatedInitializers final public class LineSheet : Swift.Codable {
+ final public var copy: SoulverCore.LineSheet {
get
}
- public var allLineReferences: [SoulverCore.LineIndex : SoulverCore.LineReference] {
+ final public subscript(index: SoulverCore.LineIndex) -> SoulverCore.Line {
+ get
+ set
+ }
+ final 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 {
+ final public func encode(to encoder: Swift.Encoder) throws
+ final public var debugDescription: Swift.String {
get
}
@objc deinit
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 db78b691b..71251bc84 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,29 +17,29 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.3.1
+ 1.4.0
CFBundleSupportedPlatforms
MacOSX
CFBundleVersion
- 16
+ 17
DTCompiler
com.apple.compilers.llvm.clang.1_0
DTPlatformBuild
- 12D4e
+ 12E262
DTPlatformName
macosx
DTPlatformVersion
- 11.1
+ 11.3
DTSDKBuild
- 20C63
+ 20E214
DTSDKName
- macosx11.1
+ macosx11.3
DTXcode
- 1240
+ 1250
DTXcodeBuild
- 12D4e
+ 12E262
LSMinimumSystemVersion
10.14.4
NSHumanReadableCopyright
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 a2af21f32..d64a82ccc 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
@@ -711,8 +711,8 @@
},
"RON": {
"aliases": [
- "romanian lei",
- "romanian leis"
+ "romanian leu",
+ "romanian lei"
],
"symbol": "RON"
},
@@ -998,7 +998,7 @@
"MDL": {
"aliases": [
"moldovan leu",
- "moldovan leus"
+ "moldovan lei"
],
"symbol": "MDL"
},
@@ -1042,7 +1042,9 @@
"pence": {
"aliases": [
"penny",
- "pennies"
+ "pennies",
+ "british pence",
+ "GBX"
],
"symbol": "pence"
},
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 514dc518a..71544e678 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 014bd3d8b..168aa734c 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
- IdaUVuml1gjm5IEMpx3M9vvbRqA=
+ TE0AvZs0m3F6SyNRTOO3ZwjskXA=
Resources/de.lproj/Cities.json
@@ -102,7 +102,7 @@
hash
- yOmTSUY2tP5UbixhFVe/eQIaRlg=
+ T1fY6yGBPqbnKiBmMxhL1u//wYY=
optional
@@ -357,7 +357,7 @@
hash2
- 1Kv2EG7R8UWfMYYEbLha7mFHsRNB+bqWOoi4fktLoBw=
+ id+H2KZ1dfx0fQa0jKNmAsF+2z8vZTwMO3H2ot9CJfA=
Headers/SoulverCore.h
@@ -371,84 +371,84 @@
hash2
- C5z8ShDdaAGRVM4+X3PYPo/C8lH2ewYdmoVo+WaRQiM=
+ SURDCBJlwVB+rqkv9/q6lLO9ihbWI777JS9dWzW1qcs=
Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftinterface
hash2
- EJK8jE0h9x+4LikqbPfD13jubJL+faMR8p0oUEBhyF0=
+ +bC4GRll39eACeqbnZXoBYmRKCvac95MxhHfiWeJy60=
Modules/SoulverCore.swiftmodule/arm64-apple-macos.swiftmodule
hash2
- pO1AHcFJkY7V11pcqdhAY5m6/ZdUG/mpEGOUD9HwpoQ=
+ 3iiAcSCBdB+IDi6kNb0bCsH8kcf6Ht9zyhyEHCR1+XI=
Modules/SoulverCore.swiftmodule/arm64.swiftdoc
hash2
- C5z8ShDdaAGRVM4+X3PYPo/C8lH2ewYdmoVo+WaRQiM=
+ SURDCBJlwVB+rqkv9/q6lLO9ihbWI777JS9dWzW1qcs=
Modules/SoulverCore.swiftmodule/arm64.swiftinterface
hash2
- EJK8jE0h9x+4LikqbPfD13jubJL+faMR8p0oUEBhyF0=
+ +bC4GRll39eACeqbnZXoBYmRKCvac95MxhHfiWeJy60=
Modules/SoulverCore.swiftmodule/arm64.swiftmodule
hash2
- pO1AHcFJkY7V11pcqdhAY5m6/ZdUG/mpEGOUD9HwpoQ=
+ 3iiAcSCBdB+IDi6kNb0bCsH8kcf6Ht9zyhyEHCR1+XI=
Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc
hash2
- QWRVn095RyGhFuLVHtWNt4NpSFxJafFan6M4XefpX6g=
+ vnFHOrn8oLRJSls+wEcfMUpX9yLv9yFrlsXPoYNUFyk=
Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface
hash2
- WSQVnf3ml3/0+tjksGszt70TVbQWeNf7QmAiq5B1luI=
+ fwzhFK3qyfSQSLtfFFmsVDKnBAFCtgilGKQx1wBmeFA=
Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftmodule
hash2
- A1zearB+ZIylXZAD2MSumrCy9q2jt17jrJk5eRFwbZo=
+ //0rLWJ+gANpBaBlJjlRQ5GtSLZsq3sX5qIyVnNojTs=
Modules/SoulverCore.swiftmodule/x86_64.swiftdoc
hash2
- QWRVn095RyGhFuLVHtWNt4NpSFxJafFan6M4XefpX6g=
+ vnFHOrn8oLRJSls+wEcfMUpX9yLv9yFrlsXPoYNUFyk=
Modules/SoulverCore.swiftmodule/x86_64.swiftinterface
hash2
- WSQVnf3ml3/0+tjksGszt70TVbQWeNf7QmAiq5B1luI=
+ fwzhFK3qyfSQSLtfFFmsVDKnBAFCtgilGKQx1wBmeFA=
Modules/SoulverCore.swiftmodule/x86_64.swiftmodule
hash2
- A1zearB+ZIylXZAD2MSumrCy9q2jt17jrJk5eRFwbZo=
+ //0rLWJ+gANpBaBlJjlRQ5GtSLZsq3sX5qIyVnNojTs=
Modules/module.modulemap
@@ -462,7 +462,7 @@
hash2
- FabXJ+vUCM9hhqlYrGD/lhTKlizLuLyL9GTxX+gILlQ=
+ MeBvJm7n/4/9qFXFqn9mhWx+NtR7gB2Ycd3GeFS57PM=
Resources/de.lproj/Cities.json
@@ -559,7 +559,7 @@
hash2
- IlEn3hbZGuCjMSH9gZO+PFLqJ+5ww2JgW16wGmJsbrE=
+ 6yTfHuscCVEEzTuLAe3kM06BC3W+YpJ+18a+KuNIgpM=
optional