Implementação de código aberto da estrutura combinada da Apple para o processamento de valores ao longo do tempo.
O principal objetivo deste projeto é fornecer uma implementação compatível, confiável e eficiente, que pode ser usada nos sistemas operacionais da Apple antes do MacOS 10.15 e iOS 13, bem como Linux, Windows e WebAssembly.
| Status do CI |
|---|
OpenCombine contém três metas públicas: OpenCombine , OpenCombineFoundation e OpenCombineDispatch (o quarto, COpenCombineHelpers , é considerado privado. Não o importe em seus projetos).
O próprio OpenCombine não tem nenhuma dependência. Nem mesmo fundamento ou despacho. Se você deseja usar o OpenCombine com o Dispatch (por exemplo, para usar DispatchQueue como Scheduler para operadores como debounce , receive(on:) etc.), você precisará importar OpenCombine e OpenCombineDispatch . O mesmo se aplica à fundação: se você deseja usar, por exemplo, NotificationCenter ou os editores URLSession , precisará importar OpenCombineFoundation .
Se você desenvolver código para várias plataformas, poderá achar mais conveniente importar o módulo OpenCombineShim . Ele reexporta condicionalmente combina nas plataformas da Apple (se disponível) e todos os módulos OpenCombine em outras plataformas. Você pode importar OpenCombineShim apenas ao usar o SWIFTPM. No momento, não está disponível para Cocoapods.
Para adicionar OpenCombine ao seu pacote Swiftpm, adicione o pacote OpenCombine à lista de dependências de pacote e destino no seu arquivo Package.swift . Os produtos OpenCombineDispatch e OpenCombineFoundation atualmente não são suportados no WebAssembly. Se o seu projeto tem como alvo o WebAssembly exclusivamente, você deve omiti -los na lista de suas dependências. Se ele tem como alvo várias plataformas, incluindo a WebAssembly, depende deles apenas em plataformas que não sejam de quem não sejam de quem não sejam com dependências de destino condicionais.
dependencies: [
. package ( url : " https://github.com/OpenCombine/OpenCombine.git " , from : " 0.14.0 " )
] ,
targets: [
. target (
name : " MyAwesomePackage " ,
dependencies : [
" OpenCombine " ,
. product ( name : " OpenCombineFoundation " , package : " OpenCombine " ) ,
. product ( name : " OpenCombineDispatch " , package : " OpenCombine " )
]
) ,
] OpenCombine também pode ser adicionado como uma dependência do SWIFTPM diretamente no seu projeto Xcode (requer Xcode 11 para cima) .
Para fazer isso, abra o Xcode, use o arquivo → Pacotes Swift → Adicionar dependência do pacote ... , insira o URL do repositório, escolha a versão mais recente disponível e ative as caixas de seleção:

Para adicionar OpenCombine a um projeto usando Cocoapods, adicione OpenCombine e OpenCombineDispatch à lista de dependências de destino no seu Podfile .
pod 'OpenCombine' , '~> 0.14.0'
pod 'OpenCombineDispatch' , '~> 0.14.0'
pod 'OpenCombineFoundation' , '~> 0.14.0' O arquivo opencombine_lldb.py define alguns resumos do tipo lldb para facilitar a depuração. Esses resumos de tipo melhoram a maneira como lldb e o Xcode exibem alguns valores de OpenCombine.
Para usar opencombine_lldb.py , descubra seu caminho completo. Digamos que o caminho completo seja ~/projects/OpenCombine/opencombine_lldb.py . Em seguida, a seguinte declaração para o seu arquivo ~/.lldbinit :
command script import ~/projects/OpenCombine/opencombine_lldb.py
Atualmente, opencombine_lldb.py define resumos de tipo para estes tipos:
Subscribers.DemandConsulte Contribuindo.md.