@archtx/procedures 6.0.0 → 6.1.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.
package/README.md CHANGED
@@ -119,9 +119,9 @@ const { Create } = Procedures<unknown, ApiConfig>({
119
119
  const { info } = Create(
120
120
  'ListUsers',
121
121
  {
122
- route: '/api/users',
123
- method: 'GET',
124
- rateLimit: 100,
122
+ route: '/api/users', // type-checked & required by ApiConfig
123
+ method: 'GET', // type-checked & required by ApiConfig
124
+ rateLimit: 100, // type-checked & optional by ApiConfig
125
125
  },
126
126
  async () => []
127
127
  )
@@ -5,11 +5,11 @@ export type TNoContextProvided = unknown;
5
5
  export type TLocalContext = {
6
6
  error: (code: ProcedureCodes & number, message: string, meta?: object) => ProcedureError;
7
7
  };
8
- export type TProcedureRegistration<TExtendedConfig = unknown> = {
8
+ export type TProcedureRegistration<TContext = unknown, TExtendedConfig = unknown> = {
9
9
  name: string;
10
10
  config: {
11
11
  description?: string;
12
- hook?: (ctx: any, args?: any) => any;
12
+ hook?: (ctx: TContext, args?: any) => any;
13
13
  schema?: {
14
14
  args?: TJSONSchema;
15
15
  data?: TJSONSchema;
@@ -20,18 +20,46 @@ export type TProcedureRegistration<TExtendedConfig = unknown> = {
20
20
  };
21
21
  };
22
22
  } & TExtendedConfig;
23
- handler: (ctx: any, args?: any) => Promise<any>;
23
+ handler: (ctx: TContext, args?: any) => Promise<any>;
24
24
  };
25
25
  export declare function Procedures<TContext = TNoContextProvided, TExtendedConfig = unknown>(
26
26
  /**
27
27
  * Optionally provided builder to register Procedures
28
28
  */
29
29
  builder?: {
30
- onCreate?: (config: TProcedureRegistration<TExtendedConfig>) => void;
30
+ onCreate?: (procedure: Prettify<{
31
+ name: string;
32
+ handler: (ctx: Prettify<TContext>, args?: any) => Promise<any>;
33
+ config: Prettify<{
34
+ description?: string;
35
+ hook?: (ctx: Prettify<TContext & TLocalContext>, args?: any) => Promise<any>;
36
+ schema?: {
37
+ args?: TJSONSchema;
38
+ data?: TJSONSchema;
39
+ };
40
+ validation?: {
41
+ args?: (args: any) => {
42
+ errors?: any[];
43
+ };
44
+ };
45
+ } & TExtendedConfig>;
46
+ }>) => void;
31
47
  }): {
32
48
  getProcedures: () => Map<string, {
33
49
  name: string;
34
- config: TProcedureRegistration["config"];
50
+ config: Prettify<{
51
+ description?: string;
52
+ hook?: (ctx: Prettify<TContext & TLocalContext>, args?: any) => Promise<any>;
53
+ schema?: {
54
+ args?: TJSONSchema;
55
+ data?: TJSONSchema;
56
+ };
57
+ validation?: {
58
+ args?: (args: any) => {
59
+ errors?: any[];
60
+ };
61
+ };
62
+ } & TExtendedConfig>;
35
63
  handler: (ctx: Prettify<TContext>, args: any) => Promise<any>;
36
64
  }>;
37
65
  Create: <TName extends string, TArgs, TData, TLocalHook>(name: TName, config: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}