Comparing version 0.18.0 to 0.20.0
{ | ||
"name": "prague", | ||
"version": "0.18.0", | ||
"version": "0.20.0", | ||
"description": "EDSL for rules", | ||
"main": "lib/prague.js", | ||
"types": "lib/prague.d.ts", | ||
"main": "lib/src/prague.js", | ||
"types": "lib/src/prague.d.ts", | ||
"scripts": { | ||
"build": "tsc", | ||
"watch": "tsc -w", | ||
"test": "mocha test" | ||
"test": "mocha lib/test" | ||
}, | ||
@@ -15,10 +15,13 @@ "author": "Bill Barnes", | ||
"devDependencies": { | ||
"@types/chai": "^4.1.4", | ||
"@types/chai-subset": "^1.3.1", | ||
"@types/mocha": "^5.2.5", | ||
"chai": "^4.1.2", | ||
"chai-subset": "^1.6.0", | ||
"mocha": "^5.1.0", | ||
"typescript": "2.8.1" | ||
"mocha": "^5.2.0", | ||
"typescript": "^3.0.1" | ||
}, | ||
"dependencies": { | ||
"rxjs": "5.5.10" | ||
"rxjs": "6.2.2" | ||
} | ||
} |
@@ -8,3 +8,2 @@ # Prague | ||
* deeply asynchronous via RxJS | ||
* | ||
@@ -19,3 +18,2 @@ Some types of applications you could build with Prague: | ||
* clone or fork this repo | ||
* `cd recipes\fluent` | ||
* `npm install` | ||
@@ -25,38 +23,22 @@ * `npm run build` (or `npm run watch` to build on file changes) | ||
## To add to your app | ||
`npm install -S prague-fluent` | ||
`npm install prague` | ||
# A guide to Prague | ||
## A note about terminology: Routes and Routers | ||
Past versions of Prague were based on the [network message router](http://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageRoutingIntro.html) pattern. Messages were *routed* through rules, resulting in a *route*. As Prague has evolved (or *pragueressed*, if you will), the message has disappeared as a first class object, and so Router and Route are legacy terminology. I am *extremely open* to suggestions for replacements. | ||
## Overview | ||
A *Router* is a rule in the form of a function that produces an output called a *Route*. | ||
tk | ||
## Routes | ||
## Tutorial | ||
There are several types of Routes: | ||
tk | ||
### No | ||
## Reference | ||
A *NoRoute* is the failure output of a rule. | ||
tk | ||
### Do | ||
## Samples | ||
A *DoRoute* contains asynchronous code to run (**do$** or **do**, depending if you prefer Observables or Promises). | ||
Some miscelaneous [samples](samples/test.ts) exist, but mostly tk. | ||
The ultimate goal of a Prague rule system is either a *DoRoute* (run some code) or a *NoRoute* (don't do anything). | ||
## Tests | ||
### Match | ||
A *MatchRoute* contains information extracted out of the system, such as an intent and/or entities. It contains a typed **value** such as a string or an array of entities, and a **score**, which is a floating-point number between 0 and 1 representing confidence in this information. | ||
A MatchRoute is not an end into itself. | ||
### Template | ||
A *TemplateRoute* contains a schemetized *description* of code to run, in the form **action** (name of action) and **args** (arguments to that function). The **Templates** class allows you to define a dictionary of such actions. | ||
These are in the process of being ported from 0.19.1 |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
26
46963
7
327
42
+ Addedrxjs@6.2.2(transitive)
+ Addedtslib@1.14.1(transitive)
- Removedrxjs@5.5.10(transitive)
- Removedsymbol-observable@1.0.1(transitive)
Updatedrxjs@6.2.2