awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
baconjs avatar

baconjs/bacon.js

0
View on GitHub↗
6,458 نجوم·327 تفرعات·TypeScript·MIT·2 مشاهداتbaconjs.github.io↗

Bacon.js

Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties.

The library distinguishes itself through its ability to manage reactive state and synchronize timing across multiple sources. It provides specialized mechanisms for atomic state synchronization to prevent glitches in derived properties and offers advanced coordination strategies such as asynchronous stream flattening and event pattern synchronization.

Its capabilities cover a broad range of stream processing, including the conversion of promises, callbacks, and DOM events into reactive streams. It includes tools for stream transformation, state accumulation via state machines, and traffic management through debouncing and throttling.

The project is written in TypeScript.

Features

  • Functional Reactive Programming Frameworks - Models asynchronous data flows and events as declarative streams using functional reactive programming patterns.
  • Reactive Programming Libraries - Provides a framework for composing asynchronous and event-based programs using functional reactive programming in JavaScript and TypeScript.
  • Event-to-Stream Conversions - Provides a comprehensive set of utilities to generate event streams from DOM events, promises, callbacks, and polling functions.
  • Asynchronous Flow Coordination - Provides declarative operators for managing the synchronization and resolution of concurrent asynchronous event streams.
  • Functional Programming Libraries - Implements a comprehensive set of functional programming primitives like map, filter, fold, and zip for stream processing.
  • Stream-to-Property Conversions - Provides a utility to transform a discrete event stream into a property that remembers and provides its current value.
  • Functional State Management - Evolves properties from initial values using pure functions and transition logic based on input patterns.
  • Atomic State Primitives - Provides atomic state primitives that prevent inconsistent transitional states when properties depend on multiple shared sources.
  • Event Debouncing - Delays the emission of an event until a specified quiet period has passed.
  • Event Debouncing - Limits the rate of events using a combination of debouncing and duplicate suppression.
  • Event Stream Merging - Manages multiple event sources using patterns like zipping and merging to synchronize timing and data.
  • Event Subscriptions - Provides a mechanism to execute a callback function for every new value, error, or end event produced by a stream.
  • Event-to-State Transformations - Transforms a stream of asynchronous input events into a continuous representation of application state.
  • Functional Pipelines - Implements architectural patterns for chaining data transformations using pure functions in a declarative pipeline.
  • Observer Patterns - Distributes discrete events from a single source to multiple subscribers through callback registration.
  • Push-Based Data Propagation - Propagates values immediately from producers to consumers without requiring a request for data.
  • Reactive State Management - Tracks and evolves application state over time by accumulating stream values through reducers and state machines.
  • Reactive Stream Filtering - Excludes events from a stream based on a predicate function or the current value of a property.
  • Reactive Value Combinations - Provides utilities to merge multiple properties or streams using logical operators or custom functions to produce derived values.
  • Reactive Value Mapping - Transforms each value in a stream using a provided function or the current value of another property.
  • Stream Element Grouping - Splits a single stream into multiple sub-streams based on a key-generating function.
  • Stream Mapping and Flattening - Provides mechanisms to merge nested streams based on incoming events using various concurrency and switching strategies.
  • Atomic State Synchronization - Provides atomic state synchronization to prevent transitional glitches in derived properties sharing a common source.
  • Stream Event Throttling - Limits the rate of emitted events by discarding excessive events or buffering them to ensure a minimum interval.
  • DOM Event Stream Binding - Binds event streams directly to DOM elements or objects that implement listener methods.
  • Observable Event Stream Frameworks - Provides a complete framework for creating, transforming, and merging event streams from DOM events, promises, and callbacks.
  • Static Array Conversions - Transforms static lists of values or errors into event streams for sequential delivery.
  • Promise-to-Stream Conversions - Transforms a promise into a stream that emits the resolved value or error followed by a completion signal.
  • Event Buffering - Collects incoming events and releases them in batches based on a defined schedule or manual trigger.
  • Conditional - Buffers events in a stream when a controlling property is truthy and releases them when falsy.
  • Async Workflow Orchestration - Converts promises and callbacks into streams to handle retries, concurrency limits, and stale request cancellation.
  • Timed Event Scheduling - Schedules delayed or recurring tasks using custom time-tracking mechanisms for consistent event timing.
  • Event Stream Join Patterns - Coordinates multiple streams using join patterns to emit values only when specific combinations of events occur.
  • Async Operation Coordinators - Coordinates asynchronous requests by switching to the latest result and ignoring stale responses.
  • Asynchronous Error Handling - Allows subscribing to error events within a stream to perform recovery or logging actions.
  • Constant Reactive Properties - Allows the definition of reactive properties that emit a single unchanging value to all subscribers.
  • Custom Observable Binders - Enables the creation of streams using binder functions to manage subscription lifecycles and push values to a sink.
  • Duplicate Removal - Drops consecutive identical elements from a stream to prevent redundant downstream processing.
  • Programmatic Value Injection - Allows users to inject values into a stream programmatically or plug other streams into a central event bus.
  • Initial Value Emission - Provides a mechanism to send the current state of a property immediately upon subscription to provide an initial value.
  • Event - Controls the frequency of high-volume data emissions using debouncing, throttling, and duplicate suppression.
  • Sequential Stream Concatenation - Implements a mechanism to subscribe to multiple event sources sequentially, ensuring each finishes before the next starts.
  • Side Effect Discarding - Allows executing functions for side effects on every stream value while preserving the original data flow.
  • Application State Machines - Implements state machine processing to manage internal state and emit outputs based on incoming stream events.
  • Stream Element Limiting - Implements utilities to drop a specific number of leading elements or ignore events until a trigger occurs.
  • Stream Event Interception - Ships a feature to execute side-effect functions for every value or error event before dispatching to subscribers.
  • Stream Sampling - Captures the current value of a stream only when a separate sampler stream emits an event.
  • Stream State Accumulation - Tracks internal state over time by applying a transition function to every incoming event via stream accumulation.
  • Stream-to-Promise Conversions - Resolves a promise using either the first or the last event produced by an observable source.
  • Subscription Lifecycle Management - Handles resource cleanup by tracking and disposing of event listeners when streams terminate to prevent memory leaks.
  • Time-Based Event Scheduling - Controls event emission rates using internal timers for debouncing, throttling, and delayed delivery.
  • Timed Interval Generators - Produces a stream that emits a specific value repeatedly at a defined millisecond interval.
  • Stream Combinators - Pairs values from multiple streams one-to-one to emit a combined result using a zip operator.
  • DOM & Event Handling - Binds browser DOM events to reactive streams to filter and transform user interactions into structured data.
  • Data Polling - Implements a feature to execute a function at a fixed interval to generate stream values until an end signal is received.
  • Callback-to-Stream Adapters - Provides adapters that convert single-execution or error-first callbacks into observable reactive streams.
  • Functional Programming - Functional reactive programming library.
  • Reactive Programming - Functional reactive programming library.
  • JavaScript 框架汇总 - Listed in the “JavaScript 框架汇总” section of the Awesome Frontend awesome list.

