@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 +2 -6
- package/dist/index.d.ts +2 -6
- package/dist/index.js +21 -31
- package/dist/index.mjs +21 -31
- package/package.json +3 -3
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 =
|
|
11
|
-
name =
|
|
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
|
-
|
|
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
|
|
89
|
-
logger
|
|
90
|
-
logger
|
|
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
|
|
96
|
-
logger
|
|
94
|
+
data.logger.label = label;
|
|
95
|
+
data.logger.timeEnd(label, "end");
|
|
97
96
|
return res;
|
|
98
97
|
} catch (err) {
|
|
99
|
-
logger
|
|
100
|
-
logger
|
|
101
|
-
logger
|
|
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 =
|
|
9
|
-
name =
|
|
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
|
-
|
|
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.
|
|
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.
|
|
38
|
-
"@faasjs/logger": "3.1.
|
|
37
|
+
"@faasjs/deep_merge": "3.1.4",
|
|
38
|
+
"@faasjs/logger": "3.1.4"
|
|
39
39
|
},
|
|
40
40
|
"engines": {
|
|
41
41
|
"node": ">=22.0.0",
|