@swiftbrowser/swift 0.0.0-stage → 0.2.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 (400) hide show
  1. package/Package.swift +214 -0
  2. package/README.md +10 -2
  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 +61 -0
  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/FoundationBridge/Bundle.swift +119 -0
  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 +29 -0
  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/Locale.swift +86 -0
  170. package/Sources/FoundationBridge/Localization.swift +149 -0
  171. package/Sources/FoundationBridge/Locks.swift +50 -0
  172. package/Sources/FoundationBridge/Markdown.swift +527 -0
  173. package/Sources/FoundationBridge/MeasurementFormat.swift +95 -0
  174. package/Sources/FoundationBridge/NotificationCenter.swift +154 -0
  175. package/Sources/FoundationBridge/OpenURLHandlers.swift +60 -0
  176. package/Sources/FoundationBridge/Operation.swift +195 -0
  177. package/Sources/FoundationBridge/ProcessInfo.swift +32 -0
  178. package/Sources/FoundationBridge/RelativeDateTimeFormatter.swift +136 -0
  179. package/Sources/FoundationBridge/SceneStorage.swift +78 -0
  180. package/Sources/FoundationBridge/SecurityExports.swift +8 -0
  181. package/Sources/FoundationBridge/Selector.swift +226 -0
  182. package/Sources/FoundationBridge/StringComparators.swift +17 -0
  183. package/Sources/FoundationBridge/Table.swift +211 -0
  184. package/Sources/FoundationBridge/TextAttributes.swift +42 -0
  185. package/Sources/FoundationBridge/Timer.swift +53 -0
  186. package/Sources/FoundationBridge/UITextChecker.swift +30 -0
  187. package/Sources/FoundationBridge/URLSession.swift +718 -0
  188. package/Sources/FoundationBridge/UserDefaults.swift +183 -0
  189. package/Sources/FoundationBridge/WebAuthRedirects.swift +227 -0
  190. package/Sources/FoundationBridge/WebSocket.swift +187 -0
  191. package/Sources/FoundationModels/FoundationModels.swift +1098 -0
  192. package/Sources/ImageIO/GIF.swift +72 -0
  193. package/Sources/ImageIO/ImageIO.swift +248 -0
  194. package/Sources/ImageIO/ImageTypes.swift +28 -0
  195. package/Sources/LinkPresentation/LinkPresentation.swift +249 -0
  196. package/Sources/LocalAuthentication/LAContext.swift +86 -0
  197. package/Sources/MapKit/Geometry.swift +223 -0
  198. package/Sources/MapKit/Map.swift +638 -0
  199. package/Sources/MapKit/MapView.swift +229 -0
  200. package/Sources/MobileCoreServices/MobileCoreServices.swift +28 -0
  201. package/Sources/NaturalLanguage/LanguageIdentifier.swift +317 -0
  202. package/Sources/NaturalLanguage/NaturalLanguage.swift +135 -0
  203. package/Sources/OSLog/OSLog.swift +6 -0
  204. package/Sources/Photos/Photos.swift +572 -0
  205. package/Sources/PhotosUI/PhotosPicker.swift +248 -0
  206. package/Sources/PhotosUI/PhotosPickerItem.swift +261 -0
  207. package/Sources/QuickLook/QuickLook.swift +168 -0
  208. package/Sources/SafariServices/SafariServices.swift +106 -0
  209. package/Sources/Security/Security.swift +332 -0
  210. package/Sources/StoreKit/AppStore.swift +207 -0
  211. package/Sources/StoreKit/Products.swift +280 -0
  212. package/Sources/StoreKit/RequestReview.swift +28 -0
  213. package/Sources/StoreKit/StoreKit1.swift +486 -0
  214. package/Sources/StoreKit/StoreViews.swift +428 -0
  215. package/Sources/StoreKit/Transactions.swift +197 -0
  216. package/Sources/SwiftData/Macros.swift +58 -0
  217. package/Sources/SwiftData/ModelActor.swift +38 -0
  218. package/Sources/SwiftData/ModelContainer.swift +129 -0
  219. package/Sources/SwiftData/ModelContext.swift +451 -0
  220. package/Sources/SwiftData/PersistentModel.swift +238 -0
  221. package/Sources/SwiftData/Properties.swift +261 -0
  222. package/Sources/SwiftData/Query.swift +256 -0
  223. package/Sources/SwiftData/Schema.swift +192 -0
  224. package/Sources/SwiftData/Store.swift +146 -0
  225. package/Sources/SwiftData/StringPredicates.swift +125 -0
  226. package/Sources/SwiftDataMacros/EntryMacro.swift +82 -0
  227. package/Sources/SwiftDataMacros/GenerableMacro.swift +183 -0
  228. package/Sources/SwiftDataMacros/ModelActorMacro.swift +46 -0
  229. package/Sources/SwiftDataMacros/ModelMacro.swift +260 -0
  230. package/Sources/SwiftDataMacros/Plugin.swift +18 -0
  231. package/Sources/SwiftDataMacros/PredicateMacro.swift +1244 -0
  232. package/Sources/SwiftUI/API/Accessibility.swift +181 -0
  233. package/Sources/SwiftUI/API/AccessibilityExtras.swift +33 -0
  234. package/Sources/SwiftUI/API/AccessibilityFocus.swift +63 -0
  235. package/Sources/SwiftUI/API/Alert.swift +221 -0
  236. package/Sources/SwiftUI/API/AlignmentGuides.swift +65 -0
  237. package/Sources/SwiftUI/API/Animation.swift +285 -0
  238. package/Sources/SwiftUI/API/App.swift +87 -0
  239. package/Sources/SwiftUI/API/BindingCollections.swift +35 -0
  240. package/Sources/SwiftUI/API/BindingForEach.swift +27 -0
  241. package/Sources/SwiftUI/API/Bitmaps.swift +254 -0
  242. package/Sources/SwiftUI/API/ButtonStyles.swift +96 -0
  243. package/Sources/SwiftUI/API/Canvas.swift +337 -0
  244. package/Sources/SwiftUI/API/Color.swift +237 -0
  245. package/Sources/SwiftUI/API/ColorEffects.swift +52 -0
  246. package/Sources/SwiftUI/API/ColorPickerAndLabeledContent.swift +138 -0
  247. package/Sources/SwiftUI/API/ColorSpaces.swift +161 -0
  248. package/Sources/SwiftUI/API/Commands.swift +106 -0
  249. package/Sources/SwiftUI/API/ContainerBackground.swift +28 -0
  250. package/Sources/SwiftUI/API/ContentShape.swift +33 -0
  251. package/Sources/SwiftUI/API/ContentSizeCategory.swift +35 -0
  252. package/Sources/SwiftUI/API/ContentUnavailable.swift +101 -0
  253. package/Sources/SwiftUI/API/Controls.swift +300 -0
  254. package/Sources/SwiftUI/API/CustomLayout.swift +442 -0
  255. package/Sources/SwiftUI/API/CustomToolbarContent.swift +46 -0
  256. package/Sources/SwiftUI/API/Decorations.swift +92 -0
  257. package/Sources/SwiftUI/API/EditMode.swift +212 -0
  258. package/Sources/SwiftUI/API/Effects.swift +388 -0
  259. package/Sources/SwiftUI/API/Entry.swift +8 -0
  260. package/Sources/SwiftUI/API/Environment.swift +439 -0
  261. package/Sources/SwiftUI/API/EnvironmentSendable.swift +6 -0
  262. package/Sources/SwiftUI/API/Focus.swift +137 -0
  263. package/Sources/SwiftUI/API/Font.swift +131 -0
  264. package/Sources/SwiftUI/API/Gauge.swift +290 -0
  265. package/Sources/SwiftUI/API/Geometry.swift +89 -0
  266. package/Sources/SwiftUI/API/GeometryEffects.swift +232 -0
  267. package/Sources/SwiftUI/API/GeometryReader.swift +135 -0
  268. package/Sources/SwiftUI/API/GestureState.swift +65 -0
  269. package/Sources/SwiftUI/API/Gestures.swift +342 -0
  270. package/Sources/SwiftUI/API/Glass.swift +127 -0
  271. package/Sources/SwiftUI/API/Grid.swift +188 -0
  272. package/Sources/SwiftUI/API/GroupBoxAndControlGroup.swift +130 -0
  273. package/Sources/SwiftUI/API/KeyPress.swift +54 -0
  274. package/Sources/SwiftUI/API/LabelStyle.swift +124 -0
  275. package/Sources/SwiftUI/API/Layout.swift +220 -0
  276. package/Sources/SwiftUI/API/LazyStacks.swift +49 -0
  277. package/Sources/SwiftUI/API/LegacyAlert.swift +97 -0
  278. package/Sources/SwiftUI/API/Lists.swift +331 -0
  279. package/Sources/SwiftUI/API/Menu.swift +58 -0
  280. package/Sources/SwiftUI/API/Modifiers.swift +313 -0
  281. package/Sources/SwiftUI/API/MoreModifiers.swift +100 -0
  282. package/Sources/SwiftUI/API/Namespace.swift +44 -0
  283. package/Sources/SwiftUI/API/Navigation.swift +386 -0
  284. package/Sources/SwiftUI/API/NavigationDestinationBindings.swift +55 -0
  285. package/Sources/SwiftUI/API/ObservableObject.swift +293 -0
  286. package/Sources/SwiftUI/API/OnChange.swift +48 -0
  287. package/Sources/SwiftUI/API/Path.swift +543 -0
  288. package/Sources/SwiftUI/API/Phase8Controls.swift +411 -0
  289. package/Sources/SwiftUI/API/PhaseAnimator.swift +130 -0
  290. package/Sources/SwiftUI/API/Picker.swift +185 -0
  291. package/Sources/SwiftUI/API/PointerAndKeyboard.swift +77 -0
  292. package/Sources/SwiftUI/API/Popover.swift +41 -0
  293. package/Sources/SwiftUI/API/Preferences.swift +262 -0
  294. package/Sources/SwiftUI/API/Presentation.swift +122 -0
  295. package/Sources/SwiftUI/API/PresentationExtras.swift +60 -0
  296. package/Sources/SwiftUI/API/Primitives.swift +517 -0
  297. package/Sources/SwiftUI/API/Publishers.swift +107 -0
  298. package/Sources/SwiftUI/API/Redaction.swift +75 -0
  299. package/Sources/SwiftUI/API/RowActions.swift +84 -0
  300. package/Sources/SwiftUI/API/Scenes.swift +131 -0
  301. package/Sources/SwiftUI/API/ScrollModifiers.swift +132 -0
  302. package/Sources/SwiftUI/API/ScrollTargets.swift +104 -0
  303. package/Sources/SwiftUI/API/ScrollViewReader.swift +144 -0
  304. package/Sources/SwiftUI/API/SectionSupplements.swift +96 -0
  305. package/Sources/SwiftUI/API/Shape.swift +214 -0
  306. package/Sources/SwiftUI/API/ShapeStyle.swift +409 -0
  307. package/Sources/SwiftUI/API/ShapeTrim.swift +78 -0
  308. package/Sources/SwiftUI/API/Sharing.swift +193 -0
  309. package/Sources/SwiftUI/API/StackLayouts.swift +199 -0
  310. package/Sources/SwiftUI/API/State.swift +144 -0
  311. package/Sources/SwiftUI/API/StatusGaps.swift +121 -0
  312. package/Sources/SwiftUI/API/StrokeStyle.swift +30 -0
  313. package/Sources/SwiftUI/API/SymbolEffects.swift +203 -0
  314. package/Sources/SwiftUI/API/TabContent.swift +841 -0
  315. package/Sources/SwiftUI/API/Table.swift +382 -0
  316. package/Sources/SwiftUI/API/Tabs.swift +263 -0
  317. package/Sources/SwiftUI/API/Tasks.swift +35 -0
  318. package/Sources/SwiftUI/API/Text.swift +386 -0
  319. package/Sources/SwiftUI/API/TextDates.swift +61 -0
  320. package/Sources/SwiftUI/API/TextDecorations.swift +52 -0
  321. package/Sources/SwiftUI/API/TextFieldAxis.swift +103 -0
  322. package/Sources/SwiftUI/API/TextFieldCommit.swift +52 -0
  323. package/Sources/SwiftUI/API/Timeline.swift +212 -0
  324. package/Sources/SwiftUI/API/Toolbar.swift +251 -0
  325. package/Sources/SwiftUI/API/Transfer.swift +145 -0
  326. package/Sources/SwiftUI/API/UnevenRoundedRectangle.swift +66 -0
  327. package/Sources/SwiftUI/API/Video.swift +64 -0
  328. package/Sources/SwiftUI/API/View.swift +215 -0
  329. package/Sources/SwiftUI/API/ViewModifier.swift +43 -0
  330. package/Sources/SwiftUI/API/VisualEffect.swift +155 -0
  331. package/Sources/SwiftUI/API/Windows.swift +25 -0
  332. package/Sources/SwiftUI/Charts/Axis.swift +325 -0
  333. package/Sources/SwiftUI/Charts/AxisFormatsAndRanges.swift +68 -0
  334. package/Sources/SwiftUI/Charts/Chart.swift +660 -0
  335. package/Sources/SwiftUI/Charts/ChartContent.swift +376 -0
  336. package/Sources/SwiftUI/Charts/ChartProxy.swift +57 -0
  337. package/Sources/SwiftUI/Charts/Marks.swift +204 -0
  338. package/Sources/SwiftUI/Charts/Plottable.swift +99 -0
  339. package/Sources/SwiftUI/Charts/Scales.swift +326 -0
  340. package/Sources/SwiftUI/Localization/Localization.swift +498 -0
  341. package/Sources/SwiftUI/Localization/PluralRules.swift +127 -0
  342. package/Sources/SwiftUI/Runtime/Executor.swift +85 -0
  343. package/Sources/SwiftUI/Runtime/Exports.swift +101 -0
  344. package/Sources/SwiftUI/Runtime/ImageSource.swift +310 -0
  345. package/Sources/SwiftUI/Runtime/JSON.swift +143 -0
  346. package/Sources/SwiftUI/Runtime/JSONParser.swift +443 -0
  347. package/Sources/SwiftUI/Runtime/LazyRows.swift +99 -0
  348. package/Sources/SwiftUI/Runtime/Measurements.swift +140 -0
  349. package/Sources/SwiftUI/Runtime/Ops.swift +152 -0
  350. package/Sources/SwiftUI/Runtime/Reconciler.swift +219 -0
  351. package/Sources/SwiftUI/Runtime/Replay.swift +382 -0
  352. package/Sources/SwiftUI/Runtime/Runtime.swift +2146 -0
  353. package/Sources/SwiftUI/Runtime/Sameness.swift +152 -0
  354. package/Sources/SwiftUI/Runtime/ViewPath.swift +89 -0
  355. package/Sources/SwiftUI/Runtime/ViewTraits.swift +175 -0
  356. package/Sources/SwiftUI/Runtime/WebAuthHeadless.swift +49 -0
  357. package/Sources/Symbols/Symbols.swift +25 -0
  358. package/Sources/Translation/Translation.swift +423 -0
  359. package/Sources/UIKit/Activity.swift +213 -0
  360. package/Sources/UIKit/Alerts.swift +69 -0
  361. package/Sources/UIKit/AppDelegate.swift +222 -0
  362. package/Sources/UIKit/Appearance.swift +84 -0
  363. package/Sources/UIKit/ColorConversions.swift +70 -0
  364. package/Sources/UIKit/Controls.swift +225 -0
  365. package/Sources/UIKit/Device.swift +200 -0
  366. package/Sources/UIKit/Feedback.swift +65 -0
  367. package/Sources/UIKit/Font.swift +307 -0
  368. package/Sources/UIKit/Graphics.swift +204 -0
  369. package/Sources/UIKit/HostingController.swift +185 -0
  370. package/Sources/UIKit/Identity.swift +24 -0
  371. package/Sources/UIKit/Introspectable.swift +510 -0
  372. package/Sources/UIKit/Pasteboard.swift +363 -0
  373. package/Sources/UIKit/PhotoAlbum.swift +81 -0
  374. package/Sources/UIKit/RemoteNotifications.swift +15 -0
  375. package/Sources/UIKit/Representable.swift +288 -0
  376. package/Sources/UIKit/SafeArea.swift +12 -0
  377. package/Sources/UIKit/SceneDelegates.swift +132 -0
  378. package/Sources/UIKit/Scenes.swift +40 -0
  379. package/Sources/UIKit/ScrollView.swift +157 -0
  380. package/Sources/UIKit/ShortcutItems.swift +67 -0
  381. package/Sources/UIKit/SymbolConfiguration.swift +124 -0
  382. package/Sources/UIKit/TargetAction.swift +123 -0
  383. package/Sources/UIKit/TextPaste.swift +161 -0
  384. package/Sources/UIKit/TextView.swift +538 -0
  385. package/Sources/UIKit/UIKit.swift +292 -0
  386. package/Sources/UIKit/UIView.swift +855 -0
  387. package/Sources/UIKit/ViewTranslation.swift +311 -0
  388. package/Sources/UniformTypeIdentifiers/UTType.swift +196 -0
  389. package/Sources/UserNotifications/Content.swift +370 -0
  390. package/Sources/UserNotifications/NotificationCenter.swift +309 -0
  391. package/Sources/WeatherKit/WeatherKit.swift +228 -0
  392. package/Sources/WebKit/WebKit.swift +245 -0
  393. package/Sources/os/os.swift +376 -0
  394. package/Sources/zlib/zlib.swift +6 -0
  395. package/index.d.ts +2 -0
  396. package/index.mjs +16 -0
  397. package/manifest.d.mts +2 -0
  398. package/manifest.mjs +39 -0
  399. package/package.json +30 -4
  400. package/sync-sources.mjs +33 -0
