Repository navigation
Expand file tree
/
Copy pathpackage.json
More file actions
2575 lines (2575 loc) · 172 KB
/
Copy pathpackage.json
File metadata and controls
2575 lines (2575 loc) · 172 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"name": "helphone",
"version": "1.0.0",
"description": "HelPhone Community Emergency Response Web App",
"main": "server/index.ts",
"type": "module",
"scripts": {
"dev": "node scripts/dev.mjs",
"predev": "npm run zk:shard",
"dev:vite": "vite",
"server": "node --experimental-strip-types server/index.ts",
"server:js": "node server/index.js",
"start": "node --experimental-strip-types server/index.ts",
"dev:all": "node scripts/dev.mjs",
"build": "vite build",
"prebuild": "npm run zk:shard",
"preview": "vite preview",
"test": "vitest run",
"benchmark:routing": "vitest run test/routing-benchmark-spike.test.js --reporter=verbose",
"test:http2-manifest": "vitest run test/http2-manifest.test.js",
"security:lockfiles": "node scripts/verify-lockfile-hashes.js",
"security:lockfiles:offline": "node scripts/verify-lockfile-hashes.js --offline",
"security:install": "bash scripts/sandbox-install.sh",
"security:scan-lifecycle": "bash scripts/sandbox-install.sh --scan",
"security:ai-code": "node scripts/audit-ai-code.js",
"security:egress": "bash scripts/monitor-build-egress.sh -- npm run build",
"security:egress:strict": "bash scripts/monitor-build-egress.sh --strict -- npm run build",
"security:egress:audit": "bash scripts/monitor-build-egress.sh --classify artifacts/build-egress/egress-capture.log",
"security:api-drift": "node scripts/detect-api-drift.js --check",
"security:api-drift:update": "node scripts/detect-api-drift.js --update",
"security:api-drift:server": "node scripts/detect-api-drift.js --root server --check",
"security:api-drift:pin": "node scripts/detect-api-drift.js --check --require-exact-pin",
"test:server-features": "node --test server/tests/telemetry-ws.test.js",
"test:ws-cluster": "node server/tests/ws-cluster.js",
"zk:shard": "python circuits/scripts/shard-aegis.py circuits/target/aegis.json public/zk-assets",
"test:watch": "vitest",
"test:update-snapshots": "vitest run -u",
"test:e2e:throttling": "playwright test --project=throttling",
"test:layout": "playwright test --project=\"layout-*\"",
"test:layout:generate": "playwright test --project=\"layout-*\" --update-snapshots",
"lint": "eslint .",
"security:audit-deps": "node scripts/audit-deps.js",
"security:audit-deps:check": "node scripts/audit-deps.js --check",
"typecheck": "tsc --noEmit",
"export:state": "bash scripts/export-contract-state.sh",
"bindings:soroban": "node scripts/generate-soroban-bindings.js",
"prepare": "husky",
"db:migrate": "tsx server/db/migrator.ts",
"start:all": "node scripts/dev.mjs",
"build:secure": "node scripts/security/env_firewall.js --exec npx vite build",
"security:audit-bundle": "node scripts/security/env_firewall.js --audit dist",
"security:licenses": "node scripts/security/license_compliance.js",
"security:cargo": "bash scripts/security/cargo_minimal_versions.sh --check-only",
"security:typosquat": "node scripts/detect-typosquatting.js",
"security:transitive-vuln": "node scripts/transitive-vulnerability-scanner.js",
"security:wasm-verify": "bash scripts/verify-wasm-build.sh",
"security:dep-health": "node scripts/monitor-dep-health.js --offline",
"security:commits": "node scripts/security/verify_commit_signatures.js --range origin/main..HEAD",
"security:license-gate": "node scripts/license-compliance.js --no-write",
"licenses:generate": "node scripts/license-compliance.js",
"build:release": "vite build && node scripts/license-compliance.js --out dist/licenses.json",
"security:cve-patch": "node scripts/auto-patch-cve.js",
"security:cve-patch:apply": "node scripts/auto-patch-cve.js --apply",
"security:maintainer-keys": "node scripts/security/verify_maintainer_keys.js",
"build:all": "npm run build && npm run build --workspace server --if-present",
"security:binaries": "node scripts/security/strip_executables.js",
"spike:webrtc": "vitest run test/webrtc-nat-spike.test.js",
"spike:crdt-storage": "vitest run test/crdt-storage-spike.test.js",
"spike:coep": "vitest run test/coep-headers-spike.test.js",
"security:strip": "node scripts/security/strip_executables.js --strip",
"test:coverage": "vitest run --coverage",
"test:a11y": "vitest run test/a11y-components.test.jsx",
"test:e2e": "playwright test",
"test:e2e:a11y": "playwright test tests/e2e/a11y.spec.ts",
"spike:crdt": "node --expose-gc --max-old-space-size=3072 scripts/spikes/crdt_memory_profile.js --heap-snapshots --out docs/spikes/results/crdt-memory-profile.json",
"spike:zk:build": "bash circuits/recursive_verifier/build.sh 1 && bash circuits/recursive_verifier/build.sh 2 && bash circuits/recursive_verifier/build.sh 5",
"spike:zk": "node scripts/spikes/zk_aggregation_benchmark.js --out docs/spikes/results/zk-aggregation.json",
"spike:routing": "node --expose-gc --max-old-space-size=3072 scripts/spikes/routing_benchmark.js --out docs/spikes/results/routing-benchmark.json",
"spike:storage": "node scripts/spikes/storage_contention_benchmark.js --out docs/spikes/results/storage-contention.json"
},
"keywords": [],
"author": "",
"license": "ISC",
"engines": {
"node": "22.x"
},
"devDependencies": {
"@eslint/js": "^9.0.0",
"@playwright/test": "^1.62.1",
"@testing-library/jest-dom": "^7.0.0",
"@testing-library/react": "^16.3.2",
"@types/cors": "^2.8.19",
"@types/express": "^5.0.6",
"@types/node": "^22.0.0",
"@types/pg": "^8.23.1",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@types/ws": "^8.18.1",
"@vitejs/plugin-react": "^6.0.2",
"eslint": "^9.0.0",
"fake-indexeddb": "^6.2.5",
"husky": "^9.0.0",
"jsdom": "^29.1.1",
"lint-staged": "^15.0.0",
"msw": "^2.15.0",
"rollup-plugin-visualizer": "^5.14.0",
"supertest": "^7.0.0",
"tsx": "^4.19.0",
"typescript": "^7.0.2",
"vite": "^8.0.16",
"vite-plugin-pwa": "^0.21.2",
"vitest": "^4.1.10",
"@axe-core/playwright": "^4.13.0",
"@sqlite.org/sqlite-wasm": "^3.53.4-build1",
"@testing-library/dom": "^10.4.1",
"@types/morgan": "^1.9.10",
"@vitest/coverage-v8": "^4.1.10",
"compression": "~1.8.1",
"globals": "^17.11.0",
"jest-axe": "^11.0.0",
"jest-canvas-mock": "^2.5.8",
"prettier": "^3.0.0",
"yjs": "^13.6.33"
},
"dependencies": {
"@apollo/server": "^5.5.1",
"@as-integrations/express4": "^1.1.2",
"@aztec/bb.js": "^0.87.9",
"@opentelemetry/api": "^1.9.0",
"@opentelemetry/auto-instrumentations-node": "^0.67.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
"@opentelemetry/sdk-node": "^0.214.0",
"@creit-tech/stellar-wallets-kit": "^2.4.0",
"@noir-lang/noir_js": "^1.0.0-beta.9",
"@simplewebauthn/browser": "^14.0.0",
"@simplewebauthn/server": "^14.0.2",
"@stellar/stellar-sdk": "^16.0.0",
"@supabase/supabase-js": "^2.108.2",
"buffer": "^6.0.3",
"cors": "^2.8.5",
"dataloader": "^2.2.3",
"express": "^4.21.0",
"express-rate-limit": "^8.6.2",
"fuse.js": "^7.5.0",
"ioredis": "^5.4.1",
"graphql": "^16.14.2",
"mapbox-gl": "^3.25.0",
"pg": "^8.23.0",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-i18next": "^15.5.3",
"react-map-gl": "^8.1.1",
"react-router-dom": "^7.18.0",
"workbox-range-requests": "^7.4.1",
"ws": "^8.18.3",
"zod": "^3.25.76",
"@types/supercluster": "~7.1.3",
"i18next": "^25.3.2",
"morgan": "^1.12.0",
"supercluster": "~9.0.0"
},
"apiDrift": {
"packages": [
"cors",
"express",
"express-rate-limit",
"fuse.js",
"graphql",
"pg",
"react-dom"
],
"baseline": {
"cors": {
"version": "2.8.6",
"typesPackage": "@types/cors",
"typesVersion": "2.8.19",
"surface": {
"CorsOptions": "interface: CorsOptions",
"CorsOptions.allowedHeaders": "?string | string[]",
"CorsOptions.credentials": "?boolean",
"CorsOptions.exposedHeaders": "?string | string[]",
"CorsOptions.maxAge": "?number",
"CorsOptions.methods": "?string | string[]",
"CorsOptions.optionsSuccessStatus": "?number",
"CorsOptions.origin": "?StaticOrigin | CustomOrigin",
"CorsOptions.preflightContinue": "?boolean",
"CorsOptionsDelegate": "type: CorsOptionsDelegate<T>",
"CorsRequest": "interface: CorsRequest",
"CorsRequest.headers": "IncomingHttpHeaders",
"CorsRequest.method": "?string",
"module": "function: <T extends e.CorsRequest = CorsRequest>(options?: CorsOptions | CorsOptionsDelegate<T>): (req: T, res: { statusCode?: number; setHeader(key: string, value: string): any; end(): any; }, next: (err?: any) => any) => void"
}
},
"express": {
"version": "4.22.2",
"typesPackage": "@types/express",
"typesVersion": "4.17.25",
"surface": {
"Application": "interface: Application",
"Application._router": "any",
"Application.addListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Application",
"Application.all": "IRouterMatcher<Application, \"all\">",
"Application.checkout": "IRouterMatcher<Application, any>",
"Application.connect": "IRouterMatcher<Application, any>",
"Application.copy": "IRouterMatcher<Application, any>",
"Application.defaultConfiguration": "() => void",
"Application.delete": "IRouterMatcher<Application, \"delete\">",
"Application.disable": "(setting: string) => Application",
"Application.disabled": "(setting: string) => boolean",
"Application.emit": "<K>(eventName: string | symbol, ...args: AnyRest) => boolean",
"Application.enable": "(setting: string) => Application",
"Application.enabled": "(setting: string) => boolean",
"Application.engine": "(ext: string, fn: (path: string, options: object, callback: (e: any, rendered?: string) => void) => void) => Application",
"Application.eventNames": "() => (string | symbol)[]",
"Application.get": "((name: string) => any) & IRouterMatcher<Application, any>",
"Application.getMaxListeners": "() => number",
"Application.head": "IRouterMatcher<Application, \"head\">",
"Application.init": "() => void",
"Application.link": "IRouterMatcher<Application, any>",
"Application.listen": "{ (port: number, hostname: string, backlog: number, callback?: () => void): Server<typeof IncomingMessage, typeof ServerResponse>; (port: number, hostname: string, callback?: () => void): Server<...>; (port: number, callback?: () => void): Server<...>; (callback?: () => void): Server<...>; (path: string, callback?: ...",
"Application.listenerCount": "<K>(eventName: string | symbol, listener?: Function) => number",
"Application.listeners": "<K>(eventName: string | symbol) => Function[]",
"Application.locals": "Record<string, any> & Locals",
"Application.lock": "IRouterMatcher<Application, any>",
"Application.m-search": "IRouterMatcher<Application, any>",
"Application.map": "any",
"Application.merge": "IRouterMatcher<Application, any>",
"Application.mkactivity": "IRouterMatcher<Application, any>",
"Application.mkcol": "IRouterMatcher<Application, any>",
"Application.mountpath": "string | string[]",
"Application.move": "IRouterMatcher<Application, any>",
"Application.notify": "IRouterMatcher<Application, any>",
"Application.off": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Application",
"Application.on": "(event: \"mount\", callback: (parent: Application<Record<string, any>>) => void) => Application",
"Application.once": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Application",
"Application.options": "IRouterMatcher<Application, \"options\">",
"Application.param": "{ (name: string | string[], handler: RequestParamHandler): Application; (callback: (name: string, matcher: RegExp) => RequestParamHandler): Application; }",
"Application.patch": "IRouterMatcher<Application, \"patch\">",
"Application.path": "() => string",
"Application.post": "IRouterMatcher<Application, \"post\">",
"Application.prependListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Application",
"Application.prependOnceListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Application",
"Application.propfind": "IRouterMatcher<Application, any>",
"Application.proppatch": "IRouterMatcher<Application, any>",
"Application.purge": "IRouterMatcher<Application, any>",
"Application.put": "IRouterMatcher<Application, \"put\">",
"Application.query": "?IRouterMatcher<Application, \"query\">",
"Application.rawListeners": "<K>(eventName: string | symbol) => Function[]",
"Application.removeAllListeners": "(eventName?: string | symbol) => Application",
"Application.removeListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Application",
"Application.render": "{ (name: string, options?: object, callback?: (err: Error, html: string) => void): void; (name: string, callback: (err: Error, html: string) => void): void; }",
"Application.report": "IRouterMatcher<Application, any>",
"Application.resource": "any",
"Application.route": "{ <T extends string>(prefix: T): IRoute<T>; (prefix: PathParams): IRoute<string>; }",
"Application.router": "string",
"Application.routes": "any",
"Application.search": "IRouterMatcher<Application, any>",
"Application.set": "(setting: string, val: any) => Application",
"Application.setMaxListeners": "(n: number) => Application",
"Application.settings": "any",
"Application.stack": "ILayer[]",
"Application.subscribe": "IRouterMatcher<Application, any>",
"Application.trace": "IRouterMatcher<Application, any>",
"Application.unlink": "IRouterMatcher<Application, any>",
"Application.unlock": "IRouterMatcher<Application, any>",
"Application.unsubscribe": "IRouterMatcher<Application, any>",
"Application.use": "ApplicationRequestHandler<Application>",
"CookieOptions": "interface: CookieOptions",
"CookieOptions.domain": "?string",
"CookieOptions.encode": "?(val: string) => string",
"CookieOptions.expires": "?Date",
"CookieOptions.httpOnly": "?boolean",
"CookieOptions.maxAge": "?number",
"CookieOptions.partitioned": "?boolean",
"CookieOptions.path": "?string",
"CookieOptions.priority": "?\"low\" | \"medium\" | \"high\"",
"CookieOptions.sameSite": "?boolean | \"lax\" | \"strict\" | \"none\"",
"CookieOptions.secure": "?boolean",
"CookieOptions.signed": "?boolean",
"Errback": "interface: Errback",
"ErrorRequestHandler": "interface: ErrorRequestHandler<P, ResBody, ReqBody, ReqQuery, Locals>",
"Express": "interface: Express",
"Express._router": "any",
"Express.addListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Express",
"Express.all": "IRouterMatcher<Express, \"all\">",
"Express.checkout": "IRouterMatcher<Express, any>",
"Express.connect": "IRouterMatcher<Express, any>",
"Express.copy": "IRouterMatcher<Express, any>",
"Express.defaultConfiguration": "() => void",
"Express.delete": "IRouterMatcher<Express, \"delete\">",
"Express.disable": "(setting: string) => Express",
"Express.disabled": "(setting: string) => boolean",
"Express.emit": "<K>(eventName: string | symbol, ...args: AnyRest) => boolean",
"Express.enable": "(setting: string) => Express",
"Express.enabled": "(setting: string) => boolean",
"Express.engine": "(ext: string, fn: (path: string, options: object, callback: (e: any, rendered?: string) => void) => void) => Express",
"Express.eventNames": "() => (string | symbol)[]",
"Express.get": "((name: string) => any) & IRouterMatcher<Express, any>",
"Express.getMaxListeners": "() => number",
"Express.head": "IRouterMatcher<Express, \"head\">",
"Express.init": "() => void",
"Express.link": "IRouterMatcher<Express, any>",
"Express.listen": "{ (port: number, hostname: string, backlog: number, callback?: () => void): Server<typeof IncomingMessage, typeof ServerResponse>; (port: number, hostname: string, callback?: () => void): Server<...>; (port: number, callback?: () => void): Server<...>; (callback?: () => void): Server<...>; (path: string, callback?: ...",
"Express.listenerCount": "<K>(eventName: string | symbol, listener?: Function) => number",
"Express.listeners": "<K>(eventName: string | symbol) => Function[]",
"Express.locals": "Record<string, any> & Locals",
"Express.lock": "IRouterMatcher<Express, any>",
"Express.m-search": "IRouterMatcher<Express, any>",
"Express.map": "any",
"Express.merge": "IRouterMatcher<Express, any>",
"Express.mkactivity": "IRouterMatcher<Express, any>",
"Express.mkcol": "IRouterMatcher<Express, any>",
"Express.mountpath": "string | string[]",
"Express.move": "IRouterMatcher<Express, any>",
"Express.notify": "IRouterMatcher<Express, any>",
"Express.off": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Express",
"Express.on": "(event: \"mount\", callback: (parent: Application<Record<string, any>>) => void) => Express",
"Express.once": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Express",
"Express.options": "IRouterMatcher<Express, \"options\">",
"Express.param": "{ (name: string | string[], handler: RequestParamHandler): Express; (callback: (name: string, matcher: RegExp) => RequestParamHandler): Express; }",
"Express.patch": "IRouterMatcher<Express, \"patch\">",
"Express.path": "() => string",
"Express.post": "IRouterMatcher<Express, \"post\">",
"Express.prependListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Express",
"Express.prependOnceListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Express",
"Express.propfind": "IRouterMatcher<Express, any>",
"Express.proppatch": "IRouterMatcher<Express, any>",
"Express.purge": "IRouterMatcher<Express, any>",
"Express.put": "IRouterMatcher<Express, \"put\">",
"Express.query": "?IRouterMatcher<Express, \"query\">",
"Express.rawListeners": "<K>(eventName: string | symbol) => Function[]",
"Express.removeAllListeners": "(eventName?: string | symbol) => Express",
"Express.removeListener": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Express",
"Express.render": "{ (name: string, options?: object, callback?: (err: Error, html: string) => void): void; (name: string, callback: (err: Error, html: string) => void): void; }",
"Express.report": "IRouterMatcher<Express, any>",
"Express.request": "Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>",
"Express.resource": "any",
"Express.response": "Response<any, Record<string, any>, number>",
"Express.route": "{ <T extends string>(prefix: T): IRoute<T>; (prefix: PathParams): IRoute<string>; }",
"Express.router": "string",
"Express.routes": "any",
"Express.search": "IRouterMatcher<Express, any>",
"Express.set": "(setting: string, val: any) => Express",
"Express.setMaxListeners": "(n: number) => Express",
"Express.settings": "any",
"Express.stack": "ILayer[]",
"Express.subscribe": "IRouterMatcher<Express, any>",
"Express.trace": "IRouterMatcher<Express, any>",
"Express.unlink": "IRouterMatcher<Express, any>",
"Express.unlock": "IRouterMatcher<Express, any>",
"Express.unsubscribe": "IRouterMatcher<Express, any>",
"Express.use": "ApplicationRequestHandler<Express>",
"Handler": "interface: Handler",
"IRoute": "interface: IRoute",
"IRoute.all": "IRouterHandler<IRoute, string>",
"IRoute.checkout": "IRouterHandler<IRoute, string>",
"IRoute.copy": "IRouterHandler<IRoute, string>",
"IRoute.delete": "IRouterHandler<IRoute, string>",
"IRoute.get": "IRouterHandler<IRoute, string>",
"IRoute.head": "IRouterHandler<IRoute, string>",
"IRoute.lock": "IRouterHandler<IRoute, string>",
"IRoute.m-search": "IRouterHandler<IRoute, string>",
"IRoute.merge": "IRouterHandler<IRoute, string>",
"IRoute.mkactivity": "IRouterHandler<IRoute, string>",
"IRoute.mkcol": "IRouterHandler<IRoute, string>",
"IRoute.move": "IRouterHandler<IRoute, string>",
"IRoute.notify": "IRouterHandler<IRoute, string>",
"IRoute.options": "IRouterHandler<IRoute, string>",
"IRoute.patch": "IRouterHandler<IRoute, string>",
"IRoute.path": "string",
"IRoute.post": "IRouterHandler<IRoute, string>",
"IRoute.purge": "IRouterHandler<IRoute, string>",
"IRoute.put": "IRouterHandler<IRoute, string>",
"IRoute.report": "IRouterHandler<IRoute, string>",
"IRoute.search": "IRouterHandler<IRoute, string>",
"IRoute.stack": "ILayer[]",
"IRoute.subscribe": "IRouterHandler<IRoute, string>",
"IRoute.trace": "IRouterHandler<IRoute, string>",
"IRoute.unlock": "IRouterHandler<IRoute, string>",
"IRoute.unsubscribe": "IRouterHandler<IRoute, string>",
"IRouter": "interface: IRouter",
"IRouter.all": "IRouterMatcher<IRouter, \"all\">",
"IRouter.checkout": "IRouterMatcher<IRouter, any>",
"IRouter.connect": "IRouterMatcher<IRouter, any>",
"IRouter.copy": "IRouterMatcher<IRouter, any>",
"IRouter.delete": "IRouterMatcher<IRouter, \"delete\">",
"IRouter.get": "IRouterMatcher<IRouter, \"get\">",
"IRouter.head": "IRouterMatcher<IRouter, \"head\">",
"IRouter.link": "IRouterMatcher<IRouter, any>",
"IRouter.lock": "IRouterMatcher<IRouter, any>",
"IRouter.m-search": "IRouterMatcher<IRouter, any>",
"IRouter.merge": "IRouterMatcher<IRouter, any>",
"IRouter.mkactivity": "IRouterMatcher<IRouter, any>",
"IRouter.mkcol": "IRouterMatcher<IRouter, any>",
"IRouter.move": "IRouterMatcher<IRouter, any>",
"IRouter.notify": "IRouterMatcher<IRouter, any>",
"IRouter.options": "IRouterMatcher<IRouter, \"options\">",
"IRouter.param": "{ (name: string, handler: RequestParamHandler): IRouter; (callback: (name: string, matcher: RegExp) => RequestParamHandler): IRouter; }",
"IRouter.patch": "IRouterMatcher<IRouter, \"patch\">",
"IRouter.post": "IRouterMatcher<IRouter, \"post\">",
"IRouter.propfind": "IRouterMatcher<IRouter, any>",
"IRouter.proppatch": "IRouterMatcher<IRouter, any>",
"IRouter.purge": "IRouterMatcher<IRouter, any>",
"IRouter.put": "IRouterMatcher<IRouter, \"put\">",
"IRouter.query": "?IRouterMatcher<IRouter, \"query\">",
"IRouter.report": "IRouterMatcher<IRouter, any>",
"IRouter.route": "{ <T extends string>(prefix: T): IRoute<T>; (prefix: PathParams): IRoute<string>; }",
"IRouter.search": "IRouterMatcher<IRouter, any>",
"IRouter.stack": "ILayer[]",
"IRouter.subscribe": "IRouterMatcher<IRouter, any>",
"IRouter.trace": "IRouterMatcher<IRouter, any>",
"IRouter.unlink": "IRouterMatcher<IRouter, any>",
"IRouter.unlock": "IRouterMatcher<IRouter, any>",
"IRouter.unsubscribe": "IRouterMatcher<IRouter, any>",
"IRouter.use": "IRouterHandler<IRouter, string> & IRouterMatcher<IRouter, any>",
"IRouterHandler": "interface: IRouterHandler<T>",
"IRouterMatcher": "interface: IRouterMatcher<T>",
"Locals": "interface: Locals",
"MediaType": "interface: MediaType",
"MediaType.quality": "number",
"MediaType.subtype": "string",
"MediaType.type": "string",
"MediaType.value": "string",
"NextFunction": "interface: NextFunction",
"Request": "interface: Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request._construct": "?(callback: (error?: Error) => void) => void",
"Request._destroy": "(error: Error, callback: (error?: Error) => void) => void",
"Request._read": "(size: number) => void",
"Request.aborted": "boolean",
"Request.accepted": "MediaType[]",
"Request.accepts": "{ (): string[]; (type: string): string | false; (type: string[]): string | false; (...type: string[]): string | false; }",
"Request.acceptsCharsets": "{ (): string[]; (charset: string): string | false; (charset: string[]): string | false; (...charset: string[]): string | false; }",
"Request.acceptsEncodings": "{ (): string[]; (encoding: string): string | false; (encoding: string[]): string | false; (...encoding: string[]): string | false; }",
"Request.acceptsLanguages": "{ (): string[]; (lang: string): string | false; (lang: string[]): string | false; (...lang: string[]): string | false; }",
"Request.addListener": "{ (event: \"close\", listener: () => void): Request<P, ResBody, ReqBody, ReqQuery, Locals>; (event: \"data\", listener: (chunk: any) => void): Request<...>; (event: \"end\", listener: () => void): Request<...>; (event: \"error\", listener: (err: Error) => void): Request<...>; (event: \"pause\", listener: () => void): Request<...",
"Request.app": "Application<Record<string, any>>",
"Request.asIndexedPairs": "(options?: Pick<ArrayOptions, \"signal\">) => Readable",
"Request.baseUrl": "string",
"Request.body": "ReqBody",
"Request.closed": "boolean",
"Request.complete": "boolean",
"Request.compose": "<T extends NodeJS.ReadableStream>(stream: T | ComposeFnParam | Iterable<T> | AsyncIterable<T>, options?: { signal: AbortSignal; }) => T",
"Request.connection": "Socket",
"Request.cookies": "any",
"Request.destroy": "(error?: Error) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.destroyed": "boolean",
"Request.drop": "(limit: number, options?: Pick<ArrayOptions, \"signal\">) => Readable",
"Request.emit": "{ (event: \"close\"): boolean; (event: \"data\", chunk: any): boolean; (event: \"end\"): boolean; (event: \"error\", err: Error): boolean; (event: \"pause\"): boolean; (event: \"readable\"): boolean; (event: \"resume\"): boolean; (event: string | symbol, ...args: any[]): boolean; }",
"Request.errored": "Error",
"Request.eventNames": "() => (string | symbol)[]",
"Request.every": "(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<boolean>, options?: ArrayOptions) => Promise<boolean>",
"Request.filter": "(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<boolean>, options?: ArrayOptions) => Readable",
"Request.find": "{ <T>(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => data is T, options?: ArrayOptions): Promise<T>; (fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<...>, options?: ArrayOptions): Promise<...>; }",
"Request.flatMap": "(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => any, options?: ArrayOptions) => Readable",
"Request.forEach": "(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => void | Promise<void>, options?: ArrayOptions) => Promise<void>",
"Request.fresh": "boolean",
"Request.get": "{ (name: \"set-cookie\"): string[]; (name: string): string; }",
"Request.getMaxListeners": "() => number",
"Request.header": "{ (name: \"set-cookie\"): string[]; (name: string): string; }",
"Request.headers": "IncomingHttpHeaders",
"Request.headersDistinct": "Dict<string[]>",
"Request.host": "string",
"Request.hostname": "string",
"Request.httpVersion": "string",
"Request.httpVersionMajor": "number",
"Request.httpVersionMinor": "number",
"Request.ip": "string",
"Request.ips": "string[]",
"Request.is": "(type: string | string[]) => string | false",
"Request.isPaused": "() => boolean",
"Request.iterator": "(options?: { destroyOnReturn?: boolean; }) => AsyncIterator<any, any, any>",
"Request.listenerCount": "<K>(eventName: string | symbol, listener?: Function) => number",
"Request.listeners": "<K>(eventName: string | symbol) => Function[]",
"Request.map": "(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => any, options?: ArrayOptions) => Readable",
"Request.method": "string",
"Request.next": "?NextFunction",
"Request.off": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.on": "{ (event: \"close\", listener: () => void): Request<P, ResBody, ReqBody, ReqQuery, Locals>; (event: \"data\", listener: (chunk: any) => void): Request<...>; (event: \"end\", listener: () => void): Request<...>; (event: \"error\", listener: (err: Error) => void): Request<...>; (event: \"pause\", listener: () => void): Request<...",
"Request.once": "{ (event: \"close\", listener: () => void): Request<P, ResBody, ReqBody, ReqQuery, Locals>; (event: \"data\", listener: (chunk: any) => void): Request<...>; (event: \"end\", listener: () => void): Request<...>; (event: \"error\", listener: (err: Error) => void): Request<...>; (event: \"pause\", listener: () => void): Request<...",
"Request.originalUrl": "string",
"Request.param": "(name: string, defaultValue?: any) => string",
"Request.params": "P",
"Request.path": "string",
"Request.pause": "() => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.pipe": "<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }) => T",
"Request.prependListener": "{ (event: \"close\", listener: () => void): Request<P, ResBody, ReqBody, ReqQuery, Locals>; (event: \"data\", listener: (chunk: any) => void): Request<...>; (event: \"end\", listener: () => void): Request<...>; (event: \"error\", listener: (err: Error) => void): Request<...>; (event: \"pause\", listener: () => void): Request<...",
"Request.prependOnceListener": "{ (event: \"close\", listener: () => void): Request<P, ResBody, ReqBody, ReqQuery, Locals>; (event: \"data\", listener: (chunk: any) => void): Request<...>; (event: \"end\", listener: () => void): Request<...>; (event: \"error\", listener: (err: Error) => void): Request<...>; (event: \"pause\", listener: () => void): Request<...",
"Request.protocol": "string",
"Request.push": "(chunk: any, encoding?: BufferEncoding) => boolean",
"Request.query": "ReqQuery",
"Request.range": "(size: number, options?: Options) => Ranges | Result",
"Request.rawHeaders": "string[]",
"Request.rawListeners": "<K>(eventName: string | symbol) => Function[]",
"Request.rawTrailers": "string[]",
"Request.read": "(size?: number) => any",
"Request.readable": "boolean",
"Request.readableAborted": "boolean",
"Request.readableDidRead": "boolean",
"Request.readableEncoding": "BufferEncoding",
"Request.readableEnded": "boolean",
"Request.readableFlowing": "boolean",
"Request.readableHighWaterMark": "number",
"Request.readableLength": "number",
"Request.readableObjectMode": "boolean",
"Request.reduce": "{ <T = any>(fn: (previous: any, data: any, options?: Pick<ArrayOptions, \"signal\">) => T, initial?: undefined, options?: Pick<ArrayOptions, \"signal\">): Promise<...>; <T = any>(fn: (previous: T, data: any, options?: Pick<...>) => T, initial: T, options?: Pick<...>): Promise<...>; }",
"Request.removeAllListeners": "(eventName?: string | symbol) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.removeListener": "{ (event: \"close\", listener: () => void): Request<P, ResBody, ReqBody, ReqQuery, Locals>; (event: \"data\", listener: (chunk: any) => void): Request<...>; (event: \"end\", listener: () => void): Request<...>; (event: \"error\", listener: (err: Error) => void): Request<...>; (event: \"pause\", listener: () => void): Request<...",
"Request.res": "?Response<ResBody, Locals, number>",
"Request.resume": "() => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.route": "any",
"Request.secure": "boolean",
"Request.setEncoding": "(encoding: BufferEncoding) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.setMaxListeners": "(n: number) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.setTimeout": "(msecs: number, callback?: () => void) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.signedCookies": "any",
"Request.socket": "Socket",
"Request.some": "(fn: (data: any, options?: Pick<ArrayOptions, \"signal\">) => boolean | Promise<boolean>, options?: ArrayOptions) => Promise<boolean>",
"Request.stale": "boolean",
"Request.statusCode": "?number",
"Request.statusMessage": "?string",
"Request.subdomains": "string[]",
"Request.take": "(limit: number, options?: Pick<ArrayOptions, \"signal\">) => Readable",
"Request.toArray": "(options?: Pick<ArrayOptions, \"signal\">) => Promise<any[]>",
"Request.trailers": "Dict<string>",
"Request.trailersDistinct": "Dict<string[]>",
"Request.unpipe": "(destination?: WritableStream) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.unshift": "(chunk: any, encoding?: BufferEncoding) => void",
"Request.url": "string",
"Request.wrap": "(stream: ReadableStream) => Request<P, ResBody, ReqBody, ReqQuery, Locals>",
"Request.xhr": "boolean",
"RequestHandler": "interface: RequestHandler<P, ResBody, ReqBody, ReqQuery, Locals>",
"RequestParamHandler": "interface: RequestParamHandler",
"Response": "interface: Response<ResBody, Locals>",
"Response._construct": "?(callback: (error?: Error) => void) => void",
"Response._destroy": "(error: Error, callback: (error?: Error) => void) => void",
"Response._final": "(callback: (error?: Error) => void) => void",
"Response._write": "(chunk: any, encoding: BufferEncoding, callback: (error?: Error) => void) => void",
"Response._writev": "?(chunks: { chunk: any; encoding: BufferEncoding; }[], callback: (error?: Error) => void) => void",
"Response.addListener": "{ (event: \"close\", listener: () => void): Response<ResBody, Locals>; (event: \"drain\", listener: () => void): Response<ResBody, Locals>; (event: \"error\", listener: (err: Error) => void): Response<...>; (event: \"finish\", listener: () => void): Response<...>; (event: \"pipe\", listener: (src: Readable) => void): Response...",
"Response.addTrailers": "(headers: OutgoingHttpHeaders | readonly [string, string][]) => void",
"Response.app": "Application<Record<string, any>>",
"Response.append": "(field: string, value?: string | string[]) => Response<ResBody, Locals>",
"Response.appendHeader": "(name: string, value: string | readonly string[]) => Response<ResBody, Locals>",
"Response.assignSocket": "(socket: Socket) => void",
"Response.attachment": "(filename?: string) => Response<ResBody, Locals>",
"Response.charset": "string",
"Response.chunkedEncoding": "boolean",
"Response.clearCookie": "(name: string, options?: CookieOptions) => Response<ResBody, Locals>",
"Response.closed": "boolean",
"Response.compose": "<T extends NodeJS.ReadableStream>(stream: ComposeFnParam | T | Iterable<T> | AsyncIterable<T>, options?: { signal: AbortSignal; }) => T",
"Response.connection": "Socket",
"Response.contentType": "(type: string) => Response<ResBody, Locals>",
"Response.cookie": "{ (name: string, val: string, options: CookieOptions): Response<ResBody, Locals>; (name: string, val: any, options: CookieOptions): Response<...>; (name: string, val: any): Response<...>; }",
"Response.cork": "() => void",
"Response.destroy": "(error?: Error) => Response<ResBody, Locals>",
"Response.destroyed": "boolean",
"Response.detachSocket": "(socket: Socket) => void",
"Response.download": "{ (path: string, fn?: Errback): void; (path: string, filename: string, fn?: Errback): void; (path: string, filename: string, options: DownloadOptions, fn?: Errback): void; }",
"Response.emit": "{ (event: \"close\"): boolean; (event: \"drain\"): boolean; (event: \"error\", err: Error): boolean; (event: \"finish\"): boolean; (event: \"pipe\", src: Readable): boolean; (event: \"unpipe\", src: Readable): boolean; (event: string | symbol, ...args: any[]): boolean; }",
"Response.end": "{ (cb?: () => void): Response<ResBody, Locals>; (chunk: any, cb?: () => void): Response<ResBody, Locals>; (chunk: any, encoding: BufferEncoding, cb?: () => void): Response<...>; }",
"Response.errored": "Error",
"Response.eventNames": "() => (string | symbol)[]",
"Response.finished": "boolean",
"Response.flushHeaders": "() => void",
"Response.format": "(obj: any) => Response<ResBody, Locals>",
"Response.get": "(field: string) => string",
"Response.getHeader": "(name: string) => string | number | string[]",
"Response.getHeaderNames": "() => string[]",
"Response.getHeaders": "() => OutgoingHttpHeaders",
"Response.getMaxListeners": "() => number",
"Response.hasHeader": "(name: string) => boolean",
"Response.header": "{ (field: any): Response<ResBody, Locals>; (field: string, value?: string | string[]): Response<ResBody, Locals>; }",
"Response.headersSent": "boolean",
"Response.json": "Send<ResBody, Response<ResBody, Locals>>",
"Response.jsonp": "Send<ResBody, Response<ResBody, Locals>>",
"Response.links": "(links: any) => Response<ResBody, Locals>",
"Response.listenerCount": "<K>(eventName: string | symbol, listener?: Function) => number",
"Response.listeners": "<K>(eventName: string | symbol) => Function[]",
"Response.locals": "Locals & Locals",
"Response.location": "(url: string) => Response<ResBody, Locals>",
"Response.off": "<K>(eventName: string | symbol, listener: (...args: any[]) => void) => Response<ResBody, Locals>",
"Response.on": "{ (event: \"close\", listener: () => void): Response<ResBody, Locals>; (event: \"drain\", listener: () => void): Response<ResBody, Locals>; (event: \"error\", listener: (err: Error) => void): Response<...>; (event: \"finish\", listener: () => void): Response<...>; (event: \"pipe\", listener: (src: Readable) => void): Response...",
"Response.once": "{ (event: \"close\", listener: () => void): Response<ResBody, Locals>; (event: \"drain\", listener: () => void): Response<ResBody, Locals>; (event: \"error\", listener: (err: Error) => void): Response<...>; (event: \"finish\", listener: () => void): Response<...>; (event: \"pipe\", listener: (src: Readable) => void): Response...",
"Response.pipe": "<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }) => T",
"Response.prependListener": "{ (event: \"close\", listener: () => void): Response<ResBody, Locals>; (event: \"drain\", listener: () => void): Response<ResBody, Locals>; (event: \"error\", listener: (err: Error) => void): Response<...>; (event: \"finish\", listener: () => void): Response<...>; (event: \"pipe\", listener: (src: Readable) => void): Response...",
"Response.prependOnceListener": "{ (event: \"close\", listener: () => void): Response<ResBody, Locals>; (event: \"drain\", listener: () => void): Response<ResBody, Locals>; (event: \"error\", listener: (err: Error) => void): Response<...>; (event: \"finish\", listener: () => void): Response<...>; (event: \"pipe\", listener: (src: Readable) => void): Response...",
"Response.rawListeners": "<K>(eventName: string | symbol) => Function[]",
"Response.redirect": "{ (url: string): void; (status: number, url: string): void; (url: string, status: number): void; }",
"Response.removeAllListeners": "(eventName?: string | symbol) => Response<ResBody, Locals>",
"Response.removeHeader": "(name: string) => void",
"Response.removeListener": "{ (event: \"close\", listener: () => void): Response<ResBody, Locals>; (event: \"drain\", listener: () => void): Response<ResBody, Locals>; (event: \"error\", listener: (err: Error) => void): Response<...>; (event: \"finish\", listener: () => void): Response<...>; (event: \"pipe\", listener: (src: Readable) => void): Response...",
"Response.render": "{ (view: string, options?: object, callback?: (err: Error, html: string) => void): void; (view: string, callback?: (err: Error, html: string) => void): void; }",
"Response.req": "Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>",
"Response.send": "Send<ResBody, Response<ResBody, Locals>>",
"Response.sendDate": "boolean",
"Response.sendFile": "{ (path: string, fn?: Errback): void; (path: string, options: SendFileOptions, fn?: Errback): void; }",
"Response.sendStatus": "(code: number) => Response<ResBody, Locals>",
"Response.sendfile": "{ (path: string): void; (path: string, options: SendFileOptions): void; (path: string, fn: Errback): void; (path: string, options: SendFileOptions, fn: Errback): void; }",
"Response.set": "{ (field: any): Response<ResBody, Locals>; (field: string, value?: string | string[]): Response<ResBody, Locals>; }",
"Response.setDefaultEncoding": "(encoding: BufferEncoding) => Response<ResBody, Locals>",
"Response.setHeader": "(name: string, value: string | number | readonly string[]) => Response<ResBody, Locals>",
"Response.setHeaders": "(headers: Headers | Map<string, string | number | readonly string[]>) => Response<ResBody, Locals>",
"Response.setMaxListeners": "(n: number) => Response<ResBody, Locals>",
"Response.setTimeout": "(msecs: number, callback?: () => void) => Response<ResBody, Locals>",
"Response.shouldKeepAlive": "boolean",
"Response.socket": "Socket",
"Response.status": "(code: number) => Response<ResBody, Locals>",
"Response.statusCode": "number",
"Response.statusMessage": "string",
"Response.strictContentLength": "boolean",
"Response.type": "(type: string) => Response<ResBody, Locals>",
"Response.uncork": "() => void",
"Response.useChunkedEncodingByDefault": "boolean",
"Response.vary": "(field: string) => Response<ResBody, Locals>",
"Response.writable": "boolean",
"Response.writableAborted": "boolean",
"Response.writableCorked": "number",
"Response.writableEnded": "boolean",
"Response.writableFinished": "boolean",
"Response.writableHighWaterMark": "number",
"Response.writableLength": "number",
"Response.writableNeedDrain": "boolean",
"Response.writableObjectMode": "boolean",
"Response.write": "{ (chunk: any, callback?: (error: Error) => void): boolean; (chunk: any, encoding: BufferEncoding, callback?: (error: Error) => void): boolean; }",
"Response.writeContinue": "(callback?: () => void) => void",
"Response.writeEarlyHints": "(hints: Record<string, string | string[]>, callback?: () => void) => void",
"Response.writeHead": "{ (statusCode: number, statusMessage?: string, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): Response<ResBody, Locals>; (statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): Response<...>; }",
"Response.writeProcessing": "(callback?: () => void) => void",
"Router": "function: (options?: RouterOptions): Router",
"RouterOptions": "interface: RouterOptions",
"RouterOptions.caseSensitive": "?boolean",
"RouterOptions.mergeParams": "?boolean",
"RouterOptions.strict": "?boolean",
"Send": "interface: Send",
"application": "function: (req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>> | IncomingMessage, res: Response<any, Record<...>, number> | ServerResponse<...>): any",
"application#1": "function: (req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>, number>, next: NextFunction): void",
"json": "function: (options?: OptionsJson): NextHandleFunction",
"module": "function: (): Express",
"query": "function: (options: IParseOptions<undefined> | { (str: string, options?: IParseOptions<BooleanOptional> & { decoder?: undefined; }): ParsedQs; (str: string | Record<...>, options?: IParseOptions<...>): { ...; }; }): Handler",
"raw": "function: (options?: Options): NextHandleFunction",
"request": "const: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>",
"response": "const: Response<any, Record<string, any>>",
"static": "function: (root: string, options?: ServeStaticOptions<Response<any, Record<string, any>>>): RequestHandler<Response<any, Record<string, any>>>",
"text": "function: (options?: OptionsText): NextHandleFunction",
"urlencoded": "function: (options?: OptionsUrlencoded): NextHandleFunction"
}
},
"express-rate-limit": {
"version": "8.7.0",
"surface": {
"AugmentedRequest": "type: AugmentedRequest",
"Client": "type: Client",
"ClientRateLimitInfo": "type: ClientRateLimitInfo",
"DAY": "const: number",
"DraftHeadersVersion": "type: \"draft-6\" | \"draft-7\" | \"draft-8\"",
"EnabledValidations": "type: EnabledValidations",
"HOUR": "const: number",
"IncrementCallback": "type: IncrementCallback",
"IncrementResponse": "type: ClientRateLimitInfo",
"LegacyStore": "type: LegacyStore",
"Logger": "type: Logger",
"LoggerFn": "type: LoggerFn",
"MINUTE": "const: number",
"MemoryStore": "class: MemoryStore",
"MemoryStore.clearExpired": "any",
"MemoryStore.current": "Map<string, Client>",
"MemoryStore.decrement": "(key: string) => Promise<void>",
"MemoryStore.get": "(key: string) => Promise<ClientRateLimitInfo>",
"MemoryStore.getClient": "any",
"MemoryStore.increment": "(key: string) => Promise<ClientRateLimitInfo>",
"MemoryStore.init": "(options: Options) => void",
"MemoryStore.interval": "?Timeout",
"MemoryStore.localKeys": "boolean",
"MemoryStore.previous": "Map<string, Client>",
"MemoryStore.resetAll": "() => Promise<void>",
"MemoryStore.resetClient": "any",
"MemoryStore.resetKey": "(key: string) => Promise<void>",
"MemoryStore.shutdown": "() => void",
"MemoryStore.validations": "?any",
"MemoryStore.windowMs": "number",
"Options": "type: Options",
"RateLimitExceededEventHandler": "type: RateLimitExceededEventHandler",
"RateLimitInfo": "type: RateLimitInfo",
"RateLimitReachedEventHandler": "type: RateLimitReachedEventHandler",
"RateLimitRequestHandler": "type: RateLimitRequestHandler",
"SECOND": "const: number",
"Store": "type: Store",
"Validations": "type: { enabled: { [key: string]: boolean; }; disable(): void; ip(ip: string): void; trustProxy(request: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>): void; ... 16 more ...; windowMs(windowMs: number): void; }",
"ValueDeterminingMiddleware": "type: ValueDeterminingMiddleware<T>",
"ipKeyGenerator": "function: (ip: string, ipv6Subnet?: number | false): string",
"rateLimit": "function: (passedOptions?: Partial<Options>): RateLimitRequestHandler"
}
},
"fuse.js": {
"version": "7.5.0",
"surface": {
"Expression": "type: Expression",
"FuseGetFunction": "type: FuseGetFunction<T>",
"FuseIndex": "class: FuseIndex<T>",
"FuseIndex._createObjectRecord": "(doc: any, docIndex: number) => IndexRecord",
"FuseIndex._createStringRecord": "(doc: string, docIndex: number) => IndexRecord",
"FuseIndex._keysMap": "Record<string, number>",
"FuseIndex.add": "(doc: T, docIndex: number) => IndexRecord",
"FuseIndex.create": "() => void",
"FuseIndex.docs": "readonly T[]",
"FuseIndex.getFn": "GetFunction",
"FuseIndex.getValueForItemAtKeyId": "(item: any, keyId: string) => any",
"FuseIndex.isCreated": "boolean",
"FuseIndex.keys": "KeyObject[]",
"FuseIndex.norm": "NormInterface",
"FuseIndex.records": "IndexRecord[]",
"FuseIndex.removeAll": "(indices: number[]) => void",
"FuseIndex.removeAt": "(idx: number) => void",
"FuseIndex.setIndexRecords": "(records?: IndexRecord[]) => void",
"FuseIndex.setKeys": "(keys?: KeyObject[]) => void",
"FuseIndex.setSources": "(docs?: readonly T[]) => void",
"FuseIndex.size": "() => number",
"FuseIndex.toJSON": "() => { keys: readonly Omit<KeyObject, \"getFn\">[]; records: IndexRecord[]; }",
"FuseIndexObjectRecord": "interface: FuseIndexObjectRecord",
"FuseIndexObjectRecord.$": "RecordEntry",
"FuseIndexObjectRecord.i": "number",
"FuseIndexOptions": "interface: FuseIndexOptions<T>",
"FuseIndexOptions.fieldNormWeight": "?number",
"FuseIndexOptions.getFn": "?FuseGetFunction<T>",
"FuseIndexRecords": "type: FuseIndexRecords",
"FuseIndexStringRecord": "interface: FuseIndexStringRecord",
"FuseIndexStringRecord.i": "number",
"FuseIndexStringRecord.n": "number",
"FuseIndexStringRecord.v": "string",
"FuseOptionKey": "type: FuseOptionKey<T>",
"FuseOptionKeyObject": "interface: FuseOptionKeyObject<T>",
"FuseOptionKeyObject.getFn": "?(obj: T) => string | readonly string[]",
"FuseOptionKeyObject.name": "string | string[]",
"FuseOptionKeyObject.weight": "?number",
"FuseResult": "interface: FuseResult<T>",
"FuseResult.item": "T",
"FuseResult.matches": "?readonly FuseResultMatch[]",
"FuseResult.refIndex": "number",
"FuseResult.score": "?number",
"FuseResultMatch": "interface: FuseResultMatch",
"FuseResultMatch.indices": "readonly RangeTuple[]",
"FuseResultMatch.key": "?string",
"FuseResultMatch.refIndex": "?number",
"FuseResultMatch.value": "?string",
"FuseSearchOptions": "interface: FuseSearchOptions",
"FuseSearchOptions.limit": "?number",
"FuseSortFunction": "type: FuseSortFunction",
"FuseSortFunctionArg": "type: FuseSortFunctionArg",
"FuseSortFunctionItem": "type: FuseSortFunctionItem",
"FuseSortFunctionMatch": "type: FuseSortFunctionMatch",
"FuseSortFunctionMatchList": "type: FuseSortFunctionMatchList",
"FuseTokenizeFunction": "type: FuseTokenizeFunction",
"IFuseOptions": "interface: IFuseOptions<T>",
"IFuseOptions.distance": "?number",
"IFuseOptions.fieldNormWeight": "?number",
"IFuseOptions.findAllMatches": "?boolean",
"IFuseOptions.getFn": "?FuseGetFunction<T>",
"IFuseOptions.ignoreDiacritics": "?boolean",
"IFuseOptions.ignoreFieldNorm": "?boolean",
"IFuseOptions.ignoreLocation": "?boolean",
"IFuseOptions.includeMatches": "?boolean",
"IFuseOptions.includeScore": "?boolean",
"IFuseOptions.isCaseSensitive": "?boolean",
"IFuseOptions.keys": "?FuseOptionKey<T>[]",
"IFuseOptions.location": "?number",
"IFuseOptions.minMatchCharLength": "?number",
"IFuseOptions.shouldSort": "?boolean",
"IFuseOptions.sortFn": "?FuseSortFunction",
"IFuseOptions.threshold": "?number",
"IFuseOptions.tokenMatch": "?\"all\" | \"any\"",
"IFuseOptions.tokenize": "?RegExp | FuseTokenizeFunction",
"IFuseOptions.useExtendedSearch": "?boolean",
"IFuseOptions.useTokenSearch": "?boolean",
"RangeTuple": "type: RangeTuple",
"RecordEntry": "type: RecordEntry",
"RecordEntryArrayItem": "type: RecordEntryArrayItem",
"RecordEntryObject": "interface: RecordEntryObject",
"RecordEntryObject.n": "number",
"RecordEntryObject.v": "string",
"SearchResult": "interface: SearchResult",
"SearchResult.hasInverse": "?boolean",
"SearchResult.indices": "?readonly RangeTuple[]",
"SearchResult.isMatch": "boolean",
"SearchResult.matchedMask": "?number",
"SearchResult.matchedTerms": "?Set<number>",
"SearchResult.score": "number",
"SearchResult.termCount": "?number",
"config": "const: Required<IFuseOptions<any>>",
"createIndex": "function: <T>(keys: FuseOptionKey<T>[], docs: readonly T[], { getFn, fieldNormWeight }?: FuseIndexOptions<T>): FuseIndex<T>",
"match": "function: (pattern: string, text: string, options?: IFuseOptions<any>): SearchResult",
"module": "class: Fuse<T>",
"module._coversAllTokens": "(matches: MatchScore[]) => boolean",
"module._docs": "T[]",
"module._findMatches": "({ key, value, searcher }: { key: KeyObject; value: SubRecord | SubRecord[]; searcher: Searcher; }) => MatchScore[]",
"module._getSearcher": "(query: string) => Searcher",
"module._invalidateSearcherCache": "() => void",
"module._invertedIndex": "InvertedIndexData",
"module._keyStore": "KeyStore",
"module._lastQuery": "string",
"module._lastSearcher": "Searcher",
"module._myIndex": "FuseIndex<T>",
"module._normalizedKeys": "() => KeyObject[]",
"module._searchLogical": "(query: Expression) => InternalResult[]",
"module._searchObjectList": "(query: string, { heap, ignoreFieldNorm }?: HeapSearchOptions) => InternalResult[]",
"module._searchStringList": "(query: string, { heap, ignoreFieldNorm }?: HeapSearchOptions) => InternalResult[]",
"module.add": "(doc: T) => void",
"module.getIndex": "() => FuseIndex<T>",
"module.options": "Required<IFuseOptions<T>>",
"module.remove": "(predicate?: (doc: T, idx: number) => boolean) => T[]",
"module.removeAt": "(idx: number) => T",
"module.search": "(query: Expression, options?: FuseSearchOptions) => FuseResult<T>[]",
"module.setCollection": "(docs: readonly T[], index?: FuseIndex<T>) => void",
"parseIndex": "function: <T>(data: { keys: readonly KeyObject[]; records: IndexRecord[]; }, { getFn, fieldNormWeight }?: FuseIndexOptions<T>): FuseIndex<T>",
"parseQuery": "function: (query: Expression, options: any, { auto }?: { auto?: boolean; }): ParsedNode",
"prototype": "value: Fuse<any>",
"use": "function: (...plugins: any[]): void",
"version": "const: string"
}
},
"graphql": {
"version": "16.14.2",
"surface": {
"ASTKindToNode": "type: ASTKindToNode",
"ASTNode": "type: ASTNode",
"ASTVisitFn": "type: ASTVisitFn<TVisitedNode>",
"ASTVisitor": "type: ASTVisitor",
"ASTVisitorKeyMap": "type: ASTVisitorKeyMap",
"ArgumentCoordinateNode": "interface: ArgumentCoordinateNode",
"ArgumentCoordinateNode.argumentName": "NameNode",
"ArgumentCoordinateNode.fieldName": "NameNode",
"ArgumentCoordinateNode.kind": "Kind.ARGUMENT_COORDINATE",
"ArgumentCoordinateNode.loc": "?Location",
"ArgumentCoordinateNode.name": "NameNode",
"ArgumentNode": "interface: ArgumentNode",
"ArgumentNode.kind": "Kind.ARGUMENT",
"ArgumentNode.loc": "?Location",
"ArgumentNode.name": "NameNode",
"ArgumentNode.value": "ValueNode",
"BREAK": "const: unknown",
"BooleanValueNode": "interface: BooleanValueNode",
"BooleanValueNode.kind": "Kind.BOOLEAN",
"BooleanValueNode.loc": "?Location",
"BooleanValueNode.value": "boolean",
"BreakingChange": "interface: BreakingChange",
"BreakingChange.description": "string",
"BreakingChange.type": "BreakingChangeType",
"BreakingChangeType": "enum: BreakingChangeType",
"BreakingChangeType.ARG_CHANGED_KIND": "enum-member",
"BreakingChangeType.ARG_REMOVED": "enum-member",
"BreakingChangeType.DIRECTIVE_ARG_REMOVED": "enum-member",
"BreakingChangeType.DIRECTIVE_LOCATION_REMOVED": "enum-member",
"BreakingChangeType.DIRECTIVE_REMOVED": "enum-member",
"BreakingChangeType.DIRECTIVE_REPEATABLE_REMOVED": "enum-member",
"BreakingChangeType.FIELD_CHANGED_KIND": "enum-member",
"BreakingChangeType.FIELD_REMOVED": "enum-member",
"BreakingChangeType.IMPLEMENTED_INTERFACE_REMOVED": "enum-member",
"BreakingChangeType.REQUIRED_ARG_ADDED": "enum-member",
"BreakingChangeType.REQUIRED_DIRECTIVE_ARG_ADDED": "enum-member",
"BreakingChangeType.REQUIRED_INPUT_FIELD_ADDED": "enum-member",
"BreakingChangeType.TYPE_CHANGED_KIND": "enum-member",
"BreakingChangeType.TYPE_REMOVED": "enum-member",
"BreakingChangeType.TYPE_REMOVED_FROM_UNION": "enum-member",
"BreakingChangeType.VALUE_REMOVED_FROM_ENUM": "enum-member",
"BuildSchemaOptions": "interface: BuildSchemaOptions",
"BuildSchemaOptions.assumeValid": "?boolean",
"BuildSchemaOptions.assumeValidSDL": "?boolean",
"ConstArgumentNode": "interface: ConstArgumentNode",
"ConstArgumentNode.kind": "Kind.ARGUMENT",
"ConstArgumentNode.loc": "?Location",
"ConstArgumentNode.name": "NameNode",
"ConstArgumentNode.value": "ConstValueNode",
"ConstDirectiveNode": "interface: ConstDirectiveNode",
"ConstDirectiveNode.arguments": "?readonly ConstArgumentNode[]",
"ConstDirectiveNode.kind": "Kind.DIRECTIVE",
"ConstDirectiveNode.loc": "?Location",
"ConstDirectiveNode.name": "NameNode",
"ConstListValueNode": "interface: ConstListValueNode",
"ConstListValueNode.kind": "Kind.LIST",
"ConstListValueNode.loc": "?Location",
"ConstListValueNode.values": "readonly ConstValueNode[]",
"ConstObjectFieldNode": "interface: ConstObjectFieldNode",
"ConstObjectFieldNode.kind": "Kind.OBJECT_FIELD",
"ConstObjectFieldNode.loc": "?Location",
"ConstObjectFieldNode.name": "NameNode",
"ConstObjectFieldNode.value": "ConstValueNode",
"ConstObjectValueNode": "interface: ConstObjectValueNode",
"ConstObjectValueNode.fields": "readonly ConstObjectFieldNode[]",
"ConstObjectValueNode.kind": "Kind.OBJECT",
"ConstObjectValueNode.loc": "?Location",
"ConstValueNode": "type: ConstValueNode",
"DEFAULT_DEPRECATION_REASON": "const: \"No longer supported\"",
"DangerousChange": "interface: DangerousChange",
"DangerousChange.description": "string",
"DangerousChange.type": "DangerousChangeType",
"DangerousChangeType": "enum: DangerousChangeType",
"DangerousChangeType.ARG_DEFAULT_VALUE_CHANGE": "enum-member",
"DangerousChangeType.IMPLEMENTED_INTERFACE_ADDED": "enum-member",
"DangerousChangeType.OPTIONAL_ARG_ADDED": "enum-member",
"DangerousChangeType.OPTIONAL_INPUT_FIELD_ADDED": "enum-member",
"DangerousChangeType.TYPE_ADDED_TO_UNION": "enum-member",
"DangerousChangeType.VALUE_ADDED_TO_ENUM": "enum-member",
"DefinitionNode": "type: DefinitionNode",
"DirectiveArgumentCoordinateNode": "interface: DirectiveArgumentCoordinateNode",
"DirectiveArgumentCoordinateNode.argumentName": "NameNode",
"DirectiveArgumentCoordinateNode.kind": "Kind.DIRECTIVE_ARGUMENT_COORDINATE",
"DirectiveArgumentCoordinateNode.loc": "?Location",
"DirectiveArgumentCoordinateNode.name": "NameNode",
"DirectiveCoordinateNode": "interface: DirectiveCoordinateNode",
"DirectiveCoordinateNode.kind": "Kind.DIRECTIVE_COORDINATE",
"DirectiveCoordinateNode.loc": "?Location",
"DirectiveCoordinateNode.name": "NameNode",
"DirectiveDefinitionNode": "interface: DirectiveDefinitionNode",
"DirectiveDefinitionNode.arguments": "?readonly InputValueDefinitionNode[]",
"DirectiveDefinitionNode.description": "?StringValueNode",
"DirectiveDefinitionNode.directives": "?readonly ConstDirectiveNode[]",
"DirectiveDefinitionNode.kind": "Kind.DIRECTIVE_DEFINITION",
"DirectiveDefinitionNode.loc": "?Location",
"DirectiveDefinitionNode.locations": "readonly NameNode[]",
"DirectiveDefinitionNode.name": "NameNode",
"DirectiveDefinitionNode.repeatable": "boolean",
"DirectiveExtensionNode": "interface: DirectiveExtensionNode",
"DirectiveExtensionNode.directives": "?readonly ConstDirectiveNode[]",
"DirectiveExtensionNode.kind": "Kind.DIRECTIVE_EXTENSION",
"DirectiveExtensionNode.loc": "?Location",
"DirectiveExtensionNode.name": "NameNode",
"DirectiveLocation": "enum: DirectiveLocation",
"DirectiveLocation.ARGUMENT_DEFINITION": "enum-member",
"DirectiveLocation.DIRECTIVE_DEFINITION": "enum-member",
"DirectiveLocation.ENUM": "enum-member",
"DirectiveLocation.ENUM_VALUE": "enum-member",
"DirectiveLocation.FIELD": "enum-member",
"DirectiveLocation.FIELD_DEFINITION": "enum-member",
"DirectiveLocation.FRAGMENT_DEFINITION": "enum-member",
"DirectiveLocation.FRAGMENT_SPREAD": "enum-member",
"DirectiveLocation.INLINE_FRAGMENT": "enum-member",
"DirectiveLocation.INPUT_FIELD_DEFINITION": "enum-member",
"DirectiveLocation.INPUT_OBJECT": "enum-member",
"DirectiveLocation.INTERFACE": "enum-member",
"DirectiveLocation.MUTATION": "enum-member",
"DirectiveLocation.OBJECT": "enum-member",
"DirectiveLocation.QUERY": "enum-member",
"DirectiveLocation.SCALAR": "enum-member",
"DirectiveLocation.SCHEMA": "enum-member",
"DirectiveLocation.SUBSCRIPTION": "enum-member",
"DirectiveLocation.UNION": "enum-member",
"DirectiveLocation.VARIABLE_DEFINITION": "enum-member",
"DirectiveLocationEnum": "type: typeof DirectiveLocation",
"DirectiveNode": "interface: DirectiveNode",
"DirectiveNode.arguments": "?readonly ArgumentNode[]",
"DirectiveNode.kind": "Kind.DIRECTIVE",
"DirectiveNode.loc": "?Location",
"DirectiveNode.name": "NameNode",
"DocumentNode": "interface: DocumentNode",
"DocumentNode.definitions": "readonly DefinitionNode[]",
"DocumentNode.kind": "Kind.DOCUMENT",
"DocumentNode.loc": "?Location",
"DocumentNode.tokenCount": "?number",
"EnumTypeDefinitionNode": "interface: EnumTypeDefinitionNode",
"EnumTypeDefinitionNode.description": "?StringValueNode",
"EnumTypeDefinitionNode.directives": "?readonly ConstDirectiveNode[]",
"EnumTypeDefinitionNode.kind": "Kind.ENUM_TYPE_DEFINITION",
"EnumTypeDefinitionNode.loc": "?Location",
"EnumTypeDefinitionNode.name": "NameNode",
"EnumTypeDefinitionNode.values": "?readonly EnumValueDefinitionNode[]",
"EnumTypeExtensionNode": "interface: EnumTypeExtensionNode",
"EnumTypeExtensionNode.directives": "?readonly ConstDirectiveNode[]",
"EnumTypeExtensionNode.kind": "Kind.ENUM_TYPE_EXTENSION",
"EnumTypeExtensionNode.loc": "?Location",
"EnumTypeExtensionNode.name": "NameNode",
"EnumTypeExtensionNode.values": "?readonly EnumValueDefinitionNode[]",
"EnumValueDefinitionNode": "interface: EnumValueDefinitionNode",
"EnumValueDefinitionNode.description": "?StringValueNode",
"EnumValueDefinitionNode.directives": "?readonly ConstDirectiveNode[]",
"EnumValueDefinitionNode.kind": "Kind.ENUM_VALUE_DEFINITION",
"EnumValueDefinitionNode.loc": "?Location",
"EnumValueDefinitionNode.name": "NameNode",
"EnumValueNode": "interface: EnumValueNode",
"EnumValueNode.kind": "Kind.ENUM",
"EnumValueNode.loc": "?Location",
"EnumValueNode.value": "string",
"ExecutableDefinitionNode": "type: ExecutableDefinitionNode",
"ExecutableDefinitionsRule": "function: (context: ASTValidationContext): ASTVisitor",
"ExecutionArgs": "interface: ExecutionArgs",
"ExecutionArgs.contextValue": "?unknown",
"ExecutionArgs.document": "DocumentNode",
"ExecutionArgs.fieldResolver": "?GraphQLFieldResolver<any, any>",
"ExecutionArgs.operationName": "?string",
"ExecutionArgs.options": "?{ maxCoercionErrors?: number; }",
"ExecutionArgs.rootValue": "?unknown",
"ExecutionArgs.schema": "GraphQLSchema",
"ExecutionArgs.subscribeFieldResolver": "?GraphQLFieldResolver<any, any>",
"ExecutionArgs.typeResolver": "?GraphQLTypeResolver<any, any>",
"ExecutionArgs.variableValues": "?{ readonly [variable: string]: unknown; }",
"ExecutionResult": "interface: ExecutionResult<TData, TExtensions>",
"ExecutionResult.data": "?TData",
"ExecutionResult.errors": "?readonly GraphQLError[]",
"ExecutionResult.extensions": "?TExtensions",
"FieldDefinitionNode": "interface: FieldDefinitionNode",
"FieldDefinitionNode.arguments": "?readonly InputValueDefinitionNode[]",
"FieldDefinitionNode.description": "?StringValueNode",