سجل النجوم

مخطط تاريخ النجوم لـ baconjs/bacon.jsمخطط تاريخ النجوم لـ baconjs/bacon.js

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة baconjs/bacon.js؟

Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties.

ما هي الميزات الرئيسية لـ baconjs/bacon.js؟

الميزات الرئيسية لـ baconjs/bacon.js هي: Functional Reactive Programming Frameworks, Reactive Programming Libraries, Event-to-Stream Conversions, Asynchronous Flow Coordination, Functional Programming Libraries, Stream-to-Property Conversions, Functional State Management, Atomic State Primitives.

ما هي البدائل مفتوحة المصدر لـ baconjs/bacon.js؟

تشمل البدائل مفتوحة المصدر لـ baconjs/bacon.js: reactivex/rxpy — RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an… zerobias/effector — Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven… btroncone/learn-rxjs — This project is a comprehensive learning resource and technical reference for reactive programming with RxJS. It… reactivex/rxswift — RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and… reactivex/rxgo — RxGo is a functional reactive programming library and an implementation of ReactiveX for the Go language. It serves as… reactivecocoa/reactivecocoa — ReactiveCocoa is a functional reactive programming framework and Cocoa UI binding layer. It provides a library for…

بدائل مفتوحة المصدر لـ Bacon.js

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Bacon.js.
  • reactivex/rxpyالصورة الرمزية لـ ReactiveX

    ReactiveX/RxPY

    5,014عرض على GitHub↗

    RxPY is a functional reactive programming library and a ReactiveX observable library for Python. It serves as an asynchronous stream processor and event-driven coordination framework used to build data pipelines that react to changes in state or streams of events over time. The library provides a toolkit for composing asynchronous and event-based programs using observable sequences and operators. It distinguishes itself through the use of configurable schedulers to manage concurrency, timing, and subscription lifecycles. The project covers a wide range of stream processing capabilities, incl

    Python
    عرض على GitHub↗5,014
  • zerobias/effectorالصورة الرمزية لـ zerobias

    zerobias/effector

    4,837عرض على GitHub↗

    Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven applications. It models application logic as a directed acyclic graph, where state updates and asynchronous side effects propagate automatically through declarative pipelines. By decoupling business logic from user interface layers, it allows developers to maintain state in independent containers that communicate via standard interfaces, ensuring the system remains framework-agnostic. The library distinguishes itself through its robust support for isolated execution scopes, w

    TypeScript
    عرض على GitHub↗4,837
  • btroncone/learn-rxjsالصورة الرمزية لـ btroncone

    btroncone/learn-rxjs

    3,671عرض على GitHub↗

    This project is a comprehensive learning resource and technical reference for reactive programming with RxJS. It provides a structured curriculum, curated examples, and an indexed operator catalog to help developers shift from imperative to declarative programming using observable data streams and functional operators. The repository features a library of reactive UI patterns and implementation recipes. These cover practical applications such as type-ahead search, game loops, gesture-based interactions like swipe-to-refresh, and security overlays like lockscreens. The resource covers a broad

    TypeScriptjavascriptlearning-rxjsobservables
    عرض على GitHub↗3,671
  • reactivex/rxswiftالصورة الرمزية لـ ReactiveX

    ReactiveX/RxSwift

    24,648عرض على GitHub↗

    RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and composing asynchronous, event-based programs. It utilizes observable sequences and functional operators to transform and filter asynchronous sequences through a declarative approach. The library is distinguished by its ability to link asynchronous data streams directly to user interface elements, automating view updates via reactive data binding. It includes specialized tools for tracking UI control properties and events on the main thread, as well as the ability to encapsulate

    Swift
    عرض على GitHub↗24,648
عرض جميع البدائل الـ 30 لـ Bacon.js→