@typetron/framework 0.4.0-rc2 → 0.4.0-rc4

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 (183) hide show
  1. package/Framework/Application.d.ts +0 -1
  2. package/Framework/Application.d.ts.map +1 -1
  3. package/Framework/Application.js +0 -2
  4. package/Framework/Application.js.map +1 -1
  5. package/Framework/Providers/WebsocketsProvider.d.ts.map +1 -1
  6. package/Framework/Providers/WebsocketsProvider.js +1 -1
  7. package/Framework/Providers/WebsocketsProvider.js.map +1 -1
  8. package/Router/Http/Request.d.ts +8 -7
  9. package/Router/Http/Request.d.ts.map +1 -1
  10. package/Router/Http/Request.js +63 -50
  11. package/Router/Http/Request.js.map +1 -1
  12. package/Router/Route.js +1 -1
  13. package/Router/Route.js.map +1 -1
  14. package/Router/Servers/node.d.ts.map +1 -1
  15. package/Router/Servers/node.js +17 -1
  16. package/Router/Servers/node.js.map +1 -1
  17. package/Router/Servers/uNetworking.js +1 -1
  18. package/Router/Servers/uNetworking.js.map +1 -1
  19. package/Storage/Storage.d.ts.map +1 -1
  20. package/Storage/Storage.js +4 -3
  21. package/Storage/Storage.js.map +1 -1
  22. package/Support/index.d.ts.map +1 -1
  23. package/Testing/TestCase.d.ts.map +1 -1
  24. package/Testing/TestCase.js +8 -2
  25. package/Testing/TestCase.js.map +1 -1
  26. package/Validation/RuleInterface.d.ts +1 -1
  27. package/Validation/RuleInterface.d.ts.map +1 -1
  28. package/Validation/Rules/FileExtension.js +2 -2
  29. package/Validation/Rules/FileExtension.js.map +1 -1
  30. package/Validation/Rules/Optional.js +1 -1
  31. package/Validation/Rules/Optional.js.map +1 -1
  32. package/Validation/index.d.ts +1 -0
  33. package/Validation/index.d.ts.map +1 -1
  34. package/Validation/index.js +1 -0
  35. package/Validation/index.js.map +1 -1
  36. package/benchmark.ts +47 -0
  37. package/package.json +3 -3
  38. package/types.d.ts +8 -0
  39. package/Frontend/Angular/index.d.ts +0 -8
  40. package/Frontend/Angular/index.d.ts.map +0 -1
  41. package/Frontend/Angular/index.js +0 -20
  42. package/Frontend/Angular/index.js.map +0 -1
  43. package/Frontend/Websockets/index.js +0 -76
  44. package/Frontend/Websockets/index.js.map +0 -1
  45. package/Router/micro.d.ts +0 -3
  46. package/Router/micro.d.ts.map +0 -1
  47. package/Router/micro.js +0 -44
  48. package/Router/micro.js.map +0 -1
  49. package/benchmark-index.js.map +0 -1
  50. package/benchmark.js.map +0 -1
  51. package/index.d.ts +0 -2
  52. package/index.d.ts.map +0 -1
  53. package/index.js +0 -41
  54. package/index.js.map +0 -1
  55. package/test.js.map +0 -1
  56. package/tests/Cache/DatabaseStoreTest.d.ts +0 -2
  57. package/tests/Cache/DatabaseStoreTest.d.ts.map +0 -1
  58. package/tests/Cache/DatabaseStoreTest.js +0 -137
  59. package/tests/Cache/DatabaseStoreTest.js.map +0 -1
  60. package/tests/Cache/FileStoreTest.d.ts +0 -2
  61. package/tests/Cache/FileStoreTest.d.ts.map +0 -1
  62. package/tests/Cache/FileStoreTest.js +0 -142
  63. package/tests/Cache/FileStoreTest.js.map +0 -1
  64. package/tests/Cache/MemoryStoreTest.d.ts +0 -2
  65. package/tests/Cache/MemoryStoreTest.d.ts.map +0 -1
  66. package/tests/Cache/MemoryStoreTest.js +0 -141
  67. package/tests/Cache/MemoryStoreTest.js.map +0 -1
  68. package/tests/Container/ContainerTest.d.ts +0 -2
  69. package/tests/Container/ContainerTest.d.ts.map +0 -1
  70. package/tests/Container/ContainerTest.js +0 -396
  71. package/tests/Container/ContainerTest.js.map +0 -1
  72. package/tests/Database/Drivers/MySQL/AlterTest.d.ts +0 -2
  73. package/tests/Database/Drivers/MySQL/AlterTest.d.ts.map +0 -1
  74. package/tests/Database/Drivers/MySQL/AlterTest.js +0 -144
  75. package/tests/Database/Drivers/MySQL/AlterTest.js.map +0 -1
  76. package/tests/Database/Drivers/MySQL/CreateTest.d.ts +0 -2
  77. package/tests/Database/Drivers/MySQL/CreateTest.d.ts.map +0 -1
  78. package/tests/Database/Drivers/MySQL/CreateTest.js +0 -64
  79. package/tests/Database/Drivers/MySQL/CreateTest.js.map +0 -1
  80. package/tests/Database/Drivers/MysqlDriverTest.d.ts +0 -2
  81. package/tests/Database/Drivers/MysqlDriverTest.d.ts.map +0 -1
  82. package/tests/Database/Drivers/MysqlDriverTest.js +0 -174
  83. package/tests/Database/Drivers/MysqlDriverTest.js.map +0 -1
  84. package/tests/Database/Drivers/SqliteDriverTest.d.ts +0 -2
  85. package/tests/Database/Drivers/SqliteDriverTest.d.ts.map +0 -1
  86. package/tests/Database/Drivers/SqliteDriverTest.js +0 -156
  87. package/tests/Database/Drivers/SqliteDriverTest.js.map +0 -1
  88. package/tests/Database/Entities/Article.d.ts +0 -11
  89. package/tests/Database/Entities/Article.d.ts.map +0 -1
  90. package/tests/Database/Entities/Article.js +0 -43
  91. package/tests/Database/Entities/Article.js.map +0 -1
  92. package/tests/Database/Entities/Profile.d.ts +0 -11
  93. package/tests/Database/Entities/Profile.d.ts.map +0 -1
  94. package/tests/Database/Entities/Profile.js +0 -39
  95. package/tests/Database/Entities/Profile.js.map +0 -1
  96. package/tests/Database/Entities/Role.d.ts +0 -9
  97. package/tests/Database/Entities/Role.d.ts.map +0 -1
  98. package/tests/Database/Entities/Role.js +0 -31
  99. package/tests/Database/Entities/Role.js.map +0 -1
  100. package/tests/Database/Entities/User.d.ts +0 -16
  101. package/tests/Database/Entities/User.d.ts.map +0 -1
  102. package/tests/Database/Entities/User.js +0 -58
  103. package/tests/Database/Entities/User.js.map +0 -1
  104. package/tests/Database/EntityRelationshipsTest.d.ts +0 -2
  105. package/tests/Database/EntityRelationshipsTest.d.ts.map +0 -1
  106. package/tests/Database/EntityRelationshipsTest.js +0 -548
  107. package/tests/Database/EntityRelationshipsTest.js.map +0 -1
  108. package/tests/Database/EntityTest.d.ts +0 -2
  109. package/tests/Database/EntityTest.d.ts.map +0 -1
  110. package/tests/Database/EntityTest.js +0 -234
  111. package/tests/Database/EntityTest.js.map +0 -1
  112. package/tests/Database/Migrations/RunnerTest.d.ts +0 -2
  113. package/tests/Database/Migrations/RunnerTest.d.ts.map +0 -1
  114. package/tests/Database/Migrations/RunnerTest.js +0 -112
  115. package/tests/Database/Migrations/RunnerTest.js.map +0 -1
  116. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts +0 -6
  117. package/tests/Database/Migrations/migrations/1.createUserTable.d.ts.map +0 -1
  118. package/tests/Database/Migrations/migrations/1.createUserTable.js +0 -14
  119. package/tests/Database/Migrations/migrations/1.createUserTable.js.map +0 -1
  120. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts +0 -6
  121. package/tests/Database/Migrations/migrations/2.createArticlesTable.d.ts.map +0 -1
  122. package/tests/Database/Migrations/migrations/2.createArticlesTable.js +0 -14
  123. package/tests/Database/Migrations/migrations/2.createArticlesTable.js.map +0 -1
  124. package/tests/Database/QueryTest.d.ts +0 -2
  125. package/tests/Database/QueryTest.d.ts.map +0 -1
  126. package/tests/Database/QueryTest.js +0 -623
  127. package/tests/Database/QueryTest.js.map +0 -1
  128. package/tests/Database/SchemaTest.d.ts +0 -2
  129. package/tests/Database/SchemaTest.d.ts.map +0 -1
  130. package/tests/Database/SchemaTest.js +0 -46
  131. package/tests/Database/SchemaTest.js.map +0 -1
  132. package/tests/Database/Seeders/RunnerTest.d.ts +0 -2
  133. package/tests/Database/Seeders/RunnerTest.d.ts.map +0 -1
  134. package/tests/Database/Seeders/RunnerTest.js +0 -44
  135. package/tests/Database/Seeders/RunnerTest.js.map +0 -1
  136. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts +0 -5
  137. package/tests/Database/Seeders/seeders/RandomSeeder.d.ts.map +0 -1
  138. package/tests/Database/Seeders/seeders/RandomSeeder.js +0 -14
  139. package/tests/Database/Seeders/seeders/RandomSeeder.js.map +0 -1
  140. package/tests/Database/utils.d.ts +0 -6
  141. package/tests/Database/utils.d.ts.map +0 -1
  142. package/tests/Database/utils.js +0 -19
  143. package/tests/Database/utils.js.map +0 -1
  144. package/tests/Forms/FormsTest.d.ts +0 -2
  145. package/tests/Forms/FormsTest.d.ts.map +0 -1
  146. package/tests/Forms/FormsTest.js +0 -80
  147. package/tests/Forms/FormsTest.js.map +0 -1
  148. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts +0 -2
  149. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.d.ts.map +0 -1
  150. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js +0 -166
  151. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.js.map +0 -1
  152. package/tests/Framework/Resolvers/EntityResolverTest.d.ts +0 -2
  153. package/tests/Framework/Resolvers/EntityResolverTest.d.ts.map +0 -1
  154. package/tests/Framework/Resolvers/EntityResolverTest.js +0 -60
  155. package/tests/Framework/Resolvers/EntityResolverTest.js.map +0 -1
  156. package/tests/Mail/MailerTest.d.ts +0 -2
  157. package/tests/Mail/MailerTest.d.ts.map +0 -1
  158. package/tests/Mail/MailerTest.js +0 -98
  159. package/tests/Mail/MailerTest.js.map +0 -1
  160. package/tests/Model/ModelTest.d.ts +0 -2
  161. package/tests/Model/ModelTest.d.ts.map +0 -1
  162. package/tests/Model/ModelTest.js +0 -234
  163. package/tests/Model/ModelTest.js.map +0 -1
  164. package/tests/Router/HttpHandlerTest.d.ts +0 -2
  165. package/tests/Router/HttpHandlerTest.d.ts.map +0 -1
  166. package/tests/Router/HttpHandlerTest.js +0 -37
  167. package/tests/Router/HttpHandlerTest.js.map +0 -1
  168. package/tests/Router/WebSocketsHandlerTest.d.ts +0 -2
  169. package/tests/Router/WebSocketsHandlerTest.d.ts.map +0 -1
  170. package/tests/Router/WebSocketsHandlerTest.js +0 -36
  171. package/tests/Router/WebSocketsHandlerTest.js.map +0 -1
  172. package/tests/Support/ArrayTest.d.ts +0 -2
  173. package/tests/Support/ArrayTest.d.ts.map +0 -1
  174. package/tests/Support/ArrayTest.js +0 -259
  175. package/tests/Support/ArrayTest.js.map +0 -1
  176. package/tests/Support/StringTest.d.ts +0 -2
  177. package/tests/Support/StringTest.d.ts.map +0 -1
  178. package/tests/Support/StringTest.js +0 -39
  179. package/tests/Support/StringTest.js.map +0 -1
  180. package/tests/Validation/RulesTest.d.ts +0 -2
  181. package/tests/Validation/RulesTest.d.ts.map +0 -1
  182. package/tests/Validation/RulesTest.js +0 -68
  183. package/tests/Validation/RulesTest.js.map +0 -1
