public SerializerHelper(ObjectParser parser, Type type, bool inlineNested) { serialize = SerializerGeneratorFactory <object, W> .Create( (o, w, i) => serialize[i](o, w), type, inlineNested) .Generate(parser) .Select(lambda => lambda.Compile()).ToArray(); }
Action <R, FPW>[] GenerateFirstPass <S>(S schema, IParser parser) { parser = parser ?? ParserFactory <R> .Create(schema); return(SerializerGeneratorFactory <R, FPW> .Create( (r, w, i) => firstPassTranscode.Value[i](r, w), schema) .Generate(parser) .Select(lambda => lambda.Compile()).ToArray()); }
Transcoder(RuntimeSchema schema, IParser parser) { var serializerTransform = SerializerGeneratorFactory <R, W> .Create( (r, w, i) => transcode[i](r, w), schema); var expressions = serializerTransform.Generate(parser); debugView = DebugViewHelper.ToString(expressions); }
/// <summary> /// Create a serializer for specified type /// </summary> /// <param name="type">Type representing a Bond schema</param> public Serializer(Type type) { var parser = new ObjectParser(type); serialize = SerializerGeneratorFactory <object, W> .Create( (o, w, i) => serialize[i](o, w), type) .Generate(parser) .Select(lambda => lambda.Compile()).ToArray(); }
Action <R, W>[] Generate <S>(S schema) { var parser = ParserFactory <R> .Create(schema); return(SerializerGeneratorFactory <R, W> .Create( (r, w, i) => transcode[i](r, w), schema) .Generate(parser) .Select(lambda => lambda.Compile()).ToArray()); }
public SerializerDebugView(Type type) { var parser = new ObjectParser(type); var serializerTransform = SerializerGeneratorFactory <object, W> .Create( (o, w, i) => serialize[i](o, w), type); var expressions = serializerTransform.Generate(parser); debugView = DebugViewHelper.ToString(expressions); }
public TwoPassSerializerHelper(ObjectParser parser, Type type, bool inlineNested) : base(parser, type, inlineNested) { firstPassSerialize = new Lazy <Action <object, FPW>[]>(() => { return(SerializerGeneratorFactory <object, FPW> .Create( (o, w, i) => firstPassSerialize.Value[i](o, w), type, inlineNested) .Generate(parser) .Select(lambda => lambda.Compile()).ToArray()); }, LazyThreadSafetyMode.PublicationOnly); }