@swiftbrowser/swift 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +68 -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 +125 -10
- package/Sources/SwiftUI/API/Entry.swift +8 -0
- package/Sources/SwiftUI/API/Environment.swift +100 -9
- package/Sources/SwiftUI/API/EnvironmentSendable.swift +6 -0
- package/Sources/SwiftUI/API/Focus.swift +11 -3
- package/Sources/SwiftUI/API/Gauge.swift +26 -10
- 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 +71 -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 +88 -12
- 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 +14 -4
- 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 +168 -39
- 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 +86 -0
- package/Sources/SwiftUI/API/Shape.swift +214 -0
- package/Sources/SwiftUI/API/ShapeStyle.swift +187 -8
- 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 +46 -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 +524 -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 +41 -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,474 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Publishers.Concatenate.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 24.10.2019.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
extension Publisher {
|
|
9
|
+
|
|
10
|
+
/// Prefixes a publisher’s output with the specified values.
|
|
11
|
+
///
|
|
12
|
+
/// Use `prepend(_:)` when you need to prepend specific elements before the output
|
|
13
|
+
/// of a publisher.
|
|
14
|
+
///
|
|
15
|
+
/// In the example below, the `prepend(_:)` operator publishes the provided elements
|
|
16
|
+
/// before republishing all elements from `dataElements`:
|
|
17
|
+
///
|
|
18
|
+
/// let dataElements = (0...10)
|
|
19
|
+
/// cancellable = dataElements.publisher
|
|
20
|
+
/// .prepend(0, 1, 255)
|
|
21
|
+
/// .sink { print("\($0)", terminator: " ") }
|
|
22
|
+
///
|
|
23
|
+
/// // Prints: "0 1 255 0 1 2 3 4 5 6 7 8 9 10"
|
|
24
|
+
///
|
|
25
|
+
/// - Parameter elements: The elements to publish before this publisher’s elements.
|
|
26
|
+
/// - Returns: A publisher that prefixes the specified elements prior to this
|
|
27
|
+
/// publisher’s elements.
|
|
28
|
+
public func prepend(
|
|
29
|
+
_ elements: Output...
|
|
30
|
+
) -> Publishers.Concatenate<Publishers.Sequence<[Output], Failure>, Self> {
|
|
31
|
+
return prepend(elements)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/// Prefixes a publisher’s output with the specified sequence.
|
|
35
|
+
///
|
|
36
|
+
/// Use `prepend(_:)` to publish values from two publishers when you need to prepend
|
|
37
|
+
/// one publisher’s elements to another.
|
|
38
|
+
///
|
|
39
|
+
/// In this example the `/prepend(_:)-v9sb` operator publishes the provided sequence
|
|
40
|
+
/// before republishing all elements from `dataElements`:
|
|
41
|
+
///
|
|
42
|
+
/// let prefixValues = [0, 1, 255]
|
|
43
|
+
/// let dataElements = (0...10)
|
|
44
|
+
/// cancellable = dataElements.publisher
|
|
45
|
+
/// .prepend(prefixValues)
|
|
46
|
+
/// .sink { print("\($0)", terminator: " ") }
|
|
47
|
+
///
|
|
48
|
+
/// // Prints: "0 1 255 0 1 2 3 4 5 6 7 8 9 10"
|
|
49
|
+
///
|
|
50
|
+
/// - Parameter elements: A sequence of elements to publish before this publisher’s
|
|
51
|
+
/// elements.
|
|
52
|
+
/// - Returns: A publisher that prefixes the sequence of elements prior to this
|
|
53
|
+
/// publisher’s elements.
|
|
54
|
+
public func prepend<Elements: Sequence>(
|
|
55
|
+
_ elements: Elements
|
|
56
|
+
) -> Publishers.Concatenate<Publishers.Sequence<Elements, Failure>, Self>
|
|
57
|
+
where Output == Elements.Element
|
|
58
|
+
{
|
|
59
|
+
return prepend(.init(sequence: elements))
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/// Prefixes the output of this publisher with the elements emitted by the given
|
|
63
|
+
/// publisher.
|
|
64
|
+
///
|
|
65
|
+
/// Use `prepend(_:)` to publish values from two publishers when you need to prepend
|
|
66
|
+
/// one publisher’s elements to another.
|
|
67
|
+
///
|
|
68
|
+
/// In the example below, a publisher of `prefixValues` publishes its elements before
|
|
69
|
+
/// the `dataElements` publishes its elements:
|
|
70
|
+
///
|
|
71
|
+
/// let prefixValues = [0, 1, 255]
|
|
72
|
+
/// let dataElements = (0...10)
|
|
73
|
+
/// cancellable = dataElements.publisher
|
|
74
|
+
/// .prepend(prefixValues.publisher)
|
|
75
|
+
/// .sink { print("\($0)", terminator: " ") }
|
|
76
|
+
///
|
|
77
|
+
/// // Prints: "0 1 255 0 1 2 3 4 5 6 7 8 9 10"
|
|
78
|
+
///
|
|
79
|
+
/// - Parameter publisher: The prefixing publisher.
|
|
80
|
+
/// - Returns: A publisher that prefixes the prefixing publisher’s elements prior to
|
|
81
|
+
/// this publisher’s elements.
|
|
82
|
+
public func prepend<Prefix: Publisher>(
|
|
83
|
+
_ publisher: Prefix
|
|
84
|
+
) -> Publishers.Concatenate<Prefix, Self>
|
|
85
|
+
where Failure == Prefix.Failure, Output == Prefix.Output
|
|
86
|
+
{
|
|
87
|
+
return .init(prefix: publisher, suffix: self)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/// Appends a publisher’s output with the specified elements.
|
|
91
|
+
///
|
|
92
|
+
/// Use `append(_:)` when you need to prepend specific elements after the output of
|
|
93
|
+
/// a publisher.
|
|
94
|
+
///
|
|
95
|
+
/// In the example below, the `append(_:)` operator publishes the provided elements
|
|
96
|
+
/// after republishing all elements from `dataElements`:
|
|
97
|
+
///
|
|
98
|
+
/// let dataElements = (0...10)
|
|
99
|
+
/// cancellable = dataElements.publisher
|
|
100
|
+
/// .append(0, 1, 255)
|
|
101
|
+
/// .sink { print("\($0)", terminator: " ") }
|
|
102
|
+
///
|
|
103
|
+
/// // Prints: "0 1 2 3 4 5 6 7 8 9 10 0 1 255"
|
|
104
|
+
///
|
|
105
|
+
///
|
|
106
|
+
/// - Parameter elements: Elements to publish after this publisher’s elements.
|
|
107
|
+
/// - Returns: A publisher that appends the specifiecd elements after this publisher’s
|
|
108
|
+
/// elements.
|
|
109
|
+
public func append(
|
|
110
|
+
_ elements: Output...
|
|
111
|
+
) -> Publishers.Concatenate<Self, Publishers.Sequence<[Output], Failure>> {
|
|
112
|
+
return append(elements)
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/// Appends a publisher’s output with the specified sequence.
|
|
116
|
+
///
|
|
117
|
+
/// Use `append(_:)` to append a sequence to the end of
|
|
118
|
+
/// a publisher’s output.
|
|
119
|
+
///
|
|
120
|
+
/// In the example below, the `append(_:)` publisher republishes all elements from
|
|
121
|
+
/// `groundTransport` until it finishes, then publishes the members of `airTransport`:
|
|
122
|
+
///
|
|
123
|
+
/// let groundTransport = ["car", "bus", "truck", "subway", "bicycle"]
|
|
124
|
+
/// let airTransport = ["parasail", "jet", "helicopter", "rocket"]
|
|
125
|
+
/// cancellable = groundTransport.publisher
|
|
126
|
+
/// .append(airTransport)
|
|
127
|
+
/// .sink { print("\($0)", terminator: " ") }
|
|
128
|
+
///
|
|
129
|
+
/// // Prints: "car bus truck subway bicycle parasail jet helicopter rocket"
|
|
130
|
+
///
|
|
131
|
+
/// - Parameter elements: A sequence of elements to publish after this publisher’s
|
|
132
|
+
/// elements.
|
|
133
|
+
/// - Returns: A publisher that appends the sequence of elements after this
|
|
134
|
+
/// publisher’s elements.
|
|
135
|
+
public func append<Elements: Sequence>(
|
|
136
|
+
_ elements: Elements
|
|
137
|
+
) -> Publishers.Concatenate<Self, Publishers.Sequence<Elements, Failure>>
|
|
138
|
+
where Output == Elements.Element
|
|
139
|
+
{
|
|
140
|
+
return append(.init(sequence: elements))
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/// Appends the output of this publisher with the elements emitted by the given
|
|
144
|
+
/// publisher.
|
|
145
|
+
///
|
|
146
|
+
/// Use `append(_:)` to append the output of one publisher to another.
|
|
147
|
+
/// The `append(_:)` operator produces no elements until this publisher finishes.
|
|
148
|
+
/// It then produces this publisher’s elements, followed by the given publisher’s
|
|
149
|
+
/// elements. If this publisher fails with an error, the given publishers elements
|
|
150
|
+
/// aren’t published.
|
|
151
|
+
///
|
|
152
|
+
/// In the example below, the `append` publisher republishes all elements from
|
|
153
|
+
/// the `numbers` publisher until it finishes, then publishes all elements from
|
|
154
|
+
/// the `otherNumbers` publisher:
|
|
155
|
+
///
|
|
156
|
+
/// let numbers = (0...10)
|
|
157
|
+
/// let otherNumbers = (25...35)
|
|
158
|
+
/// cancellable = numbers.publisher
|
|
159
|
+
/// .append(otherNumbers.publisher)
|
|
160
|
+
/// .sink { print("\($0)", terminator: " ") }
|
|
161
|
+
///
|
|
162
|
+
/// // Prints: "0 1 2 3 4 5 6 7 8 9 10 25 26 27 28 29 30 31 32 33 34 35 "
|
|
163
|
+
///
|
|
164
|
+
/// - Parameter publisher: The appending publisher.
|
|
165
|
+
/// - Returns: A publisher that appends the appending publisher’s elements after this
|
|
166
|
+
/// publisher’s elements.
|
|
167
|
+
public func append<Suffix: Publisher>(
|
|
168
|
+
_ publisher: Suffix
|
|
169
|
+
) -> Publishers.Concatenate<Self, Suffix>
|
|
170
|
+
where Suffix.Failure == Failure, Suffix.Output == Output
|
|
171
|
+
{
|
|
172
|
+
return .init(prefix: self, suffix: publisher)
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
extension Publishers {
|
|
177
|
+
|
|
178
|
+
/// A publisher that emits all of one publisher’s elements before those from another
|
|
179
|
+
/// publisher.
|
|
180
|
+
public struct Concatenate<Prefix: Publisher, Suffix: Publisher>: Publisher
|
|
181
|
+
where Prefix.Failure == Suffix.Failure, Prefix.Output == Suffix.Output
|
|
182
|
+
{
|
|
183
|
+
public typealias Output = Suffix.Output
|
|
184
|
+
|
|
185
|
+
public typealias Failure = Suffix.Failure
|
|
186
|
+
|
|
187
|
+
/// The publisher to republish, in its entirety, before republishing elements from
|
|
188
|
+
/// `suffix`.
|
|
189
|
+
public let prefix: Prefix
|
|
190
|
+
|
|
191
|
+
/// The publisher to republish only after `prefix` finishes.
|
|
192
|
+
public let suffix: Suffix
|
|
193
|
+
|
|
194
|
+
public init(prefix: Prefix, suffix: Suffix) {
|
|
195
|
+
self.prefix = prefix
|
|
196
|
+
self.suffix = suffix
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
public func receive<Downstream: Subscriber>(subscriber: Downstream)
|
|
200
|
+
where Suffix.Failure == Downstream.Failure, Suffix.Output == Downstream.Input
|
|
201
|
+
{
|
|
202
|
+
let inner = Inner(downstream: subscriber, suffix: suffix)
|
|
203
|
+
prefix.subscribe(Inner<Downstream>.PrefixSubscriber(inner: inner))
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
extension Publishers.Concatenate: Equatable where Prefix: Equatable, Suffix: Equatable {}
|
|
209
|
+
|
|
210
|
+
extension Publishers.Concatenate {
|
|
211
|
+
fileprivate final class Inner<Downstream: Subscriber>
|
|
212
|
+
: Subscription,
|
|
213
|
+
CustomStringConvertible,
|
|
214
|
+
CustomReflectable,
|
|
215
|
+
CustomPlaygroundDisplayConvertible
|
|
216
|
+
where Downstream.Input == Suffix.Output, Downstream.Failure == Suffix.Failure
|
|
217
|
+
{
|
|
218
|
+
typealias Input = Suffix.Output
|
|
219
|
+
|
|
220
|
+
typealias Failure = Suffix.Failure
|
|
221
|
+
|
|
222
|
+
fileprivate struct PrefixSubscriber {
|
|
223
|
+
let inner: Inner<Downstream>
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
fileprivate struct SuffixSubscriber {
|
|
227
|
+
let inner: Inner<Downstream>
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
private let downstream: Downstream
|
|
231
|
+
|
|
232
|
+
private var prefixState = SubscriptionStatus.awaitingSubscription
|
|
233
|
+
|
|
234
|
+
private var suffixState = SubscriptionStatus.awaitingSubscription
|
|
235
|
+
|
|
236
|
+
private var suffix: Suffix?
|
|
237
|
+
|
|
238
|
+
private var pending = Subscribers.Demand.none
|
|
239
|
+
|
|
240
|
+
private let lock = UnfairLock.allocate()
|
|
241
|
+
|
|
242
|
+
fileprivate init(downstream: Downstream, suffix: Suffix) {
|
|
243
|
+
self.downstream = downstream
|
|
244
|
+
self.suffix = suffix
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
deinit {
|
|
248
|
+
lock.deallocate()
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
func request(_ demand: Subscribers.Demand) {
|
|
252
|
+
lock.lock()
|
|
253
|
+
pending += demand
|
|
254
|
+
guard let subscription = prefixState.subscription ?? suffixState.subscription
|
|
255
|
+
else {
|
|
256
|
+
lock.unlock()
|
|
257
|
+
return
|
|
258
|
+
}
|
|
259
|
+
lock.unlock()
|
|
260
|
+
subscription.request(demand)
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
func cancel() {
|
|
264
|
+
lock.lock()
|
|
265
|
+
let upstreamSubscription =
|
|
266
|
+
prefixState.subscription ?? suffixState.subscription
|
|
267
|
+
prefixState = .terminal
|
|
268
|
+
suffixState = .terminal
|
|
269
|
+
|
|
270
|
+
// We MUST release the object AFTER unlocking the lock,
|
|
271
|
+
// since releasing it may trigger execution of arbitrary code,
|
|
272
|
+
// for example, if the object has a deinit.
|
|
273
|
+
// When the object deallocates, its deinit is called, and holding
|
|
274
|
+
// the lock at that moment can lead to deadlocks.
|
|
275
|
+
|
|
276
|
+
withExtendedLifetime(suffix) {
|
|
277
|
+
suffix = nil
|
|
278
|
+
lock.unlock()
|
|
279
|
+
upstreamSubscription?.cancel()
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
var description: String { return "Concatenate" }
|
|
284
|
+
|
|
285
|
+
var customMirror: Mirror {
|
|
286
|
+
return Mirror(self, children: EmptyCollection())
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
var playgroundDescription: Any { return description }
|
|
290
|
+
|
|
291
|
+
// MARK: - Private
|
|
292
|
+
|
|
293
|
+
private func prefixReceive(subscription: Subscription) {
|
|
294
|
+
lock.lock()
|
|
295
|
+
guard case .awaitingSubscription = prefixState else {
|
|
296
|
+
lock.unlock()
|
|
297
|
+
subscription.cancel()
|
|
298
|
+
return
|
|
299
|
+
}
|
|
300
|
+
prefixState = .subscribed(subscription)
|
|
301
|
+
lock.unlock()
|
|
302
|
+
downstream.receive(subscription: self)
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
private func prefixReceive(_ input: Input) -> Subscribers.Demand {
|
|
306
|
+
lock.lock()
|
|
307
|
+
guard case .subscribed = prefixState, pending != .none else {
|
|
308
|
+
lock.unlock()
|
|
309
|
+
return .none
|
|
310
|
+
}
|
|
311
|
+
pending -= 1
|
|
312
|
+
lock.unlock()
|
|
313
|
+
let newDemand = downstream.receive(input)
|
|
314
|
+
if newDemand == .none {
|
|
315
|
+
return .none
|
|
316
|
+
}
|
|
317
|
+
lock.lock()
|
|
318
|
+
pending += newDemand
|
|
319
|
+
lock.unlock()
|
|
320
|
+
return newDemand
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
private func prefixReceive(completion: Subscribers.Completion<Failure>) {
|
|
324
|
+
lock.lock()
|
|
325
|
+
guard case .subscribed = prefixState else {
|
|
326
|
+
lock.unlock()
|
|
327
|
+
return
|
|
328
|
+
}
|
|
329
|
+
prefixState = .terminal
|
|
330
|
+
lock.unlock()
|
|
331
|
+
switch completion {
|
|
332
|
+
case .finished:
|
|
333
|
+
suffix?.subscribe(SuffixSubscriber(inner: self))
|
|
334
|
+
case .failure:
|
|
335
|
+
downstream.receive(completion: completion)
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
private func suffixReceive(subscription: Subscription) {
|
|
340
|
+
lock.lock()
|
|
341
|
+
guard case .awaitingSubscription = suffixState else {
|
|
342
|
+
lock.unlock()
|
|
343
|
+
subscription.cancel()
|
|
344
|
+
return
|
|
345
|
+
}
|
|
346
|
+
suffixState = .subscribed(subscription)
|
|
347
|
+
let pending = self.pending
|
|
348
|
+
lock.unlock()
|
|
349
|
+
if pending != .none {
|
|
350
|
+
subscription.request(pending)
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
private func suffixReceive(_ input: Input) -> Subscribers.Demand {
|
|
355
|
+
lock.lock()
|
|
356
|
+
guard case .subscribed = suffixState else {
|
|
357
|
+
lock.unlock()
|
|
358
|
+
return .none
|
|
359
|
+
}
|
|
360
|
+
lock.unlock()
|
|
361
|
+
return downstream.receive(input)
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
private func suffixReceive(completion: Subscribers.Completion<Failure>) {
|
|
365
|
+
lock.lock()
|
|
366
|
+
guard case .subscribed = suffixState else {
|
|
367
|
+
lock.unlock()
|
|
368
|
+
return
|
|
369
|
+
}
|
|
370
|
+
prefixState = .terminal
|
|
371
|
+
suffixState = .terminal
|
|
372
|
+
lock.unlock()
|
|
373
|
+
downstream.receive(completion: completion)
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// MARK: - PrefixSubscriber conformances
|
|
379
|
+
|
|
380
|
+
extension Publishers.Concatenate.Inner.PrefixSubscriber: Subscriber {
|
|
381
|
+
|
|
382
|
+
fileprivate typealias Input = Suffix.Output
|
|
383
|
+
|
|
384
|
+
fileprivate typealias Failure = Suffix.Failure
|
|
385
|
+
|
|
386
|
+
fileprivate var combineIdentifier: CombineIdentifier {
|
|
387
|
+
return inner.combineIdentifier
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
fileprivate func receive(subscription: Subscription) {
|
|
391
|
+
inner.prefixReceive(subscription: subscription)
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
fileprivate func receive(_ input: Input) -> Subscribers.Demand {
|
|
395
|
+
return inner.prefixReceive(input)
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
fileprivate func receive(completion: Subscribers.Completion<Failure>) {
|
|
399
|
+
inner.prefixReceive(completion: completion)
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
extension Publishers.Concatenate.Inner.PrefixSubscriber
|
|
404
|
+
: CustomStringConvertible
|
|
405
|
+
{
|
|
406
|
+
fileprivate var description: String {
|
|
407
|
+
return inner.description
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
extension Publishers.Concatenate.Inner.PrefixSubscriber
|
|
412
|
+
: CustomReflectable
|
|
413
|
+
{
|
|
414
|
+
fileprivate var customMirror: Mirror {
|
|
415
|
+
return inner.customMirror
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
extension Publishers.Concatenate.Inner.PrefixSubscriber
|
|
420
|
+
: CustomPlaygroundDisplayConvertible
|
|
421
|
+
{
|
|
422
|
+
fileprivate var playgroundDescription: Any {
|
|
423
|
+
return inner.playgroundDescription
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
// MARK: - SuffixSubscriber conformances
|
|
428
|
+
|
|
429
|
+
extension Publishers.Concatenate.Inner.SuffixSubscriber: Subscriber {
|
|
430
|
+
|
|
431
|
+
fileprivate typealias Input = Suffix.Output
|
|
432
|
+
|
|
433
|
+
fileprivate typealias Failure = Suffix.Failure
|
|
434
|
+
|
|
435
|
+
fileprivate var combineIdentifier: CombineIdentifier {
|
|
436
|
+
return inner.combineIdentifier
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
fileprivate func receive(subscription: Subscription) {
|
|
440
|
+
inner.suffixReceive(subscription: subscription)
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
fileprivate func receive(_ input: Input) -> Subscribers.Demand {
|
|
444
|
+
return inner.suffixReceive(input)
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
fileprivate func receive(completion: Subscribers.Completion<Failure>) {
|
|
448
|
+
inner.suffixReceive(completion: completion)
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
extension Publishers.Concatenate.Inner.SuffixSubscriber
|
|
453
|
+
: CustomStringConvertible
|
|
454
|
+
{
|
|
455
|
+
fileprivate var description: String {
|
|
456
|
+
return inner.description
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
extension Publishers.Concatenate.Inner.SuffixSubscriber
|
|
461
|
+
: CustomReflectable
|
|
462
|
+
{
|
|
463
|
+
fileprivate var customMirror: Mirror {
|
|
464
|
+
return inner.customMirror
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
extension Publishers.Concatenate.Inner.SuffixSubscriber
|
|
469
|
+
: CustomPlaygroundDisplayConvertible
|
|
470
|
+
{
|
|
471
|
+
fileprivate var playgroundDescription: Any {
|
|
472
|
+
return inner.playgroundDescription
|
|
473
|
+
}
|
|
474
|
+
}
|