@n8n/decorators 0.2.0

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 (58) hide show
  1. package/LICENSE.md +88 -0
  2. package/LICENSE_EE.md +27 -0
  3. package/dist/args.d.ts +3 -0
  4. package/dist/args.js +14 -0
  5. package/dist/args.js.map +1 -0
  6. package/dist/build.tsbuildinfo +1 -0
  7. package/dist/controller-registry-metadata.d.ts +7 -0
  8. package/dist/controller-registry-metadata.js +45 -0
  9. package/dist/controller-registry-metadata.js.map +1 -0
  10. package/dist/debounce.d.ts +1 -0
  11. package/dist/debounce.js +20 -0
  12. package/dist/debounce.js.map +1 -0
  13. package/dist/index.d.ts +19 -0
  14. package/dist/index.js +48 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/licensed.d.ts +2 -0
  17. package/dist/licensed.js +11 -0
  18. package/dist/licensed.js.map +1 -0
  19. package/dist/memoized.d.ts +1 -0
  20. package/dist/memoized.js +23 -0
  21. package/dist/memoized.js.map +1 -0
  22. package/dist/middleware.d.ts +1 -0
  23. package/dist/middleware.js +11 -0
  24. package/dist/middleware.js.map +1 -0
  25. package/dist/module.d.ts +14 -0
  26. package/dist/module.js +39 -0
  27. package/dist/module.js.map +1 -0
  28. package/dist/multi-main-metadata.d.ts +17 -0
  29. package/dist/multi-main-metadata.js +28 -0
  30. package/dist/multi-main-metadata.js.map +1 -0
  31. package/dist/on-multi-main-event.d.ts +6 -0
  32. package/dist/on-multi-main-event.js +29 -0
  33. package/dist/on-multi-main-event.js.map +1 -0
  34. package/dist/on-shutdown.d.ts +1 -0
  35. package/dist/on-shutdown.js +20 -0
  36. package/dist/on-shutdown.js.map +1 -0
  37. package/dist/redactable.d.ts +7 -0
  38. package/dist/redactable.js +34 -0
  39. package/dist/redactable.js.map +1 -0
  40. package/dist/rest-controller.d.ts +1 -0
  41. package/dist/rest-controller.js +12 -0
  42. package/dist/rest-controller.js.map +1 -0
  43. package/dist/route.d.ts +14 -0
  44. package/dist/route.js +20 -0
  45. package/dist/route.js.map +1 -0
  46. package/dist/scoped.d.ts +3 -0
  47. package/dist/scoped.js +14 -0
  48. package/dist/scoped.js.map +1 -0
  49. package/dist/shutdown/constants.d.ts +3 -0
  50. package/dist/shutdown/constants.js +7 -0
  51. package/dist/shutdown/constants.js.map +1 -0
  52. package/dist/shutdown-registry-metadata.d.ts +7 -0
  53. package/dist/shutdown-registry-metadata.js +36 -0
  54. package/dist/shutdown-registry-metadata.js.map +1 -0
  55. package/dist/types.d.ts +45 -0
  56. package/dist/types.js +3 -0
  57. package/dist/types.js.map +1 -0
  58. package/package.json +47 -0
@@ -0,0 +1,45 @@
1
+ import type { BooleanLicenseFeature } from '@n8n/constants';
2
+ import type { Constructable } from '@n8n/di';
3
+ import type { Scope } from '@n8n/permissions';
4
+ import type { RequestHandler } from 'express';
5
+ export type Method = 'get' | 'post' | 'put' | 'patch' | 'delete';
6
+ export type Arg = {
7
+ type: 'body' | 'query';
8
+ } | {
9
+ type: 'param';
10
+ key: string;
11
+ };
12
+ export interface RateLimit {
13
+ limit?: number;
14
+ windowMs?: number;
15
+ }
16
+ export type HandlerName = string;
17
+ export interface AccessScope {
18
+ scope: Scope;
19
+ globalOnly: boolean;
20
+ }
21
+ export interface RouteMetadata {
22
+ method: Method;
23
+ path: string;
24
+ middlewares: RequestHandler[];
25
+ usesTemplates: boolean;
26
+ skipAuth: boolean;
27
+ rateLimit?: boolean | RateLimit;
28
+ licenseFeature?: BooleanLicenseFeature;
29
+ accessScope?: AccessScope;
30
+ args: Arg[];
31
+ }
32
+ export interface ControllerMetadata {
33
+ basePath: `/${string}`;
34
+ middlewares: HandlerName[];
35
+ routes: Map<HandlerName, RouteMetadata>;
36
+ }
37
+ export type Controller = Constructable<object> & Record<HandlerName, (...args: unknown[]) => Promise<unknown>>;
38
+ type RouteHandlerFn = () => Promise<void> | void;
39
+ export type Class<T = object, A extends unknown[] = unknown[]> = new (...args: A) => T;
40
+ export type ServiceClass = Class<Record<string, RouteHandlerFn>>;
41
+ export interface ShutdownHandler {
42
+ serviceClass: ServiceClass;
43
+ methodName: string;
44
+ }
45
+ export {};
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@n8n/decorators",
3
+ "version": "0.2.0",
4
+ "main": "dist/index.js",
5
+ "module": "src/index.ts",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist/**/*",
9
+ "LICENSE.md",
10
+ "LICENSE_EE.md"
11
+ ],
12
+ "devDependencies": {
13
+ "@types/express": "^5.0.1",
14
+ "@types/lodash": "^4.14.195",
15
+ "@n8n/typescript-config": "1.2.0"
16
+ },
17
+ "dependencies": {
18
+ "lodash": "4.17.21",
19
+ "@n8n/constants": "^0.2.0",
20
+ "@n8n/di": "^0.5.0",
21
+ "n8n-workflow": "^1.89.0",
22
+ "@n8n/permissions": "^0.22.0"
23
+ },
24
+ "license": "SEE LICENSE IN LICENSE.md",
25
+ "homepage": "https://n8n.io",
26
+ "author": {
27
+ "name": "Jan Oberhauser",
28
+ "email": "jan@n8n.io"
29
+ },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git+https://github.com/n8n-io/n8n.git"
33
+ },
34
+ "scripts": {
35
+ "clean": "rimraf dist .turbo",
36
+ "dev": "pnpm watch",
37
+ "typecheck": "tsc --noEmit",
38
+ "build": "tsc -p tsconfig.build.json",
39
+ "format": "biome format --write .",
40
+ "format:check": "biome ci .",
41
+ "lint": "eslint .",
42
+ "lintfix": "eslint . --fix",
43
+ "watch": "tsc -p tsconfig.build.json --watch",
44
+ "test": "jest",
45
+ "test:dev": "jest --watch"
46
+ }
47
+ }