Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Block React Laravel Package

clue/block-react

Lightweight bridge to run ReactPHP’s event loop in a blocking way. Lets you wait for promises and async operations from synchronous PHP code, ideal for CLI tools and scripts that need occasional async I/O without restructuring your whole app.

View on GitHub
Deep Wiki
Context7
1.5.0
  • Feature: Simplify usage by supporting new default loop. (#60 by @clue)

    // old (still supported)
    Clue\React\Block\await($promise, $loop);
    Clue\React\Block\awaitAny($promises, $loop);
    Clue\React\Block\awaitAll($promises, $loop);
    
    // new (using default loop)
    Clue\React\Block\await($promise);
    Clue\React\Block\awaitAny($promises);
    Clue\React\Block\awaitAll($promises);
    
  • Feature: Added support for upcoming react/promise v3. (#61 by @davidcole1340 and @SimonFrings)

  • Improve error reporting by appending previous message for Throwables. (#57 by @clue)

  • Deprecate $timeout argument for await*() functions. (#59 by @clue)

    // deprecated
    Clue\React\Block\await($promise, $loop, $timeout);
    Clue\React\Block\awaitAny($promises, $loop, $timeout);
    Clue\React\Block\awaitAll($promises, $loop, $timeout);
    
    // still supported
    Clue\React\Block\await($promise, $loop);
    Clue\React\Block\awaitAny($promises, $loop);
    Clue\React\Block\awaitAll($promises, $loop);
    
  • Improve API documentation. (#58 and #63 by @clue and #55 by @PaulRotmann)

  • Improve test suite and use GitHub actions for continuous integration (CI). (#54 by @SimonFrings)

1.4.0
  • Improve API documentation, update README and add examples. (#45 by @clue and #51 by @SimonFrings)

  • Improve test suite and add .gitattributes to exclude dev files from exports. Prepare PHP 8 support, update to PHPUnit 9, run tests on PHP 7.4 and simplify test matrix. (#46, #47 and #50 by @SimonFrings)

1.3.1
  • Fix: Fix getting the type of unexpected rejection reason when not rejecting with an Exception. (#42 by @Furgas and @clue)

  • Fix: Check if the function is declared before declaring it. (#39 by @Niko9911)

1.3.0
  • Feature: Improve memory consumption by cleaning up garbage references. (#35 by @clue)

  • Fix minor documentation typos. (#28 by @seregazhuk)

  • Improve test suite by locking Travis distro so new defaults will not break the build, support PHPUnit 6 and update Travis config to also test against PHP 7.2. (#30 by @clue, #31 by @carusogabriel and #32 by @andreybolonin)

  • Update project homepage. (#34 by @clue)

1.2.0
  • Feature / Fix: Forward compatibility with future EventLoop v1.0 and v0.5 and cap small timeout values for legacy EventLoop (#26 by @clue)

    // now works across all versions
    Block\sleep(0.000001, $loop);
    
  • Feature / Fix: Throw UnexpectedValueException if Promise gets rejected with non-Exception (#27 by @clue)

    // now throws an UnexceptedValueException
    Block\await(Promise\reject(false), $loop);
    
  • First class support for legacy PHP 5.3 through PHP 7.1 and HHVM (#24 and #25 by @clue)

  • Improve testsuite by adding PHPUnit to require-dev and Fix HHVM build for now again and ignore future HHVM build errors (#23 and #24 by @clue)

1.1.0
  • Feature: Add optional timeout parameter to all await*() functions (#17 by @clue)

  • Feature: Cancellation is now supported across all PHP versions (#16 by @clue)

1.0.0
  • First stable release, now following SemVer
  • Improved documentation

Contains no other changes, so it's actually fully compatible with the v0.3.0 release.

0.3.0
  • BC break: Use functional API approach instead of pseudo-OOP. All existing methods are now exposed as simple functions. (#13)

// old $blocker = new Block\Blocker($loop); $result = $blocker->await($promise);

// new $result = Block\await($promise, $loop);

0.2.0
  • BC break: Rename methods in order to avoid confusion.
    • Rename wait() to sleep(). (#8)
    • Rename awaitRace() to awaitAny(). (#9)
    • Rename awaitOne() to await(). (#10)
0.1.1
  • run() the loop instead of making it tick(). This results in significant performance improvements (less resource utilization) by avoiding busy waiting (#1)
0.1.0
  • First tagged release
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport