paris/DOCS_README.md

1.5 KiB

Paris

Paris is a data management library for webapps, using TypeScript and RxJS to implement Domain-Driven Design.

Paris, fashion capital of the world, where all the models want to be.

Features

  • Data API abstraction and standardization - define and use your data easily, in a consistent way.
  • Strong-typed - data models are defined as classes with TypeScript
  • Full-tree modeling - Paris handles the creation of models and sub-models, essentially creating a model tree.
  • Implements Domain-Driven Design - true and tested development methodology that improves collaboration.
  • Reactive - all async code is done with Observables.
  • Caching - easily cache data (including time-based caching).

Usage

First, define an Entity:

// todo-item.entity.ts

import { Entity, EntityModelBase } from "@microsoft/paris";

@Entity({
	singularName: "Todo Item",
	pluralName: "Todo Items",
	endpoint: "todo/items"
})
export class TodoItem extends EntityModelBase{
	@EntityField()
	text:string;
	
	@EntityField()
	time:Date;
}

The above defines an Entity, which can be used to query the todo/items server endpoint, like this:

import { Paris } from "@microsoft/paris";

const paris = new Paris();
paris.getItemById(TodoItem, 1).subscribe((todoItem:TodoItem) => {
	console.log("Todo item with ID 1: ", todoItem);
});

Advanced

Check the Wiki for advanced uses and explanations.

NPM GitHub