public static Result <JArrayPointer> Get(JArray jArray, JsonPointer.ReferenceToken pathPart) { if (jArray == null) { throw new ArgumentNullException(nameof(jArray)); } if (pathPart == null) { throw new ArgumentNullException(nameof(pathPart)); } if (pathPart != "-") { if (!int.TryParse(pathPart, out var arrayIndex)) { return(Result.Fail <JArrayPointer>($"Unable to find '{pathPart}' property of an array at '{pathPart.GetParentPointer()}'.")); } if (arrayIndex < 0 || arrayIndex > jArray.Count) { return(Result.Fail <JArrayPointer>($"Unable to find index '{arrayIndex}' in an array at '{pathPart.GetParentPointer()}'.")); } } return(Result.Ok(new JArrayPointer(jArray, pathPart))); }
public static Result <JObjectPointer> Get(JObject jObject, JsonPointer.ReferenceToken pathPart) { if (jObject == null) { throw new ArgumentNullException(nameof(jObject)); } if (pathPart == null) { throw new ArgumentNullException(nameof(pathPart)); } return(Result.Ok(new JObjectPointer(jObject, pathPart))); }
private JArrayPointer(JArray jArray, JsonPointer.ReferenceToken pathPart) { _jArray = jArray; _pathPart = pathPart; }
private JObjectPointer(JObject jObject, JsonPointer.ReferenceToken pathPart) { _jObject = jObject; _pathPart = pathPart; }