@deessejs/functions 0.0.39 → 0.0.40

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.
@@ -5,27 +5,17 @@ exports.defineContext = defineContext;
5
5
  function defineContext() {
6
6
  return {
7
7
  withExtensions: (config) => {
8
- // runtime builder (inchangé)
9
- const runtimeBuilder = {};
10
- // Utiliser un contexte runtime vide, mais conserver le type complet
11
- const runtimeContext = {};
8
+ // Créer un contexte avec un type explicite
9
+ const contextWithType = {};
10
+ // Appliquer les extensions manuellement pour préserver les types
11
+ const result = {
12
+ context: contextWithType,
13
+ };
12
14
  for (const extension of config.extensions) {
13
- // Passer le contexte runtime complet (même vide) pour conserver les types
14
- const extensionMethods = extension.functions(runtimeContext);
15
- Object.assign(runtimeBuilder, extensionMethods);
15
+ const methods = extension.functions(contextWithType);
16
+ Object.assign(result, methods);
16
17
  }
17
- // Créer un objet context qui préserve les types pour l'inférence
18
- const contextProxy = new Proxy({}, {
19
- get(_, prop) {
20
- // Retourner undefined pour les propriétés inconnues, mais préserver le type
21
- return runtimeContext[prop];
22
- }
23
- });
24
- // On retourne runtimeBuilder avec un contexte qui préserve les types
25
- return {
26
- ...runtimeBuilder,
27
- context: contextProxy,
28
- };
18
+ return result;
29
19
  },
30
20
  };
31
21
  }
@@ -16,5 +16,5 @@ export declare const rpc: import("./types").Extension<undefined, Record<string,
16
16
  handler: (ctx: C, args: z.infer<TArgs>) => AsyncResult<TOutput_1, TError_1>;
17
17
  }) => MutationDefinition<C, TArgs, TOutput_1, TError_1>;
18
18
  group: <T extends Record<string, APINode>>(definitions: T) => T;
19
- context: C;
19
+ _contextType: C;
20
20
  }>;
@@ -15,7 +15,7 @@ exports.rpc = (0, _1.extensions)({
15
15
  return { _type: "mutation", ...options };
16
16
  },
17
17
  group: (definitions) => definitions,
18
- // Pour le typing, on expose le type de contexte
19
- context: context,
18
+ // Exposer le type de contexte pour l'inférence
19
+ _contextType: context,
20
20
  }),
21
21
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deessejs/functions",
3
- "version": "0.0.39",
3
+ "version": "0.0.40",
4
4
  "description": "A powerful utility library for building type-safe APIs and functions with context management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",