diff --git a/examples/index.js b/examples/index.js index f3075ea..afc83c4 100644 --- a/examples/index.js +++ b/examples/index.js @@ -1,12 +1,11 @@ // @ts-check -const { Edge } = require('..') +const edge = require('..').default const { join } = require('path') const http = require('http') -const edge = new Edge() - http.createServer((req, res) => { edge.mount(join(__dirname, './views')) + res.writeHead(200, { 'content-type': 'text/html' }) res.end(edge.render('user', { title: 'Hello' })) }).listen(3000) diff --git a/examples/views/user.edge b/examples/views/user.edge index a7436af..059c82b 100644 --- a/examples/views/user.edge +++ b/examples/views/user.edge @@ -1,7 +1,17 @@ -@debugger -@component('alert', title = 'Hey') - @slot('title', props) - @include('partial') - @endslot -@endcomponent -@!component('alert', title = 'Wow') \ No newline at end of file + + + + + + + + + + + @set('user', { username: 'virk' }) + + {{ inspect($state, 1) }} + + diff --git a/index.ts b/index.ts index dc39201..1eb9f91 100644 --- a/index.ts +++ b/index.ts @@ -8,6 +8,7 @@ */ import { Edge } from './src/Edge' +import globals from './src/Edge/globals' export { LoaderContract, @@ -29,4 +30,6 @@ export { export { Edge } const edge = new Edge() +globals(edge) + export default edge diff --git a/package-lock.json b/package-lock.json index 01613d1..ec07dd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1561,6 +1561,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -4369,7 +4370,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "mustache": { "version": "3.1.0", @@ -4435,11 +4437,6 @@ "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==", "dev": true }, - "node-exceptions": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/node-exceptions/-/node-exceptions-4.0.1.tgz", - "integrity": "sha512-KJI+FawYOv74x60H6+zrBPfO2vvp9m0pHZi6SH8BBBuc67Irv11DsqY4Le4EBFq1/T5aXFU3hkLrMgtW7RNXxA==" - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", diff --git a/package.json b/package.json index 733d936..676acc8 100644 --- a/package.json +++ b/package.json @@ -70,14 +70,12 @@ }, "dependencies": { "@poppinss/utils": "^2.1.2", - "debug": "^4.1.1", "edge-error": "^1.0.4", "edge-parser": "^2.1.1", "he": "^1.2.0", "import-fresh": "^3.2.1", "lodash": "^4.17.15", - "macroable": "^4.0.2", - "node-exceptions": "^4.0.1" + "macroable": "^4.0.2" }, "gitHooks": { "commit-msg": "node ./node_modules/@adonisjs/mrm-preset/validateCommit/conventional/validate.js" diff --git a/src/Edge/globals/index.ts b/src/Edge/globals/index.ts new file mode 100644 index 0000000..a4f7b45 --- /dev/null +++ b/src/Edge/globals/index.ts @@ -0,0 +1,30 @@ +/** + * @module edge + */ + +/* +* edge +* +* (c) Harminder Virk +* +* For the full copyright and license information, please view the LICENSE +* file that was distributed with this source code. +*/ + +import { inspect as utilInspect } from 'util' +import { EdgeContract, ContextContract } from '../../Contracts' + +/** + * Inspect value. + */ +function inspect (ctx: ContextContract, valueToInspect: any, depth: number = 1) { + return ctx.safe(`
${utilInspect(valueToInspect, {
+    showHidden: true,
+    compact: false,
+    depth: depth,
+  })}
`) +} + +export default function globals (edge: EdgeContract) { + edge.global('inspect', inspect) +}