Skip to content

Commit 7b82f3b

Browse files
ChrisPulmanRLittlesIIglennawatson
authored
feature: Add RxCommand (#1)
* feature: Add RxCommand Co-Authored-By: glennawatson <[email protected]> * leaving bread crumbs * Add OnCompleted to Dispose of RxCommand --------- Co-authored-by: rlittlesii <[email protected]> Co-authored-by: glennawatson <[email protected]>
1 parent 08f52c8 commit 7b82f3b

23 files changed

+3957
-0
lines changed

.editorconfig

Lines changed: 457 additions & 0 deletions
Large diffs are not rendered by default.

.gitattributes

Lines changed: 289 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
# Catch all for anything we forgot. Add rules if you get CRLF to LF warnings.
2+
* text=auto
3+
4+
# Text files that should be normalized to LF in odb.
5+
*.cs text diff=csharp
6+
*.xaml text
7+
*.config text
8+
*.c text
9+
*.h text
10+
*.cpp text
11+
*.hpp text
12+
*.sln text
13+
*.csproj text
14+
*.vcxproj text
15+
*.md text
16+
*.tt text
17+
*.sh text
18+
*.ps1 text
19+
*.cmd text
20+
*.bat text
21+
*.markdown text
22+
*.msbuild text
23+
# Binary files that should not be normalized or diffed
24+
*.png binary
25+
*.jpg binary
26+
*.gif binary
27+
*.ico binary
28+
*.rc binary
29+
*.pfx binary
30+
*.snk binary
31+
*.dll binary
32+
*.exe binary
33+
*.lib binary
34+
*.exp binary
35+
*.pdb binary
36+
*.sdf binary
37+
*.7z binary
38+
# Generated file should just use CRLF, it's fiiine
39+
SolutionInfo.cs text eol=crlf diff=csharp
40+
*.mht filter=lfs diff=lfs merge=lfs -text
41+
*.ppam filter=lfs diff=lfs merge=lfs -text
42+
*.wmv filter=lfs diff=lfs merge=lfs -text
43+
*.btif filter=lfs diff=lfs merge=lfs -text
44+
*.fla filter=lfs diff=lfs merge=lfs -text
45+
*.qt filter=lfs diff=lfs merge=lfs -text
46+
*.xlam filter=lfs diff=lfs merge=lfs -text
47+
*.xm filter=lfs diff=lfs merge=lfs -text
48+
*.djvu filter=lfs diff=lfs merge=lfs -text
49+
*.woff filter=lfs diff=lfs merge=lfs -text
50+
*.a filter=lfs diff=lfs merge=lfs -text
51+
*.bak filter=lfs diff=lfs merge=lfs -text
52+
*.lha filter=lfs diff=lfs merge=lfs -text
53+
*.mpg filter=lfs diff=lfs merge=lfs -text
54+
*.xltm filter=lfs diff=lfs merge=lfs -text
55+
*.eol filter=lfs diff=lfs merge=lfs -text
56+
*.ipa filter=lfs diff=lfs merge=lfs -text
57+
*.ttf filter=lfs diff=lfs merge=lfs -text
58+
*.uvm filter=lfs diff=lfs merge=lfs -text
59+
*.cmx filter=lfs diff=lfs merge=lfs -text
60+
*.dng filter=lfs diff=lfs merge=lfs -text
61+
*.xltx filter=lfs diff=lfs merge=lfs -text
62+
*.fli filter=lfs diff=lfs merge=lfs -text
63+
*.wmx filter=lfs diff=lfs merge=lfs -text
64+
*.jxr filter=lfs diff=lfs merge=lfs -text
65+
*.pyv filter=lfs diff=lfs merge=lfs -text
66+
*.s7z filter=lfs diff=lfs merge=lfs -text
67+
*.csv filter=lfs diff=lfs merge=lfs -text
68+
*.pptm filter=lfs diff=lfs merge=lfs -text
69+
*.rz filter=lfs diff=lfs merge=lfs -text
70+
*.wm filter=lfs diff=lfs merge=lfs -text
71+
*.xlsx filter=lfs diff=lfs merge=lfs -text
72+
*.bh filter=lfs diff=lfs merge=lfs -text
73+
*.dat filter=lfs diff=lfs merge=lfs -text
74+
*.mid filter=lfs diff=lfs merge=lfs -text
75+
*.mpga filter=lfs diff=lfs merge=lfs -text
76+
*.ogg filter=lfs diff=lfs merge=lfs -text
77+
*.s3m filter=lfs diff=lfs merge=lfs -text
78+
*.mar filter=lfs diff=lfs merge=lfs -text
79+
*.movie filter=lfs diff=lfs merge=lfs -text
80+
*.pptx filter=lfs diff=lfs merge=lfs -text
81+
*.dll filter=lfs diff=lfs merge=lfs -text
82+
*.docm filter=lfs diff=lfs merge=lfs -text
83+
*.m3u filter=lfs diff=lfs merge=lfs -text
84+
*.mov filter=lfs diff=lfs merge=lfs -text
85+
*.aac filter=lfs diff=lfs merge=lfs -text
86+
*.jar filter=lfs diff=lfs merge=lfs -text
87+
*.midi filter=lfs diff=lfs merge=lfs -text
88+
*.mobi filter=lfs diff=lfs merge=lfs -text
89+
*.potm filter=lfs diff=lfs merge=lfs -text
90+
*.woff2 filter=lfs diff=lfs merge=lfs -text
91+
*.cab filter=lfs diff=lfs merge=lfs -text
92+
*.dmg filter=lfs diff=lfs merge=lfs -text
93+
*.pdf filter=lfs diff=lfs merge=lfs -text
94+
*.war filter=lfs diff=lfs merge=lfs -text
95+
*.bz2 filter=lfs diff=lfs merge=lfs -text
96+
*.icns filter=lfs diff=lfs merge=lfs -text
97+
*.slk filter=lfs diff=lfs merge=lfs -text
98+
*.wbmp filter=lfs diff=lfs merge=lfs -text
99+
*.xpm filter=lfs diff=lfs merge=lfs -text
100+
*.xmind filter=lfs diff=lfs merge=lfs -text
101+
*.3g2 filter=lfs diff=lfs merge=lfs -text
102+
*.m4v filter=lfs diff=lfs merge=lfs -text
103+
*.pic filter=lfs diff=lfs merge=lfs -text
104+
*.uvi filter=lfs diff=lfs merge=lfs -text
105+
*.uvp filter=lfs diff=lfs merge=lfs -text
106+
*.xls filter=lfs diff=lfs merge=lfs -text
107+
*.jpgv filter=lfs diff=lfs merge=lfs -text
108+
*.mka filter=lfs diff=lfs merge=lfs -text
109+
*.swf filter=lfs diff=lfs merge=lfs -text
110+
*.uvs filter=lfs diff=lfs merge=lfs -text
111+
*.wav filter=lfs diff=lfs merge=lfs -text
112+
*.ecelp4800 filter=lfs diff=lfs merge=lfs -text
113+
*.mng filter=lfs diff=lfs merge=lfs -text
114+
*.pps filter=lfs diff=lfs merge=lfs -text
115+
*.whl filter=lfs diff=lfs merge=lfs -text
116+
*.arj filter=lfs diff=lfs merge=lfs -text
117+
*.lzh filter=lfs diff=lfs merge=lfs -text
118+
*.raw filter=lfs diff=lfs merge=lfs -text
119+
*.rlc filter=lfs diff=lfs merge=lfs -text
120+
*.sgi filter=lfs diff=lfs merge=lfs -text
121+
*.tar filter=lfs diff=lfs merge=lfs -text
122+
*.au filter=lfs diff=lfs merge=lfs -text
123+
*.dcm filter=lfs diff=lfs merge=lfs -text
124+
*.GIF filter=lfs diff=lfs merge=lfs -text
125+
*.resources filter=lfs diff=lfs merge=lfs -text
126+
*.txz filter=lfs diff=lfs merge=lfs -text
127+
*.rar filter=lfs diff=lfs merge=lfs -text
128+
*.sil filter=lfs diff=lfs merge=lfs -text
129+
*.bk filter=lfs diff=lfs merge=lfs -text
130+
*.DS_Store filter=lfs diff=lfs merge=lfs -text
131+
*.ief filter=lfs diff=lfs merge=lfs -text
132+
*.JPEG filter=lfs diff=lfs merge=lfs -text
133+
*.pbm filter=lfs diff=lfs merge=lfs -text
134+
*.png filter=lfs diff=lfs merge=lfs -text
135+
*.sketch filter=lfs diff=lfs merge=lfs -text
136+
*.tbz2 filter=lfs diff=lfs merge=lfs -text
137+
*.nef filter=lfs diff=lfs merge=lfs -text
138+
*.oga filter=lfs diff=lfs merge=lfs -text
139+
*.zip filter=lfs diff=lfs merge=lfs -text
140+
*.ecelp7470 filter=lfs diff=lfs merge=lfs -text
141+
*.xlt filter=lfs diff=lfs merge=lfs -text
142+
*.exe filter=lfs diff=lfs merge=lfs -text
143+
*.mp4 filter=lfs diff=lfs merge=lfs -text
144+
*.pnm filter=lfs diff=lfs merge=lfs -text
145+
*.ttc filter=lfs diff=lfs merge=lfs -text
146+
*.wdp filter=lfs diff=lfs merge=lfs -text
147+
*.xbm filter=lfs diff=lfs merge=lfs -text
148+
*.ecelp9600 filter=lfs diff=lfs merge=lfs -text
149+
*.pot filter=lfs diff=lfs merge=lfs -text
150+
*.wvx filter=lfs diff=lfs merge=lfs -text
151+
*.uvu filter=lfs diff=lfs merge=lfs -text
152+
*.asf filter=lfs diff=lfs merge=lfs -text
153+
*.dxf filter=lfs diff=lfs merge=lfs -text
154+
*.flv filter=lfs diff=lfs merge=lfs -text
155+
*.mdi filter=lfs diff=lfs merge=lfs -text
156+
*.pcx filter=lfs diff=lfs merge=lfs -text
157+
*.tiff filter=lfs diff=lfs merge=lfs -text
158+
*.bzip2 filter=lfs diff=lfs merge=lfs -text
159+
*.deb filter=lfs diff=lfs merge=lfs -text
160+
*.graffle filter=lfs diff=lfs merge=lfs -text
161+
*.h261 filter=lfs diff=lfs merge=lfs -text
162+
*.jpeg filter=lfs diff=lfs merge=lfs -text
163+
*.ppm filter=lfs diff=lfs merge=lfs -text
164+
*.tif filter=lfs diff=lfs merge=lfs -text
165+
*.ppt filter=lfs diff=lfs merge=lfs -text
166+
*.fbs filter=lfs diff=lfs merge=lfs -text
167+
*.gzip filter=lfs diff=lfs merge=lfs -text
168+
*.o filter=lfs diff=lfs merge=lfs -text
169+
*.sub filter=lfs diff=lfs merge=lfs -text
170+
*.z filter=lfs diff=lfs merge=lfs -text
171+
*.alz filter=lfs diff=lfs merge=lfs -text
172+
*.BMP filter=lfs diff=lfs merge=lfs -text
173+
*.dotm filter=lfs diff=lfs merge=lfs -text
174+
*.key filter=lfs diff=lfs merge=lfs -text
175+
*.rgb filter=lfs diff=lfs merge=lfs -text
176+
*.f4v filter=lfs diff=lfs merge=lfs -text
177+
*.iso filter=lfs diff=lfs merge=lfs -text
178+
*.ai filter=lfs diff=lfs merge=lfs -text
179+
*.dtshd filter=lfs diff=lfs merge=lfs -text
180+
*.fpx filter=lfs diff=lfs merge=lfs -text
181+
*.shar filter=lfs diff=lfs merge=lfs -text
182+
*.img filter=lfs diff=lfs merge=lfs -text
183+
*.rmf filter=lfs diff=lfs merge=lfs -text
184+
*.xz filter=lfs diff=lfs merge=lfs -text
185+
*.eot filter=lfs diff=lfs merge=lfs -text
186+
*.wma filter=lfs diff=lfs merge=lfs -text
187+
*.cpio filter=lfs diff=lfs merge=lfs -text
188+
*.cr2 filter=lfs diff=lfs merge=lfs -text
189+
*.adp filter=lfs diff=lfs merge=lfs -text
190+
*.mpeg filter=lfs diff=lfs merge=lfs -text
191+
*.npx filter=lfs diff=lfs merge=lfs -text
192+
*.pdb filter=lfs diff=lfs merge=lfs -text
193+
*.PNG filter=lfs diff=lfs merge=lfs -text
194+
*.xwd filter=lfs diff=lfs merge=lfs -text
195+
*.egg filter=lfs diff=lfs merge=lfs -text
196+
*.ppsx filter=lfs diff=lfs merge=lfs -text
197+
*.mp4a filter=lfs diff=lfs merge=lfs -text
198+
*.pages filter=lfs diff=lfs merge=lfs -text
199+
*.baml filter=lfs diff=lfs merge=lfs -text
200+
*.bin filter=lfs diff=lfs merge=lfs -text
201+
*.class filter=lfs diff=lfs merge=lfs -text
202+
*.h264 filter=lfs diff=lfs merge=lfs -text
203+
*.lib filter=lfs diff=lfs merge=lfs -text
204+
*.mmr filter=lfs diff=lfs merge=lfs -text
205+
*.dot filter=lfs diff=lfs merge=lfs -text
206+
*.gif filter=lfs diff=lfs merge=lfs -text
207+
*.JPG filter=lfs diff=lfs merge=lfs -text
208+
*.m4a filter=lfs diff=lfs merge=lfs -text
209+
*.so filter=lfs diff=lfs merge=lfs -text
210+
*.tgz filter=lfs diff=lfs merge=lfs -text
211+
*.thmx filter=lfs diff=lfs merge=lfs -text
212+
*.3ds filter=lfs diff=lfs merge=lfs -text
213+
*.bmp filter=lfs diff=lfs merge=lfs -text
214+
*.ogv filter=lfs diff=lfs merge=lfs -text
215+
*.xif filter=lfs diff=lfs merge=lfs -text
216+
*.aiff filter=lfs diff=lfs merge=lfs -text
217+
*.dts filter=lfs diff=lfs merge=lfs -text
218+
*.rip filter=lfs diff=lfs merge=lfs -text
219+
*.vob filter=lfs diff=lfs merge=lfs -text
220+
*.7z filter=lfs diff=lfs merge=lfs -text
221+
*.fh filter=lfs diff=lfs merge=lfs -text
222+
*.flac filter=lfs diff=lfs merge=lfs -text
223+
*.g3 filter=lfs diff=lfs merge=lfs -text
224+
*.jpm filter=lfs diff=lfs merge=lfs -text
225+
*.ppsm filter=lfs diff=lfs merge=lfs -text
226+
*.potx filter=lfs diff=lfs merge=lfs -text
227+
*.zipx filter=lfs diff=lfs merge=lfs -text
228+
*.dsk filter=lfs diff=lfs merge=lfs -text
229+
*.ico filter=lfs diff=lfs merge=lfs -text
230+
*.ktx filter=lfs diff=lfs merge=lfs -text
231+
*.lz filter=lfs diff=lfs merge=lfs -text
232+
*.numbers filter=lfs diff=lfs merge=lfs -text
233+
*.3gp filter=lfs diff=lfs merge=lfs -text
234+
*.fst filter=lfs diff=lfs merge=lfs -text
235+
*.scpt filter=lfs diff=lfs merge=lfs -text
236+
*.epub filter=lfs diff=lfs merge=lfs -text
237+
*.rmvb filter=lfs diff=lfs merge=lfs -text
238+
*.webm filter=lfs diff=lfs merge=lfs -text
239+
*.docx filter=lfs diff=lfs merge=lfs -text
240+
*.pgm filter=lfs diff=lfs merge=lfs -text
241+
*.pya filter=lfs diff=lfs merge=lfs -text
242+
*.rtf filter=lfs diff=lfs merge=lfs -text
243+
*.smv filter=lfs diff=lfs merge=lfs -text
244+
*.tga filter=lfs diff=lfs merge=lfs -text
245+
*.cur filter=lfs diff=lfs merge=lfs -text
246+
*.dwg filter=lfs diff=lfs merge=lfs -text
247+
*.lvp filter=lfs diff=lfs merge=lfs -text
248+
*.pyo filter=lfs diff=lfs merge=lfs -text
249+
*.apk filter=lfs diff=lfs merge=lfs -text
250+
*.ar filter=lfs diff=lfs merge=lfs -text
251+
*.caf filter=lfs diff=lfs merge=lfs -text
252+
*.doc filter=lfs diff=lfs merge=lfs -text
253+
*.h263 filter=lfs diff=lfs merge=lfs -text
254+
*.xlsm filter=lfs diff=lfs merge=lfs -text
255+
*.mp3 filter=lfs diff=lfs merge=lfs -text
256+
*.mxu filter=lfs diff=lfs merge=lfs -text
257+
*.wax filter=lfs diff=lfs merge=lfs -text
258+
*.gz filter=lfs diff=lfs merge=lfs -text
259+
*.mj2 filter=lfs diff=lfs merge=lfs -text
260+
*.otf filter=lfs diff=lfs merge=lfs -text
261+
*.udf filter=lfs diff=lfs merge=lfs -text
262+
*.aif filter=lfs diff=lfs merge=lfs -text
263+
*.lzma filter=lfs diff=lfs merge=lfs -text
264+
*.pyc filter=lfs diff=lfs merge=lfs -text
265+
*.weba filter=lfs diff=lfs merge=lfs -text
266+
*.webp filter=lfs diff=lfs merge=lfs -text
267+
*.cgm filter=lfs diff=lfs merge=lfs -text
268+
*.mkv filter=lfs diff=lfs merge=lfs -text
269+
*.ppa filter=lfs diff=lfs merge=lfs -text
270+
*.uvh filter=lfs diff=lfs merge=lfs -text
271+
*.xpi filter=lfs diff=lfs merge=lfs -text
272+
*.psd filter=lfs diff=lfs merge=lfs -text
273+
*.xlsb filter=lfs diff=lfs merge=lfs -text
274+
*.tbz filter=lfs diff=lfs merge=lfs -text
275+
*.wim filter=lfs diff=lfs merge=lfs -text
276+
*.ape filter=lfs diff=lfs merge=lfs -text
277+
*.avi filter=lfs diff=lfs merge=lfs -text
278+
*.dex filter=lfs diff=lfs merge=lfs -text
279+
*.dra filter=lfs diff=lfs merge=lfs -text
280+
*.dvb filter=lfs diff=lfs merge=lfs -text
281+
*.jpg filter=lfs diff=lfs merge=lfs -text
282+
*.xla filter=lfs diff=lfs merge=lfs -text
283+
*.fvt filter=lfs diff=lfs merge=lfs -text
284+
*.lzo filter=lfs diff=lfs merge=lfs -text
285+
*.pea filter=lfs diff=lfs merge=lfs -text
286+
*.ras filter=lfs diff=lfs merge=lfs -text
287+
*.tlz filter=lfs diff=lfs merge=lfs -text
288+
*.viv filter=lfs diff=lfs merge=lfs -text
289+
*.winmd filter=lfs diff=lfs merge=lfs -text

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: nuget
4+
directory: "/"
5+
schedule:
6+
interval: monthly
7+
time: "00:00"
8+
open-pull-requests-limit: 20
9+
- package-ecosystem: "github-actions"
10+
directory: "/"
11+
schedule:
12+
# Check for updates to GitHub Actions every weekday
13+
interval: "monthly"

.github/workflows/ci-build.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
env:
10+
configuration: Release
11+
productNamespacePrefix: "ReactiveMarbles"
12+
13+
jobs:
14+
build:
15+
runs-on: windows-2022
16+
outputs:
17+
nbgv: ${{ steps.nbgv.outputs.SemVer2 }}
18+
steps:
19+
- name: Get Current Visual Studio Information
20+
shell: bash
21+
run: |
22+
dotnet tool update -g dotnet-vs
23+
echo "-- About RELEASE --"
24+
vs where release
25+
26+
- name: Update Visual Studio Latest Release
27+
shell: bash
28+
run: |
29+
echo "-- Update RELEASE --"
30+
vs update release Enterprise
31+
vs modify release Enterprise +mobile +desktop +uwp +web
32+
echo "-- About RELEASE Updated --"
33+
vs where release
34+
35+
- name: Checkout
36+
uses: actions/[email protected]
37+
with:
38+
fetch-depth: 0
39+
lfs: true
40+
41+
- name: Install .NET 6 & 7
42+
uses: actions/setup-dotnet@v3
43+
with:
44+
dotnet-version: |
45+
6.0.x
46+
7.0.x
47+
48+
- name: NBGV
49+
id: nbgv
50+
uses: dotnet/nbgv@master
51+
with:
52+
setAllVars: true
53+
54+
- name: NuGet Restore
55+
run: dotnet restore
56+
working-directory: src
57+
58+
- name: Build
59+
run: dotnet build --configuration=${{ env.configuration }} --verbosity=minimal --no-restore
60+
working-directory: src
61+
62+
- name: Run Unit Tests and Generate Coverage
63+
uses: glennawatson/[email protected]
64+
with:
65+
project-files: '**/*Tests*.csproj'
66+
no-build: true
67+
exclude-filter: '[${{env.productNamespacePrefix}}.*.Tests.*]*'
68+
include-filter: '[${{env.productNamespacePrefix}}*]*'
69+
output-format: cobertura
70+
configuration: ${{ env.configuration }}
71+
72+
- name: Pack
73+
run: dotnet pack --configuration=${{ env.configuration }} --verbosity=minimal --no-restore
74+
working-directory: src
75+
76+
- name: Upload Code Coverage
77+
uses: codecov/codecov-action@v3
78+
79+
- name: Create NuGet Artifacts
80+
uses: actions/upload-artifact@master
81+
with:
82+
name: nuget
83+
path: '**/*.nupkg'

0 commit comments

Comments
 (0)