@@ -0,0 +1,249 @@
1
+ //
2
+ // ReduceProducer.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 22.09.2019.
6
+ //
7
+
8
+ /// A helper class that acts like both subscriber and subscription.
9
+ ///
10
+ /// Reduce-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
+ /// Reduce-like operators include `Publishers.Reduce`, `Publishers.TryReduce`,
15
+ /// `Publishers.Count`, `Publishers.FirstWhere`, `Publishers.AllSatisfy` and more.
16
+ ///
17
+ /// Subclasses must override the `receive(newValue:)` and `description`.
18
+ internal class ReduceProducer<Downstream: Subscriber,
19
+ Input,
20
+ Output,
21
+ UpstreamFailure: Error,
22
+ Reducer>
23
+ : CustomStringConvertible,
24
+ CustomReflectable
25
+ where Downstream.Input == Output
26
+ {
27
+ // NOTE: This class has been audited for thread safety
28
+
29
+ // MARK: - State
30
+
31
+ internal final var result: Output?
32
+
33
+ private let initial: Output?
34
+
35
+ internal final let reduce: Reducer
36
+
37
+ private var status = SubscriptionStatus.awaitingSubscription
38
+
39
+ private let downstream: Downstream
40
+
41
+ private let lock = UnfairLock.allocate()
42
+
43
+ private var downstreamRequested = false
44
+
45
+ private var cancelled = false
46
+
47
+ private var completed = false
48
+
49
+ private var upstreamCompleted = false
50
+
51
+ internal init(downstream: Downstream, initial: Output?, reduce: Reducer) {
52
+ self.downstream = downstream
53
+ self.initial = initial
54
+ self.result = initial
55
+ self.reduce = reduce
56
+ }
57
+
58
+ deinit {
59
+ lock.deallocate()
60
+ }
61
+
62
+ // MARK: - Abstract methods
63
+
64
+ internal func receive(
65
+ newValue: Input
66
+ ) -> PartialCompletion<Void, Downstream.Failure> {
67
+ abstractMethod()
68
+ }
69
+
70
+ internal var description: String {
71
+ abstractMethod()
72
+ }
73
+
74
+ // MARK: - CustomReflectable
75
+
76
+ internal var customMirror: Mirror {
77
+ lock.lock()
78
+ defer { lock.unlock() }
79
+ let children: [Mirror.Child] = [
80
+ ("downstream", downstream),
81
+ ("result", result as Any),
82
+ ("initial", initial as Any),
83
+ ("status", status)
84
+ ]
85
+ return Mirror(self, children: children)
86
+ }
87
+
88
+ // MARK: - Private
89
+
90
+ /// - Precondition: `lock` is held.
91
+ private func receiveFinished() {
92
+ guard !cancelled, !completed, !upstreamCompleted else {
93
+ lock.unlock()
94
+ // This should never happen, because `receive(completion:)`
95
+ // (from which this function is called) early exists if
96
+ // `status` is `.terminal`.
97
+ assertionFailure("The subscription should have been terminated by now")
98
+ return
99
+ }
100
+ upstreamCompleted = true
101
+ if downstreamRequested {
102
+ self.completed = true
103
+ }
104
+ let completed = self.completed
105
+ let result = self.result
106
+ lock.unlock()
107
+
108
+ if completed {
109
+ sendResultAndFinish(result)
110
+ }
111
+ }
112
+
113
+ /// - Precondition: `lock` is held.
114
+ private func receiveFailure(_ failure: UpstreamFailure) {
115
+ guard !cancelled, !completed, !upstreamCompleted else {
116
+ lock.unlock()
117
+ // This should never happen, because `receive(completion:)`
118
+ // (from which this function is called) early exists if
119
+ // `status` is `.terminal`.
120
+ assertionFailure("The subscription should have been terminated by now")
121
+ return
122
+ }
123
+ upstreamCompleted = true
124
+ completed = true
125
+ lock.unlock()
126
+ downstream.receive(completion: .failure(failure as! Downstream.Failure))
127
+ }
128
+
129
+ private func sendResultAndFinish(_ result: Output?) {
130
+ assert(completed && upstreamCompleted)
131
+ if let result = result {
132
+ _ = downstream.receive(result)
133
+ }
134
+ downstream.receive(completion: .finished)
135
+ }
136
+
137
+ // MARK: -
138
+ }
139
+
140
+ extension ReduceProducer: Subscriber {
141
+ internal func receive(subscription: Subscription) {
142
+ lock.lock()
143
+ guard case .awaitingSubscription = status else {
144
+ lock.unlock()
145
+ subscription.cancel()
146
+ return
147
+ }
148
+ status = .subscribed(subscription)
149
+ lock.unlock()
150
+ downstream.receive(subscription: self)
151
+ subscription.request(.unlimited)
152
+ }
153
+
154
+ internal func receive(_ input: Input) -> Subscribers.Demand {
155
+ lock.lock()
156
+ guard case let .subscribed(subscription) = status else {
157
+ lock.unlock()
158
+ return .none
159
+ }
160
+ lock.unlock()
161
+
162
+ // Combine doesn't hold the lock when calling `receive(newValue:)`.
163
+ //
164
+ // This can lead to data races if the contract is violated
165
+ // (like when we receive input from multiple threads simultaneously).
166
+ switch self.receive(newValue: input) {
167
+ case .continue:
168
+ break
169
+ case .finished:
170
+ lock.lock()
171
+ upstreamCompleted = true
172
+ let downstreamRequested = self.downstreamRequested
173
+ if downstreamRequested {
174
+ completed = true
175
+ }
176
+ status = .terminal
177
+ let result = self.result
178
+ lock.unlock()
179
+
180
+ subscription.cancel()
181
+
182
+ guard downstreamRequested else { break }
183
+
184
+ sendResultAndFinish(result)
185
+ case let .failure(error):
186
+ lock.lock()
187
+ upstreamCompleted = true
188
+ completed = true
189
+ status = .terminal
190
+ lock.unlock()
191
+
192
+ subscription.cancel()
193
+ downstream.receive(completion: .failure(error))
194
+ }
195
+
196
+ return .none
197
+ }
198
+
199
+ internal func receive(completion: Subscribers.Completion<UpstreamFailure>) {
200
+ lock.lock()
201
+ guard case .subscribed = status else {
202
+ lock.unlock()
203
+ return
204
+ }
205
+ status = .terminal
206
+ switch completion {
207
+ case .finished:
208
+ receiveFinished()
209
+ case let .failure(error):
210
+ receiveFailure(error)
211
+ }
212
+ }
213
+ }
214
+
215
+ extension ReduceProducer: Subscription {
216
+ internal func request(_ demand: Subscribers.Demand) {
217
+ demand.assertNonZero()
218
+ lock.lock()
219
+ guard !downstreamRequested, !cancelled, !completed else {
220
+ lock.unlock()
221
+ return
222
+ }
223
+ downstreamRequested = true
224
+ guard upstreamCompleted else {
225
+ lock.unlock()
226
+ return
227
+ }
228
+ completed = true
229
+ let result = self.result
230
+ lock.unlock()
231
+ sendResultAndFinish(result)
232
+ }
233
+
234
+ internal func cancel() {
235
+ lock.lock()
236
+ guard case let .subscribed(subscription) = status else {
237
+ lock.unlock()
238
+ return
239
+ }
240
+ cancelled = true
241
+ status = .terminal
242
+ lock.unlock()
243
+ subscription.cancel()
244
+ }
245
+ }
246
+
247
+ extension ReduceProducer: CustomPlaygroundDisplayConvertible {
248
+ internal var playgroundDescription: Any { return description }
249
+ }
@@ -0,0 +1,96 @@
1
+ //
2
+ // SubjectSubscriber.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 16/09/2019.
6
+ //
7
+
8
+ internal final class SubjectSubscriber<Downstream: Subject>
9
+ : Subscriber,
10
+ CustomStringConvertible,
11
+ CustomReflectable,
12
+ CustomPlaygroundDisplayConvertible,
13
+ Subscription
14
+ {
15
+ private let lock = UnfairLock.allocate()
16
+ private weak var downstreamSubject: Downstream?
17
+ private var upstreamSubscription: Subscription?
18
+
19
+ private var isCancelled: Bool { return downstreamSubject == nil }
20
+
21
+ internal init(_ parent: Downstream) {
22
+ self.downstreamSubject = parent
23
+ }
24
+
25
+ deinit {
26
+ lock.deallocate()
27
+ }
28
+
29
+ internal func receive(subscription: Subscription) {
30
+ lock.lock()
31
+ guard upstreamSubscription == nil, let subject = downstreamSubject else {
32
+ lock.unlock()
33
+ return
34
+ }
35
+ upstreamSubscription = subscription
36
+ lock.unlock()
37
+ subject.send(subscription: self)
38
+ }
39
+
40
+ internal func receive(_ input: Downstream.Output) -> Subscribers.Demand {
41
+ lock.lock()
42
+ guard let subject = downstreamSubject, upstreamSubscription != nil else {
43
+ lock.unlock()
44
+ return .none
45
+ }
46
+ lock.unlock()
47
+ subject.send(input)
48
+ return .none
49
+ }
50
+
51
+ internal func receive(completion: Subscribers.Completion<Downstream.Failure>) {
52
+ lock.lock()
53
+ guard let subject = downstreamSubject, upstreamSubscription != nil else {
54
+ lock.unlock()
55
+ return
56
+ }
57
+ lock.unlock()
58
+ subject.send(completion: completion)
59
+ downstreamSubject = nil
60
+ }
61
+
62
+ internal var description: String { return "Subject" }
63
+
64
+ internal var playgroundDescription: Any { return description }
65
+
66
+ internal var customMirror: Mirror {
67
+ let children: [Mirror.Child] = [
68
+ ("downstreamSubject", downstreamSubject as Any),
69
+ ("upstreamSubscription", upstreamSubscription as Any),
70
+ ("subject", downstreamSubject as Any)
71
+ ]
72
+ return Mirror(self, children: children)
73
+ }
74
+
75
+ internal func request(_ demand: Subscribers.Demand) {
76
+ lock.lock()
77
+ guard let subscription = upstreamSubscription else {
78
+ lock.unlock()
79
+ return
80
+ }
81
+ lock.unlock()
82
+ subscription.request(demand)
83
+ }
84
+
85
+ internal func cancel() {
86
+ lock.lock()
87
+ guard !isCancelled, let subscription = upstreamSubscription else {
88
+ lock.unlock()
89
+ return
90
+ }
91
+ upstreamSubscription = nil
92
+ downstreamSubject = nil
93
+ lock.unlock()
94
+ subscription.cancel()
95
+ }
96
+ }
@@ -0,0 +1,69 @@
1
+ //
2
+ // SubscriberTap.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 27.09.2020.
6
+ //
7
+
8
+ internal protocol SubscriberTapMarker {
9
+ var inner: Any { mutating get }
10
+ }
11
+
12
+ internal struct SubscriberTap<Subscriber: Combine.Subscriber>
13
+ : Combine.Subscriber,
14
+ CustomStringConvertible,
15
+ SubscriberTapMarker
16
+ {
17
+ internal typealias Input = Subscriber.Input
18
+
19
+ internal typealias Failure = Subscriber.Failure
20
+
21
+ private let subscriber: Subscriber
22
+
23
+ internal lazy var inner: Any = AnySubscriber(self.subscriber)
24
+
25
+ internal init(subscriber: Subscriber) {
26
+ self.subscriber = subscriber
27
+ }
28
+
29
+ internal var combineIdentifier: CombineIdentifier {
30
+ return subscriber.combineIdentifier
31
+ }
32
+
33
+ internal func receive(subscription: Subscription) {
34
+ let hook = DebugHook.getGlobalHook()
35
+ if let subscriptionTap = subscription as? SubscriptionTap {
36
+ hook?.willReceive(subscriber: subscriber,
37
+ subscription: subscriptionTap.subscription)
38
+ subscriber.receive(subscription: subscriptionTap)
39
+ hook?.didReceive(subscriber: subscriber,
40
+ subscription: subscriptionTap.subscription)
41
+ } else {
42
+ hook?.willReceive(subscriber: subscriber, subscription: subscription)
43
+ subscriber
44
+ .receive(subscription: SubscriptionTap(subscription: subscription))
45
+ hook?.didReceive(subscriber: subscriber, subscription: subscription)
46
+ }
47
+ }
48
+
49
+ internal func receive(_ input: Input) -> Subscribers.Demand {
50
+ let hook = DebugHook.getGlobalHook()
51
+ hook?.willReceive(subscriber: subscriber, input: input)
52
+ let newDemand = subscriber.receive(input)
53
+ hook?.didReceive(subscriber: subscriber,
54
+ input: input,
55
+ resultingDemand: newDemand)
56
+ return newDemand
57
+ }
58
+
59
+ internal func receive(completion: Subscribers.Completion<Subscriber.Failure>) {
60
+ let hook = DebugHook.getGlobalHook()
61
+ hook?.willReceive(subscriber: subscriber, completion: completion)
62
+ subscriber.receive(completion: completion)
63
+ hook?.didReceive(subscriber: subscriber, completion: completion)
64
+ }
65
+
66
+ internal var description: String {
67
+ return String(describing: subscriber)
68
+ }
69
+ }
@@ -0,0 +1,33 @@
1
+ //
2
+ // SubscriptionStatus.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 21.09.2019.
6
+ //
7
+
8
+ internal enum SubscriptionStatus {
9
+ case awaitingSubscription
10
+ case subscribed(Subscription)
11
+ case pendingTerminal(Subscription)
12
+ case terminal
13
+ }
14
+
15
+ extension SubscriptionStatus {
16
+ internal var isAwaitingSubscription: Bool {
17
+ switch self {
18
+ case .awaitingSubscription:
19
+ return true
20
+ default:
21
+ return false
22
+ }
23
+ }
24
+
25
+ internal var subscription: Subscription? {
26
+ switch self {
27
+ case .awaitingSubscription, .terminal:
28
+ return nil
29
+ case let .subscribed(subscription), let .pendingTerminal(subscription):
30
+ return subscription
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ //
2
+ // SubscriptionTap.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 27.09.2020.
6
+ //
7
+
8
+ internal struct SubscriptionTap: Subscription, CustomStringConvertible {
9
+
10
+ internal let subscription: Subscription
11
+
12
+ internal var combineIdentifier: CombineIdentifier {
13
+ return subscription.combineIdentifier
14
+ }
15
+
16
+ internal func request(_ demand: Subscribers.Demand) {
17
+ let hook = DebugHook.getGlobalHook()
18
+ hook?.willRequest(subscription: subscription, demand: demand)
19
+ subscription.request(demand)
20
+ hook?.didRequest(subscription: subscription, demand: demand)
21
+ }
22
+
23
+ internal func cancel() {
24
+ let hook = DebugHook.getGlobalHook()
25
+ hook?.willCancel(subscription: subscription)
26
+ subscription.cancel()
27
+ hook?.didCancel(subscription: subscription)
28
+ }
29
+
30
+ internal var description: String {
31
+ return String(describing: subscription)
32
+ }
33
+ }
@@ -0,0 +1,30 @@
1
+ //
2
+ // Utils.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 28.08.2021.
6
+ //
7
+
8
+ internal protocol HasDefaultValue {
9
+ init()
10
+ }
11
+
12
+ extension HasDefaultValue {
13
+
14
+ @inline(__always)
15
+ internal mutating func take() -> Self {
16
+ let taken = self
17
+ self = .init()
18
+ return taken
19
+ }
20
+ }
21
+
22
+ extension Array: HasDefaultValue {}
23
+
24
+ extension Dictionary: HasDefaultValue {}
25
+
26
+ extension Optional: HasDefaultValue {
27
+ init() {
28
+ self = nil
29
+ }
30
+ }
@@ -0,0 +1,33 @@
1
+ //
2
+ // Violations.swift
3
+ //
4
+ //
5
+ // Created by Sergej Jaskiewicz on 16/09/2019.
6
+ //
7
+
8
+ internal func APIViolationValueBeforeSubscription(file: StaticString = #file,
9
+ line: UInt = #line) -> Never {
10
+ fatalError("""
11
+ API Violation: received an unexpected value before receiving a Subscription
12
+ """,
13
+ file: file,
14
+ line: line)
15
+ }
16
+
17
+ internal func APIViolationUnexpectedCompletion(file: StaticString = #file,
18
+ line: UInt = #line) -> Never {
19
+ fatalError("API Violation: received an unexpected completion", file: file, line: line)
20
+ }
21
+
22
+ internal func abstractMethod(file: StaticString = #file, line: UInt = #line) -> Never {
23
+ fatalError("Abstract method call", file: file, line: line)
24
+ }
25
+
26
+ extension Subscribers.Demand {
27
+ internal func assertNonZero(file: StaticString = #file,
28
+ line: UInt = #line) {
29
+ if self == .none {
30
+ fatalError("API Violation: demand must not be zero", file: file, line: line)
31
+ }
32
+ }
33
+ }