@swiftbrowser/swift 0.1.0 → 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.
- package/Package.swift +200 -9
- package/README.md +7 -9
- package/Sources/AVFoundation/AVFoundation.swift +131 -0
- package/Sources/AVFoundation/Asset.swift +487 -0
- package/Sources/AVFoundation/AudioSession.swift +144 -0
- package/Sources/AVFoundation/CMTime.swift +303 -0
- package/Sources/AVFoundation/Capture.swift +688 -0
- package/Sources/AVFoundation/Player.swift +749 -0
- package/Sources/AVFoundation/PlayerView.swift +117 -0
- package/Sources/AVKit/AVKit.swift +132 -0
- package/Sources/Accelerate/Accelerate.swift +122 -0
- package/Sources/AppIntents/AppIntents.swift +144 -0
- package/Sources/AppIntents/Parameters.swift +220 -0
- package/Sources/AppIntents/Shortcuts.swift +159 -0
- package/Sources/AudioToolbox/AudioToolbox.swift +55 -0
- package/Sources/AuthenticationServices/AuthenticationServices.swift +257 -0
- package/Sources/AuthenticationServices/Authorization.swift +251 -0
- package/Sources/Charts/Charts.swift +0 -4
- package/Sources/Combine/AnyCancellable.swift +65 -0
- package/Sources/Combine/AnyPublisher.swift +148 -0
- package/Sources/Combine/AnySubscriber.swift +230 -0
- package/Sources/Combine/Cancellable.swift +35 -0
- package/Sources/Combine/Codable.swift +29 -0
- package/Sources/Combine/CombineIdentifier.swift +45 -0
- package/Sources/Combine/Concurrency/ConcurrencyHelpers.swift +24 -0
- package/Sources/Combine/Concurrency/Future+Concurrency.swift +136 -0
- package/Sources/Combine/Concurrency/GENERATED-Publisher+Concurrency.swift +397 -0
- package/Sources/Combine/CurrentValueSubject.swift +252 -0
- package/Sources/Combine/CustomCombineIdentifierConvertible.swift +28 -0
- package/Sources/Combine/Future.swift +228 -0
- package/Sources/Combine/GENERATED-RootProtocols.swift +426 -0
- package/Sources/Combine/Helpers/ConduitBase.swift +40 -0
- package/Sources/Combine/Helpers/ConduitList.swift +59 -0
- package/Sources/Combine/Helpers/DebugHook.swift +177 -0
- package/Sources/Combine/Helpers/FilterProducer.swift +174 -0
- package/Sources/Combine/Helpers/Locking.swift +30 -0
- package/Sources/Combine/Helpers/PartialCompletion.swift +26 -0
- package/Sources/Combine/Helpers/ReduceProducer.swift +249 -0
- package/Sources/Combine/Helpers/SubjectSubscriber.swift +96 -0
- package/Sources/Combine/Helpers/SubscriberTap.swift +69 -0
- package/Sources/Combine/Helpers/SubscriptionStatus.swift +33 -0
- package/Sources/Combine/Helpers/SubscriptionTap.swift +33 -0
- package/Sources/Combine/Helpers/Utils.swift +30 -0
- package/Sources/Combine/Helpers/Violations.swift +33 -0
- package/Sources/Combine/ImmediateScheduler.swift +178 -0
- package/Sources/Combine/LICENSE +21 -0
- package/Sources/Combine/NotificationPublisher.swift +48 -0
- package/Sources/Combine/ObjectWillChange.swift +46 -0
- package/Sources/Combine/PassthroughSubject.swift +222 -0
- package/Sources/Combine/Publisher+Subscribe.swift +53 -0
- package/Sources/Combine/Publishers/Deferred.swift +48 -0
- package/Sources/Combine/Publishers/Empty.swift +54 -0
- package/Sources/Combine/Publishers/Fail.swift +42 -0
- package/Sources/Combine/Publishers/GENERATED-Publishers.Catch.swift +673 -0
- package/Sources/Combine/Publishers/GENERATED-Publishers.Encode.swift +388 -0
- package/Sources/Combine/Publishers/GENERATED-Publishers.MapKeyPath.swift +384 -0
- package/Sources/Combine/Publishers/Just.swift +313 -0
- package/Sources/Combine/Publishers/Optional.Publisher.swift +315 -0
- package/Sources/Combine/Publishers/Publishers.AllSatisfy.swift +217 -0
- package/Sources/Combine/Publishers/Publishers.AssertNoFailure.swift +158 -0
- package/Sources/Combine/Publishers/Publishers.Autoconnect.swift +193 -0
- package/Sources/Combine/Publishers/Publishers.Breakpoint.swift +231 -0
- package/Sources/Combine/Publishers/Publishers.Buffer.swift +356 -0
- package/Sources/Combine/Publishers/Publishers.Collect.swift +102 -0
- package/Sources/Combine/Publishers/Publishers.CollectByCount.swift +195 -0
- package/Sources/Combine/Publishers/Publishers.CompactMap.swift +241 -0
- package/Sources/Combine/Publishers/Publishers.Comparison.swift +371 -0
- package/Sources/Combine/Publishers/Publishers.Concatenate.swift +474 -0
- package/Sources/Combine/Publishers/Publishers.Contains.swift +293 -0
- package/Sources/Combine/Publishers/Publishers.Count.swift +87 -0
- package/Sources/Combine/Publishers/Publishers.Debounce.swift +332 -0
- package/Sources/Combine/Publishers/Publishers.Delay.swift +269 -0
- package/Sources/Combine/Publishers/Publishers.Drop.swift +155 -0
- package/Sources/Combine/Publishers/Publishers.DropUntilOutput.swift +283 -0
- package/Sources/Combine/Publishers/Publishers.DropWhile.swift +378 -0
- package/Sources/Combine/Publishers/Publishers.Filter.swift +248 -0
- package/Sources/Combine/Publishers/Publishers.First.swift +261 -0
- package/Sources/Combine/Publishers/Publishers.FlatMap.swift +533 -0
- package/Sources/Combine/Publishers/Publishers.HandleEvents.swift +260 -0
- package/Sources/Combine/Publishers/Publishers.IgnoreOutput.swift +109 -0
- package/Sources/Combine/Publishers/Publishers.Last.swift +252 -0
- package/Sources/Combine/Publishers/Publishers.MakeConnectable.swift +82 -0
- package/Sources/Combine/Publishers/Publishers.Map.swift +351 -0
- package/Sources/Combine/Publishers/Publishers.MapError.swift +140 -0
- package/Sources/Combine/Publishers/Publishers.MeasureInterval.swift +187 -0
- package/Sources/Combine/Publishers/Publishers.Multicast.swift +284 -0
- package/Sources/Combine/Publishers/Publishers.Output.swift +241 -0
- package/Sources/Combine/Publishers/Publishers.PrefixUntilOutput.swift +197 -0
- package/Sources/Combine/Publishers/Publishers.PrefixWhile.swift +176 -0
- package/Sources/Combine/Publishers/Publishers.Print.swift +206 -0
- package/Sources/Combine/Publishers/Publishers.ReceiveOn.swift +227 -0
- package/Sources/Combine/Publishers/Publishers.Reduce.swift +204 -0
- package/Sources/Combine/Publishers/Publishers.RemoveDuplicates.swift +264 -0
- package/Sources/Combine/Publishers/Publishers.ReplaceEmpty.swift +201 -0
- package/Sources/Combine/Publishers/Publishers.ReplaceError.swift +211 -0
- package/Sources/Combine/Publishers/Publishers.Retry.swift +274 -0
- package/Sources/Combine/Publishers/Publishers.Scan.swift +331 -0
- package/Sources/Combine/Publishers/Publishers.Sequence.swift +437 -0
- package/Sources/Combine/Publishers/Publishers.SetFailureType.swift +120 -0
- package/Sources/Combine/Publishers/Publishers.Share.swift +104 -0
- package/Sources/Combine/Publishers/Publishers.SubscribeOn.swift +197 -0
- package/Sources/Combine/Publishers/Publishers.SwitchToLatest.swift +444 -0
- package/Sources/Combine/Publishers/Publishers.Throttle.swift +359 -0
- package/Sources/Combine/Publishers/Publishers.Timeout.swift +301 -0
- package/Sources/Combine/Publishers/Publishers.Zip.swift +720 -0
- package/Sources/Combine/Publishers/Publishers.swift +13 -0
- package/Sources/Combine/Publishers/Record.swift +237 -0
- package/Sources/Combine/Publishers/Result.Publisher.swift +337 -0
- package/Sources/Combine/Result.swift +46 -0
- package/Sources/Combine/Scheduler.swift +89 -0
- package/Sources/Combine/Schedulers.swift +211 -0
- package/Sources/Combine/Subject+Void.swift +17 -0
- package/Sources/Combine/Subscriber+Void.swift +20 -0
- package/Sources/Combine/Subscribers/Subscribers.Assign.swift +175 -0
- package/Sources/Combine/Subscribers/Subscribers.Completion.swift +90 -0
- package/Sources/Combine/Subscribers/Subscribers.Demand.swift +476 -0
- package/Sources/Combine/Subscribers/Subscribers.Sink.swift +206 -0
- package/Sources/Combine/Subscribers/Subscribers.swift +9 -0
- package/Sources/Combine/Subscription.swift +22 -0
- package/Sources/Combine/Subscriptions.swift +42 -0
- package/Sources/Combine/SwiftUIObservation.swift +10 -0
- package/Sources/Combine/_Introspection.swift +107 -0
- package/Sources/CommonCrypto/CommonCrypto.swift +80 -0
- package/Sources/Compression/Compression.swift +365 -0
- package/Sources/Compression/Deflate.swift +407 -0
- package/Sources/Compression/Zlib.swift +179 -0
- package/Sources/CoreFoundationTypes/CoreFoundationTypes.swift +101 -0
- package/Sources/CoreGraphics/CoreGraphics.swift +411 -0
- package/Sources/CoreGraphics/ProjectionTransforms.swift +28 -0
- package/Sources/CoreHaptics/CoreHaptics.swift +399 -0
- package/Sources/CoreImage/CIColor.swift +41 -0
- package/Sources/CoreImage/CIContext.swift +31 -0
- package/Sources/CoreImage/CIDetector.swift +57 -0
- package/Sources/CoreImage/CIFilter.swift +243 -0
- package/Sources/CoreImage/CIFilterBuiltins.swift +136 -0
- package/Sources/CoreImage/CIImage.swift +162 -0
- package/Sources/CoreImage/QRCode.swift +393 -0
- package/Sources/CoreLocation/Coordinate.swift +30 -0
- package/Sources/CoreLocation/Location.swift +65 -0
- package/Sources/CoreML/Evaluation.swift +414 -0
- package/Sources/CoreML/FeatureValue.swift +266 -0
- package/Sources/CoreML/Model.swift +269 -0
- package/Sources/CoreML/MultiArray.swift +92 -0
- package/Sources/CoreML/Specification.swift +233 -0
- package/Sources/CoreText/CoreText.swift +64 -0
- package/Sources/CoreTransferable/CoreTransferable.swift +606 -0
- package/Sources/CryptoKit/ChaChaPoly.swift +258 -0
- package/Sources/CryptoKit/CryptoKit.swift +375 -0
- package/Sources/CryptoKit/Curve25519.swift +317 -0
- package/Sources/CryptoKit/P256.swift +321 -0
- package/Sources/FoundationBridge/AppStorage.swift +165 -0
- package/Sources/FoundationBridge/AssetResources.swift +90 -0
- package/Sources/FoundationBridge/AsyncBytes.swift +128 -0
- package/Sources/FoundationBridge/AsyncImage.swift +116 -0
- package/Sources/FoundationBridge/AttributedStrings.swift +16 -0
- package/Sources/{_FoundationCommon → FoundationBridge}/Bundle.swift +41 -4
- package/Sources/FoundationBridge/CombineExports.swift +8 -0
- package/Sources/FoundationBridge/CoreFoundation.swift +77 -0
- package/Sources/FoundationBridge/Dispatch.swift +458 -0
- package/Sources/FoundationBridge/EnvironmentFoundation.swift +41 -0
- package/Sources/FoundationBridge/FileImporter.swift +128 -0
- package/Sources/FoundationBridge/FileSystem.swift +68 -0
- package/Sources/FoundationBridge/FoundationBridge.swift +24 -72
- package/Sources/FoundationBridge/HostResolution.swift +31 -0
- package/Sources/FoundationBridge/ItemProvider.swift +655 -0
- package/Sources/FoundationBridge/KeyValueObserving.swift +138 -0
- package/Sources/FoundationBridge/Links.swift +127 -0
- package/Sources/FoundationBridge/ListFormatter.swift +32 -0
- package/Sources/FoundationBridge/Localization.swift +149 -0
- package/Sources/FoundationBridge/Locks.swift +50 -0
- package/Sources/FoundationBridge/Markdown.swift +527 -0
- package/Sources/FoundationBridge/MeasurementFormat.swift +95 -0
- package/Sources/FoundationBridge/NotificationCenter.swift +154 -0
- package/Sources/FoundationBridge/OpenURLHandlers.swift +60 -0
- package/Sources/FoundationBridge/Operation.swift +195 -0
- package/Sources/FoundationBridge/ProcessInfo.swift +32 -0
- package/Sources/FoundationBridge/RelativeDateTimeFormatter.swift +136 -0
- package/Sources/FoundationBridge/SceneStorage.swift +78 -0
- package/Sources/FoundationBridge/SecurityExports.swift +8 -0
- package/Sources/FoundationBridge/Selector.swift +226 -0
- package/Sources/FoundationBridge/StringComparators.swift +17 -0
- package/Sources/FoundationBridge/Table.swift +211 -0
- package/Sources/FoundationBridge/TextAttributes.swift +42 -0
- package/Sources/FoundationBridge/Timer.swift +6 -1
- package/Sources/FoundationBridge/URLSession.swift +718 -0
- package/Sources/{_FoundationCommon → FoundationBridge}/UserDefaults.swift +17 -4
- package/Sources/FoundationBridge/WebAuthRedirects.swift +227 -0
- package/Sources/FoundationBridge/WebSocket.swift +187 -0
- package/Sources/FoundationModels/FoundationModels.swift +1098 -0
- package/Sources/ImageIO/GIF.swift +72 -0
- package/Sources/ImageIO/ImageIO.swift +248 -0
- package/Sources/ImageIO/ImageTypes.swift +28 -0
- package/Sources/LinkPresentation/LinkPresentation.swift +249 -0
- package/Sources/LocalAuthentication/LAContext.swift +86 -0
- package/Sources/MapKit/Geometry.swift +223 -0
- package/Sources/MapKit/Map.swift +638 -0
- package/Sources/MapKit/MapView.swift +229 -0
- package/Sources/MobileCoreServices/MobileCoreServices.swift +28 -0
- package/Sources/NaturalLanguage/LanguageIdentifier.swift +317 -0
- package/Sources/NaturalLanguage/NaturalLanguage.swift +135 -0
- package/Sources/OSLog/OSLog.swift +6 -0
- package/Sources/Photos/Photos.swift +572 -0
- package/Sources/PhotosUI/PhotosPicker.swift +248 -0
- package/Sources/PhotosUI/PhotosPickerItem.swift +261 -0
- package/Sources/QuickLook/QuickLook.swift +168 -0
- package/Sources/SafariServices/SafariServices.swift +106 -0
- package/Sources/Security/Security.swift +332 -0
- package/Sources/StoreKit/AppStore.swift +207 -0
- package/Sources/StoreKit/Products.swift +280 -0
- package/Sources/StoreKit/RequestReview.swift +28 -0
- package/Sources/StoreKit/StoreKit1.swift +486 -0
- package/Sources/StoreKit/StoreViews.swift +428 -0
- package/Sources/StoreKit/Transactions.swift +197 -0
- package/Sources/SwiftData/Macros.swift +58 -0
- package/Sources/SwiftData/ModelActor.swift +38 -0
- package/Sources/SwiftData/ModelContainer.swift +129 -0
- package/Sources/SwiftData/ModelContext.swift +451 -0
- package/Sources/SwiftData/PersistentModel.swift +238 -0
- package/Sources/SwiftData/Properties.swift +261 -0
- package/Sources/SwiftData/Query.swift +256 -0
- package/Sources/SwiftData/Schema.swift +192 -0
- package/Sources/SwiftData/Store.swift +146 -0
- package/Sources/SwiftData/StringPredicates.swift +125 -0
- package/Sources/SwiftDataMacros/EntryMacro.swift +82 -0
- package/Sources/SwiftDataMacros/GenerableMacro.swift +183 -0
- package/Sources/SwiftDataMacros/ModelActorMacro.swift +46 -0
- package/Sources/SwiftDataMacros/ModelMacro.swift +260 -0
- package/Sources/SwiftDataMacros/Plugin.swift +18 -0
- package/Sources/SwiftDataMacros/PredicateMacro.swift +1244 -0
- package/Sources/SwiftUI/API/Accessibility.swift +55 -6
- package/Sources/SwiftUI/API/AccessibilityExtras.swift +33 -0
- package/Sources/SwiftUI/API/AccessibilityFocus.swift +63 -0
- package/Sources/SwiftUI/API/Alert.swift +1 -1
- package/Sources/SwiftUI/API/AlignmentGuides.swift +65 -0
- package/Sources/SwiftUI/API/Animation.swift +37 -5
- package/Sources/SwiftUI/API/App.swift +31 -1
- package/Sources/SwiftUI/API/BindingCollections.swift +35 -0
- package/Sources/SwiftUI/API/BindingForEach.swift +27 -0
- package/Sources/SwiftUI/API/Bitmaps.swift +254 -0
- package/Sources/SwiftUI/API/ButtonStyles.swift +96 -0
- package/Sources/SwiftUI/API/Canvas.swift +337 -0
- package/Sources/SwiftUI/API/Color.swift +104 -28
- package/Sources/SwiftUI/API/ColorEffects.swift +52 -0
- package/Sources/SwiftUI/API/ColorPickerAndLabeledContent.swift +138 -0
- package/Sources/SwiftUI/API/ColorSpaces.swift +161 -0
- package/Sources/SwiftUI/API/Commands.swift +106 -0
- package/Sources/SwiftUI/API/ContainerBackground.swift +28 -0
- package/Sources/SwiftUI/API/ContentShape.swift +33 -0
- package/Sources/SwiftUI/API/ContentSizeCategory.swift +35 -0
- package/Sources/SwiftUI/API/ContentUnavailable.swift +101 -0
- package/Sources/SwiftUI/API/Controls.swift +59 -27
- package/Sources/SwiftUI/API/CustomLayout.swift +49 -10
- package/Sources/SwiftUI/API/CustomToolbarContent.swift +46 -0
- package/Sources/SwiftUI/API/Decorations.swift +1 -1
- package/Sources/SwiftUI/API/EditMode.swift +25 -82
- package/Sources/SwiftUI/API/Effects.swift +105 -7
- package/Sources/SwiftUI/API/Entry.swift +8 -0
- package/Sources/SwiftUI/API/Environment.swift +93 -9
- package/Sources/SwiftUI/API/EnvironmentSendable.swift +6 -0
- package/Sources/SwiftUI/API/Focus.swift +11 -3
- package/Sources/SwiftUI/API/Gauge.swift +3 -2
- package/Sources/SwiftUI/API/GeometryEffects.swift +232 -0
- package/Sources/SwiftUI/API/GeometryReader.swift +13 -2
- package/Sources/SwiftUI/API/GestureState.swift +65 -0
- package/Sources/SwiftUI/API/Gestures.swift +1 -1
- package/Sources/SwiftUI/API/Glass.swift +127 -0
- package/Sources/SwiftUI/API/Grid.swift +1 -1
- package/Sources/SwiftUI/API/GroupBoxAndControlGroup.swift +130 -0
- package/Sources/SwiftUI/API/KeyPress.swift +54 -0
- package/Sources/SwiftUI/API/LabelStyle.swift +13 -6
- package/Sources/SwiftUI/API/Layout.swift +67 -12
- package/Sources/SwiftUI/API/LazyStacks.swift +49 -0
- package/Sources/SwiftUI/API/LegacyAlert.swift +97 -0
- package/Sources/SwiftUI/API/Lists.swift +61 -6
- package/Sources/SwiftUI/API/Menu.swift +8 -1
- package/Sources/SwiftUI/API/Modifiers.swift +80 -10
- package/Sources/SwiftUI/API/MoreModifiers.swift +100 -0
- package/Sources/SwiftUI/API/Namespace.swift +44 -0
- package/Sources/SwiftUI/API/Navigation.swift +24 -9
- package/Sources/SwiftUI/API/NavigationDestinationBindings.swift +55 -0
- package/Sources/SwiftUI/API/ObservableObject.swift +16 -2
- package/Sources/SwiftUI/API/Path.swift +543 -0
- package/Sources/SwiftUI/API/Phase8Controls.swift +48 -31
- package/Sources/SwiftUI/API/PhaseAnimator.swift +130 -0
- package/Sources/SwiftUI/API/Picker.swift +11 -2
- package/Sources/SwiftUI/API/PointerAndKeyboard.swift +77 -0
- package/Sources/SwiftUI/API/Popover.swift +41 -0
- package/Sources/SwiftUI/API/Preferences.swift +262 -0
- package/Sources/SwiftUI/API/Presentation.swift +17 -4
- package/Sources/SwiftUI/API/PresentationExtras.swift +60 -0
- package/Sources/SwiftUI/API/Primitives.swift +164 -37
- package/Sources/SwiftUI/API/Publishers.swift +4 -4
- package/Sources/SwiftUI/API/Redaction.swift +75 -0
- package/Sources/SwiftUI/API/RowActions.swift +3 -2
- package/Sources/SwiftUI/API/Scenes.swift +131 -0
- package/Sources/SwiftUI/API/ScrollModifiers.swift +132 -0
- package/Sources/SwiftUI/API/ScrollTargets.swift +3 -3
- package/Sources/SwiftUI/API/ScrollViewReader.swift +144 -0
- package/Sources/SwiftUI/API/SectionSupplements.swift +96 -0
- package/Sources/SwiftUI/API/Shape.swift +214 -0
- package/Sources/SwiftUI/API/ShapeStyle.swift +105 -7
- package/Sources/SwiftUI/API/ShapeTrim.swift +78 -0
- package/Sources/SwiftUI/API/Sharing.swift +193 -0
- package/Sources/SwiftUI/API/StackLayouts.swift +199 -0
- package/Sources/SwiftUI/API/State.swift +18 -1
- package/Sources/SwiftUI/API/StatusGaps.swift +121 -0
- package/Sources/SwiftUI/API/SymbolEffects.swift +203 -0
- package/Sources/SwiftUI/API/TabContent.swift +841 -0
- package/Sources/SwiftUI/API/Table.swift +382 -0
- package/Sources/SwiftUI/API/Tabs.swift +148 -4
- package/Sources/SwiftUI/API/Tasks.swift +2 -2
- package/Sources/SwiftUI/API/Text.swift +386 -0
- package/Sources/SwiftUI/API/TextDates.swift +61 -0
- package/Sources/SwiftUI/API/TextDecorations.swift +52 -0
- package/Sources/SwiftUI/API/TextFieldAxis.swift +103 -0
- package/Sources/SwiftUI/API/TextFieldCommit.swift +52 -0
- package/Sources/SwiftUI/API/Toolbar.swift +52 -16
- package/Sources/SwiftUI/API/Transfer.swift +145 -0
- package/Sources/SwiftUI/API/UnevenRoundedRectangle.swift +66 -0
- package/Sources/SwiftUI/API/Video.swift +64 -0
- package/Sources/SwiftUI/API/View.swift +10 -2
- package/Sources/SwiftUI/API/ViewModifier.swift +4 -1
- package/Sources/SwiftUI/API/VisualEffect.swift +74 -1
- package/Sources/SwiftUI/API/Windows.swift +25 -0
- package/Sources/SwiftUI/Charts/Axis.swift +7 -1
- package/Sources/SwiftUI/Charts/AxisFormatsAndRanges.swift +68 -0
- package/Sources/SwiftUI/Charts/Chart.swift +17 -3
- package/Sources/SwiftUI/Charts/ChartProxy.swift +57 -0
- package/Sources/SwiftUI/Localization/Localization.swift +498 -0
- package/Sources/SwiftUI/Localization/PluralRules.swift +127 -0
- package/Sources/SwiftUI/Runtime/Executor.swift +2 -0
- package/Sources/SwiftUI/Runtime/Exports.swift +37 -1
- package/Sources/SwiftUI/Runtime/ImageSource.swift +310 -0
- package/Sources/SwiftUI/Runtime/JSON.swift +76 -4
- package/Sources/SwiftUI/Runtime/LazyRows.swift +99 -0
- package/Sources/SwiftUI/Runtime/Measurements.swift +140 -0
- package/Sources/SwiftUI/Runtime/Ops.swift +58 -12
- package/Sources/SwiftUI/Runtime/Reconciler.swift +10 -1
- package/Sources/SwiftUI/Runtime/Replay.swift +382 -0
- package/Sources/SwiftUI/Runtime/Runtime.swift +977 -198
- package/Sources/SwiftUI/Runtime/Sameness.swift +152 -0
- package/Sources/SwiftUI/Runtime/ViewPath.swift +89 -0
- package/Sources/SwiftUI/Runtime/ViewTraits.swift +175 -0
- package/Sources/SwiftUI/Runtime/WebAuthHeadless.swift +49 -0
- package/Sources/Symbols/Symbols.swift +25 -0
- package/Sources/Translation/Translation.swift +423 -0
- package/Sources/UIKit/Activity.swift +213 -0
- package/Sources/UIKit/Alerts.swift +69 -0
- package/Sources/UIKit/AppDelegate.swift +222 -0
- package/Sources/UIKit/Appearance.swift +84 -0
- package/Sources/UIKit/ColorConversions.swift +70 -0
- package/Sources/UIKit/Controls.swift +225 -0
- package/Sources/UIKit/Device.swift +200 -0
- package/Sources/UIKit/Feedback.swift +65 -0
- package/Sources/UIKit/Font.swift +307 -0
- package/Sources/UIKit/Graphics.swift +204 -0
- package/Sources/UIKit/HostingController.swift +185 -0
- package/Sources/UIKit/Identity.swift +24 -0
- package/Sources/UIKit/Introspectable.swift +510 -0
- package/Sources/UIKit/Pasteboard.swift +363 -0
- package/Sources/UIKit/PhotoAlbum.swift +81 -0
- package/Sources/UIKit/RemoteNotifications.swift +15 -0
- package/Sources/UIKit/Representable.swift +288 -0
- package/Sources/UIKit/SafeArea.swift +12 -0
- package/Sources/UIKit/SceneDelegates.swift +132 -0
- package/Sources/UIKit/Scenes.swift +40 -0
- package/Sources/UIKit/ScrollView.swift +157 -0
- package/Sources/UIKit/ShortcutItems.swift +67 -0
- package/Sources/UIKit/SymbolConfiguration.swift +124 -0
- package/Sources/UIKit/TargetAction.swift +123 -0
- package/Sources/UIKit/TextPaste.swift +161 -0
- package/Sources/UIKit/TextView.swift +538 -0
- package/Sources/UIKit/UIKit.swift +292 -0
- package/Sources/UIKit/UIView.swift +855 -0
- package/Sources/UIKit/ViewTranslation.swift +311 -0
- package/Sources/UniformTypeIdentifiers/UTType.swift +196 -0
- package/Sources/UserNotifications/Content.swift +370 -0
- package/Sources/UserNotifications/NotificationCenter.swift +309 -0
- package/Sources/WeatherKit/WeatherKit.swift +228 -0
- package/Sources/WebKit/WebKit.swift +245 -0
- package/Sources/os/os.swift +376 -0
- package/Sources/zlib/zlib.swift +6 -0
- package/index.d.ts +1 -1
- package/index.mjs +2 -2
- package/manifest.d.mts +2 -0
- package/manifest.mjs +39 -0
- package/package.json +5 -3
- package/sync-sources.mjs +21 -7
- package/Sources/FoundationLite/Common.swift +0 -3
- package/Sources/FoundationLite/FoundationLite.swift +0 -171
- package/Sources/FoundationLite/Interaction.swift +0 -146
- package/Sources/FoundationLite/Timer.swift +0 -48
- package/Sources/_FoundationCommon/_FoundationCommon.swift +0 -10
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Publishers.Contains.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 09.10.2019.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
extension Publisher where Output: Equatable {
|
|
9
|
+
|
|
10
|
+
/// Publishes a Boolean value upon receiving an element equal to the argument.
|
|
11
|
+
///
|
|
12
|
+
/// Use `contains(_:)` to find the first element in an upstream that’s equal to
|
|
13
|
+
/// the supplied argument. The `Publishers.Contains` publisher consumes all received
|
|
14
|
+
/// elements until the upstream publisher produces a matching element. Upon finding
|
|
15
|
+
/// the first match, it emits `true` and finishes normally. If the upstream finishes
|
|
16
|
+
/// normally without producing a matching element, this publisher emits `false` and
|
|
17
|
+
/// finishes.
|
|
18
|
+
///
|
|
19
|
+
/// In the example below, the `contains(_:)` operator emits `true` the first time it
|
|
20
|
+
/// receives the value `5` from the `numbers.publisher`, and then finishes normally.
|
|
21
|
+
///
|
|
22
|
+
/// let numbers = [-1, 5, 10, 5]
|
|
23
|
+
/// numbers.publisher
|
|
24
|
+
/// .contains(5)
|
|
25
|
+
/// .sink { print("\($0)") }
|
|
26
|
+
///
|
|
27
|
+
/// // Prints: "true"
|
|
28
|
+
///
|
|
29
|
+
/// - Parameter output: An element to match against.
|
|
30
|
+
/// - Returns: A publisher that emits the Boolean value `true` when the upstream
|
|
31
|
+
/// publisher emits a matching value.
|
|
32
|
+
public func contains(_ output: Output) -> Publishers.Contains<Self> {
|
|
33
|
+
return .init(upstream: self, output: output)
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
extension Publisher {
|
|
38
|
+
|
|
39
|
+
/// Publishes a Boolean value upon receiving an element that satisfies the predicate
|
|
40
|
+
/// closure.
|
|
41
|
+
///
|
|
42
|
+
/// Use `contains(where:)` to find the first element in an upstream that satisfies
|
|
43
|
+
/// the closure you provide. This operator consumes elements produced from
|
|
44
|
+
/// the upstream publisher until the upstream publisher produces a matching element.
|
|
45
|
+
///
|
|
46
|
+
/// This operator is useful when the upstream publisher produces elements that don’t
|
|
47
|
+
/// conform to `Equatable`.
|
|
48
|
+
///
|
|
49
|
+
/// In the example below, the `contains(where:)` operator tests elements against
|
|
50
|
+
/// the supplied closure and emits `true` for the first elements that’s greater than
|
|
51
|
+
/// `4`, and then finishes normally.
|
|
52
|
+
///
|
|
53
|
+
/// let numbers = [-1, 0, 10, 5]
|
|
54
|
+
/// numbers.publisher
|
|
55
|
+
/// .contains {$0 > 4}
|
|
56
|
+
/// .sink { print("\($0)") }
|
|
57
|
+
///
|
|
58
|
+
/// // Prints: "true"
|
|
59
|
+
///
|
|
60
|
+
/// - Parameter predicate: A closure that takes an element as its parameter and
|
|
61
|
+
/// returns a Boolean value that indicates whether the element satisfies
|
|
62
|
+
/// the closure’s comparison logic.
|
|
63
|
+
/// - Returns: A publisher that emits the Boolean value `true` when the upstream
|
|
64
|
+
/// publisher emits a matching value.
|
|
65
|
+
public func contains(
|
|
66
|
+
where predicate: @escaping (Output) -> Bool
|
|
67
|
+
) -> Publishers.ContainsWhere<Self> {
|
|
68
|
+
return .init(upstream: self, predicate: predicate)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/// Publishes a Boolean value upon receiving an element that satisfies the throwing
|
|
72
|
+
/// predicate closure.
|
|
73
|
+
///
|
|
74
|
+
/// Use `tryContains(where:)` to find the first element in an upstream that satisfies
|
|
75
|
+
/// the error-throwing closure you provide.
|
|
76
|
+
///
|
|
77
|
+
/// This operator consumes elements produced from the upstream publisher until
|
|
78
|
+
/// the upstream publisher either:
|
|
79
|
+
///
|
|
80
|
+
/// - Produces a matching element, after which it emits `true` and the publisher
|
|
81
|
+
/// finishes normally.
|
|
82
|
+
/// - Emits `false` if no matching element is found and the publisher finishes
|
|
83
|
+
/// normally.
|
|
84
|
+
///
|
|
85
|
+
/// If the predicate throws an error, the publisher fails, passing the error to its
|
|
86
|
+
/// downstream.
|
|
87
|
+
///
|
|
88
|
+
/// In the example below, the `tryContains(where:)` operator tests values to find
|
|
89
|
+
/// an element less than `10`; when the closure finds an odd number, like `3`,
|
|
90
|
+
/// the publisher terminates with an `IllegalValueError`.
|
|
91
|
+
///
|
|
92
|
+
/// struct IllegalValueError: Error {}
|
|
93
|
+
///
|
|
94
|
+
/// let numbers = [3, 2, 10, 5, 0, 9]
|
|
95
|
+
/// numbers.publisher
|
|
96
|
+
/// .tryContains {
|
|
97
|
+
/// if ($0 % 2 != 0) {
|
|
98
|
+
/// throw IllegalValueError()
|
|
99
|
+
/// }
|
|
100
|
+
/// return $0 < 10
|
|
101
|
+
/// }
|
|
102
|
+
/// .sink(
|
|
103
|
+
/// receiveCompletion: { print ("completion: \($0)") },
|
|
104
|
+
/// receiveValue: { print ("value: \($0)") }
|
|
105
|
+
/// )
|
|
106
|
+
///
|
|
107
|
+
/// // Prints: "completion: failure(IllegalValueError())"
|
|
108
|
+
///
|
|
109
|
+
/// - Parameter predicate: A closure that takes an element as its parameter and
|
|
110
|
+
/// returns a Boolean value that indicates whether the element satisfies
|
|
111
|
+
/// the closure’s comparison logic.
|
|
112
|
+
/// - Returns: A publisher that emits the Boolean value `true` when the upstream
|
|
113
|
+
/// publisher emits a matching value.
|
|
114
|
+
public func tryContains(
|
|
115
|
+
where predicate: @escaping (Output) throws -> Bool
|
|
116
|
+
) -> Publishers.TryContainsWhere<Self> {
|
|
117
|
+
return .init(upstream: self, predicate: predicate)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
extension Publishers {
|
|
122
|
+
|
|
123
|
+
/// A publisher that emits a Boolean value when a specified element is received from
|
|
124
|
+
/// its upstream publisher.
|
|
125
|
+
public struct Contains<Upstream: Publisher>: Publisher
|
|
126
|
+
where Upstream.Output: Equatable
|
|
127
|
+
{
|
|
128
|
+
public typealias Output = Bool
|
|
129
|
+
|
|
130
|
+
public typealias Failure = Upstream.Failure
|
|
131
|
+
|
|
132
|
+
/// The publisher from which this publisher receives elements.
|
|
133
|
+
public let upstream: Upstream
|
|
134
|
+
|
|
135
|
+
/// The element to scan for in the upstream publisher.
|
|
136
|
+
public let output: Upstream.Output
|
|
137
|
+
|
|
138
|
+
public init(upstream: Upstream, output: Upstream.Output) {
|
|
139
|
+
self.upstream = upstream
|
|
140
|
+
self.output = output
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
public func receive<Downstream: Subscriber>(subscriber: Downstream)
|
|
144
|
+
where Upstream.Failure == Downstream.Failure, Downstream.Input == Bool
|
|
145
|
+
{
|
|
146
|
+
upstream.subscribe(Inner(downstream: subscriber, output: output))
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/// A publisher that emits a Boolean value upon receiving an element that satisfies
|
|
151
|
+
/// the predicate closure.
|
|
152
|
+
public struct ContainsWhere<Upstream: Publisher>: Publisher {
|
|
153
|
+
|
|
154
|
+
public typealias Output = Bool
|
|
155
|
+
|
|
156
|
+
public typealias Failure = Upstream.Failure
|
|
157
|
+
|
|
158
|
+
/// The publisher from which this publisher receives elements.
|
|
159
|
+
public let upstream: Upstream
|
|
160
|
+
|
|
161
|
+
/// The closure that determines whether the publisher should consider an element
|
|
162
|
+
/// as a match.
|
|
163
|
+
public let predicate: (Upstream.Output) -> Bool
|
|
164
|
+
|
|
165
|
+
public init(upstream: Upstream, predicate: @escaping (Upstream.Output) -> Bool) {
|
|
166
|
+
self.upstream = upstream
|
|
167
|
+
self.predicate = predicate
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
public func receive<Downstream: Subscriber>(subscriber: Downstream)
|
|
171
|
+
where Upstream.Failure == Downstream.Failure, Downstream.Input == Bool
|
|
172
|
+
{
|
|
173
|
+
upstream.subscribe(Inner(downstream: subscriber, predicate: predicate))
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/// A publisher that emits a Boolean value upon receiving an element that satisfies
|
|
178
|
+
/// the throwing predicate closure.
|
|
179
|
+
public struct TryContainsWhere<Upstream: Publisher>: Publisher {
|
|
180
|
+
|
|
181
|
+
public typealias Output = Bool
|
|
182
|
+
|
|
183
|
+
public typealias Failure = Error
|
|
184
|
+
|
|
185
|
+
/// The publisher from which this publisher receives elements.
|
|
186
|
+
public let upstream: Upstream
|
|
187
|
+
|
|
188
|
+
/// The error-throwing closure that determines whether this publisher should
|
|
189
|
+
/// emit a `true` element.
|
|
190
|
+
public let predicate: (Upstream.Output) throws -> Bool
|
|
191
|
+
|
|
192
|
+
public init(upstream: Upstream,
|
|
193
|
+
predicate: @escaping (Upstream.Output) throws -> Bool) {
|
|
194
|
+
self.upstream = upstream
|
|
195
|
+
self.predicate = predicate
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
public func receive<Downstream: Subscriber>(subscriber: Downstream)
|
|
199
|
+
where Downstream.Failure == Error, Downstream.Input == Bool
|
|
200
|
+
{
|
|
201
|
+
upstream.subscribe(Inner(downstream: subscriber, predicate: predicate))
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
extension Publishers.Contains {
|
|
207
|
+
private final class Inner<Downstream: Subscriber>
|
|
208
|
+
: ReduceProducer<Downstream, Upstream.Output, Bool, Upstream.Failure, Void>
|
|
209
|
+
where Upstream.Failure == Downstream.Failure, Downstream.Input == Bool
|
|
210
|
+
{
|
|
211
|
+
private let output: Upstream.Output
|
|
212
|
+
|
|
213
|
+
fileprivate init(downstream: Downstream, output: Upstream.Output) {
|
|
214
|
+
self.output = output
|
|
215
|
+
super.init(downstream: downstream, initial: false, reduce: ())
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
override func receive(
|
|
219
|
+
newValue: Upstream.Output
|
|
220
|
+
) -> PartialCompletion<Void, Downstream.Failure> {
|
|
221
|
+
if newValue == output {
|
|
222
|
+
result = true
|
|
223
|
+
return .finished
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return .continue
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
override var description: String { return "Contains" }
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
extension Publishers.Contains : Equatable where Upstream: Equatable {}
|
|
234
|
+
|
|
235
|
+
extension Publishers.ContainsWhere {
|
|
236
|
+
private final class Inner<Downstream: Subscriber>
|
|
237
|
+
: ReduceProducer<Downstream,
|
|
238
|
+
Upstream.Output, Bool,
|
|
239
|
+
Upstream.Failure,
|
|
240
|
+
(Upstream.Output) -> Bool>
|
|
241
|
+
where Upstream.Failure == Downstream.Failure, Downstream.Input == Bool
|
|
242
|
+
{
|
|
243
|
+
fileprivate init(downstream: Downstream,
|
|
244
|
+
predicate: @escaping (Upstream.Output) -> Bool) {
|
|
245
|
+
super.init(downstream: downstream, initial: false, reduce: predicate)
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
override func receive(
|
|
249
|
+
newValue: Upstream.Output
|
|
250
|
+
) -> PartialCompletion<Void, Downstream.Failure> {
|
|
251
|
+
if reduce(newValue) {
|
|
252
|
+
result = true
|
|
253
|
+
return .finished
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
return .continue
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
override var description: String { return "ContainsWhere" }
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
extension Publishers.TryContainsWhere {
|
|
264
|
+
private final class Inner<Downstream: Subscriber>
|
|
265
|
+
: ReduceProducer<Downstream,
|
|
266
|
+
Upstream.Output, Bool,
|
|
267
|
+
Upstream.Failure,
|
|
268
|
+
(Upstream.Output) throws -> Bool>
|
|
269
|
+
where Downstream.Failure == Error, Downstream.Input == Bool
|
|
270
|
+
{
|
|
271
|
+
fileprivate init(downstream: Downstream,
|
|
272
|
+
predicate: @escaping (Upstream.Output) throws -> Bool) {
|
|
273
|
+
super.init(downstream: downstream, initial: false, reduce: predicate)
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
override func receive(
|
|
277
|
+
newValue: Upstream.Output
|
|
278
|
+
) -> PartialCompletion<Void, Downstream.Failure> {
|
|
279
|
+
do {
|
|
280
|
+
if try reduce(newValue) {
|
|
281
|
+
result = true
|
|
282
|
+
return .finished
|
|
283
|
+
}
|
|
284
|
+
} catch {
|
|
285
|
+
return .failure(error)
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
return .continue
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
override var description: String { return "TryContainsWhere" }
|
|
292
|
+
}
|
|
293
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Publishers.Count.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Joseph Spadafora on 6/25/19.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
extension Publisher {
|
|
9
|
+
|
|
10
|
+
/// Publishes the number of elements received from the upstream publisher.
|
|
11
|
+
///
|
|
12
|
+
/// Use `count(`` to determine the number of elements received from the upstream
|
|
13
|
+
/// publisher before it completes:
|
|
14
|
+
///
|
|
15
|
+
/// let numbers = (0...10)
|
|
16
|
+
/// cancellable = numbers.publisher
|
|
17
|
+
/// .count()
|
|
18
|
+
/// .sink { print("\($0)") }
|
|
19
|
+
///
|
|
20
|
+
/// // Prints: "11"
|
|
21
|
+
///
|
|
22
|
+
/// - Returns: A publisher that consumes all elements until the upstream publisher
|
|
23
|
+
/// finishes, then emits a single value with the total number of elements received.
|
|
24
|
+
public func count() -> Publishers.Count<Self> {
|
|
25
|
+
return Publishers.Count(upstream: self)
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
extension Publishers {
|
|
30
|
+
|
|
31
|
+
/// A publisher that publishes the number of elements received
|
|
32
|
+
/// from the upstream publisher.
|
|
33
|
+
public struct Count<Upstream: Publisher>: Publisher {
|
|
34
|
+
|
|
35
|
+
/// The kind of values published by this publisher.
|
|
36
|
+
public typealias Output = Int
|
|
37
|
+
|
|
38
|
+
/// The kind of errors this publisher might publish.
|
|
39
|
+
///
|
|
40
|
+
/// Use `Never` if this `Publisher` does not publish errors.
|
|
41
|
+
public typealias Failure = Upstream.Failure
|
|
42
|
+
|
|
43
|
+
/// The publisher from which this publisher receives elements.
|
|
44
|
+
public let upstream: Upstream
|
|
45
|
+
|
|
46
|
+
public init(upstream: Upstream) {
|
|
47
|
+
self.upstream = upstream
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/// This function is called to attach the specified `Subscriber`
|
|
51
|
+
/// to this `Publisher` by `subscribe(_:)`
|
|
52
|
+
///
|
|
53
|
+
/// - SeeAlso: `subscribe(_:)`
|
|
54
|
+
/// - Parameters:
|
|
55
|
+
/// - subscriber: The subscriber to attach to this `Publisher`.
|
|
56
|
+
/// once attached it can begin to receive values.
|
|
57
|
+
public func receive<Downstream: Subscriber>(subscriber: Downstream)
|
|
58
|
+
where Upstream.Failure == Downstream.Failure,
|
|
59
|
+
Downstream.Input == Output
|
|
60
|
+
{
|
|
61
|
+
upstream.subscribe(Inner(downstream: subscriber))
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
extension Publishers.Count: Equatable where Upstream: Equatable {}
|
|
67
|
+
|
|
68
|
+
extension Publishers.Count {
|
|
69
|
+
private final class Inner<Downstream: Subscriber>
|
|
70
|
+
: ReduceProducer<Downstream, Upstream.Output, Int, Failure, Void>
|
|
71
|
+
where Downstream.Input == Int,
|
|
72
|
+
Upstream.Failure == Downstream.Failure
|
|
73
|
+
{
|
|
74
|
+
fileprivate init(downstream: Downstream) {
|
|
75
|
+
super.init(downstream: downstream, initial: 0, reduce: ())
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
override func receive(
|
|
79
|
+
newValue: Upstream.Output
|
|
80
|
+
) -> PartialCompletion<Void, Downstream.Failure> {
|
|
81
|
+
result! += 1
|
|
82
|
+
return .continue
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
override var description: String { return "Count" }
|
|
86
|
+
}
|
|
87
|
+
}
|