Posts

Showing posts from October, 2025

๐Ÿฆ v0.0.0-dev.4 — Step into Depth

๐Ÿฆ v0.0.0-dev.4 — Step into Depth We’re excited to release   v0.0.0-dev.4   of   @fizzwiz/vanilla , continuing to refine object navigation and introspection. This version adds   path-aware navigation : Step property:   Each   ObjNavigator   now tracks the   step   used to reach it from its parent, providing context for hierarchical operations. Path method:   path(byProperty = false)   returns the full path from the top-level ancestor. Choose   logical depth   (per navigator step) or   structural depth   (per property segment) using the boolean flag. Enhanced depth introspection:   Easily compute both the navigator’s logical and structural depth in nested objects. ๐Ÿงช As with previous prereleases, this version is experimental. Feedback helps shape the API and ensures semantic clarity. Next steps:   Experiment with   step   and   path()   for fine-grained navigation, depth analysis, and...

๐Ÿงญ Introducing step and path() in ObjNavigator

๐Ÿงญ Introducing   step   and   path() The   @fizzwiz/vanilla   library provides   semantic navigation   for plain JavaScript objects. One of its core abstractions,   ObjNavigator , allows safe and expressive traversal of nested structures. With the introduction of the   step   property and the   path()   method,   ObjNavigator   now offers   richer introspection   — allowing navigators to track their relation to ancestors and compute both logical and property-based depth. ๐Ÿ”น The   step   Property Each   ObjNavigator   represents a position within an object hierarchy. The   step   property describes   how this navigator was reached from its parent . const ancestor = ObjNavigator . from ({ user : { profile : {} } }); const profileNav = ancestor. with ( 'user.profile' ); console . log (profileNav. step ); // 'user.profile' The   top-level ancestor   has no parent,...

๐Ÿฆ v0.0.0-dev.3 — Navigating with Style

๐Ÿฆ v0.0.0-dev.3 — Navigating with Style We’re thrilled to release   v0.0.0-dev.3   of   @fizzwiz/vanilla , building on the foundations from previous prereleases. This version introduces   declarative exploration and enhanced object navigation : Search integration:   ObjNavigator   now includes a   search()   method powered by   @fizzwiz/prism , enabling   fluent, declarative traversal   of nested objects. New utilities:   delete()   and   select()   provide convenient ways to remove or filter nested entries. ๐Ÿงช As with prior prereleases, this version is experimental and intended for exploration and feedback. Your input is invaluable in shaping the library’s future direction. Next steps:   Try out   search()   for declarative object exploration and test the new   delete()   and   select()   helpers. Let us know your experiences! ๐Ÿ‘‰   ๐Ÿฆ —   @fizzwiz   ✨

๐Ÿฆ v0.0.0-dev.2 — Sweet Refinements

๐Ÿฆ v0.0.0-dev.2 — Sweet Refinements We’re excited to release   v0.0.0-dev.2   of   @fizzwiz/vanilla , continuing to polish the foundation laid by the   First Brick   (v0.0.0-dev.1). This update focuses on   cleaning up inconsistencies and making the API smoother : Documentation & typos:   Fixed minor inconsistencies between the code and the docs, ensuring clarity and correctness. New alias:   The method   within()   now also responds to the shorter, more intuitive alias   with() , making scoped navigation even cleaner. ๐Ÿงช As with previous prereleases, this version is meant for exploration and feedback. Your suggestions help shape the library’s future features and usability. Next steps:   Experiment with the library, and let us know how it feels! ๐Ÿ‘‰   ๐Ÿฆ —   @fizzwiz   ✨

๐Ÿงฑ v0.0.0-dev.1 — First Brick

๐Ÿงฑ v0.0.0-dev.1 — First Brick We’re thrilled to announce the   first prerelease   of   @fizzwiz/vanilla :   v0.0.0-dev.1   — the   First Brick   laying the foundation for a library dedicated to   providing lightweight semantics for working with plain JSON objects . This release unveils the core abstractions:   OptionStore   and   ObjNavigator . OptionStore:   Store and retrieve options by type, with automatic lookup along an instance’s prototype chain. ObjNavigator:   Navigate and manipulate nested objects safely and intuitively, supporting scoped navigation with   within()   and returning to the parent with   without() . ๐Ÿงช This is a   prerelease , intended for exploration and feedback. Your early experiences and suggestions will help shape the API and future features. "Let’s build clear, maintainable JSON semantics — together." —   @fizzwiz ✨

๐ŸŒ Plain JavaScript Objects — the True Language of Distributed Systems

  ๐ŸŒ Plain JavaScript Objects — the True Language of Distributed Systems When designing distributed or asynchronous systems — systems that exchange data between independent nodes, peers, or services — we discover one powerful truth: The most universal data structure in JavaScript is the plain object. Whether you call it a   map ,   record , or   JSON structure , the plain object ( {} ) is the simplest, most portable form of state. It is naturally serializable, easy to merge, and readable across all programming environments. And yet, many developers instinctively reach for   classes and types   when defining system state — especially configuration or metadata. But in asynchronous workflows, this introduces unnecessary coupling and complexity. Let’s unpack why   plain, vanilla objects   are more valuable than class-based structures in distributed environments — and how a lightweight library like   @fizzwiz/vanilla   makes this philosophy p...