{"id":21452818,"url":"https://github.com/odogono/elixir-jsonpointer","last_synced_at":"2025-08-21T11:33:41.643Z","repository":{"id":36653856,"uuid":"40960160","full_name":"odogono/elixir-jsonpointer","owner":"odogono","description":"Implementation of RFC 6901 JavaScript Object Notation Pointer strings in Elixir","archived":false,"fork":false,"pushed_at":"2024-09-11T13:31:06.000Z","size":102,"stargazers_count":10,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-06T11:12:26.047Z","etag":null,"topics":["elixir","json-pointer"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/odogono.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-08-18T08:29:10.000Z","updated_at":"2024-09-11T13:30:39.000Z","dependencies_parsed_at":"2024-11-23T04:42:37.839Z","dependency_job_id":null,"html_url":"https://github.com/odogono/elixir-jsonpointer","commit_stats":{"total_commits":73,"total_committers":3,"mean_commits":"24.333333333333332","dds":0.09589041095890416,"last_synced_commit":"651aada66815657991ca0fe9e20d469b56ba54f8"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odogono%2Felixir-jsonpointer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odogono%2Felixir-jsonpointer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odogono%2Felixir-jsonpointer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/odogono%2Felixir-jsonpointer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/odogono","download_url":"https://codeload.github.com/odogono/elixir-jsonpointer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230511479,"owners_count":18237657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","json-pointer"],"created_at":"2024-11-23T04:32:32.050Z","updated_at":"2024-12-19T23:14:15.709Z","avatar_url":"https://github.com/odogono.png","language":"Elixir","readme":"# ODGN JSONPointer\n\n[![Build Status](https://travis-ci.org/odogono/elixir-jsonpointer.svg?branch=master)](https://travis-ci.org/odogono/elixir-jsonpointer)\n[![Hex.pm](https://img.shields.io/hexpm/v/odgn_json_pointer.svg?style=flat-square)](https://hex.pm/packages/odgn_json_pointer)\n[![Module Version](https://img.shields.io/hexpm/v/odgn_json_pointer.svg)](https://hex.pm/packages/odgn_json_pointer)\n[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/odgn_json_pointer/)\n[![Total Download](https://img.shields.io/hexpm/dt/odgn_json_pointer.svg)](https://hex.pm/packages/odgn_json_pointer)\n[![License](https://img.shields.io/hexpm/l/odgn_json_pointer.svg)](https://github.com/odogono/elixir-jsonpointer/blob/master/LICENSE.md)\n[![Last Updated](https://img.shields.io/github/last-commit/odogono/elixir-jsonpointer.svg)](https://github.com/odogono/elixir-jsonpointer/commits/master)\n\nAn implementation of [JSON Pointer (RFC 6901)](http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08) for Elixir.\n\n## Installation\n\nAdd a dependency to your project `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:odgn_json_pointer, \"~\u003e 3.1.0\"}\n  ]\nend\n```\n\n## Basic Usage\n\n```elixir\niex\u003e JSONPointer.get( %{ \"fridge\" =\u003e %{ \"door\" =\u003e \"milk\" } }, \"/fridge/door\" )\n{:ok, \"milk\"}\n\niex\u003e JSONPointer.set( %{}, \"/example/msg\", \"hello\")\n{:ok, %{ \"example\" =\u003e %{ \"msg\" =\u003e \"hello\" }}, nil }\n\niex\u003e JSONPointer.add( %{ \"fridge\" =\u003e [ \"milk\", \"cheese\" ]}, \"/fridge/1\", \"salad\")\n{:ok, %{ \"fridge\" =\u003e [ \"milk\", \"salad\", \"cheese\" ]}, [ \"milk\", \"cheese\" ] }\n\niex\u003e JSONPointer.has?( %{ \"milk\" =\u003e true, \"butter\" =\u003e false}, \"/butter\" )\ntrue\n\niex\u003e JSONPointer.test( %{ \"milk\" =\u003e \"skimmed\", \"butter\" =\u003e false}, \"/milk\", \"skimmed\" )\n{:ok, %{ \"milk\" =\u003e \"skimmed\", \"butter\" =\u003e false} }\n\niex\u003e JSONPointer.remove( %{\"fridge\" =\u003e %{ \"milk\" =\u003e true, \"butter\" =\u003e true}}, \"/fridge/butter\" )\n{:ok, %{\"fridge\" =\u003e %{\"milk\"=\u003etrue}}, true }\n\niex\u003e JSONPointer.dehydrate( %{\"a\"=\u003e%{\"b\"=\u003e[\"c\",\"d\"]}} )\n{:ok, [{\"/a/b/0\", \"c\"}, {\"/a/b/1\", \"d\"}] }\n\niex\u003e iex\u003e JSONPointer.hydrate( [ {\"/a/1/b\", \"single\"} ] )\n{:ok, %{\"a\" =\u003e %{\"1\" =\u003e %{\"b\" =\u003e \"single\"}}}}\n\niex\u003e JSONPointer.merge( %{\"a\"=\u003e1}, %{\"b\"=\u003e2} )\n{:ok, %{\"a\"=\u003e1,\"b\"=\u003e2} }\n\niex\u003e JSONPointer.transform( %{ \"a\"=\u003e4, \"b\"=\u003e%{ \"c\" =\u003e true }}, [ {\"/b/c\", \"/valid\"}, {\"/a\",\"/count\", fn val -\u003e val*2 end} ] )\n{:ok, %{\"count\" =\u003e 8, \"valid\" =\u003e true}}\n```\n\nFull documentation can be found at https://hexdocs.pm/odgn_json_pointer.\n\n## Acknowledgement\n\nInspiration from https://github.com/manuelstofer/json-pointer\n\nMade without peeking (much) at the source of https://github.com/xavier/json_pointer\n\nMade in Exeter, UK.\n\n\n## Copyright and License\n\nCopyright (c) 2024 Alexander Veenendaal\n\nThis work is free. You can redistribute it and/or modify it under the\nterms of the MIT License. See the [LICENSE.md](./LICENSE.md) file for more details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodogono%2Felixir-jsonpointer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodogono%2Felixir-jsonpointer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodogono%2Felixir-jsonpointer/lists"}