@fireflysemantics/slice 14.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,95 @@
1
+ [![Build Status](https://travis-ci.org/fireflysemantics/slice.svg?branch=master)](https://travis-ci.org/fireflysemantics/slice)
2
+
3
+ ![Slice](slicelogo.png)
4
+
5
+ # Install
6
+
7
+ Install Slice with peer dependencies:
8
+
9
+ ```
10
+ npm i @fireflysemantics/slice tslib rxjs nanoid
11
+ ```
12
+
13
+ # Firefly Semantics Slice Development Center Documentation
14
+
15
+ ## Guides
16
+
17
+ - [An Introduction to the Firefly Semantics Slice Reactive Object Store](https://developer.fireflysemantics.com/guides/guides--introduction-to-the-firefly-semantics-slice-reactive-object-store)
18
+ - [Introduction to the Firefly Semantics Slice Reactive Entity Store ](https://developer.fireflysemantics.com/guides/guides--introduction-to-the-firefly-semantics-slice-reactive-entity-store)
19
+ - [Recreating the Ngrx Demo with Slice](https://developer.fireflysemantics.com/guides/guides--recreating-the-ngrx-demo-app-with-firefly-semantics-slice-state-manager)
20
+
21
+ ## Tasks
22
+
23
+ - [Changing the Firefly Semantics Slice EStore Default Configuration](https://developer.fireflysemantics.com/tasks/tasks--slice--changing-the-fireflysemantics-slice-estore-default-configuration)
24
+ - [Observing the Currently Active Entities with Slice](https://developer.fireflysemantics.com/tasks/tasks--slice--observing-currently-active-entities-with-slice)
25
+ - [Derived Reactive Observable State with Slice](https://developer.fireflysemantics.com/tasks/tasks--slice--derived-reactive-observable-state-with-slice)
26
+ - [Reactive Event Driven Actions with Firefly Semantics Slice](https://developer.fireflysemantics.com/tasks/tasks--slice--reactive-event-driven-actions-with-firefly-semantics-slice)
27
+ - [Unsubscribing From Firefly Semantics Slice Object Store Observables in Angular](https://developer.fireflysemantics.com/tasks/tasks--slice--unsubscribing-from-firefly-semantics-slice-object-store-observables-in-angular)
28
+ - [Creating Proxies to Slice Object Store Observables](https://developer.fireflysemantics.com/tasks/tasks--slice--creating-proxies-to-slice-object-store-observables)
29
+ - [Getting a Snapshot of a Slice Object Store Value](https://developer.fireflysemantics.com/tasks/tasks--slice--getting-a-snapshot-of-a-slice-object-store-value)
30
+ - [Accessing Slice Object Store Observables In Angular Templates](https://developer.fireflysemantics.com/tasks/tasks--slice--accessing-slice-object-store-observables-in-angular-templates)
31
+
32
+
33
+ ## Examples
34
+
35
+ - [Minimal Slice Object Store](https://developer.fireflysemantics.com/examples/examples--slice--minimal-slice-object-store)
36
+ - [Minimal Angular Slice Object Store State Service](https://developer.fireflysemantics.com/examples/examples--slice--minial-angular-slice-object-store-state-service)
37
+
38
+ # API Documentation
39
+
40
+ See [Typedoc API Documentation](https://fireflysemantics.github.io/slice/doc/)
41
+
42
+ The documentation for the API includes simple examples of how to apply the API to a use case.
43
+
44
+ # Overview
45
+
46
+ Lightweight Reactive Server, Mobile, and Web Application State Management Built with `RxJS` and `Typescript`.
47
+
48
+ The API is designed to be as minimal as possible and should deliver the same features as other comparable frameworks with about 1/3 the lines of code.
49
+
50
+ It offers two types of reactive data stores:
51
+ - Entity stores (EStore<E>) for structured entity like data (Customer, Product, User, ...)
52
+ - Entity stores can be "Live filtered" by adding slices. For example separating Todo entities into complete and incomplete compartments. Slices are also obserable.
53
+ - Object store (Key value store) for unstructured data
54
+
55
+ Even though Angular is used for prototype applications, it should work well for:
56
+ - Single page applications
57
+ - Progressive web applications
58
+ - React applications
59
+ - Node applications / Pure Javascript Applications
60
+ - Mobile Applications
61
+
62
+ ## Build
63
+
64
+ Run `npm run c` to build the project. The build artifacts will be stored in the `dist/` directory.
65
+
66
+ ## Running unit tests
67
+
68
+ Run `ng test` to execute the unit tests via [Jest](https://jestjs.io/).
69
+
70
+
71
+ ## Features
72
+
73
+ - Live Stackblitz demoes
74
+ - [Typedoc with inlined examples](https://fireflysemantics.github.io/slice/doc/)
75
+ - [Well documented test cases run with Jest - Each file has a corresponding `.spec` file](https://github.com/fireflysemantics/slice/tree/master/src)
76
+ - Stream both Entity and Object Stores for UI Updates via RxJS
77
+ - Define entities using Typescript classes, interfaces, or types
78
+ - [Active state tracking](https://medium.com/@ole.ersoy/monitoring-the-currently-active-entity-with-slice-ff7c9b7826e8)
79
+ - [Supports for Optimistic User Interfaces](https://medium.com/@ole.ersoy/optimistic-user-identity-management-with-slice-a2b66efe780c)
80
+ - RESTful API for performing CRUD operations that stream both full and delta updates
81
+ - Dynamic creation of both object and entity stores
82
+ - Observable delta updates for Entities
83
+ - Real time application of Slice `Predicate<E>` filtering that is `Observable`
84
+ - `Predicate` based snapshots of entities
85
+ - Observable `count` of entities in the entity store. The `count` feature can also be `Predicate` filtered.
86
+ - Configurable global id (Client side id - `gid`) and server id (`id`) id property names for entities.
87
+ - The stream of entities can be sorted via an optional boolean expression passed to `observe`.
88
+
89
+ # Stackblitz Todo Entity Store Demo
90
+
91
+ https://stackblitz.com/edit/slice-todo-1329
92
+
93
+ ## Tests
94
+
95
+ See the [test cases](https://github.com/fireflysemantics/slice/).