created publisher folder
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
350da3fb2b
commit
0bbdf6ddf0
@ -46,6 +46,7 @@
|
||||
EAB1D2C728A6E76300DAE764 /* ModelHandlerPublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2C628A6E76300DAE764 /* ModelHandlerPublisher.swift */; };
|
||||
EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2CC28ABE76000DAE764 /* Withable.swift */; };
|
||||
EAB1D2CF28ABEF2B00DAE764 /* Typography.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2CE28ABEF2B00DAE764 /* Typography.swift */; };
|
||||
EAB1D2E628AE842000DAE764 /* Publisher+Bind.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2E328AE842000DAE764 /* Publisher+Bind.swift */; };
|
||||
EAF7F0952899861000B287F5 /* Checkbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0932899861000B287F5 /* Checkbox.swift */; };
|
||||
EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0942899861000B287F5 /* CheckboxModel.swift */; };
|
||||
EAF7F09A2899B17200B287F5 /* CATransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0992899B17200B287F5 /* CATransaction.swift */; };
|
||||
@ -126,6 +127,7 @@
|
||||
EAB1D2C628A6E76300DAE764 /* ModelHandlerPublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModelHandlerPublisher.swift; sourceTree = "<group>"; };
|
||||
EAB1D2CC28ABE76000DAE764 /* Withable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Withable.swift; sourceTree = "<group>"; };
|
||||
EAB1D2CE28ABEF2B00DAE764 /* Typography.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Typography.swift; sourceTree = "<group>"; };
|
||||
EAB1D2E328AE842000DAE764 /* Publisher+Bind.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Publisher+Bind.swift"; sourceTree = "<group>"; };
|
||||
EAF7F0932899861000B287F5 /* Checkbox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Checkbox.swift; sourceTree = "<group>"; };
|
||||
EAF7F0942899861000B287F5 /* CheckboxModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckboxModel.swift; sourceTree = "<group>"; };
|
||||
EAF7F0992899B17200B287F5 /* CATransaction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CATransaction.swift; sourceTree = "<group>"; };
|
||||
@ -205,6 +207,7 @@
|
||||
EA3361DF2891D0F10071C351 /* Fonts */,
|
||||
EA3361AB288B25EC0071C351 /* Protocols */,
|
||||
EAB1D29F28A598D000DAE764 /* PropertyWrappers */,
|
||||
EAB1D2E228AE842000DAE764 /* Publishers */,
|
||||
EAB1D2D028ABEF3100DAE764 /* Typography */,
|
||||
EA3361B9288B2BE30071C351 /* Utilities */,
|
||||
EA3361FE2891E14C0071C351 /* SupportingFiles */,
|
||||
@ -296,7 +299,6 @@
|
||||
children = (
|
||||
EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */,
|
||||
EAF7F09D289AAEC000B287F5 /* Constants.swift */,
|
||||
EAB1D2C628A6E76300DAE764 /* ModelHandlerPublisher.swift */,
|
||||
EA3361B5288B2A410071C351 /* Control.swift */,
|
||||
EAF7F09F289AB7EC00B287F5 /* View.swift */,
|
||||
);
|
||||
@ -367,6 +369,15 @@
|
||||
path = Typography;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EAB1D2E228AE842000DAE764 /* Publishers */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EAB1D2E328AE842000DAE764 /* Publisher+Bind.swift */,
|
||||
EAB1D2C628A6E76300DAE764 /* ModelHandlerPublisher.swift */,
|
||||
);
|
||||
path = Publishers;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
EAF7F092289985E200B287F5 /* Checkbox */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -566,6 +577,7 @@
|
||||
EAB1D29C28A5618900DAE764 /* RadioButtonGroup.swift in Sources */,
|
||||
EA336171288B19200071C351 /* VDS.docc in Sources */,
|
||||
EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */,
|
||||
EAB1D2E628AE842000DAE764 /* Publisher+Bind.swift in Sources */,
|
||||
EAB1D2C728A6E76300DAE764 /* ModelHandlerPublisher.swift in Sources */,
|
||||
EA3361AA288B25E40071C351 /* Disabling.swift in Sources */,
|
||||
EA3361B6288B2A410071C351 /* Control.swift in Sources */,
|
||||
|
||||
24
VDS/Publishers/Publisher+Bind.swift
Normal file
24
VDS/Publishers/Publisher+Bind.swift
Normal file
@ -0,0 +1,24 @@
|
||||
//
|
||||
// Publisher+Bind.swift
|
||||
// VDS
|
||||
//
|
||||
// Created by Matt Bruce on 8/18/22.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import Combine
|
||||
|
||||
public typealias Binding = Subscriber
|
||||
|
||||
public extension Publisher where Failure == Never {
|
||||
func bind<B: Binding>(subscriber: B) -> AnyCancellable
|
||||
where B.Failure == Never, B.Input == Output {
|
||||
|
||||
handleEvents(receiveSubscription: { subscription in
|
||||
subscriber.receive(subscription: subscription)
|
||||
})
|
||||
.sink { value in
|
||||
_ = subscriber.receive(value)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user