Git Product home page Git Product logo

activitystreams-1's Introduction

Activity Streams

This repo contains a .NET Standard 2.0 implementation of the W3C Activity Streams specification.

Work In Progress

A couple quick notes regarding this library:

  • This is a work-in-progress and may not currently adhere 100% to the spec.
  • There are likely to be breaking changes in the future as the implementation is refined - so use at your own risk.
  • Significant overriding of the default Newtonsoft.Json JsonConverter was required to serialize/deserialize according to the JSON-LD/Activity Streams spec.
  • The aforementioned customization likely negatively impact serialization/deserialization performance.
  • This was written in brute-force manner. Goal was to get it to work broadly and then go back and improve performance.
  • There are 320 unit tests validating the serialization/deserialization of this library against the examples provided on the Activity Streams vocabulary website. These tests are all green, but may not account for your scenarios. Please file a bug if you encounter something that should work but doesn't.

Usage

You must specify the ActivityStreamsConverter in the JsonSerializerSettings in order to property serialize/deserialize JSON content.

For example:

JsonSerializerSettings SerializerSettings = new JsonSerializerSettings()
{
    Converters = new List<JsonConverter>()
    {
        new ActivityStreamsConverter()
    }
};

var result = JsonConvert.DeserializeObject<ActivityStreamsObject>(json, SerializerSettings);

See the ActivityStreams.Primitives.Tests project for a full set of examples.

Pull Requests

As always, pull requests are welcomed.

License

This project is licensed under the MIT license.

There are code files in use from the Schema.NET project and those files carry forward MIT license from that project.

Build status

activitystreams-1's People

Contributors

rjygraham avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.