3.17.22-b-ynrtf56cde ā€¢ Published 8 months ago

othus v3.17.22-b-ynrtf56cde

Weekly downloads
-
License
Apache License 2....
Repository
github
Last release
8 months ago

šŸ’« othus

šŸ†• typescript-based framework

Links: npm, github

šŸ’¬ Differences from express

  • Create an xml grammar from within the typescript file.
  • More detailed information than ever before.
  • Stronger routing than traditional routers.

šŸ“Œ Installation

Run from the shell of the operating system:

$ npm install othus

šŸ“‚ Recommended Directory Structure

index.ts
src/
    components/
        Header.ts
    App.ts

šŸ’¾ Example

index.ts

import othus from 'othus';

import { App } from './src/App';

othus.render(
    <App path="/" />
);

src/App.ts

import othus from 'othus';

import { Header } from './components/Header';

const cors = () => () => {};

export const App: othus.ITF = {
    middleware: [cors()],
    stateOptions: (option: othus.ITF_stateOptions_option) => option,
    body: (req: othus.ITF_body_req, res: othus.ITF_body_res) => {
        res.state(`text`, `0`);

        const count = (req: othus.ITF_body_req, res: othus.ITF_body_res) => {
            res.state(`text`, res.state(`text`) + 1);
        };
				
        const elements: othus.ITFDoc[] = othus.compile(
            <p className="count">{res.state(`text`)}</p>
            <p className="count-btn" onClick={count}>count</p>
        );

        res.send(elements, req.path);
    }
}