All Projects → sebastianbergmann → Object Graph

sebastianbergmann / Object Graph

Licence: other
Provides useful operations on PHP object graphs

Projects that are alternatives of or similar to Object Graph

define-property
Define a non-enumerable property on an object.
Stars: ✭ 21 (-95.26%)
Mutual labels:  object
normalize-pkg
Normalize values in package.json to improve compatibility, programmatic readability and usefulness with third party libs.
Stars: ✭ 18 (-95.94%)
Mutual labels:  object
Simple-YAML
A Java API that provides an easy-to-use way to store data using the YAML format.
Stars: ✭ 68 (-84.65%)
Mutual labels:  object
ss-search
The most basic, yet powerful text search.
Stars: ✭ 41 (-90.74%)
Mutual labels:  object
get
🚚 A really small and type-safe (requires TypeScript >= 4.1.3) function, that gets a nested value from an object using a path string (like "a.b[0].d"). If value is 'undefined' or unreachable returns the placeholder instead.
Stars: ✭ 13 (-97.07%)
Mutual labels:  object
python-yamlable
A thin wrapper of PyYaml to convert Python objects to YAML and back
Stars: ✭ 28 (-93.68%)
Mutual labels:  object
prototyped.js
Some common Typescript prototypes
Stars: ✭ 22 (-95.03%)
Mutual labels:  object
Morphism
⚡ Type-safe data transformer for JavaScript, TypeScript & Node.js.
Stars: ✭ 336 (-24.15%)
Mutual labels:  object
Less3
Less3 is an S3-compatible object storage server that runs on your laptop, servers, just about anywhere!
Stars: ✭ 16 (-96.39%)
Mutual labels:  object
underscore.haz
🔍 _.haz() is like _.has() but this underscore and/or lodash mixin lets you do deep object key existence checking with a dot denoted string, for example 'a.b.c'
Stars: ✭ 13 (-97.07%)
Mutual labels:  object
glob-object
Filter an object using glob patterns and dot notation.
Stars: ✭ 25 (-94.36%)
Mutual labels:  object
object-shape
Get a description of a JS object's shape.
Stars: ✭ 24 (-94.58%)
Mutual labels:  object
fromentries
Object.fromEntries() ponyfill (in 6 lines)
Stars: ✭ 62 (-86%)
Mutual labels:  object
utils.js
👷 🔧 zero dependencies vanilla JavaScript utils.
Stars: ✭ 14 (-96.84%)
Mutual labels:  object
Pysot Toolkit
Python Single Object Tracking Evaluation
Stars: ✭ 262 (-40.86%)
Mutual labels:  object
pykorm
A python 🐍 kubernetes ☸️ ORM 🚀. Very useful when writing operators for your CRDs with Kopf.
Stars: ✭ 56 (-87.36%)
Mutual labels:  object
ObjectUI
Create SwiftUI Views with any data
Stars: ✭ 19 (-95.71%)
Mutual labels:  object
Fmt Obj
Stringifies any javascript object in your console for CLI inspection ✨
Stars: ✭ 428 (-3.39%)
Mutual labels:  object
Kind Of
Get the native JavaScript type of a value, fast. Used by superstruct, micromatch and many others!
Stars: ✭ 268 (-39.5%)
Mutual labels:  object
Kvpbase
Scalable, simple RESTful object storage platform, written in C#
Stars: ✭ 43 (-90.29%)
Mutual labels:  object

sebastian/object-graph

Minimum PHP Version Latest Stable Version CI Status Type Coverage Code Coverage

Provides useful operations on PHP object graphs.

Installation

You can add this library as a local, per-project dependency to your project using Composer:

composer require sebastian/object-graph

If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:

composer require --dev sebastian/object-graph

Usage

Object Graph Visualization with GraphViz

<?php declare(strict_types=1);
use function SebastianBergmann\ObjectGraph\object_graph_dump;

$cart = new ShoppingCart;
$cart->add(new ShoppingCartItem('Foo', new Money(123, new Currency('EUR')), 1));
$cart->add(new ShoppingCartItem('Bar', new Money(456, new Currency('EUR')), 1));

object_graph_dump('graph.png', $cart);

Screenshot

The object_graph_dump() function supports the DOT Graph Description Language (.dot), Portable Document Format (.pdf), Portable Network Graphics (.png), and Scalable Vector Graphics (.svg) output formats.

The generation of PDF, PNG, and SVG files requires the GraphViz dot binary to be on the $PATH.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].