ProcrastiN8 0.1.1-prerelease0015
See the version list below for details.
dotnet add package ProcrastiN8 --version 0.1.1-prerelease0015
NuGet\Install-Package ProcrastiN8 -Version 0.1.1-prerelease0015
<PackageReference Include="ProcrastiN8" Version="0.1.1-prerelease0015" />
<PackageVersion Include="ProcrastiN8" Version="0.1.1-prerelease0015" />
<PackageReference Include="ProcrastiN8" />
paket add ProcrastiN8 --version 0.1.1-prerelease0015
#r "nuget: ProcrastiN8, 0.1.1-prerelease0015"
#:package ProcrastiN8@0.1.1-prerelease0015
#addin nuget:?package=ProcrastiN8&version=0.1.1-prerelease0015&prerelease
#tool nuget:?package=ProcrastiN8&version=0.1.1-prerelease0015&prerelease
🐢 ProcrastiN8
ProcrastiN8 is a C#/.NET utility library for simulating productivity, stalling, and quantum-level procrastination. All features are absurd in concept, but real in implementation.
✨ Project Status
🚀 Getting Started
Install via NuGet:
# .NET CLI
dotnet add package ProcrastiN8 --prerelease
# Because release-readiness is a social construct.
or
# NuGet Package Manager
Install-Package ProcrastiN8 -Prerelease
# Because final releases are for the overly decisive.
Minimal usage:
using ProcrastiN8;
var registry = new QuantumEntanglementRegistry<int>();
var promise = new QuantumPromise<int>(() => Task.FromResult(42), TimeSpan.FromSeconds(2));
registry.Entangle(promise);
var result = await promise.ObserveAsync();
Console.WriteLine($"Collapse result: {result}");
🧑💻 Usage & API
QuantumEntanglementRegistry
Manages a set of entangled QuantumPromise<T>
instances. Only the registry coordinates the collapse of entangled promises according to the configured quantum behavior. Thread-safe, for those who pretend it matters.
var registry = new QuantumEntanglementRegistry<int>();
var promise1 = new QuantumPromise<int>(() => Task.FromResult(42), TimeSpan.FromSeconds(2));
var promise2 = new QuantumPromise<int>(() => Task.FromResult(99), TimeSpan.FromSeconds(2));
registry.Entangle(promise1);
registry.Entangle(promise2);
var result = await promise1.ObserveAsync(); // Collapses all entangled promises if entangled
Expected output:
[QuantumEntanglement] Entangled set: 2 promises
[QuantumEntanglement] Collapsing one promise...
[QuantumEntanglement] Ripple collapse triggered for remaining entangled promises
Collapse result: 42
QuantumPromise
Represents a value in quantum superposition until observed. If entangled in a registry, calling ObserveAsync()
will trigger the registry's collapse behavior for all entangled promises. Forced collapse to a specific value is only possible via the registry and the appropriate collapse behavior (e.g., Copenhagen). Observing a promise outside a registry will not trigger entanglement effects.
Eventually
await Eventually.Do(async () =>
{
Console.WriteLine("Actually doing something now...");
});
Expected output:
[Eventually] Thinking about it... Might do it in 17.3s.
[Eventually] Reason for delay: Blocked by a third-party library.
[Eventually] Just five more minutes...
...
[Eventually] Finally did the thing. You're welcome.
RetryUntilCancelled
await RetryUntilCancelled.Do(
async () => { Console.WriteLine("Trying again..."); },
logger: null,
excuseProvider: null,
retryStrategy: null,
cancellationToken: CancellationToken.None);
Expected output:
[Retry] Attempt 1 failed. Retrying in 2.1s...
[Retry] Excuse: Still waiting for the backlog.
[Retry] Attempt 2 failed. Retrying in 4.2s...
... (until cancelled)
FakeProgress, InfiniteSpinner, BusyWaitSimulator
await FakeProgress.RunAsync("Deploying to production", steps: 5, logger: null, cancellationToken: CancellationToken.None);
Expected output:
[FakeProgress] Aligning expectations...
[FakeProgress] Calibrating metrics...
[FakeProgress] Pretending to load data...
[FakeProgress] Synchronizing with imaginary server...
[FakeProgress] Consulting committee of doubts...
[FakeProgress] Progress: 100% (allegedly)
📦 NuGet
ProcrastiN8 is available on NuGet
📝 License
MIT License. See LICENSE.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.1.1-prerelease0045 | 144 | 8/24/2025 |
0.1.1-prerelease0037 | 142 | 8/24/2025 |
0.1.1-prerelease0019 | 94 | 7/30/2025 |
0.1.1-prerelease0018 | 90 | 7/29/2025 |
0.1.1-prerelease0017 | 91 | 7/29/2025 |
0.1.1-prerelease0016 | 91 | 7/28/2025 |
0.1.1-prerelease0015 | 91 | 7/28/2025 |
0.1.1-prerelease0011 | 95 | 7/28/2025 |
0.1.1-prerelease0009 | 95 | 7/28/2025 |
0.1.1-prerelease0008 | 89 | 7/28/2025 |
0.1.1-prerelease0001 | 93 | 7/27/2025 |
0.1.0-prerelease0001 | 508 | 7/22/2025 |
Built by procrastination, driven by satire.