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 */; };
|
EAB1D2C728A6E76300DAE764 /* ModelHandlerPublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2C628A6E76300DAE764 /* ModelHandlerPublisher.swift */; };
|
||||||
EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2CC28ABE76000DAE764 /* Withable.swift */; };
|
EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2CC28ABE76000DAE764 /* Withable.swift */; };
|
||||||
EAB1D2CF28ABEF2B00DAE764 /* Typography.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2CE28ABEF2B00DAE764 /* Typography.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 */; };
|
EAF7F0952899861000B287F5 /* Checkbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0932899861000B287F5 /* Checkbox.swift */; };
|
||||||
EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0942899861000B287F5 /* CheckboxModel.swift */; };
|
EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0942899861000B287F5 /* CheckboxModel.swift */; };
|
||||||
EAF7F09A2899B17200B287F5 /* CATransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF7F0992899B17200B287F5 /* CATransaction.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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
EAF7F0992899B17200B287F5 /* CATransaction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CATransaction.swift; sourceTree = "<group>"; };
|
||||||
@ -205,6 +207,7 @@
|
|||||||
EA3361DF2891D0F10071C351 /* Fonts */,
|
EA3361DF2891D0F10071C351 /* Fonts */,
|
||||||
EA3361AB288B25EC0071C351 /* Protocols */,
|
EA3361AB288B25EC0071C351 /* Protocols */,
|
||||||
EAB1D29F28A598D000DAE764 /* PropertyWrappers */,
|
EAB1D29F28A598D000DAE764 /* PropertyWrappers */,
|
||||||
|
EAB1D2E228AE842000DAE764 /* Publishers */,
|
||||||
EAB1D2D028ABEF3100DAE764 /* Typography */,
|
EAB1D2D028ABEF3100DAE764 /* Typography */,
|
||||||
EA3361B9288B2BE30071C351 /* Utilities */,
|
EA3361B9288B2BE30071C351 /* Utilities */,
|
||||||
EA3361FE2891E14C0071C351 /* SupportingFiles */,
|
EA3361FE2891E14C0071C351 /* SupportingFiles */,
|
||||||
@ -296,7 +299,6 @@
|
|||||||
children = (
|
children = (
|
||||||
EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */,
|
EAF7F0B8289C139800B287F5 /* ColorConfiguration.swift */,
|
||||||
EAF7F09D289AAEC000B287F5 /* Constants.swift */,
|
EAF7F09D289AAEC000B287F5 /* Constants.swift */,
|
||||||
EAB1D2C628A6E76300DAE764 /* ModelHandlerPublisher.swift */,
|
|
||||||
EA3361B5288B2A410071C351 /* Control.swift */,
|
EA3361B5288B2A410071C351 /* Control.swift */,
|
||||||
EAF7F09F289AB7EC00B287F5 /* View.swift */,
|
EAF7F09F289AB7EC00B287F5 /* View.swift */,
|
||||||
);
|
);
|
||||||
@ -367,6 +369,15 @@
|
|||||||
path = Typography;
|
path = Typography;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
EAB1D2E228AE842000DAE764 /* Publishers */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
EAB1D2E328AE842000DAE764 /* Publisher+Bind.swift */,
|
||||||
|
EAB1D2C628A6E76300DAE764 /* ModelHandlerPublisher.swift */,
|
||||||
|
);
|
||||||
|
path = Publishers;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
EAF7F092289985E200B287F5 /* Checkbox */ = {
|
EAF7F092289985E200B287F5 /* Checkbox */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -566,6 +577,7 @@
|
|||||||
EAB1D29C28A5618900DAE764 /* RadioButtonGroup.swift in Sources */,
|
EAB1D29C28A5618900DAE764 /* RadioButtonGroup.swift in Sources */,
|
||||||
EA336171288B19200071C351 /* VDS.docc in Sources */,
|
EA336171288B19200071C351 /* VDS.docc in Sources */,
|
||||||
EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */,
|
EAF7F0962899861000B287F5 /* CheckboxModel.swift in Sources */,
|
||||||
|
EAB1D2E628AE842000DAE764 /* Publisher+Bind.swift in Sources */,
|
||||||
EAB1D2C728A6E76300DAE764 /* ModelHandlerPublisher.swift in Sources */,
|
EAB1D2C728A6E76300DAE764 /* ModelHandlerPublisher.swift in Sources */,
|
||||||
EA3361AA288B25E40071C351 /* Disabling.swift in Sources */,
|
EA3361AA288B25E40071C351 /* Disabling.swift in Sources */,
|
||||||
EA3361B6288B2A410071C351 /* Control.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