static JTask Required <TSource, TTarget>(this JTask jTask, Mapping <TSource, TTarget> mapping) { if (!jTask.TryCoerce(mapping)) { throw new MissingFieldException($"Required {mapping.Field} field not found in the JSON payload."); } return(jTask); }
static JTask RequiredAssert <T>(this JTask jTask, Assert <T> assert) { if (!jTask.TryAssert(assert)) { throw new MissingFieldException(assert.Field); } return(jTask); }
static JTask Required <TSource, TTarget>(this JTask jTask, Mapping <TSource, TTarget> mapping, Func <TSource, TTarget> conversion) { if (!jTask.TryConvert(mapping, conversion)) { throw new MissingFieldException(mapping.Field); } return(jTask); }
static JTask Required <TSource, TTarget>(this JTask jTask, Mapping <TSource, TTarget> mapping, Func <TSource, Task <TTarget> > conversion) => jTask + jTask.TryConvertAsync(mapping, conversion) .ContinueWith(t => { if (!t.Result) { throw new MissingFieldException(mapping.Field); } });
static JTask Required <TSource, TTarget>(this JTask jTask, Mapping <TSource[], IList <TTarget> > mapping) { if (!jTask.TryCoerce(mapping)) { throw new MissingFieldException(mapping.Field); } return(jTask); }
static JTask Required <TSource, TTarget>(this JTask jTask, Mapping <TSource, TTarget> mapping, Func <TSource, TTarget, Task> merge) where TTarget : class => jTask + jTask.TryMergeAsync(mapping, merge) .ContinueWith(t => { if (!t.Result) { throw new MissingFieldException(mapping.Field); } });
//public static JTask Required<T>(this JTask jTask, Expression<Func<JObject[], IList<T>>> mapping, Action<JObject, T> merge) // where T : class, new() => // jTask.Required<JObject, T>(mapping, merge); static JTask Required <TSource, TTarget>(this JTask jTask, Mapping <TSource[], IList <TTarget> > mapping, Action <TSource, TTarget> merge) where TTarget : class, new() { if (!jTask.TryMerge(mapping, merge)) { throw new MissingFieldException(mapping.Field); } return(jTask); }
public static JTask Required <T>(this JTask jTask, Expression <Func <JObject, T> > mapping, Func <JTask, T, Task> merge) where T : class, new() => jTask + jTask.TryMergeAsync(mapping, (JObject source, T target) => merge(source.MapAsync(), target)) .ContinueWith(t => { if (!t.Result) { throw new MissingFieldException(new Mapping <JObject, T>(mapping).Field); } });
public static JTask Required <T>(this JTask jTask, Expression <Func <DateTime?, T> > mapping, Func <DateTime?, T, Task> merge) where T : class => jTask.Required <DateTime?, T>(mapping, merge);
public static JTask Optional <T>(this JTask jTask, Expression <Func <JObject, T> > mapping) => jTask.Optional <JObject, T>(mapping);
public static JTask Optional <T>(this JTask jTask, Expression <Func <JObject[], IList <T> > > mapping, Func <JObject, Task <T> > conversion) => jTask.Optional <JObject, T>(mapping, conversion);
static JTask Optional <TSource, TTarget>(this JTask jTask, Mapping <TSource, TTarget> mapping) { jTask.TryCoerce(mapping); return(jTask); }
public static JTask Required <T>(this JTask jTask, Expression <Func <DateTime?, T> > mapping) => jTask.Required <DateTime?, T>(mapping);
public static JTask Optional <T>(this JTask jTask, Expression <Func <float?[], IList <T> > > mapping, Func <float?, T> conversion) => jTask.Optional <float?, T>(mapping, conversion);
public static JTask Required <T>(this JTask jTask, Expression <Func <JObject[], IList <T> > > mapping, Func <JObject, T> conversion) => jTask.Required <JObject, T>(mapping, conversion);
public static JTask Required <T>(this JTask jTask, Expression <Func <DateTime?[], IList <T> > > mapping, Action <DateTime?, T> merge) where T : class, new() => jTask.Required <DateTime?, T>(mapping, merge);
public static JTask Required <T>(this JTask jTask, Expression <Func <bool?, T> > mapping, Action <bool?, T> merge) where T : class => jTask.Required <bool?, T>(mapping, merge);
static JTask Optional <TSource, TTarget>(this JTask jTask, Mapping <TSource[], IList <TTarget> > mapping, Func <TSource, TTarget> conversion) { jTask.TryConvert(mapping, conversion); return(jTask); }
public static JTask Required <T>(this JTask jTask, Expression <Func <DateTime?[], IList <T> > > mapping, Func <DateTime?, T> conversion) => jTask.Required <DateTime?, T>(mapping, conversion);
public static JTask Optional <T>(this JTask jTask, Expression <Func <bool?, T> > mapping, Func <bool?, Task <T> > conversion) => jTask.Optional <bool?, T>(mapping, conversion);
public static JTask Required <T>(this JTask jTask, Expression <Func <bool?, T> > mapping, Func <bool?, T> conversion) => jTask.Required <bool?, T>(mapping, conversion);
public static JTask Optional <T>(this JTask jTask, Expression <Func <DateTime?, T> > mapping, Action <DateTime?, T> merge) where T : class => jTask.Optional <DateTime?, T>(mapping, merge);
public static JTask Required <T>(this JTask jTask, Expression <Func <float?, T> > mapping) => jTask.Required <float?, T>(mapping);
//public static JTask Optional<T>(this JTask jTask, Expression<Func<JObject, T>> mapping, Action<JObject, T> merge) // where T : class => // jTask.Optional<JObject, T>(mapping, merge); static JTask Optional <TSource, TTarget>(this JTask jTask, Mapping <TSource, TTarget> mapping, Action <TSource, TTarget> merge) where TTarget : class { jTask.TryMerge(mapping, merge); return(jTask); }
public static JTask Required <T>(this JTask jTask, Expression <Func <JObject, T> > mapping) => jTask.Required <JObject, T>(mapping);
public static JTask OptionalAssert(this JTask jTask, Expression <Predicate <string> > assert) => jTask.OptionalAssert <string>(assert);
public static JTask Optional <T>(this JTask jTask, Expression <Func <DateTime?[], IList <T> > > mapping, Func <DateTime?, Task <T> > conversion) => jTask.Optional <DateTime?, T>(mapping, conversion);
public static JTask OptionalAssert(this JTask jTask, Expression <Predicate <JObject> > assert) => jTask.OptionalAssert <JObject>(assert);
static JTask Optional <TSource, TTarget>(this JTask jTask, Mapping <TSource[], IList <TTarget> > mapping, Func <TSource, Task <TTarget> > conversion) { return(jTask + jTask.TryConvertAsync(mapping, conversion)); }
static JTask OptionalAssert <T>(this JTask jTask, Assert <T> assert) { jTask.TryAssert(assert); return(jTask); }