jcc-express-mvc 1.8.7 → 1.8.21
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/Core/index.d.ts +4 -0
- package/Core/index.d.ts.map +1 -1
- package/Core/index.js +5 -0
- package/__tests__/Job.test.d.ts +2 -0
- package/__tests__/Job.test.d.ts.map +1 -0
- package/__tests__/Job.test.js +205 -0
- package/__tests__/MySqlSchemaBlueprint.test.d.ts +2 -0
- package/__tests__/MySqlSchemaBlueprint.test.d.ts.map +1 -0
- package/__tests__/MySqlSchemaBlueprint.test.js +55 -0
- package/__tests__/PostgresTranslator.test.d.ts +2 -0
- package/__tests__/PostgresTranslator.test.d.ts.map +1 -0
- package/__tests__/PostgresTranslator.test.js +82 -0
- package/__tests__/SQLiteTranslator.test.d.ts +2 -0
- package/__tests__/SQLiteTranslator.test.d.ts.map +1 -0
- package/__tests__/SQLiteTranslator.test.js +125 -0
- package/__tests__/SchemaAlterBlueprint.test.d.ts +2 -0
- package/__tests__/SchemaAlterBlueprint.test.d.ts.map +1 -0
- package/__tests__/SchemaAlterBlueprint.test.js +35 -0
- package/global.d.ts +3 -1
- package/index.d.ts +28 -3
- package/index.d.ts.map +1 -1
- package/index.js +33 -75
- package/lib/Application/Application.d.ts.map +1 -1
- package/lib/Application/Application.js +2 -2
- package/lib/Application/ApplicationBuilder.d.ts.map +1 -1
- package/lib/Application/ApplicationBuilder.js +22 -11
- package/lib/Auth/AuthMiddleware.d.ts.map +1 -1
- package/lib/Auth/AuthMiddleware.js +29 -12
- package/lib/Auth/index.d.ts +17 -3
- package/lib/Auth/index.d.ts.map +1 -1
- package/lib/Auth/index.js +128 -26
- package/lib/Auth/loginRateLimit.d.ts +6 -0
- package/lib/Auth/loginRateLimit.d.ts.map +1 -0
- package/lib/Auth/loginRateLimit.js +25 -0
- package/lib/Auth/refreshTokenStore.d.ts +24 -0
- package/lib/Auth/refreshTokenStore.d.ts.map +1 -0
- package/lib/Auth/refreshTokenStore.js +46 -0
- package/lib/Command-Line/DBCommand.d.ts.map +1 -1
- package/lib/Command-Line/DBCommand.js +9 -3
- package/lib/Command-Line/KeyGenerateCommand.d.ts +6 -0
- package/lib/Command-Line/KeyGenerateCommand.d.ts.map +1 -0
- package/lib/Command-Line/KeyGenerateCommand.js +47 -0
- package/lib/Command-Line/MakeCommand.d.ts +1 -0
- package/lib/Command-Line/MakeCommand.d.ts.map +1 -1
- package/lib/Command-Line/MakeCommand.js +36 -32
- package/lib/Command-Line/NodeArtisanCommand.d.ts +2 -0
- package/lib/Command-Line/NodeArtisanCommand.d.ts.map +1 -1
- package/lib/Command-Line/NodeArtisanCommand.js +24 -6
- package/lib/Command-Line/NodeTinker/Tinker.d.ts +5 -2
- package/lib/Command-Line/NodeTinker/Tinker.d.ts.map +1 -1
- package/lib/Command-Line/NodeTinker/Tinker.js +13 -3
- package/lib/Command-Line/WatchCommand.d.ts +29 -0
- package/lib/Command-Line/WatchCommand.d.ts.map +1 -0
- package/lib/Command-Line/WatchCommand.js +234 -0
- package/lib/Command-Line/files/Models.d.ts.map +1 -1
- package/lib/Command-Line/files/Models.js +67 -0
- package/lib/Console/Command.d.ts +18 -0
- package/lib/Console/Command.d.ts.map +1 -1
- package/lib/Console/Command.js +29 -0
- package/lib/Container/index.d.ts.map +1 -1
- package/lib/Container/index.js +22 -8
- package/lib/Database/Database.d.ts +21 -0
- package/lib/Database/Database.d.ts.map +1 -0
- package/lib/Database/Database.js +55 -0
- package/lib/Database/DatabaseServiceProvider.d.ts +22 -0
- package/lib/Database/DatabaseServiceProvider.d.ts.map +1 -0
- package/lib/Database/DatabaseServiceProvider.js +50 -0
- package/lib/Database/Drivers/KnexDriver.d.ts +13 -0
- package/lib/Database/Drivers/KnexDriver.d.ts.map +1 -0
- package/lib/Database/Drivers/KnexDriver.js +29 -0
- package/lib/Database/Drivers/MongooseDriver.d.ts +20 -0
- package/lib/Database/Drivers/MongooseDriver.d.ts.map +1 -0
- package/lib/Database/Drivers/MongooseDriver.js +57 -0
- package/lib/Database/Drivers/SequelizeDriver.d.ts +24 -0
- package/lib/Database/Drivers/SequelizeDriver.d.ts.map +1 -0
- package/lib/Database/Drivers/SequelizeDriver.js +82 -0
- package/lib/Database/index.d.ts +7 -0
- package/lib/Database/index.d.ts.map +1 -0
- package/lib/Database/index.js +11 -0
- package/lib/Database/interface.d.ts +14 -0
- package/lib/Database/interface.d.ts.map +1 -0
- package/lib/Database/interface.js +2 -0
- package/lib/Database/type.d.ts +18 -0
- package/lib/Database/type.d.ts.map +1 -0
- package/lib/Database/type.js +2 -0
- package/lib/Error/DisplayErrorCode.d.ts.map +1 -1
- package/lib/Error/DisplayErrorCode.js +27 -17
- package/lib/Error/MissMatchTokenException/index.d.ts +4 -0
- package/lib/Error/MissMatchTokenException/index.d.ts.map +1 -0
- package/lib/Error/MissMatchTokenException/index.js +9 -0
- package/lib/Error/SocialiteAuthError/SocialiteAuthError.d.ts +9 -0
- package/lib/Error/SocialiteAuthError/SocialiteAuthError.d.ts.map +1 -0
- package/lib/Error/SocialiteAuthError/SocialiteAuthError.js +17 -0
- package/lib/Global/helpers.d.ts.map +1 -1
- package/lib/Global/helpers.js +7 -6
- package/lib/Http/index.d.ts +3 -1
- package/lib/Http/index.d.ts.map +1 -1
- package/lib/Http/index.js +26 -5
- package/lib/Interface/index.d.ts +17 -3
- package/lib/Interface/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Builder.d.ts +12 -1
- package/lib/Jcc-eloquent/lib/Builder.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Builder.js +119 -5
- package/lib/Jcc-eloquent/lib/Database/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Database/index.js +2 -1
- package/lib/Jcc-eloquent/lib/Interfaces/index.d.ts +37 -2
- package/lib/Jcc-eloquent/lib/Interfaces/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Migration.d.ts +6 -0
- package/lib/Jcc-eloquent/lib/Migration.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Migration.js +24 -2
- package/lib/Jcc-eloquent/lib/Model.d.ts +24 -7
- package/lib/Jcc-eloquent/lib/Model.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Model.js +35 -2
- package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts +2 -1
- package/lib/Jcc-eloquent/lib/QueryBuilder.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/QueryBuilder.js +10 -1
- package/lib/Jcc-eloquent/lib/Rollback.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Rollback.js +9 -2
- package/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/BaseSchemaEntity/index.js +3 -3
- package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.d.ts +6 -2
- package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/BluePrint/index.js +41 -12
- package/lib/Jcc-eloquent/lib/Schema/Translator/Sqlite.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/Translator/Sqlite.js +21 -3
- package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.d.ts +1 -0
- package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/Translator/postgres.js +70 -14
- package/lib/Jcc-eloquent/lib/Schema/index.d.ts +12 -0
- package/lib/Jcc-eloquent/lib/Schema/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/Schema/index.js +27 -6
- package/lib/Jcc-eloquent/lib/utils/index.d.ts +13 -0
- package/lib/Jcc-eloquent/lib/utils/index.d.ts.map +1 -1
- package/lib/Jcc-eloquent/lib/utils/index.js +62 -0
- package/lib/Middleware/index.d.ts +1 -0
- package/lib/Middleware/index.d.ts.map +1 -1
- package/lib/Middleware/index.js +20 -8
- package/lib/Model/Sequelize.d.ts +3 -0
- package/lib/Model/Sequelize.d.ts.map +1 -0
- package/lib/Model/Sequelize.js +6 -0
- package/lib/Providers/RouteServiceProvider.d.ts.map +1 -1
- package/lib/Providers/RouteServiceProvider.js +3 -0
- package/lib/Providers/SessionServiceProvider.d.ts +12 -0
- package/lib/Providers/SessionServiceProvider.d.ts.map +1 -0
- package/lib/Providers/SessionServiceProvider.js +47 -0
- package/lib/Queue/Controllers/QueueControllers.d.ts +31 -0
- package/lib/Queue/Controllers/QueueControllers.d.ts.map +1 -0
- package/lib/Queue/Controllers/QueueControllers.js +126 -0
- package/lib/Queue/Drivers/DatabaseDriver.d.ts +6 -1
- package/lib/Queue/Drivers/DatabaseDriver.d.ts.map +1 -1
- package/lib/Queue/Drivers/DatabaseDriver.js +76 -21
- package/lib/Queue/Drivers/MemoryDriver.d.ts +17 -6
- package/lib/Queue/Drivers/MemoryDriver.d.ts.map +1 -1
- package/lib/Queue/Drivers/MemoryDriver.js +323 -14
- package/lib/Queue/Drivers/RedisDriver.d.ts +48 -0
- package/lib/Queue/Drivers/RedisDriver.d.ts.map +1 -0
- package/lib/Queue/Drivers/RedisDriver.js +533 -0
- package/lib/Queue/Job.d.ts +8 -0
- package/lib/Queue/Job.d.ts.map +1 -1
- package/lib/Queue/Job.js +25 -1
- package/lib/Queue/JobsLogger.d.ts.map +1 -1
- package/lib/Queue/JobsLogger.js +6 -3
- package/lib/Queue/Queue.d.ts +17 -0
- package/lib/Queue/Queue.d.ts.map +1 -1
- package/lib/Queue/Queue.js +146 -11
- package/lib/Queue/QueueServiceProvider.d.ts +6 -0
- package/lib/Queue/QueueServiceProvider.d.ts.map +1 -0
- package/lib/Queue/QueueServiceProvider.js +18 -0
- package/lib/Queue/Route/web.d.ts +2 -0
- package/lib/Queue/Route/web.d.ts.map +1 -0
- package/lib/Queue/Route/web.js +16 -0
- package/lib/Queue/index.d.ts +1 -0
- package/lib/Queue/index.d.ts.map +1 -1
- package/lib/Queue/index.js +3 -0
- package/lib/Queue/interface.d.ts +25 -0
- package/lib/Queue/interface.d.ts.map +1 -1
- package/lib/Queue/middleware/queueDashboardGuard.d.ts +7 -0
- package/lib/Queue/middleware/queueDashboardGuard.d.ts.map +1 -0
- package/lib/Queue/middleware/queueDashboardGuard.js +43 -0
- package/lib/Queue/type.d.ts +12 -1
- package/lib/Queue/type.d.ts.map +1 -1
- package/lib/Response/index.d.ts.map +1 -1
- package/lib/Response/index.js +6 -1
- package/lib/Routes/Route.d.ts +2 -2
- package/lib/Routes/Route.d.ts.map +1 -1
- package/lib/Routes/RouteBuilder.d.ts +2 -2
- package/lib/Routes/RouteBuilder.d.ts.map +1 -1
- package/lib/Security/CsrfMiddleware.d.ts +37 -0
- package/lib/Security/CsrfMiddleware.d.ts.map +1 -0
- package/lib/Security/CsrfMiddleware.js +85 -0
- package/lib/Security/MethodSpoofingMiddleware.d.ts +36 -0
- package/lib/Security/MethodSpoofingMiddleware.d.ts.map +1 -0
- package/lib/Security/MethodSpoofingMiddleware.js +51 -0
- package/lib/Security/index.d.ts +5 -0
- package/lib/Security/index.d.ts.map +1 -0
- package/lib/Security/index.js +7 -0
- package/lib/Session/DatabaseSession.d.ts +9 -3
- package/lib/Session/DatabaseSession.d.ts.map +1 -1
- package/lib/Session/DatabaseSession.js +38 -36
- package/lib/Session/ExpressJccSession.d.ts +23 -0
- package/lib/Session/ExpressJccSession.d.ts.map +1 -0
- package/lib/Session/ExpressJccSession.js +110 -0
- package/lib/Session/RedisSession.d.ts +2 -2
- package/lib/Session/RedisSession.d.ts.map +1 -1
- package/lib/Session/RedisSession.js +19 -5
- package/lib/Session/SessionManager.d.ts +18 -4
- package/lib/Session/SessionManager.d.ts.map +1 -1
- package/lib/Session/SessionManager.js +53 -17
- package/lib/Socialite/AbstractProvider.d.ts +60 -0
- package/lib/Socialite/AbstractProvider.d.ts.map +1 -0
- package/lib/Socialite/AbstractProvider.js +136 -0
- package/lib/Socialite/Drivers/facebook/FacebookDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/facebook/FacebookDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/facebook/FacebookDriver.js +40 -0
- package/lib/Socialite/Drivers/facebook/FacebookProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/facebook/FacebookProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/facebook/FacebookProvider.js +28 -0
- package/lib/Socialite/Drivers/github/GitHubDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/github/GitHubDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/github/GitHubDriver.js +54 -0
- package/lib/Socialite/Drivers/github/GitHubProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/github/GitHubProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/github/GitHubProvider.js +28 -0
- package/lib/Socialite/Drivers/gitlab/GitLabDriver.d.ts +10 -0
- package/lib/Socialite/Drivers/gitlab/GitLabDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/gitlab/GitLabDriver.js +37 -0
- package/lib/Socialite/Drivers/gitlab/GitLabProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/gitlab/GitLabProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/gitlab/GitLabProvider.js +28 -0
- package/lib/Socialite/Drivers/google/GoogleDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/google/GoogleDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/google/GoogleDriver.js +39 -0
- package/lib/Socialite/Drivers/google/GoogleProvider.d.ts +15 -0
- package/lib/Socialite/Drivers/google/GoogleProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/google/GoogleProvider.js +28 -0
- package/lib/Socialite/Drivers/slack/SlackDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/slack/SlackDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/slack/SlackDriver.js +41 -0
- package/lib/Socialite/Drivers/slack/SlackProvider.d.ts +16 -0
- package/lib/Socialite/Drivers/slack/SlackProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/slack/SlackProvider.js +37 -0
- package/lib/Socialite/Drivers/twitter/TwitterDriver.d.ts +9 -0
- package/lib/Socialite/Drivers/twitter/TwitterDriver.d.ts.map +1 -0
- package/lib/Socialite/Drivers/twitter/TwitterDriver.js +57 -0
- package/lib/Socialite/Drivers/twitter/TwitterProvider.d.ts +16 -0
- package/lib/Socialite/Drivers/twitter/TwitterProvider.d.ts.map +1 -0
- package/lib/Socialite/Drivers/twitter/TwitterProvider.js +38 -0
- package/lib/Socialite/SocialUser.d.ts +42 -0
- package/lib/Socialite/SocialUser.d.ts.map +1 -0
- package/lib/Socialite/SocialUser.js +116 -0
- package/lib/Socialite/Socialite.d.ts +13 -0
- package/lib/Socialite/Socialite.d.ts.map +1 -0
- package/lib/Socialite/Socialite.js +41 -0
- package/lib/Socialite/SocialiteProvider.d.ts +9 -0
- package/lib/Socialite/SocialiteProvider.d.ts.map +1 -0
- package/lib/Socialite/SocialiteProvider.js +15 -0
- package/lib/Socialite/config.d.ts +7 -0
- package/lib/Socialite/config.d.ts.map +1 -0
- package/lib/Socialite/config.js +44 -0
- package/lib/Socialite/constant.d.ts +18 -0
- package/lib/Socialite/constant.d.ts.map +1 -0
- package/lib/Socialite/constant.js +20 -0
- package/lib/Socialite/index.d.ts +13 -0
- package/lib/Socialite/index.d.ts.map +1 -0
- package/lib/Socialite/index.js +25 -0
- package/lib/Socialite/types.d.ts +13 -0
- package/lib/Socialite/types.d.ts.map +1 -0
- package/lib/Socialite/types.js +2 -0
- package/lib/Templating-engine/benchmark.d.ts +7 -0
- package/lib/Templating-engine/benchmark.d.ts.map +1 -0
- package/lib/Templating-engine/benchmark.js +44 -0
- package/lib/Templating-engine/engineHelper.d.ts +37 -8
- package/lib/Templating-engine/engineHelper.d.ts.map +1 -1
- package/lib/Templating-engine/engineHelper.js +203 -26
- package/lib/Templating-engine/errors.d.ts +15 -0
- package/lib/Templating-engine/errors.d.ts.map +1 -0
- package/lib/Templating-engine/errors.js +35 -0
- package/lib/Templating-engine/expressions.d.ts +24 -0
- package/lib/Templating-engine/expressions.d.ts.map +1 -1
- package/lib/Templating-engine/expressions.js +27 -5
- package/lib/Templating-engine/index.d.ts +87 -17
- package/lib/Templating-engine/index.d.ts.map +1 -1
- package/lib/Templating-engine/index.js +701 -96
- package/lib/Templating-engine/plugins.d.ts +30 -0
- package/lib/Templating-engine/plugins.d.ts.map +1 -0
- package/lib/Templating-engine/plugins.js +47 -0
- package/lib/Type/index.d.ts +1 -0
- package/lib/Type/index.d.ts.map +1 -1
- package/lib/Validation/Validator/CustomValidation.d.ts.map +1 -1
- package/lib/Validation/Validator/CustomValidation.js +2 -2
- package/lib/Validation/Validator/helper.d.ts.map +1 -1
- package/lib/Validation/Validator/helper.js +8 -1
- package/lib/util/index.d.ts +42 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +154 -17
- package/package.json +1 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Template engine errors with line/column context.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TemplateError = void 0;
|
|
7
|
+
exports.getLineColumn = getLineColumn;
|
|
8
|
+
class TemplateError extends Error {
|
|
9
|
+
constructor(message, line, column, templatePath) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.line = line;
|
|
12
|
+
this.column = column;
|
|
13
|
+
this.templatePath = templatePath;
|
|
14
|
+
this.name = "TemplateError";
|
|
15
|
+
Object.setPrototypeOf(this, TemplateError.prototype);
|
|
16
|
+
}
|
|
17
|
+
toString() {
|
|
18
|
+
let msg = `TemplateError: ${this.message}`;
|
|
19
|
+
if (this.line != null)
|
|
20
|
+
msg += ` (line ${this.line}`;
|
|
21
|
+
if (this.column != null)
|
|
22
|
+
msg += `, column ${this.column}`;
|
|
23
|
+
if (this.line != null || this.column != null)
|
|
24
|
+
msg += ")";
|
|
25
|
+
if (this.templatePath)
|
|
26
|
+
msg += ` in ${this.templatePath}`;
|
|
27
|
+
return msg;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.TemplateError = TemplateError;
|
|
31
|
+
function getLineColumn(source, index) {
|
|
32
|
+
const before = source.slice(0, index);
|
|
33
|
+
const lines = before.split("\n");
|
|
34
|
+
return { line: lines.length, column: (lines.pop()?.length ?? 0) + 1 };
|
|
35
|
+
}
|
|
@@ -2,15 +2,39 @@ export declare abstract class TemplateRegex {
|
|
|
2
2
|
protected directives: {
|
|
3
3
|
extends: RegExp;
|
|
4
4
|
foreach: RegExp;
|
|
5
|
+
forelse: RegExp;
|
|
6
|
+
for: RegExp;
|
|
7
|
+
while: RegExp;
|
|
8
|
+
switch: RegExp;
|
|
5
9
|
if: RegExp;
|
|
10
|
+
unless: RegExp;
|
|
11
|
+
isset: RegExp;
|
|
12
|
+
empty: RegExp;
|
|
13
|
+
includeUnless: RegExp;
|
|
14
|
+
includeWhen: RegExp;
|
|
15
|
+
includeIf: RegExp;
|
|
6
16
|
include: RegExp;
|
|
17
|
+
production: RegExp;
|
|
18
|
+
env: RegExp;
|
|
19
|
+
push: RegExp;
|
|
20
|
+
prepend: RegExp;
|
|
21
|
+
stack: RegExp;
|
|
7
22
|
ternary: RegExp;
|
|
23
|
+
bladeComment: RegExp;
|
|
8
24
|
variable: RegExp;
|
|
25
|
+
rawVariable: RegExp;
|
|
26
|
+
verbatim: RegExp;
|
|
27
|
+
json: RegExp;
|
|
28
|
+
js: RegExp;
|
|
29
|
+
script: RegExp;
|
|
30
|
+
scriptPath: RegExp;
|
|
9
31
|
auth: RegExp;
|
|
10
32
|
guest: RegExp;
|
|
11
33
|
inertia: RegExp;
|
|
12
34
|
vite: RegExp;
|
|
13
35
|
viteReactRefresh: RegExp;
|
|
36
|
+
csrf: RegExp;
|
|
37
|
+
methodField: RegExp;
|
|
14
38
|
};
|
|
15
39
|
protected sectionRegex: RegExp;
|
|
16
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Templating-engine/expressions.ts"],"names":[],"mappings":"AAAA,8BAAsB,aAAa;
|
|
1
|
+
{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Templating-engine/expressions.ts"],"names":[],"mappings":"AAAA,8BAAsB,aAAa;IACjC,SAAS,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuClB;IAEF,SAAS,CAAC,YAAY,SAC2H;CAClJ"}
|
|
@@ -3,22 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TemplateRegex = void 0;
|
|
4
4
|
class TemplateRegex {
|
|
5
5
|
constructor() {
|
|
6
|
-
//
|
|
7
6
|
this.directives = {
|
|
8
7
|
extends: /@extends\((?<extendPath>['"]([^'"]+)['"])\)/,
|
|
9
8
|
foreach: /@foreach\s*\((?<loopData>(.*?)+) as (?<loopvariable>(.*?)+)\)(?<loopBody>[\s\S\t\n\r]+?)@endforeach/,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
forelse: /@forelse\s*\((?<loopData>(.*?)+) as (?<loopvariable>(.*?)+)\)(?<loopBody>[\s\S\t\n\r]+?)@empty(?<emptyBody>[\s\S\t\n\r]+?)@endforelse/,
|
|
10
|
+
for: /@for\s*\((?<forVar>\w+)\s*,\s*(?<forStart>-?\d+)\s*,\s*(?<forEnd>-?\d+)(?:\s*,\s*(?<forStep>-?\d+))?\)(?<forBody>[\s\S]*?)@endfor/,
|
|
11
|
+
while: /@while\s*\((?<whileCond>[^)]+)\)(?<whileBody>[\s\S]*?)@endwhile/,
|
|
12
|
+
switch: /@switch\s*\((?<switchVar>[^)]+)\)(?<switchBody>[\s\S]*?)@endswitch/,
|
|
13
|
+
if: /@if\s*\((?<ifData>(.*?))\)\s*(?<ifBody>[\s\S]*?)@endif/,
|
|
14
|
+
unless: /@unless\s*\((?<unlessData>(.*?))\)\s*(?<unlessBody>[\s\S]*?)@endunless/,
|
|
15
|
+
isset: /@isset\s*\((?<issetData>(.*?))\)\s*(?<issetBody>[\s\S]*?)@endisset/,
|
|
16
|
+
empty: /@empty\s*\((?<emptyData>(.*?))\)\s*(?<emptyBody>[\s\S]*?)@endempty/,
|
|
17
|
+
includeUnless: /@includeUnless\s*\((?<incUnlessCond>[^,]+),\s*(?<incUnlessPath>['"][^'"]+['"])\)/,
|
|
18
|
+
includeWhen: /@includeWhen\s*\((?<incWhenCond>[^,]+),\s*(?<incWhenPath>['"][^'"]+['"])\)/,
|
|
19
|
+
includeIf: /@includeIf\s*\((?<incIfPath>['"][^'"]+['"])\)/,
|
|
20
|
+
include: /@include\((?<includePath>['"]([^'"]+)['"]),?\s*(?<includeData>\{[^}]*\})?\s*\)/,
|
|
21
|
+
production: /@production(?<prodBody>[\s\S]*?)@endproduction/,
|
|
22
|
+
env: /@env\s*\((?<envNames>[^)]+)\)(?<envBody>[\s\S]*?)@endenv/,
|
|
23
|
+
push: /@push\s*\((?<pushName>['"][^'"]+['"])\)(?<pushBody>[\s\S]*?)@endpush/,
|
|
24
|
+
prepend: /@prepend\s*\((?<prependName>['"][^'"]+['"])\)(?<prependBody>[\s\S]*?)@endprepend/,
|
|
25
|
+
stack: /@stack\s*\((?<stackName>['"][^'"]+['"])\)/,
|
|
26
|
+
ternary: /@ternary\s*\((?<condition>[a-zA-Z0-9_.\s\-]+)\s*\?\s*(?<trueData>[\s\S]+?)\s*:\s*(?<falseData>[\s\S]+?)\)/,
|
|
27
|
+
bladeComment: /\{\{\-\-\s*[\s\S]*?\s*\-\-\}\}/,
|
|
13
28
|
variable: /{{\s*(?<param>(.*?))\s*}}/,
|
|
29
|
+
rawVariable: /\{\!!\s*(?<param>(.*?))\s*!!\}/,
|
|
30
|
+
verbatim: /@verbatim(?<verbatimBody>[\s\S]*?)@endverbatim/,
|
|
31
|
+
json: /@json\s*\((?<jsonParam>(.*?))\)/,
|
|
32
|
+
js: /@js(?<jsBody>[\s\S]*?)@endjs/,
|
|
33
|
+
script: /@script(?<scriptBody>[\s\S]*?)@endscript/,
|
|
34
|
+
scriptPath: /@script\s*\(\s*['"](?<scriptPath>[^'"]+)['"]\s*\)/,
|
|
14
35
|
auth: /@auth\s*(?:(\((?<authData>(.*?)*)\)))?(?<authBody>[\s\S]*?)@endauth/,
|
|
15
36
|
guest: /@guest\s*(?<guestBody>[\s\S]*?)@endguest/,
|
|
16
37
|
inertia: /@inertia/,
|
|
17
38
|
vite: /@vite\s*\(\[\s*(?<resource>[^\]]*?)\s*\]\)/,
|
|
18
39
|
viteReactRefresh: /@viteReactRefresh/,
|
|
40
|
+
csrf: /@csrf/,
|
|
41
|
+
methodField: /@method\s*\(\s*(?<methodValue>[^)]+)\s*\)/,
|
|
19
42
|
};
|
|
20
43
|
this.sectionRegex = /@section\((?<sectionValue>['"]([^'"]+)['"])\)(?<sectionBody>([\s\S\t\n\r]+?))(?<sectionEnd>@endsection)|@section\((?<placeholder>[\s\S]+?)\)/;
|
|
21
|
-
// protected interia = ;
|
|
22
44
|
}
|
|
23
45
|
}
|
|
24
46
|
exports.TemplateRegex = TemplateRegex;
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
import { EngineHelpers } from "./engineHelper";
|
|
2
2
|
declare class TemplatingEngine extends EngineHelpers {
|
|
3
3
|
private option;
|
|
4
|
+
/** Directive dispatch - ordered by specificity (longest prefix first). */
|
|
5
|
+
private getDirectiveHandler;
|
|
6
|
+
/** Prefix -> directive key for regex lookup (avoids duplicate named groups in combined regex). */
|
|
7
|
+
private static readonly PREFIX_TO_KEY;
|
|
8
|
+
/** Find leftmost directive match (avoids duplicate named groups from combined regex). */
|
|
9
|
+
private findFirstMatch;
|
|
4
10
|
/**
|
|
5
|
-
* Handles
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
11
|
+
* Handles Blade comments {{-- --}} - strips entirely from output.
|
|
12
|
+
*/
|
|
13
|
+
private handleBladeComment;
|
|
14
|
+
/**
|
|
15
|
+
* Handles variable directives - {{ }} escaped (Laravel-style), {!! !!} raw.
|
|
16
|
+
* Supports JS methods: join, split, trim, toUpperCase, etc. e.g. {{ items.join(', ') }}
|
|
10
17
|
*/
|
|
11
18
|
private handleVariable;
|
|
12
19
|
/**
|
|
13
|
-
* Handles the @foreach directive
|
|
14
|
-
* @param {string} content - Template content.
|
|
15
|
-
* @param {Object} match - Match object from the regular expression.
|
|
16
|
-
* @param {Object} param - Local variables for rendering.
|
|
17
|
-
* @returns {string} - Rendered content.
|
|
20
|
+
* Handles the @foreach directive (Laravel-style with $loop variable).
|
|
18
21
|
*/
|
|
19
22
|
private handleLoop;
|
|
23
|
+
/**
|
|
24
|
+
* Handles @forelse - foreach with @empty fallback (Laravel-style).
|
|
25
|
+
*/
|
|
26
|
+
private handleForelse;
|
|
20
27
|
/**
|
|
21
28
|
* Handles the @if directive in the template content.
|
|
22
29
|
* @param {string} content - Template content.
|
|
@@ -24,6 +31,9 @@ declare class TemplatingEngine extends EngineHelpers {
|
|
|
24
31
|
* @param {Object} param - Local variables for rendering.
|
|
25
32
|
* @returns {string} - Rendered content.
|
|
26
33
|
*/
|
|
34
|
+
/**
|
|
35
|
+
* Handles @if with @elseif and @else (Laravel-style).
|
|
36
|
+
*/
|
|
27
37
|
private handleCondition;
|
|
28
38
|
/**
|
|
29
39
|
* Handles the @ternary directive in the template content.
|
|
@@ -47,6 +57,27 @@ declare class TemplatingEngine extends EngineHelpers {
|
|
|
47
57
|
* @returns {string} - Rendered content with included file content.
|
|
48
58
|
*/
|
|
49
59
|
private includes;
|
|
60
|
+
/**
|
|
61
|
+
* Parses the inline data object from @include("path", { key: value }).
|
|
62
|
+
* Supports string literals, numbers, booleans, and variable references (including dot notation).
|
|
63
|
+
* String concatenation with + is supported (e.g. "/path/" + job.id).
|
|
64
|
+
*/
|
|
65
|
+
private parseIncludeData;
|
|
66
|
+
/** Split key:value pairs by comma, respecting quoted strings. */
|
|
67
|
+
private splitIncludeArgs;
|
|
68
|
+
/** Resolve a value expression: quoted string, number, boolean, concatenation, or variable. */
|
|
69
|
+
private resolveIncludeValue;
|
|
70
|
+
private includeIf;
|
|
71
|
+
private includeWhen;
|
|
72
|
+
private includeUnless;
|
|
73
|
+
private handleFor;
|
|
74
|
+
private handleWhile;
|
|
75
|
+
private handleSwitch;
|
|
76
|
+
private handleProduction;
|
|
77
|
+
private handleEnv;
|
|
78
|
+
private handlePush;
|
|
79
|
+
private handlePrepend;
|
|
80
|
+
private handleStack;
|
|
50
81
|
/**
|
|
51
82
|
* Handles the @auth directive in the template content.
|
|
52
83
|
* @param {string} content - Template content.
|
|
@@ -66,23 +97,62 @@ declare class TemplatingEngine extends EngineHelpers {
|
|
|
66
97
|
private inertia;
|
|
67
98
|
private vite;
|
|
68
99
|
private viteReactRefresh;
|
|
100
|
+
private static readonly MAX_PARSE_DEPTH;
|
|
101
|
+
private parseDepth;
|
|
69
102
|
/**
|
|
70
103
|
* Parses the template content based on the defined directives.
|
|
71
|
-
*
|
|
72
|
-
* @param {Object} param - Local variables for rendering.
|
|
73
|
-
* @returns {string} - Rendered content.
|
|
104
|
+
* Uses pre-compiled regex for performance.
|
|
74
105
|
*/
|
|
75
106
|
private parser;
|
|
107
|
+
private handleVerbatim;
|
|
108
|
+
private handleUnless;
|
|
109
|
+
private handleIsset;
|
|
110
|
+
private handleEmpty;
|
|
111
|
+
private handleJson;
|
|
112
|
+
/**
|
|
113
|
+
* Handles @csrf - outputs a hidden input with the CSRF token from res.locals._token.
|
|
114
|
+
*/
|
|
115
|
+
private handleCsrf;
|
|
116
|
+
/**
|
|
117
|
+
* Handles @method('PUT') or @method(variable) - outputs a hidden input for HTTP method spoofing.
|
|
118
|
+
*/
|
|
119
|
+
private handleMethod;
|
|
120
|
+
/**
|
|
121
|
+
* Handles @js ... @endjs - executes JavaScript on the server only.
|
|
122
|
+
* Variables and functions declared (const/let/var) are merged into template scope for use in {{ }}.
|
|
123
|
+
* Strip const/let/var so assignments go to sandbox (param) - var/undeclared assign to global.
|
|
124
|
+
*/
|
|
125
|
+
private handleJs;
|
|
126
|
+
/**
|
|
127
|
+
* Handles @script ... @endscript - outputs content as a script block for client-side.
|
|
128
|
+
* Body is parsed for {{ }} so you can inject template variables.
|
|
129
|
+
*/
|
|
130
|
+
private handleScript;
|
|
131
|
+
/**
|
|
132
|
+
* Handles @script('path') - includes a script from resources/js.
|
|
133
|
+
* Path is the filename (e.g. 'main' -> resources/js/main.jsx)
|
|
134
|
+
*/
|
|
135
|
+
private handleScriptPath;
|
|
76
136
|
/**
|
|
77
137
|
* Compiles the template content by processing directives and extending layouts.
|
|
78
|
-
*
|
|
79
|
-
* @returns {Promise<string>} - Compiled content.
|
|
138
|
+
* Caches extends result in production for performance.
|
|
80
139
|
*/
|
|
81
|
-
protected compiler(content: string): Promise<string>;
|
|
140
|
+
protected compiler(content: string, cacheKey?: string | null): Promise<string>;
|
|
141
|
+
private getExtendsCacheKey;
|
|
142
|
+
/** Pre-collects @push/@prepend so @stack works (layout typically has @stack before @push in doc order). */
|
|
143
|
+
private collectBladeStacks;
|
|
82
144
|
render(filePath: string, locals: any, callback: any): Promise<any>;
|
|
83
145
|
Content(path: string, option: any): string;
|
|
146
|
+
/** Compile template string with data (public for compileString, benchmarks). */
|
|
147
|
+
compileTemplate(template: string, data?: Record<string, any>): string;
|
|
148
|
+
/** No-op for API compatibility (call after registerDirective/clearCustomDirectives). */
|
|
149
|
+
clearCombinedRegex(): void;
|
|
84
150
|
}
|
|
151
|
+
/** Clear the extends cache and path cache (e.g. after file changes or plugin changes in dev). */
|
|
152
|
+
declare function clearCache(): void;
|
|
85
153
|
declare const compile: (path: string, option: any) => string;
|
|
154
|
+
/** Compile a template string with data (for benchmarking, tests). */
|
|
155
|
+
declare function compileString(template: string, data?: Record<string, any>): string;
|
|
86
156
|
declare const jsBladeEngine: TemplatingEngine;
|
|
87
|
-
export { jsBladeEngine, compile };
|
|
157
|
+
export { jsBladeEngine, compile, compileString, clearCache };
|
|
88
158
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Templating-engine/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../jcc-express-mvc/lib/Templating-engine/index.ts"],"names":[],"mappings":"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"}
|