better-all

- GitHub Repository: https://github.com/shuding/better-all

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "better-all" with this command: npx skills add casper-studios/casper-marketplace/casper-studios-casper-marketplace-better-all

Documentation

Note: This library is not yet indexed in DeepWiki or Context7.

better-all Library

better-all provides Promise.all with automatic dependency optimization. Instead of manually analyzing which tasks can run in parallel, tasks declare dependencies inline and execution is automatically optimized.

Installation

pnpm add better-all

Basic Usage

import { all } from "better-all";

const results = await all({ // Independent tasks run in parallel fetchUser: () => fetchUser(userId), fetchPosts: () => fetchPosts(userId),

// Dependent task waits automatically combined: async (ctx) => { const user = await ctx.$.fetchUser; const posts = await ctx.$.fetchPosts; return { user, posts }; }, });

// results.fetchUser, results.fetchPosts, results.combined all typed

Key Advantage: Automatic Optimization

// Manual approach - error-prone const [user, posts] = await Promise.all([fetchUser(), fetchPosts()]); const profile = await buildProfile(user, posts); const [feed, stats] = await Promise.all([ buildFeed(profile, posts), buildStats(profile), ]);

// better-all - dependencies declared, execution optimized const results = await all({ user: () => fetchUser(), posts: () => fetchPosts(), profile: async (ctx) => buildProfile(await ctx.$.user, await ctx.$.posts), feed: async (ctx) => buildFeed(await ctx.$.profile, await ctx.$.posts), stats: async (ctx) => buildStats(await ctx.$.profile), });

Type Inference

Results are fully typed based on task return types:

const results = await all({ count: () => Promise.resolve(42), name: () => Promise.resolve("test"), combined: async (ctx) => ({ count: await ctx.$.count, name: await ctx.$.name, }), });

// TypeScript knows: // results.count: number // results.name: string // results.combined: { count: number; name: string }

References

  • For complex DAG patterns, see dag-patterns.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

agent-ready-codebase

No summary provided by upstream source.

Repository SourceNeeds Review
General

firecrawl-scraping

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-summary

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-comments

No summary provided by upstream source.

Repository SourceNeeds Review