@swiftbrowser/swift 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/Package.swift +200 -9
  2. package/README.md +7 -9
  3. package/Sources/AVFoundation/AVFoundation.swift +131 -0
  4. package/Sources/AVFoundation/Asset.swift +487 -0
  5. package/Sources/AVFoundation/AudioSession.swift +144 -0
  6. package/Sources/AVFoundation/CMTime.swift +303 -0
  7. package/Sources/AVFoundation/Capture.swift +688 -0
  8. package/Sources/AVFoundation/Player.swift +749 -0
  9. package/Sources/AVFoundation/PlayerView.swift +117 -0
  10. package/Sources/AVKit/AVKit.swift +132 -0
  11. package/Sources/Accelerate/Accelerate.swift +122 -0
  12. package/Sources/AppIntents/AppIntents.swift +144 -0
  13. package/Sources/AppIntents/Parameters.swift +220 -0
  14. package/Sources/AppIntents/Shortcuts.swift +159 -0
  15. package/Sources/AudioToolbox/AudioToolbox.swift +55 -0
  16. package/Sources/AuthenticationServices/AuthenticationServices.swift +257 -0
  17. package/Sources/AuthenticationServices/Authorization.swift +251 -0
  18. package/Sources/Charts/Charts.swift +0 -4
  19. package/Sources/Combine/AnyCancellable.swift +65 -0
  20. package/Sources/Combine/AnyPublisher.swift +148 -0
  21. package/Sources/Combine/AnySubscriber.swift +230 -0
  22. package/Sources/Combine/Cancellable.swift +35 -0
  23. package/Sources/Combine/Codable.swift +29 -0
  24. package/Sources/Combine/CombineIdentifier.swift +45 -0
  25. package/Sources/Combine/Concurrency/ConcurrencyHelpers.swift +24 -0
  26. package/Sources/Combine/Concurrency/Future+Concurrency.swift +136 -0
  27. package/Sources/Combine/Concurrency/GENERATED-Publisher+Concurrency.swift +397 -0
  28. package/Sources/Combine/CurrentValueSubject.swift +252 -0
  29. package/Sources/Combine/CustomCombineIdentifierConvertible.swift +28 -0
  30. package/Sources/Combine/Future.swift +228 -0
  31. package/Sources/Combine/GENERATED-RootProtocols.swift +426 -0
  32. package/Sources/Combine/Helpers/ConduitBase.swift +40 -0
  33. package/Sources/Combine/Helpers/ConduitList.swift +59 -0
  34. package/Sources/Combine/Helpers/DebugHook.swift +177 -0
  35. package/Sources/Combine/Helpers/FilterProducer.swift +174 -0
  36. package/Sources/Combine/Helpers/Locking.swift +30 -0
  37. package/Sources/Combine/Helpers/PartialCompletion.swift +26 -0
  38. package/Sources/Combine/Helpers/ReduceProducer.swift +249 -0
  39. package/Sources/Combine/Helpers/SubjectSubscriber.swift +96 -0
  40. package/Sources/Combine/Helpers/SubscriberTap.swift +69 -0
  41. package/Sources/Combine/Helpers/SubscriptionStatus.swift +33 -0
  42. package/Sources/Combine/Helpers/SubscriptionTap.swift +33 -0
  43. package/Sources/Combine/Helpers/Utils.swift +30 -0
  44. package/Sources/Combine/Helpers/Violations.swift +33 -0
  45. package/Sources/Combine/ImmediateScheduler.swift +178 -0
  46. package/Sources/Combine/LICENSE +21 -0
  47. package/Sources/Combine/NotificationPublisher.swift +48 -0
  48. package/Sources/Combine/ObjectWillChange.swift +46 -0
  49. package/Sources/Combine/PassthroughSubject.swift +222 -0
  50. package/Sources/Combine/Publisher+Subscribe.swift +53 -0
  51. package/Sources/Combine/Publishers/Deferred.swift +48 -0
  52. package/Sources/Combine/Publishers/Empty.swift +54 -0
  53. package/Sources/Combine/Publishers/Fail.swift +42 -0
  54. package/Sources/Combine/Publishers/GENERATED-Publishers.Catch.swift +673 -0
  55. package/Sources/Combine/Publishers/GENERATED-Publishers.Encode.swift +388 -0
  56. package/Sources/Combine/Publishers/GENERATED-Publishers.MapKeyPath.swift +384 -0
  57. package/Sources/Combine/Publishers/Just.swift +313 -0
  58. package/Sources/Combine/Publishers/Optional.Publisher.swift +315 -0
  59. package/Sources/Combine/Publishers/Publishers.AllSatisfy.swift +217 -0
  60. package/Sources/Combine/Publishers/Publishers.AssertNoFailure.swift +158 -0
  61. package/Sources/Combine/Publishers/Publishers.Autoconnect.swift +193 -0
  62. package/Sources/Combine/Publishers/Publishers.Breakpoint.swift +231 -0
  63. package/Sources/Combine/Publishers/Publishers.Buffer.swift +356 -0
  64. package/Sources/Combine/Publishers/Publishers.Collect.swift +102 -0
  65. package/Sources/Combine/Publishers/Publishers.CollectByCount.swift +195 -0
  66. package/Sources/Combine/Publishers/Publishers.CompactMap.swift +241 -0
  67. package/Sources/Combine/Publishers/Publishers.Comparison.swift +371 -0
  68. package/Sources/Combine/Publishers/Publishers.Concatenate.swift +474 -0
  69. package/Sources/Combine/Publishers/Publishers.Contains.swift +293 -0
  70. package/Sources/Combine/Publishers/Publishers.Count.swift +87 -0
  71. package/Sources/Combine/Publishers/Publishers.Debounce.swift +332 -0
  72. package/Sources/Combine/Publishers/Publishers.Delay.swift +269 -0
  73. package/Sources/Combine/Publishers/Publishers.Drop.swift +155 -0
  74. package/Sources/Combine/Publishers/Publishers.DropUntilOutput.swift +283 -0
  75. package/Sources/Combine/Publishers/Publishers.DropWhile.swift +378 -0
  76. package/Sources/Combine/Publishers/Publishers.Filter.swift +248 -0
  77. package/Sources/Combine/Publishers/Publishers.First.swift +261 -0
  78. package/Sources/Combine/Publishers/Publishers.FlatMap.swift +533 -0
  79. package/Sources/Combine/Publishers/Publishers.HandleEvents.swift +260 -0
  80. package/Sources/Combine/Publishers/Publishers.IgnoreOutput.swift +109 -0
  81. package/Sources/Combine/Publishers/Publishers.Last.swift +252 -0
  82. package/Sources/Combine/Publishers/Publishers.MakeConnectable.swift +82 -0
  83. package/Sources/Combine/Publishers/Publishers.Map.swift +351 -0
  84. package/Sources/Combine/Publishers/Publishers.MapError.swift +140 -0
  85. package/Sources/Combine/Publishers/Publishers.MeasureInterval.swift +187 -0
  86. package/Sources/Combine/Publishers/Publishers.Multicast.swift +284 -0
  87. package/Sources/Combine/Publishers/Publishers.Output.swift +241 -0
  88. package/Sources/Combine/Publishers/Publishers.PrefixUntilOutput.swift +197 -0
  89. package/Sources/Combine/Publishers/Publishers.PrefixWhile.swift +176 -0
  90. package/Sources/Combine/Publishers/Publishers.Print.swift +206 -0
  91. package/Sources/Combine/Publishers/Publishers.ReceiveOn.swift +227 -0
  92. package/Sources/Combine/Publishers/Publishers.Reduce.swift +204 -0
  93. package/Sources/Combine/Publishers/Publishers.RemoveDuplicates.swift +264 -0
  94. package/Sources/Combine/Publishers/Publishers.ReplaceEmpty.swift +201 -0
  95. package/Sources/Combine/Publishers/Publishers.ReplaceError.swift +211 -0
  96. package/Sources/Combine/Publishers/Publishers.Retry.swift +274 -0
  97. package/Sources/Combine/Publishers/Publishers.Scan.swift +331 -0
  98. package/Sources/Combine/Publishers/Publishers.Sequence.swift +437 -0
  99. package/Sources/Combine/Publishers/Publishers.SetFailureType.swift +120 -0
  100. package/Sources/Combine/Publishers/Publishers.Share.swift +104 -0
  101. package/Sources/Combine/Publishers/Publishers.SubscribeOn.swift +197 -0
  102. package/Sources/Combine/Publishers/Publishers.SwitchToLatest.swift +444 -0
  103. package/Sources/Combine/Publishers/Publishers.Throttle.swift +359 -0
  104. package/Sources/Combine/Publishers/Publishers.Timeout.swift +301 -0
  105. package/Sources/Combine/Publishers/Publishers.Zip.swift +720 -0
  106. package/Sources/Combine/Publishers/Publishers.swift +13 -0
  107. package/Sources/Combine/Publishers/Record.swift +237 -0
  108. package/Sources/Combine/Publishers/Result.Publisher.swift +337 -0
  109. package/Sources/Combine/Result.swift +46 -0
  110. package/Sources/Combine/Scheduler.swift +89 -0
  111. package/Sources/Combine/Schedulers.swift +211 -0
  112. package/Sources/Combine/Subject+Void.swift +17 -0
  113. package/Sources/Combine/Subscriber+Void.swift +20 -0
  114. package/Sources/Combine/Subscribers/Subscribers.Assign.swift +175 -0
  115. package/Sources/Combine/Subscribers/Subscribers.Completion.swift +90 -0
  116. package/Sources/Combine/Subscribers/Subscribers.Demand.swift +476 -0
  117. package/Sources/Combine/Subscribers/Subscribers.Sink.swift +206 -0
  118. package/Sources/Combine/Subscribers/Subscribers.swift +9 -0
  119. package/Sources/Combine/Subscription.swift +22 -0
  120. package/Sources/Combine/Subscriptions.swift +42 -0
  121. package/Sources/Combine/SwiftUIObservation.swift +10 -0
  122. package/Sources/Combine/_Introspection.swift +107 -0
  123. package/Sources/CommonCrypto/CommonCrypto.swift +80 -0
  124. package/Sources/Compression/Compression.swift +365 -0
  125. package/Sources/Compression/Deflate.swift +407 -0
  126. package/Sources/Compression/Zlib.swift +179 -0
  127. package/Sources/CoreFoundationTypes/CoreFoundationTypes.swift +101 -0
  128. package/Sources/CoreGraphics/CoreGraphics.swift +411 -0
  129. package/Sources/CoreGraphics/ProjectionTransforms.swift +28 -0
  130. package/Sources/CoreHaptics/CoreHaptics.swift +399 -0
  131. package/Sources/CoreImage/CIColor.swift +41 -0
  132. package/Sources/CoreImage/CIContext.swift +31 -0
  133. package/Sources/CoreImage/CIDetector.swift +57 -0
  134. package/Sources/CoreImage/CIFilter.swift +243 -0
  135. package/Sources/CoreImage/CIFilterBuiltins.swift +136 -0
  136. package/Sources/CoreImage/CIImage.swift +162 -0
  137. package/Sources/CoreImage/QRCode.swift +393 -0
  138. package/Sources/CoreLocation/Coordinate.swift +30 -0
  139. package/Sources/CoreLocation/Location.swift +65 -0
  140. package/Sources/CoreML/Evaluation.swift +414 -0
  141. package/Sources/CoreML/FeatureValue.swift +266 -0
  142. package/Sources/CoreML/Model.swift +269 -0
  143. package/Sources/CoreML/MultiArray.swift +92 -0
  144. package/Sources/CoreML/Specification.swift +233 -0
  145. package/Sources/CoreText/CoreText.swift +64 -0
  146. package/Sources/CoreTransferable/CoreTransferable.swift +606 -0
  147. package/Sources/CryptoKit/ChaChaPoly.swift +258 -0
  148. package/Sources/CryptoKit/CryptoKit.swift +375 -0
  149. package/Sources/CryptoKit/Curve25519.swift +317 -0
  150. package/Sources/CryptoKit/P256.swift +321 -0
  151. package/Sources/FoundationBridge/AppStorage.swift +165 -0
  152. package/Sources/FoundationBridge/AssetResources.swift +90 -0
  153. package/Sources/FoundationBridge/AsyncBytes.swift +128 -0
  154. package/Sources/FoundationBridge/AsyncImage.swift +116 -0
  155. package/Sources/FoundationBridge/AttributedStrings.swift +16 -0
  156. package/Sources/{_FoundationCommon → FoundationBridge}/Bundle.swift +41 -4
  157. package/Sources/FoundationBridge/CombineExports.swift +8 -0
  158. package/Sources/FoundationBridge/CoreFoundation.swift +77 -0
  159. package/Sources/FoundationBridge/Dispatch.swift +458 -0
  160. package/Sources/FoundationBridge/EnvironmentFoundation.swift +41 -0
  161. package/Sources/FoundationBridge/FileImporter.swift +128 -0
  162. package/Sources/FoundationBridge/FileSystem.swift +68 -0
  163. package/Sources/FoundationBridge/FoundationBridge.swift +24 -72
  164. package/Sources/FoundationBridge/HostResolution.swift +31 -0
  165. package/Sources/FoundationBridge/ItemProvider.swift +655 -0
  166. package/Sources/FoundationBridge/KeyValueObserving.swift +138 -0
  167. package/Sources/FoundationBridge/Links.swift +127 -0
  168. package/Sources/FoundationBridge/ListFormatter.swift +32 -0
  169. package/Sources/FoundationBridge/Localization.swift +149 -0
  170. package/Sources/FoundationBridge/Locks.swift +50 -0
  171. package/Sources/FoundationBridge/Markdown.swift +527 -0
  172. package/Sources/FoundationBridge/MeasurementFormat.swift +95 -0
  173. package/Sources/FoundationBridge/NotificationCenter.swift +154 -0
  174. package/Sources/FoundationBridge/OpenURLHandlers.swift +60 -0
  175. package/Sources/FoundationBridge/Operation.swift +195 -0
  176. package/Sources/FoundationBridge/ProcessInfo.swift +32 -0
  177. package/Sources/FoundationBridge/RelativeDateTimeFormatter.swift +136 -0
  178. package/Sources/FoundationBridge/SceneStorage.swift +78 -0
  179. package/Sources/FoundationBridge/SecurityExports.swift +8 -0
  180. package/Sources/FoundationBridge/Selector.swift +226 -0
  181. package/Sources/FoundationBridge/StringComparators.swift +17 -0
  182. package/Sources/FoundationBridge/Table.swift +211 -0
  183. package/Sources/FoundationBridge/TextAttributes.swift +42 -0
  184. package/Sources/FoundationBridge/Timer.swift +6 -1
  185. package/Sources/FoundationBridge/URLSession.swift +718 -0
  186. package/Sources/{_FoundationCommon → FoundationBridge}/UserDefaults.swift +17 -4
  187. package/Sources/FoundationBridge/WebAuthRedirects.swift +227 -0
  188. package/Sources/FoundationBridge/WebSocket.swift +187 -0
  189. package/Sources/FoundationModels/FoundationModels.swift +1098 -0
  190. package/Sources/ImageIO/GIF.swift +72 -0
  191. package/Sources/ImageIO/ImageIO.swift +248 -0
  192. package/Sources/ImageIO/ImageTypes.swift +28 -0
  193. package/Sources/LinkPresentation/LinkPresentation.swift +249 -0
  194. package/Sources/LocalAuthentication/LAContext.swift +86 -0
  195. package/Sources/MapKit/Geometry.swift +223 -0
  196. package/Sources/MapKit/Map.swift +638 -0
  197. package/Sources/MapKit/MapView.swift +229 -0
  198. package/Sources/MobileCoreServices/MobileCoreServices.swift +28 -0
  199. package/Sources/NaturalLanguage/LanguageIdentifier.swift +317 -0
  200. package/Sources/NaturalLanguage/NaturalLanguage.swift +135 -0
  201. package/Sources/OSLog/OSLog.swift +6 -0
  202. package/Sources/Photos/Photos.swift +572 -0
  203. package/Sources/PhotosUI/PhotosPicker.swift +248 -0
  204. package/Sources/PhotosUI/PhotosPickerItem.swift +261 -0
  205. package/Sources/QuickLook/QuickLook.swift +168 -0
  206. package/Sources/SafariServices/SafariServices.swift +106 -0
  207. package/Sources/Security/Security.swift +332 -0
  208. package/Sources/StoreKit/AppStore.swift +207 -0
  209. package/Sources/StoreKit/Products.swift +280 -0
  210. package/Sources/StoreKit/RequestReview.swift +28 -0
  211. package/Sources/StoreKit/StoreKit1.swift +486 -0
  212. package/Sources/StoreKit/StoreViews.swift +428 -0
  213. package/Sources/StoreKit/Transactions.swift +197 -0
  214. package/Sources/SwiftData/Macros.swift +58 -0
  215. package/Sources/SwiftData/ModelActor.swift +38 -0
  216. package/Sources/SwiftData/ModelContainer.swift +129 -0
  217. package/Sources/SwiftData/ModelContext.swift +451 -0
  218. package/Sources/SwiftData/PersistentModel.swift +238 -0
  219. package/Sources/SwiftData/Properties.swift +261 -0
  220. package/Sources/SwiftData/Query.swift +256 -0
  221. package/Sources/SwiftData/Schema.swift +192 -0
  222. package/Sources/SwiftData/Store.swift +146 -0
  223. package/Sources/SwiftData/StringPredicates.swift +125 -0
  224. package/Sources/SwiftDataMacros/EntryMacro.swift +82 -0
  225. package/Sources/SwiftDataMacros/GenerableMacro.swift +183 -0
  226. package/Sources/SwiftDataMacros/ModelActorMacro.swift +46 -0
  227. package/Sources/SwiftDataMacros/ModelMacro.swift +260 -0
  228. package/Sources/SwiftDataMacros/Plugin.swift +18 -0
  229. package/Sources/SwiftDataMacros/PredicateMacro.swift +1244 -0
  230. package/Sources/SwiftUI/API/Accessibility.swift +55 -6
  231. package/Sources/SwiftUI/API/AccessibilityExtras.swift +33 -0
  232. package/Sources/SwiftUI/API/AccessibilityFocus.swift +63 -0
  233. package/Sources/SwiftUI/API/Alert.swift +1 -1
  234. package/Sources/SwiftUI/API/AlignmentGuides.swift +68 -0
  235. package/Sources/SwiftUI/API/Animation.swift +37 -5
  236. package/Sources/SwiftUI/API/App.swift +31 -1
  237. package/Sources/SwiftUI/API/BindingCollections.swift +35 -0
  238. package/Sources/SwiftUI/API/BindingForEach.swift +27 -0
  239. package/Sources/SwiftUI/API/Bitmaps.swift +254 -0
  240. package/Sources/SwiftUI/API/ButtonStyles.swift +96 -0
  241. package/Sources/SwiftUI/API/Canvas.swift +337 -0
  242. package/Sources/SwiftUI/API/Color.swift +104 -28
  243. package/Sources/SwiftUI/API/ColorEffects.swift +52 -0
  244. package/Sources/SwiftUI/API/ColorPickerAndLabeledContent.swift +138 -0
  245. package/Sources/SwiftUI/API/ColorSpaces.swift +161 -0
  246. package/Sources/SwiftUI/API/Commands.swift +106 -0
  247. package/Sources/SwiftUI/API/ContainerBackground.swift +28 -0
  248. package/Sources/SwiftUI/API/ContentShape.swift +33 -0
  249. package/Sources/SwiftUI/API/ContentSizeCategory.swift +35 -0
  250. package/Sources/SwiftUI/API/ContentUnavailable.swift +101 -0
  251. package/Sources/SwiftUI/API/Controls.swift +59 -27
  252. package/Sources/SwiftUI/API/CustomLayout.swift +49 -10
  253. package/Sources/SwiftUI/API/CustomToolbarContent.swift +46 -0
  254. package/Sources/SwiftUI/API/Decorations.swift +1 -1
  255. package/Sources/SwiftUI/API/EditMode.swift +25 -82
  256. package/Sources/SwiftUI/API/Effects.swift +125 -10
  257. package/Sources/SwiftUI/API/Entry.swift +8 -0
  258. package/Sources/SwiftUI/API/Environment.swift +100 -9
  259. package/Sources/SwiftUI/API/EnvironmentSendable.swift +6 -0
  260. package/Sources/SwiftUI/API/Focus.swift +11 -3
  261. package/Sources/SwiftUI/API/Gauge.swift +26 -10
  262. package/Sources/SwiftUI/API/GeometryEffects.swift +232 -0
  263. package/Sources/SwiftUI/API/GeometryReader.swift +13 -2
  264. package/Sources/SwiftUI/API/GestureState.swift +65 -0
  265. package/Sources/SwiftUI/API/Gestures.swift +1 -1
  266. package/Sources/SwiftUI/API/Glass.swift +127 -0
  267. package/Sources/SwiftUI/API/Grid.swift +1 -1
  268. package/Sources/SwiftUI/API/GroupBoxAndControlGroup.swift +130 -0
  269. package/Sources/SwiftUI/API/KeyPress.swift +54 -0
  270. package/Sources/SwiftUI/API/LabelStyle.swift +13 -6
  271. package/Sources/SwiftUI/API/Layout.swift +71 -12
  272. package/Sources/SwiftUI/API/LazyStacks.swift +49 -0
  273. package/Sources/SwiftUI/API/LegacyAlert.swift +97 -0
  274. package/Sources/SwiftUI/API/Lists.swift +61 -6
  275. package/Sources/SwiftUI/API/Menu.swift +8 -1
  276. package/Sources/SwiftUI/API/Modifiers.swift +88 -12
  277. package/Sources/SwiftUI/API/MoreModifiers.swift +100 -0
  278. package/Sources/SwiftUI/API/Namespace.swift +44 -0
  279. package/Sources/SwiftUI/API/Navigation.swift +24 -9
  280. package/Sources/SwiftUI/API/NavigationDestinationBindings.swift +55 -0
  281. package/Sources/SwiftUI/API/ObservableObject.swift +16 -2
  282. package/Sources/SwiftUI/API/Path.swift +543 -0
  283. package/Sources/SwiftUI/API/Phase8Controls.swift +48 -31
  284. package/Sources/SwiftUI/API/PhaseAnimator.swift +130 -0
  285. package/Sources/SwiftUI/API/Picker.swift +14 -4
  286. package/Sources/SwiftUI/API/PointerAndKeyboard.swift +77 -0
  287. package/Sources/SwiftUI/API/Popover.swift +41 -0
  288. package/Sources/SwiftUI/API/Preferences.swift +262 -0
  289. package/Sources/SwiftUI/API/Presentation.swift +17 -4
  290. package/Sources/SwiftUI/API/PresentationExtras.swift +60 -0
  291. package/Sources/SwiftUI/API/Primitives.swift +168 -39
  292. package/Sources/SwiftUI/API/Publishers.swift +4 -4
  293. package/Sources/SwiftUI/API/Redaction.swift +75 -0
  294. package/Sources/SwiftUI/API/RowActions.swift +3 -2
  295. package/Sources/SwiftUI/API/Scenes.swift +131 -0
  296. package/Sources/SwiftUI/API/ScrollModifiers.swift +132 -0
  297. package/Sources/SwiftUI/API/ScrollTargets.swift +3 -3
  298. package/Sources/SwiftUI/API/ScrollViewReader.swift +144 -0
  299. package/Sources/SwiftUI/API/SectionSupplements.swift +86 -0
  300. package/Sources/SwiftUI/API/Shape.swift +214 -0
  301. package/Sources/SwiftUI/API/ShapeStyle.swift +187 -8
  302. package/Sources/SwiftUI/API/ShapeTrim.swift +78 -0
  303. package/Sources/SwiftUI/API/Sharing.swift +193 -0
  304. package/Sources/SwiftUI/API/StackLayouts.swift +199 -0
  305. package/Sources/SwiftUI/API/State.swift +18 -1
  306. package/Sources/SwiftUI/API/StatusGaps.swift +121 -0
  307. package/Sources/SwiftUI/API/SymbolEffects.swift +203 -0
  308. package/Sources/SwiftUI/API/TabContent.swift +841 -0
  309. package/Sources/SwiftUI/API/Table.swift +382 -0
  310. package/Sources/SwiftUI/API/Tabs.swift +148 -4
  311. package/Sources/SwiftUI/API/Tasks.swift +2 -2
  312. package/Sources/SwiftUI/API/Text.swift +386 -0
  313. package/Sources/SwiftUI/API/TextDates.swift +61 -0
  314. package/Sources/SwiftUI/API/TextDecorations.swift +52 -0
  315. package/Sources/SwiftUI/API/TextFieldAxis.swift +103 -0
  316. package/Sources/SwiftUI/API/TextFieldCommit.swift +52 -0
  317. package/Sources/SwiftUI/API/Toolbar.swift +52 -16
  318. package/Sources/SwiftUI/API/Transfer.swift +145 -0
  319. package/Sources/SwiftUI/API/UnevenRoundedRectangle.swift +66 -0
  320. package/Sources/SwiftUI/API/Video.swift +64 -0
  321. package/Sources/SwiftUI/API/View.swift +46 -2
  322. package/Sources/SwiftUI/API/ViewModifier.swift +4 -1
  323. package/Sources/SwiftUI/API/VisualEffect.swift +74 -1
  324. package/Sources/SwiftUI/API/Windows.swift +25 -0
  325. package/Sources/SwiftUI/Charts/Axis.swift +7 -1
  326. package/Sources/SwiftUI/Charts/AxisFormatsAndRanges.swift +68 -0
  327. package/Sources/SwiftUI/Charts/Chart.swift +17 -3
  328. package/Sources/SwiftUI/Charts/ChartProxy.swift +57 -0
  329. package/Sources/SwiftUI/Localization/Localization.swift +524 -0
  330. package/Sources/SwiftUI/Localization/PluralRules.swift +127 -0
  331. package/Sources/SwiftUI/Runtime/Executor.swift +2 -0
  332. package/Sources/SwiftUI/Runtime/Exports.swift +37 -1
  333. package/Sources/SwiftUI/Runtime/ImageSource.swift +310 -0
  334. package/Sources/SwiftUI/Runtime/JSON.swift +76 -4
  335. package/Sources/SwiftUI/Runtime/LazyRows.swift +99 -0
  336. package/Sources/SwiftUI/Runtime/Measurements.swift +140 -0
  337. package/Sources/SwiftUI/Runtime/Ops.swift +58 -12
  338. package/Sources/SwiftUI/Runtime/Reconciler.swift +10 -1
  339. package/Sources/SwiftUI/Runtime/Replay.swift +382 -0
  340. package/Sources/SwiftUI/Runtime/Runtime.swift +977 -198
  341. package/Sources/SwiftUI/Runtime/Sameness.swift +152 -0
  342. package/Sources/SwiftUI/Runtime/ViewPath.swift +89 -0
  343. package/Sources/SwiftUI/Runtime/ViewTraits.swift +175 -0
  344. package/Sources/SwiftUI/Runtime/WebAuthHeadless.swift +49 -0
  345. package/Sources/Symbols/Symbols.swift +25 -0
  346. package/Sources/Translation/Translation.swift +423 -0
  347. package/Sources/UIKit/Activity.swift +213 -0
  348. package/Sources/UIKit/Alerts.swift +69 -0
  349. package/Sources/UIKit/AppDelegate.swift +222 -0
  350. package/Sources/UIKit/Appearance.swift +84 -0
  351. package/Sources/UIKit/ColorConversions.swift +70 -0
  352. package/Sources/UIKit/Controls.swift +225 -0
  353. package/Sources/UIKit/Device.swift +200 -0
  354. package/Sources/UIKit/Feedback.swift +65 -0
  355. package/Sources/UIKit/Font.swift +307 -0
  356. package/Sources/UIKit/Graphics.swift +204 -0
  357. package/Sources/UIKit/HostingController.swift +185 -0
  358. package/Sources/UIKit/Identity.swift +24 -0
  359. package/Sources/UIKit/Introspectable.swift +510 -0
  360. package/Sources/UIKit/Pasteboard.swift +363 -0
  361. package/Sources/UIKit/PhotoAlbum.swift +81 -0
  362. package/Sources/UIKit/RemoteNotifications.swift +15 -0
  363. package/Sources/UIKit/Representable.swift +288 -0
  364. package/Sources/UIKit/SafeArea.swift +12 -0
  365. package/Sources/UIKit/SceneDelegates.swift +132 -0
  366. package/Sources/UIKit/Scenes.swift +40 -0
  367. package/Sources/UIKit/ScrollView.swift +157 -0
  368. package/Sources/UIKit/ShortcutItems.swift +67 -0
  369. package/Sources/UIKit/SymbolConfiguration.swift +124 -0
  370. package/Sources/UIKit/TargetAction.swift +123 -0
  371. package/Sources/UIKit/TextPaste.swift +161 -0
  372. package/Sources/UIKit/TextView.swift +538 -0
  373. package/Sources/UIKit/UIKit.swift +292 -0
  374. package/Sources/UIKit/UIView.swift +855 -0
  375. package/Sources/UIKit/ViewTranslation.swift +311 -0
  376. package/Sources/UniformTypeIdentifiers/UTType.swift +196 -0
  377. package/Sources/UserNotifications/Content.swift +370 -0
  378. package/Sources/UserNotifications/NotificationCenter.swift +309 -0
  379. package/Sources/WeatherKit/WeatherKit.swift +228 -0
  380. package/Sources/WebKit/WebKit.swift +245 -0
  381. package/Sources/os/os.swift +376 -0
  382. package/Sources/zlib/zlib.swift +6 -0
  383. package/index.d.ts +1 -1
  384. package/index.mjs +2 -2
  385. package/manifest.d.mts +2 -0
  386. package/manifest.mjs +41 -0
  387. package/package.json +5 -3
  388. package/sync-sources.mjs +21 -7
  389. package/Sources/FoundationLite/Common.swift +0 -3
  390. package/Sources/FoundationLite/FoundationLite.swift +0 -171
  391. package/Sources/FoundationLite/Interaction.swift +0 -146
  392. package/Sources/FoundationLite/Timer.swift +0 -48
  393. package/Sources/_FoundationCommon/_FoundationCommon.swift +0 -10
