func connect()

in MobiusCore/Source/ConnectablePublisher.swift [45:67]


    func connect(to outputConsumer: @escaping Consumer<Value>) -> Connection<Value> {
        return access.guard { () -> Connection<Value> in
            guard !_disposed else {
                // Callers are responsible for ensuring connect is never entered after dispose.
                MobiusHooks.errorHandler(
                    "ConnectablePublisher<\(Value.self)> cannot add connections when disposed",
                    #file,
                    #line
                )
            }

            let uuid = UUID()
            let connection = Connection(acceptClosure: outputConsumer, disposeClosure: { [weak self] in self?.removeConnection(for: uuid) })

            self.connections[uuid] = connection

            if let value = currentValue {
                outputConsumer(value)
            }

            return connection
        }
    }