@devbro/pashmak 0.1.56 → 0.1.57

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.
Files changed (30) hide show
  1. package/dist/cjs/app/console/DefaultCommand.js +52 -0
  2. package/dist/cjs/app/console/KeyGenerateCommand.js +52 -0
  3. package/dist/cjs/app/console/StartCommand.js +52 -0
  4. package/dist/cjs/app/console/generate/GenerateApiDocsCommand.js +52 -0
  5. package/dist/cjs/app/console/generate/GenerateControllerCommand.js +52 -0
  6. package/dist/cjs/app/console/generate/index.js +52 -0
  7. package/dist/cjs/app/console/index.js +52 -0
  8. package/dist/cjs/app/console/migrate/GenerateMigrateCommand.js +52 -0
  9. package/dist/cjs/app/console/migrate/MigrateCommand.js +52 -0
  10. package/dist/cjs/app/console/migrate/MigrateRollbackCommand.js +52 -0
  11. package/dist/cjs/app/console/migrate/index.js +52 -0
  12. package/dist/cjs/app/console/queue/GenerateQueueMigrateCommand.js +52 -0
  13. package/dist/cjs/cache/MultiCache.js +71 -0
  14. package/dist/cjs/{cache.js → cache/cache.js} +54 -2
  15. package/dist/cjs/facades.js +52 -0
  16. package/dist/cjs/factories.js +52 -0
  17. package/dist/cjs/http.js +52 -0
  18. package/dist/cjs/index.js +52 -0
  19. package/dist/cjs/middlewares.js +52 -0
  20. package/dist/cjs/queue.js +52 -0
  21. package/dist/esm/cache/MultiCache.d.mts +14 -0
  22. package/dist/esm/cache/MultiCache.mjs +47 -0
  23. package/dist/esm/cache/MultiCache.mjs.map +1 -0
  24. package/dist/esm/{cache.mjs → cache/cache.mjs} +1 -1
  25. package/dist/esm/cache/cache.mjs.map +1 -0
  26. package/dist/esm/factories.mjs +9 -0
  27. package/dist/esm/factories.mjs.map +1 -1
  28. package/package.json +1 -1
  29. package/dist/esm/cache.mjs.map +0 -1
  30. /package/dist/esm/{cache.d.mts → cache/cache.d.mts} +0 -0