@@ -0,0 +1,40 @@
1
+ //
2
+ // ConduitBase.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 25.06.2020.
6
+ //
7
+
8
+ internal class ConduitBase<Output, Failure: Error>: Subscription {
9
+
10
+ internal init() {}
11
+
12
+ internal func offer(_ output: Output) {
13
+ abstractMethod()
14
+ }
15
+
16
+ internal func finish(completion: Subscribers.Completion<Failure>) {
17
+ abstractMethod()
18
+ }
19
+
20
+ internal func request(_ demand: Subscribers.Demand) {
21
+ abstractMethod()
22
+ }
23
+
24
+ internal func cancel() {
25
+ abstractMethod()
26
+ }
27
+ }
28
+
29
+ extension ConduitBase: Equatable {
30
+ internal static func == (lhs: ConduitBase<Output, Failure>,
31
+ rhs: ConduitBase<Output, Failure>) -> Bool {
32
+ return ObjectIdentifier(lhs) == ObjectIdentifier(rhs)
33
+ }
34
+ }
35
+
36
+ extension ConduitBase: Hashable {
37
+ internal func hash(into hasher: inout Hasher) {
38
+ hasher.combine(ObjectIdentifier(self))
39
+ }
40
+ }
@@ -0,0 +1,59 @@
1
+ //
2
+ // ConduitList.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 25.06.2020.
6
+ //
7
+
8
+ internal enum ConduitList<Output, Failure: Error> {
9
+ case empty
10
+ case single(ConduitBase<Output, Failure>)
11
+ case many(Set<ConduitBase<Output, Failure>>)
12
+ }
13
+
14
+ extension ConduitList: HasDefaultValue {
15
+ init() {
16
+ self = .empty
17
+ }
18
+ }
19
+
20
+ extension ConduitList {
21
+ internal mutating func insert(_ conduit: ConduitBase<Output, Failure>) {
22
+ switch self {
23
+ case .empty:
24
+ self = .single(conduit)
25
+ case .single(conduit):
26
+ break // This element already exists.
27
+ case .single(let existingConduit):
28
+ self = .many([existingConduit, conduit])
29
+ case .many(var set):
30
+ set.insert(conduit)
31
+ self = .many(set)
32
+ }
33
+ }
34
+
35
+ internal func forEach(
36
+ _ body: (ConduitBase<Output, Failure>) throws -> Void
37
+ ) rethrows {
38
+ switch self {
39
+ case .empty:
40
+ break
41
+ case .single(let conduit):
42
+ try body(conduit)
43
+ case .many(let set):
44
+ try set.forEach(body)
45
+ }
46
+ }
47
+
48
+ internal mutating func remove(_ conduit: ConduitBase<Output, Failure>) {
49
+ switch self {
50
+ case .single(conduit):
51
+ self = .empty
52
+ case .empty, .single:
53
+ break
54
+ case .many(var set):
55
+ set.remove(conduit)
56
+ self = .many(set)
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,177 @@
1
+ //
2
+ // DebugHook.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 27.09.2020.
6
+ //
7
+
8
+ internal final class DebugHook {
9
+
10
+ private struct Handler: Hashable {
11
+ let handler: _Introspection
12
+
13
+ static func == (lhs: Handler, rhs: Handler) -> Bool {
14
+ return lhs.handler === rhs.handler
15
+ }
16
+
17
+ func hash(into hasher: inout Hasher) {
18
+ hasher.combine(ObjectIdentifier(handler))
19
+ }
20
+ }
21
+
22
+ internal static func getGlobalHook() -> DebugHook? {
23
+ globalLock.lock()
24
+ defer { globalLock.unlock() }
25
+ return globalHook
26
+ }
27
+
28
+ internal static func enable(_ handler: _Introspection) {
29
+ let hook: DebugHook
30
+ DebugHook.globalLock.lock()
31
+ defer { DebugHook.globalLock.unlock() }
32
+ if let _hook = DebugHook.globalHook {
33
+ hook = _hook
34
+ } else {
35
+ hook = DebugHook()
36
+ DebugHook.globalHook = hook
37
+ }
38
+ hook.lock.lock()
39
+ defer { hook.lock.unlock() }
40
+ hook.handlers.insert(Handler(handler: handler))
41
+ }
42
+
43
+ internal static func disable(_ handler: _Introspection) {
44
+ DebugHook.globalLock.lock()
45
+ defer { DebugHook.globalLock.unlock() }
46
+ guard let hook = DebugHook.globalHook else { return }
47
+ hook.lock.lock()
48
+ hook.handlers.remove(Handler(handler: handler))
49
+ let noMoreHandlers = hook.handlers.isEmpty
50
+ hook.lock.unlock()
51
+ if noMoreHandlers {
52
+ DebugHook.globalHook = nil
53
+ }
54
+ }
55
+
56
+ internal static func handlerIsEnabled(_ handler: _Introspection) -> Bool {
57
+ DebugHook.globalLock.lock()
58
+ defer { DebugHook.globalLock.unlock() }
59
+ guard let hook = DebugHook.globalHook else { return false }
60
+ hook.lock.lock()
61
+ defer { hook.lock.unlock() }
62
+ return hook.handlers.contains(Handler(handler: handler))
63
+ }
64
+
65
+ private static var globalHook: DebugHook?
66
+
67
+ private static let globalLock = UnfairLock.allocate()
68
+
69
+ private let lock = UnfairLock.allocate()
70
+
71
+ private var handlers = Set<Handler>()
72
+
73
+ internal var debugHandlers: [_Introspection] {
74
+ lock.lock()
75
+ defer { lock.unlock() }
76
+ return handlers.map { $0.handler }
77
+ }
78
+
79
+ private init() {}
80
+
81
+ deinit {
82
+ lock.deallocate()
83
+ }
84
+
85
+ internal func willReceive<Upstream: Publisher, Downstream: Subscriber>(
86
+ publisher: Upstream,
87
+ subscriber: Downstream
88
+ ) where Upstream.Failure == Downstream.Failure, Upstream.Output == Downstream.Input {
89
+ for debugHandler in debugHandlers {
90
+ debugHandler.willReceive(publisher: publisher, subscriber: subscriber)
91
+ }
92
+ }
93
+
94
+ internal func didReceive<Upstream: Publisher, Downstream: Subscriber>(
95
+ publisher: Upstream,
96
+ subscriber: Downstream
97
+ ) where Upstream.Failure == Downstream.Failure, Upstream.Output == Downstream.Input {
98
+ for debugHandler in debugHandlers {
99
+ debugHandler.didReceive(publisher: publisher, subscriber: subscriber)
100
+ }
101
+ }
102
+
103
+ internal func willReceive<Downstream: Subscriber>(subscriber: Downstream,
104
+ subscription: Subscription) {
105
+ for debugHandler in debugHandlers {
106
+ debugHandler.willReceive(subscriber: subscriber, subscription: subscription)
107
+ }
108
+ }
109
+
110
+ internal func didReceive<Downstream: Subscriber>(subscriber: Downstream,
111
+ subscription: Subscription) {
112
+ for debugHandler in debugHandlers {
113
+ debugHandler.didReceive(subscriber: subscriber, subscription: subscription)
114
+ }
115
+ }
116
+
117
+ internal func willReceive<Downstream: Subscriber>(subscriber: Downstream,
118
+ input: Downstream.Input) {
119
+ for debugHandler in debugHandlers {
120
+ debugHandler.willReceive(subscriber: subscriber, input: input)
121
+ }
122
+ }
123
+
124
+ internal func didReceive<Downstream: Subscriber>(
125
+ subscriber: Downstream,
126
+ input: Downstream.Input,
127
+ resultingDemand: Subscribers.Demand
128
+ ) {
129
+ for debugHandler in debugHandlers {
130
+ debugHandler.didReceive(subscriber: subscriber,
131
+ input: input,
132
+ resultingDemand: resultingDemand)
133
+ }
134
+ }
135
+
136
+ internal func willReceive<Downstream: Subscriber>(
137
+ subscriber: Downstream,
138
+ completion: Subscribers.Completion<Downstream.Failure>
139
+ ) {
140
+ for debugHandler in debugHandlers {
141
+ debugHandler.willReceive(subscriber: subscriber, completion: completion)
142
+ }
143
+ }
144
+
145
+ internal func didReceive<Downstream: Subscriber>(
146
+ subscriber: Downstream,
147
+ completion: Subscribers.Completion<Downstream.Failure>
148
+ ) {
149
+ for debugHandler in debugHandlers {
150
+ debugHandler.didReceive(subscriber: subscriber, completion: completion)
151
+ }
152
+ }
153
+
154
+ internal func willRequest(subscription: Subscription, demand: Subscribers.Demand) {
155
+ for debugHandler in debugHandlers {
156
+ debugHandler.willRequest(subscription: subscription, demand)
157
+ }
158
+ }
159
+
160
+ internal func didRequest(subscription: Subscription, demand: Subscribers.Demand) {
161
+ for debugHandler in debugHandlers {
162
+ debugHandler.didRequest(subscription: subscription, demand)
163
+ }
164
+ }
165
+
166
+ internal func willCancel(subscription: Subscription) {
167
+ for debugHandler in debugHandlers {
168
+ debugHandler.willCancel(subscription: subscription)
169
+ }
170
+ }
171
+
172
+ internal func didCancel(subscription: Subscription) {
173
+ for debugHandler in debugHandlers {
174
+ debugHandler.didCancel(subscription: subscription)
175
+ }
176
+ }
177
+ }
@@ -0,0 +1,174 @@
1
+ //
2
+ // FilterProducer.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 23.10.2019.
6
+ //
7
+
8
+ /// A helper class that acts like both subscriber and subscription.
9
+ ///
10
+ /// Filter-like operators send an instance of their `Inner` class that is subclass
11
+ /// of this class to the upstream publisher (as subscriber) and
12
+ /// to the downstream subscriber (as subscription).
13
+ ///
14
+ /// Filter-like operators include `Publishers.Filter`,
15
+ /// `Publishers.RemoveDuplicates`, `Publishers.PrefixWhile` and more.
16
+ ///
17
+ /// Subclasses must override the `receive(newValue:)` and `description`.
18
+ internal class FilterProducer<Downstream: Subscriber,
19
+ Input,
20
+ Output,
21
+ UpstreamFailure: Error,
22
+ Filter>
23
+ : CustomStringConvertible,
24
+ CustomReflectable
25
+ where Downstream.Input == Output
26
+ {
27
+ // MARK: - State
28
+
29
+ private enum State {
30
+ case awaitingSubscription
31
+ case connected(Subscription)
32
+ case completed
33
+ }
34
+
35
+ internal final let filter: Filter
36
+
37
+ internal final let downstream: Downstream
38
+
39
+ private let lock = UnfairLock.allocate()
40
+
41
+ private var state = State.awaitingSubscription
42
+
43
+ internal init(downstream: Downstream, filter: Filter) {
44
+ self.downstream = downstream
45
+ self.filter = filter
46
+ }
47
+
48
+ deinit {
49
+ lock.deallocate()
50
+ }
51
+
52
+ // MARK: - Abstract methods
53
+
54
+ internal func receive(
55
+ newValue: Input
56
+ ) -> PartialCompletion<Output?, Downstream.Failure> {
57
+ abstractMethod()
58
+ }
59
+
60
+ internal var description: String {
61
+ abstractMethod()
62
+ }
63
+
64
+ // MARK: - CustomReflectable
65
+
66
+ internal var customMirror: Mirror {
67
+ let children = CollectionOfOne<Mirror.Child>(("downstream", downstream))
68
+ return Mirror(self, children: children)
69
+ }
70
+ }
71
+
72
+ extension FilterProducer: Subscriber {
73
+
74
+ internal func receive(subscription: Subscription) {
75
+ lock.lock()
76
+ guard case .awaitingSubscription = state else {
77
+ lock.unlock()
78
+ subscription.cancel()
79
+ return
80
+ }
81
+ state = .connected(subscription)
82
+ lock.unlock()
83
+ downstream.receive(subscription: self)
84
+ }
85
+
86
+ internal func receive(_ input: Input) -> Subscribers.Demand {
87
+ lock.lock()
88
+ switch state {
89
+ case .awaitingSubscription:
90
+ lock.unlock()
91
+ fatalError("Invalid state: Received value before receiving subscription")
92
+ case .completed:
93
+ lock.unlock()
94
+ case let .connected(subscription):
95
+ lock.unlock()
96
+ switch receive(newValue: input) {
97
+ case let .continue(output?):
98
+ return downstream.receive(output)
99
+ case .continue(nil):
100
+ return .max(1)
101
+ case .finished:
102
+ lock.lock()
103
+ state = .completed
104
+ lock.unlock()
105
+ subscription.cancel()
106
+ downstream.receive(completion: .finished)
107
+ case let .failure(error):
108
+ lock.lock()
109
+ state = .completed
110
+ lock.unlock()
111
+ subscription.cancel()
112
+ downstream.receive(completion: .failure(error))
113
+ }
114
+ }
115
+
116
+ return .none
117
+ }
118
+
119
+ internal func receive(completion: Subscribers.Completion<UpstreamFailure>) {
120
+ lock.lock()
121
+ switch state {
122
+ case .awaitingSubscription:
123
+ lock.unlock()
124
+ fatalError("Invalid state: Received completion before receiving subscription")
125
+ case .completed:
126
+ lock.unlock()
127
+ return
128
+ case .connected:
129
+ state = .completed
130
+ lock.unlock()
131
+ switch completion {
132
+ case .finished:
133
+ downstream.receive(completion: .finished)
134
+ case let .failure(failure):
135
+ downstream.receive(completion: .failure(failure as! Downstream.Failure))
136
+ }
137
+ }
138
+ }
139
+ }
140
+
141
+ extension FilterProducer: Subscription {
142
+
143
+ internal func request(_ demand: Subscribers.Demand) {
144
+ demand.assertNonZero()
145
+ lock.lock()
146
+ switch state {
147
+ case .awaitingSubscription:
148
+ lock.unlock()
149
+ fatalError("Invalid state: Received request before sending subscription")
150
+ case .completed:
151
+ lock.unlock()
152
+ return
153
+ case let .connected(subscription):
154
+ lock.unlock()
155
+ subscription.request(demand)
156
+ }
157
+ }
158
+
159
+ internal func cancel() {
160
+ lock.lock()
161
+ guard case let .connected(subscription) = state else {
162
+ state = .completed
163
+ lock.unlock()
164
+ return
165
+ }
166
+ state = .completed
167
+ lock.unlock()
168
+ subscription.cancel()
169
+ }
170
+ }
171
+
172
+ extension FilterProducer: CustomPlaygroundDisplayConvertible {
173
+ internal var playgroundDescription: Any { return description }
174
+ }
@@ -0,0 +1,30 @@
1
+ //
2
+ // Locking.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 11.06.2019.
6
+ //
7
+
8
+ #if canImport(COpenCombineHelpers)
9
+ import COpenCombineHelpers
10
+ #endif
11
+
12
+ #if WASI
13
+ internal struct __UnfairLock { // swiftlint:disable:this type_name
14
+ internal static func allocate() -> UnfairLock { return .init() }
15
+ internal func lock() {}
16
+ internal func unlock() {}
17
+ internal func assertOwner() {}
18
+ internal func deallocate() {}
19
+ }
20
+
21
+ internal struct __UnfairRecursiveLock { // swiftlint:disable:this type_name
22
+ internal static func allocate() -> UnfairRecursiveLock { return .init() }
23
+ internal func lock() {}
24
+ internal func unlock() {}
25
+ internal func deallocate() {}
26
+ }
27
+ #endif // WASI
28
+
29
+ internal typealias UnfairLock = __UnfairLock
30
+ internal typealias UnfairRecursiveLock = __UnfairRecursiveLock
@@ -0,0 +1,26 @@
1
+ //
2
+ // PartialCompletion.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 22.09.2019.
6
+ //
7
+
8
+ /// A value of this type is returned by the overridden `receive(newValue:)` method
9
+ /// of the `ReduceProducer` and `FilterProducer` classes.
10
+ internal enum PartialCompletion<Value, Failure: Error> {
11
+
12
+ /// Indicate that we should continue accepting the upstream's output.
13
+ case `continue`(Value)
14
+
15
+ /// Indicate that no values should be received from the upstream anymore.
16
+ case finished
17
+
18
+ /// Indicate that there was a failure and we should send it downstream.
19
+ case failure(Failure)
20
+ }
21
+
22
+ extension PartialCompletion where Value == Void {
23
+
24
+ /// Indicate that we should continue accepting the upstream's output.
25
+ internal static var `continue`: PartialCompletion { return .continue(()) }
26
+ }