@orchestr-sh/orchestr 1.9.1 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +143 -0
- package/dist/Console/Commands/MakeViewCommand.d.ts +19 -0
- package/dist/Console/Commands/MakeViewCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeViewCommand.js +132 -0
- package/dist/Console/Commands/MakeViewCommand.js.map +1 -0
- package/dist/Facades/View.d.ts +28 -0
- package/dist/Facades/View.d.ts.map +1 -0
- package/dist/Facades/View.js +57 -0
- package/dist/Facades/View.js.map +1 -0
- package/dist/Routing/Response.d.ts +6 -3
- package/dist/Routing/Response.d.ts.map +1 -1
- package/dist/Routing/Response.js +32 -7
- package/dist/Routing/Response.js.map +1 -1
- package/dist/Routing/Router.d.ts.map +1 -1
- package/dist/Routing/Router.js +9 -1
- package/dist/Routing/Router.js.map +1 -1
- package/dist/Support/helpers.d.ts +19 -0
- package/dist/Support/helpers.d.ts.map +1 -1
- package/dist/Support/helpers.js +31 -0
- package/dist/Support/helpers.js.map +1 -1
- package/dist/View/Engines/FileEngine.d.ts +15 -0
- package/dist/View/Engines/FileEngine.d.ts.map +1 -0
- package/dist/View/Engines/FileEngine.js +21 -0
- package/dist/View/Engines/FileEngine.js.map +1 -0
- package/dist/View/Engines/TemplateEngine.d.ts +100 -0
- package/dist/View/Engines/TemplateEngine.d.ts.map +1 -0
- package/dist/View/Engines/TemplateEngine.js +350 -0
- package/dist/View/Engines/TemplateEngine.js.map +1 -0
- package/dist/View/Engines/ViewEngine.d.ts +12 -0
- package/dist/View/Engines/ViewEngine.d.ts.map +1 -0
- package/dist/View/Engines/ViewEngine.js +8 -0
- package/dist/View/Engines/ViewEngine.js.map +1 -0
- package/dist/View/View.d.ts +44 -0
- package/dist/View/View.d.ts.map +1 -0
- package/dist/View/View.js +72 -0
- package/dist/View/View.js.map +1 -0
- package/dist/View/ViewFactory.d.ts +55 -0
- package/dist/View/ViewFactory.d.ts.map +1 -0
- package/dist/View/ViewFactory.js +101 -0
- package/dist/View/ViewFactory.js.map +1 -0
- package/dist/View/ViewServiceProvider.d.ts +30 -0
- package/dist/View/ViewServiceProvider.d.ts.map +1 -0
- package/dist/View/ViewServiceProvider.js +53 -0
- package/dist/View/ViewServiceProvider.js.map +1 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -899,6 +899,9 @@ npx orchestr queue:prune-batches --hours=24 # Prune batches older than N hours
|
|
|
899
899
|
npx orchestr cache:clear [--store=redis] # Clear all cache or specific store
|
|
900
900
|
npx orchestr cache:forget <key> [--store=redis] # Forget specific cache key
|
|
901
901
|
npx orchestr cache:table # Create cache table migration
|
|
902
|
+
|
|
903
|
+
# Views
|
|
904
|
+
npx orchestr make:view <name> # Create view template
|
|
902
905
|
```
|
|
903
906
|
|
|
904
907
|
## Queue System
|
|
@@ -1524,6 +1527,145 @@ Cache.store(name?)
|
|
|
1524
1527
|
Cache.getPrefix()
|
|
1525
1528
|
```
|
|
1526
1529
|
|
|
1530
|
+
## View System
|
|
1531
|
+
|
|
1532
|
+
Orchestr includes a view system for rendering HTML templates, mirroring Laravel's Blade. Views are stored in `resources/views/` and use dot-notation for resolution (e.g., `'layouts.app'` resolves to `resources/views/layouts/app.html`).
|
|
1533
|
+
|
|
1534
|
+
### Configuration
|
|
1535
|
+
|
|
1536
|
+
```typescript
|
|
1537
|
+
import { ViewServiceProvider } from '@orchestr-sh/orchestr';
|
|
1538
|
+
|
|
1539
|
+
app.register(new ViewServiceProvider(app));
|
|
1540
|
+
|
|
1541
|
+
// Configure in ConfigServiceProvider
|
|
1542
|
+
{
|
|
1543
|
+
view: {
|
|
1544
|
+
paths: ['resources/views'],
|
|
1545
|
+
extensions: ['.html', '.orchestr.html'],
|
|
1546
|
+
},
|
|
1547
|
+
}
|
|
1548
|
+
```
|
|
1549
|
+
|
|
1550
|
+
### Basic Usage
|
|
1551
|
+
|
|
1552
|
+
Return views directly from route handlers using the `view()` helper:
|
|
1553
|
+
|
|
1554
|
+
```typescript
|
|
1555
|
+
import { Route, view } from '@orchestr-sh/orchestr';
|
|
1556
|
+
|
|
1557
|
+
Route.get('/', () => {
|
|
1558
|
+
return view('welcome', { name: 'World' });
|
|
1559
|
+
});
|
|
1560
|
+
```
|
|
1561
|
+
|
|
1562
|
+
### View Facade
|
|
1563
|
+
|
|
1564
|
+
```typescript
|
|
1565
|
+
import { View } from '@orchestr-sh/orchestr';
|
|
1566
|
+
|
|
1567
|
+
// Create a view instance
|
|
1568
|
+
const v = View.make('welcome', { name: 'World' });
|
|
1569
|
+
const html = await v.render();
|
|
1570
|
+
|
|
1571
|
+
// Check if a view exists
|
|
1572
|
+
if (View.exists('emails.invoice')) {
|
|
1573
|
+
// ...
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
// Share data with all views
|
|
1577
|
+
View.share('appName', 'My App');
|
|
1578
|
+
```
|
|
1579
|
+
|
|
1580
|
+
### Chaining Data
|
|
1581
|
+
|
|
1582
|
+
```typescript
|
|
1583
|
+
const v = view('welcome')
|
|
1584
|
+
.with('name', 'John')
|
|
1585
|
+
.with({ role: 'admin', active: true });
|
|
1586
|
+
```
|
|
1587
|
+
|
|
1588
|
+
### Template Syntax
|
|
1589
|
+
|
|
1590
|
+
**Output:**
|
|
1591
|
+
|
|
1592
|
+
```html
|
|
1593
|
+
{{ variable }} <!-- HTML-escaped (XSS-safe) -->
|
|
1594
|
+
{!! variable !!} <!-- Raw/unescaped output -->
|
|
1595
|
+
```
|
|
1596
|
+
|
|
1597
|
+
**Conditionals:**
|
|
1598
|
+
|
|
1599
|
+
```html
|
|
1600
|
+
@if(user.isAdmin)
|
|
1601
|
+
<p>Welcome, admin!</p>
|
|
1602
|
+
@elseif(user.isMember)
|
|
1603
|
+
<p>Welcome, member!</p>
|
|
1604
|
+
@else
|
|
1605
|
+
<p>Welcome, guest!</p>
|
|
1606
|
+
@endif
|
|
1607
|
+
```
|
|
1608
|
+
|
|
1609
|
+
**Loops:**
|
|
1610
|
+
|
|
1611
|
+
```html
|
|
1612
|
+
@foreach(users as user)
|
|
1613
|
+
<li>{{ user.name }}</li>
|
|
1614
|
+
@endforeach
|
|
1615
|
+
```
|
|
1616
|
+
|
|
1617
|
+
**Includes:**
|
|
1618
|
+
|
|
1619
|
+
```html
|
|
1620
|
+
@include('partials.nav')
|
|
1621
|
+
@include('partials.alert', { type: 'success' })
|
|
1622
|
+
```
|
|
1623
|
+
|
|
1624
|
+
### Layouts
|
|
1625
|
+
|
|
1626
|
+
Define a layout file (`resources/views/layouts/app.html`):
|
|
1627
|
+
|
|
1628
|
+
```html
|
|
1629
|
+
<!DOCTYPE html>
|
|
1630
|
+
<html>
|
|
1631
|
+
<head>
|
|
1632
|
+
<title>@yield('title', 'My App')</title>
|
|
1633
|
+
</head>
|
|
1634
|
+
<body>
|
|
1635
|
+
@yield('content')
|
|
1636
|
+
</body>
|
|
1637
|
+
</html>
|
|
1638
|
+
```
|
|
1639
|
+
|
|
1640
|
+
Extend it from a child template (`resources/views/welcome.html`):
|
|
1641
|
+
|
|
1642
|
+
```html
|
|
1643
|
+
@extends('layouts.app')
|
|
1644
|
+
|
|
1645
|
+
@section('title')Welcome@endsection
|
|
1646
|
+
|
|
1647
|
+
@section('content')
|
|
1648
|
+
<h1>Hello, {{ name }}!</h1>
|
|
1649
|
+
@endsection
|
|
1650
|
+
```
|
|
1651
|
+
|
|
1652
|
+
### Response Integration
|
|
1653
|
+
|
|
1654
|
+
```typescript
|
|
1655
|
+
// From a route handler
|
|
1656
|
+
Route.get('/', (req, res) => {
|
|
1657
|
+
return res.view('welcome', { name: 'World' });
|
|
1658
|
+
});
|
|
1659
|
+
```
|
|
1660
|
+
|
|
1661
|
+
### View Commands
|
|
1662
|
+
|
|
1663
|
+
```bash
|
|
1664
|
+
# Create a new view template
|
|
1665
|
+
npx orchestr make:view welcome
|
|
1666
|
+
npx orchestr make:view emails.invoice # Creates resources/views/emails/invoice.html
|
|
1667
|
+
```
|
|
1668
|
+
|
|
1527
1669
|
## Features
|
|
1528
1670
|
|
|
1529
1671
|
- ✅ Service Container & Dependency Injection
|
|
@@ -1543,6 +1685,7 @@ Cache.getPrefix()
|
|
|
1543
1685
|
- ✅ Event Testing (Fakes & Assertions)
|
|
1544
1686
|
- ✅ Queue System (Jobs, Chains, Batches, Workers)
|
|
1545
1687
|
- ✅ Cache System (Tags, Locks, Flexible Caching)
|
|
1688
|
+
- ✅ View System (Templates, Layouts, Directives)
|
|
1546
1689
|
- ✅ Soft Deletes
|
|
1547
1690
|
- ✅ Attribute Casting
|
|
1548
1691
|
- ✅ Timestamps
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MakeViewCommand
|
|
3
|
+
*
|
|
4
|
+
* Create a new view file.
|
|
5
|
+
* Mirrors Laravel's `php artisan make:view`.
|
|
6
|
+
*/
|
|
7
|
+
import { Command, CommandOptions } from '../Command';
|
|
8
|
+
import { Application } from '../../Foundation/Application';
|
|
9
|
+
export declare class MakeViewCommand extends Command {
|
|
10
|
+
protected app: Application;
|
|
11
|
+
signature: string;
|
|
12
|
+
description: string;
|
|
13
|
+
constructor(app: Application);
|
|
14
|
+
handle(args: string[], options: CommandOptions): Promise<void>;
|
|
15
|
+
protected getViewsPath(options: CommandOptions): string;
|
|
16
|
+
protected fileExists(filePath: string): Promise<boolean>;
|
|
17
|
+
protected getStub(title: string): string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=MakeViewCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MakeViewCommand.d.ts","sourceRoot":"","sources":["../../../src/Console/Commands/MakeViewCommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI3D,qBAAa,eAAgB,SAAQ,OAAO;IAI9B,SAAS,CAAC,GAAG,EAAE,WAAW;IAHtC,SAAS,SAAsB;IAC/B,WAAW,SAA4B;gBAEjB,GAAG,EAAE,WAAW;IAIhC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CpE,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM;cAmBvC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9D,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAczC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MakeViewCommand
|
|
4
|
+
*
|
|
5
|
+
* Create a new view file.
|
|
6
|
+
* Mirrors Laravel's `php artisan make:view`.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.MakeViewCommand = void 0;
|
|
43
|
+
const Command_1 = require("../Command");
|
|
44
|
+
const fs = __importStar(require("fs/promises"));
|
|
45
|
+
const path = __importStar(require("path"));
|
|
46
|
+
class MakeViewCommand extends Command_1.Command {
|
|
47
|
+
app;
|
|
48
|
+
signature = 'make:view <name>';
|
|
49
|
+
description = 'Create a new view file';
|
|
50
|
+
constructor(app) {
|
|
51
|
+
super();
|
|
52
|
+
this.app = app;
|
|
53
|
+
}
|
|
54
|
+
async handle(args, options) {
|
|
55
|
+
const name = args[0];
|
|
56
|
+
if (!name) {
|
|
57
|
+
this.error('View name is required.');
|
|
58
|
+
this.line('Usage: make:view <name>');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const viewsPath = this.getViewsPath(options);
|
|
62
|
+
// Convert dot-notation to directory path: 'layouts.app' -> 'layouts/app'
|
|
63
|
+
const relativePath = name.replace(/\./g, '/');
|
|
64
|
+
const ext = options.ext || '.html';
|
|
65
|
+
const fileName = relativePath + ext;
|
|
66
|
+
const filePath = path.join(viewsPath, fileName);
|
|
67
|
+
const dirPath = path.dirname(filePath);
|
|
68
|
+
// Check if file already exists
|
|
69
|
+
if (await this.fileExists(filePath)) {
|
|
70
|
+
this.error(`View already exists: ${filePath}`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// Create directory if it doesn't exist
|
|
74
|
+
await fs.mkdir(dirPath, { recursive: true });
|
|
75
|
+
// Determine the view name for the title
|
|
76
|
+
const viewTitle = name
|
|
77
|
+
.split('.')
|
|
78
|
+
.pop()
|
|
79
|
+
.replace(/-/g, ' ')
|
|
80
|
+
.replace(/\b\w/g, (c) => c.toUpperCase());
|
|
81
|
+
// Generate file content
|
|
82
|
+
const content = this.getStub(viewTitle);
|
|
83
|
+
// Write file
|
|
84
|
+
await fs.writeFile(filePath, content);
|
|
85
|
+
this.info(`View created successfully: ${filePath}`);
|
|
86
|
+
this.newLine();
|
|
87
|
+
this.comment('Render it in a route:');
|
|
88
|
+
this.comment(` return view('${name}', { title: '${viewTitle}' });`);
|
|
89
|
+
}
|
|
90
|
+
getViewsPath(options) {
|
|
91
|
+
if (options.path) {
|
|
92
|
+
return options.path;
|
|
93
|
+
}
|
|
94
|
+
// Resolve from ViewFactory if available
|
|
95
|
+
try {
|
|
96
|
+
const factory = this.app.make('view');
|
|
97
|
+
const paths = factory.getPaths?.() ?? [];
|
|
98
|
+
if (paths.length > 0) {
|
|
99
|
+
return paths[0];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// ViewFactory not registered yet
|
|
104
|
+
}
|
|
105
|
+
return path.join(this.app.getBasePath(), 'resources', 'views');
|
|
106
|
+
}
|
|
107
|
+
async fileExists(filePath) {
|
|
108
|
+
try {
|
|
109
|
+
await fs.access(filePath);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
getStub(title) {
|
|
117
|
+
return `<!DOCTYPE html>
|
|
118
|
+
<html lang="en">
|
|
119
|
+
<head>
|
|
120
|
+
<meta charset="UTF-8">
|
|
121
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
122
|
+
<title>{{ title }}</title>
|
|
123
|
+
</head>
|
|
124
|
+
<body>
|
|
125
|
+
<h1>{{ title }}</h1>
|
|
126
|
+
</body>
|
|
127
|
+
</html>
|
|
128
|
+
`;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.MakeViewCommand = MakeViewCommand;
|
|
132
|
+
//# sourceMappingURL=MakeViewCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MakeViewCommand.js","sourceRoot":"","sources":["../../../src/Console/Commands/MakeViewCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* View Facade
|
|
3
|
+
*
|
|
4
|
+
* Provides static access to the ViewFactory.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { View } from '@orchestr-sh/orchestr';
|
|
9
|
+
*
|
|
10
|
+
* // Create a view
|
|
11
|
+
* const v = View.make('welcome', { name: 'John' });
|
|
12
|
+
* const html = await v.render();
|
|
13
|
+
*
|
|
14
|
+
* // Check if a view exists
|
|
15
|
+
* if (View.exists('layouts.app')) { ... }
|
|
16
|
+
*
|
|
17
|
+
* // Share data with all views
|
|
18
|
+
* View.share('appName', 'My App');
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
import { Facade } from '../Support/Facade';
|
|
22
|
+
import type { ViewFactory } from '../View/ViewFactory';
|
|
23
|
+
declare class ViewFacadeClass extends Facade {
|
|
24
|
+
protected static getFacadeAccessor(): string;
|
|
25
|
+
}
|
|
26
|
+
export declare const View: typeof ViewFacadeClass & ViewFactory;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=View.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../src/Facades/View.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,cAAM,eAAgB,SAAQ,MAAM;IAClC,SAAS,CAAC,MAAM,CAAC,iBAAiB,IAAI,MAAM;CAG7C;AAED,eAAO,MAAM,IAAI,EA2BA,OAAO,eAAe,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* View Facade
|
|
4
|
+
*
|
|
5
|
+
* Provides static access to the ViewFactory.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { View } from '@orchestr-sh/orchestr';
|
|
10
|
+
*
|
|
11
|
+
* // Create a view
|
|
12
|
+
* const v = View.make('welcome', { name: 'John' });
|
|
13
|
+
* const html = await v.render();
|
|
14
|
+
*
|
|
15
|
+
* // Check if a view exists
|
|
16
|
+
* if (View.exists('layouts.app')) { ... }
|
|
17
|
+
*
|
|
18
|
+
* // Share data with all views
|
|
19
|
+
* View.share('appName', 'My App');
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.View = void 0;
|
|
24
|
+
const Facade_1 = require("../Support/Facade");
|
|
25
|
+
class ViewFacadeClass extends Facade_1.Facade {
|
|
26
|
+
static getFacadeAccessor() {
|
|
27
|
+
return 'view';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.View = new Proxy(ViewFacadeClass, {
|
|
31
|
+
get(target, prop) {
|
|
32
|
+
// First check if it's a static method on the facade class itself
|
|
33
|
+
if (prop in target) {
|
|
34
|
+
const value = target[prop];
|
|
35
|
+
if (typeof value === 'function') {
|
|
36
|
+
return value.bind(target);
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
// Then proxy to the ViewFactory instance
|
|
41
|
+
try {
|
|
42
|
+
const root = target.getFacadeRoot();
|
|
43
|
+
if (root && prop in root) {
|
|
44
|
+
const value = root[prop];
|
|
45
|
+
if (typeof value === 'function') {
|
|
46
|
+
return (...args) => value.apply(root, args);
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Facade root not available yet
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=View.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/Facades/View.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,8CAA2C;AAG3C,MAAM,eAAgB,SAAQ,eAAM;IACxB,MAAM,CAAC,iBAAiB;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAEY,QAAA,IAAI,GAAG,IAAI,KAAK,CAAC,eAAe,EAAE;IAC7C,GAAG,CAAC,MAAM,EAAE,IAAI;QACd,iEAAiE;QACjE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAI,MAAc,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAI,MAAc,CAAC,aAAa,EAAiB,CAAC;YAC5D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAoD,CAAC"}
|
|
@@ -54,10 +54,13 @@ export declare class Response {
|
|
|
54
54
|
*/
|
|
55
55
|
download(data: Buffer | string, filename: string): void;
|
|
56
56
|
/**
|
|
57
|
-
* Send a view response
|
|
58
|
-
* Laravel: view('welcome', ['name' => 'John'])
|
|
57
|
+
* Send a view response.
|
|
58
|
+
* Laravel: response()->view('welcome', ['name' => 'John'])
|
|
59
|
+
*
|
|
60
|
+
* Resolves the view via the ViewFactory registered in the container,
|
|
61
|
+
* then renders it asynchronously and sends the resulting HTML.
|
|
59
62
|
*/
|
|
60
|
-
view(template: string, data?: Record<string, any>): void
|
|
63
|
+
view(template: string, data?: Record<string, any>): Promise<void>;
|
|
61
64
|
/**
|
|
62
65
|
* Serialize a cookie
|
|
63
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/Routing/Response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../src/Routing/Response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAiBtC;;;GAGG;AACH,qBAAa,QAAQ;IACZ,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAS;IACjC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,OAAO,CAAsE;gBAEzE,GAAG,EAAE,cAAc;IAI/B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAK9C;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,IAAI;IAKtE;;OAEG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAqBrB;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB1C;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,GAAG,IAAI;IAarD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUvD;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3E;;OAEG;IACH,OAAO,CAAC,eAAe;CAmCxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACtC"}
|
package/dist/Routing/Response.js
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Response = void 0;
|
|
4
|
+
const helpers_1 = require("../Support/helpers");
|
|
5
|
+
// Lazily resolve the ViewFactory from the container at call time
|
|
6
|
+
function resolveViewFactory() {
|
|
7
|
+
try {
|
|
8
|
+
const app = (0, helpers_1.getGlobalApp)();
|
|
9
|
+
if (app) {
|
|
10
|
+
return app.make('view');
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
// View system not registered
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
4
18
|
/**
|
|
5
19
|
* Response - Laravel's HTTP Response wrapper
|
|
6
20
|
* Illuminate\Http\Response
|
|
@@ -129,14 +143,25 @@ class Response {
|
|
|
129
143
|
this.send(data);
|
|
130
144
|
}
|
|
131
145
|
/**
|
|
132
|
-
* Send a view response
|
|
133
|
-
* Laravel: view('welcome', ['name' => 'John'])
|
|
146
|
+
* Send a view response.
|
|
147
|
+
* Laravel: response()->view('welcome', ['name' => 'John'])
|
|
148
|
+
*
|
|
149
|
+
* Resolves the view via the ViewFactory registered in the container,
|
|
150
|
+
* then renders it asynchronously and sends the resulting HTML.
|
|
134
151
|
*/
|
|
135
|
-
view(template, data = {}) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
152
|
+
async view(template, data = {}) {
|
|
153
|
+
const factory = resolveViewFactory();
|
|
154
|
+
if (factory) {
|
|
155
|
+
const viewInstance = factory.make(template, data);
|
|
156
|
+
const html = await viewInstance.render();
|
|
157
|
+
this.header('Content-Type', 'text/html');
|
|
158
|
+
this.send(html);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
// Fallback when the view system is not registered
|
|
162
|
+
this.header('Content-Type', 'text/html');
|
|
163
|
+
this.send(`<html><body><h1>View: ${template}</h1><pre>${JSON.stringify(data, null, 2)}</pre></body></html>`);
|
|
164
|
+
}
|
|
140
165
|
}
|
|
141
166
|
/**
|
|
142
167
|
* Serialize a cookie
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/Routing/Response.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/Routing/Response.ts"],"names":[],"mappings":";;;AAEA,gDAAkD;AAElD,iEAAiE;AACjE,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,sBAAY,GAAE,CAAC;QAC3B,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAgB,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAa,QAAQ;IACZ,GAAG,CAAiB;IACpB,QAAQ,GAAY,KAAK,CAAC;IACzB,UAAU,GAAW,GAAG,CAAC;IACzB,eAAe,GAA2B,EAAE,CAAC;IAC7C,OAAO,GAAmE,EAAE,CAAC;IAErF,YAAY,GAAmB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAY,EAAE,KAAa;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAA+B;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,UAAyB,EAAE;QAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEtC,uBAAuB;QACvB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;gBAClE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAS;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAS,EAAE,UAAmB;QACjC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAW,EAAE,aAAqB,GAAG;QAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAqB,EAAE,QAAgB;QAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,QAAQ,GAAG,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,OAA4B,EAAE;QACzD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QAErC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,yBAAyB,QAAQ,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAY,EAAE,KAAa,EAAE,OAAsB;QACzE,IAAI,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAExE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,UAAU,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,cAAc,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3MD,4BA2MC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAAiC;gBAExC,GAAG,EAAE,WAAW;IAI5B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI7C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI9C;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI/C;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAI5C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK;IAIrE;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;;OAGG;IACH,KAAK,CAAC,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAMnE;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKtC;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI1C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,OAAO,CAAC,MAAM;IASd;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAWrD;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1D;;OAEG;YACW,aAAa;IAqB3B;;OAEG;YACW,QAAQ;IA4BtB;;;OAGG;YACW,mBAAmB;IA0DjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;YACW,oBAAoB;IAUlC;;OAEG;IACH,SAAS,IAAI,KAAK,EAAE;CAGrB"}
|
package/dist/Routing/Router.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.Router = void 0;
|
|
|
4
4
|
const Route_1 = require("./Route");
|
|
5
5
|
const FormRequest_1 = require("../Foundation/Http/FormRequest");
|
|
6
6
|
const ValidationException_1 = require("../Foundation/Http/ValidationException");
|
|
7
|
+
const View_1 = require("../View/View");
|
|
7
8
|
/**
|
|
8
9
|
* Router - Laravel's routing system
|
|
9
10
|
* Illuminate\Routing\Router
|
|
@@ -197,7 +198,14 @@ class Router {
|
|
|
197
198
|
}
|
|
198
199
|
// If the handler returned a value and response wasn't sent, send it
|
|
199
200
|
if (result !== undefined && !res.finished) {
|
|
200
|
-
|
|
201
|
+
if (result instanceof View_1.View) {
|
|
202
|
+
const html = await result.render();
|
|
203
|
+
res.header('Content-Type', 'text/html');
|
|
204
|
+
res.send(html);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
res.send(result);
|
|
208
|
+
}
|
|
201
209
|
}
|
|
202
210
|
}
|
|
203
211
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":";;;AACA,mCAAqE;AAGrE,gEAA6D;AAC7D,gFAA6E;
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/Routing/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Application } from '../Foundation/Application';
|
|
5
5
|
import type { Config as ConfigClass } from '../Foundation/Config/Config';
|
|
6
|
+
import type { View } from '../View/View';
|
|
6
7
|
/**
|
|
7
8
|
* Set the global application instance
|
|
8
9
|
* @internal
|
|
9
10
|
*/
|
|
10
11
|
export declare function setGlobalApp(app: Application): void;
|
|
12
|
+
/**
|
|
13
|
+
* Get the global application instance
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare function getGlobalApp(): Application | null;
|
|
11
17
|
/**
|
|
12
18
|
* Get a configuration value
|
|
13
19
|
* Laravel: config('app.name') or config('app.name', 'default')
|
|
@@ -30,4 +36,17 @@ export declare function base_path(path?: string): string;
|
|
|
30
36
|
* Get the routes directory path
|
|
31
37
|
*/
|
|
32
38
|
export declare function routes_path(path?: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* Get the resources/views directory path
|
|
41
|
+
*/
|
|
42
|
+
export declare function resource_path(path?: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Create a new view instance.
|
|
45
|
+
* Laravel: view('welcome', ['name' => 'John'])
|
|
46
|
+
*
|
|
47
|
+
* @param {string} name - Dot-notation view name (e.g. 'welcome', 'layouts.app')
|
|
48
|
+
* @param {Record<string, any>} data - Data to pass to the view
|
|
49
|
+
* @returns {View}
|
|
50
|
+
*/
|
|
51
|
+
export declare function view(name: string, data?: Record<string, any>): View;
|
|
33
52
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/Support/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/Support/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKzC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAEnD;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,WAAW,GAAG,IAAI,CAEjD;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,WAAW,CAa/E;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAW,GAAG,MAAM,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,IAAI,CAOvE"}
|