@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,40 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ConduitBase.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 25.06.2020.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
internal class ConduitBase<Output, Failure: Error>: Subscription {
|
|
9
|
+
|
|
10
|
+
internal init() {}
|
|
11
|
+
|
|
12
|
+
internal func offer(_ output: Output) {
|
|
13
|
+
abstractMethod()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
internal func finish(completion: Subscribers.Completion<Failure>) {
|
|
17
|
+
abstractMethod()
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
internal func request(_ demand: Subscribers.Demand) {
|
|
21
|
+
abstractMethod()
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
internal func cancel() {
|
|
25
|
+
abstractMethod()
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
extension ConduitBase: Equatable {
|
|
30
|
+
internal static func == (lhs: ConduitBase<Output, Failure>,
|
|
31
|
+
rhs: ConduitBase<Output, Failure>) -> Bool {
|
|
32
|
+
return ObjectIdentifier(lhs) == ObjectIdentifier(rhs)
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
extension ConduitBase: Hashable {
|
|
37
|
+
internal func hash(into hasher: inout Hasher) {
|
|
38
|
+
hasher.combine(ObjectIdentifier(self))
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ConduitList.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 25.06.2020.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
internal enum ConduitList<Output, Failure: Error> {
|
|
9
|
+
case empty
|
|
10
|
+
case single(ConduitBase<Output, Failure>)
|
|
11
|
+
case many(Set<ConduitBase<Output, Failure>>)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
extension ConduitList: HasDefaultValue {
|
|
15
|
+
init() {
|
|
16
|
+
self = .empty
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
extension ConduitList {
|
|
21
|
+
internal mutating func insert(_ conduit: ConduitBase<Output, Failure>) {
|
|
22
|
+
switch self {
|
|
23
|
+
case .empty:
|
|
24
|
+
self = .single(conduit)
|
|
25
|
+
case .single(conduit):
|
|
26
|
+
break // This element already exists.
|
|
27
|
+
case .single(let existingConduit):
|
|
28
|
+
self = .many([existingConduit, conduit])
|
|
29
|
+
case .many(var set):
|
|
30
|
+
set.insert(conduit)
|
|
31
|
+
self = .many(set)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
internal func forEach(
|
|
36
|
+
_ body: (ConduitBase<Output, Failure>) throws -> Void
|
|
37
|
+
) rethrows {
|
|
38
|
+
switch self {
|
|
39
|
+
case .empty:
|
|
40
|
+
break
|
|
41
|
+
case .single(let conduit):
|
|
42
|
+
try body(conduit)
|
|
43
|
+
case .many(let set):
|
|
44
|
+
try set.forEach(body)
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
internal mutating func remove(_ conduit: ConduitBase<Output, Failure>) {
|
|
49
|
+
switch self {
|
|
50
|
+
case .single(conduit):
|
|
51
|
+
self = .empty
|
|
52
|
+
case .empty, .single:
|
|
53
|
+
break
|
|
54
|
+
case .many(var set):
|
|
55
|
+
set.remove(conduit)
|
|
56
|
+
self = .many(set)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
//
|
|
2
|
+
// DebugHook.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 27.09.2020.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
internal final class DebugHook {
|
|
9
|
+
|
|
10
|
+
private struct Handler: Hashable {
|
|
11
|
+
let handler: _Introspection
|
|
12
|
+
|
|
13
|
+
static func == (lhs: Handler, rhs: Handler) -> Bool {
|
|
14
|
+
return lhs.handler === rhs.handler
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
func hash(into hasher: inout Hasher) {
|
|
18
|
+
hasher.combine(ObjectIdentifier(handler))
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
internal static func getGlobalHook() -> DebugHook? {
|
|
23
|
+
globalLock.lock()
|
|
24
|
+
defer { globalLock.unlock() }
|
|
25
|
+
return globalHook
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
internal static func enable(_ handler: _Introspection) {
|
|
29
|
+
let hook: DebugHook
|
|
30
|
+
DebugHook.globalLock.lock()
|
|
31
|
+
defer { DebugHook.globalLock.unlock() }
|
|
32
|
+
if let _hook = DebugHook.globalHook {
|
|
33
|
+
hook = _hook
|
|
34
|
+
} else {
|
|
35
|
+
hook = DebugHook()
|
|
36
|
+
DebugHook.globalHook = hook
|
|
37
|
+
}
|
|
38
|
+
hook.lock.lock()
|
|
39
|
+
defer { hook.lock.unlock() }
|
|
40
|
+
hook.handlers.insert(Handler(handler: handler))
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
internal static func disable(_ handler: _Introspection) {
|
|
44
|
+
DebugHook.globalLock.lock()
|
|
45
|
+
defer { DebugHook.globalLock.unlock() }
|
|
46
|
+
guard let hook = DebugHook.globalHook else { return }
|
|
47
|
+
hook.lock.lock()
|
|
48
|
+
hook.handlers.remove(Handler(handler: handler))
|
|
49
|
+
let noMoreHandlers = hook.handlers.isEmpty
|
|
50
|
+
hook.lock.unlock()
|
|
51
|
+
if noMoreHandlers {
|
|
52
|
+
DebugHook.globalHook = nil
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
internal static func handlerIsEnabled(_ handler: _Introspection) -> Bool {
|
|
57
|
+
DebugHook.globalLock.lock()
|
|
58
|
+
defer { DebugHook.globalLock.unlock() }
|
|
59
|
+
guard let hook = DebugHook.globalHook else { return false }
|
|
60
|
+
hook.lock.lock()
|
|
61
|
+
defer { hook.lock.unlock() }
|
|
62
|
+
return hook.handlers.contains(Handler(handler: handler))
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
private static var globalHook: DebugHook?
|
|
66
|
+
|
|
67
|
+
private static let globalLock = UnfairLock.allocate()
|
|
68
|
+
|
|
69
|
+
private let lock = UnfairLock.allocate()
|
|
70
|
+
|
|
71
|
+
private var handlers = Set<Handler>()
|
|
72
|
+
|
|
73
|
+
internal var debugHandlers: [_Introspection] {
|
|
74
|
+
lock.lock()
|
|
75
|
+
defer { lock.unlock() }
|
|
76
|
+
return handlers.map { $0.handler }
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private init() {}
|
|
80
|
+
|
|
81
|
+
deinit {
|
|
82
|
+
lock.deallocate()
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
internal func willReceive<Upstream: Publisher, Downstream: Subscriber>(
|
|
86
|
+
publisher: Upstream,
|
|
87
|
+
subscriber: Downstream
|
|
88
|
+
) where Upstream.Failure == Downstream.Failure, Upstream.Output == Downstream.Input {
|
|
89
|
+
for debugHandler in debugHandlers {
|
|
90
|
+
debugHandler.willReceive(publisher: publisher, subscriber: subscriber)
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
internal func didReceive<Upstream: Publisher, Downstream: Subscriber>(
|
|
95
|
+
publisher: Upstream,
|
|
96
|
+
subscriber: Downstream
|
|
97
|
+
) where Upstream.Failure == Downstream.Failure, Upstream.Output == Downstream.Input {
|
|
98
|
+
for debugHandler in debugHandlers {
|
|
99
|
+
debugHandler.didReceive(publisher: publisher, subscriber: subscriber)
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
internal func willReceive<Downstream: Subscriber>(subscriber: Downstream,
|
|
104
|
+
subscription: Subscription) {
|
|
105
|
+
for debugHandler in debugHandlers {
|
|
106
|
+
debugHandler.willReceive(subscriber: subscriber, subscription: subscription)
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
internal func didReceive<Downstream: Subscriber>(subscriber: Downstream,
|
|
111
|
+
subscription: Subscription) {
|
|
112
|
+
for debugHandler in debugHandlers {
|
|
113
|
+
debugHandler.didReceive(subscriber: subscriber, subscription: subscription)
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
internal func willReceive<Downstream: Subscriber>(subscriber: Downstream,
|
|
118
|
+
input: Downstream.Input) {
|
|
119
|
+
for debugHandler in debugHandlers {
|
|
120
|
+
debugHandler.willReceive(subscriber: subscriber, input: input)
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
internal func didReceive<Downstream: Subscriber>(
|
|
125
|
+
subscriber: Downstream,
|
|
126
|
+
input: Downstream.Input,
|
|
127
|
+
resultingDemand: Subscribers.Demand
|
|
128
|
+
) {
|
|
129
|
+
for debugHandler in debugHandlers {
|
|
130
|
+
debugHandler.didReceive(subscriber: subscriber,
|
|
131
|
+
input: input,
|
|
132
|
+
resultingDemand: resultingDemand)
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
internal func willReceive<Downstream: Subscriber>(
|
|
137
|
+
subscriber: Downstream,
|
|
138
|
+
completion: Subscribers.Completion<Downstream.Failure>
|
|
139
|
+
) {
|
|
140
|
+
for debugHandler in debugHandlers {
|
|
141
|
+
debugHandler.willReceive(subscriber: subscriber, completion: completion)
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
internal func didReceive<Downstream: Subscriber>(
|
|
146
|
+
subscriber: Downstream,
|
|
147
|
+
completion: Subscribers.Completion<Downstream.Failure>
|
|
148
|
+
) {
|
|
149
|
+
for debugHandler in debugHandlers {
|
|
150
|
+
debugHandler.didReceive(subscriber: subscriber, completion: completion)
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
internal func willRequest(subscription: Subscription, demand: Subscribers.Demand) {
|
|
155
|
+
for debugHandler in debugHandlers {
|
|
156
|
+
debugHandler.willRequest(subscription: subscription, demand)
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
internal func didRequest(subscription: Subscription, demand: Subscribers.Demand) {
|
|
161
|
+
for debugHandler in debugHandlers {
|
|
162
|
+
debugHandler.didRequest(subscription: subscription, demand)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
internal func willCancel(subscription: Subscription) {
|
|
167
|
+
for debugHandler in debugHandlers {
|
|
168
|
+
debugHandler.willCancel(subscription: subscription)
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
internal func didCancel(subscription: Subscription) {
|
|
173
|
+
for debugHandler in debugHandlers {
|
|
174
|
+
debugHandler.didCancel(subscription: subscription)
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
//
|
|
2
|
+
// FilterProducer.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 23.10.2019.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
/// A helper class that acts like both subscriber and subscription.
|
|
9
|
+
///
|
|
10
|
+
/// Filter-like operators send an instance of their `Inner` class that is subclass
|
|
11
|
+
/// of this class to the upstream publisher (as subscriber) and
|
|
12
|
+
/// to the downstream subscriber (as subscription).
|
|
13
|
+
///
|
|
14
|
+
/// Filter-like operators include `Publishers.Filter`,
|
|
15
|
+
/// `Publishers.RemoveDuplicates`, `Publishers.PrefixWhile` and more.
|
|
16
|
+
///
|
|
17
|
+
/// Subclasses must override the `receive(newValue:)` and `description`.
|
|
18
|
+
internal class FilterProducer<Downstream: Subscriber,
|
|
19
|
+
Input,
|
|
20
|
+
Output,
|
|
21
|
+
UpstreamFailure: Error,
|
|
22
|
+
Filter>
|
|
23
|
+
: CustomStringConvertible,
|
|
24
|
+
CustomReflectable
|
|
25
|
+
where Downstream.Input == Output
|
|
26
|
+
{
|
|
27
|
+
// MARK: - State
|
|
28
|
+
|
|
29
|
+
private enum State {
|
|
30
|
+
case awaitingSubscription
|
|
31
|
+
case connected(Subscription)
|
|
32
|
+
case completed
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
internal final let filter: Filter
|
|
36
|
+
|
|
37
|
+
internal final let downstream: Downstream
|
|
38
|
+
|
|
39
|
+
private let lock = UnfairLock.allocate()
|
|
40
|
+
|
|
41
|
+
private var state = State.awaitingSubscription
|
|
42
|
+
|
|
43
|
+
internal init(downstream: Downstream, filter: Filter) {
|
|
44
|
+
self.downstream = downstream
|
|
45
|
+
self.filter = filter
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
deinit {
|
|
49
|
+
lock.deallocate()
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// MARK: - Abstract methods
|
|
53
|
+
|
|
54
|
+
internal func receive(
|
|
55
|
+
newValue: Input
|
|
56
|
+
) -> PartialCompletion<Output?, Downstream.Failure> {
|
|
57
|
+
abstractMethod()
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
internal var description: String {
|
|
61
|
+
abstractMethod()
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// MARK: - CustomReflectable
|
|
65
|
+
|
|
66
|
+
internal var customMirror: Mirror {
|
|
67
|
+
let children = CollectionOfOne<Mirror.Child>(("downstream", downstream))
|
|
68
|
+
return Mirror(self, children: children)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
extension FilterProducer: Subscriber {
|
|
73
|
+
|
|
74
|
+
internal func receive(subscription: Subscription) {
|
|
75
|
+
lock.lock()
|
|
76
|
+
guard case .awaitingSubscription = state else {
|
|
77
|
+
lock.unlock()
|
|
78
|
+
subscription.cancel()
|
|
79
|
+
return
|
|
80
|
+
}
|
|
81
|
+
state = .connected(subscription)
|
|
82
|
+
lock.unlock()
|
|
83
|
+
downstream.receive(subscription: self)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
internal func receive(_ input: Input) -> Subscribers.Demand {
|
|
87
|
+
lock.lock()
|
|
88
|
+
switch state {
|
|
89
|
+
case .awaitingSubscription:
|
|
90
|
+
lock.unlock()
|
|
91
|
+
fatalError("Invalid state: Received value before receiving subscription")
|
|
92
|
+
case .completed:
|
|
93
|
+
lock.unlock()
|
|
94
|
+
case let .connected(subscription):
|
|
95
|
+
lock.unlock()
|
|
96
|
+
switch receive(newValue: input) {
|
|
97
|
+
case let .continue(output?):
|
|
98
|
+
return downstream.receive(output)
|
|
99
|
+
case .continue(nil):
|
|
100
|
+
return .max(1)
|
|
101
|
+
case .finished:
|
|
102
|
+
lock.lock()
|
|
103
|
+
state = .completed
|
|
104
|
+
lock.unlock()
|
|
105
|
+
subscription.cancel()
|
|
106
|
+
downstream.receive(completion: .finished)
|
|
107
|
+
case let .failure(error):
|
|
108
|
+
lock.lock()
|
|
109
|
+
state = .completed
|
|
110
|
+
lock.unlock()
|
|
111
|
+
subscription.cancel()
|
|
112
|
+
downstream.receive(completion: .failure(error))
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return .none
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
internal func receive(completion: Subscribers.Completion<UpstreamFailure>) {
|
|
120
|
+
lock.lock()
|
|
121
|
+
switch state {
|
|
122
|
+
case .awaitingSubscription:
|
|
123
|
+
lock.unlock()
|
|
124
|
+
fatalError("Invalid state: Received completion before receiving subscription")
|
|
125
|
+
case .completed:
|
|
126
|
+
lock.unlock()
|
|
127
|
+
return
|
|
128
|
+
case .connected:
|
|
129
|
+
state = .completed
|
|
130
|
+
lock.unlock()
|
|
131
|
+
switch completion {
|
|
132
|
+
case .finished:
|
|
133
|
+
downstream.receive(completion: .finished)
|
|
134
|
+
case let .failure(failure):
|
|
135
|
+
downstream.receive(completion: .failure(failure as! Downstream.Failure))
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
extension FilterProducer: Subscription {
|
|
142
|
+
|
|
143
|
+
internal func request(_ demand: Subscribers.Demand) {
|
|
144
|
+
demand.assertNonZero()
|
|
145
|
+
lock.lock()
|
|
146
|
+
switch state {
|
|
147
|
+
case .awaitingSubscription:
|
|
148
|
+
lock.unlock()
|
|
149
|
+
fatalError("Invalid state: Received request before sending subscription")
|
|
150
|
+
case .completed:
|
|
151
|
+
lock.unlock()
|
|
152
|
+
return
|
|
153
|
+
case let .connected(subscription):
|
|
154
|
+
lock.unlock()
|
|
155
|
+
subscription.request(demand)
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
internal func cancel() {
|
|
160
|
+
lock.lock()
|
|
161
|
+
guard case let .connected(subscription) = state else {
|
|
162
|
+
state = .completed
|
|
163
|
+
lock.unlock()
|
|
164
|
+
return
|
|
165
|
+
}
|
|
166
|
+
state = .completed
|
|
167
|
+
lock.unlock()
|
|
168
|
+
subscription.cancel()
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
extension FilterProducer: CustomPlaygroundDisplayConvertible {
|
|
173
|
+
internal var playgroundDescription: Any { return description }
|
|
174
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Locking.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 11.06.2019.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
#if canImport(COpenCombineHelpers)
|
|
9
|
+
import COpenCombineHelpers
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
#if WASI
|
|
13
|
+
internal struct __UnfairLock { // swiftlint:disable:this type_name
|
|
14
|
+
internal static func allocate() -> UnfairLock { return .init() }
|
|
15
|
+
internal func lock() {}
|
|
16
|
+
internal func unlock() {}
|
|
17
|
+
internal func assertOwner() {}
|
|
18
|
+
internal func deallocate() {}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
internal struct __UnfairRecursiveLock { // swiftlint:disable:this type_name
|
|
22
|
+
internal static func allocate() -> UnfairRecursiveLock { return .init() }
|
|
23
|
+
internal func lock() {}
|
|
24
|
+
internal func unlock() {}
|
|
25
|
+
internal func deallocate() {}
|
|
26
|
+
}
|
|
27
|
+
#endif // WASI
|
|
28
|
+
|
|
29
|
+
internal typealias UnfairLock = __UnfairLock
|
|
30
|
+
internal typealias UnfairRecursiveLock = __UnfairRecursiveLock
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//
|
|
2
|
+
// PartialCompletion.swift
|
|
3
|
+
//
|
|
4
|
+
//
|
|
5
|
+
// Created by Sergej Jaskiewicz on 22.09.2019.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
/// A value of this type is returned by the overridden `receive(newValue:)` method
|
|
9
|
+
/// of the `ReduceProducer` and `FilterProducer` classes.
|
|
10
|
+
internal enum PartialCompletion<Value, Failure: Error> {
|
|
11
|
+
|
|
12
|
+
/// Indicate that we should continue accepting the upstream's output.
|
|
13
|
+
case `continue`(Value)
|
|
14
|
+
|
|
15
|
+
/// Indicate that no values should be received from the upstream anymore.
|
|
16
|
+
case finished
|
|
17
|
+
|
|
18
|
+
/// Indicate that there was a failure and we should send it downstream.
|
|
19
|
+
case failure(Failure)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
extension PartialCompletion where Value == Void {
|
|
23
|
+
|
|
24
|
+
/// Indicate that we should continue accepting the upstream's output.
|
|
25
|
+
internal static var `continue`: PartialCompletion { return .continue(()) }
|
|
26
|
+
}
|