@faasjs/func 3.1.2 → 3.1.4

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/dist/index.d.mts CHANGED
@@ -121,14 +121,10 @@ declare class Func<TEvent = any, TContext = any, TResult = any> {
121
121
  };
122
122
  }
123
123
  type UseifyPlugin<T> = T & {
124
- mount: (data?: {
125
- config?: Config;
126
- }) => Promise<T>;
124
+ mount: (data?: MountData) => Promise<T>;
127
125
  };
128
126
  declare function usePlugin<T extends Plugin>(plugin: T & {
129
- mount?: (data?: {
130
- config?: Config;
131
- }) => Promise<T>;
127
+ mount?: (data?: MountData) => Promise<T>;
132
128
  }): UseifyPlugin<T>;
133
129
  /**
134
130
  * ```ts
package/dist/index.d.ts CHANGED
@@ -121,14 +121,10 @@ declare class Func<TEvent = any, TContext = any, TResult = any> {
121
121
  };
122
122
  }
123
123
  type UseifyPlugin<T> = T & {
124
- mount: (data?: {
125
- config?: Config;
126
- }) => Promise<T>;
124
+ mount: (data?: MountData) => Promise<T>;
127
125
  };
128
126
  declare function usePlugin<T extends Plugin>(plugin: T & {
129
- mount?: (data?: {
130
- config?: Config;
131
- }) => Promise<T>;
127
+ mount?: (data?: MountData) => Promise<T>;
132
128
  }): UseifyPlugin<T>;
133
129
  /**
134
130
  * ```ts
package/dist/index.js CHANGED
@@ -6,9 +6,10 @@ var crypto = require('crypto');
6
6
  // src/index.ts
7
7
 
8
8
  // src/plugins/run_handler/index.ts
9
+ var Name = "handler";
9
10
  var RunHandler = class {
10
- type = "Handler";
11
- name = "Handler";
11
+ type = Name;
12
+ name = Name;
12
13
  async onInvoke(data, next) {
13
14
  if (data.handler)
14
15
  if (!data.runHandler) {
@@ -33,9 +34,9 @@ var Func = class {
33
34
  plugins;
34
35
  handler;
35
36
  config;
36
- mounted;
37
+ mounted = false;
37
38
  filename;
38
- cachedFunctions;
39
+ cachedFunctions = /* @__PURE__ */ Object.create(null);
39
40
  /**
40
41
  * Create a cloud function
41
42
  * @param config {object} config
@@ -49,8 +50,6 @@ var Func = class {
49
50
  this.config = {
50
51
  plugins: /* @__PURE__ */ Object.create(null)
51
52
  };
