Quick Example
This page will guide you through a quick example of a Mandarine-powered application
Step I: Installing Deno
Shell (Mac, Linux):
curl -fsSL https://deno.land/x/install/install.sh | sh
PowerShell (Windows):
iwr https://deno.land/x/install/install.ps1 -useb | iex
Step II: Example file
Create a example file which the following content:
import { Controller, Service, GET, Session, MandarineCore } from "https://deno.land/x/mandarinets/mod.ts";
@Service()
export class MyService {
public sayARandomName(): string {
let names: Array<string> = ["Andres", "Maureen", "Elsa"];
return names[Math.floor(Math.random() * names.length)];
}
}
@Controller()
export class MyController {
constructor(private readonly myService: MyService){}
@GET('/hello-world')
public helloWorld(@Session() session: any) {
if(session.times == undefined) session.times = 0;
session.times++;
return `Hello World number #${session.times} (Yes, there are multiple universes)`;
}
@GET('/say-hi')
public sayHi() {
return `Hello <b>${this.myService.sayARandomName()}</b> from a randomly method.`;
}
}
new MandarineCore().MVC().run();
In the example above, we have created 2 endpoints: /hello-world
which tests the use of Sessions in Mandarine, and /say-hi
which tests the use of Dependency Injection.
Step III: Running your file
tsconfig.json
Create a tsconfig.json in your current working directory with the following content:
{
"compilerOptions": {
"strict": false,
"noImplicitAny": false,
"noImplicitThis": false,
"alwaysStrict": false,
"strictNullChecks": false,
"strictFunctionTypes": true,
"strictPropertyInitialization": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"allowUmdGlobalAccess": false,
}
}
After creating tsconfig.json
, from your command line, now run deno run
:
$ deno run --config tsconfig.json --allow-net --allow-read myFile.ts
Don't forget to replace myFile.ts with the route of your file or name of your file in the current working directory.
After running go to http://localhost:8080/hello-world
or http://localhost:8080/say-hi
.
Note
If you request http://localhost:8080/hello-world
multiple times, you will see how the number increases since a session is being used.
Last updated
Was this helpful?