@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,303 @@
1
+ // Core Media's time types, which `import AVFoundation` brings along on Apple
2
+ // platforms (no app the shim has met imports CoreMedia by name, so they live
3
+ // here). A `CMTime` is a rational number of seconds, `value / timescale`, with
4
+ // flags for the values that are not numbers (invalid, indefinite, the two
5
+ // infinities), as in Core Media: times compare and hash by the number they
6
+ // stand for (1/2 == 2/4), sums of different timescales use their least common
7
+ // multiple (or the larger timescale, rounded, when that overflows), and an
8
+ // invalid operand gives an invalid result.
9
+
10
+ import Foundation
11
+
12
+ public typealias CMTimeValue = Int64
13
+ public typealias CMTimeScale = Int32
14
+ public typealias CMTimeEpoch = Int64
15
+
16
+ public struct CMTimeFlags: OptionSet, Hashable, Sendable, Codable {
17
+ public let rawValue: UInt32
18
+ public init(rawValue: UInt32) { self.rawValue = rawValue }
19
+ public static let valid = CMTimeFlags(rawValue: 1)
20
+ public static let hasBeenRounded = CMTimeFlags(rawValue: 2)
21
+ public static let positiveInfinity = CMTimeFlags(rawValue: 4)
22
+ public static let negativeInfinity = CMTimeFlags(rawValue: 8)
23
+ public static let indefinite = CMTimeFlags(rawValue: 16)
24
+ public static let impliedValueFlagsMask: CMTimeFlags = [.positiveInfinity, .negativeInfinity, .indefinite]
25
+ }
26
+
27
+ /// How a conversion to another timescale rounds.
28
+ public enum CMTimeRoundingMethod: UInt32, Sendable {
29
+ case roundHalfAwayFromZero = 1, roundTowardZero, roundAwayFromZero, quickTime, roundTowardPositiveInfinity, roundTowardNegativeInfinity
30
+ public static let `default` = CMTimeRoundingMethod.roundHalfAwayFromZero
31
+ }
32
+
33
+ public struct CMTime: Sendable, Codable, CustomStringConvertible {
34
+ public var value: CMTimeValue
35
+ public var timescale: CMTimeScale
36
+ public var flags: CMTimeFlags
37
+ public var epoch: CMTimeEpoch
38
+
39
+ public init(value: CMTimeValue, timescale: CMTimeScale, flags: CMTimeFlags, epoch: CMTimeEpoch) {
40
+ self.value = value
41
+ self.timescale = timescale
42
+ self.flags = flags
43
+ self.epoch = epoch
44
+ }
45
+
46
+ /// `value / timescale` seconds; a timescale of 0 or less is invalid.
47
+ public init(value: CMTimeValue, timescale: CMTimeScale) {
48
+ self.init(value: value, timescale: timescale, flags: timescale > 0 ? .valid : [], epoch: 0)
49
+ }
50
+
51
+ /// `seconds` rounded to the nearest `1 / preferredTimescale`; a NaN is
52
+ /// invalid and an infinity is that infinity.
53
+ public init(seconds: Double, preferredTimescale: CMTimeScale) {
54
+ if seconds.isNaN || preferredTimescale <= 0 {
55
+ self = .invalid
56
+ } else if seconds.isInfinite {
57
+ self = seconds > 0 ? .positiveInfinity : .negativeInfinity
58
+ } else {
59
+ let scaled = seconds * Double(preferredTimescale)
60
+ let rounded = scaled.rounded(.toNearestOrAwayFromZero)
61
+ guard abs(rounded) < 9.2e18 else {
62
+ self = seconds > 0 ? .positiveInfinity : .negativeInfinity
63
+ return
64
+ }
65
+ var flags: CMTimeFlags = .valid
66
+ if rounded != scaled { flags.insert(.hasBeenRounded) }
67
+ self.init(value: CMTimeValue(rounded), timescale: preferredTimescale, flags: flags, epoch: 0)
68
+ }
69
+ }
70
+
71
+ public static let zero = CMTime(value: 0, timescale: 1)
72
+ public static let invalid = CMTime(value: 0, timescale: 0, flags: [], epoch: 0)
73
+ public static let indefinite = CMTime(value: 0, timescale: 0, flags: [.valid, .indefinite], epoch: 0)
74
+ public static let positiveInfinity = CMTime(value: 0, timescale: 0, flags: [.valid, .positiveInfinity], epoch: 0)
75
+ public static let negativeInfinity = CMTime(value: 0, timescale: 0, flags: [.valid, .negativeInfinity], epoch: 0)
76
+
77
+ public var isValid: Bool { flags.contains(.valid) }
78
+ public var isIndefinite: Bool { isValid && flags.contains(.indefinite) }
79
+ public var isPositiveInfinity: Bool { isValid && flags.contains(.positiveInfinity) }
80
+ public var isNegativeInfinity: Bool { isValid && flags.contains(.negativeInfinity) }
81
+ /// A finite number of seconds: valid, and neither indefinite nor infinite.
82
+ public var isNumeric: Bool { isValid && flags.isDisjoint(with: .impliedValueFlagsMask) }
83
+ public var hasBeenRounded: Bool { isNumeric && flags.contains(.hasBeenRounded) }
84
+
85
+ /// The time in seconds: NaN when invalid or indefinite, ±infinity for the infinities.
86
+ public var seconds: Double {
87
+ if isPositiveInfinity { return .infinity }
88
+ if isNegativeInfinity { return -.infinity }
89
+ guard isNumeric else { return .nan }
90
+ return Double(value) / Double(timescale)
91
+ }
92
+
93
+ /// The same time in another timescale, rounded by `method`.
94
+ public func convertScale(_ newTimescale: Int32, method: CMTimeRoundingMethod) -> CMTime {
95
+ guard isNumeric, newTimescale > 0 else { return newTimescale > 0 ? self : .invalid }
96
+ if newTimescale == timescale { return self }
97
+ let exact = Double(value) * Double(newTimescale) / Double(timescale)
98
+ let rounded: Double
99
+ switch method {
100
+ case .roundHalfAwayFromZero, .quickTime: rounded = exact.rounded(.toNearestOrAwayFromZero)
101
+ case .roundTowardZero: rounded = exact.rounded(.towardZero)
102
+ case .roundAwayFromZero: rounded = exact.rounded(.awayFromZero)
103
+ case .roundTowardPositiveInfinity: rounded = exact.rounded(.up)
104
+ case .roundTowardNegativeInfinity: rounded = exact.rounded(.down)
105
+ }
106
+ var flags = flags
107
+ if rounded != exact { flags.insert(.hasBeenRounded) }
108
+ return CMTime(value: CMTimeValue(rounded), timescale: newTimescale, flags: flags, epoch: epoch)
109
+ }
110
+
111
+ public var description: String {
112
+ if !isValid { return "CMTime(invalid)" }
113
+ if isIndefinite { return "CMTime(indefinite)" }
114
+ if isPositiveInfinity { return "CMTime(+infinity)" }
115
+ if isNegativeInfinity { return "CMTime(-infinity)" }
116
+ return "CMTime(\(value)/\(timescale) = \(seconds)s)"
117
+ }
118
+ }
119
+
120
+ // MARK: - Comparing
121
+
122
+ extension CMTime: Comparable, Hashable {
123
+ /// Core Media's order: invalid times are equal to each other and greater
124
+ /// than everything else; then −∞ < numbers < +∞ < indefinite.
125
+ private var rank: Int {
126
+ if !isValid { return 4 }
127
+ if isIndefinite { return 3 }
128
+ if isPositiveInfinity { return 2 }
129
+ if isNegativeInfinity { return 0 }
130
+ return 1
131
+ }
132
+
133
+ public static func == (lhs: CMTime, rhs: CMTime) -> Bool { CMTimeCompare(lhs, rhs) == 0 }
134
+ public static func < (lhs: CMTime, rhs: CMTime) -> Bool { CMTimeCompare(lhs, rhs) < 0 }
135
+
136
+ public func hash(into hasher: inout Hasher) {
137
+ hasher.combine(rank)
138
+ guard rank == 1 else { return }
139
+ // Equal rationals hash alike: reduce the fraction.
140
+ let divisor = gcd(abs(value), CMTimeValue(timescale))
141
+ hasher.combine(value / max(divisor, 1))
142
+ hasher.combine(CMTimeValue(timescale) / max(divisor, 1))
143
+ }
144
+ }
145
+
146
+ /// −1, 0 or 1 as `time1` is less than, equal to or greater than `time2`.
147
+ public func CMTimeCompare(_ time1: CMTime, _ time2: CMTime) -> Int32 {
148
+ let (a, b) = (time1, time2)
149
+ let rankA = rankOf(a), rankB = rankOf(b)
150
+ if rankA != rankB { return rankA < rankB ? -1 : 1 }
151
+ guard rankA == 1 else { return 0 }
152
+ // value1 / scale1 vs value2 / scale2, exactly where the products fit.
153
+ let (left, leftOverflow) = a.value.multipliedReportingOverflow(by: CMTimeValue(b.timescale))
154
+ let (right, rightOverflow) = b.value.multipliedReportingOverflow(by: CMTimeValue(a.timescale))
155
+ if !leftOverflow, !rightOverflow { return left < right ? -1 : (left > right ? 1 : 0) }
156
+ let x = a.seconds, y = b.seconds
157
+ return x < y ? -1 : (x > y ? 1 : 0)
158
+ }
159
+
160
+ private func rankOf(_ time: CMTime) -> Int {
161
+ if !time.isValid { return 4 }
162
+ if time.isIndefinite { return 3 }
163
+ if time.isPositiveInfinity { return 2 }
164
+ if time.isNegativeInfinity { return 0 }
165
+ return 1
166
+ }
167
+
168
+ private func gcd(_ a: CMTimeValue, _ b: CMTimeValue) -> CMTimeValue {
169
+ var (x, y) = (a, b)
170
+ while y != 0 { (x, y) = (y, x % y) }
171
+ return x
172
+ }
173
+
174
+ // MARK: - Arithmetic
175
+
176
+ extension CMTime {
177
+ public static func + (lhs: CMTime, rhs: CMTime) -> CMTime { CMTimeAdd(lhs, rhs) }
178
+ public static func - (lhs: CMTime, rhs: CMTime) -> CMTime { CMTimeSubtract(lhs, rhs) }
179
+ public static func += (lhs: inout CMTime, rhs: CMTime) { lhs = lhs + rhs }
180
+ public static func -= (lhs: inout CMTime, rhs: CMTime) { lhs = lhs - rhs }
181
+ public static func * (time: CMTime, multiplier: Int32) -> CMTime { CMTimeMultiply(time, multiplier: multiplier) }
182
+ public static func * (multiplier: Int32, time: CMTime) -> CMTime { CMTimeMultiply(time, multiplier: multiplier) }
183
+ public static func * (time: CMTime, multiplier: Float64) -> CMTime { CMTimeMultiplyByFloat64(time, multiplier: multiplier) }
184
+ public static func * (multiplier: Float64, time: CMTime) -> CMTime { CMTimeMultiplyByFloat64(time, multiplier: multiplier) }
185
+ public static func *= (time: inout CMTime, multiplier: Int32) { time = time * multiplier }
186
+ public static func *= (time: inout CMTime, multiplier: Float64) { time = time * multiplier }
187
+ public static prefix func - (time: CMTime) -> CMTime {
188
+ if time.isPositiveInfinity { return .negativeInfinity }
189
+ if time.isNegativeInfinity { return .positiveInfinity }
190
+ guard time.isNumeric else { return time }
191
+ var negated = time
192
+ negated.value = -time.value
193
+ return negated
194
+ }
195
+ }
196
+
197
+ public func CMTimeMake(value: Int64, timescale: Int32) -> CMTime {
198
+ CMTime(value: value, timescale: timescale)
199
+ }
200
+
201
+ public func CMTimeMakeWithSeconds(_ seconds: Float64, preferredTimescale: Int32) -> CMTime {
202
+ CMTime(seconds: seconds, preferredTimescale: preferredTimescale)
203
+ }
204
+
205
+ public func CMTimeMakeWithEpoch(value: Int64, timescale: Int32, epoch: Int64) -> CMTime {
206
+ CMTime(value: value, timescale: timescale, flags: timescale > 0 ? .valid : [], epoch: epoch)
207
+ }
208
+
209
+ public func CMTimeGetSeconds(_ time: CMTime) -> Float64 { time.seconds }
210
+
211
+ public func CMTimeConvertScale(_ time: CMTime, timescale newTimescale: Int32, method: CMTimeRoundingMethod) -> CMTime {
212
+ time.convertScale(newTimescale, method: method)
213
+ }
214
+
215
+ /// The sum or difference of two numeric times, in a timescale both fit
216
+ /// (their least common multiple, or the larger one, rounded); the special
217
+ /// values combine as Core Media's do.
218
+ private func combine(_ lhs: CMTime, _ rhs: CMTime, subtract: Bool) -> CMTime {
219
+ guard lhs.isValid, rhs.isValid else { return .invalid }
220
+ let right = subtract ? -rhs : rhs
221
+ if lhs.isIndefinite || right.isIndefinite { return .indefinite }
222
+ if lhs.isPositiveInfinity || lhs.isNegativeInfinity || right.isPositiveInfinity || right.isNegativeInfinity {
223
+ let plus = lhs.isPositiveInfinity || right.isPositiveInfinity
224
+ let minus = lhs.isNegativeInfinity || right.isNegativeInfinity
225
+ if plus, minus { return .invalid }
226
+ return plus ? .positiveInfinity : .negativeInfinity
227
+ }
228
+ var timescale = lhs.timescale
229
+ if lhs.timescale != right.timescale {
230
+ let common = CMTimeValue(lhs.timescale) / gcd(CMTimeValue(lhs.timescale), CMTimeValue(right.timescale)) * CMTimeValue(right.timescale)
231
+ timescale = common <= CMTimeValue(Int32.max) ? Int32(common) : max(lhs.timescale, right.timescale)
232
+ }
233
+ let a = lhs.convertScale(timescale, method: .default)
234
+ let b = right.convertScale(timescale, method: .default)
235
+ let (sum, overflow) = a.value.addingReportingOverflow(b.value)
236
+ if overflow { return sum < 0 ? .positiveInfinity : .negativeInfinity }
237
+ var flags: CMTimeFlags = .valid
238
+ if a.flags.contains(.hasBeenRounded) || b.flags.contains(.hasBeenRounded) { flags.insert(.hasBeenRounded) }
239
+ return CMTime(value: sum, timescale: timescale, flags: flags, epoch: lhs.epoch)
240
+ }
241
+
242
+ public func CMTimeAdd(_ lhs: CMTime, _ rhs: CMTime) -> CMTime { combine(lhs, rhs, subtract: false) }
243
+ public func CMTimeSubtract(_ lhs: CMTime, _ rhs: CMTime) -> CMTime { combine(lhs, rhs, subtract: true) }
244
+
245
+ public func CMTimeMultiply(_ time: CMTime, multiplier: Int32) -> CMTime {
246
+ guard time.isNumeric else {
247
+ if multiplier < 0 { return -time }
248
+ return multiplier == 0 && (time.isPositiveInfinity || time.isNegativeInfinity) ? .invalid : time
249
+ }
250
+ let (product, overflow) = time.value.multipliedReportingOverflow(by: CMTimeValue(multiplier))
251
+ if overflow { return (time.value < 0) != (multiplier < 0) ? .negativeInfinity : .positiveInfinity }
252
+ var result = time
253
+ result.value = product
254
+ return result
255
+ }
256
+
257
+ public func CMTimeMultiplyByFloat64(_ time: CMTime, multiplier: Float64) -> CMTime {
258
+ guard time.isNumeric else { return multiplier < 0 ? -time : time }
259
+ return CMTime(seconds: time.seconds * multiplier, preferredTimescale: time.timescale)
260
+ }
261
+
262
+ public func CMTimeMultiplyByRatio(_ time: CMTime, multiplier: Int32, divisor: Int32) -> CMTime {
263
+ guard divisor != 0 else { return .invalid }
264
+ guard time.isNumeric else { return time }
265
+ return CMTime(seconds: time.seconds * Double(multiplier) / Double(divisor), preferredTimescale: time.timescale)
266
+ }
267
+
268
+ public func CMTimeMinimum(_ time1: CMTime, _ time2: CMTime) -> CMTime { time2 < time1 ? time2 : time1 }
269
+ public func CMTimeMaximum(_ time1: CMTime, _ time2: CMTime) -> CMTime { time2 > time1 ? time2 : time1 }
270
+ public func CMTimeAbsoluteValue(_ time: CMTime) -> CMTime { time < .zero ? -time : time }
271
+
272
+ // MARK: - Ranges
273
+
274
+ public struct CMTimeRange: Hashable, Sendable, Codable {
275
+ public var start: CMTime
276
+ public var duration: CMTime
277
+
278
+ public init(start: CMTime, duration: CMTime) {
279
+ self.start = start
280
+ self.duration = duration
281
+ }
282
+
283
+ public init(start: CMTime, end: CMTime) {
284
+ self.init(start: start, duration: end - start)
285
+ }
286
+
287
+ public static let zero = CMTimeRange(start: .zero, duration: .zero)
288
+ public static let invalid = CMTimeRange(start: .invalid, duration: .invalid)
289
+
290
+ public var end: CMTime { start + duration }
291
+ public var isValid: Bool { start.isValid && duration.isValid && !(duration < .zero) && !duration.isIndefinite }
292
+ public var isEmpty: Bool { isValid && duration == .zero }
293
+ public var isIndefinite: Bool { start.isIndefinite || duration.isIndefinite }
294
+
295
+ public func containsTime(_ time: CMTime) -> Bool { time >= start && time < end }
296
+ public func containsTimeRange(_ range: CMTimeRange) -> Bool { range.start >= start && range.end <= end }
297
+ }
298
+
299
+ public func CMTimeRangeMake(start: CMTime, duration: CMTime) -> CMTimeRange {
300
+ CMTimeRange(start: start, duration: duration)
301
+ }
302
+
303
+ public func CMTimeRangeGetEnd(_ range: CMTimeRange) -> CMTime { range.end }