52
- this.mounted = false;
53
- this.cachedFunctions = /* @__PURE__ */ Object.create(null);
54
53
  try {
55
54
  this.filename = new Error().stack.split("\n").find((s) => /[^/]\.func\.ts/.test(s)).match(/\((.*\.func\.ts).*\)/)[1];
56
55
  } catch (_) {
@@ -72,7 +71,7 @@ var Func = class {
72
71
  }
73
72
  return async (data, next) => {
74
73
  let index = -1;
75
- const logger$1 = data?.logger || new logger.Logger();
74
+ if (!data.logger) data.logger = new logger.Logger();
76
75
  const dispatch = async (i) => {
77
76
  if (i <= index)
78
77
  return Promise.reject(Error("next() called multiple times"));
@@ -85,20 +84,20 @@ var Func = class {
85
84
  if (!data.context.request_at)
86
85
  data.context.request_at = crypto.randomBytes(16).toString("hex");
87
86
  const label = `${data.context.request_id}] [${fn.key}] [${key}`;
88
- logger$1.label = label;
89
- logger$1.debug("begin");
90
- logger$1.time(label);
87
+ data.logger.label = label;
88
+ data.logger.debug("begin");
89
+ data.logger.time(label);
91
90
  try {
92
91
  const res = await Promise.resolve(
93
92
  fn.handler(data, dispatch.bind(null, i + 1))
94
93
  );
95
- logger$1.label = label;
96
- logger$1.timeEnd(label, "end");
94
+ data.logger.label = label;
95
+ data.logger.timeEnd(label, "end");
97
96
  return res;
98
97
  } catch (err) {
99
- logger$1.label = label;
100
- logger$1.timeEnd(label, "failed");
101
- logger$1.error(err);
98
+ data.logger.label = label;
99
+ data.logger.timeEnd(label, "failed");
100
+ data.logger.error(err);
102
101
  return Promise.reject(err);
103
102
  }
104
103
  };
@@ -129,13 +128,7 @@ var Func = class {
129
128
  * @param data {object} data
130
129
  */
131
130
  async invoke(data) {
132
- if (!this.mounted)
133
- await this.mount({
134
- event: data.event,
135
- context: data.context,
136
- config: data.config,
137
- logger: data.logger
138
- });
131
+ if (!this.mounted) await this.mount(data);
139
132
  try {
140
133
  await this.compose("onInvoke")(data);
141
134
  } catch (error) {
@@ -180,16 +173,13 @@ function usePlugin(plugin) {
180
173
  if (!plugins.find((p) => p.name === plugin.name)) plugins.push(plugin);
181
174
  if (!plugin.mount)
182
175
  plugin.mount = async (data) => {
176
+ if (!data) data = /* @__PURE__ */ Object.create(null);
177
+ if (!data.config) data.config = /* @__PURE__ */ Object.create(null);
178
+ if (!data.context) data.context = /* @__PURE__ */ Object.create(null);
179
+ if (!data.event) data.event = /* @__PURE__ */ Object.create(null);
180
+ if (!data.logger) data.logger = new logger.Logger(plugin.name);
183
181
  if (plugin.onMount)
184
- await plugin.onMount(
185
- {
186
- config: data?.config || /* @__PURE__ */ Object.create(null),
187
- event: /* @__PURE__ */ Object.create(null),
188
- context: /* @__PURE__ */ Object.create(null),
189
- logger: new logger.Logger(plugin.name)
190
- },
191
- async () => Promise.resolve()
192
- );
182
+ await plugin.onMount(data, async () => Promise.resolve());
193
183
  return plugin;
194
184
  };
195
185
  return plugin;
package/dist/index.mjs CHANGED
@@ -4,9 +4,10 @@ import { randomBytes } from 'node:crypto';
4
4
  // src/index.ts
5
5
 
6
6
  // src/plugins/run_handler/index.ts
7
+ var Name = "handler";
7
8
  var RunHandler = class {
8
- type = "Handler";
9
- name = "Handler";
9
+ type = Name;
10
+ name = Name;
10
11
  async onInvoke(data, next) {
11
12
  if (data.handler)
12
13
  if (!data.runHandler) {
@@ -31,9 +32,9 @@ var Func = class {
31
32
  plugins;
32
33
  handler;
33
34
  config;
34
- mounted;
35
+ mounted = false;
35
36
  filename;
36
- cachedFunctions;
37
+ cachedFunctions = /* @__PURE__ */ Object.create(null);
37
38
  /**
38
39
  * Create a cloud function
39
40
  * @param config {object} config
@@ -47,8 +48,6 @@ var Func = class {
47
48
  this.config = {
48
49
  plugins: /* @__PURE__ */ Object.create(null)
49
50
  };
50
- this.mounted = false;
51
- this.cachedFunctions = /* @__PURE__ */ Object.create(null);
52
51
  try {
53
52
  this.filename = new Error().stack.split("\n").find((s) => /[^/]\.func\.ts/.test(s)).match(/\((.*\.func\.ts).*\)/)[1];
54
53
  } catch (_) {
@@ -70,7 +69,7 @@ var Func = class {
70
69
  }
71
70
  return async (data, next) => {
72
71
  let index = -1;
73
- const logger = data?.logger || new Logger();
72
+ if (!data.logger) data.logger = new Logger();
74
73
  const dispatch = async (i) => {
75
74
  if (i <= index)
76
75
  return Promise.reject(Error("next() called multiple times"));
@@ -83,20 +82,20 @@ var Func = class {
83
82
  if (!data.context.request_at)
84
83
  data.context.request_at = randomBytes(16).toString("hex");
85
84
  const label = `${data.context.request_id}] [${fn.key}] [${key}`;
86
- logger.label = label;
87
- logger.debug("begin");
88
- logger.time(label);
85
+ data.logger.label = label;
86
+ data.logger.debug("begin");
87
+ data.logger.time(label);
89
88
  try {
90
89
  const res = await Promise.resolve(
91
90
  fn.handler(data, dispatch.bind(null, i + 1))
92
91
  );
93
- logger.label = label;
94
- logger.timeEnd(label, "end");
92
+ data.logger.label = label;
93
+ data.logger.timeEnd(label, "end");
95
94
  return res;
96
95
  } catch (err) {
97
- logger.label = label;
98
- logger.timeEnd(label, "failed");
99
- logger.error(err);
96
+ data.logger.label = label;
97
+ data.logger.timeEnd(label, "failed");
98
+ data.logger.error(err);
100
99
  return Promise.reject(err);
101
100
  }
102
101
  };
@@ -127,13 +126,7 @@ var Func = class {
127
126
  * @param data {object} data
128
127
  */
129
128
  async invoke(data) {
130
- if (!this.mounted)
131
- await this.mount({
132
- event: data.event,
133
- context: data.context,
134
- config: data.config,
135
- logger: data.logger
136
- });
129
+ if (!this.mounted) await this.mount(data);
137
130
  try {
138
131
  await this.compose("onInvoke")(data);
139
132
  } catch (error) {
@@ -178,16 +171,13 @@ function usePlugin(plugin) {
178
171
  if (!plugins.find((p) => p.name === plugin.name)) plugins.push(plugin);
179
172
  if (!plugin.mount)
180
173
  plugin.mount = async (data) => {
174
+ if (!data) data = /* @__PURE__ */ Object.create(null);
175
+ if (!data.config) data.config = /* @__PURE__ */ Object.create(null);
176
+ if (!data.context) data.context = /* @__PURE__ */ Object.create(null);
177
+ if (!data.event) data.event = /* @__PURE__ */ Object.create(null);
178
+ if (!data.logger) data.logger = new Logger(plugin.name);
181
179
  if (plugin.onMount)
182
- await plugin.onMount(
183
- {
184
- config: data?.config || /* @__PURE__ */ Object.create(null),
185
- event: /* @__PURE__ */ Object.create(null),
186
- context: /* @__PURE__ */ Object.create(null),
187
- logger: new Logger(plugin.name)
188
- },
189
- async () => Promise.resolve()
190
- );
180
+ await plugin.onMount(data, async () => Promise.resolve());
191
181
  return plugin;
192
182
  };
193
183
  return plugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faasjs/func",
3
- "version": "3.1.2",
3
+ "version": "3.1.4",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -34,8 +34,8 @@
34
34
  "dist"
35
35
  ],
36
36
  "dependencies": {
37
- "@faasjs/deep_merge": "3.1.2",
38
- "@faasjs/logger": "3.1.2"
37
+ "@faasjs/deep_merge": "3.1.4",
38
+ "@faasjs/logger": "3.1.4"
39
39
  },
40
40
  "engines": {
41
41
  "node": ">=22.0.0",