Packages
jsv
0.7.0
0.21.2
0.21.1
0.21.0
0.20.0
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.3
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
retired
0.11.2
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
A JSON Schema Validator with complete support for the latest specifications.
Current section
Files
Jump to
Current section
Files
lib/jsv/format_validator/default/optional/json_pointer.ex
require JSV.FormatValidator.Default.Optional
if JSV.FormatValidator.Default.Optional.mod_exists?(AbnfParsec) do
defmodule JSV.FormatValidator.Default.Optional.JSONPointer do
@moduledoc false
@external_resource "priv/grammars/json-pointer.abnf"
use AbnfParsec,
abnf_file: "priv/grammars/json-pointer.abnf",
unbox: [],
ignore: []
@doc false
@spec parse_json_pointer(binary) :: {:ok, binary} | {:error, term}
def parse_json_pointer(data) do
case json_pointer(data) do
{:ok, _, "", _, _, _} -> {:ok, data}
_ -> {:error, :invalid_JSON_pointer}
end
end
@doc false
@spec parse_relative_json_pointer(binary) :: {:ok, binary} | {:error, term}
def parse_relative_json_pointer(data) do
case relative_json_pointer(data) do
{:ok, _, "", _, _, _} -> {:ok, data}
_ -> {:error, :invalid_relative_JSON_pointer}
end
end
end
end