@@ -4,6 +4,7 @@ export * from './Validator';
4
4
  export * from './Rule';
5
5
  export * from './Rules/MaxLength';
6
6
  export * from './Rules/MinLength';
7
+ export * from './Rules/FileExtension';
7
8
  export * from './Rules/Required';
8
9
  export * from './Rules/Email';
9
10
  export * from './Rules/Optional';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS,GAAG,GAAG,CAAC;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS,GAAG,GAAG,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
@@ -15,6 +15,7 @@ __exportStar(require("./Validator"), exports);
15
15
  __exportStar(require("./Rule"), exports);
16
16
  __exportStar(require("./Rules/MaxLength"), exports);
17
17
  __exportStar(require("./Rules/MinLength"), exports);
18
+ __exportStar(require("./Rules/FileExtension"), exports);
18
19
  __exportStar(require("./Rules/Required"), exports);
19
20
  __exportStar(require("./Rules/Email"), exports);
20
21
  __exportStar(require("./Rules/Optional"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kDAA+B;AAC/B,8CAA2B;AAC3B,yCAAsB;AACtB,oDAAiC;AACjC,oDAAiC;AACjC,mDAAgC;AAChC,gDAA6B;AAC7B,mDAAgC;AAChC,wCAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Validation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kDAA+B;AAC/B,8CAA2B;AAC3B,yCAAsB;AACtB,oDAAiC;AACjC,oDAAiC;AACjC,wDAAqC;AACrC,mDAAgC;AAChC,gDAA6B;AAC7B,mDAAgC;AAChC,wCAAwC"}
package/benchmark.ts ADDED
@@ -0,0 +1,47 @@
1
+ // clinic flame -- node -r ts-node/register -r tsconfig-paths/register benchmark.js
2
+
3
+ import 'reflect-metadata'
4
+ import '@Typetron/Support'
5
+ import { Handler, Http, Request } from './Router/Http'
6
+ import { Container } from './Container'
7
+ import { Get } from './Router'
8
+ import Method = Http.Method
9
+
10
+ class Controller {
11
+ @Get()
12
+ read() {
13
+ return 'Hello world!!!'
14
+ }
15
+ }
16
+
17
+ async function main() {
18
+
19
+ const app = new Container()
20
+ const handler = app.get(Handler)
21
+
22
+ handler.addRoute('', Method.GET, Controller, 'read', 'read')
23
+
24
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
+ // @ts-ignore
26
+ // const request = await Request.capture({
27
+ // url: 'http://localhost:3000',
28
+ // method: 'GET',
29
+ // headers: {}
30
+ // })
31
+ // await handler.handle(app, request)
32
+
33
+ console.time('test')
34
+ for (let i = 0; i < 1_000_000_0; i++) {
35
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
+ // @ts-ignore
37
+ const request = await Request.capture({
38
+ url: 'http://localhost:3000',
39
+ method: 'GET',
40
+ headers: {}
41
+ })
42
+ await handler.handle(app, request)
43
+ }
44
+ console.timeEnd('test')
45
+ }
46
+
47
+ main()
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typetron/framework",
3
3
  "description": "Modern Node.js framework for modern apps written in Typescript",
4
4
  "license": "MIT",
5
- "version": "0.4.0-rc2",
5
+ "version": "0.4.0-rc4",
6
6
  "keywords": [
7
7
  "typetron",
8
8
  "framework",
@@ -33,12 +33,12 @@
33
33
  "jsonwebtoken": "^9.0.0",
34
34
  "mysql": "^2.18.1",
35
35
  "sqlite3": "^5.0.2",
36
- "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.14.0"
36
+ "uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.31.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@testdeck/mocha": "^0.1.2",
40
40
  "@types/bcryptjs": "^2.4.2",
41
- "@types/busboy": "^0.2.4",
41
+ "@types/busboy": "^1.5.1",
42
42
  "@types/chai": "^4.2.21",
43
43
  "@types/jsonwebtoken": "^8.5.5",
44
44
  "@types/mocha": "^9.0.0",
package/types.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ declare module 'fast-url-parser' {
2
+ export function parse(url: string): Url
3
+
4
+ type Url = URL & {
5
+ format(): string
6
+ query: string
7
+ }
8
+ }
@@ -1,8 +0,0 @@
1
- import { FormGroup } from '@angular/forms';
2
- import { Form } from '@Typetron/Forms';
3
- import { Constructor } from '@Typetron/Support';
4
- export declare class FormBuilder {
5
- static build(form: typeof Form & Constructor<Form>): FormGroup;
6
- private static getValidators;
7
- }
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Frontend/Angular/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,SAAS,EAAe,MAAM,gBAAgB,CAAA;AACrF,OAAO,EAAE,IAAI,EAAa,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,qBAAa,WAAW;IACpB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS;IAa9D,OAAO,CAAC,MAAM,CAAC,aAAa;CAG/B"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormBuilder = void 0;
4
- const forms_1 = require("@angular/forms");
5
- class FormBuilder {
6
- static build(form) {
7
- const controls = {};
8
- const formFields = Object.values(form.fields());
9
- const instance = new form();
10
- Object.values(formFields).forEach(field => {
11
- controls[field.name] = new forms_1.FormControl(instance[field.name], { validators: this.getValidators(field) });
12
- });
13
- return new forms_1.FormGroup(controls);
14
- }
15
- static getValidators(field) {
16
- return control => field.validate(control.value);
17
- }
18
- }
19
- exports.FormBuilder = FormBuilder;
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Frontend/Angular/index.ts"],"names":[],"mappings":";;;AAAA,0CAAqF;AAIrF,MAAa,WAAW;IACpB,MAAM,CAAC,KAAK,CAAC,IAAqC;QAC9C,MAAM,QAAQ,GAAoC,EAAE,CAAA;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAgB,CAAA;QAC9D,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA;QAC3B,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAW,CAClC,QAAQ,CAAC,KAAK,CAAC,IAAkB,CAAC,EAClC,EAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC,CAC1C,CAAA;QACL,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,iBAAS,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAAgB;QACzC,OAAO,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAA2B,CAAA;IAC7E,CAAC;CACJ;AAjBD,kCAiBC"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Websocket = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const operators_1 = require("rxjs/operators");
6
- const types_1 = require("@typetron/framework/Router/Websockets/types");
7
- class Websocket {
8
- constructor(url, protocols) {
9
- this.url = url;
10
- this.protocols = protocols;
11
- this.eventMessages$ = new rxjs_1.Subject();
12
- this.queuedEvents$ = new rxjs_1.ReplaySubject();
13
- // @ts-ignore
14
- this.errors$ = new rxjs_1.Subject();
15
- this.connect(url, protocols);
16
- }
17
- get isConnected() {
18
- return this.socket?.readyState === WebSocket.OPEN;
19
- }
20
- connect(url, protocols) {
21
- const socket = new WebSocket(url ?? this.url, protocols ?? this.protocols);
22
- this.socket = socket;
23
- socket.onmessage = (event) => {
24
- const message = JSON.parse(event.data);
25
- this.eventMessages$.next(message);
26
- };
27
- socket.onopen = () => {
28
- this.onConnectCallback?.();
29
- this.queuedEvents$.subscribe(message => {
30
- socket.send(JSON.stringify(message));
31
- });
32
- };
33
- socket.onclose = (event) => {
34
- this.queuedEvents$ = new rxjs_1.ReplaySubject();
35
- this.reconnect();
36
- };
37
- }
38
- onConnect(callback) {
39
- this.onConnectCallback = callback;
40
- }
41
- reconnect() {
42
- if (this.socket?.readyState === WebSocket.CLOSED) {
43
- window.setTimeout(() => {
44
- this.connect(this.url, this.protocols);
45
- }, 1000);
46
- }
47
- }
48
- emit(event, request) {
49
- const eventMessage = { event, message: request };
50
- this.queuedEvents$.next(eventMessage);
51
- }
52
- on(event) {
53
- return this.eventMessages$.pipe(operators_1.filter(eventMessage => eventMessage.event === event), operators_1.switchMap(eventMessage => {
54
- if (eventMessage.status === types_1.WebsocketMessageStatus.Error) {
55
- // @ts-ignore
56
- this.errors$.next(eventMessage);
57
- return rxjs_1.throwError(eventMessage);
58
- }
59
- return rxjs_1.of(eventMessage);
60
- }), operators_1.map(eventMessage => eventMessage.message));
61
- }
62
- onError({ except }) {
63
- return this.errors$.pipe(operators_1.filter(eventMessage => !(except || []).includes(eventMessage.event)));
64
- }
65
- async request(event, message) {
66
- this.emit(event, message);
67
- return new Promise((resolve, reject) => {
68
- this.on(event).pipe(operators_1.take(1)).subscribe({
69
- next: resolve,
70
- error: reject
71
- });
72
- });
73
- }
74
- }
75
- exports.Websocket = Websocket;
76
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Frontend/Websockets/index.ts"],"names":[],"mappings":"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"}
package/Router/micro.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { Request, Response } from '@Typetron/Router/Http';
2
- export declare function startServer(port: number, handler: (incomingMessage: Request) => Promise<Response>): void;
3
- //# sourceMappingURL=micro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"micro.d.ts","sourceRoot":"","sources":["../../Router/micro.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,QAmCjG"}
package/Router/micro.js DELETED
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startServer = void 0;
4
- const uWebSockets_js_1 = require("uWebSockets.js");
5
- const Http_1 = require("@Typetron/Router/Http");
6
- function startServer(port, handler) {
7
- const app = /*SSL*/ uWebSockets_js_1.App({
8
- // key_file_name: 'misc/key.pem',
9
- // cert_file_name: 'misc/cert.pem',
10
- // passphrase: '1234'
11
- })
12
- .any('*', async (response, request) => {
13
- // res.end('Any route with method: ' + req.getMethod())
14
- const appRequest = new Http_1.Request(request.getUrl(), request.getMethod(), {});
15
- const appResponse = await handler(appRequest);
16
- response.writeStatus(appResponse.status.toString()).end(String(appResponse.body));
17
- })
18
- // .get('/user/agent', (res, req) => {
19
- // /* Read headers */
20
- // res.end('Your user agent is: ' + req.getHeader('user-agent') + ' thank you, come again!')
21
- // })
22
- // .get('/static/yes', (res, req) => {
23
- // /* Static match */
24
- // res.end('This is very static')
25
- // })
26
- // .get('/candy/:kind', (res, req) => {
27
- // /* Parameters */
28
- // res.end('So you want candy? Have some ' + req.getParameter(0) + '!')
29
- // })
30
- // .get('/*', (res, req) => {
31
- // /* Wildcards - make sure to catch them last */
32
- // res.end('Nothing to see here!')
33
- // })
34
- .listen(port, (token) => {
35
- if (token) {
36
- console.log('Listening to port ' + port);
37
- }
38
- else {
39
- console.log('Failed to listen to port ' + port);
40
- }
41
- });
42
- }
43
- exports.startServer = startServer;
44
- //# sourceMappingURL=micro.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"micro.js","sourceRoot":"","sources":["../../Router/micro.ts"],"names":[],"mappings":";;;AAAA,mDAAoC;AACpC,gDAA+D;AAE/D,SAAgB,WAAW,CAAC,IAAY,EAAE,OAAwD;IAC9F,MAAM,GAAG,GAAG,OAAO,CAAA,oBAAG,CAAC;IACnB,iCAAiC;IACjC,mCAAmC;IACnC,qBAAqB;KACxB,CAAC;SACG,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAClC,uDAAuD;QACvD,MAAM,UAAU,GAAG,IAAI,cAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,SAAS,EAAiB,EAAE,EAAE,CAAC,CAAA;QACxF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAA;QAC7C,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IACrF,CAAC,CAAC;QACF,sCAAsC;QACtC,yBAAyB;QACzB,gGAAgG;QAChG,KAAK;QACL,sCAAsC;QACtC,yBAAyB;QACzB,qCAAqC;QACrC,KAAK;QACL,uCAAuC;QACvC,uBAAuB;QACvB,2EAA2E;QAC3E,KAAK;QACL,6BAA6B;QAC7B,qDAAqD;QACrD,sCAAsC;QACtC,KAAK;SACJ,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QACpB,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;SAC3C;aAAM;YACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAA;SAClD;IACL,CAAC,CAAC,CAAA;AACV,CAAC;AAnCD,kCAmCC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark-index.js","sourceRoot":"","sources":["../benchmark-index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uCAAwB;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAC/C,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAA;AACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAElE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IACxB,OAAO,EAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAClG,aAAa,EAAG,IAAI;IACpB,UAAU,EAAG,IAAI;IACjB,YAAY,EAAG,IAAI;CACtB,CAAC,CAAA;AAEF,aAAa,CAAC,QAAQ,CAAC;IACnB,OAAO,EAAG,SAAS;IACnB,KAAK,EAAG,QAAQ,CAAC,eAAe,CAAC,KAAK;CACzC,CAAC,CAAA;AAEF,OAAO,CAAC,aAAa,CAAC,CAAA"}
package/benchmark.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../benchmark.ts"],"names":[],"mappings":";AAAA,mFAAmF;;;;;;;;;;;AAEnF,4BAAyB;AACzB,6BAA0B;AAC1B,wCAAsD;AACtD,2CAAuC;AACvC,IAAO,MAAM,GAAG,WAAI,CAAC,MAAM,CAAA;AAC3B,qCAA8B;AAG9B,MAAM,UAAU;IAEZ,IAAI;QACA,OAAO,gBAAgB,CAAA;IAC3B,CAAC;CACJ;AAHG;IADC,YAAG,EAAE;;;;sCAGL;AAGL,KAAK,UAAU,IAAI;IAEf,MAAM,GAAG,GAAG,IAAI,qBAAS,EAAE,CAAA;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,cAAO,CAAC,CAAA;IAEhC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5D,6DAA6D;IAC7D,aAAa;IACb,0CAA0C;IAC1C,oCAAoC;IACpC,qBAAqB;IACrB,kBAAkB;IAClB,KAAK;IACL,qCAAqC;IAErC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAW,EAAE,CAAC,EAAE,EAAE;QAClC,6DAA6D;QAC7D,aAAa;QACb,MAAM,OAAO,GAAG,MAAM,cAAO,CAAC,OAAO,CAAC;YAClC,GAAG,EAAE,uBAAuB;YAC5B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE;SACd,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;KACrC;IACD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED,IAAI,EAAE,CAAA"}
package/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":""}
package/index.js DELETED
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const path_1 = __importDefault(require("path"));
26
- const fs = __importStar(require("fs"));
27
- const tsConfigPaths = require('tsconfig-paths');
28
- const appTsConfigPath = path_1.default.join(process.cwd(), '../tsconfig.json');
29
- const tsConfig = require(path_1.default.join(__dirname, '../tsconfig.json'));
30
- require('ts-node').register({
31
- project: fs.existsSync(appTsConfigPath) ? appTsConfigPath : path_1.default.join(__dirname, 'tsconfig.json'),
32
- transpileOnly: true,
33
- skipIgnore: true,
34
- preferTsExts: true,
35
- });
36
- tsConfigPaths.register({
37
- baseUrl: __dirname,
38
- paths: tsConfig.compilerOptions.paths
39
- });
40
- require('./benchmark');
41
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uCAAwB;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAC/C,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAA;AACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAA;AAElE,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IACxB,OAAO,EAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC;IAClG,aAAa,EAAG,IAAI;IACpB,UAAU,EAAG,IAAI;IACjB,YAAY,EAAG,IAAI;CACtB,CAAC,CAAA;AAEF,aAAa,CAAC,QAAQ,CAAC;IACnB,OAAO,EAAG,SAAS;IACnB,KAAK,EAAG,QAAQ,CAAC,eAAe,CAAC,KAAK;CACzC,CAAC,CAAA;AAEF,OAAO,CAAC,aAAa,CAAC,CAAA"}
package/test.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../test.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,4BAAyB;AACzB,6BAA0B;AAC1B,wCAAsD;AACtD,2CAAuC;AACvC,IAAO,MAAM,GAAG,WAAI,CAAC,MAAM,CAAA;AAC3B,qCAA8B;AAG9B,MAAM,UAAU;IAEZ,IAAI;QACA,OAAO,gBAAgB,CAAA;IAC3B,CAAC;CACJ;AAHG;IADC,YAAG,EAAE;;;;sCAGL;AAGL,KAAK,UAAU,IAAI;IACf,MAAM,GAAG,GAAG,IAAI,qBAAS,EAAE,CAAA;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,cAAO,CAAC,CAAA;IAEhC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE7D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC/B,aAAa;QACb,MAAM,OAAO,GAAG,MAAM,cAAO,CAAC,OAAO,CAAC;YAClC,GAAG,EAAE,wBAAwB;YAC7B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE;SACd,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;KACtD;IACD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC3B,CAAC;AAED,IAAI,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=DatabaseStoreTest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseStoreTest.d.ts","sourceRoot":"","sources":["../../../tests/Cache/DatabaseStoreTest.ts"],"names":[],"mappings":""}
@@ -1,137 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const mocha_1 = require("@testdeck/mocha");
13
- const Cache_1 = require("@Typetron/Cache");
14
- const chai_1 = require("chai");
15
- const crypto_1 = require("crypto");
16
- const Database_1 = require("@Typetron/Database");
17
- const Storage_1 = require("@Typetron/Storage");
18
- const tableName = 'cache';
19
- const databaseFilePath = './tests/Cache/database.sqlite';
20
- let DatabaseStoreTest = class DatabaseStoreTest {
21
- constructor() {
22
- this.databaseStore = new Cache_1.DatabaseStore(tableName);
23
- }
24
- static async before() {
25
- Database_1.Query.connection = new Database_1.Connection(new Database_1.SqliteDriver(databaseFilePath));
26
- }
27
- static async after() {
28
- await new Storage_1.Storage().deleteDirectory(databaseFilePath);
29
- }
30
- getCacheRecord(name) {
31
- const cacheKeyHash = crypto_1.createHash('sha1').update(name).digest('hex');
32
- return Database_1.Query.table(tableName).where('name', cacheKeyHash).first();
33
- }
34
- async returnsUndefinedIfRecordDoesntExist() {
35
- const value = await this.databaseStore.get('tests');
36
- chai_1.expect(value).to.be.undefined;
37
- }
38
- async testPutCreatesRecord() {
39
- const contents = 'test';
40
- await this.databaseStore.set('foo', contents);
41
- const cacheRecord = await this.getCacheRecord('foo');
42
- chai_1.expect(cacheRecord).to.exist;
43
- chai_1.expect(cacheRecord.value).to.be.equal(JSON.stringify(contents));
44
- }
45
- async testExpirationValueIsWrittenInCacheRecord() {
46
- const durationInSeconds = 60;
47
- const expirationTime = Date.now() + durationInSeconds * 1000;
48
- await this.databaseStore.set('expireTest', 'value', durationInSeconds);
49
- const cacheRecord = await this.getCacheRecord('expireTest');
50
- chai_1.expect(cacheRecord).to.exist;
51
- chai_1.expect(new Date(cacheRecord.date ?? Infinity).getTime()).to.be.closeTo(expirationTime, 1000); // Allowing a 1-second difference
52
- }
53
- async testCacheValueIsUndefinedIfExpired() {
54
- const durationInSeconds = -60; // Setting a past expiration
55
- await this.databaseStore.set('anotherExpiredTest', 'value', durationInSeconds);
56
- const value = await this.databaseStore.get('anotherExpiredTest');
57
- chai_1.expect(value).to.be.undefined;
58
- const cacheRecord = await this.getCacheRecord('anotherExpiredTest');
59
- chai_1.expect(cacheRecord).to.be.undefined;
60
- }
61
- async testDeleteMethodDeletesRecordFromDatabase() {
62
- await this.databaseStore.set('deleteTest', 'value');
63
- await this.databaseStore.delete('deleteTest');
64
- const cacheRecord = await this.getCacheRecord('deleteTest');
65
- chai_1.expect(cacheRecord).to.be.undefined;
66
- }
67
- async testFlushMethodDeletesAllRecords() {
68
- await this.databaseStore.set('flushTest', 'value');
69
- await this.databaseStore.flush();
70
- const allRecords = await Database_1.Query.table(tableName).get();
71
- chai_1.expect(allRecords.length).to.be.equal(0);
72
- }
73
- async testRememberMethodCreatesRecordIfNotExists() {
74
- const value = await this.databaseStore.remember('rememberTest', 'defaultValue', 60);
75
- chai_1.expect(value).to.equal('defaultValue');
76
- const cacheRecord = await this.getCacheRecord('rememberTest');
77
- chai_1.expect(cacheRecord).to.exist;
78
- chai_1.expect(cacheRecord.value).to.be.equal(JSON.stringify('defaultValue'));
79
- }
80
- async testRememberMethodReturnsExistingValue() {
81
- await this.databaseStore.set('rememberTest2', 'existingValue');
82
- const value = await this.databaseStore.remember('rememberTest2', 'defaultValue', 60);
83
- chai_1.expect(value).to.equal('existingValue');
84
- }
85
- };
86
- __decorate([
87
- mocha_1.test,
88
- __metadata("design:type", Function),
89
- __metadata("design:paramtypes", []),
90
- __metadata("design:returntype", Promise)
91
- ], DatabaseStoreTest.prototype, "returnsUndefinedIfRecordDoesntExist", null);
92
- __decorate([
93
- mocha_1.test,
94
- __metadata("design:type", Function),
95
- __metadata("design:paramtypes", []),
96
- __metadata("design:returntype", Promise)
97
- ], DatabaseStoreTest.prototype, "testPutCreatesRecord", null);
98
- __decorate([
99
- mocha_1.test,
100
- __metadata("design:type", Function),
101
- __metadata("design:paramtypes", []),
102
- __metadata("design:returntype", Promise)
103
- ], DatabaseStoreTest.prototype, "testExpirationValueIsWrittenInCacheRecord", null);
104
- __decorate([
105
- mocha_1.test,
106
- __metadata("design:type", Function),
107
- __metadata("design:paramtypes", []),
108
- __metadata("design:returntype", Promise)
109
- ], DatabaseStoreTest.prototype, "testCacheValueIsUndefinedIfExpired", null);
110
- __decorate([
111
- mocha_1.test,
112
- __metadata("design:type", Function),
113
- __metadata("design:paramtypes", []),
114
- __metadata("design:returntype", Promise)
115
- ], DatabaseStoreTest.prototype, "testDeleteMethodDeletesRecordFromDatabase", null);
116
- __decorate([
117
- mocha_1.test,
118
- __metadata("design:type", Function),
119
- __metadata("design:paramtypes", []),
120
- __metadata("design:returntype", Promise)
121
- ], DatabaseStoreTest.prototype, "testFlushMethodDeletesAllRecords", null);
122
- __decorate([
123
- mocha_1.test,
124
- __metadata("design:type", Function),
125
- __metadata("design:paramtypes", []),
126
- __metadata("design:returntype", Promise)
127
- ], DatabaseStoreTest.prototype, "testRememberMethodCreatesRecordIfNotExists", null);
128
- __decorate([
129
- mocha_1.test,
130
- __metadata("design:type", Function),
131
- __metadata("design:paramtypes", []),
132
- __metadata("design:returntype", Promise)
133
- ], DatabaseStoreTest.prototype, "testRememberMethodReturnsExistingValue", null);
134
- DatabaseStoreTest = __decorate([
135
- mocha_1.suite
136
- ], DatabaseStoreTest);
137
- //# sourceMappingURL=DatabaseStoreTest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DatabaseStoreTest.js","sourceRoot":"","sources":["../../../tests/Cache/DatabaseStoreTest.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=FileStoreTest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileStoreTest.d.ts","sourceRoot":"","sources":["../../../tests/Cache/FileStoreTest.ts"],"names":[],"mappings":""}