diff --git a/SoulverCore.xcframework/Info.plist b/SoulverCore.xcframework/Info.plist index c9f03ada3..2d121c455 100644 --- a/SoulverCore.xcframework/Info.plist +++ b/SoulverCore.xcframework/Info.plist @@ -20,27 +20,27 @@ LibraryIdentifier - macos-x86_64 + ios-arm64 LibraryPath SoulverCore.framework SupportedArchitectures - x86_64 + arm64 SupportedPlatform - macos + ios LibraryIdentifier - ios-arm64 + macos-x86_64 LibraryPath SoulverCore.framework SupportedArchitectures - arm64 + x86_64 SupportedPlatform - ios + macos CFBundlePackageType diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json index 9d21884c8..ba0c2dee3 100644 --- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json +++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json @@ -1,30 +1,30 @@ { "HRK" : { - "value" : 0.14595077810008575, + "value" : 0.14104046112332522, "code" : "HRK" }, "HUF" : { - "value" : 0.0032135431356240985, + "value" : 0.0030455270849261184, "code" : "HUF" }, "CDF" : { - "value" : 0.00058962259318541251, + "value" : 0.00058479519783867745, "code" : "CDF" }, "XMR" : { - "value" : 76.734707209999996, + "value" : 39.878292340000002, "code" : "XMR" }, "ILS" : { - "value" : 0.29177912320373478, + "value" : 0.27719067253386925, "code" : "ILS" }, "NGN" : { - "value" : 0.0027359793173534065, + "value" : 0.0027247930862974888, "code" : "NGN" }, "GYD" : { - "value" : 0.0047815368414066556, + "value" : 0.004795433289696489, "code" : "GYD" }, "BYR" : { @@ -32,47 +32,47 @@ "code" : "BYR" }, "BHD" : { - "value" : 2.6523510439653708, + "value" : 2.6594471541256004, "code" : "BHD" }, "SZL" : { - "value" : 0.065702793544805654, + "value" : 0.05723977225439416, "code" : "SZL" }, "INR" : { - "value" : 0.013910044327555561, + "value" : 0.013223559453202643, "code" : "INR" }, "SDG" : { - "value" : 0.018484230613031911, + "value" : 0.018081980008635232, "code" : "SDG" }, "PEN" : { - "value" : 0.29323328995435527, + "value" : 0.28542853097927107, "code" : "PEN" }, "EUR" : { - "value" : 1.0883773273588673, + "value" : 1.0763497964622535, "code" : "EUR" }, "TRX" : { - "value" : 0.0190759, + "value" : 0.01110775, "code" : "TRX" }, "PGK" : { - "value" : 0.29368653250478488, + "value" : 0.2932228860462559, "code" : "PGK" }, "QAR" : { - "value" : 0.27464838826713073, + "value" : 0.27464695507160319, "code" : "QAR" }, "LRD" : { - "value" : 0.0050639416826753058, + "value" : 0.0050729222683882393, "code" : "LRD" }, "ISK" : { - "value" : 0.0078488663117121521, + "value" : 0.0071062909108279455, "code" : "ISK" }, "SYP" : { @@ -80,91 +80,91 @@ "code" : "SYP" }, "TRY" : { - "value" : 0.16273920017914331, + "value" : 0.1526134131318348, "code" : "TRY" }, "UAH" : { - "value" : 0.040753552752091492, + "value" : 0.036539083756897441, "code" : "UAH" }, "SGD" : { - "value" : 0.71494704029798983, + "value" : 0.68979598593919855, "code" : "SGD" }, "MMK" : { - "value" : 0.00068987321992875405, + "value" : 0.00070313998918671949, "code" : "MMK" }, "NIO" : { - "value" : 0.02919728914849172, + "value" : 0.029282253604403841, "code" : "NIO" }, "BIF" : { - "value" : 0.00052910052910052914, + "value" : 0.00052770448548812663, "code" : "BIF" }, "AFN" : { - "value" : 0.012995415282465422, + "value" : 0.01314917406618905, "code" : "AFN" }, + "LKR" : { + "value" : 0.0053567214936039408, + "code" : "LKR" + }, "LTC" : { - "value" : 71.324140209999996, + "value" : 37.386027069999997, "code" : "LTC" }, "GTQ" : { - "value" : 0.13075498451076453, + "value" : 0.13131838404849325, "code" : "GTQ" }, - "LKR" : { - "value" : 0.0055015208404211261, - "code" : "LKR" - }, "XRP" : { - "value" : 0.25512463000000002, + "value" : 0.15588341, "code" : "XRP" }, "CHF" : { - "value" : 1.024642655873764, + "value" : 1.0139252493749151, "code" : "CHF" }, "THB" : { - "value" : 0.031509975018261603, + "value" : 0.030671409734363199, "code" : "THB" }, "AMD" : { - "value" : 0.002090605015070419, + "value" : 0.002026012365811047, "code" : "AMD" }, "AOA" : { - "value" : 0.0020284407638936717, + "value" : 0.0019282033334532417, "code" : "AOA" }, "SEK" : { - "value" : 0.10295713482648633, + "value" : 0.096334426889635907, "code" : "SEK" }, "DASH" : { - "value" : 96.853203140000005, + "value" : 70.651361420000001, "code" : "DASH" }, "SAR" : { - "value" : 0.26651528598422763, + "value" : 0.26610330822293815, "code" : "SAR" }, "KWD" : { - "value" : 3.266927585283145, + "value" : 3.2126449706042988, "code" : "KWD" }, "IRR" : { - "value" : 2.3750148435043321e-05, + "value" : 2.3750148239875258e-05, "code" : "IRR" }, "WST" : { - "value" : 0.37188891678055763, + "value" : 0.34640216321222883, "code" : "WST" }, "BNB" : { - "value" : 20.485580339999999, + "value" : 11.775446219999999, "code" : "BNB" }, "BMD" : { @@ -172,99 +172,99 @@ "code" : "BMD" }, "BGN" : { - "value" : 0.55563334422374688, + "value" : 0.54648183193825628, "code" : "BGN" }, "PHP" : { - "value" : 0.019575026947960848, + "value" : 0.019616311999168582, "code" : "PHP" }, "ZMW" : { - "value" : 0.067886459624731804, + "value" : 0.058983113429540691, "code" : "ZMW" }, "XAF" : { - "value" : 0.0016514878146375363, + "value" : 0.0016360828518246062, "code" : "XAF" }, "BDT" : { - "value" : 0.011767930295253842, + "value" : 0.011810162503111978, "code" : "BDT" }, "NOK" : { - "value" : 0.1068136650566999, + "value" : 0.087346199719706044, "code" : "NOK" }, "BOB" : { - "value" : 0.1445582422989849, + "value" : 0.14520865176380593, "code" : "BOB" }, "TZS" : { - "value" : 0.00043292944517055035, + "value" : 0.00043381997443251612, "code" : "TZS" }, "XAG" : { - "value" : 17.995968902965735, + "value" : 12.582573136206353, "code" : "XAG" }, - "VEF" : { - "value" : 0.10012517649565486, - "code" : "VEF" + "VUV" : { + "value" : 0.0078507628393907347, + "code" : "VUV" }, "ANG" : { - "value" : 0.55846235209822681, + "value" : 0.55975120178583027, "code" : "ANG" }, - "VUV" : { - "value" : 0.0083791690639469351, - "code" : "VUV" - }, "BND" : { - "value" : 0.71415716599583501, + "value" : 0.69261046963838113, "code" : "BND" }, "XCD" : { "value" : 0.37002090618119926, "code" : "XCD" }, + "VEF" : { + "value" : 0.10012511634538519, + "code" : "VEF" + }, "SCR" : { - "value" : 0.072965746011637592, + "value" : 0.073255817445916874, "code" : "SCR" }, "KYD" : { - "value" : 1.1995398565110424, + "value" : 1.2023074684935329, "code" : "KYD" }, "DJF" : { - "value" : 0.0056268222604561047, + "value" : 0.005626816244848073, "code" : "DJF" }, "CLF" : { - "value" : 33.935116058096916, + "value" : 31.962156806341291, "code" : "CLF" }, "LSL" : { - "value" : 0.065661645148579501, + "value" : 0.057239732937722825, "code" : "LSL" }, "MOP" : { - "value" : 0.12457938883843422, + "value" : 0.12540460227366068, "code" : "MOP" }, "ALL" : { - "value" : 0.0088893254535389408, + "value" : 0.0087069785902274977, "code" : "ALL" }, "UZS" : { - "value" : 0.00010503098243043774, + "value" : 0.00010509721122358741, "code" : "UZS" }, "UYU" : { - "value" : 0.026035353093541484, + "value" : 0.021802889192419021, "code" : "UYU" }, "PLN" : { - "value" : 0.25272296357099572, + "value" : 0.23574063814990748, "code" : "PLN" }, "LTL" : { @@ -272,19 +272,19 @@ "code" : "LTL" }, "LYD" : { - "value" : 0.71174123935502009, + "value" : 0.70902826966613985, "code" : "LYD" }, - "JPY" : { - "value" : 0.009077169804173767, - "code" : "JPY" - }, "MNT" : { - "value" : 0.00036300093050751028, + "value" : 0.00036022874978058379, "code" : "MNT" }, + "JPY" : { + "value" : 0.009011766122319945, + "code" : "JPY" + }, "FJD" : { - "value" : 0.45108013393471336, + "value" : 0.42300468689193071, "code" : "FJD" }, "ZWL" : { @@ -292,23 +292,23 @@ "code" : "ZWL" }, "KPW" : { - "value" : 0.0011110213047901087, + "value" : 0.0011111110777777787, "code" : "KPW" }, "PKR" : { - "value" : 0.0064809950587986333, + "value" : 0.0063002032483369125, "code" : "PKR" }, "MRO" : { - "value" : 0.0028011201735596465, + "value" : 0.0028011180393746832, "code" : "MRO" }, "OMR" : { - "value" : 2.5972272002410226, + "value" : 2.6073511658770738, "code" : "OMR" }, "GBP" : { - "value" : 1.3002007509959537, + "value" : 1.1650001339750153, "code" : "GBP" }, "LVL" : { @@ -316,99 +316,99 @@ "code" : "LVL" }, "SHP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "SHP" }, "GEL" : { - "value" : 0.35906423551454086, + "value" : 0.31200858647629987, "code" : "GEL" }, "TND" : { - "value" : 0.3496019432274412, + "value" : 0.34182144341624554, "code" : "TND" }, "DKK" : { - "value" : 0.1456971975144058, + "value" : 0.14321714985268685, "code" : "DKK" }, "NPR" : { - "value" : 0.0087003367378331014, + "value" : 0.0083551067415016875, "code" : "NPR" }, "KRW" : { - "value" : 0.00082254450239665274, + "value" : 0.00079684425197163811, "code" : "KRW" }, "BSD" : { - "value" : 0.99963513317639063, + "value" : 1.0019046206839202, "code" : "BSD" }, "CRC" : { - "value" : 0.0017460833081489916, + "value" : 0.0017717644250681136, "code" : "CRC" }, "EGP" : { - "value" : 0.06415609743078568, + "value" : 0.063897302211172541, "code" : "EGP" }, "MAD" : { - "value" : 0.10328975813876813, + "value" : 0.10182904308906142, "code" : "MAD" }, - "BTC" : { - "value" : 9345.7943925233649, - "code" : "BTC" - }, "AUD" : { - "value" : 0.66019761034872959, + "value" : 0.57930580626623507, "code" : "AUD" }, + "BTC" : { + "value" : 6211.1801242236024, + "code" : "BTC" + }, "SLL" : { - "value" : 0.0001029336096135646, + "value" : 0.0001030927799022214, "code" : "SLL" }, "MWK" : { - "value" : 0.001355938147454957, + "value" : 0.0013605435790645785, "code" : "MWK" }, "RSD" : { - "value" : 0.0092584198291947445, + "value" : 0.0091053917959946426, "code" : "RSD" }, "NZD" : { - "value" : 0.63199979270406803, + "value" : 0.56965288201634334, "code" : "NZD" }, "SRD" : { - "value" : 0.13408472626133838, + "value" : 0.13408352169833407, "code" : "SRD" }, "CLP" : { - "value" : 0.0012298621631488707, + "value" : 0.0011583406331187806, "code" : "CLP" }, "RUB" : { - "value" : 0.015304115033196997, + "value" : 0.012503531622506775, "code" : "RUB" }, "NAD" : { - "value" : 0.065660567303361866, + "value" : 0.05723974931966265, "code" : "NAD" }, "HKD" : { - "value" : 0.12836558518661145, + "value" : 0.12883526478867796, "code" : "HKD" }, "GMD" : { - "value" : 0.019607800845919746, + "value" : 0.019650075387514225, "code" : "GMD" }, "VND" : { - "value" : 4.3035741183052525e-05, + "value" : 4.3019078961519434e-05, "code" : "VND" }, "LAK" : { - "value" : 0.00011229646146342911, + "value" : 0.00011185681889954924, "code" : "LAK" }, "CUC" : { @@ -416,179 +416,179 @@ "code" : "CUC" }, "RON" : { - "value" : 0.22636720699764418, + "value" : 0.2205539521283236, "code" : "RON" }, "MUR" : { - "value" : 0.026699166315861871, + "value" : 0.025621068142843293, "code" : "MUR" }, "XAU" : { - "value" : 1633.9869281045751, + "value" : 1497.0059880239521, "code" : "XAU" }, "GGP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "GGP" }, + "MXN" : { + "value" : 0.040944668848526183, + "code" : "MXN" + }, "BRL" : { - "value" : 0.22787364042040861, + "value" : 0.19747609749315942, "code" : "BRL" }, "STD" : { - "value" : 4.5685510254460443e-05, + "value" : 4.5345772756215923e-05, "code" : "STD" }, - "MXN" : { - "value" : 0.052422303593286805, - "code" : "MXN" - }, "AWG" : { - "value" : 0.5554012774229381, + "value" : 0.55555555555555558, "code" : "AWG" }, "MVR" : { - "value" : 0.064724311648855073, + "value" : 0.06489133491728756, "code" : "MVR" }, "PAB" : { - "value" : 0.99963513317639063, + "value" : 1.0019046206839202, "code" : "PAB" }, "TJS" : { - "value" : 0.10316107188067483, + "value" : 0.10280197050817071, "code" : "TJS" }, "GNF" : { - "value" : 0.00010624170451756518, + "value" : 0.00010624165639982802, "code" : "GNF" }, "MGA" : { - "value" : 0.00026917901381942578, + "value" : 0.00026652449560660981, "code" : "MGA" }, "XDR" : { - "value" : 1.3626484435148154, + "value" : 1.3504461874203235, "code" : "XDR" }, "ETB" : { - "value" : 0.030969578211687721, + "value" : 0.030671199951809412, "code" : "ETB" }, "ZAR" : { - "value" : 0.065733984687005337, + "value" : 0.056678707113347777, "code" : "ZAR" }, "COP" : { - "value" : 0.00029099374363451185, + "value" : 0.00024268899405411964, "code" : "COP" }, "IDR" : { - "value" : 7.1702577707668594e-05, + "value" : 6.3373854153186512e-05, "code" : "IDR" }, "SVC" : { - "value" : 0.11424858023289346, + "value" : 0.11450918386556438, "code" : "SVC" }, "CVE" : { - "value" : 0.0098376559518098868, + "value" : 0.00969895444398188, "code" : "CVE" }, "ETC" : { - "value" : 9.2414770100000005, + "value" : 4.8471909000000002, "code" : "ETC" }, "TTD" : { - "value" : 0.14783698961312094, + "value" : 0.1482872525753047, "code" : "TTD" }, - "DOGE" : { - "value" : 0.0025008600000000001, - "code" : "DOGE" + "GIP" : { + "value" : 1.1659509670980297, + "code" : "GIP" }, "PYG" : { - "value" : 0.00015260611179847446, + "value" : 0.00015102166981185603, "code" : "PYG" }, - "GIP" : { - "value" : 1.3003360068241632, - "code" : "GIP" + "DOGE" : { + "value" : 0.0017667799999999999, + "code" : "DOGE" }, "MZN" : { - "value" : 0.015378693404678168, + "value" : 0.01507044551657938, "code" : "MZN" }, "FKP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "FKP" }, "KZT" : { - "value" : 0.0026468799333706208, + "value" : 0.0022358015367513568, "code" : "KZT" }, + "UGX" : { + "value" : 0.00026195567645827576, + "code" : "UGX" + }, "USD" : { "value" : 1, "code" : "USD" }, - "UGX" : { - "value" : 0.00027163687561171894, - "code" : "UGX" - }, "RWF" : { "value" : 0.0010695187165775401, "code" : "RWF" }, "GHS" : { - "value" : 0.18709119404780591, + "value" : 0.17792359604938446, "code" : "GHS" }, "ARS" : { - "value" : 0.016188774318594657, + "value" : 0.015781795342403961, "code" : "ARS" }, "JEP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "JEP" }, "DOP" : { - "value" : 0.018658447894026584, + "value" : 0.018518395405482394, "code" : "DOP" }, "LBP" : { - "value" : 0.0006605020835914713, + "value" : 0.00066135545154280214, "code" : "LBP" }, "BZD" : { - "value" : 0.4959279357198047, + "value" : 0.49709571826603072, "code" : "BZD" }, "BTN" : { - "value" : 0.013920560096519595, + "value" : 0.0133681457673309, "code" : "BTN" }, "ADA" : { - "value" : 0.05665137, + "value" : 0.028973720000000001, "code" : "ADA" }, - "YER" : { - "value" : 0.003996004554885752, - "code" : "YER" - }, "MYR" : { - "value" : 0.23615555755500595, + "value" : 0.22755696661102137, "code" : "MYR" }, + "YER" : { + "value" : 0.0039944020213208073, + "code" : "YER" + }, "JMD" : { - "value" : 0.0072263691946240433, + "value" : 0.0074044889418030122, "code" : "JMD" }, "TOP" : { - "value" : 0.43108093544562992, + "value" : 0.41702287370462271, "code" : "TOP" }, "SOS" : { - "value" : 0.0017094014230404455, + "value" : 0.0017064836573524296, "code" : "SOS" }, "TMT" : { @@ -596,43 +596,43 @@ "code" : "TMT" }, "MDL" : { - "value" : 0.056002056843543743, + "value" : 0.055662867379099416, "code" : "MDL" }, "XOF" : { - "value" : 0.0016501659695678042, + "value" : 0.001640679393392658, "code" : "XOF" }, "ETH" : { - "value" : 253.23130087000001, + "value" : 131.32626894000001, "code" : "ETH" }, "TWD" : { - "value" : 0.032894195819147709, + "value" : 0.033036550582394741, "code" : "TWD" }, "BBD" : { - "value" : 0.49508945523821973, + "value" : 0.50064859024866715, "code" : "BBD" }, "CAD" : { - "value" : 0.75270314517009207, + "value" : 0.69606375944036469, "code" : "CAD" }, "CNY" : { - "value" : 0.14209787332059851, + "value" : 0.1409283570966729, "code" : "CNY" }, - "JOD" : { - "value" : 1.4104073961763857, - "code" : "JOD" - }, "XPF" : { - "value" : 0.0090457003253557496, + "value" : 0.0089565314807213709, "code" : "XPF" }, + "JOD" : { + "value" : 1.4103576667042761, + "code" : "JOD" + }, "XLM" : { - "value" : 0.064830589999999994, + "value" : 0.039567440000000002, "code" : "XLM" }, "IQD" : { @@ -640,91 +640,91 @@ "code" : "IQD" }, "HNL" : { - "value" : 0.040164394473154404, + "value" : 0.04009560556573516, "code" : "HNL" }, "AED" : { - "value" : 0.27225441630695052, + "value" : 0.27225389745066897, "code" : "AED" }, "EOS" : { - "value" : 4.0654144399999996, + "value" : 2.1972275300000002, "code" : "EOS" }, - "KES" : { - "value" : 0.0098808349566392398, - "code" : "KES" - }, "ERN" : { - "value" : 0.066664208979495626, + "value" : 0.066665075593529161, "code" : "ERN" }, + "KES" : { + "value" : 0.0094321483552431921, + "code" : "KES" + }, "KMF" : { - "value" : 0.0022105554069313188, + "value" : 0.0021810070248578705, "code" : "KMF" }, - "MKD" : { - "value" : 0.017615996847159348, - "code" : "MKD" - }, "DZD" : { - "value" : 0.0082945988699222838, + "value" : 0.0080988028025745125, "code" : "DZD" }, + "MKD" : { + "value" : 0.017395114936830335, + "code" : "MKD" + }, "BSV" : { - "value" : 261.34168437, + "value" : 164.85426050999999, "code" : "BSV" }, "BWP" : { - "value" : 0.090066843107612315, + "value" : 0.088471562629859668, "code" : "BWP" }, - "SBD" : { - "value" : 0.12114843384756402, - "code" : "SBD" - }, "AZN" : { - "value" : 0.58922658118953064, + "value" : 0.58686479222052035, "code" : "AZN" }, + "SBD" : { + "value" : 0.12094835118369733, + "code" : "SBD" + }, "BCH" : { - "value" : 355.60714253999998, + "value" : 215.75744254, "code" : "BCH" }, "KGS" : { - "value" : 0.014316402722069275, + "value" : 0.011972161754823921, "code" : "KGS" }, "BYN" : { - "value" : 0.44742889460007013, + "value" : 0.3887025923741993, "code" : "BYN" }, "KHR" : { - "value" : 0.00024479803526350263, + "value" : 0.00024721876717582515, "code" : "KHR" }, "NEO" : { - "value" : 12.6220079, + "value" : 6.0888002800000001, "code" : "NEO" }, "ZMK" : { - "value" : 0.000111096211627849, + "value" : 0.00011109625392516104, "code" : "ZMK" }, "HTG" : { - "value" : 0.01108319746256844, + "value" : 0.010517724026785531, "code" : "HTG" }, - "CZK" : { - "value" : 0.043086767011151113, - "code" : "CZK" + "IMP" : { + "value" : 1.1659509670980297, + "code" : "IMP" }, "BAM" : { - "value" : 0.55389019237714165, + "value" : 0.54868781309498338, "code" : "BAM" }, - "IMP" : { - "value" : 1.3003360068241632, - "code" : "IMP" + "CZK" : { + "value" : 0.039221777185790417, + "code" : "CZK" } } \ No newline at end of file diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/FunctionDescriptions.json index 93dcc8bd0..05504e9d5 100644 --- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/FunctionDescriptions.json +++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/FunctionDescriptions.json @@ -1 +1,267 @@ -{"percentage":[{"prototypeExpressions":["10% of 100"],"keywords":[],"identifier":"percentOf"},{"prototypeExpressions":["10% off 100"],"keywords":[],"identifier":"percentOff"},{"prototypeExpressions":["10% on 100"],"keywords":[],"identifier":"percentOn"},{"prototypeExpressions":["30 is 20% of what"],"keywords":["what"],"identifier":"isPercentOfWhat"},{"prototypeExpressions":["20% of what is 30"],"keywords":["what"],"identifier":"isPercentOfWhatClassic"},{"prototypeExpressions":["30 is 20% off what"],"keywords":["what"],"identifier":"isPercentOffWhat"},{"prototypeExpressions":["20% off what is 30"],"keywords":["what"],"identifier":"isPercentOffWhatClassic"},{"prototypeExpressions":["30 is 20% on what"],"keywords":["what"],"identifier":"isPercentOnWhat"},{"prototypeExpressions":["20% on what is 30"],"keywords":["what"],"identifier":"isPercentOnWhatClassic"},{"prototypeExpressions":["10 is what % of 20","10 as a % of 20","10 as % of 20"],"keywords":["of"],"identifier":"isWhatPercentOf"},{"prototypeExpressions":["10 is what % off 20","10 as a % off 20","10 as % off 20"],"keywords":[],"identifier":"isWhatPercentOff"},{"prototypeExpressions":["20 is what % on 10","20 as a % on 10","20 as % on 10"],"keywords":[],"identifier":"isWhatPercentOn"}],"general":[{"prototypeExpressions":["remainder of 20 divided by 3"],"keywords":["remainder"],"identifier":"remainder"},{"prototypeExpressions":["half of 20"],"keywords":["half"],"identifier":"halfOf"},{"prototypeExpressions":["smaller of 2 and 30","lesser of 2 and 30"],"keywords":["and","of"],"identifier":"lesserOf"},{"prototypeExpressions":["larger of 2 and 30","greater of 2 and 30"],"keywords":["and","of"],"identifier":"greaterOf"},{"prototypeExpressions":["midpoint between 2 and 32"],"keywords":["midpoint"],"identifier":"midpoint"},{"prototypeExpressions":["6 is to 600 as what is to 8"],"keywords":["is to"],"identifier":"proportionsFindNumerator"},{"prototypeExpressions":["6 is to 600 as 8 is to what"],"keywords":["is to"],"identifier":"proportionsFindDenominator"}],"unitRelated":[{"prototypeExpressions":["__unit in __unit_expression"],"keywords":[],"identifier":"unitInUnitExpression"}],"datetime":[{"prototypeExpressions":["__unit between __datestamp and __datestamp","__unit from __datestamp to __datestamp","__unit in __datestamp to __datestamp"],"keywords":[],"identifier":"calendarUnitBetweenDates"},{"prototypeExpressions":["__unit to __datestamp","__unit before __datestamp","__unit until __datestamp","__unit till __datestamp"],"keywords":[],"identifier":"calendarUnitToDate"},{"prototypeExpressions":["__datestamp to __datestamp"],"keywords":[],"identifier":"intervalBetweenDates"},{"identifier":"intervalBetweenTimestamps","keywords":[],"prototypeExpressions":["__timestamp to __timestamp"]},{"identifier":"calendarUnitSinceDate","keywords":["since"],"prototypeExpressions":["__unit since __datestamp"]},{"prototypeExpressions":["__timespan from __datestamp","__timespan after __datestamp"],"keywords":[],"identifier":"calendarUnitExpressionAfterDate"},{"prototypeExpressions":["new timestamp"],"keywords":[],"identifier":"generateTimestamp"}]} +{ + "percentage": [ + { + "identifier": "percentOf", + "keywords": [ + ], + "prototypeExpressions": [ + "10% of 100" + ] + }, + { + "identifier": "percentOff", + "keywords": [ + ], + "prototypeExpressions": [ + "10% off 100" + ] + }, + { + "identifier": "percentOn", + "keywords": [ + ], + "prototypeExpressions": [ + "10% on 100" + ] + }, + { + "identifier": "isPercentOfWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% of what" + ] + }, + { + "identifier": "isPercentOfWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% of what is 30" + ] + }, + { + "identifier": "isPercentOffWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% off what" + ] + }, + { + "identifier": "isPercentOffWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% off what is 30" + ] + }, + { + "identifier": "isPercentOnWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% on what" + ] + }, + { + "identifier": "isPercentOnWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% on what is 30" + ] + }, + { + "identifier": "isWhatPercentOf", + "keywords": [ + "of" + ], + "prototypeExpressions": [ + "10 is what % of 20", + "10 as a % of 20", + "10 as % of 20" + ] + }, + { + "identifier": "isWhatPercentOff", + "keywords": [ + ], + "prototypeExpressions": [ + "10 is what % off 20", + "10 as a % off 20", + "10 as % off 20" + ] + }, + { + "identifier": "isWhatPercentOn", + "keywords": [ + ], + "prototypeExpressions": [ + "20 is what % on 10", + "20 as a % on 10", + "20 as % on 10" + ] + } + ], + "general": [ + { + "identifier": "remainder", + "keywords": [ + "remainder" + ], + "prototypeExpressions": [ + "remainder of 20 divided by 3" + ] + }, + { + "identifier": "halfOf", + "keywords": [ + "half" + ], + "prototypeExpressions": [ + "half of 20" + ] + }, + { + "identifier": "lesserOf", + "keywords": [ + "and", + "of" + ], + "prototypeExpressions": [ + "smaller of 2 and 30", + "lesser of 2 and 30" + ] + }, + { + "identifier": "greaterOf", + "keywords": [ + "and", + "of" + ], + "prototypeExpressions": [ + "larger of 2 and 30", + "greater of 2 and 30" + ] + }, + { + "identifier": "midpoint", + "keywords": [ + "midpoint" + ], + "prototypeExpressions": [ + "midpoint between 2 and 32" + ] + }, + { + "identifier": "proportionsFindNumerator", + "keywords": [ + "is to" + ], + "prototypeExpressions": [ + "6 is to 600 as what is to 8" + ] + }, + { + "identifier": "proportionsFindDenominator", + "keywords": [ + "is to" + ], + "prototypeExpressions": [ + "6 is to 600 as 8 is to what" + ] + }, + { + "identifier": "makeRandomNumber", + "keywords": [ + "random" + ], + "prototypeExpressions": [ + "random number between 1 and 5", + "random between 1 and 5" + ] + } + ], + "unitRelated": [ + { + "identifier": "unitInUnitExpression", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit in __unit_expression" + ] + } + ], + "datetime": [ + { + "identifier": "calendarUnitBetweenDates", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit between __datestamp and __datestamp", + "__unit from __datestamp to __datestamp", + "__unit in __datestamp to __datestamp" + ] + }, + { + "identifier": "calendarUnitToDate", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit to __datestamp", + "__unit before __datestamp", + "__unit until __datestamp", + "__unit till __datestamp" + ] + }, + { + "identifier": "intervalBetweenDates", + "keywords": [ + ], + "prototypeExpressions": [ + "__datestamp to __datestamp" + ] + }, + { + "prototypeExpressions": [ + "__timestamp to __timestamp" + ], + "keywords": [ + ], + "identifier": "intervalBetweenTimestamps" + }, + { + "prototypeExpressions": [ + "__unit since __datestamp" + ], + "keywords": [ + "since" + ], + "identifier": "calendarUnitSinceDate" + }, + { + "identifier": "calendarUnitExpressionAfterDate", + "keywords": [ + ], + "prototypeExpressions": [ + "__timespan from __datestamp", + "__timespan after __datestamp" + ] + }, + { + "identifier": "generateTimestamp", + "keywords": [ + ], + "prototypeExpressions": [ + "new timestamp" + ] + } + ] +} \ No newline at end of file diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/LocalizedFixtures.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/LocalizedFixtures.json index 7599e6892..ec87d93cf 100644 --- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/LocalizedFixtures.json +++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/LocalizedFixtures.json @@ -1,59 +1,59 @@ { - "fixtures" : { - "decimalPlacesTypes" : [ + "fixtures": { + "decimalPlacesTypes": [ "dp", "digit", "digits" ], - "divisionOperators" : [ + "multiplierTypes": [ + "multiplier" + ], + "divisionOperators": [ "÷", "per" ], - "roundingConverters" : [ + "roundingConverters": [ "rounded" ], - "tomorrowDateAliases" : [ - "tomorrow" - ], - "multiplicationOperators" : [ + "multiplicationOperators": [ "×", "x" ], - "numberTypes" : [ + "tomorrowDateAliases": [ + "tomorrow" + ], + "numberTypes": [ "number" ], - "roundingDownConverters" : [ + "roundingDownConverters": [ "rounded down" ], - "yesterdayDateAliases" : [ + "yesterdayDateAliases": [ "yesterday" ], - "subtractionOperators" : [ + "subtractionOperators": [ "−", "–" ], - "dateTypes" : [ - "date" - ], - "roundingUpConverters" : [ - "rounded up" + "todayDateAliases": [ + "today" ], - "timestampTypes" : [ + "timestampTypes": [ "timestamp" ], - "todayDateAliases" : [ - "today" + "roundingUpConverters": [ + "rounded up" ], - "additionOperators" : [ - "plus" + "dateTypes": [ + "date" ], - "piAliases" : [ - "π" + "iso8601Types": [ + "iso8601" ], - "timespanTypes" : [ - "timespan" + "piAliases": [ + "π" ], - "monthOfYearDateAliases" : [ + "monthOfYearDateAliases": [ "jan", "feb", "mar", @@ -79,17 +79,23 @@ "november", "december" ], - "nowDateAliases" : [ + "additionOperators": [ + "plus" + ], + "timespanTypes": [ + "timespan" + ], + "nowDateAliases": [ "now" ], - "converterSymbols" : [ + "converterSymbols": [ "to", "as" ], - "fractionTypes" : [ + "fractionTypes": [ "fraction" ], - "dayOfWeekDateAliases" : [ + "dayOfWeekDateAliases": [ "monday", "tuesday", "wednesday", @@ -106,17 +112,17 @@ "sat", "sun" ], - "dateIntervalPrepositions" : [ + "dateIntervalPrepositions": [ "between ", "until ", "before ", "to ", "from ", - "after " + "after " ], - "percentTypes" : [ + "percentTypes": [ "percent", "percentage" ] } -} +} \ No newline at end of file diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/TimeZoneAbbrieviations.json b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/TimeZoneAbbrieviations.json new file mode 100644 index 000000000..1bde26bad --- /dev/null +++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Base.lproj/TimeZoneAbbrieviations.json @@ -0,0 +1,63 @@ +{ + "ACDT": "Australia/Adelaide", + "ACST": "Australia/Darwin", + "ADT": "America/Halifax", + "AEDT": "Australia/Sydney", + "AEST": "Australia/Brisbane", + "AKDT": "America/Juneau", + "AKST": "America/Juneau", + "ART": "America/Argentina/Buenos_Aires", + "AST": "America/Halifax", + "AWST": "Australia/Perth", + "BDT": "Asia/Dhaka", + "BRST": "America/Sao_Paulo", + "BRT": "America/Sao_Paulo", + "BST": "Europe/London", + "CAT": "Africa/Harare", + "CDT": "America/Chicago", + "CEST": "Europe/Paris", + "CET": "Europe/Paris", + "CLST": "America/Santiago", + "CLT": "America/Santiago", + "COT": "America/Bogota", + "CST": "America/Chicago", + "EAT": "Africa/Addis_Ababa", + "EDT": "America/New_York", + "EEST": "Europe/Athens", + "EET": "Europe/Athens", + "EST": "America/New_York", + "GMT": "GMT", + "GST": "Asia/Dubai", + "HKT": "Asia/Hong_Kong", + "HST": "Pacific/Honolulu", + "ICT": "Asia/Bangkok", + "IRST": "Asia/Tehran", + "IST": "Asia/Kolkata", + "JST": "Asia/Tokyo", + "KST": "Asia/Seoul", + "MDT": "America/Denver", + "MSD": "Europe/Moscow", + "MSK": "Europe/Moscow", + "MST": "America/Phoenix", + "NDT": "America/St_Johns", + "NST": "America/St_Johns", + "NZDT": "Pacific/Auckland", + "NZST": "Pacific/Auckland", + "PDT": "America/Los_Angeles", + "PET": "America/Lima", + "PHT": "Asia/Manila", + "PKT": "Asia/Karachi", + "PST": "America/Los_Angeles", + "SAST": "Africa/Johannesburg", + "SGT": "Asia/Singapore", + "SST": "Pacific/Midway", + "TRT": "Europe/Istanbul", + "UTC": "UTC", + "WAT": "Africa/Lagos", + "WEST": "Europe/Lisbon", + "WET": "Europe/Lisbon", + "WIB": "Asia/Jakarta", + "WIT": "Asia/Jakarta", + "WITA": "Asia/Makassar" + +} \ No newline at end of file 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 01e915d68..7ae3cb3fd 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.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wgcc-compat" @@ -239,6 +239,7 @@ SWIFT_CLASS("_TtC11SoulverCore21AsynchronousOperation") SWIFT_CLASS("_TtC11SoulverCore8NullUnit") @interface NullUnit : NSDimension ++ (nonnull instancetype)baseUnit SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)initWithSymbol:(NSString * _Nonnull)symbol converter:(NSUnitConverter * _Nonnull)converter OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; @end diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/Info.plist index 99a50a6f2..17576ad77 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 056818aa2..e2ac2dad6 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 c9700fbaa..0e9e9538e 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,5 +1,5 @@ // swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// swift-compiler-version: Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) // swift-module-flags: -target arm64-apple-ios12.2 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore import Foundation @_exported import SoulverCore @@ -61,17 +61,21 @@ extension CalculationResult { public let EmptyResult: SoulverCore.CalculationResult infix operator ~ : AdditionPrecedence public typealias CocoaUnit = Foundation.Dimension -public enum EvaluationResult { +indirect public enum EvaluationResult { case rawString(Swift.String) case decimal(Foundation.Decimal) case percentage(SoulverCore.Percentage) case fraction(SoulverCore.Fraction) + case multiplier(SoulverCore.Multiplier) + case boolean(Swift.Bool) case unitExpression(SoulverCore.UnitExpression) case rate(SoulverCore.UnitRate) case date(SoulverCore.Datestamp) + case iso8601(SoulverCore.iso8601) case timestamp(SoulverCore.Timestamp) case timespan(SoulverCore.Timespan) case error(SoulverCore.EvaluationError) + case variable(SoulverCore.Variable) case none } public class LineSection : Swift.Codable { @@ -134,7 +138,6 @@ public class Line : Swift.Codable { public var apparentLineType: SoulverCore.ApparentLineType? public var lineIndex: SoulverCore.LineIndex? public var explicitDependencies: Foundation.IndexSet? - public var declaredVariable: SoulverCore.Variable? public var variableEnvironment: SoulverCore.VariableList? public var rawResult: Swift.String { get @@ -156,6 +159,11 @@ extension Line { get } } +extension Line { + public var declaredVariable: SoulverCore.Variable? { + 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) @@ -182,9 +190,10 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl public var wordFunctions: Swift.Bool public var variableDeclarations: Swift.Bool public var bracketComments: Swift.Bool + public var inAmbiguityPreferSomethingToNothing: Swift.Bool public var leftToRightOperatorEvaluation: Swift.Bool public init() - public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool) + 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 var hashValue: Swift.Int { @@ -238,6 +247,7 @@ public enum TokenType : Swift.CaseIterable { case variableDeclarationSymbol case pi case typeName + case conditionalKeyword case colon case function case timezone @@ -248,15 +258,20 @@ public enum TokenType : Swift.CaseIterable { case converter case timestamp case datestamp + case iso8601 case timespan case dateWord case unitExpression case compoundUnitExpression + case conditionalExpression case percentage + case multiplier + case boolean case rate case functionExpression case wordFunction case declaredVariable + case variableDeclaration case subexpression case comment case wordComment @@ -288,14 +303,24 @@ public enum TokenSubType { case modOperator case lesserOf case greaterOf + case greaterThan + case greaterThanOrEqualTo + case lessThan + case lessThanOrEqualTo + case equalTo + case notEqualTo + case `false` + case `true` case openBracket case closeBracket case numberConverter case fractionConverter + case multiplierConveter case percentageConverter case unitConverter case rateConverter case dateConverter + case iso8601Converter case timestampConverter case timespanConverter case timezoneConverter @@ -303,26 +328,32 @@ public enum TokenSubType { case roundingUpConverter case roundingConverter case roundingDownConverter + case binaryConverter + case hexConverter case dateWordToday case dateWordNow case dateWordTomorrow case dateWordYesterday case dateWordDayOfWeek case dateWordMonthOfYear - case multiplierConveter - case binaryConverter - case hexConverter case numberTypeName case fractionTypeName + case multiplierTypeName case percentageTypeName case rateTypeName case timestampTypeName case timespanTypeName case dateTypeName + case iso8601TypeName case decimalPlacesTypeName - case binaryType - case hexType - case multiplierType + case binaryTypeName + case hexTypeName + case conditionalKeywordIf + case conditionalKeywordThen + case conditionalKeywordElse + case conditionalKeywordUnless + case conditionalKeywordAnd + case conditionalKeywordOr case unitMismatchError case infinityError case divideByZeroError @@ -685,6 +716,9 @@ public struct ExpressionBeautificationOptions { } public init() } +public struct iso8601 { + public let datestamp: SoulverCore.Datestamp +} public class LineCollectionCompletions { public class func completionsFor(textFragment: Swift.String, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String] @objc deinit @@ -696,7 +730,7 @@ public struct Variable : Swift.Codable { public let value: SoulverCore.VariableValue public init(name: SoulverCore.VariableName, value: SoulverCore.VariableValue) public var declaringLineIndex: SoulverCore.LineIndex? - public var definition: SoulverCore.CalculationResult? + public var definition: SoulverCore.EvaluationResult? public init(from decoder: Swift.Decoder) throws public func encode(to encoder: Swift.Encoder) throws } @@ -755,6 +789,9 @@ public struct TokenIndexPath : Swift.Equatable { public struct Timespan { public let dateComponents: Foundation.DateComponents } +public struct Multiplier { + public let decimalValue: Foundation.Decimal +} public typealias Scalar = Swift.String extension UnitLength { public static let pixel: Foundation.UnitLength @@ -856,6 +893,7 @@ extension UnitLength { @objc deinit } @objc final public class NullUnit : Foundation.Dimension { + @objc override final public class func baseUnit() -> Self @objc override dynamic public init(symbol: Swift.String, converter: Foundation.UnitConverter) @objc required dynamic public init?(coder: Foundation.NSCoder) @objc deinit @@ -865,6 +903,10 @@ public struct UnitRate { public let ofUnit: SoulverCore.CocoaUnit? public let perUnit: SoulverCore.CocoaUnit } +extension UnitRate : Swift.Comparable { + public static func < (lhs: SoulverCore.UnitRate, rhs: SoulverCore.UnitRate) -> Swift.Bool + public static func == (a: SoulverCore.UnitRate, b: SoulverCore.UnitRate) -> Swift.Bool +} extension UnitRate : Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { get @@ -1204,6 +1246,7 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable { } public func cocoaUnitFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.CocoaUnit public func unitIdentifierFor(cocoaUnit: SoulverCore.CocoaUnit) -> SoulverCore.UnitIdentifier? +public func motherUnitIdentifierFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.UnitIdentifier public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable { public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) @@ -1242,6 +1285,10 @@ public class TokenList { public var flattenedTokens: [SoulverCore.Token] { get } + public subscript(index: Swift.Int) -> SoulverCore.Token { + get + set(newValue) + } public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token] @objc deinit } @@ -1360,6 +1407,7 @@ extension Array { public var isNotEmpty: Swift.Bool { get } + mutating public func trim(where predicate: (Element) throws -> Swift.Bool) mutating public func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index) } public class LineCollection { 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 056818aa2..e2ac2dad6 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 c9700fbaa..0e9e9538e 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,5 +1,5 @@ // swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// swift-compiler-version: Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) // swift-module-flags: -target arm64-apple-ios12.2 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore import Foundation @_exported import SoulverCore @@ -61,17 +61,21 @@ extension CalculationResult { public let EmptyResult: SoulverCore.CalculationResult infix operator ~ : AdditionPrecedence public typealias CocoaUnit = Foundation.Dimension -public enum EvaluationResult { +indirect public enum EvaluationResult { case rawString(Swift.String) case decimal(Foundation.Decimal) case percentage(SoulverCore.Percentage) case fraction(SoulverCore.Fraction) + case multiplier(SoulverCore.Multiplier) + case boolean(Swift.Bool) case unitExpression(SoulverCore.UnitExpression) case rate(SoulverCore.UnitRate) case date(SoulverCore.Datestamp) + case iso8601(SoulverCore.iso8601) case timestamp(SoulverCore.Timestamp) case timespan(SoulverCore.Timespan) case error(SoulverCore.EvaluationError) + case variable(SoulverCore.Variable) case none } public class LineSection : Swift.Codable { @@ -134,7 +138,6 @@ public class Line : Swift.Codable { public var apparentLineType: SoulverCore.ApparentLineType? public var lineIndex: SoulverCore.LineIndex? public var explicitDependencies: Foundation.IndexSet? - public var declaredVariable: SoulverCore.Variable? public var variableEnvironment: SoulverCore.VariableList? public var rawResult: Swift.String { get @@ -156,6 +159,11 @@ extension Line { get } } +extension Line { + public var declaredVariable: SoulverCore.Variable? { + 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) @@ -182,9 +190,10 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl public var wordFunctions: Swift.Bool public var variableDeclarations: Swift.Bool public var bracketComments: Swift.Bool + public var inAmbiguityPreferSomethingToNothing: Swift.Bool public var leftToRightOperatorEvaluation: Swift.Bool public init() - public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool) + 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 var hashValue: Swift.Int { @@ -238,6 +247,7 @@ public enum TokenType : Swift.CaseIterable { case variableDeclarationSymbol case pi case typeName + case conditionalKeyword case colon case function case timezone @@ -248,15 +258,20 @@ public enum TokenType : Swift.CaseIterable { case converter case timestamp case datestamp + case iso8601 case timespan case dateWord case unitExpression case compoundUnitExpression + case conditionalExpression case percentage + case multiplier + case boolean case rate case functionExpression case wordFunction case declaredVariable + case variableDeclaration case subexpression case comment case wordComment @@ -288,14 +303,24 @@ public enum TokenSubType { case modOperator case lesserOf case greaterOf + case greaterThan + case greaterThanOrEqualTo + case lessThan + case lessThanOrEqualTo + case equalTo + case notEqualTo + case `false` + case `true` case openBracket case closeBracket case numberConverter case fractionConverter + case multiplierConveter case percentageConverter case unitConverter case rateConverter case dateConverter + case iso8601Converter case timestampConverter case timespanConverter case timezoneConverter @@ -303,26 +328,32 @@ public enum TokenSubType { case roundingUpConverter case roundingConverter case roundingDownConverter + case binaryConverter + case hexConverter case dateWordToday case dateWordNow case dateWordTomorrow case dateWordYesterday case dateWordDayOfWeek case dateWordMonthOfYear - case multiplierConveter - case binaryConverter - case hexConverter case numberTypeName case fractionTypeName + case multiplierTypeName case percentageTypeName case rateTypeName case timestampTypeName case timespanTypeName case dateTypeName + case iso8601TypeName case decimalPlacesTypeName - case binaryType - case hexType - case multiplierType + case binaryTypeName + case hexTypeName + case conditionalKeywordIf + case conditionalKeywordThen + case conditionalKeywordElse + case conditionalKeywordUnless + case conditionalKeywordAnd + case conditionalKeywordOr case unitMismatchError case infinityError case divideByZeroError @@ -685,6 +716,9 @@ public struct ExpressionBeautificationOptions { } public init() } +public struct iso8601 { + public let datestamp: SoulverCore.Datestamp +} public class LineCollectionCompletions { public class func completionsFor(textFragment: Swift.String, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String] @objc deinit @@ -696,7 +730,7 @@ public struct Variable : Swift.Codable { public let value: SoulverCore.VariableValue public init(name: SoulverCore.VariableName, value: SoulverCore.VariableValue) public var declaringLineIndex: SoulverCore.LineIndex? - public var definition: SoulverCore.CalculationResult? + public var definition: SoulverCore.EvaluationResult? public init(from decoder: Swift.Decoder) throws public func encode(to encoder: Swift.Encoder) throws } @@ -755,6 +789,9 @@ public struct TokenIndexPath : Swift.Equatable { public struct Timespan { public let dateComponents: Foundation.DateComponents } +public struct Multiplier { + public let decimalValue: Foundation.Decimal +} public typealias Scalar = Swift.String extension UnitLength { public static let pixel: Foundation.UnitLength @@ -856,6 +893,7 @@ extension UnitLength { @objc deinit } @objc final public class NullUnit : Foundation.Dimension { + @objc override final public class func baseUnit() -> Self @objc override dynamic public init(symbol: Swift.String, converter: Foundation.UnitConverter) @objc required dynamic public init?(coder: Foundation.NSCoder) @objc deinit @@ -865,6 +903,10 @@ public struct UnitRate { public let ofUnit: SoulverCore.CocoaUnit? public let perUnit: SoulverCore.CocoaUnit } +extension UnitRate : Swift.Comparable { + public static func < (lhs: SoulverCore.UnitRate, rhs: SoulverCore.UnitRate) -> Swift.Bool + public static func == (a: SoulverCore.UnitRate, b: SoulverCore.UnitRate) -> Swift.Bool +} extension UnitRate : Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { get @@ -1204,6 +1246,7 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable { } public func cocoaUnitFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.CocoaUnit public func unitIdentifierFor(cocoaUnit: SoulverCore.CocoaUnit) -> SoulverCore.UnitIdentifier? +public func motherUnitIdentifierFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.UnitIdentifier public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable { public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) @@ -1242,6 +1285,10 @@ public class TokenList { public var flattenedTokens: [SoulverCore.Token] { get } + public subscript(index: Swift.Int) -> SoulverCore.Token { + get + set(newValue) + } public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token] @objc deinit } @@ -1360,6 +1407,7 @@ extension Array { public var isNotEmpty: Swift.Bool { get } + mutating public func trim(where predicate: (Element) throws -> Swift.Bool) mutating public func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index) } public class LineCollection { diff --git a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/SoulverCore index 904854f2f..45655bf09 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 fee3ad55e..8842132be 100644 --- a/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources +++ b/SoulverCore.xcframework/ios-arm64/SoulverCore.framework/_CodeSignature/CodeResources @@ -6,15 +6,19 @@ Base.lproj/DefaultCurrencyRates.json - GGQyeKcWhAylO6N3mrTJ0U0BHpQ= + bgU0/Y8EJoRmz4uph3ypmABBMLw= Base.lproj/FunctionDescriptions.json - g6L9Dgt4FDLJKJJ6yAfg5LpJpwY= + lZxNUBBUYjxQDFvccGuTQcOfxw4= Base.lproj/LocalizedFixtures.json - OKjIlrX1S4l8wE7wE58Ab++ypmY= + D6zXRY1zGn+ViL9vvsB1YWQ4DAw= + + Base.lproj/TimeZoneAbbrieviations.json + + jvQ9kvDAPNdTvzDyAz9BcEGLcyg= Base.lproj/UnitDescriptions.json @@ -26,7 +30,7 @@ Headers/SoulverCore-Swift.h - CUSsMDbWtotBhWV7JNmq1RB+fsY= + 8Ia+HUzkzK1QGQJQDp2AyX9eBS8= Headers/SoulverCore.h @@ -34,31 +38,31 @@ Info.plist - Gy00domGqz3lUUQeABO//qdYBAk= + fJT1EItpyfUNcUBZN73QIJnJ5Go= Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftdoc - rST/xNSBNCvxzscBJx7Hqtl8xRU= + LYeeWsF0SiRVuMyWTSqLu82lZoA= Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface - nwe0SKl3MmbCupxUfrKkkGzNIfA= + PFgqEIMlh4svs3+6Wgu08BfIFCk= Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftmodule - Pd5gmYKdQey0Z5iBkTBXlJZ0lPU= + XGq8giqL0ITe3eprZXrniOJ1ZRg= Modules/SoulverCore.swiftmodule/arm64.swiftdoc - rST/xNSBNCvxzscBJx7Hqtl8xRU= + LYeeWsF0SiRVuMyWTSqLu82lZoA= Modules/SoulverCore.swiftmodule/arm64.swiftinterface - nwe0SKl3MmbCupxUfrKkkGzNIfA= + PFgqEIMlh4svs3+6Wgu08BfIFCk= Modules/SoulverCore.swiftmodule/arm64.swiftmodule - Pd5gmYKdQey0Z5iBkTBXlJZ0lPU= + XGq8giqL0ITe3eprZXrniOJ1ZRg= Modules/module.modulemap @@ -179,21 +183,28 @@ hash2 - aQdbDAWTyWaMHr06FDdkLXJ1KEMLgn2IyNWrDuTVnFY= + CSmUHddJPFXMK9xl8Dc7pq5LO8Cjyl3yDWae/SMVpA8= Base.lproj/FunctionDescriptions.json hash2 - ScFb5P1Obi2p1xGbpHDhULLi6foVT9XluM/q2NRXLjY= + yC5BYOszy/7xLauxPsEccsTx/jfFuBRuJ+LCWq4+nC0= Base.lproj/LocalizedFixtures.json hash2 - MXmKvVFLjrrxmeXXEAPsJzSQIHWZurvBVZPvKAaIsOY= + O3c+nWUPnmVZpBVEG8lcN4or+z6WZQLR4YlA/gYz/mM= + + + Base.lproj/TimeZoneAbbrieviations.json + + hash2 + + CGcnilnCPFpX3dNk0ISsdzY8sTSVjVd/fntEq5x3Arw= Base.lproj/UnitDescriptions.json @@ -214,7 +225,7 @@ hash2 - W+0OmU87opgVH/g4MtbVGdJm4+Mdb5Yo1bSM2VfyRe8= + 0uHxGz96qSJF3Bj+YXRBPH2Xm8f4te3AIXbbhOiDHPc= Headers/SoulverCore.h @@ -228,42 +239,42 @@ hash2 - ME+NVXSspP+O5hFTTejQnsne36JQZpO/QrSFY3SbmJ4= + N5dr7+JCAwb5E4dEsN0Yd1N/R3LuJMas0s+d2Uw5RnA= Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftinterface hash2 - 52NKDVLjAQPWyx4EUounrqoE3Ecl7Mflr1BAk1h6uYM= + mkwWwfMpl7XvNR82CT3/dPdmHxt+t22skxnwbjIytL4= Modules/SoulverCore.swiftmodule/arm64-apple-ios.swiftmodule hash2 - GdSt+JOCFdJcZcPNOT3XwZqb5vmLjTukbHLz+9TF4AU= + ywRNUE947b7UytF+SMz2GpTN46Lq2DtyBWfRFdks6IQ= Modules/SoulverCore.swiftmodule/arm64.swiftdoc hash2 - ME+NVXSspP+O5hFTTejQnsne36JQZpO/QrSFY3SbmJ4= + N5dr7+JCAwb5E4dEsN0Yd1N/R3LuJMas0s+d2Uw5RnA= Modules/SoulverCore.swiftmodule/arm64.swiftinterface hash2 - 52NKDVLjAQPWyx4EUounrqoE3Ecl7Mflr1BAk1h6uYM= + mkwWwfMpl7XvNR82CT3/dPdmHxt+t22skxnwbjIytL4= Modules/SoulverCore.swiftmodule/arm64.swiftmodule hash2 - GdSt+JOCFdJcZcPNOT3XwZqb5vmLjTukbHLz+9TF4AU= + ywRNUE947b7UytF+SMz2GpTN46Lq2DtyBWfRFdks6IQ= Modules/module.modulemap diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json index 9d21884c8..ba0c2dee3 100644 --- a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/DefaultCurrencyRates.json @@ -1,30 +1,30 @@ { "HRK" : { - "value" : 0.14595077810008575, + "value" : 0.14104046112332522, "code" : "HRK" }, "HUF" : { - "value" : 0.0032135431356240985, + "value" : 0.0030455270849261184, "code" : "HUF" }, "CDF" : { - "value" : 0.00058962259318541251, + "value" : 0.00058479519783867745, "code" : "CDF" }, "XMR" : { - "value" : 76.734707209999996, + "value" : 39.878292340000002, "code" : "XMR" }, "ILS" : { - "value" : 0.29177912320373478, + "value" : 0.27719067253386925, "code" : "ILS" }, "NGN" : { - "value" : 0.0027359793173534065, + "value" : 0.0027247930862974888, "code" : "NGN" }, "GYD" : { - "value" : 0.0047815368414066556, + "value" : 0.004795433289696489, "code" : "GYD" }, "BYR" : { @@ -32,47 +32,47 @@ "code" : "BYR" }, "BHD" : { - "value" : 2.6523510439653708, + "value" : 2.6594471541256004, "code" : "BHD" }, "SZL" : { - "value" : 0.065702793544805654, + "value" : 0.05723977225439416, "code" : "SZL" }, "INR" : { - "value" : 0.013910044327555561, + "value" : 0.013223559453202643, "code" : "INR" }, "SDG" : { - "value" : 0.018484230613031911, + "value" : 0.018081980008635232, "code" : "SDG" }, "PEN" : { - "value" : 0.29323328995435527, + "value" : 0.28542853097927107, "code" : "PEN" }, "EUR" : { - "value" : 1.0883773273588673, + "value" : 1.0763497964622535, "code" : "EUR" }, "TRX" : { - "value" : 0.0190759, + "value" : 0.01110775, "code" : "TRX" }, "PGK" : { - "value" : 0.29368653250478488, + "value" : 0.2932228860462559, "code" : "PGK" }, "QAR" : { - "value" : 0.27464838826713073, + "value" : 0.27464695507160319, "code" : "QAR" }, "LRD" : { - "value" : 0.0050639416826753058, + "value" : 0.0050729222683882393, "code" : "LRD" }, "ISK" : { - "value" : 0.0078488663117121521, + "value" : 0.0071062909108279455, "code" : "ISK" }, "SYP" : { @@ -80,91 +80,91 @@ "code" : "SYP" }, "TRY" : { - "value" : 0.16273920017914331, + "value" : 0.1526134131318348, "code" : "TRY" }, "UAH" : { - "value" : 0.040753552752091492, + "value" : 0.036539083756897441, "code" : "UAH" }, "SGD" : { - "value" : 0.71494704029798983, + "value" : 0.68979598593919855, "code" : "SGD" }, "MMK" : { - "value" : 0.00068987321992875405, + "value" : 0.00070313998918671949, "code" : "MMK" }, "NIO" : { - "value" : 0.02919728914849172, + "value" : 0.029282253604403841, "code" : "NIO" }, "BIF" : { - "value" : 0.00052910052910052914, + "value" : 0.00052770448548812663, "code" : "BIF" }, "AFN" : { - "value" : 0.012995415282465422, + "value" : 0.01314917406618905, "code" : "AFN" }, + "LKR" : { + "value" : 0.0053567214936039408, + "code" : "LKR" + }, "LTC" : { - "value" : 71.324140209999996, + "value" : 37.386027069999997, "code" : "LTC" }, "GTQ" : { - "value" : 0.13075498451076453, + "value" : 0.13131838404849325, "code" : "GTQ" }, - "LKR" : { - "value" : 0.0055015208404211261, - "code" : "LKR" - }, "XRP" : { - "value" : 0.25512463000000002, + "value" : 0.15588341, "code" : "XRP" }, "CHF" : { - "value" : 1.024642655873764, + "value" : 1.0139252493749151, "code" : "CHF" }, "THB" : { - "value" : 0.031509975018261603, + "value" : 0.030671409734363199, "code" : "THB" }, "AMD" : { - "value" : 0.002090605015070419, + "value" : 0.002026012365811047, "code" : "AMD" }, "AOA" : { - "value" : 0.0020284407638936717, + "value" : 0.0019282033334532417, "code" : "AOA" }, "SEK" : { - "value" : 0.10295713482648633, + "value" : 0.096334426889635907, "code" : "SEK" }, "DASH" : { - "value" : 96.853203140000005, + "value" : 70.651361420000001, "code" : "DASH" }, "SAR" : { - "value" : 0.26651528598422763, + "value" : 0.26610330822293815, "code" : "SAR" }, "KWD" : { - "value" : 3.266927585283145, + "value" : 3.2126449706042988, "code" : "KWD" }, "IRR" : { - "value" : 2.3750148435043321e-05, + "value" : 2.3750148239875258e-05, "code" : "IRR" }, "WST" : { - "value" : 0.37188891678055763, + "value" : 0.34640216321222883, "code" : "WST" }, "BNB" : { - "value" : 20.485580339999999, + "value" : 11.775446219999999, "code" : "BNB" }, "BMD" : { @@ -172,99 +172,99 @@ "code" : "BMD" }, "BGN" : { - "value" : 0.55563334422374688, + "value" : 0.54648183193825628, "code" : "BGN" }, "PHP" : { - "value" : 0.019575026947960848, + "value" : 0.019616311999168582, "code" : "PHP" }, "ZMW" : { - "value" : 0.067886459624731804, + "value" : 0.058983113429540691, "code" : "ZMW" }, "XAF" : { - "value" : 0.0016514878146375363, + "value" : 0.0016360828518246062, "code" : "XAF" }, "BDT" : { - "value" : 0.011767930295253842, + "value" : 0.011810162503111978, "code" : "BDT" }, "NOK" : { - "value" : 0.1068136650566999, + "value" : 0.087346199719706044, "code" : "NOK" }, "BOB" : { - "value" : 0.1445582422989849, + "value" : 0.14520865176380593, "code" : "BOB" }, "TZS" : { - "value" : 0.00043292944517055035, + "value" : 0.00043381997443251612, "code" : "TZS" }, "XAG" : { - "value" : 17.995968902965735, + "value" : 12.582573136206353, "code" : "XAG" }, - "VEF" : { - "value" : 0.10012517649565486, - "code" : "VEF" + "VUV" : { + "value" : 0.0078507628393907347, + "code" : "VUV" }, "ANG" : { - "value" : 0.55846235209822681, + "value" : 0.55975120178583027, "code" : "ANG" }, - "VUV" : { - "value" : 0.0083791690639469351, - "code" : "VUV" - }, "BND" : { - "value" : 0.71415716599583501, + "value" : 0.69261046963838113, "code" : "BND" }, "XCD" : { "value" : 0.37002090618119926, "code" : "XCD" }, + "VEF" : { + "value" : 0.10012511634538519, + "code" : "VEF" + }, "SCR" : { - "value" : 0.072965746011637592, + "value" : 0.073255817445916874, "code" : "SCR" }, "KYD" : { - "value" : 1.1995398565110424, + "value" : 1.2023074684935329, "code" : "KYD" }, "DJF" : { - "value" : 0.0056268222604561047, + "value" : 0.005626816244848073, "code" : "DJF" }, "CLF" : { - "value" : 33.935116058096916, + "value" : 31.962156806341291, "code" : "CLF" }, "LSL" : { - "value" : 0.065661645148579501, + "value" : 0.057239732937722825, "code" : "LSL" }, "MOP" : { - "value" : 0.12457938883843422, + "value" : 0.12540460227366068, "code" : "MOP" }, "ALL" : { - "value" : 0.0088893254535389408, + "value" : 0.0087069785902274977, "code" : "ALL" }, "UZS" : { - "value" : 0.00010503098243043774, + "value" : 0.00010509721122358741, "code" : "UZS" }, "UYU" : { - "value" : 0.026035353093541484, + "value" : 0.021802889192419021, "code" : "UYU" }, "PLN" : { - "value" : 0.25272296357099572, + "value" : 0.23574063814990748, "code" : "PLN" }, "LTL" : { @@ -272,19 +272,19 @@ "code" : "LTL" }, "LYD" : { - "value" : 0.71174123935502009, + "value" : 0.70902826966613985, "code" : "LYD" }, - "JPY" : { - "value" : 0.009077169804173767, - "code" : "JPY" - }, "MNT" : { - "value" : 0.00036300093050751028, + "value" : 0.00036022874978058379, "code" : "MNT" }, + "JPY" : { + "value" : 0.009011766122319945, + "code" : "JPY" + }, "FJD" : { - "value" : 0.45108013393471336, + "value" : 0.42300468689193071, "code" : "FJD" }, "ZWL" : { @@ -292,23 +292,23 @@ "code" : "ZWL" }, "KPW" : { - "value" : 0.0011110213047901087, + "value" : 0.0011111110777777787, "code" : "KPW" }, "PKR" : { - "value" : 0.0064809950587986333, + "value" : 0.0063002032483369125, "code" : "PKR" }, "MRO" : { - "value" : 0.0028011201735596465, + "value" : 0.0028011180393746832, "code" : "MRO" }, "OMR" : { - "value" : 2.5972272002410226, + "value" : 2.6073511658770738, "code" : "OMR" }, "GBP" : { - "value" : 1.3002007509959537, + "value" : 1.1650001339750153, "code" : "GBP" }, "LVL" : { @@ -316,99 +316,99 @@ "code" : "LVL" }, "SHP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "SHP" }, "GEL" : { - "value" : 0.35906423551454086, + "value" : 0.31200858647629987, "code" : "GEL" }, "TND" : { - "value" : 0.3496019432274412, + "value" : 0.34182144341624554, "code" : "TND" }, "DKK" : { - "value" : 0.1456971975144058, + "value" : 0.14321714985268685, "code" : "DKK" }, "NPR" : { - "value" : 0.0087003367378331014, + "value" : 0.0083551067415016875, "code" : "NPR" }, "KRW" : { - "value" : 0.00082254450239665274, + "value" : 0.00079684425197163811, "code" : "KRW" }, "BSD" : { - "value" : 0.99963513317639063, + "value" : 1.0019046206839202, "code" : "BSD" }, "CRC" : { - "value" : 0.0017460833081489916, + "value" : 0.0017717644250681136, "code" : "CRC" }, "EGP" : { - "value" : 0.06415609743078568, + "value" : 0.063897302211172541, "code" : "EGP" }, "MAD" : { - "value" : 0.10328975813876813, + "value" : 0.10182904308906142, "code" : "MAD" }, - "BTC" : { - "value" : 9345.7943925233649, - "code" : "BTC" - }, "AUD" : { - "value" : 0.66019761034872959, + "value" : 0.57930580626623507, "code" : "AUD" }, + "BTC" : { + "value" : 6211.1801242236024, + "code" : "BTC" + }, "SLL" : { - "value" : 0.0001029336096135646, + "value" : 0.0001030927799022214, "code" : "SLL" }, "MWK" : { - "value" : 0.001355938147454957, + "value" : 0.0013605435790645785, "code" : "MWK" }, "RSD" : { - "value" : 0.0092584198291947445, + "value" : 0.0091053917959946426, "code" : "RSD" }, "NZD" : { - "value" : 0.63199979270406803, + "value" : 0.56965288201634334, "code" : "NZD" }, "SRD" : { - "value" : 0.13408472626133838, + "value" : 0.13408352169833407, "code" : "SRD" }, "CLP" : { - "value" : 0.0012298621631488707, + "value" : 0.0011583406331187806, "code" : "CLP" }, "RUB" : { - "value" : 0.015304115033196997, + "value" : 0.012503531622506775, "code" : "RUB" }, "NAD" : { - "value" : 0.065660567303361866, + "value" : 0.05723974931966265, "code" : "NAD" }, "HKD" : { - "value" : 0.12836558518661145, + "value" : 0.12883526478867796, "code" : "HKD" }, "GMD" : { - "value" : 0.019607800845919746, + "value" : 0.019650075387514225, "code" : "GMD" }, "VND" : { - "value" : 4.3035741183052525e-05, + "value" : 4.3019078961519434e-05, "code" : "VND" }, "LAK" : { - "value" : 0.00011229646146342911, + "value" : 0.00011185681889954924, "code" : "LAK" }, "CUC" : { @@ -416,179 +416,179 @@ "code" : "CUC" }, "RON" : { - "value" : 0.22636720699764418, + "value" : 0.2205539521283236, "code" : "RON" }, "MUR" : { - "value" : 0.026699166315861871, + "value" : 0.025621068142843293, "code" : "MUR" }, "XAU" : { - "value" : 1633.9869281045751, + "value" : 1497.0059880239521, "code" : "XAU" }, "GGP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "GGP" }, + "MXN" : { + "value" : 0.040944668848526183, + "code" : "MXN" + }, "BRL" : { - "value" : 0.22787364042040861, + "value" : 0.19747609749315942, "code" : "BRL" }, "STD" : { - "value" : 4.5685510254460443e-05, + "value" : 4.5345772756215923e-05, "code" : "STD" }, - "MXN" : { - "value" : 0.052422303593286805, - "code" : "MXN" - }, "AWG" : { - "value" : 0.5554012774229381, + "value" : 0.55555555555555558, "code" : "AWG" }, "MVR" : { - "value" : 0.064724311648855073, + "value" : 0.06489133491728756, "code" : "MVR" }, "PAB" : { - "value" : 0.99963513317639063, + "value" : 1.0019046206839202, "code" : "PAB" }, "TJS" : { - "value" : 0.10316107188067483, + "value" : 0.10280197050817071, "code" : "TJS" }, "GNF" : { - "value" : 0.00010624170451756518, + "value" : 0.00010624165639982802, "code" : "GNF" }, "MGA" : { - "value" : 0.00026917901381942578, + "value" : 0.00026652449560660981, "code" : "MGA" }, "XDR" : { - "value" : 1.3626484435148154, + "value" : 1.3504461874203235, "code" : "XDR" }, "ETB" : { - "value" : 0.030969578211687721, + "value" : 0.030671199951809412, "code" : "ETB" }, "ZAR" : { - "value" : 0.065733984687005337, + "value" : 0.056678707113347777, "code" : "ZAR" }, "COP" : { - "value" : 0.00029099374363451185, + "value" : 0.00024268899405411964, "code" : "COP" }, "IDR" : { - "value" : 7.1702577707668594e-05, + "value" : 6.3373854153186512e-05, "code" : "IDR" }, "SVC" : { - "value" : 0.11424858023289346, + "value" : 0.11450918386556438, "code" : "SVC" }, "CVE" : { - "value" : 0.0098376559518098868, + "value" : 0.00969895444398188, "code" : "CVE" }, "ETC" : { - "value" : 9.2414770100000005, + "value" : 4.8471909000000002, "code" : "ETC" }, "TTD" : { - "value" : 0.14783698961312094, + "value" : 0.1482872525753047, "code" : "TTD" }, - "DOGE" : { - "value" : 0.0025008600000000001, - "code" : "DOGE" + "GIP" : { + "value" : 1.1659509670980297, + "code" : "GIP" }, "PYG" : { - "value" : 0.00015260611179847446, + "value" : 0.00015102166981185603, "code" : "PYG" }, - "GIP" : { - "value" : 1.3003360068241632, - "code" : "GIP" + "DOGE" : { + "value" : 0.0017667799999999999, + "code" : "DOGE" }, "MZN" : { - "value" : 0.015378693404678168, + "value" : 0.01507044551657938, "code" : "MZN" }, "FKP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "FKP" }, "KZT" : { - "value" : 0.0026468799333706208, + "value" : 0.0022358015367513568, "code" : "KZT" }, + "UGX" : { + "value" : 0.00026195567645827576, + "code" : "UGX" + }, "USD" : { "value" : 1, "code" : "USD" }, - "UGX" : { - "value" : 0.00027163687561171894, - "code" : "UGX" - }, "RWF" : { "value" : 0.0010695187165775401, "code" : "RWF" }, "GHS" : { - "value" : 0.18709119404780591, + "value" : 0.17792359604938446, "code" : "GHS" }, "ARS" : { - "value" : 0.016188774318594657, + "value" : 0.015781795342403961, "code" : "ARS" }, "JEP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "JEP" }, "DOP" : { - "value" : 0.018658447894026584, + "value" : 0.018518395405482394, "code" : "DOP" }, "LBP" : { - "value" : 0.0006605020835914713, + "value" : 0.00066135545154280214, "code" : "LBP" }, "BZD" : { - "value" : 0.4959279357198047, + "value" : 0.49709571826603072, "code" : "BZD" }, "BTN" : { - "value" : 0.013920560096519595, + "value" : 0.0133681457673309, "code" : "BTN" }, "ADA" : { - "value" : 0.05665137, + "value" : 0.028973720000000001, "code" : "ADA" }, - "YER" : { - "value" : 0.003996004554885752, - "code" : "YER" - }, "MYR" : { - "value" : 0.23615555755500595, + "value" : 0.22755696661102137, "code" : "MYR" }, + "YER" : { + "value" : 0.0039944020213208073, + "code" : "YER" + }, "JMD" : { - "value" : 0.0072263691946240433, + "value" : 0.0074044889418030122, "code" : "JMD" }, "TOP" : { - "value" : 0.43108093544562992, + "value" : 0.41702287370462271, "code" : "TOP" }, "SOS" : { - "value" : 0.0017094014230404455, + "value" : 0.0017064836573524296, "code" : "SOS" }, "TMT" : { @@ -596,43 +596,43 @@ "code" : "TMT" }, "MDL" : { - "value" : 0.056002056843543743, + "value" : 0.055662867379099416, "code" : "MDL" }, "XOF" : { - "value" : 0.0016501659695678042, + "value" : 0.001640679393392658, "code" : "XOF" }, "ETH" : { - "value" : 253.23130087000001, + "value" : 131.32626894000001, "code" : "ETH" }, "TWD" : { - "value" : 0.032894195819147709, + "value" : 0.033036550582394741, "code" : "TWD" }, "BBD" : { - "value" : 0.49508945523821973, + "value" : 0.50064859024866715, "code" : "BBD" }, "CAD" : { - "value" : 0.75270314517009207, + "value" : 0.69606375944036469, "code" : "CAD" }, "CNY" : { - "value" : 0.14209787332059851, + "value" : 0.1409283570966729, "code" : "CNY" }, - "JOD" : { - "value" : 1.4104073961763857, - "code" : "JOD" - }, "XPF" : { - "value" : 0.0090457003253557496, + "value" : 0.0089565314807213709, "code" : "XPF" }, + "JOD" : { + "value" : 1.4103576667042761, + "code" : "JOD" + }, "XLM" : { - "value" : 0.064830589999999994, + "value" : 0.039567440000000002, "code" : "XLM" }, "IQD" : { @@ -640,91 +640,91 @@ "code" : "IQD" }, "HNL" : { - "value" : 0.040164394473154404, + "value" : 0.04009560556573516, "code" : "HNL" }, "AED" : { - "value" : 0.27225441630695052, + "value" : 0.27225389745066897, "code" : "AED" }, "EOS" : { - "value" : 4.0654144399999996, + "value" : 2.1972275300000002, "code" : "EOS" }, - "KES" : { - "value" : 0.0098808349566392398, - "code" : "KES" - }, "ERN" : { - "value" : 0.066664208979495626, + "value" : 0.066665075593529161, "code" : "ERN" }, + "KES" : { + "value" : 0.0094321483552431921, + "code" : "KES" + }, "KMF" : { - "value" : 0.0022105554069313188, + "value" : 0.0021810070248578705, "code" : "KMF" }, - "MKD" : { - "value" : 0.017615996847159348, - "code" : "MKD" - }, "DZD" : { - "value" : 0.0082945988699222838, + "value" : 0.0080988028025745125, "code" : "DZD" }, + "MKD" : { + "value" : 0.017395114936830335, + "code" : "MKD" + }, "BSV" : { - "value" : 261.34168437, + "value" : 164.85426050999999, "code" : "BSV" }, "BWP" : { - "value" : 0.090066843107612315, + "value" : 0.088471562629859668, "code" : "BWP" }, - "SBD" : { - "value" : 0.12114843384756402, - "code" : "SBD" - }, "AZN" : { - "value" : 0.58922658118953064, + "value" : 0.58686479222052035, "code" : "AZN" }, + "SBD" : { + "value" : 0.12094835118369733, + "code" : "SBD" + }, "BCH" : { - "value" : 355.60714253999998, + "value" : 215.75744254, "code" : "BCH" }, "KGS" : { - "value" : 0.014316402722069275, + "value" : 0.011972161754823921, "code" : "KGS" }, "BYN" : { - "value" : 0.44742889460007013, + "value" : 0.3887025923741993, "code" : "BYN" }, "KHR" : { - "value" : 0.00024479803526350263, + "value" : 0.00024721876717582515, "code" : "KHR" }, "NEO" : { - "value" : 12.6220079, + "value" : 6.0888002800000001, "code" : "NEO" }, "ZMK" : { - "value" : 0.000111096211627849, + "value" : 0.00011109625392516104, "code" : "ZMK" }, "HTG" : { - "value" : 0.01108319746256844, + "value" : 0.010517724026785531, "code" : "HTG" }, - "CZK" : { - "value" : 0.043086767011151113, - "code" : "CZK" + "IMP" : { + "value" : 1.1659509670980297, + "code" : "IMP" }, "BAM" : { - "value" : 0.55389019237714165, + "value" : 0.54868781309498338, "code" : "BAM" }, - "IMP" : { - "value" : 1.3003360068241632, - "code" : "IMP" + "CZK" : { + "value" : 0.039221777185790417, + "code" : "CZK" } } \ No newline at end of file diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/FunctionDescriptions.json index 93dcc8bd0..05504e9d5 100644 --- a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/FunctionDescriptions.json +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/FunctionDescriptions.json @@ -1 +1,267 @@ -{"percentage":[{"prototypeExpressions":["10% of 100"],"keywords":[],"identifier":"percentOf"},{"prototypeExpressions":["10% off 100"],"keywords":[],"identifier":"percentOff"},{"prototypeExpressions":["10% on 100"],"keywords":[],"identifier":"percentOn"},{"prototypeExpressions":["30 is 20% of what"],"keywords":["what"],"identifier":"isPercentOfWhat"},{"prototypeExpressions":["20% of what is 30"],"keywords":["what"],"identifier":"isPercentOfWhatClassic"},{"prototypeExpressions":["30 is 20% off what"],"keywords":["what"],"identifier":"isPercentOffWhat"},{"prototypeExpressions":["20% off what is 30"],"keywords":["what"],"identifier":"isPercentOffWhatClassic"},{"prototypeExpressions":["30 is 20% on what"],"keywords":["what"],"identifier":"isPercentOnWhat"},{"prototypeExpressions":["20% on what is 30"],"keywords":["what"],"identifier":"isPercentOnWhatClassic"},{"prototypeExpressions":["10 is what % of 20","10 as a % of 20","10 as % of 20"],"keywords":["of"],"identifier":"isWhatPercentOf"},{"prototypeExpressions":["10 is what % off 20","10 as a % off 20","10 as % off 20"],"keywords":[],"identifier":"isWhatPercentOff"},{"prototypeExpressions":["20 is what % on 10","20 as a % on 10","20 as % on 10"],"keywords":[],"identifier":"isWhatPercentOn"}],"general":[{"prototypeExpressions":["remainder of 20 divided by 3"],"keywords":["remainder"],"identifier":"remainder"},{"prototypeExpressions":["half of 20"],"keywords":["half"],"identifier":"halfOf"},{"prototypeExpressions":["smaller of 2 and 30","lesser of 2 and 30"],"keywords":["and","of"],"identifier":"lesserOf"},{"prototypeExpressions":["larger of 2 and 30","greater of 2 and 30"],"keywords":["and","of"],"identifier":"greaterOf"},{"prototypeExpressions":["midpoint between 2 and 32"],"keywords":["midpoint"],"identifier":"midpoint"},{"prototypeExpressions":["6 is to 600 as what is to 8"],"keywords":["is to"],"identifier":"proportionsFindNumerator"},{"prototypeExpressions":["6 is to 600 as 8 is to what"],"keywords":["is to"],"identifier":"proportionsFindDenominator"}],"unitRelated":[{"prototypeExpressions":["__unit in __unit_expression"],"keywords":[],"identifier":"unitInUnitExpression"}],"datetime":[{"prototypeExpressions":["__unit between __datestamp and __datestamp","__unit from __datestamp to __datestamp","__unit in __datestamp to __datestamp"],"keywords":[],"identifier":"calendarUnitBetweenDates"},{"prototypeExpressions":["__unit to __datestamp","__unit before __datestamp","__unit until __datestamp","__unit till __datestamp"],"keywords":[],"identifier":"calendarUnitToDate"},{"prototypeExpressions":["__datestamp to __datestamp"],"keywords":[],"identifier":"intervalBetweenDates"},{"identifier":"intervalBetweenTimestamps","keywords":[],"prototypeExpressions":["__timestamp to __timestamp"]},{"identifier":"calendarUnitSinceDate","keywords":["since"],"prototypeExpressions":["__unit since __datestamp"]},{"prototypeExpressions":["__timespan from __datestamp","__timespan after __datestamp"],"keywords":[],"identifier":"calendarUnitExpressionAfterDate"},{"prototypeExpressions":["new timestamp"],"keywords":[],"identifier":"generateTimestamp"}]} +{ + "percentage": [ + { + "identifier": "percentOf", + "keywords": [ + ], + "prototypeExpressions": [ + "10% of 100" + ] + }, + { + "identifier": "percentOff", + "keywords": [ + ], + "prototypeExpressions": [ + "10% off 100" + ] + }, + { + "identifier": "percentOn", + "keywords": [ + ], + "prototypeExpressions": [ + "10% on 100" + ] + }, + { + "identifier": "isPercentOfWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% of what" + ] + }, + { + "identifier": "isPercentOfWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% of what is 30" + ] + }, + { + "identifier": "isPercentOffWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% off what" + ] + }, + { + "identifier": "isPercentOffWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% off what is 30" + ] + }, + { + "identifier": "isPercentOnWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% on what" + ] + }, + { + "identifier": "isPercentOnWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% on what is 30" + ] + }, + { + "identifier": "isWhatPercentOf", + "keywords": [ + "of" + ], + "prototypeExpressions": [ + "10 is what % of 20", + "10 as a % of 20", + "10 as % of 20" + ] + }, + { + "identifier": "isWhatPercentOff", + "keywords": [ + ], + "prototypeExpressions": [ + "10 is what % off 20", + "10 as a % off 20", + "10 as % off 20" + ] + }, + { + "identifier": "isWhatPercentOn", + "keywords": [ + ], + "prototypeExpressions": [ + "20 is what % on 10", + "20 as a % on 10", + "20 as % on 10" + ] + } + ], + "general": [ + { + "identifier": "remainder", + "keywords": [ + "remainder" + ], + "prototypeExpressions": [ + "remainder of 20 divided by 3" + ] + }, + { + "identifier": "halfOf", + "keywords": [ + "half" + ], + "prototypeExpressions": [ + "half of 20" + ] + }, + { + "identifier": "lesserOf", + "keywords": [ + "and", + "of" + ], + "prototypeExpressions": [ + "smaller of 2 and 30", + "lesser of 2 and 30" + ] + }, + { + "identifier": "greaterOf", + "keywords": [ + "and", + "of" + ], + "prototypeExpressions": [ + "larger of 2 and 30", + "greater of 2 and 30" + ] + }, + { + "identifier": "midpoint", + "keywords": [ + "midpoint" + ], + "prototypeExpressions": [ + "midpoint between 2 and 32" + ] + }, + { + "identifier": "proportionsFindNumerator", + "keywords": [ + "is to" + ], + "prototypeExpressions": [ + "6 is to 600 as what is to 8" + ] + }, + { + "identifier": "proportionsFindDenominator", + "keywords": [ + "is to" + ], + "prototypeExpressions": [ + "6 is to 600 as 8 is to what" + ] + }, + { + "identifier": "makeRandomNumber", + "keywords": [ + "random" + ], + "prototypeExpressions": [ + "random number between 1 and 5", + "random between 1 and 5" + ] + } + ], + "unitRelated": [ + { + "identifier": "unitInUnitExpression", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit in __unit_expression" + ] + } + ], + "datetime": [ + { + "identifier": "calendarUnitBetweenDates", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit between __datestamp and __datestamp", + "__unit from __datestamp to __datestamp", + "__unit in __datestamp to __datestamp" + ] + }, + { + "identifier": "calendarUnitToDate", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit to __datestamp", + "__unit before __datestamp", + "__unit until __datestamp", + "__unit till __datestamp" + ] + }, + { + "identifier": "intervalBetweenDates", + "keywords": [ + ], + "prototypeExpressions": [ + "__datestamp to __datestamp" + ] + }, + { + "prototypeExpressions": [ + "__timestamp to __timestamp" + ], + "keywords": [ + ], + "identifier": "intervalBetweenTimestamps" + }, + { + "prototypeExpressions": [ + "__unit since __datestamp" + ], + "keywords": [ + "since" + ], + "identifier": "calendarUnitSinceDate" + }, + { + "identifier": "calendarUnitExpressionAfterDate", + "keywords": [ + ], + "prototypeExpressions": [ + "__timespan from __datestamp", + "__timespan after __datestamp" + ] + }, + { + "identifier": "generateTimestamp", + "keywords": [ + ], + "prototypeExpressions": [ + "new timestamp" + ] + } + ] +} \ No newline at end of file diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/LocalizedFixtures.json b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/LocalizedFixtures.json index 7599e6892..ec87d93cf 100644 --- a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/LocalizedFixtures.json +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/LocalizedFixtures.json @@ -1,59 +1,59 @@ { - "fixtures" : { - "decimalPlacesTypes" : [ + "fixtures": { + "decimalPlacesTypes": [ "dp", "digit", "digits" ], - "divisionOperators" : [ + "multiplierTypes": [ + "multiplier" + ], + "divisionOperators": [ "÷", "per" ], - "roundingConverters" : [ + "roundingConverters": [ "rounded" ], - "tomorrowDateAliases" : [ - "tomorrow" - ], - "multiplicationOperators" : [ + "multiplicationOperators": [ "×", "x" ], - "numberTypes" : [ + "tomorrowDateAliases": [ + "tomorrow" + ], + "numberTypes": [ "number" ], - "roundingDownConverters" : [ + "roundingDownConverters": [ "rounded down" ], - "yesterdayDateAliases" : [ + "yesterdayDateAliases": [ "yesterday" ], - "subtractionOperators" : [ + "subtractionOperators": [ "−", "–" ], - "dateTypes" : [ - "date" - ], - "roundingUpConverters" : [ - "rounded up" + "todayDateAliases": [ + "today" ], - "timestampTypes" : [ + "timestampTypes": [ "timestamp" ], - "todayDateAliases" : [ - "today" + "roundingUpConverters": [ + "rounded up" ], - "additionOperators" : [ - "plus" + "dateTypes": [ + "date" ], - "piAliases" : [ - "π" + "iso8601Types": [ + "iso8601" ], - "timespanTypes" : [ - "timespan" + "piAliases": [ + "π" ], - "monthOfYearDateAliases" : [ + "monthOfYearDateAliases": [ "jan", "feb", "mar", @@ -79,17 +79,23 @@ "november", "december" ], - "nowDateAliases" : [ + "additionOperators": [ + "plus" + ], + "timespanTypes": [ + "timespan" + ], + "nowDateAliases": [ "now" ], - "converterSymbols" : [ + "converterSymbols": [ "to", "as" ], - "fractionTypes" : [ + "fractionTypes": [ "fraction" ], - "dayOfWeekDateAliases" : [ + "dayOfWeekDateAliases": [ "monday", "tuesday", "wednesday", @@ -106,17 +112,17 @@ "sat", "sun" ], - "dateIntervalPrepositions" : [ + "dateIntervalPrepositions": [ "between ", "until ", "before ", "to ", "from ", - "after " + "after " ], - "percentTypes" : [ + "percentTypes": [ "percent", "percentage" ] } -} +} \ No newline at end of file diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/TimeZoneAbbrieviations.json b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/TimeZoneAbbrieviations.json new file mode 100644 index 000000000..1bde26bad --- /dev/null +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Base.lproj/TimeZoneAbbrieviations.json @@ -0,0 +1,63 @@ +{ + "ACDT": "Australia/Adelaide", + "ACST": "Australia/Darwin", + "ADT": "America/Halifax", + "AEDT": "Australia/Sydney", + "AEST": "Australia/Brisbane", + "AKDT": "America/Juneau", + "AKST": "America/Juneau", + "ART": "America/Argentina/Buenos_Aires", + "AST": "America/Halifax", + "AWST": "Australia/Perth", + "BDT": "Asia/Dhaka", + "BRST": "America/Sao_Paulo", + "BRT": "America/Sao_Paulo", + "BST": "Europe/London", + "CAT": "Africa/Harare", + "CDT": "America/Chicago", + "CEST": "Europe/Paris", + "CET": "Europe/Paris", + "CLST": "America/Santiago", + "CLT": "America/Santiago", + "COT": "America/Bogota", + "CST": "America/Chicago", + "EAT": "Africa/Addis_Ababa", + "EDT": "America/New_York", + "EEST": "Europe/Athens", + "EET": "Europe/Athens", + "EST": "America/New_York", + "GMT": "GMT", + "GST": "Asia/Dubai", + "HKT": "Asia/Hong_Kong", + "HST": "Pacific/Honolulu", + "ICT": "Asia/Bangkok", + "IRST": "Asia/Tehran", + "IST": "Asia/Kolkata", + "JST": "Asia/Tokyo", + "KST": "Asia/Seoul", + "MDT": "America/Denver", + "MSD": "Europe/Moscow", + "MSK": "Europe/Moscow", + "MST": "America/Phoenix", + "NDT": "America/St_Johns", + "NST": "America/St_Johns", + "NZDT": "Pacific/Auckland", + "NZST": "Pacific/Auckland", + "PDT": "America/Los_Angeles", + "PET": "America/Lima", + "PHT": "Asia/Manila", + "PKT": "Asia/Karachi", + "PST": "America/Los_Angeles", + "SAST": "Africa/Johannesburg", + "SGT": "Asia/Singapore", + "SST": "Pacific/Midway", + "TRT": "Europe/Istanbul", + "UTC": "UTC", + "WAT": "Africa/Lagos", + "WEST": "Europe/Lisbon", + "WET": "Europe/Lisbon", + "WIB": "Asia/Jakarta", + "WIT": "Asia/Jakarta", + "WITA": "Asia/Makassar" + +} \ No newline at end of file diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h index 01e915d68..7ae3cb3fd 100644 --- a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Headers/SoulverCore-Swift.h @@ -1,4 +1,4 @@ -// Generated by Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wgcc-compat" @@ -239,6 +239,7 @@ SWIFT_CLASS("_TtC11SoulverCore21AsynchronousOperation") SWIFT_CLASS("_TtC11SoulverCore8NullUnit") @interface NullUnit : NSDimension ++ (nonnull instancetype)baseUnit SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)initWithSymbol:(NSString * _Nonnull)symbol converter:(NSUnitConverter * _Nonnull)converter OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; @end diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Info.plist b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Info.plist index f6c2f055d..e63c26f26 100644 Binary files a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Info.plist and b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Info.plist differ diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc index ec3bb4837..dad106f6e 100644 Binary files a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc and b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 7a9d58f5b..8dcc8fffa 100644 --- a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -1,5 +1,5 @@ // swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// swift-compiler-version: Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) // swift-module-flags: -target x86_64-apple-ios12.2-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore import Foundation @_exported import SoulverCore @@ -61,17 +61,21 @@ extension CalculationResult { public let EmptyResult: SoulverCore.CalculationResult infix operator ~ : AdditionPrecedence public typealias CocoaUnit = Foundation.Dimension -public enum EvaluationResult { +indirect public enum EvaluationResult { case rawString(Swift.String) case decimal(Foundation.Decimal) case percentage(SoulverCore.Percentage) case fraction(SoulverCore.Fraction) + case multiplier(SoulverCore.Multiplier) + case boolean(Swift.Bool) case unitExpression(SoulverCore.UnitExpression) case rate(SoulverCore.UnitRate) case date(SoulverCore.Datestamp) + case iso8601(SoulverCore.iso8601) case timestamp(SoulverCore.Timestamp) case timespan(SoulverCore.Timespan) case error(SoulverCore.EvaluationError) + case variable(SoulverCore.Variable) case none } public class LineSection : Swift.Codable { @@ -134,7 +138,6 @@ public class Line : Swift.Codable { public var apparentLineType: SoulverCore.ApparentLineType? public var lineIndex: SoulverCore.LineIndex? public var explicitDependencies: Foundation.IndexSet? - public var declaredVariable: SoulverCore.Variable? public var variableEnvironment: SoulverCore.VariableList? public var rawResult: Swift.String { get @@ -156,6 +159,11 @@ extension Line { get } } +extension Line { + public var declaredVariable: SoulverCore.Variable? { + 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) @@ -182,9 +190,10 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl public var wordFunctions: Swift.Bool public var variableDeclarations: Swift.Bool public var bracketComments: Swift.Bool + public var inAmbiguityPreferSomethingToNothing: Swift.Bool public var leftToRightOperatorEvaluation: Swift.Bool public init() - public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool) + 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 var hashValue: Swift.Int { @@ -238,6 +247,7 @@ public enum TokenType : Swift.CaseIterable { case variableDeclarationSymbol case pi case typeName + case conditionalKeyword case colon case function case timezone @@ -248,15 +258,20 @@ public enum TokenType : Swift.CaseIterable { case converter case timestamp case datestamp + case iso8601 case timespan case dateWord case unitExpression case compoundUnitExpression + case conditionalExpression case percentage + case multiplier + case boolean case rate case functionExpression case wordFunction case declaredVariable + case variableDeclaration case subexpression case comment case wordComment @@ -288,14 +303,24 @@ public enum TokenSubType { case modOperator case lesserOf case greaterOf + case greaterThan + case greaterThanOrEqualTo + case lessThan + case lessThanOrEqualTo + case equalTo + case notEqualTo + case `false` + case `true` case openBracket case closeBracket case numberConverter case fractionConverter + case multiplierConveter case percentageConverter case unitConverter case rateConverter case dateConverter + case iso8601Converter case timestampConverter case timespanConverter case timezoneConverter @@ -303,26 +328,32 @@ public enum TokenSubType { case roundingUpConverter case roundingConverter case roundingDownConverter + case binaryConverter + case hexConverter case dateWordToday case dateWordNow case dateWordTomorrow case dateWordYesterday case dateWordDayOfWeek case dateWordMonthOfYear - case multiplierConveter - case binaryConverter - case hexConverter case numberTypeName case fractionTypeName + case multiplierTypeName case percentageTypeName case rateTypeName case timestampTypeName case timespanTypeName case dateTypeName + case iso8601TypeName case decimalPlacesTypeName - case binaryType - case hexType - case multiplierType + case binaryTypeName + case hexTypeName + case conditionalKeywordIf + case conditionalKeywordThen + case conditionalKeywordElse + case conditionalKeywordUnless + case conditionalKeywordAnd + case conditionalKeywordOr case unitMismatchError case infinityError case divideByZeroError @@ -685,6 +716,9 @@ public struct ExpressionBeautificationOptions { } public init() } +public struct iso8601 { + public let datestamp: SoulverCore.Datestamp +} public class LineCollectionCompletions { public class func completionsFor(textFragment: Swift.String, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String] @objc deinit @@ -696,7 +730,7 @@ public struct Variable : Swift.Codable { public let value: SoulverCore.VariableValue public init(name: SoulverCore.VariableName, value: SoulverCore.VariableValue) public var declaringLineIndex: SoulverCore.LineIndex? - public var definition: SoulverCore.CalculationResult? + public var definition: SoulverCore.EvaluationResult? public init(from decoder: Swift.Decoder) throws public func encode(to encoder: Swift.Encoder) throws } @@ -755,6 +789,9 @@ public struct TokenIndexPath : Swift.Equatable { public struct Timespan { public let dateComponents: Foundation.DateComponents } +public struct Multiplier { + public let decimalValue: Foundation.Decimal +} public typealias Scalar = Swift.String extension UnitLength { public static let pixel: Foundation.UnitLength @@ -856,6 +893,7 @@ extension UnitLength { @objc deinit } @objc final public class NullUnit : Foundation.Dimension { + @objc override final public class func baseUnit() -> Self @objc override dynamic public init(symbol: Swift.String, converter: Foundation.UnitConverter) @objc required dynamic public init?(coder: Foundation.NSCoder) @objc deinit @@ -865,6 +903,10 @@ public struct UnitRate { public let ofUnit: SoulverCore.CocoaUnit? public let perUnit: SoulverCore.CocoaUnit } +extension UnitRate : Swift.Comparable { + public static func < (lhs: SoulverCore.UnitRate, rhs: SoulverCore.UnitRate) -> Swift.Bool + public static func == (a: SoulverCore.UnitRate, b: SoulverCore.UnitRate) -> Swift.Bool +} extension UnitRate : Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { get @@ -1204,6 +1246,7 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable { } public func cocoaUnitFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.CocoaUnit public func unitIdentifierFor(cocoaUnit: SoulverCore.CocoaUnit) -> SoulverCore.UnitIdentifier? +public func motherUnitIdentifierFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.UnitIdentifier public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable { public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) @@ -1242,6 +1285,10 @@ public class TokenList { public var flattenedTokens: [SoulverCore.Token] { get } + public subscript(index: Swift.Int) -> SoulverCore.Token { + get + set(newValue) + } public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token] @objc deinit } @@ -1360,6 +1407,7 @@ extension Array { public var isNotEmpty: Swift.Bool { get } + mutating public func trim(where predicate: (Element) throws -> Swift.Bool) mutating public func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index) } public class LineCollection { diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc index ec3bb4837..dad106f6e 100644 Binary files a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc and b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc differ diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface index 7a9d58f5b..8dcc8fffa 100644 --- a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface @@ -1,5 +1,5 @@ // swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// swift-compiler-version: Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) // swift-module-flags: -target x86_64-apple-ios12.2-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -Osize -module-name SoulverCore import Foundation @_exported import SoulverCore @@ -61,17 +61,21 @@ extension CalculationResult { public let EmptyResult: SoulverCore.CalculationResult infix operator ~ : AdditionPrecedence public typealias CocoaUnit = Foundation.Dimension -public enum EvaluationResult { +indirect public enum EvaluationResult { case rawString(Swift.String) case decimal(Foundation.Decimal) case percentage(SoulverCore.Percentage) case fraction(SoulverCore.Fraction) + case multiplier(SoulverCore.Multiplier) + case boolean(Swift.Bool) case unitExpression(SoulverCore.UnitExpression) case rate(SoulverCore.UnitRate) case date(SoulverCore.Datestamp) + case iso8601(SoulverCore.iso8601) case timestamp(SoulverCore.Timestamp) case timespan(SoulverCore.Timespan) case error(SoulverCore.EvaluationError) + case variable(SoulverCore.Variable) case none } public class LineSection : Swift.Codable { @@ -134,7 +138,6 @@ public class Line : Swift.Codable { public var apparentLineType: SoulverCore.ApparentLineType? public var lineIndex: SoulverCore.LineIndex? public var explicitDependencies: Foundation.IndexSet? - public var declaredVariable: SoulverCore.Variable? public var variableEnvironment: SoulverCore.VariableList? public var rawResult: Swift.String { get @@ -156,6 +159,11 @@ extension Line { get } } +extension Line { + public var declaredVariable: SoulverCore.Variable? { + 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) @@ -182,9 +190,10 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl public var wordFunctions: Swift.Bool public var variableDeclarations: Swift.Bool public var bracketComments: Swift.Bool + public var inAmbiguityPreferSomethingToNothing: Swift.Bool public var leftToRightOperatorEvaluation: Swift.Bool public init() - public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool) + 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 var hashValue: Swift.Int { @@ -238,6 +247,7 @@ public enum TokenType : Swift.CaseIterable { case variableDeclarationSymbol case pi case typeName + case conditionalKeyword case colon case function case timezone @@ -248,15 +258,20 @@ public enum TokenType : Swift.CaseIterable { case converter case timestamp case datestamp + case iso8601 case timespan case dateWord case unitExpression case compoundUnitExpression + case conditionalExpression case percentage + case multiplier + case boolean case rate case functionExpression case wordFunction case declaredVariable + case variableDeclaration case subexpression case comment case wordComment @@ -288,14 +303,24 @@ public enum TokenSubType { case modOperator case lesserOf case greaterOf + case greaterThan + case greaterThanOrEqualTo + case lessThan + case lessThanOrEqualTo + case equalTo + case notEqualTo + case `false` + case `true` case openBracket case closeBracket case numberConverter case fractionConverter + case multiplierConveter case percentageConverter case unitConverter case rateConverter case dateConverter + case iso8601Converter case timestampConverter case timespanConverter case timezoneConverter @@ -303,26 +328,32 @@ public enum TokenSubType { case roundingUpConverter case roundingConverter case roundingDownConverter + case binaryConverter + case hexConverter case dateWordToday case dateWordNow case dateWordTomorrow case dateWordYesterday case dateWordDayOfWeek case dateWordMonthOfYear - case multiplierConveter - case binaryConverter - case hexConverter case numberTypeName case fractionTypeName + case multiplierTypeName case percentageTypeName case rateTypeName case timestampTypeName case timespanTypeName case dateTypeName + case iso8601TypeName case decimalPlacesTypeName - case binaryType - case hexType - case multiplierType + case binaryTypeName + case hexTypeName + case conditionalKeywordIf + case conditionalKeywordThen + case conditionalKeywordElse + case conditionalKeywordUnless + case conditionalKeywordAnd + case conditionalKeywordOr case unitMismatchError case infinityError case divideByZeroError @@ -685,6 +716,9 @@ public struct ExpressionBeautificationOptions { } public init() } +public struct iso8601 { + public let datestamp: SoulverCore.Datestamp +} public class LineCollectionCompletions { public class func completionsFor(textFragment: Swift.String, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String] @objc deinit @@ -696,7 +730,7 @@ public struct Variable : Swift.Codable { public let value: SoulverCore.VariableValue public init(name: SoulverCore.VariableName, value: SoulverCore.VariableValue) public var declaringLineIndex: SoulverCore.LineIndex? - public var definition: SoulverCore.CalculationResult? + public var definition: SoulverCore.EvaluationResult? public init(from decoder: Swift.Decoder) throws public func encode(to encoder: Swift.Encoder) throws } @@ -755,6 +789,9 @@ public struct TokenIndexPath : Swift.Equatable { public struct Timespan { public let dateComponents: Foundation.DateComponents } +public struct Multiplier { + public let decimalValue: Foundation.Decimal +} public typealias Scalar = Swift.String extension UnitLength { public static let pixel: Foundation.UnitLength @@ -856,6 +893,7 @@ extension UnitLength { @objc deinit } @objc final public class NullUnit : Foundation.Dimension { + @objc override final public class func baseUnit() -> Self @objc override dynamic public init(symbol: Swift.String, converter: Foundation.UnitConverter) @objc required dynamic public init?(coder: Foundation.NSCoder) @objc deinit @@ -865,6 +903,10 @@ public struct UnitRate { public let ofUnit: SoulverCore.CocoaUnit? public let perUnit: SoulverCore.CocoaUnit } +extension UnitRate : Swift.Comparable { + public static func < (lhs: SoulverCore.UnitRate, rhs: SoulverCore.UnitRate) -> Swift.Bool + public static func == (a: SoulverCore.UnitRate, b: SoulverCore.UnitRate) -> Swift.Bool +} extension UnitRate : Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { get @@ -1204,6 +1246,7 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable { } public func cocoaUnitFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.CocoaUnit public func unitIdentifierFor(cocoaUnit: SoulverCore.CocoaUnit) -> SoulverCore.UnitIdentifier? +public func motherUnitIdentifierFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.UnitIdentifier public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable { public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) @@ -1242,6 +1285,10 @@ public class TokenList { public var flattenedTokens: [SoulverCore.Token] { get } + public subscript(index: Swift.Int) -> SoulverCore.Token { + get + set(newValue) + } public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token] @objc deinit } @@ -1360,6 +1407,7 @@ extension Array { public var isNotEmpty: Swift.Bool { get } + mutating public func trim(where predicate: (Element) throws -> Swift.Bool) mutating public func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index) } public class LineCollection { diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/SoulverCore b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/SoulverCore index 717f1a729..a7c3dd839 100755 Binary files a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/SoulverCore and b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/SoulverCore differ diff --git a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources index b7582a00b..bec1bddb5 100644 --- a/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources +++ b/SoulverCore.xcframework/ios-x86_64-simulator/SoulverCore.framework/_CodeSignature/CodeResources @@ -6,15 +6,19 @@ Base.lproj/DefaultCurrencyRates.json - GGQyeKcWhAylO6N3mrTJ0U0BHpQ= + bgU0/Y8EJoRmz4uph3ypmABBMLw= Base.lproj/FunctionDescriptions.json - g6L9Dgt4FDLJKJJ6yAfg5LpJpwY= + lZxNUBBUYjxQDFvccGuTQcOfxw4= Base.lproj/LocalizedFixtures.json - OKjIlrX1S4l8wE7wE58Ab++ypmY= + D6zXRY1zGn+ViL9vvsB1YWQ4DAw= + + Base.lproj/TimeZoneAbbrieviations.json + + jvQ9kvDAPNdTvzDyAz9BcEGLcyg= Base.lproj/UnitDescriptions.json @@ -26,7 +30,7 @@ Headers/SoulverCore-Swift.h - CUSsMDbWtotBhWV7JNmq1RB+fsY= + 8Ia+HUzkzK1QGQJQDp2AyX9eBS8= Headers/SoulverCore.h @@ -34,31 +38,31 @@ Info.plist - EQLKSjeS95FNUifFwQ+jxaTg8po= + EbHmzaSR4+HU6NY7SeekKHbsFAQ= Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - Gz4Gg87UwgnM2bFq9U2ERmhyhNg= + O9C8+8J3Z4b3QcA2LM+r8kqGPsw= Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - X+uSw6+ijPfaTZ/EV563gXFf+IY= + gGeIEA0OEbCIS/ApadtdQ5b3ZTE= Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - 3AxoajSLYC0kFC1G7s0R/XXJuNA= + 3brLFsYzJ+NhVkZ6xA1t398blBU= Modules/SoulverCore.swiftmodule/x86_64.swiftdoc - Gz4Gg87UwgnM2bFq9U2ERmhyhNg= + O9C8+8J3Z4b3QcA2LM+r8kqGPsw= Modules/SoulverCore.swiftmodule/x86_64.swiftinterface - X+uSw6+ijPfaTZ/EV563gXFf+IY= + gGeIEA0OEbCIS/ApadtdQ5b3ZTE= Modules/SoulverCore.swiftmodule/x86_64.swiftmodule - 3AxoajSLYC0kFC1G7s0R/XXJuNA= + 3brLFsYzJ+NhVkZ6xA1t398blBU= Modules/module.modulemap @@ -179,21 +183,28 @@ hash2 - aQdbDAWTyWaMHr06FDdkLXJ1KEMLgn2IyNWrDuTVnFY= + CSmUHddJPFXMK9xl8Dc7pq5LO8Cjyl3yDWae/SMVpA8= Base.lproj/FunctionDescriptions.json hash2 - ScFb5P1Obi2p1xGbpHDhULLi6foVT9XluM/q2NRXLjY= + yC5BYOszy/7xLauxPsEccsTx/jfFuBRuJ+LCWq4+nC0= Base.lproj/LocalizedFixtures.json hash2 - MXmKvVFLjrrxmeXXEAPsJzSQIHWZurvBVZPvKAaIsOY= + O3c+nWUPnmVZpBVEG8lcN4or+z6WZQLR4YlA/gYz/mM= + + + Base.lproj/TimeZoneAbbrieviations.json + + hash2 + + CGcnilnCPFpX3dNk0ISsdzY8sTSVjVd/fntEq5x3Arw= Base.lproj/UnitDescriptions.json @@ -214,7 +225,7 @@ hash2 - W+0OmU87opgVH/g4MtbVGdJm4+Mdb5Yo1bSM2VfyRe8= + 0uHxGz96qSJF3Bj+YXRBPH2Xm8f4te3AIXbbhOiDHPc= Headers/SoulverCore.h @@ -228,42 +239,42 @@ hash2 - ZyPG9PwNQEMnP+v4oGEHR3JILbR2hjIwTxkze42PJ9s= + nE8ga8jbbNjoygTJ9+QP2U1vqDUDdVANcru2eIpBApM= Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface hash2 - fS1I25dyrvoXwZZSMwtu8xP4ppevjtM5t0kAMD+Xpd4= + H5VyzxiaPWsDwakEPCAqpJSyo/u+2rPbvweG5lhWooI= Modules/SoulverCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule hash2 - j0iB/ZCNCz+O6Yv7p3ZC3xD3Cw77jEC0p4c0vseFI5c= + Zi2bHCirAPG0Yo8gklyDT1crbGbEE8V+J5ydbWvviYw= Modules/SoulverCore.swiftmodule/x86_64.swiftdoc hash2 - ZyPG9PwNQEMnP+v4oGEHR3JILbR2hjIwTxkze42PJ9s= + nE8ga8jbbNjoygTJ9+QP2U1vqDUDdVANcru2eIpBApM= Modules/SoulverCore.swiftmodule/x86_64.swiftinterface hash2 - fS1I25dyrvoXwZZSMwtu8xP4ppevjtM5t0kAMD+Xpd4= + H5VyzxiaPWsDwakEPCAqpJSyo/u+2rPbvweG5lhWooI= Modules/SoulverCore.swiftmodule/x86_64.swiftmodule hash2 - j0iB/ZCNCz+O6Yv7p3ZC3xD3Cw77jEC0p4c0vseFI5c= + Zi2bHCirAPG0Yo8gklyDT1crbGbEE8V+J5ydbWvviYw= Modules/module.modulemap diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h index 01e915d68..7ae3cb3fd 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Headers/SoulverCore-Swift.h @@ -1,4 +1,4 @@ -// Generated by Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wgcc-compat" @@ -239,6 +239,7 @@ SWIFT_CLASS("_TtC11SoulverCore21AsynchronousOperation") SWIFT_CLASS("_TtC11SoulverCore8NullUnit") @interface NullUnit : NSDimension ++ (nonnull instancetype)baseUnit SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)initWithSymbol:(NSString * _Nonnull)symbol converter:(NSUnitConverter * _Nonnull)converter OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; @end diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc index da23e2dc9..7508c2fcb 100644 Binary files a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc and b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftdoc differ diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface index 2a77d3579..45916d5d7 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface @@ -1,5 +1,5 @@ // swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// swift-compiler-version: Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) // 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 @@ -61,17 +61,21 @@ extension CalculationResult { public let EmptyResult: SoulverCore.CalculationResult infix operator ~ : AdditionPrecedence public typealias CocoaUnit = Foundation.Dimension -public enum EvaluationResult { +indirect public enum EvaluationResult { case rawString(Swift.String) case decimal(Foundation.Decimal) case percentage(SoulverCore.Percentage) case fraction(SoulverCore.Fraction) + case multiplier(SoulverCore.Multiplier) + case boolean(Swift.Bool) case unitExpression(SoulverCore.UnitExpression) case rate(SoulverCore.UnitRate) case date(SoulverCore.Datestamp) + case iso8601(SoulverCore.iso8601) case timestamp(SoulverCore.Timestamp) case timespan(SoulverCore.Timespan) case error(SoulverCore.EvaluationError) + case variable(SoulverCore.Variable) case none } public class LineSection : Swift.Codable { @@ -134,7 +138,6 @@ public class Line : Swift.Codable { public var apparentLineType: SoulverCore.ApparentLineType? public var lineIndex: SoulverCore.LineIndex? public var explicitDependencies: Foundation.IndexSet? - public var declaredVariable: SoulverCore.Variable? public var variableEnvironment: SoulverCore.VariableList? public var rawResult: Swift.String { get @@ -156,6 +159,11 @@ extension Line { get } } +extension Line { + public var declaredVariable: SoulverCore.Variable? { + 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) @@ -182,9 +190,10 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl public var wordFunctions: Swift.Bool public var variableDeclarations: Swift.Bool public var bracketComments: Swift.Bool + public var inAmbiguityPreferSomethingToNothing: Swift.Bool public var leftToRightOperatorEvaluation: Swift.Bool public init() - public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool) + 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 var hashValue: Swift.Int { @@ -238,6 +247,7 @@ public enum TokenType : Swift.CaseIterable { case variableDeclarationSymbol case pi case typeName + case conditionalKeyword case colon case function case timezone @@ -248,15 +258,20 @@ public enum TokenType : Swift.CaseIterable { case converter case timestamp case datestamp + case iso8601 case timespan case dateWord case unitExpression case compoundUnitExpression + case conditionalExpression case percentage + case multiplier + case boolean case rate case functionExpression case wordFunction case declaredVariable + case variableDeclaration case subexpression case comment case wordComment @@ -288,14 +303,24 @@ public enum TokenSubType { case modOperator case lesserOf case greaterOf + case greaterThan + case greaterThanOrEqualTo + case lessThan + case lessThanOrEqualTo + case equalTo + case notEqualTo + case `false` + case `true` case openBracket case closeBracket case numberConverter case fractionConverter + case multiplierConveter case percentageConverter case unitConverter case rateConverter case dateConverter + case iso8601Converter case timestampConverter case timespanConverter case timezoneConverter @@ -303,26 +328,32 @@ public enum TokenSubType { case roundingUpConverter case roundingConverter case roundingDownConverter + case binaryConverter + case hexConverter case dateWordToday case dateWordNow case dateWordTomorrow case dateWordYesterday case dateWordDayOfWeek case dateWordMonthOfYear - case multiplierConveter - case binaryConverter - case hexConverter case numberTypeName case fractionTypeName + case multiplierTypeName case percentageTypeName case rateTypeName case timestampTypeName case timespanTypeName case dateTypeName + case iso8601TypeName case decimalPlacesTypeName - case binaryType - case hexType - case multiplierType + case binaryTypeName + case hexTypeName + case conditionalKeywordIf + case conditionalKeywordThen + case conditionalKeywordElse + case conditionalKeywordUnless + case conditionalKeywordAnd + case conditionalKeywordOr case unitMismatchError case infinityError case divideByZeroError @@ -685,6 +716,9 @@ public struct ExpressionBeautificationOptions { } public init() } +public struct iso8601 { + public let datestamp: SoulverCore.Datestamp +} public class LineCollectionCompletions { public class func completionsFor(textFragment: Swift.String, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String] @objc deinit @@ -696,7 +730,7 @@ public struct Variable : Swift.Codable { public let value: SoulverCore.VariableValue public init(name: SoulverCore.VariableName, value: SoulverCore.VariableValue) public var declaringLineIndex: SoulverCore.LineIndex? - public var definition: SoulverCore.CalculationResult? + public var definition: SoulverCore.EvaluationResult? public init(from decoder: Swift.Decoder) throws public func encode(to encoder: Swift.Encoder) throws } @@ -755,6 +789,9 @@ public struct TokenIndexPath : Swift.Equatable { public struct Timespan { public let dateComponents: Foundation.DateComponents } +public struct Multiplier { + public let decimalValue: Foundation.Decimal +} public typealias Scalar = Swift.String extension UnitLength { public static let pixel: Foundation.UnitLength @@ -856,6 +893,7 @@ extension UnitLength { @objc deinit } @objc final public class NullUnit : Foundation.Dimension { + @objc override final public class func baseUnit() -> Self @objc override dynamic public init(symbol: Swift.String, converter: Foundation.UnitConverter) @objc required dynamic public init?(coder: Foundation.NSCoder) @objc deinit @@ -865,6 +903,10 @@ public struct UnitRate { public let ofUnit: SoulverCore.CocoaUnit? public let perUnit: SoulverCore.CocoaUnit } +extension UnitRate : Swift.Comparable { + public static func < (lhs: SoulverCore.UnitRate, rhs: SoulverCore.UnitRate) -> Swift.Bool + public static func == (a: SoulverCore.UnitRate, b: SoulverCore.UnitRate) -> Swift.Bool +} extension UnitRate : Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { get @@ -1204,6 +1246,7 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable { } public func cocoaUnitFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.CocoaUnit public func unitIdentifierFor(cocoaUnit: SoulverCore.CocoaUnit) -> SoulverCore.UnitIdentifier? +public func motherUnitIdentifierFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.UnitIdentifier public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable { public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) @@ -1242,6 +1285,10 @@ public class TokenList { public var flattenedTokens: [SoulverCore.Token] { get } + public subscript(index: Swift.Int) -> SoulverCore.Token { + get + set(newValue) + } public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token] @objc deinit } @@ -1360,6 +1407,7 @@ extension Array { public var isNotEmpty: Swift.Bool { get } + mutating public func trim(where predicate: (Element) throws -> Swift.Bool) mutating public func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index) } public class LineCollection { diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc index da23e2dc9..7508c2fcb 100644 Binary files a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc and b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftdoc differ diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface index 2a77d3579..45916d5d7 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Modules/SoulverCore.swiftmodule/x86_64.swiftinterface @@ -1,5 +1,5 @@ // swift-interface-format-version: 1.0 -// swift-compiler-version: Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9) +// swift-compiler-version: Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) // 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 @@ -61,17 +61,21 @@ extension CalculationResult { public let EmptyResult: SoulverCore.CalculationResult infix operator ~ : AdditionPrecedence public typealias CocoaUnit = Foundation.Dimension -public enum EvaluationResult { +indirect public enum EvaluationResult { case rawString(Swift.String) case decimal(Foundation.Decimal) case percentage(SoulverCore.Percentage) case fraction(SoulverCore.Fraction) + case multiplier(SoulverCore.Multiplier) + case boolean(Swift.Bool) case unitExpression(SoulverCore.UnitExpression) case rate(SoulverCore.UnitRate) case date(SoulverCore.Datestamp) + case iso8601(SoulverCore.iso8601) case timestamp(SoulverCore.Timestamp) case timespan(SoulverCore.Timespan) case error(SoulverCore.EvaluationError) + case variable(SoulverCore.Variable) case none } public class LineSection : Swift.Codable { @@ -134,7 +138,6 @@ public class Line : Swift.Codable { public var apparentLineType: SoulverCore.ApparentLineType? public var lineIndex: SoulverCore.LineIndex? public var explicitDependencies: Foundation.IndexSet? - public var declaredVariable: SoulverCore.Variable? public var variableEnvironment: SoulverCore.VariableList? public var rawResult: Swift.String { get @@ -156,6 +159,11 @@ extension Line { get } } +extension Line { + public var declaredVariable: SoulverCore.Variable? { + 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) @@ -182,9 +190,10 @@ public struct EngineFeatureFlags : Swift.Equatable, Swift.Hashable, Swift.Codabl public var wordFunctions: Swift.Bool public var variableDeclarations: Swift.Bool public var bracketComments: Swift.Bool + public var inAmbiguityPreferSomethingToNothing: Swift.Bool public var leftToRightOperatorEvaluation: Swift.Bool public init() - public init(units: Swift.Bool, wordFunctions: Swift.Bool, variableDeclarations: Swift.Bool, bracketComments: Swift.Bool, calendarCalculations: Swift.Bool, leftToRightOperatorEvaluation: Swift.Bool) + 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 var hashValue: Swift.Int { @@ -238,6 +247,7 @@ public enum TokenType : Swift.CaseIterable { case variableDeclarationSymbol case pi case typeName + case conditionalKeyword case colon case function case timezone @@ -248,15 +258,20 @@ public enum TokenType : Swift.CaseIterable { case converter case timestamp case datestamp + case iso8601 case timespan case dateWord case unitExpression case compoundUnitExpression + case conditionalExpression case percentage + case multiplier + case boolean case rate case functionExpression case wordFunction case declaredVariable + case variableDeclaration case subexpression case comment case wordComment @@ -288,14 +303,24 @@ public enum TokenSubType { case modOperator case lesserOf case greaterOf + case greaterThan + case greaterThanOrEqualTo + case lessThan + case lessThanOrEqualTo + case equalTo + case notEqualTo + case `false` + case `true` case openBracket case closeBracket case numberConverter case fractionConverter + case multiplierConveter case percentageConverter case unitConverter case rateConverter case dateConverter + case iso8601Converter case timestampConverter case timespanConverter case timezoneConverter @@ -303,26 +328,32 @@ public enum TokenSubType { case roundingUpConverter case roundingConverter case roundingDownConverter + case binaryConverter + case hexConverter case dateWordToday case dateWordNow case dateWordTomorrow case dateWordYesterday case dateWordDayOfWeek case dateWordMonthOfYear - case multiplierConveter - case binaryConverter - case hexConverter case numberTypeName case fractionTypeName + case multiplierTypeName case percentageTypeName case rateTypeName case timestampTypeName case timespanTypeName case dateTypeName + case iso8601TypeName case decimalPlacesTypeName - case binaryType - case hexType - case multiplierType + case binaryTypeName + case hexTypeName + case conditionalKeywordIf + case conditionalKeywordThen + case conditionalKeywordElse + case conditionalKeywordUnless + case conditionalKeywordAnd + case conditionalKeywordOr case unitMismatchError case infinityError case divideByZeroError @@ -685,6 +716,9 @@ public struct ExpressionBeautificationOptions { } public init() } +public struct iso8601 { + public let datestamp: SoulverCore.Datestamp +} public class LineCollectionCompletions { public class func completionsFor(textFragment: Swift.String, onLineAtIndex lineIndex: SoulverCore.LineIndex, in lineCollection: SoulverCore.LineCollection) -> [Swift.String] @objc deinit @@ -696,7 +730,7 @@ public struct Variable : Swift.Codable { public let value: SoulverCore.VariableValue public init(name: SoulverCore.VariableName, value: SoulverCore.VariableValue) public var declaringLineIndex: SoulverCore.LineIndex? - public var definition: SoulverCore.CalculationResult? + public var definition: SoulverCore.EvaluationResult? public init(from decoder: Swift.Decoder) throws public func encode(to encoder: Swift.Encoder) throws } @@ -755,6 +789,9 @@ public struct TokenIndexPath : Swift.Equatable { public struct Timespan { public let dateComponents: Foundation.DateComponents } +public struct Multiplier { + public let decimalValue: Foundation.Decimal +} public typealias Scalar = Swift.String extension UnitLength { public static let pixel: Foundation.UnitLength @@ -856,6 +893,7 @@ extension UnitLength { @objc deinit } @objc final public class NullUnit : Foundation.Dimension { + @objc override final public class func baseUnit() -> Self @objc override dynamic public init(symbol: Swift.String, converter: Foundation.UnitConverter) @objc required dynamic public init?(coder: Foundation.NSCoder) @objc deinit @@ -865,6 +903,10 @@ public struct UnitRate { public let ofUnit: SoulverCore.CocoaUnit? public let perUnit: SoulverCore.CocoaUnit } +extension UnitRate : Swift.Comparable { + public static func < (lhs: SoulverCore.UnitRate, rhs: SoulverCore.UnitRate) -> Swift.Bool + public static func == (a: SoulverCore.UnitRate, b: SoulverCore.UnitRate) -> Swift.Bool +} extension UnitRate : Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { get @@ -1204,6 +1246,7 @@ public enum UnitType : Swift.String, Swift.CaseIterable, Swift.Codable { } public func cocoaUnitFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.CocoaUnit public func unitIdentifierFor(cocoaUnit: SoulverCore.CocoaUnit) -> SoulverCore.UnitIdentifier? +public func motherUnitIdentifierFor(identifier: SoulverCore.UnitIdentifier) -> SoulverCore.UnitIdentifier public struct Token : Swift.Equatable, Swift.Hashable, Swift.Comparable { public static func == (lhs: SoulverCore.Token, rhs: SoulverCore.Token) -> Swift.Bool public func hash(into hasher: inout Swift.Hasher) @@ -1242,6 +1285,10 @@ public class TokenList { public var flattenedTokens: [SoulverCore.Token] { get } + public subscript(index: Swift.Int) -> SoulverCore.Token { + get + set(newValue) + } public func tokensOfType(_ tokenType: SoulverCore.TokenType) -> [SoulverCore.Token] @objc deinit } @@ -1360,6 +1407,7 @@ extension Array { public var isNotEmpty: Swift.Bool { get } + mutating public func trim(where predicate: (Element) throws -> Swift.Bool) mutating public func move(from oldIndex: Swift.Array.Index, to newIndex: Swift.Array.Index) } public class LineCollection { diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/DefaultCurrencyRates.json b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/DefaultCurrencyRates.json index 9d21884c8..ba0c2dee3 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/DefaultCurrencyRates.json +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/DefaultCurrencyRates.json @@ -1,30 +1,30 @@ { "HRK" : { - "value" : 0.14595077810008575, + "value" : 0.14104046112332522, "code" : "HRK" }, "HUF" : { - "value" : 0.0032135431356240985, + "value" : 0.0030455270849261184, "code" : "HUF" }, "CDF" : { - "value" : 0.00058962259318541251, + "value" : 0.00058479519783867745, "code" : "CDF" }, "XMR" : { - "value" : 76.734707209999996, + "value" : 39.878292340000002, "code" : "XMR" }, "ILS" : { - "value" : 0.29177912320373478, + "value" : 0.27719067253386925, "code" : "ILS" }, "NGN" : { - "value" : 0.0027359793173534065, + "value" : 0.0027247930862974888, "code" : "NGN" }, "GYD" : { - "value" : 0.0047815368414066556, + "value" : 0.004795433289696489, "code" : "GYD" }, "BYR" : { @@ -32,47 +32,47 @@ "code" : "BYR" }, "BHD" : { - "value" : 2.6523510439653708, + "value" : 2.6594471541256004, "code" : "BHD" }, "SZL" : { - "value" : 0.065702793544805654, + "value" : 0.05723977225439416, "code" : "SZL" }, "INR" : { - "value" : 0.013910044327555561, + "value" : 0.013223559453202643, "code" : "INR" }, "SDG" : { - "value" : 0.018484230613031911, + "value" : 0.018081980008635232, "code" : "SDG" }, "PEN" : { - "value" : 0.29323328995435527, + "value" : 0.28542853097927107, "code" : "PEN" }, "EUR" : { - "value" : 1.0883773273588673, + "value" : 1.0763497964622535, "code" : "EUR" }, "TRX" : { - "value" : 0.0190759, + "value" : 0.01110775, "code" : "TRX" }, "PGK" : { - "value" : 0.29368653250478488, + "value" : 0.2932228860462559, "code" : "PGK" }, "QAR" : { - "value" : 0.27464838826713073, + "value" : 0.27464695507160319, "code" : "QAR" }, "LRD" : { - "value" : 0.0050639416826753058, + "value" : 0.0050729222683882393, "code" : "LRD" }, "ISK" : { - "value" : 0.0078488663117121521, + "value" : 0.0071062909108279455, "code" : "ISK" }, "SYP" : { @@ -80,91 +80,91 @@ "code" : "SYP" }, "TRY" : { - "value" : 0.16273920017914331, + "value" : 0.1526134131318348, "code" : "TRY" }, "UAH" : { - "value" : 0.040753552752091492, + "value" : 0.036539083756897441, "code" : "UAH" }, "SGD" : { - "value" : 0.71494704029798983, + "value" : 0.68979598593919855, "code" : "SGD" }, "MMK" : { - "value" : 0.00068987321992875405, + "value" : 0.00070313998918671949, "code" : "MMK" }, "NIO" : { - "value" : 0.02919728914849172, + "value" : 0.029282253604403841, "code" : "NIO" }, "BIF" : { - "value" : 0.00052910052910052914, + "value" : 0.00052770448548812663, "code" : "BIF" }, "AFN" : { - "value" : 0.012995415282465422, + "value" : 0.01314917406618905, "code" : "AFN" }, + "LKR" : { + "value" : 0.0053567214936039408, + "code" : "LKR" + }, "LTC" : { - "value" : 71.324140209999996, + "value" : 37.386027069999997, "code" : "LTC" }, "GTQ" : { - "value" : 0.13075498451076453, + "value" : 0.13131838404849325, "code" : "GTQ" }, - "LKR" : { - "value" : 0.0055015208404211261, - "code" : "LKR" - }, "XRP" : { - "value" : 0.25512463000000002, + "value" : 0.15588341, "code" : "XRP" }, "CHF" : { - "value" : 1.024642655873764, + "value" : 1.0139252493749151, "code" : "CHF" }, "THB" : { - "value" : 0.031509975018261603, + "value" : 0.030671409734363199, "code" : "THB" }, "AMD" : { - "value" : 0.002090605015070419, + "value" : 0.002026012365811047, "code" : "AMD" }, "AOA" : { - "value" : 0.0020284407638936717, + "value" : 0.0019282033334532417, "code" : "AOA" }, "SEK" : { - "value" : 0.10295713482648633, + "value" : 0.096334426889635907, "code" : "SEK" }, "DASH" : { - "value" : 96.853203140000005, + "value" : 70.651361420000001, "code" : "DASH" }, "SAR" : { - "value" : 0.26651528598422763, + "value" : 0.26610330822293815, "code" : "SAR" }, "KWD" : { - "value" : 3.266927585283145, + "value" : 3.2126449706042988, "code" : "KWD" }, "IRR" : { - "value" : 2.3750148435043321e-05, + "value" : 2.3750148239875258e-05, "code" : "IRR" }, "WST" : { - "value" : 0.37188891678055763, + "value" : 0.34640216321222883, "code" : "WST" }, "BNB" : { - "value" : 20.485580339999999, + "value" : 11.775446219999999, "code" : "BNB" }, "BMD" : { @@ -172,99 +172,99 @@ "code" : "BMD" }, "BGN" : { - "value" : 0.55563334422374688, + "value" : 0.54648183193825628, "code" : "BGN" }, "PHP" : { - "value" : 0.019575026947960848, + "value" : 0.019616311999168582, "code" : "PHP" }, "ZMW" : { - "value" : 0.067886459624731804, + "value" : 0.058983113429540691, "code" : "ZMW" }, "XAF" : { - "value" : 0.0016514878146375363, + "value" : 0.0016360828518246062, "code" : "XAF" }, "BDT" : { - "value" : 0.011767930295253842, + "value" : 0.011810162503111978, "code" : "BDT" }, "NOK" : { - "value" : 0.1068136650566999, + "value" : 0.087346199719706044, "code" : "NOK" }, "BOB" : { - "value" : 0.1445582422989849, + "value" : 0.14520865176380593, "code" : "BOB" }, "TZS" : { - "value" : 0.00043292944517055035, + "value" : 0.00043381997443251612, "code" : "TZS" }, "XAG" : { - "value" : 17.995968902965735, + "value" : 12.582573136206353, "code" : "XAG" }, - "VEF" : { - "value" : 0.10012517649565486, - "code" : "VEF" + "VUV" : { + "value" : 0.0078507628393907347, + "code" : "VUV" }, "ANG" : { - "value" : 0.55846235209822681, + "value" : 0.55975120178583027, "code" : "ANG" }, - "VUV" : { - "value" : 0.0083791690639469351, - "code" : "VUV" - }, "BND" : { - "value" : 0.71415716599583501, + "value" : 0.69261046963838113, "code" : "BND" }, "XCD" : { "value" : 0.37002090618119926, "code" : "XCD" }, + "VEF" : { + "value" : 0.10012511634538519, + "code" : "VEF" + }, "SCR" : { - "value" : 0.072965746011637592, + "value" : 0.073255817445916874, "code" : "SCR" }, "KYD" : { - "value" : 1.1995398565110424, + "value" : 1.2023074684935329, "code" : "KYD" }, "DJF" : { - "value" : 0.0056268222604561047, + "value" : 0.005626816244848073, "code" : "DJF" }, "CLF" : { - "value" : 33.935116058096916, + "value" : 31.962156806341291, "code" : "CLF" }, "LSL" : { - "value" : 0.065661645148579501, + "value" : 0.057239732937722825, "code" : "LSL" }, "MOP" : { - "value" : 0.12457938883843422, + "value" : 0.12540460227366068, "code" : "MOP" }, "ALL" : { - "value" : 0.0088893254535389408, + "value" : 0.0087069785902274977, "code" : "ALL" }, "UZS" : { - "value" : 0.00010503098243043774, + "value" : 0.00010509721122358741, "code" : "UZS" }, "UYU" : { - "value" : 0.026035353093541484, + "value" : 0.021802889192419021, "code" : "UYU" }, "PLN" : { - "value" : 0.25272296357099572, + "value" : 0.23574063814990748, "code" : "PLN" }, "LTL" : { @@ -272,19 +272,19 @@ "code" : "LTL" }, "LYD" : { - "value" : 0.71174123935502009, + "value" : 0.70902826966613985, "code" : "LYD" }, - "JPY" : { - "value" : 0.009077169804173767, - "code" : "JPY" - }, "MNT" : { - "value" : 0.00036300093050751028, + "value" : 0.00036022874978058379, "code" : "MNT" }, + "JPY" : { + "value" : 0.009011766122319945, + "code" : "JPY" + }, "FJD" : { - "value" : 0.45108013393471336, + "value" : 0.42300468689193071, "code" : "FJD" }, "ZWL" : { @@ -292,23 +292,23 @@ "code" : "ZWL" }, "KPW" : { - "value" : 0.0011110213047901087, + "value" : 0.0011111110777777787, "code" : "KPW" }, "PKR" : { - "value" : 0.0064809950587986333, + "value" : 0.0063002032483369125, "code" : "PKR" }, "MRO" : { - "value" : 0.0028011201735596465, + "value" : 0.0028011180393746832, "code" : "MRO" }, "OMR" : { - "value" : 2.5972272002410226, + "value" : 2.6073511658770738, "code" : "OMR" }, "GBP" : { - "value" : 1.3002007509959537, + "value" : 1.1650001339750153, "code" : "GBP" }, "LVL" : { @@ -316,99 +316,99 @@ "code" : "LVL" }, "SHP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "SHP" }, "GEL" : { - "value" : 0.35906423551454086, + "value" : 0.31200858647629987, "code" : "GEL" }, "TND" : { - "value" : 0.3496019432274412, + "value" : 0.34182144341624554, "code" : "TND" }, "DKK" : { - "value" : 0.1456971975144058, + "value" : 0.14321714985268685, "code" : "DKK" }, "NPR" : { - "value" : 0.0087003367378331014, + "value" : 0.0083551067415016875, "code" : "NPR" }, "KRW" : { - "value" : 0.00082254450239665274, + "value" : 0.00079684425197163811, "code" : "KRW" }, "BSD" : { - "value" : 0.99963513317639063, + "value" : 1.0019046206839202, "code" : "BSD" }, "CRC" : { - "value" : 0.0017460833081489916, + "value" : 0.0017717644250681136, "code" : "CRC" }, "EGP" : { - "value" : 0.06415609743078568, + "value" : 0.063897302211172541, "code" : "EGP" }, "MAD" : { - "value" : 0.10328975813876813, + "value" : 0.10182904308906142, "code" : "MAD" }, - "BTC" : { - "value" : 9345.7943925233649, - "code" : "BTC" - }, "AUD" : { - "value" : 0.66019761034872959, + "value" : 0.57930580626623507, "code" : "AUD" }, + "BTC" : { + "value" : 6211.1801242236024, + "code" : "BTC" + }, "SLL" : { - "value" : 0.0001029336096135646, + "value" : 0.0001030927799022214, "code" : "SLL" }, "MWK" : { - "value" : 0.001355938147454957, + "value" : 0.0013605435790645785, "code" : "MWK" }, "RSD" : { - "value" : 0.0092584198291947445, + "value" : 0.0091053917959946426, "code" : "RSD" }, "NZD" : { - "value" : 0.63199979270406803, + "value" : 0.56965288201634334, "code" : "NZD" }, "SRD" : { - "value" : 0.13408472626133838, + "value" : 0.13408352169833407, "code" : "SRD" }, "CLP" : { - "value" : 0.0012298621631488707, + "value" : 0.0011583406331187806, "code" : "CLP" }, "RUB" : { - "value" : 0.015304115033196997, + "value" : 0.012503531622506775, "code" : "RUB" }, "NAD" : { - "value" : 0.065660567303361866, + "value" : 0.05723974931966265, "code" : "NAD" }, "HKD" : { - "value" : 0.12836558518661145, + "value" : 0.12883526478867796, "code" : "HKD" }, "GMD" : { - "value" : 0.019607800845919746, + "value" : 0.019650075387514225, "code" : "GMD" }, "VND" : { - "value" : 4.3035741183052525e-05, + "value" : 4.3019078961519434e-05, "code" : "VND" }, "LAK" : { - "value" : 0.00011229646146342911, + "value" : 0.00011185681889954924, "code" : "LAK" }, "CUC" : { @@ -416,179 +416,179 @@ "code" : "CUC" }, "RON" : { - "value" : 0.22636720699764418, + "value" : 0.2205539521283236, "code" : "RON" }, "MUR" : { - "value" : 0.026699166315861871, + "value" : 0.025621068142843293, "code" : "MUR" }, "XAU" : { - "value" : 1633.9869281045751, + "value" : 1497.0059880239521, "code" : "XAU" }, "GGP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "GGP" }, + "MXN" : { + "value" : 0.040944668848526183, + "code" : "MXN" + }, "BRL" : { - "value" : 0.22787364042040861, + "value" : 0.19747609749315942, "code" : "BRL" }, "STD" : { - "value" : 4.5685510254460443e-05, + "value" : 4.5345772756215923e-05, "code" : "STD" }, - "MXN" : { - "value" : 0.052422303593286805, - "code" : "MXN" - }, "AWG" : { - "value" : 0.5554012774229381, + "value" : 0.55555555555555558, "code" : "AWG" }, "MVR" : { - "value" : 0.064724311648855073, + "value" : 0.06489133491728756, "code" : "MVR" }, "PAB" : { - "value" : 0.99963513317639063, + "value" : 1.0019046206839202, "code" : "PAB" }, "TJS" : { - "value" : 0.10316107188067483, + "value" : 0.10280197050817071, "code" : "TJS" }, "GNF" : { - "value" : 0.00010624170451756518, + "value" : 0.00010624165639982802, "code" : "GNF" }, "MGA" : { - "value" : 0.00026917901381942578, + "value" : 0.00026652449560660981, "code" : "MGA" }, "XDR" : { - "value" : 1.3626484435148154, + "value" : 1.3504461874203235, "code" : "XDR" }, "ETB" : { - "value" : 0.030969578211687721, + "value" : 0.030671199951809412, "code" : "ETB" }, "ZAR" : { - "value" : 0.065733984687005337, + "value" : 0.056678707113347777, "code" : "ZAR" }, "COP" : { - "value" : 0.00029099374363451185, + "value" : 0.00024268899405411964, "code" : "COP" }, "IDR" : { - "value" : 7.1702577707668594e-05, + "value" : 6.3373854153186512e-05, "code" : "IDR" }, "SVC" : { - "value" : 0.11424858023289346, + "value" : 0.11450918386556438, "code" : "SVC" }, "CVE" : { - "value" : 0.0098376559518098868, + "value" : 0.00969895444398188, "code" : "CVE" }, "ETC" : { - "value" : 9.2414770100000005, + "value" : 4.8471909000000002, "code" : "ETC" }, "TTD" : { - "value" : 0.14783698961312094, + "value" : 0.1482872525753047, "code" : "TTD" }, - "DOGE" : { - "value" : 0.0025008600000000001, - "code" : "DOGE" + "GIP" : { + "value" : 1.1659509670980297, + "code" : "GIP" }, "PYG" : { - "value" : 0.00015260611179847446, + "value" : 0.00015102166981185603, "code" : "PYG" }, - "GIP" : { - "value" : 1.3003360068241632, - "code" : "GIP" + "DOGE" : { + "value" : 0.0017667799999999999, + "code" : "DOGE" }, "MZN" : { - "value" : 0.015378693404678168, + "value" : 0.01507044551657938, "code" : "MZN" }, "FKP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "FKP" }, "KZT" : { - "value" : 0.0026468799333706208, + "value" : 0.0022358015367513568, "code" : "KZT" }, + "UGX" : { + "value" : 0.00026195567645827576, + "code" : "UGX" + }, "USD" : { "value" : 1, "code" : "USD" }, - "UGX" : { - "value" : 0.00027163687561171894, - "code" : "UGX" - }, "RWF" : { "value" : 0.0010695187165775401, "code" : "RWF" }, "GHS" : { - "value" : 0.18709119404780591, + "value" : 0.17792359604938446, "code" : "GHS" }, "ARS" : { - "value" : 0.016188774318594657, + "value" : 0.015781795342403961, "code" : "ARS" }, "JEP" : { - "value" : 1.3003360068241632, + "value" : 1.1659509670980297, "code" : "JEP" }, "DOP" : { - "value" : 0.018658447894026584, + "value" : 0.018518395405482394, "code" : "DOP" }, "LBP" : { - "value" : 0.0006605020835914713, + "value" : 0.00066135545154280214, "code" : "LBP" }, "BZD" : { - "value" : 0.4959279357198047, + "value" : 0.49709571826603072, "code" : "BZD" }, "BTN" : { - "value" : 0.013920560096519595, + "value" : 0.0133681457673309, "code" : "BTN" }, "ADA" : { - "value" : 0.05665137, + "value" : 0.028973720000000001, "code" : "ADA" }, - "YER" : { - "value" : 0.003996004554885752, - "code" : "YER" - }, "MYR" : { - "value" : 0.23615555755500595, + "value" : 0.22755696661102137, "code" : "MYR" }, + "YER" : { + "value" : 0.0039944020213208073, + "code" : "YER" + }, "JMD" : { - "value" : 0.0072263691946240433, + "value" : 0.0074044889418030122, "code" : "JMD" }, "TOP" : { - "value" : 0.43108093544562992, + "value" : 0.41702287370462271, "code" : "TOP" }, "SOS" : { - "value" : 0.0017094014230404455, + "value" : 0.0017064836573524296, "code" : "SOS" }, "TMT" : { @@ -596,43 +596,43 @@ "code" : "TMT" }, "MDL" : { - "value" : 0.056002056843543743, + "value" : 0.055662867379099416, "code" : "MDL" }, "XOF" : { - "value" : 0.0016501659695678042, + "value" : 0.001640679393392658, "code" : "XOF" }, "ETH" : { - "value" : 253.23130087000001, + "value" : 131.32626894000001, "code" : "ETH" }, "TWD" : { - "value" : 0.032894195819147709, + "value" : 0.033036550582394741, "code" : "TWD" }, "BBD" : { - "value" : 0.49508945523821973, + "value" : 0.50064859024866715, "code" : "BBD" }, "CAD" : { - "value" : 0.75270314517009207, + "value" : 0.69606375944036469, "code" : "CAD" }, "CNY" : { - "value" : 0.14209787332059851, + "value" : 0.1409283570966729, "code" : "CNY" }, - "JOD" : { - "value" : 1.4104073961763857, - "code" : "JOD" - }, "XPF" : { - "value" : 0.0090457003253557496, + "value" : 0.0089565314807213709, "code" : "XPF" }, + "JOD" : { + "value" : 1.4103576667042761, + "code" : "JOD" + }, "XLM" : { - "value" : 0.064830589999999994, + "value" : 0.039567440000000002, "code" : "XLM" }, "IQD" : { @@ -640,91 +640,91 @@ "code" : "IQD" }, "HNL" : { - "value" : 0.040164394473154404, + "value" : 0.04009560556573516, "code" : "HNL" }, "AED" : { - "value" : 0.27225441630695052, + "value" : 0.27225389745066897, "code" : "AED" }, "EOS" : { - "value" : 4.0654144399999996, + "value" : 2.1972275300000002, "code" : "EOS" }, - "KES" : { - "value" : 0.0098808349566392398, - "code" : "KES" - }, "ERN" : { - "value" : 0.066664208979495626, + "value" : 0.066665075593529161, "code" : "ERN" }, + "KES" : { + "value" : 0.0094321483552431921, + "code" : "KES" + }, "KMF" : { - "value" : 0.0022105554069313188, + "value" : 0.0021810070248578705, "code" : "KMF" }, - "MKD" : { - "value" : 0.017615996847159348, - "code" : "MKD" - }, "DZD" : { - "value" : 0.0082945988699222838, + "value" : 0.0080988028025745125, "code" : "DZD" }, + "MKD" : { + "value" : 0.017395114936830335, + "code" : "MKD" + }, "BSV" : { - "value" : 261.34168437, + "value" : 164.85426050999999, "code" : "BSV" }, "BWP" : { - "value" : 0.090066843107612315, + "value" : 0.088471562629859668, "code" : "BWP" }, - "SBD" : { - "value" : 0.12114843384756402, - "code" : "SBD" - }, "AZN" : { - "value" : 0.58922658118953064, + "value" : 0.58686479222052035, "code" : "AZN" }, + "SBD" : { + "value" : 0.12094835118369733, + "code" : "SBD" + }, "BCH" : { - "value" : 355.60714253999998, + "value" : 215.75744254, "code" : "BCH" }, "KGS" : { - "value" : 0.014316402722069275, + "value" : 0.011972161754823921, "code" : "KGS" }, "BYN" : { - "value" : 0.44742889460007013, + "value" : 0.3887025923741993, "code" : "BYN" }, "KHR" : { - "value" : 0.00024479803526350263, + "value" : 0.00024721876717582515, "code" : "KHR" }, "NEO" : { - "value" : 12.6220079, + "value" : 6.0888002800000001, "code" : "NEO" }, "ZMK" : { - "value" : 0.000111096211627849, + "value" : 0.00011109625392516104, "code" : "ZMK" }, "HTG" : { - "value" : 0.01108319746256844, + "value" : 0.010517724026785531, "code" : "HTG" }, - "CZK" : { - "value" : 0.043086767011151113, - "code" : "CZK" + "IMP" : { + "value" : 1.1659509670980297, + "code" : "IMP" }, "BAM" : { - "value" : 0.55389019237714165, + "value" : 0.54868781309498338, "code" : "BAM" }, - "IMP" : { - "value" : 1.3003360068241632, - "code" : "IMP" + "CZK" : { + "value" : 0.039221777185790417, + "code" : "CZK" } } \ No newline at end of file diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/FunctionDescriptions.json b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/FunctionDescriptions.json index 93dcc8bd0..05504e9d5 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/FunctionDescriptions.json +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/FunctionDescriptions.json @@ -1 +1,267 @@ -{"percentage":[{"prototypeExpressions":["10% of 100"],"keywords":[],"identifier":"percentOf"},{"prototypeExpressions":["10% off 100"],"keywords":[],"identifier":"percentOff"},{"prototypeExpressions":["10% on 100"],"keywords":[],"identifier":"percentOn"},{"prototypeExpressions":["30 is 20% of what"],"keywords":["what"],"identifier":"isPercentOfWhat"},{"prototypeExpressions":["20% of what is 30"],"keywords":["what"],"identifier":"isPercentOfWhatClassic"},{"prototypeExpressions":["30 is 20% off what"],"keywords":["what"],"identifier":"isPercentOffWhat"},{"prototypeExpressions":["20% off what is 30"],"keywords":["what"],"identifier":"isPercentOffWhatClassic"},{"prototypeExpressions":["30 is 20% on what"],"keywords":["what"],"identifier":"isPercentOnWhat"},{"prototypeExpressions":["20% on what is 30"],"keywords":["what"],"identifier":"isPercentOnWhatClassic"},{"prototypeExpressions":["10 is what % of 20","10 as a % of 20","10 as % of 20"],"keywords":["of"],"identifier":"isWhatPercentOf"},{"prototypeExpressions":["10 is what % off 20","10 as a % off 20","10 as % off 20"],"keywords":[],"identifier":"isWhatPercentOff"},{"prototypeExpressions":["20 is what % on 10","20 as a % on 10","20 as % on 10"],"keywords":[],"identifier":"isWhatPercentOn"}],"general":[{"prototypeExpressions":["remainder of 20 divided by 3"],"keywords":["remainder"],"identifier":"remainder"},{"prototypeExpressions":["half of 20"],"keywords":["half"],"identifier":"halfOf"},{"prototypeExpressions":["smaller of 2 and 30","lesser of 2 and 30"],"keywords":["and","of"],"identifier":"lesserOf"},{"prototypeExpressions":["larger of 2 and 30","greater of 2 and 30"],"keywords":["and","of"],"identifier":"greaterOf"},{"prototypeExpressions":["midpoint between 2 and 32"],"keywords":["midpoint"],"identifier":"midpoint"},{"prototypeExpressions":["6 is to 600 as what is to 8"],"keywords":["is to"],"identifier":"proportionsFindNumerator"},{"prototypeExpressions":["6 is to 600 as 8 is to what"],"keywords":["is to"],"identifier":"proportionsFindDenominator"}],"unitRelated":[{"prototypeExpressions":["__unit in __unit_expression"],"keywords":[],"identifier":"unitInUnitExpression"}],"datetime":[{"prototypeExpressions":["__unit between __datestamp and __datestamp","__unit from __datestamp to __datestamp","__unit in __datestamp to __datestamp"],"keywords":[],"identifier":"calendarUnitBetweenDates"},{"prototypeExpressions":["__unit to __datestamp","__unit before __datestamp","__unit until __datestamp","__unit till __datestamp"],"keywords":[],"identifier":"calendarUnitToDate"},{"prototypeExpressions":["__datestamp to __datestamp"],"keywords":[],"identifier":"intervalBetweenDates"},{"identifier":"intervalBetweenTimestamps","keywords":[],"prototypeExpressions":["__timestamp to __timestamp"]},{"identifier":"calendarUnitSinceDate","keywords":["since"],"prototypeExpressions":["__unit since __datestamp"]},{"prototypeExpressions":["__timespan from __datestamp","__timespan after __datestamp"],"keywords":[],"identifier":"calendarUnitExpressionAfterDate"},{"prototypeExpressions":["new timestamp"],"keywords":[],"identifier":"generateTimestamp"}]} +{ + "percentage": [ + { + "identifier": "percentOf", + "keywords": [ + ], + "prototypeExpressions": [ + "10% of 100" + ] + }, + { + "identifier": "percentOff", + "keywords": [ + ], + "prototypeExpressions": [ + "10% off 100" + ] + }, + { + "identifier": "percentOn", + "keywords": [ + ], + "prototypeExpressions": [ + "10% on 100" + ] + }, + { + "identifier": "isPercentOfWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% of what" + ] + }, + { + "identifier": "isPercentOfWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% of what is 30" + ] + }, + { + "identifier": "isPercentOffWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% off what" + ] + }, + { + "identifier": "isPercentOffWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% off what is 30" + ] + }, + { + "identifier": "isPercentOnWhat", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "30 is 20% on what" + ] + }, + { + "identifier": "isPercentOnWhatClassic", + "keywords": [ + "what" + ], + "prototypeExpressions": [ + "20% on what is 30" + ] + }, + { + "identifier": "isWhatPercentOf", + "keywords": [ + "of" + ], + "prototypeExpressions": [ + "10 is what % of 20", + "10 as a % of 20", + "10 as % of 20" + ] + }, + { + "identifier": "isWhatPercentOff", + "keywords": [ + ], + "prototypeExpressions": [ + "10 is what % off 20", + "10 as a % off 20", + "10 as % off 20" + ] + }, + { + "identifier": "isWhatPercentOn", + "keywords": [ + ], + "prototypeExpressions": [ + "20 is what % on 10", + "20 as a % on 10", + "20 as % on 10" + ] + } + ], + "general": [ + { + "identifier": "remainder", + "keywords": [ + "remainder" + ], + "prototypeExpressions": [ + "remainder of 20 divided by 3" + ] + }, + { + "identifier": "halfOf", + "keywords": [ + "half" + ], + "prototypeExpressions": [ + "half of 20" + ] + }, + { + "identifier": "lesserOf", + "keywords": [ + "and", + "of" + ], + "prototypeExpressions": [ + "smaller of 2 and 30", + "lesser of 2 and 30" + ] + }, + { + "identifier": "greaterOf", + "keywords": [ + "and", + "of" + ], + "prototypeExpressions": [ + "larger of 2 and 30", + "greater of 2 and 30" + ] + }, + { + "identifier": "midpoint", + "keywords": [ + "midpoint" + ], + "prototypeExpressions": [ + "midpoint between 2 and 32" + ] + }, + { + "identifier": "proportionsFindNumerator", + "keywords": [ + "is to" + ], + "prototypeExpressions": [ + "6 is to 600 as what is to 8" + ] + }, + { + "identifier": "proportionsFindDenominator", + "keywords": [ + "is to" + ], + "prototypeExpressions": [ + "6 is to 600 as 8 is to what" + ] + }, + { + "identifier": "makeRandomNumber", + "keywords": [ + "random" + ], + "prototypeExpressions": [ + "random number between 1 and 5", + "random between 1 and 5" + ] + } + ], + "unitRelated": [ + { + "identifier": "unitInUnitExpression", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit in __unit_expression" + ] + } + ], + "datetime": [ + { + "identifier": "calendarUnitBetweenDates", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit between __datestamp and __datestamp", + "__unit from __datestamp to __datestamp", + "__unit in __datestamp to __datestamp" + ] + }, + { + "identifier": "calendarUnitToDate", + "keywords": [ + ], + "prototypeExpressions": [ + "__unit to __datestamp", + "__unit before __datestamp", + "__unit until __datestamp", + "__unit till __datestamp" + ] + }, + { + "identifier": "intervalBetweenDates", + "keywords": [ + ], + "prototypeExpressions": [ + "__datestamp to __datestamp" + ] + }, + { + "prototypeExpressions": [ + "__timestamp to __timestamp" + ], + "keywords": [ + ], + "identifier": "intervalBetweenTimestamps" + }, + { + "prototypeExpressions": [ + "__unit since __datestamp" + ], + "keywords": [ + "since" + ], + "identifier": "calendarUnitSinceDate" + }, + { + "identifier": "calendarUnitExpressionAfterDate", + "keywords": [ + ], + "prototypeExpressions": [ + "__timespan from __datestamp", + "__timespan after __datestamp" + ] + }, + { + "identifier": "generateTimestamp", + "keywords": [ + ], + "prototypeExpressions": [ + "new timestamp" + ] + } + ] +} \ No newline at end of file diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/LocalizedFixtures.json b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/LocalizedFixtures.json index 7599e6892..ec87d93cf 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/LocalizedFixtures.json +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/LocalizedFixtures.json @@ -1,59 +1,59 @@ { - "fixtures" : { - "decimalPlacesTypes" : [ + "fixtures": { + "decimalPlacesTypes": [ "dp", "digit", "digits" ], - "divisionOperators" : [ + "multiplierTypes": [ + "multiplier" + ], + "divisionOperators": [ "÷", "per" ], - "roundingConverters" : [ + "roundingConverters": [ "rounded" ], - "tomorrowDateAliases" : [ - "tomorrow" - ], - "multiplicationOperators" : [ + "multiplicationOperators": [ "×", "x" ], - "numberTypes" : [ + "tomorrowDateAliases": [ + "tomorrow" + ], + "numberTypes": [ "number" ], - "roundingDownConverters" : [ + "roundingDownConverters": [ "rounded down" ], - "yesterdayDateAliases" : [ + "yesterdayDateAliases": [ "yesterday" ], - "subtractionOperators" : [ + "subtractionOperators": [ "−", "–" ], - "dateTypes" : [ - "date" - ], - "roundingUpConverters" : [ - "rounded up" + "todayDateAliases": [ + "today" ], - "timestampTypes" : [ + "timestampTypes": [ "timestamp" ], - "todayDateAliases" : [ - "today" + "roundingUpConverters": [ + "rounded up" ], - "additionOperators" : [ - "plus" + "dateTypes": [ + "date" ], - "piAliases" : [ - "π" + "iso8601Types": [ + "iso8601" ], - "timespanTypes" : [ - "timespan" + "piAliases": [ + "π" ], - "monthOfYearDateAliases" : [ + "monthOfYearDateAliases": [ "jan", "feb", "mar", @@ -79,17 +79,23 @@ "november", "december" ], - "nowDateAliases" : [ + "additionOperators": [ + "plus" + ], + "timespanTypes": [ + "timespan" + ], + "nowDateAliases": [ "now" ], - "converterSymbols" : [ + "converterSymbols": [ "to", "as" ], - "fractionTypes" : [ + "fractionTypes": [ "fraction" ], - "dayOfWeekDateAliases" : [ + "dayOfWeekDateAliases": [ "monday", "tuesday", "wednesday", @@ -106,17 +112,17 @@ "sat", "sun" ], - "dateIntervalPrepositions" : [ + "dateIntervalPrepositions": [ "between ", "until ", "before ", "to ", "from ", - "after " + "after " ], - "percentTypes" : [ + "percentTypes": [ "percent", "percentage" ] } -} +} \ No newline at end of file diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/TimeZoneAbbrieviations.json b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/TimeZoneAbbrieviations.json new file mode 100644 index 000000000..1bde26bad --- /dev/null +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Base.lproj/TimeZoneAbbrieviations.json @@ -0,0 +1,63 @@ +{ + "ACDT": "Australia/Adelaide", + "ACST": "Australia/Darwin", + "ADT": "America/Halifax", + "AEDT": "Australia/Sydney", + "AEST": "Australia/Brisbane", + "AKDT": "America/Juneau", + "AKST": "America/Juneau", + "ART": "America/Argentina/Buenos_Aires", + "AST": "America/Halifax", + "AWST": "Australia/Perth", + "BDT": "Asia/Dhaka", + "BRST": "America/Sao_Paulo", + "BRT": "America/Sao_Paulo", + "BST": "Europe/London", + "CAT": "Africa/Harare", + "CDT": "America/Chicago", + "CEST": "Europe/Paris", + "CET": "Europe/Paris", + "CLST": "America/Santiago", + "CLT": "America/Santiago", + "COT": "America/Bogota", + "CST": "America/Chicago", + "EAT": "Africa/Addis_Ababa", + "EDT": "America/New_York", + "EEST": "Europe/Athens", + "EET": "Europe/Athens", + "EST": "America/New_York", + "GMT": "GMT", + "GST": "Asia/Dubai", + "HKT": "Asia/Hong_Kong", + "HST": "Pacific/Honolulu", + "ICT": "Asia/Bangkok", + "IRST": "Asia/Tehran", + "IST": "Asia/Kolkata", + "JST": "Asia/Tokyo", + "KST": "Asia/Seoul", + "MDT": "America/Denver", + "MSD": "Europe/Moscow", + "MSK": "Europe/Moscow", + "MST": "America/Phoenix", + "NDT": "America/St_Johns", + "NST": "America/St_Johns", + "NZDT": "Pacific/Auckland", + "NZST": "Pacific/Auckland", + "PDT": "America/Los_Angeles", + "PET": "America/Lima", + "PHT": "Asia/Manila", + "PKT": "Asia/Karachi", + "PST": "America/Los_Angeles", + "SAST": "Africa/Johannesburg", + "SGT": "Asia/Singapore", + "SST": "Pacific/Midway", + "TRT": "Europe/Istanbul", + "UTC": "UTC", + "WAT": "Africa/Lagos", + "WEST": "Europe/Lisbon", + "WET": "Europe/Lisbon", + "WIB": "Asia/Jakarta", + "WIT": "Asia/Jakarta", + "WITA": "Asia/Makassar" + +} \ No newline at end of file diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist index 9ec25a090..c01b18fbb 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/Info.plist @@ -17,27 +17,27 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.0 + 1.0.1 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1 + 2 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11B53 + 11C504 DTPlatformVersion GM DTSDKBuild - 19B89 + 19B90 DTSDKName macosx10.15 DTXcode - 1120 + 1130 DTXcodeBuild - 11B53 + 11C504 LSMinimumSystemVersion 10.14.4 NSHumanReadableCopyright diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/Localizable.strings b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/Localizable.strings index a4505f8aa..64b9262d2 100644 Binary files a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/Localizable.strings and b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/de.lproj/Localizable.strings differ diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/Localizable.strings b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/Localizable.strings index f3f39c3a1..862a28015 100644 Binary files a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/Localizable.strings and b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/en.lproj/Localizable.strings differ diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/Localizable.strings b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/Localizable.strings index e57a6446e..4e8e9025b 100644 Binary files a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/Localizable.strings and b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/Resources/ru.lproj/Localizable.strings differ diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/SoulverCore b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/SoulverCore index 3a4581870..cded01c81 100755 Binary files a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/SoulverCore and b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/SoulverCore differ diff --git a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources index 65bb3bce3..7d95fb292 100644 --- a/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources +++ b/SoulverCore.xcframework/macos-x86_64/SoulverCore.framework/Versions/A/_CodeSignature/CodeResources @@ -6,15 +6,19 @@ Resources/Base.lproj/DefaultCurrencyRates.json - GGQyeKcWhAylO6N3mrTJ0U0BHpQ= + bgU0/Y8EJoRmz4uph3ypmABBMLw= Resources/Base.lproj/FunctionDescriptions.json - g6L9Dgt4FDLJKJJ6yAfg5LpJpwY= + lZxNUBBUYjxQDFvccGuTQcOfxw4= Resources/Base.lproj/LocalizedFixtures.json - OKjIlrX1S4l8wE7wE58Ab++ypmY= + D6zXRY1zGn+ViL9vvsB1YWQ4DAw= + + Resources/Base.lproj/TimeZoneAbbrieviations.json + + jvQ9kvDAPNdTvzDyAz9BcEGLcyg= Resources/Base.lproj/UnitDescriptions.json @@ -22,7 +26,7 @@ Resources/Info.plist - ElW8mSgOHibg7yGCz0+1kng5+4c= + jkob/3uv8bXL3BswimTw3pu+eZc= Resources/de.lproj/FunctionDescriptions.json @@ -37,7 +41,7 @@ hash - H+XHQocCSfJdFLQxAQgwFHNvqkw= + ncIpcokr8qt14Wy4reevW8K18Ig= optional @@ -73,7 +77,7 @@ hash - LQdAaicVvqJLLxsz1Fvh+Njd4R0= + pyX2HLmuHj2fRTpu3L2D42fy5QM= optional @@ -100,7 +104,7 @@ hash - /CHaiRtPcDVA/7DhXnVisMzleeQ= + a03/nl/us+WbxknZfP121rjr3K8= optional @@ -146,7 +150,7 @@ hash2 - W+0OmU87opgVH/g4MtbVGdJm4+Mdb5Yo1bSM2VfyRe8= + 0uHxGz96qSJF3Bj+YXRBPH2Xm8f4te3AIXbbhOiDHPc= Headers/SoulverCore.h @@ -160,42 +164,42 @@ hash2 - Zuht07ASVcViFby1MgIAdXkwtUWE372VZZ4cIOUG0LY= + 2dFeEptrmlwPk7aEfUOLk6JYAD1Tdh/IAXef04aVcfA= Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftinterface hash2 - ikzeYBPNa8FeBSuMmjDRCBOthHOPozu/rrC7GbrwMmk= + Ql6BxPsU3Yuk0UIZ8N1bMdmHJ6ow4WxgeXYBUN+MXyQ= Modules/SoulverCore.swiftmodule/x86_64-apple-macos.swiftmodule hash2 - Ls3rT9cbjLSq+KRHf65W2Nzv2plvFyfdc03WUe1E5mI= + mRb87nlq2z3v2c5Xib2q3j2vnHvf4+vdhdEFi83tX3Y= Modules/SoulverCore.swiftmodule/x86_64.swiftdoc hash2 - Zuht07ASVcViFby1MgIAdXkwtUWE372VZZ4cIOUG0LY= + 2dFeEptrmlwPk7aEfUOLk6JYAD1Tdh/IAXef04aVcfA= Modules/SoulverCore.swiftmodule/x86_64.swiftinterface hash2 - ikzeYBPNa8FeBSuMmjDRCBOthHOPozu/rrC7GbrwMmk= + Ql6BxPsU3Yuk0UIZ8N1bMdmHJ6ow4WxgeXYBUN+MXyQ= Modules/SoulverCore.swiftmodule/x86_64.swiftmodule hash2 - Ls3rT9cbjLSq+KRHf65W2Nzv2plvFyfdc03WUe1E5mI= + mRb87nlq2z3v2c5Xib2q3j2vnHvf4+vdhdEFi83tX3Y= Modules/module.modulemap @@ -209,21 +213,28 @@ hash2 - aQdbDAWTyWaMHr06FDdkLXJ1KEMLgn2IyNWrDuTVnFY= + CSmUHddJPFXMK9xl8Dc7pq5LO8Cjyl3yDWae/SMVpA8= Resources/Base.lproj/FunctionDescriptions.json hash2 - ScFb5P1Obi2p1xGbpHDhULLi6foVT9XluM/q2NRXLjY= + yC5BYOszy/7xLauxPsEccsTx/jfFuBRuJ+LCWq4+nC0= Resources/Base.lproj/LocalizedFixtures.json hash2 - MXmKvVFLjrrxmeXXEAPsJzSQIHWZurvBVZPvKAaIsOY= + O3c+nWUPnmVZpBVEG8lcN4or+z6WZQLR4YlA/gYz/mM= + + + Resources/Base.lproj/TimeZoneAbbrieviations.json + + hash2 + + CGcnilnCPFpX3dNk0ISsdzY8sTSVjVd/fntEq5x3Arw= Resources/Base.lproj/UnitDescriptions.json @@ -237,7 +248,7 @@ hash2 - 6rl0p1dt6RZzZv+RJqi66GscOM8wpW8RF3EOl2M3db8= + KjAHK/LQb8ZILHRF4m+ChTGX7TlMSLett47zNGlyYqw= Resources/de.lproj/FunctionDescriptions.json @@ -253,7 +264,7 @@ hash2 - 0/E4VvdOz5w/eCD3I7eadUhS0sGceMCAqiYF104SBgc= + E9bUpw02i3xZCgjRdqbA8IY3WECdEbY25W5awNSCO8s= optional @@ -289,7 +300,7 @@ hash2 - ZxvuI2+tPUrLBji6Jd6o0T/CilYOZHpc4VXt9Qim/44= + P6SVoEEUuydvZK7nGjZ9qsblGWuvrGDQJX7yWS8g7fY= optional @@ -316,7 +327,7 @@ hash2 - AR/tiv2n8txef/qm54OHxy5tsQVKvqstslPaUZXdUGE= + e+H80xVUJ0DsiGPfhcQDPZqJYkLSO4xDBBsX07PgyzY= optional