@@ -0,0 +1,47 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ class MultiCache {
4
+ constructor(caches) {
5
+ this.caches = caches;
6
+ }
7
+ static {
8
+ __name(this, "MultiCache");
9
+ }
10
+ async get(key) {
11
+ for (const cache of this.caches) {
12
+ const value = await cache.get(key);
13
+ if (value !== void 0) {
14
+ return value;
15
+ }
16
+ }
17
+ return void 0;
18
+ }
19
+ async put(key, value, ttl) {
20
+ await Promise.all(this.caches.map((cache) => cache.put(key, value, ttl)));
21
+ }
22
+ async delete(key) {
23
+ await Promise.all(this.caches.map((cache) => cache.delete(key)));
24
+ }
25
+ async has(key) {
26
+ for (const cache of this.caches) {
27
+ if (await cache.has(key)) {
28
+ return true;
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ async increment(key, amount) {
34
+ let rc = void 0;
35
+ for (const cache of this.caches) {
36
+ let rc2 = await cache.increment(key, amount);
37
+ if (rc === void 0) {
38
+ rc = rc2;
39
+ }
40
+ }
41
+ return rc;
42
+ }
43
+ }
44
+ export {
45
+ MultiCache
46
+ };
47
+ //# sourceMappingURL=MultiCache.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cache/MultiCache.mts"],"sourcesContent":["import { JSONObject, JSONValue } from \"@devbro/neko-helper\";\nimport { CacheProviderInterface } from \"@devbro/neko-cache\";\n\nexport class MultiCache implements CacheProviderInterface {\n constructor(private caches: CacheProviderInterface[]) {}\n\n async get(key: string): Promise<JSONValue | JSONObject | undefined> {\n for (const cache of this.caches) {\n const value = await cache.get(key);\n if (value !== undefined) {\n return value;\n }\n }\n return undefined;\n }\n async put(\n key: string,\n value: JSONObject | JSONValue,\n ttl?: number,\n ): Promise<void> {\n await Promise.all(this.caches.map((cache) => cache.put(key, value, ttl)));\n }\n async delete(key: string): Promise<void> {\n await Promise.all(this.caches.map((cache) => cache.delete(key)));\n }\n async has(key: string): Promise<boolean> {\n for (const cache of this.caches) {\n if (await cache.has(key)) {\n return true;\n }\n }\n return false;\n }\n\n async increment(key: string, amount?: number): Promise<number> {\n let rc = undefined;\n for (const cache of this.caches) {\n let rc2 = await cache.increment(key, amount);\n if (rc === undefined) {\n rc = rc2;\n }\n }\n\n return rc!;\n }\n}\n"],"mappings":";;AAGO,MAAM,WAA6C;AAAA,EACxD,YAAoB,QAAkC;AAAlC;AAAA,EAAmC;AAAA,EAJzD,OAG0D;AAAA;AAAA;AAAA,EAGxD,MAAM,IAAI,KAA0D;AAClE,eAAW,SAAS,KAAK,QAAQ;AAC/B,YAAM,QAAQ,MAAM,MAAM,IAAI,GAAG;AACjC,UAAI,UAAU,QAAW;AACvB,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,MAAM,IACJ,KACA,OACA,KACe;AACf,UAAM,QAAQ,IAAI,KAAK,OAAO,IAAI,CAAC,UAAU,MAAM,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC;AAAA,EAC1E;AAAA,EACA,MAAM,OAAO,KAA4B;AACvC,UAAM,QAAQ,IAAI,KAAK,OAAO,IAAI,CAAC,UAAU,MAAM,OAAO,GAAG,CAAC,CAAC;AAAA,EACjE;AAAA,EACA,MAAM,IAAI,KAA+B;AACvC,eAAW,SAAS,KAAK,QAAQ;AAC/B,UAAI,MAAM,MAAM,IAAI,GAAG,GAAG;AACxB,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,UAAU,KAAa,QAAkC;AAC7D,QAAI,KAAK;AACT,eAAW,SAAS,KAAK,QAAQ;AAC/B,UAAI,MAAM,MAAM,MAAM,UAAU,KAAK,MAAM;AAC3C,UAAI,OAAO,QAAW;AACpB,aAAK;AAAA,MACP;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,7 +1,7 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  export * from "@devbro/neko-cache";
4
- import { cache } from "./facades.mjs";
4
+ import { cache } from "../facades.mjs";
5
5
  async function cacheQuery(q, options = {}) {
6
6
  options.ttl = options.ttl ?? 3600;
7
7
  options.cache_label = options.cache_label ?? "default";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/cache/cache.mts"],"sourcesContent":["export * from \"@devbro/neko-cache\";\n\nimport { Query } from \"@devbro/neko-sql\";\nimport { cache } from \"../facades.mjs\";\nimport { JSONValue } from \"@devbro/neko-helper\";\n\nexport type CacheQueryOptions = {\n ttl?: number;\n tags?: string[];\n cache_label?: string;\n};\n\nexport async function cacheQuery(\n q: Query,\n options: CacheQueryOptions = {},\n): ReturnType<Query[\"get\"]> {\n options.ttl = options.ttl ?? 3600; // default TTL 1 hour\n options.cache_label = options.cache_label ?? \"default\";\n const sql = q.toSql();\n\n return await cache(options.cache_label).remember(\n sql as JSONValue,\n async () => await q.get(),\n options,\n );\n}\n"],"mappings":";;AAAA,cAAc;AAGd,SAAS,aAAa;AAStB,eAAsB,WACpB,GACA,UAA6B,CAAC,GACJ;AAC1B,UAAQ,MAAM,QAAQ,OAAO;AAC7B,UAAQ,cAAc,QAAQ,eAAe;AAC7C,QAAM,MAAM,EAAE,MAAM;AAEpB,SAAO,MAAM,MAAM,QAAQ,WAAW,EAAE;AAAA,IACtC;AAAA,IACA,YAAY,MAAM,EAAE,IAAI;AAAA,IACxB;AAAA,EACF;AACF;AAbsB;","names":[]}
@@ -32,6 +32,8 @@ import {
32
32
  FTPStorageProvider,
33
33
  SFTPStorageProvider
34
34
  } from "@devbro/neko-storage";
35
+ import { MultiCache } from "./cache/MultiCache.mts";
36
+ import { cache } from "./facades.mts";
35
37
  class FlexibleFactory {
36
38
  static {
37
39
  __name(this, "FlexibleFactory");
@@ -102,6 +104,13 @@ CacheProviderFactory.register("redis", (opt) => {
102
104
  CacheProviderFactory.register("file", (opt) => {
103
105
  return new FileCacheProvider(opt);
104
106
  });
107
+ CacheProviderFactory.register("multi", (opt) => {
108
+ const caches = [];
109
+ for (const c of opt.caches) {
110
+ caches.push(cache(c));
111
+ }
112
+ return new MultiCache(caches);
113
+ });
105
114
  CacheProviderFactory.register("disabled", (opt) => {
106
115
  return new DisabledCacheProvider();
107
116
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/factories.mts"],"sourcesContent":["import {\n SESProvider,\n SMTPProvider,\n MemoryProvider,\n MailerProviderFactory,\n} from \"@devbro/neko-mailer\";\nimport {\n MemoryTransport,\n QueueTransportFactory,\n AwsSqsTransport,\n AmqpTransport,\n RedisTransport,\n AsyncTransport,\n AzureServiceBusTransport,\n GooglePubSubTransport,\n} from \"@devbro/neko-queue\";\nimport { DatabaseTransport } from \"./queue.mjs\";\nimport {\n CacheProviderInterface,\n MemoryCacheProvider,\n RedisCacheProvider,\n FileCacheProvider,\n DisabledCacheProvider,\n} from \"@devbro/neko-cache\";\nimport {\n AWSS3StorageProvider,\n LocalStorageProvider,\n StorageProviderFactory,\n GCPStorageProvider,\n AzureBlobStorageProvider,\n FTPStorageProvider,\n SFTPStorageProvider,\n} from \"@devbro/neko-storage\";\n\nexport class FlexibleFactory<T> {\n registry: Map<string, any> = new Map();\n\n register<T>(key: string, ctor: (...args: any[]) => T) {\n this.registry.set(key, ctor);\n }\n\n create<T>(key: string, ...args: any[]): T {\n const ctor = this.registry.get(key);\n if (!ctor) {\n throw new Error(`No factory registered for key: ${key}`);\n }\n return ctor(...args);\n }\n}\n\nMailerProviderFactory.register(\"ses\", (opt) => {\n return new SESProvider(opt);\n});\n\nMailerProviderFactory.register(\"smtp\", (opt) => {\n return new SMTPProvider(opt);\n});\n\nMailerProviderFactory.register(\"memory\", (opt) => {\n return new MemoryProvider();\n});\n\n// Queue\n\nQueueTransportFactory.register(\"database\", (opt) => {\n return new DatabaseTransport(opt);\n});\n\nQueueTransportFactory.register(\"memory\", (opt) => {\n return new MemoryTransport(opt);\n});\n\nQueueTransportFactory.register(\"sqs\", (opt) => {\n return new AwsSqsTransport(opt);\n});\n\nQueueTransportFactory.register(\"amqp\", (opt) => {\n return new AmqpTransport(opt);\n});\n\nQueueTransportFactory.register(\"redis\", (opt) => {\n return new RedisTransport(opt);\n});\n\nQueueTransportFactory.register(\"async\", (opt) => {\n return new AsyncTransport();\n});\n\nQueueTransportFactory.register(\"azure_service_bus\", (opt) => {\n return new AzureServiceBusTransport(opt);\n});\n\nQueueTransportFactory.register(\"google_pubsub\", (opt) => {\n return new GooglePubSubTransport(opt);\n});\n\n// CACHE\nexport class CacheProviderFactory {\n static instance: FlexibleFactory<CacheProviderInterface> =\n new FlexibleFactory<CacheProviderInterface>();\n\n static register(\n key: string,\n factory: (...args: any[]) => CacheProviderInterface,\n ): void {\n CacheProviderFactory.instance.register(key, factory);\n }\n\n static create<T>(key: string, ...args: any[]): CacheProviderInterface {\n return CacheProviderFactory.instance.create(key, ...args);\n }\n}\n\nCacheProviderFactory.register(\"memory\", (opt) => {\n return new MemoryCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"redis\", (opt) => {\n return new RedisCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"file\", (opt) => {\n return new FileCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"disabled\", (opt) => {\n return new DisabledCacheProvider();\n});\n\n/* STORAGE */\n\nStorageProviderFactory.register(\"local\", (opt) => {\n return new LocalStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"s3\", (opt) => {\n return new AWSS3StorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"gcp\", (opt) => {\n return new GCPStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"azure\", (opt) => {\n return new AzureBlobStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"ftp\", (opt) => {\n return new FTPStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"sftp\", (opt) => {\n return new SFTPStorageProvider(opt);\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/factories.mts"],"sourcesContent":["import {\n SESProvider,\n SMTPProvider,\n MemoryProvider,\n MailerProviderFactory,\n} from \"@devbro/neko-mailer\";\nimport {\n MemoryTransport,\n QueueTransportFactory,\n AwsSqsTransport,\n AmqpTransport,\n RedisTransport,\n AsyncTransport,\n AzureServiceBusTransport,\n GooglePubSubTransport,\n} from \"@devbro/neko-queue\";\nimport { DatabaseTransport } from \"./queue.mjs\";\nimport {\n CacheProviderInterface,\n MemoryCacheProvider,\n RedisCacheProvider,\n FileCacheProvider,\n DisabledCacheProvider,\n} from \"@devbro/neko-cache\";\nimport {\n AWSS3StorageProvider,\n LocalStorageProvider,\n StorageProviderFactory,\n GCPStorageProvider,\n AzureBlobStorageProvider,\n FTPStorageProvider,\n SFTPStorageProvider,\n} from \"@devbro/neko-storage\";\nimport { MultiCache } from \"./cache/MultiCache.mts\";\nimport { cache } from \"./facades.mts\";\n\nexport class FlexibleFactory<T> {\n registry: Map<string, any> = new Map();\n\n register<T>(key: string, ctor: (...args: any[]) => T) {\n this.registry.set(key, ctor);\n }\n\n create<T>(key: string, ...args: any[]): T {\n const ctor = this.registry.get(key);\n if (!ctor) {\n throw new Error(`No factory registered for key: ${key}`);\n }\n return ctor(...args);\n }\n}\n\nMailerProviderFactory.register(\"ses\", (opt) => {\n return new SESProvider(opt);\n});\n\nMailerProviderFactory.register(\"smtp\", (opt) => {\n return new SMTPProvider(opt);\n});\n\nMailerProviderFactory.register(\"memory\", (opt) => {\n return new MemoryProvider();\n});\n\n// Queue\n\nQueueTransportFactory.register(\"database\", (opt) => {\n return new DatabaseTransport(opt);\n});\n\nQueueTransportFactory.register(\"memory\", (opt) => {\n return new MemoryTransport(opt);\n});\n\nQueueTransportFactory.register(\"sqs\", (opt) => {\n return new AwsSqsTransport(opt);\n});\n\nQueueTransportFactory.register(\"amqp\", (opt) => {\n return new AmqpTransport(opt);\n});\n\nQueueTransportFactory.register(\"redis\", (opt) => {\n return new RedisTransport(opt);\n});\n\nQueueTransportFactory.register(\"async\", (opt) => {\n return new AsyncTransport();\n});\n\nQueueTransportFactory.register(\"azure_service_bus\", (opt) => {\n return new AzureServiceBusTransport(opt);\n});\n\nQueueTransportFactory.register(\"google_pubsub\", (opt) => {\n return new GooglePubSubTransport(opt);\n});\n\n// CACHE\nexport class CacheProviderFactory {\n static instance: FlexibleFactory<CacheProviderInterface> =\n new FlexibleFactory<CacheProviderInterface>();\n\n static register(\n key: string,\n factory: (...args: any[]) => CacheProviderInterface,\n ): void {\n CacheProviderFactory.instance.register(key, factory);\n }\n\n static create<T>(key: string, ...args: any[]): CacheProviderInterface {\n return CacheProviderFactory.instance.create(key, ...args);\n }\n}\n\nCacheProviderFactory.register(\"memory\", (opt) => {\n return new MemoryCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"redis\", (opt) => {\n return new RedisCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"file\", (opt) => {\n return new FileCacheProvider(opt);\n});\n\nCacheProviderFactory.register(\"multi\", (opt) => {\n const caches: CacheProviderInterface[] = [];\n for (const c of opt.caches) {\n caches.push(cache(c));\n }\n\n return new MultiCache(caches);\n});\n\nCacheProviderFactory.register(\"disabled\", (opt) => {\n return new DisabledCacheProvider();\n});\n\n/* STORAGE */\n\nStorageProviderFactory.register(\"local\", (opt) => {\n return new LocalStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"s3\", (opt) => {\n return new AWSS3StorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"gcp\", (opt) => {\n return new GCPStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"azure\", (opt) => {\n return new AzureBlobStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"ftp\", (opt) => {\n return new FTPStorageProvider(opt);\n});\n\nStorageProviderFactory.register(\"sftp\", (opt) => {\n return new SFTPStorageProvider(opt);\n});\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devbro/pashmak",
3
- "version": "0.1.56",
3
+ "version": "0.1.57",
4
4
  "description": "Pashmak framework, the framework that aims to be the easiest framework for all",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.mjs",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/cache.mts"],"sourcesContent":["export * from \"@devbro/neko-cache\";\n\nimport { Query } from \"@devbro/neko-sql\";\nimport { cache } from \"./facades.mjs\";\nimport * as crypto from \"crypto\";\nimport { JSONValue } from \"@devbro/neko-helper\";\n\nexport type CacheQueryOptions = {\n ttl?: number;\n tags?: string[];\n cache_label?: string;\n};\n\nexport async function cacheQuery(\n q: Query,\n options: CacheQueryOptions = {},\n): ReturnType<Query[\"get\"]> {\n options.ttl = options.ttl ?? 3600; // default TTL 1 hour\n options.cache_label = options.cache_label ?? \"default\";\n const sql = q.toSql();\n\n return await cache(options.cache_label).remember(\n sql as JSONValue,\n async () => await q.get(),\n options,\n );\n}\n"],"mappings":";;AAAA,cAAc;AAGd,SAAS,aAAa;AAUtB,eAAsB,WACpB,GACA,UAA6B,CAAC,GACJ;AAC1B,UAAQ,MAAM,QAAQ,OAAO;AAC7B,UAAQ,cAAc,QAAQ,eAAe;AAC7C,QAAM,MAAM,EAAE,MAAM;AAEpB,SAAO,MAAM,MAAM,QAAQ,WAAW,EAAE;AAAA,IACtC;AAAA,IACA,YAAY,MAAM,EAAE,IAAI;AAAA,IACxB;AAAA,EACF;AACF;AAbsB;","names":[]}
File without changes