@devbro/pashmak 0.1.47 → 0.1.49
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/dist/DatabaseServiceProvider.d.mts +4 -1
- package/dist/DatabaseServiceProvider.mjs +5 -2
- package/dist/DatabaseServiceProvider.mjs.map +1 -1
- package/dist/app/console/StartCommand.d.mts +1 -0
- package/dist/app/console/StartCommand.mjs +5 -2
- package/dist/app/console/StartCommand.mjs.map +1 -1
- package/dist/app/console/generate/GenerateApiDocsCommand.d.mts +34 -2
- package/dist/app/console/generate/GenerateApiDocsCommand.mjs +183 -100
- package/dist/app/console/generate/GenerateApiDocsCommand.mjs.map +1 -1
- package/dist/app/console/project/base_project/src/config/storages.ts.tpl +2 -2
- package/dist/bin/DatabaseServiceProvider.cjs +8 -2
- package/dist/bin/app/console/DefaultCommand.cjs +64 -32
- package/dist/bin/app/console/KeyGenerateCommand.cjs +64 -32
- package/dist/bin/app/console/StartCommand.cjs +69 -34
- package/dist/bin/app/console/generate/GenerateApiDocsCommand.cjs +248 -133
- package/dist/bin/app/console/generate/GenerateControllerCommand.cjs +64 -32
- package/dist/bin/app/console/generate/index.cjs +248 -133
- package/dist/bin/app/console/index.cjs +253 -135
- package/dist/bin/app/console/migrate/GenerateMigrateCommand.cjs +64 -32
- package/dist/bin/app/console/migrate/MigrateCommand.cjs +64 -32
- package/dist/bin/app/console/migrate/MigrateRollbackCommand.cjs +64 -32
- package/dist/bin/app/console/migrate/index.cjs +64 -32
- package/dist/bin/app/console/queue/GenerateQueueMigrateCommand.cjs +64 -32
- package/dist/bin/cache.cjs +64 -32
- package/dist/bin/facades.cjs +64 -32
- package/dist/bin/factories.cjs +64 -32
- package/dist/bin/http.cjs +739 -0
- package/dist/bin/index.cjs +264 -141
- package/dist/bin/middlewares.cjs +66 -34
- package/dist/bin/queue.cjs +64 -32
- package/dist/bin/router.cjs +4 -8
- package/dist/config.d.mts +0 -1
- package/dist/facades.mjs +2 -13
- package/dist/facades.mjs.map +1 -1
- package/dist/factories.mjs +45 -2
- package/dist/factories.mjs.map +1 -1
- package/dist/http.d.mts +4 -0
- package/dist/http.mjs +20 -0
- package/dist/http.mjs.map +1 -1
- package/dist/queue.d.mts +1 -1
- package/dist/queue.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1234,6 +1234,7 @@ var MiddlewareFactory = class {
|
|
|
1234
1234
|
};
|
|
1235
1235
|
|
|
1236
1236
|
// ../neko-router/dist/CompiledRoute.mjs
|
|
1237
|
+
var import_neko_helper = require("@devbro/neko-helper");
|
|
1237
1238
|
var CompiledRoute = class {
|
|
1238
1239
|
static {
|
|
1239
1240
|
__name(this, "CompiledRoute");
|
|
@@ -1254,7 +1255,7 @@ var CompiledRoute = class {
|
|
|
1254
1255
|
for (const middleware of [...this.globalMiddlewares, ...this.route.getMiddlewares()]) {
|
|
1255
1256
|
if (middleware instanceof Middleware) {
|
|
1256
1257
|
this.middlewares.push(middleware);
|
|
1257
|
-
} else if (
|
|
1258
|
+
} else if ((0, import_neko_helper.isClass)(middleware)) {
|
|
1258
1259
|
this.middlewares.push(middleware.getInstance({}));
|
|
1259
1260
|
} else if (typeof middleware === "function") {
|
|
1260
1261
|
this.middlewares.push(MiddlewareFactory.create(middleware));
|
|
@@ -1263,13 +1264,8 @@ var CompiledRoute = class {
|
|
|
1263
1264
|
}
|
|
1264
1265
|
}
|
|
1265
1266
|
}
|
|
1266
|
-
isClass(func) {
|
|
1267
|
-
return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
|
|
1268
|
-
}
|
|
1269
1267
|
async run() {
|
|
1270
|
-
|
|
1271
|
-
this.response.end();
|
|
1272
|
-
return rc;
|
|
1268
|
+
return await this.runMiddlewares(this.middlewares, this.request, this.response);
|
|
1273
1269
|
}
|
|
1274
1270
|
prepareOutputJsonFormat(obj) {
|
|
1275
1271
|
function traverse(value) {
|
|
@@ -1403,7 +1399,7 @@ var Route = class {
|
|
|
1403
1399
|
i = start;
|
|
1404
1400
|
} else if (char === "*") {
|
|
1405
1401
|
let start = i + 1;
|
|
1406
|
-
while (start < path5.length && /[a-zA-Z0-9_
|
|
1402
|
+
while (start < path5.length && /[a-zA-Z0-9_]/.test(path5[start])) {
|
|
1407
1403
|
start++;
|
|
1408
1404
|
}
|
|
1409
1405
|
tokens.push({ type: "WILDCARD", value: path5.slice(i + 1, start) });
|
|
@@ -1614,7 +1610,7 @@ var Router = class {
|
|
|
1614
1610
|
|
|
1615
1611
|
// src/facades.mts
|
|
1616
1612
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
1617
|
-
var
|
|
1613
|
+
var import_neko_helper3 = require("@devbro/neko-helper");
|
|
1618
1614
|
var import_neko_context3 = require("@devbro/neko-context");
|
|
1619
1615
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
1620
1616
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
@@ -1623,7 +1619,24 @@ var import_clipanion = require("clipanion");
|
|
|
1623
1619
|
|
|
1624
1620
|
// src/http.mts
|
|
1625
1621
|
var http_exports = {};
|
|
1622
|
+
__export(http_exports, {
|
|
1623
|
+
handleHttpErrors: () => handleHttpErrors
|
|
1624
|
+
});
|
|
1625
|
+
var import_neko_http = require("@devbro/neko-http");
|
|
1626
1626
|
__reExport(http_exports, require("@devbro/neko-http"));
|
|
1627
|
+
async function handleHttpErrors(err, req, res) {
|
|
1628
|
+
if (err instanceof import_neko_http.HttpError) {
|
|
1629
|
+
res.writeHead(err.statusCode, { "Content-Type": "application/json" });
|
|
1630
|
+
res.write(JSON.stringify({ message: err.message, error: err.code }));
|
|
1631
|
+
logger().warn({ msg: "HttpError: " + err.message, err });
|
|
1632
|
+
return;
|
|
1633
|
+
} else {
|
|
1634
|
+
logger().error({ msg: "Error: " + err.message, err });
|
|
1635
|
+
}
|
|
1636
|
+
res.writeHead(500, { "Content-Type": "application/json" });
|
|
1637
|
+
res.write(JSON.stringify({ error: "Internal Server Error" }));
|
|
1638
|
+
}
|
|
1639
|
+
__name(handleHttpErrors, "handleHttpErrors");
|
|
1627
1640
|
|
|
1628
1641
|
// src/facades.mts
|
|
1629
1642
|
var import_neko_logger = require("@devbro/neko-logger");
|
|
@@ -1638,7 +1651,7 @@ __export(queue_exports, {
|
|
|
1638
1651
|
DatabaseTransport: () => DatabaseTransport
|
|
1639
1652
|
});
|
|
1640
1653
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
1641
|
-
var
|
|
1654
|
+
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
1642
1655
|
var import_neko_context2 = require("@devbro/neko-context");
|
|
1643
1656
|
var DatabaseTransport = class {
|
|
1644
1657
|
static {
|
|
@@ -1699,7 +1712,7 @@ var DatabaseTransport = class {
|
|
|
1699
1712
|
}, "processMessage");
|
|
1700
1713
|
constructor(config5 = {}) {
|
|
1701
1714
|
this.config = { ...this.config, ...config5 };
|
|
1702
|
-
this.repeater = (0,
|
|
1715
|
+
this.repeater = (0, import_neko_helper2.createRepeater)(
|
|
1703
1716
|
this.processMessage,
|
|
1704
1717
|
this.config.listen_interval * 1e3
|
|
1705
1718
|
);
|
|
@@ -1767,6 +1780,24 @@ import_neko_queue.QueueTransportFactory.register("database", (opt) => {
|
|
|
1767
1780
|
import_neko_queue.QueueTransportFactory.register("memory", (opt) => {
|
|
1768
1781
|
return new import_neko_queue.MemoryTransport(opt);
|
|
1769
1782
|
});
|
|
1783
|
+
import_neko_queue.QueueTransportFactory.register("sqs", (opt) => {
|
|
1784
|
+
return new import_neko_queue.AwsSqsTransport(opt);
|
|
1785
|
+
});
|
|
1786
|
+
import_neko_queue.QueueTransportFactory.register("amqp", (opt) => {
|
|
1787
|
+
return new import_neko_queue.AmqpTransport(opt);
|
|
1788
|
+
});
|
|
1789
|
+
import_neko_queue.QueueTransportFactory.register("redis", (opt) => {
|
|
1790
|
+
return new import_neko_queue.RedisTransport(opt);
|
|
1791
|
+
});
|
|
1792
|
+
import_neko_queue.QueueTransportFactory.register("async", (opt) => {
|
|
1793
|
+
return new import_neko_queue.AsyncTransport();
|
|
1794
|
+
});
|
|
1795
|
+
import_neko_queue.QueueTransportFactory.register("azure_service_bus", (opt) => {
|
|
1796
|
+
return new import_neko_queue.AzureServiceBusTransport(opt);
|
|
1797
|
+
});
|
|
1798
|
+
import_neko_queue.QueueTransportFactory.register("google_pubsub", (opt) => {
|
|
1799
|
+
return new import_neko_queue.GooglePubSubTransport(opt);
|
|
1800
|
+
});
|
|
1770
1801
|
var CacheProviderFactory = class _CacheProviderFactory {
|
|
1771
1802
|
static {
|
|
1772
1803
|
__name(this, "CacheProviderFactory");
|
|
@@ -1797,12 +1828,24 @@ import_neko_storage.StorageProviderFactory.register("local", (opt) => {
|
|
|
1797
1828
|
import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
|
|
1798
1829
|
return new import_neko_storage.AWSS3StorageProvider(opt);
|
|
1799
1830
|
});
|
|
1831
|
+
import_neko_storage.StorageProviderFactory.register("gcp", (opt) => {
|
|
1832
|
+
return new import_neko_storage.GCPStorageProvider(opt);
|
|
1833
|
+
});
|
|
1834
|
+
import_neko_storage.StorageProviderFactory.register("azure", (opt) => {
|
|
1835
|
+
return new import_neko_storage.AzureBlobStorageProvider(opt);
|
|
1836
|
+
});
|
|
1837
|
+
import_neko_storage.StorageProviderFactory.register("ftp", (opt) => {
|
|
1838
|
+
return new import_neko_storage.FTPStorageProvider(opt);
|
|
1839
|
+
});
|
|
1840
|
+
import_neko_storage.StorageProviderFactory.register("sftp", (opt) => {
|
|
1841
|
+
return new import_neko_storage.SFTPStorageProvider(opt);
|
|
1842
|
+
});
|
|
1800
1843
|
|
|
1801
1844
|
// src/facades.mts
|
|
1802
1845
|
var import_neko_cache2 = require("@devbro/neko-cache");
|
|
1803
1846
|
var import_neko_queue2 = require("@devbro/neko-queue");
|
|
1804
|
-
var router = (0,
|
|
1805
|
-
var scheduler = (0,
|
|
1847
|
+
var router = (0, import_neko_helper3.createSingleton)(() => new Router());
|
|
1848
|
+
var scheduler = (0, import_neko_helper3.createSingleton)(() => {
|
|
1806
1849
|
const rc = new import_neko_scheduler.Scheduler();
|
|
1807
1850
|
rc.setErrorHandler((err, job) => {
|
|
1808
1851
|
logger().error({
|
|
@@ -1814,7 +1857,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
1814
1857
|
return rc;
|
|
1815
1858
|
});
|
|
1816
1859
|
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
1817
|
-
var storage = (0,
|
|
1860
|
+
var storage = (0, import_neko_helper3.createSingleton)((label = "default") => {
|
|
1818
1861
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
1819
1862
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
1820
1863
|
storage_config.provider,
|
|
@@ -1822,7 +1865,7 @@ var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
|
1822
1865
|
);
|
|
1823
1866
|
return new import_neko_storage2.Storage(provider);
|
|
1824
1867
|
});
|
|
1825
|
-
var cli = (0,
|
|
1868
|
+
var cli = (0, import_neko_helper3.createSingleton)(() => {
|
|
1826
1869
|
const [node, app, ...args] = process.argv;
|
|
1827
1870
|
return new import_clipanion.Cli({
|
|
1828
1871
|
binaryLabel: `My Application`,
|
|
@@ -1830,24 +1873,13 @@ var cli = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
1830
1873
|
binaryVersion: `1.0.0`
|
|
1831
1874
|
});
|
|
1832
1875
|
});
|
|
1833
|
-
var httpServer = (0,
|
|
1876
|
+
var httpServer = (0, import_neko_helper3.createSingleton)(() => {
|
|
1834
1877
|
const server = new http_exports.HttpServer();
|
|
1835
|
-
server.setErrorHandler(
|
|
1836
|
-
if (err instanceof http_exports.HttpError) {
|
|
1837
|
-
res.writeHead(err.statusCode, { "Content-Type": "application/json" });
|
|
1838
|
-
res.end(JSON.stringify({ message: err.message, error: err.code }));
|
|
1839
|
-
logger().warn({ msg: "HttpError: " + err.message, err });
|
|
1840
|
-
return;
|
|
1841
|
-
} else {
|
|
1842
|
-
logger().error({ msg: "Error: " + err.message, err });
|
|
1843
|
-
}
|
|
1844
|
-
res.writeHead(500, { "Content-Type": "" });
|
|
1845
|
-
res.end(JSON.stringify({ error: "Internal Server Error" }));
|
|
1846
|
-
});
|
|
1878
|
+
server.setErrorHandler(handleHttpErrors);
|
|
1847
1879
|
server.setRouter(router());
|
|
1848
1880
|
return server;
|
|
1849
1881
|
});
|
|
1850
|
-
var logger = (0,
|
|
1882
|
+
var logger = (0, import_neko_helper3.createSingleton)((label) => {
|
|
1851
1883
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
1852
1884
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
1853
1885
|
rc.setExtrasFunction((message) => {
|
|
@@ -1856,7 +1888,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
1856
1888
|
});
|
|
1857
1889
|
return rc;
|
|
1858
1890
|
});
|
|
1859
|
-
var mailer = (0,
|
|
1891
|
+
var mailer = (0, import_neko_helper3.createSingleton)((label) => {
|
|
1860
1892
|
const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
|
|
1861
1893
|
const provider = import_neko_mailer2.MailerProviderFactory.create(
|
|
1862
1894
|
mailer_config.provider,
|
|
@@ -1865,7 +1897,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
1865
1897
|
const rc = new import_neko_mailer2.Mailer(provider);
|
|
1866
1898
|
return rc;
|
|
1867
1899
|
});
|
|
1868
|
-
var queue = (0,
|
|
1900
|
+
var queue = (0, import_neko_helper3.createSingleton)((label) => {
|
|
1869
1901
|
const queue_config = import_neko_config.config.get(["queues", label].join("."));
|
|
1870
1902
|
if (!queue_config) {
|
|
1871
1903
|
throw new Error(`Queue configuration for '${label}' not found`);
|
|
@@ -1876,7 +1908,7 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
1876
1908
|
);
|
|
1877
1909
|
return new import_neko_queue2.QueueConnection(provider);
|
|
1878
1910
|
});
|
|
1879
|
-
var cache = (0,
|
|
1911
|
+
var cache = (0, import_neko_helper3.createSingleton)((label) => {
|
|
1880
1912
|
const cache_config = import_neko_config.config.get(["caches", label].join("."));
|
|
1881
1913
|
if (!cache_config) {
|
|
1882
1914
|
throw new Error(`Cache configuration for '${label}' not found`);
|
|
@@ -77,6 +77,7 @@ var MiddlewareFactory = class {
|
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
// ../neko-router/dist/CompiledRoute.mjs
|
|
80
|
+
var import_neko_helper = require("@devbro/neko-helper");
|
|
80
81
|
var CompiledRoute = class {
|
|
81
82
|
static {
|
|
82
83
|
__name(this, "CompiledRoute");
|
|
@@ -97,7 +98,7 @@ var CompiledRoute = class {
|
|
|
97
98
|
for (const middleware of [...this.globalMiddlewares, ...this.route.getMiddlewares()]) {
|
|
98
99
|
if (middleware instanceof Middleware) {
|
|
99
100
|
this.middlewares.push(middleware);
|
|
100
|
-
} else if (
|
|
101
|
+
} else if ((0, import_neko_helper.isClass)(middleware)) {
|
|
101
102
|
this.middlewares.push(middleware.getInstance({}));
|
|
102
103
|
} else if (typeof middleware === "function") {
|
|
103
104
|
this.middlewares.push(MiddlewareFactory.create(middleware));
|
|
@@ -106,13 +107,8 @@ var CompiledRoute = class {
|
|
|
106
107
|
}
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
|
-
isClass(func) {
|
|
110
|
-
return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
|
|
111
|
-
}
|
|
112
110
|
async run() {
|
|
113
|
-
|
|
114
|
-
this.response.end();
|
|
115
|
-
return rc;
|
|
111
|
+
return await this.runMiddlewares(this.middlewares, this.request, this.response);
|
|
116
112
|
}
|
|
117
113
|
prepareOutputJsonFormat(obj) {
|
|
118
114
|
function traverse(value) {
|
|
@@ -246,7 +242,7 @@ var Route = class {
|
|
|
246
242
|
i = start;
|
|
247
243
|
} else if (char === "*") {
|
|
248
244
|
let start = i + 1;
|
|
249
|
-
while (start < path3.length && /[a-zA-Z0-9_
|
|
245
|
+
while (start < path3.length && /[a-zA-Z0-9_]/.test(path3[start])) {
|
|
250
246
|
start++;
|
|
251
247
|
}
|
|
252
248
|
tokens.push({ type: "WILDCARD", value: path3.slice(i + 1, start) });
|
|
@@ -457,7 +453,7 @@ var Router = class {
|
|
|
457
453
|
|
|
458
454
|
// src/facades.mts
|
|
459
455
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
460
|
-
var
|
|
456
|
+
var import_neko_helper3 = require("@devbro/neko-helper");
|
|
461
457
|
var import_neko_context3 = require("@devbro/neko-context");
|
|
462
458
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
463
459
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
@@ -466,7 +462,24 @@ var import_clipanion = require("clipanion");
|
|
|
466
462
|
|
|
467
463
|
// src/http.mts
|
|
468
464
|
var http_exports = {};
|
|
465
|
+
__export(http_exports, {
|
|
466
|
+
handleHttpErrors: () => handleHttpErrors
|
|
467
|
+
});
|
|
468
|
+
var import_neko_http = require("@devbro/neko-http");
|
|
469
469
|
__reExport(http_exports, require("@devbro/neko-http"));
|
|
470
|
+
async function handleHttpErrors(err, req, res) {
|
|
471
|
+
if (err instanceof import_neko_http.HttpError) {
|
|
472
|
+
res.writeHead(err.statusCode, { "Content-Type": "application/json" });
|
|
473
|
+
res.write(JSON.stringify({ message: err.message, error: err.code }));
|
|
474
|
+
logger().warn({ msg: "HttpError: " + err.message, err });
|
|
475
|
+
return;
|
|
476
|
+
} else {
|
|
477
|
+
logger().error({ msg: "Error: " + err.message, err });
|
|
478
|
+
}
|
|
479
|
+
res.writeHead(500, { "Content-Type": "application/json" });
|
|
480
|
+
res.write(JSON.stringify({ error: "Internal Server Error" }));
|
|
481
|
+
}
|
|
482
|
+
__name(handleHttpErrors, "handleHttpErrors");
|
|
470
483
|
|
|
471
484
|
// src/facades.mts
|
|
472
485
|
var import_neko_logger = require("@devbro/neko-logger");
|
|
@@ -481,7 +494,7 @@ __export(queue_exports, {
|
|
|
481
494
|
DatabaseTransport: () => DatabaseTransport
|
|
482
495
|
});
|
|
483
496
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
484
|
-
var
|
|
497
|
+
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
485
498
|
var import_neko_context2 = require("@devbro/neko-context");
|
|
486
499
|
var DatabaseTransport = class {
|
|
487
500
|
static {
|
|
@@ -542,7 +555,7 @@ var DatabaseTransport = class {
|
|
|
542
555
|
}, "processMessage");
|
|
543
556
|
constructor(config3 = {}) {
|
|
544
557
|
this.config = { ...this.config, ...config3 };
|
|
545
|
-
this.repeater = (0,
|
|
558
|
+
this.repeater = (0, import_neko_helper2.createRepeater)(
|
|
546
559
|
this.processMessage,
|
|
547
560
|
this.config.listen_interval * 1e3
|
|
548
561
|
);
|
|
@@ -610,6 +623,24 @@ import_neko_queue.QueueTransportFactory.register("database", (opt) => {
|
|
|
610
623
|
import_neko_queue.QueueTransportFactory.register("memory", (opt) => {
|
|
611
624
|
return new import_neko_queue.MemoryTransport(opt);
|
|
612
625
|
});
|
|
626
|
+
import_neko_queue.QueueTransportFactory.register("sqs", (opt) => {
|
|
627
|
+
return new import_neko_queue.AwsSqsTransport(opt);
|
|
628
|
+
});
|
|
629
|
+
import_neko_queue.QueueTransportFactory.register("amqp", (opt) => {
|
|
630
|
+
return new import_neko_queue.AmqpTransport(opt);
|
|
631
|
+
});
|
|
632
|
+
import_neko_queue.QueueTransportFactory.register("redis", (opt) => {
|
|
633
|
+
return new import_neko_queue.RedisTransport(opt);
|
|
634
|
+
});
|
|
635
|
+
import_neko_queue.QueueTransportFactory.register("async", (opt) => {
|
|
636
|
+
return new import_neko_queue.AsyncTransport();
|
|
637
|
+
});
|
|
638
|
+
import_neko_queue.QueueTransportFactory.register("azure_service_bus", (opt) => {
|
|
639
|
+
return new import_neko_queue.AzureServiceBusTransport(opt);
|
|
640
|
+
});
|
|
641
|
+
import_neko_queue.QueueTransportFactory.register("google_pubsub", (opt) => {
|
|
642
|
+
return new import_neko_queue.GooglePubSubTransport(opt);
|
|
643
|
+
});
|
|
613
644
|
var CacheProviderFactory = class _CacheProviderFactory {
|
|
614
645
|
static {
|
|
615
646
|
__name(this, "CacheProviderFactory");
|
|
@@ -640,12 +671,24 @@ import_neko_storage.StorageProviderFactory.register("local", (opt) => {
|
|
|
640
671
|
import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
|
|
641
672
|
return new import_neko_storage.AWSS3StorageProvider(opt);
|
|
642
673
|
});
|
|
674
|
+
import_neko_storage.StorageProviderFactory.register("gcp", (opt) => {
|
|
675
|
+
return new import_neko_storage.GCPStorageProvider(opt);
|
|
676
|
+
});
|
|
677
|
+
import_neko_storage.StorageProviderFactory.register("azure", (opt) => {
|
|
678
|
+
return new import_neko_storage.AzureBlobStorageProvider(opt);
|
|
679
|
+
});
|
|
680
|
+
import_neko_storage.StorageProviderFactory.register("ftp", (opt) => {
|
|
681
|
+
return new import_neko_storage.FTPStorageProvider(opt);
|
|
682
|
+
});
|
|
683
|
+
import_neko_storage.StorageProviderFactory.register("sftp", (opt) => {
|
|
684
|
+
return new import_neko_storage.SFTPStorageProvider(opt);
|
|
685
|
+
});
|
|
643
686
|
|
|
644
687
|
// src/facades.mts
|
|
645
688
|
var import_neko_cache2 = require("@devbro/neko-cache");
|
|
646
689
|
var import_neko_queue2 = require("@devbro/neko-queue");
|
|
647
|
-
var router = (0,
|
|
648
|
-
var scheduler = (0,
|
|
690
|
+
var router = (0, import_neko_helper3.createSingleton)(() => new Router());
|
|
691
|
+
var scheduler = (0, import_neko_helper3.createSingleton)(() => {
|
|
649
692
|
const rc = new import_neko_scheduler.Scheduler();
|
|
650
693
|
rc.setErrorHandler((err, job) => {
|
|
651
694
|
logger().error({
|
|
@@ -657,7 +700,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
657
700
|
return rc;
|
|
658
701
|
});
|
|
659
702
|
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
660
|
-
var storage = (0,
|
|
703
|
+
var storage = (0, import_neko_helper3.createSingleton)((label = "default") => {
|
|
661
704
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
662
705
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
663
706
|
storage_config.provider,
|
|
@@ -665,7 +708,7 @@ var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
|
665
708
|
);
|
|
666
709
|
return new import_neko_storage2.Storage(provider);
|
|
667
710
|
});
|
|
668
|
-
var cli = (0,
|
|
711
|
+
var cli = (0, import_neko_helper3.createSingleton)(() => {
|
|
669
712
|
const [node, app, ...args] = process.argv;
|
|
670
713
|
return new import_clipanion.Cli({
|
|
671
714
|
binaryLabel: `My Application`,
|
|
@@ -673,24 +716,13 @@ var cli = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
673
716
|
binaryVersion: `1.0.0`
|
|
674
717
|
});
|
|
675
718
|
});
|
|
676
|
-
var httpServer = (0,
|
|
719
|
+
var httpServer = (0, import_neko_helper3.createSingleton)(() => {
|
|
677
720
|
const server = new http_exports.HttpServer();
|
|
678
|
-
server.setErrorHandler(
|
|
679
|
-
if (err instanceof http_exports.HttpError) {
|
|
680
|
-
res.writeHead(err.statusCode, { "Content-Type": "application/json" });
|
|
681
|
-
res.end(JSON.stringify({ message: err.message, error: err.code }));
|
|
682
|
-
logger().warn({ msg: "HttpError: " + err.message, err });
|
|
683
|
-
return;
|
|
684
|
-
} else {
|
|
685
|
-
logger().error({ msg: "Error: " + err.message, err });
|
|
686
|
-
}
|
|
687
|
-
res.writeHead(500, { "Content-Type": "" });
|
|
688
|
-
res.end(JSON.stringify({ error: "Internal Server Error" }));
|
|
689
|
-
});
|
|
721
|
+
server.setErrorHandler(handleHttpErrors);
|
|
690
722
|
server.setRouter(router());
|
|
691
723
|
return server;
|
|
692
724
|
});
|
|
693
|
-
var logger = (0,
|
|
725
|
+
var logger = (0, import_neko_helper3.createSingleton)((label) => {
|
|
694
726
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
695
727
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
696
728
|
rc.setExtrasFunction((message) => {
|
|
@@ -699,7 +731,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
699
731
|
});
|
|
700
732
|
return rc;
|
|
701
733
|
});
|
|
702
|
-
var mailer = (0,
|
|
734
|
+
var mailer = (0, import_neko_helper3.createSingleton)((label) => {
|
|
703
735
|
const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
|
|
704
736
|
const provider = import_neko_mailer2.MailerProviderFactory.create(
|
|
705
737
|
mailer_config.provider,
|
|
@@ -708,7 +740,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
708
740
|
const rc = new import_neko_mailer2.Mailer(provider);
|
|
709
741
|
return rc;
|
|
710
742
|
});
|
|
711
|
-
var queue = (0,
|
|
743
|
+
var queue = (0, import_neko_helper3.createSingleton)((label) => {
|
|
712
744
|
const queue_config = import_neko_config.config.get(["queues", label].join("."));
|
|
713
745
|
if (!queue_config) {
|
|
714
746
|
throw new Error(`Queue configuration for '${label}' not found`);
|
|
@@ -719,7 +751,7 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
719
751
|
);
|
|
720
752
|
return new import_neko_queue2.QueueConnection(provider);
|
|
721
753
|
});
|
|
722
|
-
var cache = (0,
|
|
754
|
+
var cache = (0, import_neko_helper3.createSingleton)((label) => {
|
|
723
755
|
const cache_config = import_neko_config.config.get(["caches", label].join("."));
|
|
724
756
|
if (!cache_config) {
|
|
725
757
|
throw new Error(`Cache configuration for '${label}' not found`);
|
package/dist/bin/cache.cjs
CHANGED
|
@@ -78,6 +78,7 @@ var MiddlewareFactory = class {
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
// ../neko-router/dist/CompiledRoute.mjs
|
|
81
|
+
var import_neko_helper = require("@devbro/neko-helper");
|
|
81
82
|
var CompiledRoute = class {
|
|
82
83
|
static {
|
|
83
84
|
__name(this, "CompiledRoute");
|
|
@@ -98,7 +99,7 @@ var CompiledRoute = class {
|
|
|
98
99
|
for (const middleware of [...this.globalMiddlewares, ...this.route.getMiddlewares()]) {
|
|
99
100
|
if (middleware instanceof Middleware) {
|
|
100
101
|
this.middlewares.push(middleware);
|
|
101
|
-
} else if (
|
|
102
|
+
} else if ((0, import_neko_helper.isClass)(middleware)) {
|
|
102
103
|
this.middlewares.push(middleware.getInstance({}));
|
|
103
104
|
} else if (typeof middleware === "function") {
|
|
104
105
|
this.middlewares.push(MiddlewareFactory.create(middleware));
|
|
@@ -107,13 +108,8 @@ var CompiledRoute = class {
|
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
}
|
|
110
|
-
isClass(func) {
|
|
111
|
-
return typeof func === "function" && /^class\s/.test(Function.prototype.toString.call(func));
|
|
112
|
-
}
|
|
113
111
|
async run() {
|
|
114
|
-
|
|
115
|
-
this.response.end();
|
|
116
|
-
return rc;
|
|
112
|
+
return await this.runMiddlewares(this.middlewares, this.request, this.response);
|
|
117
113
|
}
|
|
118
114
|
prepareOutputJsonFormat(obj) {
|
|
119
115
|
function traverse(value) {
|
|
@@ -247,7 +243,7 @@ var Route = class {
|
|
|
247
243
|
i = start;
|
|
248
244
|
} else if (char === "*") {
|
|
249
245
|
let start = i + 1;
|
|
250
|
-
while (start < path2.length && /[a-zA-Z0-9_
|
|
246
|
+
while (start < path2.length && /[a-zA-Z0-9_]/.test(path2[start])) {
|
|
251
247
|
start++;
|
|
252
248
|
}
|
|
253
249
|
tokens.push({ type: "WILDCARD", value: path2.slice(i + 1, start) });
|
|
@@ -458,7 +454,7 @@ var Router = class {
|
|
|
458
454
|
|
|
459
455
|
// src/facades.mts
|
|
460
456
|
var import_neko_scheduler = require("@devbro/neko-scheduler");
|
|
461
|
-
var
|
|
457
|
+
var import_neko_helper3 = require("@devbro/neko-helper");
|
|
462
458
|
var import_neko_context3 = require("@devbro/neko-context");
|
|
463
459
|
var import_neko_storage2 = require("@devbro/neko-storage");
|
|
464
460
|
var import_neko_mailer2 = require("@devbro/neko-mailer");
|
|
@@ -467,7 +463,24 @@ var import_clipanion = require("clipanion");
|
|
|
467
463
|
|
|
468
464
|
// src/http.mts
|
|
469
465
|
var http_exports = {};
|
|
466
|
+
__export(http_exports, {
|
|
467
|
+
handleHttpErrors: () => handleHttpErrors
|
|
468
|
+
});
|
|
469
|
+
var import_neko_http = require("@devbro/neko-http");
|
|
470
470
|
__reExport(http_exports, require("@devbro/neko-http"));
|
|
471
|
+
async function handleHttpErrors(err, req, res) {
|
|
472
|
+
if (err instanceof import_neko_http.HttpError) {
|
|
473
|
+
res.writeHead(err.statusCode, { "Content-Type": "application/json" });
|
|
474
|
+
res.write(JSON.stringify({ message: err.message, error: err.code }));
|
|
475
|
+
logger().warn({ msg: "HttpError: " + err.message, err });
|
|
476
|
+
return;
|
|
477
|
+
} else {
|
|
478
|
+
logger().error({ msg: "Error: " + err.message, err });
|
|
479
|
+
}
|
|
480
|
+
res.writeHead(500, { "Content-Type": "application/json" });
|
|
481
|
+
res.write(JSON.stringify({ error: "Internal Server Error" }));
|
|
482
|
+
}
|
|
483
|
+
__name(handleHttpErrors, "handleHttpErrors");
|
|
471
484
|
|
|
472
485
|
// src/facades.mts
|
|
473
486
|
var import_neko_logger = require("@devbro/neko-logger");
|
|
@@ -482,7 +495,7 @@ __export(queue_exports, {
|
|
|
482
495
|
DatabaseTransport: () => DatabaseTransport
|
|
483
496
|
});
|
|
484
497
|
__reExport(queue_exports, require("@devbro/neko-queue"));
|
|
485
|
-
var
|
|
498
|
+
var import_neko_helper2 = require("@devbro/neko-helper");
|
|
486
499
|
var import_neko_context2 = require("@devbro/neko-context");
|
|
487
500
|
var DatabaseTransport = class {
|
|
488
501
|
static {
|
|
@@ -543,7 +556,7 @@ var DatabaseTransport = class {
|
|
|
543
556
|
}, "processMessage");
|
|
544
557
|
constructor(config2 = {}) {
|
|
545
558
|
this.config = { ...this.config, ...config2 };
|
|
546
|
-
this.repeater = (0,
|
|
559
|
+
this.repeater = (0, import_neko_helper2.createRepeater)(
|
|
547
560
|
this.processMessage,
|
|
548
561
|
this.config.listen_interval * 1e3
|
|
549
562
|
);
|
|
@@ -611,6 +624,24 @@ import_neko_queue.QueueTransportFactory.register("database", (opt) => {
|
|
|
611
624
|
import_neko_queue.QueueTransportFactory.register("memory", (opt) => {
|
|
612
625
|
return new import_neko_queue.MemoryTransport(opt);
|
|
613
626
|
});
|
|
627
|
+
import_neko_queue.QueueTransportFactory.register("sqs", (opt) => {
|
|
628
|
+
return new import_neko_queue.AwsSqsTransport(opt);
|
|
629
|
+
});
|
|
630
|
+
import_neko_queue.QueueTransportFactory.register("amqp", (opt) => {
|
|
631
|
+
return new import_neko_queue.AmqpTransport(opt);
|
|
632
|
+
});
|
|
633
|
+
import_neko_queue.QueueTransportFactory.register("redis", (opt) => {
|
|
634
|
+
return new import_neko_queue.RedisTransport(opt);
|
|
635
|
+
});
|
|
636
|
+
import_neko_queue.QueueTransportFactory.register("async", (opt) => {
|
|
637
|
+
return new import_neko_queue.AsyncTransport();
|
|
638
|
+
});
|
|
639
|
+
import_neko_queue.QueueTransportFactory.register("azure_service_bus", (opt) => {
|
|
640
|
+
return new import_neko_queue.AzureServiceBusTransport(opt);
|
|
641
|
+
});
|
|
642
|
+
import_neko_queue.QueueTransportFactory.register("google_pubsub", (opt) => {
|
|
643
|
+
return new import_neko_queue.GooglePubSubTransport(opt);
|
|
644
|
+
});
|
|
614
645
|
var CacheProviderFactory = class _CacheProviderFactory {
|
|
615
646
|
static {
|
|
616
647
|
__name(this, "CacheProviderFactory");
|
|
@@ -641,12 +672,24 @@ import_neko_storage.StorageProviderFactory.register("local", (opt) => {
|
|
|
641
672
|
import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
|
|
642
673
|
return new import_neko_storage.AWSS3StorageProvider(opt);
|
|
643
674
|
});
|
|
675
|
+
import_neko_storage.StorageProviderFactory.register("gcp", (opt) => {
|
|
676
|
+
return new import_neko_storage.GCPStorageProvider(opt);
|
|
677
|
+
});
|
|
678
|
+
import_neko_storage.StorageProviderFactory.register("azure", (opt) => {
|
|
679
|
+
return new import_neko_storage.AzureBlobStorageProvider(opt);
|
|
680
|
+
});
|
|
681
|
+
import_neko_storage.StorageProviderFactory.register("ftp", (opt) => {
|
|
682
|
+
return new import_neko_storage.FTPStorageProvider(opt);
|
|
683
|
+
});
|
|
684
|
+
import_neko_storage.StorageProviderFactory.register("sftp", (opt) => {
|
|
685
|
+
return new import_neko_storage.SFTPStorageProvider(opt);
|
|
686
|
+
});
|
|
644
687
|
|
|
645
688
|
// src/facades.mts
|
|
646
689
|
var import_neko_cache2 = require("@devbro/neko-cache");
|
|
647
690
|
var import_neko_queue2 = require("@devbro/neko-queue");
|
|
648
|
-
var router = (0,
|
|
649
|
-
var scheduler = (0,
|
|
691
|
+
var router = (0, import_neko_helper3.createSingleton)(() => new Router());
|
|
692
|
+
var scheduler = (0, import_neko_helper3.createSingleton)(() => {
|
|
650
693
|
const rc = new import_neko_scheduler.Scheduler();
|
|
651
694
|
rc.setErrorHandler((err, job) => {
|
|
652
695
|
logger().error({
|
|
@@ -658,7 +701,7 @@ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
658
701
|
return rc;
|
|
659
702
|
});
|
|
660
703
|
var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context3.ctx)().getOrThrow(["database", label]), "db");
|
|
661
|
-
var storage = (0,
|
|
704
|
+
var storage = (0, import_neko_helper3.createSingleton)((label = "default") => {
|
|
662
705
|
let storage_config = import_neko_config.config.get(["storages", label].join("."));
|
|
663
706
|
const provider = import_neko_storage2.StorageProviderFactory.create(
|
|
664
707
|
storage_config.provider,
|
|
@@ -666,7 +709,7 @@ var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
|
|
|
666
709
|
);
|
|
667
710
|
return new import_neko_storage2.Storage(provider);
|
|
668
711
|
});
|
|
669
|
-
var cli = (0,
|
|
712
|
+
var cli = (0, import_neko_helper3.createSingleton)(() => {
|
|
670
713
|
const [node, app, ...args] = process.argv;
|
|
671
714
|
return new import_clipanion.Cli({
|
|
672
715
|
binaryLabel: `My Application`,
|
|
@@ -674,24 +717,13 @@ var cli = (0, import_neko_helper2.createSingleton)(() => {
|
|
|
674
717
|
binaryVersion: `1.0.0`
|
|
675
718
|
});
|
|
676
719
|
});
|
|
677
|
-
var httpServer = (0,
|
|
720
|
+
var httpServer = (0, import_neko_helper3.createSingleton)(() => {
|
|
678
721
|
const server = new http_exports.HttpServer();
|
|
679
|
-
server.setErrorHandler(
|
|
680
|
-
if (err instanceof http_exports.HttpError) {
|
|
681
|
-
res.writeHead(err.statusCode, { "Content-Type": "application/json" });
|
|
682
|
-
res.end(JSON.stringify({ message: err.message, error: err.code }));
|
|
683
|
-
logger().warn({ msg: "HttpError: " + err.message, err });
|
|
684
|
-
return;
|
|
685
|
-
} else {
|
|
686
|
-
logger().error({ msg: "Error: " + err.message, err });
|
|
687
|
-
}
|
|
688
|
-
res.writeHead(500, { "Content-Type": "" });
|
|
689
|
-
res.end(JSON.stringify({ error: "Internal Server Error" }));
|
|
690
|
-
});
|
|
722
|
+
server.setErrorHandler(handleHttpErrors);
|
|
691
723
|
server.setRouter(router());
|
|
692
724
|
return server;
|
|
693
725
|
});
|
|
694
|
-
var logger = (0,
|
|
726
|
+
var logger = (0, import_neko_helper3.createSingleton)((label) => {
|
|
695
727
|
const logger_config = import_neko_config.config.get(["loggers", label].join("."));
|
|
696
728
|
const rc = new import_neko_logger.Logger(logger_config);
|
|
697
729
|
rc.setExtrasFunction((message) => {
|
|
@@ -700,7 +732,7 @@ var logger = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
700
732
|
});
|
|
701
733
|
return rc;
|
|
702
734
|
});
|
|
703
|
-
var mailer = (0,
|
|
735
|
+
var mailer = (0, import_neko_helper3.createSingleton)((label) => {
|
|
704
736
|
const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
|
|
705
737
|
const provider = import_neko_mailer2.MailerProviderFactory.create(
|
|
706
738
|
mailer_config.provider,
|
|
@@ -709,7 +741,7 @@ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
709
741
|
const rc = new import_neko_mailer2.Mailer(provider);
|
|
710
742
|
return rc;
|
|
711
743
|
});
|
|
712
|
-
var queue = (0,
|
|
744
|
+
var queue = (0, import_neko_helper3.createSingleton)((label) => {
|
|
713
745
|
const queue_config = import_neko_config.config.get(["queues", label].join("."));
|
|
714
746
|
if (!queue_config) {
|
|
715
747
|
throw new Error(`Queue configuration for '${label}' not found`);
|
|
@@ -720,7 +752,7 @@ var queue = (0, import_neko_helper2.createSingleton)((label) => {
|
|
|
720
752
|
);
|
|
721
753
|
return new import_neko_queue2.QueueConnection(provider);
|
|
722
754
|
});
|
|
723
|
-
var cache = (0,
|
|
755
|
+
var cache = (0, import_neko_helper3.createSingleton)((label) => {
|
|
724
756
|
const cache_config = import_neko_config.config.get(["caches", label].join("."));
|
|
725
757
|
if (!cache_config) {
|
|
726
758
|
throw new Error(`Cache configuration for '${label}' not found`);
|