Skip to content

Commit

Permalink
Merge branch 'master' into gh-master
Browse files Browse the repository at this point in the history
  • Loading branch information
nullivex committed Mar 12, 2021
2 parents b33e184 + 7e2761f commit 8d3e82c
Show file tree
Hide file tree
Showing 18 changed files with 154 additions and 113 deletions.
17 changes: 13 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
```
npm install kado
```
High Quality JavaScript Framework Libraries for Node.JS

Collection of JavaScript Framework Libraries for Node.js

## Quick Hello Server

Expand Down Expand Up @@ -37,15 +38,23 @@ See [kado.org](https://kado.org/guide/getting-started/) to go further.

## Features

* Single Node.JS Module
* Compatible with Node.JS 10 and above.
* Single Node.js Module
* Compatible with Node.js 10 and above.
* Contains 47 libraries that cover a majority of coding tasks.
* Use libraries as needed and keep the code light.
* Consistent stable code that rarely changes.
* Complete reference documentation.
* Easy to learn, familiar, inspired by popular modules.
* Ready for continuous integration.

## Documentation

Visit [kado.org](https://kado.org)

## Kado Library List

See the [Kado Library List](https://kado.org/info/library-list/)

## Questions or Problems?

Please see our [bug tracker](https://git.nullivex.com/kado/kado/issues)
Expand All @@ -59,6 +68,6 @@ Please see the [CHANGELOG](https://kado.org/info/changelog/)
Please see the [Contribution Guidelines](https://kado.org/info/contributing/)

## License
Kado Copyright (C) 2013-2020 Bryan Tong, NULLIVEX LLC. All rights reserved. Kado
Kado Copyright (C) 2013-2021 Bryan Tong, NULLIVEX LLC. All rights reserved. Kado
is licensed under the Lesser GNU Public License version 3.0 or newer see
[LICENSE](https://kado.org/info/license/) for a complete copy of applicable license
2 changes: 1 addition & 1 deletion doc/Assert.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ Valid when `val1` equal to `val2`
* `val2` {mixed} second value to compare

Valid when `val1` deeply matches `val2`
_Note: Uses Node.JS->assert->deepStrictEqual for evaluations_
_Note: Uses Node.js->assert->deepStrictEqual for evaluations_

### `static Assert.neq(val1, val2)`
* `val1` {mixed} value to match against
Expand Down
4 changes: 2 additions & 2 deletions doc/ChildProcess.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
```js
const ChildProcess = require('kado/lib/ChildProcess')
```
This library provides an enhanced interface to use Node.JS core `child_process`
This library provides an enhanced interface to use Node.js core `child_process`
module.

NOTE: This library is not to be confused with the core `ChildProcess` object
Expand Down Expand Up @@ -33,7 +33,7 @@ Change the path of the child process after instantiation.
### ChildProcess.send(message, sendHandler, options)
* `message` {mixed} data to send to the child
* `sendHandler` {Handle} special handle used to pass sockets to workers, see
the [core Node.JS documentation](https://nodejs.org/dist/latest-v13.x/docs/api/child_process.html#child_process_subprocess_send_message_sendhandle_options_callback)
the [core Node.js documentation](https://nodejs.org/dist/latest-v13.x/docs/api/child_process.html#child_process_subprocess_send_message_sendhandle_options_callback)
* `options` {object} available options `keepOpen` which is also use specially
for sending sockets.
* Return {object} of results indexed by the child pid.
Expand Down
2 changes: 1 addition & 1 deletion doc/Cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
```js
const Cluster = require('kado/lib/Cluster')
```
The `Cluster` library is an extension of the Node.JS `cluster` module that comes
The `Cluster` library is an extension of the Node.js `cluster` module that comes
bundled. This library adds features to the existing module such as:
* Connection counting
* Worker Recycling
Expand Down
2 changes: 1 addition & 1 deletion doc/Event.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ and follows the same logging levels. However, it is best to think of events as
news worthy, and serve a higher level of importance than logs. Events are also
used for tracking user behavior such as database changes etc.

Note: This is not to be confused with the core Node.JS `EventEmitter` which
Note: This is not to be confused with the core Node.js `EventEmitter` which
serves a much different programmable purpose.

## Class: Event
Expand Down
6 changes: 3 additions & 3 deletions doc/FileSystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ and cleaner usage.

## Class: FileSystem

This class is based on Node.JS File System module, see
This class is based on Node.js File System module, see
[this documentation](https://nodejs.org/api/fs.html)
for instructions using these methods. Otherwise, see the document for the
Node.JS version you are using such as:
Node.js version you are using such as:
[v10.x](https://nodejs.org/dist/latest-v10.x/docs/api/fs.html) or
[v12.x](https://nodejs.org/dist/latest-v12.x/docs/api/fs.html), etc

Expand All @@ -39,7 +39,7 @@ const rv = fs.exists('some/file')
console.log(rv) //false
```

Usage can be referenced on the corresponding Node.JS documentation,
Usage can be referenced on the corresponding Node.js documentation,
linked below.

## Available properties
Expand Down
4 changes: 2 additions & 2 deletions doc/Library.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ const Library = require('kado/lib/Library')
```
This is searching library the helps locate other libraries in various system
paths. Essentially, this is an extension of the `require()` system provided
internally by Node.JS and provides a layer of abstraction so that any underlying
module loader my be used.
internally by Node.js and provides a layer of abstraction so that any underlying
module loader may be used.

Example Usage:
```js
Expand Down
2 changes: 1 addition & 1 deletion doc/Mustache.md
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,6 @@ text and are awkward to use for markup."</p>
<p>(C) 2009 Chris Wanstrath</p>
<p>(C) 2010-2020 Jan Lehnardt (JavaScript)</p>
<p>(C) 2010-2020 The mustache.js community</p>
<p>(C) 2020 Bryan Tong, Kado (JavaScript ES6 Upgrades)</p>
<p>(C) 2020-2021 Bryan Tong, Kado (JavaScript ES6 Upgrades)</p>
<p>Original CTemplate by Google</p>
</div>
2 changes: 1 addition & 1 deletion doc/Stream.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const Stream = require('kado/lib/Stream')

## class Stream

The stream class is an exposure of the Node.JS core Stream class. This provides
The stream class is an exposure of the Node.js core Stream class. This provides
convenience as we overlay common Stream manipulation mechanisms on to the core
functionality.

Expand Down
2 changes: 1 addition & 1 deletion doc/Validate.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ Valid when `val1` equal to `val2`
* Return {boolean} `true` when val1 deeply matches val2

Valid when `val1` deeply matches `val2`
_Note: Uses Node.JS->assert->deepStrictEqual for evaluations_
_Note: Uses Node.js->assert->deepStrictEqual for evaluations_

### `static Validate.neq(val1, val2)`
* `val1` {number} to test against
Expand Down
6 changes: 3 additions & 3 deletions doc/article/Kado4Released.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ current setup.

## Create Websites and API Servers

The new Kado libraries come with enough functionality to setup both websites
The new Kado libraries come with enough functionality to set up both websites
and API servers right out of the box. No extra dependencies needed! The included
libraries provide everything to setup routes, process requests, and set
redirects. Keep working close to the core of Node.JS by using Kado for your next
libraries provide everything to set up routes, process requests, and set
redirects. Keep working close to the core of Node.js by using Kado for your next
servers.

## Step by Step Guides
Expand Down
8 changes: 4 additions & 4 deletions doc/article/Thesis.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ building several portals and they all comprise of the same basic concepts.

I keep looking for an end all to this madness of creating customer portal after
customer portal. We kept finding software that forced us to adapt our company to
the software rather than adapting the software to our process. This backwards
the software rather than adapting the software to our process. These backwards
process limits companies on new features and time to bring new features to
market. This is where Kado prevails. Its not built like a traditional web
market. This is where Kado prevails. It's not built like a traditional web
portal. It has been produced with the mentality of an operating system, think of
Windows or Linux. The great part is that Node.JS allows us to implement this
Windows or Linux. The great part is that Node.js allows us to implement this
structure in a way that allows the developer to use tools and dependencies of
their liking. This will allow the developer to install and go. Lets take a look
their liking. This will allow the developer to install and go. Let's take a look
at how this would work.

First install Kado globally:
Expand Down
4 changes: 2 additions & 2 deletions doc/guide/GettingStarted.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Getting Started

Kado JavaScript libraries will help propel your Node.JS or Web Application
Kado JavaScript libraries will help propel your Node.js or Web Application
forward and provide better performance, easier debugging, and simpler overall
code.

First, you should have created project somewhere, whether it be a Git repository
or a new project in your code editor. Also you should have a `package.json` file
or a new project in your code editor. Also, you should have a `package.json` file
to contain information about your project. If not, you need to create one. The
easiest way is to run `npm init` and follow the on screen instructions.

Expand Down
4 changes: 2 additions & 2 deletions doc/guide/Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ from our wonderful community. We hope that Kado 4 will vastly improve the
performance of your applications. Also, we hope that Kado 4 will reduce the
amount of code you have to write. Most importantly, Kado 4 will significantly
reduce the amount of third party software your application will depend upon. Our
goal is that Node.JS + Kado is a combination that puts the developer in control
goal is that Node.js + Kado is a combination that puts the developer in control
and provides enough tool depth as well as documentation depth to build applications with
few to no outside dependencies.

Expand All @@ -29,7 +29,7 @@ few to no outside dependencies.
This is impmortant due to the fact maintenance of those outside packages are
vital to the continued success of your applications. Without quality
maintenance, packages are susceptible to incompatibilities with future versions
of Node.JS as well as SECURITY VULNERABILITIES that may go unhandled!
of Node.js as well as SECURITY VULNERABILITIES that may go unhandled!
Furthermore, without being able to easily introspect which packages each named
dependency relies on, it becomes a struggle making sure your application is
compliant with the imposed licenses.
Expand Down
18 changes: 13 additions & 5 deletions doc/info/Download.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,27 @@ $ npm install kado
```

This is the preferred installation method and is the easiest. Provided you have
already installed [Node.JS](https://nodejs.org) then you should have `npm`
already installed [Node.js](https://nodejs.org) then you should have `npm`
available on your system. Simply execute the command above from your project
root to install Kado into your project.

## Install from Yarn

```
$ yarn add kado
```

Yarn is a great package manager and works well in production.

### Direct Download

Please use the link below to download an archive file containing the latest
version of Kado.

* [kado-4.2.1.zip](https://git.nullivex.com/kado/kado/-/archive/v4.2.1/kado-v4.2.1.zip) - All Platforms
* [kado-4.2.1.tar.gz](https://git.nullivex.com/kado/kado/-/archive/v4.2.1/kado-v4.2.1.tar.gz) - All Platforms
* [kado-4.2.1.tar.bz2](https://git.nullivex.com/kado/kado/-/archive/v4.2.1/kado-v4.2.1.tar.bz2) - All Platforms
* [kado-4.2.1.tar](https://git.nullivex.com/kado/kado/-/archive/v4.2.1/kado-v4.2.1.tar) - All Platforms
* [kado-4.3.0.zip](https://git.nullivex.com/kado/kado/-/archive/v4.3.0/kado-v4.3.0.zip) - All Platforms
* [kado-4.3.0.tar.gz](https://git.nullivex.com/kado/kado/-/archive/v4.3.0/kado-v4.3.0.tar.gz) - All Platforms
* [kado-4.3.0.tar.bz2](https://git.nullivex.com/kado/kado/-/archive/v4.3.0/kado-v4.3.0.tar.bz2) - All Platforms
* [kado-4.3.0.tar](https://git.nullivex.com/kado/kado/-/archive/v4.3.0/kado-v4.3.0.tar) - All Platforms

For earlier versions see our [Release Page](https://git.nullivex.com/kado/kado/-/releases).

Expand Down
103 changes: 25 additions & 78 deletions doc/info/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,24 @@ Install Kado using [NPM](https://npmjs.org) or see
```
npm install kado
```
High Quality JavaScript Framework Libraries for Node.JS
Collection of JavaScript Framework Libraries for Node.js

## Quick Hello Server

Place the following code into an empty JavaScript file, example: `app.js`.
```js
const HyperText = require('kado/lib/HyperText')
const app = require('kado').getInstance()
const http = new HyperText.HyperTextServer()
'use strict'
// import kado
const kado = require('kado')
// create application
const app = kado.getInstance()
// create a webserver
const http = new kado.HyperText.HyperTextServer()
// register the webserver
app.http.addEngine('http', http.createServer(app.router))
// register a route
app.get('/', (req, res) => { res.end('Hello') })
// start the application and listen
app.start().then(() => app.listen())
```
After saving the file, execute the code by running the following command from
Expand All @@ -33,6 +40,17 @@ See more guides and examples below.

## Features

* Single Node.js Module
* Compatible with Node.js 10 and above.
* Contains 47 libraries that cover a majority of coding tasks.
* Use libraries as needed and keep the code light.
* Consistent stable code that rarely changes.
* Complete reference documentation.
* Easy to learn, familiar, inspired by popular modules.
* Ready for continuous integration.

## More Features

* Create servers that produce websites, APIs, or anything really.
* Create back ends for existing applications and save resources.
* Build command line applications quickly.
Expand Down Expand Up @@ -76,80 +94,9 @@ to know about the Kado view system and how to render views.
* [Writing Tests](../guide/WritingTests.md) - Write tests against your
application easily using the provided Kado library.

## Kado Library List

This is an exhaustive list of all the JavaScript libraries provided with Kado.
Each library has a link to its documentation as well as a short description of
what is provided by the library.

* [Application](../Application.md) - Create a new application containing
most Kado features.
* [Assert](../Assert.md) - Make assertions on input or tests.
* [Asset](../Asset.md) - Store, filter, and query static application
files.
* [ChildProcess](../ChildProcess.md) - Child process library adding
convenience and functionality to the core child_process functions.
* [Cluster](../Cluster.md) - Cluster library for constructing and
operating process clusters.
* [Command](../Command.md) - Build CLI applications with ease.
* [CommandServer](../CommandServer.md) - Execute CLI applications like a
web server.
* [Connect](../Connect.md) - Framework for housing external resource
connections.
* [ConnectEngine](../ConnectEngine.md) - Interface for creating an engine
to be used with a Connect system.
* [Cron](../Cron.md) - Execute functions on a schedule similar to UNIX
cron jobs.
* [Database](../Database.md) - Connect system made for Databases.
* [Email](../Email.md) - Connect system made for Email.
* [ETag](../ETag.md) - Class for determining ETag header.
* [Event](../Event.md) - Create, track and handle application events with
log levels.
* [FileSystem](../FileSystem.md) - Consistent API for use with File
System methods.
* [Format](../Format.md) - Commonly used String, Number, and Date format
methods.
* [GetOpt](../GetOpt.md) - Parse command line string input into an
object.
* [History](../History.md) - Track user navigation history throughout
a session.
* [HyperText](../HyperText.md) - Connect system made for HTTP servers.
* [Language](../Language.md) - Internationalization helpers including
loading, parsing, and displaying languages.
* [Library](../Library.md) - Dynamic library loader.
* [Lifecycle](../Lifecycle.md) - Start and stop systems with events.
* [Log](../Log.md) - Connect system made for Logs.
* [Mapper](../Mapper.md) - ECMA Map functionality on Objects.
* [Message](../Message.md) - Create, track and handle messages from
various inputs and outputs.
* [Mime](../Mime.md) - Class for determining file types.
* [Model](../Model.md) - Super class for building new data models used
for interacting with data sets produced by data queries.
* [Module](../Module.md) - Super class for creating Kado modules.
* [Mustache](../Mustache.md) - Provides a logic-less templating system
for use in providing any kind of text rendering.
* [Navigation](../Navigation.md) - Create and manage application menus.
* [Parser](../Parser.md) - Parse input strings to variables such as
objects.
* [PathExp](../PathExp.md) - Use path notation to validate routes on
URIs.
* [Permission](../Permission.md) - Create and test permission sets to
allow fine grained user control.
* [Profiler](../Profiler.md) - Track application resource usage and
timing.
* [Query](../Query.md) - Super class for constructing query builders that
are customized for a specific query language.
* [QueryCache](../QueryCache.md) - Query cache system for databases.
* [Router](../Router.md) - Store and process application route points.
* [Schema](../Schema.md) - Super class for constructing schema builders
that are customized for a specific schema language.
* [Search](../Search.md) - Connect system for made for search.
* [Session](../Session.md) - Session system for storing data against
users.
* [TestRunner](../TestRunner.md) - Define and run Test Suites and Tests.
* [Util](../Util.md) - Misfit useful functions.
* [Validate](../Validate.md) - Validate input.
* [View](../View.md) - Connect system made for rendering.
## Library List

See our [Kado Library List](./LibraryList.md)

## Questions or Problems?

Expand Down
4 changes: 2 additions & 2 deletions doc/info/Introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ from our wonderful community. We hope that Kado 4 will vastly improve the
performance of your applications. Also, we hope that Kado 4 will reduce the
amount of code you have to write. Most importantly, Kado 4 will significantly
reduce the amount of third party software your application will depend upon. Our
goal is that Node.JS + Kado is a combination that puts the developer in control
goal is that Node.js + Kado is a combination that puts the developer in control
and provides enough tool depth as well as documentation depth to build applications with
few to no outside dependencies.

Expand All @@ -29,7 +29,7 @@ few to no outside dependencies.
This is impmortant due to the fact maintenance of those outside packages are
vital to the continued success of your applications. Without quality
maintenance, packages are susceptible to incompatibilities with future versions
of Node.JS as well as SECURITY VULNERABILITIES that may go unhandled!
of Node.js as well as SECURITY VULNERABILITIES that may go unhandled!
Furthermore, without being able to easily introspect which packages each named
dependency relies on, it becomes a struggle making sure your application is
compliant with the imposed licenses.
Expand Down
Loading

0 comments on commit 8d3e82c

Please sign in to comment.