1
1
import Combine
2
2
3
+ extension EffectPublisher where Failure == Never {
4
+ /// Creates an effect from a Combine publisher.
5
+ ///
6
+ /// - Parameter createPublisher: The closure to execute when the effect is performed.
7
+ /// - Returns: An effect wrapping a Combine publisher.
8
+ public static func publisher< P: Publisher > ( _ createPublisher: @escaping ( ) -> P ) -> Self
9
+ where P. Output == Action , P. Failure == Never {
10
+ Self (
11
+ operation: . publisher( Deferred ( createPublisher: createPublisher) . eraseToAnyPublisher ( ) )
12
+ )
13
+ }
14
+ }
15
+
3
16
@available ( iOS, deprecated: 9999.0 )
4
17
@available ( macOS, deprecated: 9999.0 )
5
18
@available ( tvOS, deprecated: 9999.0 )
@@ -79,19 +92,19 @@ extension EffectPublisher {
79
92
/// - Parameter publisher: A publisher.
80
93
@available (
81
94
iOS, deprecated: 9999.0 ,
82
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
95
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
83
96
)
84
97
@available (
85
98
macOS, deprecated: 9999.0 ,
86
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
99
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
87
100
)
88
101
@available (
89
102
tvOS, deprecated: 9999.0 ,
90
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
103
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
91
104
)
92
105
@available (
93
106
watchOS, deprecated: 9999.0 ,
94
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
107
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
95
108
)
96
109
public init < P: Publisher > ( _ publisher: P ) where P. Output == Output , P. Failure == Failure {
97
110
self . operation = . publisher( publisher. eraseToAnyPublisher ( ) )
@@ -367,19 +380,19 @@ extension Publisher {
367
380
/// - Returns: An effect that wraps `self`.
368
381
@available (
369
382
iOS, deprecated: 9999.0 ,
370
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
383
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
371
384
)
372
385
@available (
373
386
macOS, deprecated: 9999.0 ,
374
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
387
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
375
388
)
376
389
@available (
377
390
tvOS, deprecated: 9999.0 ,
378
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
391
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
379
392
)
380
393
@available (
381
394
watchOS, deprecated: 9999.0 ,
382
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
395
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
383
396
)
384
397
public func eraseToEffect( ) -> EffectPublisher < Output , Failure > {
385
398
EffectPublisher ( self )
@@ -402,19 +415,19 @@ extension Publisher {
402
415
/// - Returns: An effect that wraps `self` after mapping `Output` values.
403
416
@available (
404
417
iOS, deprecated: 9999.0 ,
405
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
418
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
406
419
)
407
420
@available (
408
421
macOS, deprecated: 9999.0 ,
409
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
422
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
410
423
)
411
424
@available (
412
425
tvOS, deprecated: 9999.0 ,
413
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
426
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
414
427
)
415
428
@available (
416
429
watchOS, deprecated: 9999.0 ,
417
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
430
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
418
431
)
419
432
public func eraseToEffect< T> (
420
433
_ transform: @escaping ( Output ) -> T
@@ -447,19 +460,19 @@ extension Publisher {
447
460
/// - Returns: An effect that wraps `self`.
448
461
@available (
449
462
iOS, deprecated: 9999.0 ,
450
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
463
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
451
464
)
452
465
@available (
453
466
macOS, deprecated: 9999.0 ,
454
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
467
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
455
468
)
456
469
@available (
457
470
tvOS, deprecated: 9999.0 ,
458
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
471
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
459
472
)
460
473
@available (
461
474
watchOS, deprecated: 9999.0 ,
462
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
475
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
463
476
)
464
477
public func catchToEffect( ) -> EffectTask < Result < Output , Failure > > {
465
478
self . catchToEffect { $0 }
@@ -482,19 +495,19 @@ extension Publisher {
482
495
/// - Returns: An effect that wraps `self`.
483
496
@available (
484
497
iOS, deprecated: 9999.0 ,
485
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
498
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
486
499
)
487
500
@available (
488
501
macOS, deprecated: 9999.0 ,
489
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
502
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
490
503
)
491
504
@available (
492
505
tvOS, deprecated: 9999.0 ,
493
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
506
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
494
507
)
495
508
@available (
496
509
watchOS, deprecated: 9999.0 ,
497
- message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead. "
510
+ message: " Iterate over 'Publisher.values' in an 'EffectTask.run', instead, or use 'EffectTask.publisher' . "
498
511
)
499
512
public func catchToEffect< T> (
500
513
_ transform: @escaping ( Result < Output , Failure > ) -> T
0 commit comments