Page MenuHomeDevCentral

Allow to map hashmap into a vector
ClosedPublic

Authored by dereckson on Jun 30 2023, 21:43.
Tags
None
Referenced Files
F3767297: D3214.diff
Fri, Nov 22, 23:25
Unknown Object (File)
Wed, Nov 20, 22:00
Unknown Object (File)
Wed, Nov 20, 21:44
Unknown Object (File)
Wed, Nov 13, 19:43
Unknown Object (File)
Wed, Nov 13, 19:13
Unknown Object (File)
Tue, Nov 12, 20:08
Unknown Object (File)
Fri, Nov 8, 16:14
Unknown Object (File)
Fri, Nov 8, 16:14
Subscribers
None

Details

Summary

HashMap::mapToVector allows to build a vector from an hashmap.

In Rust, an iterator can be mapped into any type, the outcome
of the iteration is decided afterwards by a collect method.

In PHP, native functions like array_map preserves the initial type.
As such, HashMap::map returns an HashMap.

The mapToVector method allows to collect the mapped values into a vector.

Test Plan

This is intended for Zed to be used with API string representation:

$response = HashMap::from($data)
    ->mapToVector(
        fn($key, $value) => "$key: " . self::toString($value)
    )
    ->implode(", ");

Unit tests are provided for our the different callback shapes.

Diff Detail

Repository
rKERUALD Keruald libraries development repository
Lint
Lint Passed
Unit
Tests Passed
Branch
map-to-vector
Build Status
Buildable 5065
Build 5346: arc lint + arc unit