pinia-plugin-subscription 0.2.1 → 1.0.0-beta.1
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/CHANGELOG.md +37 -1
- package/README.md +289 -4
- package/SECURITY.md +19 -1
- package/dist/chunks/Store-DHUAJv-P.js +257 -0
- package/dist/chunks/Store-DHUAJv-P.js.map +1 -0
- package/dist/core/PluginSubscriber.d.ts +39 -12
- package/dist/core/PluginSubscription.d.ts +20 -5
- package/dist/core/Store.d.ts +111 -12
- package/dist/factories/console-trace-listener.d.ts +7 -0
- package/dist/factories/trace-listener.d.ts +16 -0
- package/dist/factories/trace-registry.d.ts +17 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers.js +345 -5
- package/dist/helpers.js.map +1 -1
- package/dist/lib/main.d.ts +1 -3
- package/dist/pinia-plugin-subscription.js +208 -216
- package/dist/pinia-plugin-subscription.js.map +1 -1
- package/dist/plugins/createHydrationPlugin.d.ts +7 -0
- package/dist/plugins/createPlugin.d.ts +9 -2
- package/dist/system/Tracer.d.ts +20 -0
- package/dist/system/log.d.ts +12 -1
- package/dist/types/index.d.ts +17 -6
- package/dist/types/plugin.d.ts +119 -7
- package/dist/types/store.d.ts +3 -8
- package/dist/types/trace.d.ts +121 -0
- package/dist/utils/store.d.ts +2 -1
- package/docs/authoring-plugins.md +53 -24
- package/docs/using-plugins.md +76 -19
- package/package.json +3 -2
- package/dist/chunks/index-DKdl-fiq.js +0 -337
- package/dist/chunks/index-DKdl-fiq.js.map +0 -1
- package/dist/system/Debug.d.ts +0 -13
package/dist/helpers.js
CHANGED
|
@@ -1,8 +1,348 @@
|
|
|
1
|
-
|
|
1
|
+
var b = Object.defineProperty;
|
|
2
|
+
var _ = (e, r, o) => r in e ? b(e, r, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[r] = o;
|
|
3
|
+
var c = (e, r, o) => _(e, typeof r != "symbol" ? r + "" : r, o);
|
|
4
|
+
import { p as y } from "./chunks/Store-DHUAJv-P.js";
|
|
5
|
+
import { P as G, S as q, i as P } from "./chunks/Store-DHUAJv-P.js";
|
|
6
|
+
const m = (e, r = "white") => `background-color: ${e}; color: ${r}; padding: 1px; margin-right: 5px; font-size: 12px`;
|
|
7
|
+
function l(e, r) {
|
|
8
|
+
if (Array.isArray(r) ? r.length === 0 : Object.keys(r).length === 0) {
|
|
9
|
+
console.log(
|
|
10
|
+
"%c%s",
|
|
11
|
+
"color: #f86f63; padding: 1px; margin-right: 5px; font-size: 10px",
|
|
12
|
+
`[ ${e} ] Empty`
|
|
13
|
+
);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (console.groupCollapsed(
|
|
17
|
+
"%c%s",
|
|
18
|
+
"color: #fafa05; padding: 1px; margin-right: 5px; font-size: 11px",
|
|
19
|
+
`[ ${e} ]`
|
|
20
|
+
), Array.isArray(r))
|
|
21
|
+
typeof r[0] == "object" ? r.forEach((t) => {
|
|
22
|
+
t._name ? l(t._name, t) : t._id ? l(t._id, t) : console.dir(t);
|
|
23
|
+
}) : r.forEach((t, s) => {
|
|
24
|
+
console.log(
|
|
25
|
+
"%c%s",
|
|
26
|
+
"color: #cae38f; padding: 1px; margin-right: 5px; font-size: 10px",
|
|
27
|
+
`[ ${s} ]`,
|
|
28
|
+
t
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
else {
|
|
32
|
+
let t = [];
|
|
33
|
+
Object.keys(r).forEach((s) => {
|
|
34
|
+
const i = r[s];
|
|
35
|
+
typeof i == "object" ? Array.isArray(i) ? typeof i[0] == "object" ? l(s, i) : (console.groupCollapsed(s), console.log(i), console.groupEnd()) : l(s, Object.assign({}, i)) : i ? console.log(
|
|
36
|
+
"%c%s",
|
|
37
|
+
"color: #b0fa05; padding: 1px; margin-right: 5px; font-size: 10px",
|
|
38
|
+
`[ ${s} ]`,
|
|
39
|
+
i
|
|
40
|
+
) : t.push(s);
|
|
41
|
+
}), t.length && console.log(
|
|
42
|
+
"%c%s",
|
|
43
|
+
"color: #f86f63; font-size: 9px",
|
|
44
|
+
"[ Empty properties ]",
|
|
45
|
+
t
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
console.groupEnd();
|
|
49
|
+
}
|
|
50
|
+
function g(e) {
|
|
51
|
+
Object.keys(e).forEach((r) => {
|
|
52
|
+
if (["label", "namespace", "scope", "source"].includes(r))
|
|
53
|
+
return;
|
|
54
|
+
const o = e[r];
|
|
55
|
+
if (o)
|
|
56
|
+
switch (typeof o) {
|
|
57
|
+
case "string":
|
|
58
|
+
console.log(
|
|
59
|
+
"%c%s",
|
|
60
|
+
"color: #fafa05; padding: 1px; margin-right: 5px; font-size: 10px",
|
|
61
|
+
`[ ${r} ]`,
|
|
62
|
+
o
|
|
63
|
+
);
|
|
64
|
+
break;
|
|
65
|
+
case "object":
|
|
66
|
+
switch (r) {
|
|
67
|
+
case "mutation":
|
|
68
|
+
console.groupCollapsed("[mutation]"), console.dir(o), console.groupEnd();
|
|
69
|
+
break;
|
|
70
|
+
case "options":
|
|
71
|
+
l(r, o?.storeOptions ?? o);
|
|
72
|
+
break;
|
|
73
|
+
case "payload":
|
|
74
|
+
g(o);
|
|
75
|
+
break;
|
|
76
|
+
case "store":
|
|
77
|
+
l(r, Object.keys(o).reduce((n, t) => (t.startsWith("$") && !["$id", "$state"].includes(t) || t.startsWith("_") || (n[t] = o[t]), n), {}));
|
|
78
|
+
break;
|
|
79
|
+
default:
|
|
80
|
+
l(r, o);
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
case "function":
|
|
84
|
+
console.dir(o);
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
console.info(o);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function x(e, r) {
|
|
92
|
+
if (!e)
|
|
93
|
+
throw new Error("Style instructions are required");
|
|
94
|
+
console.log(
|
|
95
|
+
"%c%s",
|
|
96
|
+
e,
|
|
97
|
+
r.shift(),
|
|
98
|
+
...r
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
function E(e, r, o) {
|
|
102
|
+
if (!e)
|
|
103
|
+
throw new Error("Style instructions are required");
|
|
104
|
+
const n = r.shift(), t = r[0];
|
|
105
|
+
console.groupCollapsed(
|
|
106
|
+
"%c%s",
|
|
107
|
+
e,
|
|
108
|
+
`${n}
|
|
109
|
+
`,
|
|
110
|
+
t?.source
|
|
111
|
+
), r.forEach((s) => {
|
|
112
|
+
switch (typeof s) {
|
|
113
|
+
case "string":
|
|
114
|
+
console.info(s);
|
|
115
|
+
break;
|
|
116
|
+
case "object":
|
|
117
|
+
Array.isArray(s) ? console.table(s) : g(s);
|
|
118
|
+
break;
|
|
119
|
+
case "function":
|
|
120
|
+
console.dir(s);
|
|
121
|
+
break;
|
|
122
|
+
default:
|
|
123
|
+
console.info(s);
|
|
124
|
+
}
|
|
125
|
+
}), console.groupCollapsed(
|
|
126
|
+
"%c%s",
|
|
127
|
+
"color: #fafa05; padding: 1px; margin-right: 5px; font-size: 10px",
|
|
128
|
+
"[ trace ]"
|
|
129
|
+
), console.trace(), console.groupEnd(), console.groupEnd();
|
|
130
|
+
}
|
|
131
|
+
class A {
|
|
132
|
+
constructor() {
|
|
133
|
+
c(this, "_bgColor", "transparent");
|
|
134
|
+
c(this, "_color", "#f2f286");
|
|
135
|
+
c(this, "_icon", "🍍⚡");
|
|
136
|
+
c(this, "_errorBgColor", "#d24545");
|
|
137
|
+
c(this, "_errorColor", "white");
|
|
138
|
+
c(this, "_errorIcon", "🍍⚠️");
|
|
139
|
+
c(this, "_pluginName");
|
|
140
|
+
c(this, "_styles", {
|
|
141
|
+
error: { bgColor: this._errorBgColor, color: this._errorColor, icon: this._errorIcon },
|
|
142
|
+
info: { bgColor: this._bgColor, color: this._color, icon: this._icon }
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
formatMessage(r, o) {
|
|
146
|
+
return this._pluginName ? ` [${o} ${this._pluginName}]
|
|
147
|
+
${r}
|
|
148
|
+
` : r;
|
|
149
|
+
}
|
|
150
|
+
generateStyle(r) {
|
|
151
|
+
return m(r.bgColor, r.color);
|
|
152
|
+
}
|
|
153
|
+
getStyleDefinition(r) {
|
|
154
|
+
return this._styles[r ?? "info"];
|
|
155
|
+
}
|
|
156
|
+
log(...r) {
|
|
157
|
+
this.useLog(
|
|
158
|
+
this.getStyleDefinition(),
|
|
159
|
+
r
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
error(...r) {
|
|
163
|
+
this.useLog(
|
|
164
|
+
this.getStyleDefinition("error"),
|
|
165
|
+
r
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
rebuildArgs(r, o) {
|
|
169
|
+
if (typeof r == "string")
|
|
170
|
+
return [r];
|
|
171
|
+
if (Array.isArray(r))
|
|
172
|
+
return [r.shift(), ...r ?? []];
|
|
173
|
+
}
|
|
174
|
+
useLog(r, o) {
|
|
175
|
+
x(
|
|
176
|
+
this.generateStyle(r),
|
|
177
|
+
this.rebuildArgs(o, r.icon)
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
class C extends A {
|
|
182
|
+
constructor(o) {
|
|
183
|
+
super();
|
|
184
|
+
c(this, "_pluginName", y);
|
|
185
|
+
o && (this._pluginName = o);
|
|
186
|
+
}
|
|
187
|
+
logGroup(o, n) {
|
|
188
|
+
this.startGroup(), this.log(o, n), this.endGroup();
|
|
189
|
+
}
|
|
190
|
+
startGroup(o) {
|
|
191
|
+
console.group(o);
|
|
192
|
+
}
|
|
193
|
+
endGroup() {
|
|
194
|
+
console.groupEnd();
|
|
195
|
+
}
|
|
196
|
+
useLog(o, n) {
|
|
197
|
+
E(
|
|
198
|
+
this.generateStyle(o),
|
|
199
|
+
this.rebuildArgs(n, o.icon)
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
function $(e) {
|
|
204
|
+
if (typeof e != "function")
|
|
205
|
+
return e;
|
|
206
|
+
try {
|
|
207
|
+
return e();
|
|
208
|
+
} catch (r) {
|
|
209
|
+
return { __tracePayloadError: r };
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
class T {
|
|
213
|
+
constructor(r, o, n = {}) {
|
|
214
|
+
c(this, "_listeners", []);
|
|
215
|
+
c(this, "_scope");
|
|
216
|
+
c(this, "_source");
|
|
217
|
+
this._scope = n.scope, this._source = r, this._listeners = o;
|
|
218
|
+
}
|
|
219
|
+
get scope() {
|
|
220
|
+
return this._scope;
|
|
221
|
+
}
|
|
222
|
+
set scope(r) {
|
|
223
|
+
this._scope = r;
|
|
224
|
+
}
|
|
225
|
+
get source() {
|
|
226
|
+
return this._source;
|
|
227
|
+
}
|
|
228
|
+
debug(r, o, n, t) {
|
|
229
|
+
this.emit("debug", r, o, n, t);
|
|
230
|
+
}
|
|
231
|
+
error(r, o, n, t, s) {
|
|
232
|
+
this.emit("error", r, o, t, s, n);
|
|
233
|
+
}
|
|
234
|
+
emit(r, o, n, t, s, i) {
|
|
235
|
+
if (this._listeners.length === 0) {
|
|
236
|
+
r === "error" && console.error("Unhandled error trace event:", i);
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
const a = {
|
|
240
|
+
label: o,
|
|
241
|
+
level: r,
|
|
242
|
+
namespace: n,
|
|
243
|
+
scope: s ?? this._scope,
|
|
244
|
+
source: this._source
|
|
245
|
+
}, p = this._listeners.filter((u) => {
|
|
246
|
+
try {
|
|
247
|
+
return u.filter(a);
|
|
248
|
+
} catch (f) {
|
|
249
|
+
return console.error("Error in trace listener filter:", f), !1;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
if (p.length === 0) {
|
|
253
|
+
r === "error" && console.error("Unhandled error trace event:", i);
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
const d = {
|
|
257
|
+
...a,
|
|
258
|
+
...i !== void 0 && { error: i },
|
|
259
|
+
...t !== void 0 && { payload: $(t) },
|
|
260
|
+
timestamp: Date.now()
|
|
261
|
+
};
|
|
262
|
+
for (const u of p)
|
|
263
|
+
try {
|
|
264
|
+
u.handler(d);
|
|
265
|
+
} catch (f) {
|
|
266
|
+
console.error("Error in trace listener:", f);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
function w(e) {
|
|
271
|
+
const r = Object.keys(e).reduce((o, n) => (n !== "level" && n !== "timestamp" && (o[n] = e[n]), o), {});
|
|
272
|
+
return [j(e), r];
|
|
273
|
+
}
|
|
274
|
+
function j(e) {
|
|
275
|
+
return e.scope ? `${e.label} [${e.scope}]` : `${e.label}`;
|
|
276
|
+
}
|
|
277
|
+
function k(e) {
|
|
278
|
+
return e || (e = new C()), {
|
|
279
|
+
handler(r) {
|
|
280
|
+
const o = r.level === "error" ? "error" : "log";
|
|
281
|
+
e[o](...w(r));
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
function h(e, r) {
|
|
286
|
+
return (o) => e[r](({ comparator: n = "equals", target: t, value: s }) => {
|
|
287
|
+
const i = o[t];
|
|
288
|
+
if (typeof i != "string") return !1;
|
|
289
|
+
let a = !1;
|
|
290
|
+
switch (n) {
|
|
291
|
+
case "equals":
|
|
292
|
+
a = i === s;
|
|
293
|
+
break;
|
|
294
|
+
case "contains":
|
|
295
|
+
a = i.includes(s);
|
|
296
|
+
break;
|
|
297
|
+
case "startsWith":
|
|
298
|
+
a = i.startsWith(s);
|
|
299
|
+
break;
|
|
300
|
+
case "endsWith":
|
|
301
|
+
a = i.endsWith(s);
|
|
302
|
+
break;
|
|
303
|
+
default:
|
|
304
|
+
a = !1;
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
return a;
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
function L(e, r = "every") {
|
|
311
|
+
return Array.isArray(e) && (e = {
|
|
312
|
+
filter: h(e, r)
|
|
313
|
+
}), e.filter && Array.isArray(e.filter) && (e.filter = h(e.filter, r)), (!e.filter || typeof e.filter != "function") && (e = { ...e, filter: () => !0 }), e;
|
|
314
|
+
}
|
|
315
|
+
function z(e, r = "every") {
|
|
316
|
+
return e = L(e, r), e?.handler || (e = { ...e, ...k() }), e;
|
|
317
|
+
}
|
|
318
|
+
function N() {
|
|
319
|
+
let e = [];
|
|
320
|
+
function r(t, s = "every") {
|
|
321
|
+
return (!t || !t?.handler) && (t = z(t, s)), (!("filter" in t) || typeof t.filter != "function") && (t = { ...t, filter: () => !0 }), e.push(t), () => {
|
|
322
|
+
const i = e.indexOf(t);
|
|
323
|
+
i !== -1 && e.splice(i, 1);
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
function o() {
|
|
327
|
+
e = [];
|
|
328
|
+
}
|
|
329
|
+
function n() {
|
|
330
|
+
return e.length > 0;
|
|
331
|
+
}
|
|
332
|
+
return {
|
|
333
|
+
addTraceListener: r,
|
|
334
|
+
clearTraceListeners: o,
|
|
335
|
+
createTracer: (t, s = {}) => new T(t, e, s),
|
|
336
|
+
hasTraceListeners: n
|
|
337
|
+
};
|
|
338
|
+
}
|
|
2
339
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
340
|
+
A as CustomConsole,
|
|
341
|
+
G as PluginSubscriber,
|
|
342
|
+
q as Store,
|
|
343
|
+
T as Tracer,
|
|
344
|
+
k as createConsoleTraceListener,
|
|
345
|
+
N as createTracerRegistry,
|
|
346
|
+
P as isEmpty
|
|
7
347
|
};
|
|
8
348
|
//# sourceMappingURL=helpers.js.map
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../src/system/log.ts","../src/system/Tracer.ts","../src/factories/console-trace-listener.ts","../src/factories/trace-listener.ts","../src/factories/trace-registry.ts"],"sourcesContent":["import { pluginName } from '../utils/constantes'\nimport type { Console, LogType, StyleDefinition, StyleDefinitions } from '../types/log'\nimport type { ConsoleTraceEvent } from '../types/trace'\n\n\nconst style = (bgColor: string, color: string = 'white') =>\n `background-color: ${bgColor}; color: ${color}; padding: 1px; margin-right: 5px; font-size: 12px`\n\nexport function printObject(label: string, payload: object) {\n const isArray = Array.isArray(payload)\n const isEmpty = isArray ? payload.length === 0 : Object.keys(payload).length === 0\n if (isEmpty) {\n console.log(\n '%c%s',\n 'color: #f86f63; padding: 1px; margin-right: 5px; font-size: 10px',\n `[ ${label} ] Empty`\n )\n return\n }\n\n console.groupCollapsed(\n '%c%s',\n 'color: #fafa05; padding: 1px; margin-right: 5px; font-size: 11px',\n `[ ${label} ]`)\n\n if (Array.isArray(payload)) {\n if (typeof payload[0] === 'object') {\n payload.forEach((item: any) => {\n if (item._name) {\n printObject(item._name, item)\n } else if (item._id) {\n printObject(item._id, item)\n } else {\n console.dir(item)\n }\n })\n } else {\n payload.forEach((item: any, index: number) => {\n console.log(\n '%c%s',\n 'color: #cae38f; padding: 1px; margin-right: 5px; font-size: 10px',\n `[ ${index} ]`, item\n )\n })\n }\n } else {\n let emptyKeys: string[] = []\n Object.keys(payload).forEach(key => {\n const value = (payload as Record<string, unknown>)[key]\n if (typeof value === 'object') {\n if (Array.isArray(value)) {\n if (typeof value[0] === 'object') {\n printObject(key, value)\n } else {\n console.groupCollapsed(key)\n console.log(value)\n console.groupEnd()\n }\n } else {\n printObject(key, Object.assign({}, value))\n }\n } else {\n if (!value) {\n emptyKeys.push(key)\n } else {\n console.log(\n '%c%s',\n 'color: #b0fa05; padding: 1px; margin-right: 5px; font-size: 10px',\n `[ ${key} ]`, value\n )\n }\n }\n })\n if (emptyKeys.length) {\n console.log(\n '%c%s',\n 'color: #f86f63; font-size: 9px',\n `[ Empty properties ]`, emptyKeys\n )\n }\n }\n console.groupEnd()\n}\n\nfunction printTracePayload(tracePayload: Record<string, unknown>) {\n Object.keys(tracePayload).forEach((key: string) => {\n if (['label', 'namespace', 'scope', 'source'].includes(key)) {\n return\n }\n const arg = tracePayload[key]\n if (!arg) {\n return\n }\n\n switch (typeof arg) {\n case 'string':\n console.log(\n '%c%s',\n 'color: #fafa05; padding: 1px; margin-right: 5px; font-size: 10px',\n `[ ${key} ]`, arg\n )\n break;\n case 'object':\n switch (key) {\n case 'mutation':\n console.groupCollapsed('[mutation]')\n console.dir(arg)\n console.groupEnd()\n break;\n case 'options':\n printObject(key, (arg as { storeOptions?: unknown })?.storeOptions ?? arg)\n break;\n case 'payload':\n printTracePayload(arg as Record<string, unknown>)\n break;\n case 'store':\n printObject(key, Object.keys(arg).reduce((acc, curr) => {\n if ((curr.startsWith('$') && !['$id', '$state'].includes(curr)) || curr.startsWith('_')) {\n return acc\n }\n\n acc[curr] = (arg as Record<string, unknown>)[curr]\n return acc\n }, {} as Record<string, unknown>))\n break;\n default:\n printObject(key, arg)\n }\n break;\n case 'function':\n console.dir(arg)\n break;\n default:\n console.info(arg)\n }\n })\n}\nexport function log(logStyle: string, args: any) {\n if (!logStyle) {\n throw new Error('Style instructions are required')\n }\n\n console.log(\n '%c%s',\n logStyle,\n args.shift(),\n ...args\n )\n}\n\n\nexport function logTrace(logStyle: string, args: any, pluginName: string) {\n if (!logStyle) {\n throw new Error('Style instructions are required')\n }\n\n const label = args.shift()\n const event = args[0]\n\n console.groupCollapsed(\n '%c%s',\n logStyle,\n `${label}\n`,\n event?.source\n )\n\n args.forEach((arg: any) => {\n switch (typeof arg) {\n case 'string':\n console.info(arg)\n break;\n case 'object':\n if (Array.isArray(arg)) {\n console.table(arg)\n } else {\n printTracePayload(arg)\n }\n break;\n case 'function':\n console.dir(arg)\n break;\n default:\n console.info(arg)\n }\n })\n\n console.groupCollapsed(\n '%c%s',\n 'color: #fafa05; padding: 1px; margin-right: 5px; font-size: 10px',\n `[ trace ]`\n )\n console.trace()\n console.groupEnd()\n\n console.groupEnd()\n}\n\nexport abstract class CustomConsole implements Console {\n protected _bgColor: string = 'transparent'\n protected _color: string = '#f2f286'\n protected _icon: string = '🍍⚡'\n protected _errorBgColor: string = '#d24545'\n protected _errorColor: string = 'white'\n protected _errorIcon: string = '🍍⚠️'\n protected _pluginName?: string\n protected _styles: StyleDefinitions = {\n error: { bgColor: this._errorBgColor, color: this._errorColor, icon: this._errorIcon },\n info: { bgColor: this._bgColor, color: this._color, icon: this._icon }\n }\n\n protected formatMessage(message: string, icon: string): string {\n return this._pluginName ? ` [${icon} ${this._pluginName}] \n ${message} \n` : message\n }\n\n protected generateStyle(styleDefinition: StyleDefinition): string {\n return style(styleDefinition.bgColor, styleDefinition.color)\n }\n\n protected getStyleDefinition(messageType?: LogType): StyleDefinition {\n return this._styles[messageType ?? 'info']\n }\n\n log(...args: any) {\n this.useLog(\n this.getStyleDefinition(),\n args\n )\n }\n\n error(...args: any) {\n const logType = 'error'\n this.useLog(\n this.getStyleDefinition(logType),\n args\n )\n }\n\n protected rebuildArgs(args: string | any[], icon: string) {\n if (typeof args === 'string') {\n return [args]\n }\n\n if (Array.isArray(args)) {\n return [args.shift(), ...(args ?? [])]\n }\n }\n\n protected useLog(styleDefinition: StyleDefinition, args: any) {\n log(\n this.generateStyle(styleDefinition),\n this.rebuildArgs(args, styleDefinition.icon)\n )\n }\n}\n\nclass PluginConsoleClass extends CustomConsole {\n protected _pluginName: string = pluginName\n}\n\nexport const PluginConsole = new PluginConsoleClass()\n\nexport class TraceConsole extends CustomConsole {\n protected _pluginName: string = pluginName\n\n constructor(pluginName?: string) {\n super()\n if (pluginName) {\n this._pluginName = pluginName\n }\n }\n\n\n logGroup(label: string, group: ConsoleTraceEvent[]) {\n this.startGroup()\n this.log(label, group)\n this.endGroup()\n }\n\n private startGroup(groupName?: string) {\n console.group(groupName)\n }\n\n private endGroup() {\n console.groupEnd()\n }\n\n protected useLog(styleDefinition: StyleDefinition, args: any) {\n logTrace(\n this.generateStyle(styleDefinition),\n this.rebuildArgs(args, styleDefinition.icon),\n this._pluginName\n )\n }\n}","import type { AnyObject } from '../types'\nimport type {\n TraceEvent,\n TraceEventMetadata,\n TraceLevel,\n TraceListener,\n TracePayload,\n TracerOptions,\n} from '../types/trace'\n\nfunction resolvePayload(payload: TracePayload): AnyObject | undefined {\n if (typeof payload !== 'function') {\n return payload\n }\n\n try {\n return payload()\n } catch (error) {\n return { __tracePayloadError: error }\n }\n}\n\n/**\n * Emits structured trace events.\n *\n * Nothing is allocated when no listener matches:\n * the payload is a factory resolved only once a consumer is known.\n */\nexport default class Tracer {\n private readonly _listeners: TraceListener[] = []\n private _scope?: string\n private readonly _source: string\n\n constructor(source: string, listeners: TraceListener[], options: TracerOptions = {}) {\n this._scope = options.scope\n this._source = source\n this._listeners = listeners\n }\n\n get scope(): string | undefined {\n return this._scope\n }\n\n set scope(scope: string | undefined) {\n this._scope = scope\n }\n\n get source(): string {\n return this._source\n }\n\n debug(label: string, namespace: string, payload?: TracePayload, scope?: string): void {\n this.emit('debug', label, namespace, payload, scope)\n }\n\n /** Relays the error to matching listeners, or reports it when none match. */\n error(label: string, namespace: string, error: unknown, payload?: TracePayload, scope?: string): void {\n this.emit('error', label, namespace, payload, scope, error)\n }\n\n private emit(\n level: TraceLevel,\n label: string,\n namespace: string,\n payload?: TracePayload,\n scope?: string,\n error?: unknown\n ): void {\n if (this._listeners.length === 0) {\n if (level === 'error') {\n console.error('Unhandled error trace event:', error)\n }\n return\n }\n\n const metadata: TraceEventMetadata = {\n label,\n level,\n namespace,\n scope: scope ?? this._scope,\n source: this._source\n }\n\n const matched = this._listeners.filter(listener => {\n try {\n return listener.filter(metadata)\n } catch (error) {\n console.error('Error in trace listener filter:', error)\n return false\n }\n })\n\n if (matched.length === 0) {\n if (level === 'error') {\n console.error('Unhandled error trace event:', error)\n }\n return\n }\n\n const event: TraceEvent = {\n ...metadata,\n ...(error !== undefined && { error }),\n ...(payload !== undefined && { payload: resolvePayload(payload) }),\n timestamp: Date.now()\n }\n\n for (const listener of matched) {\n try {\n listener.handler(event)\n } catch (error) {\n // a faulty listener must never break the traced code\n console.error('Error in trace listener:', error)\n }\n }\n }\n}\n","import { PluginConsole, TraceConsole } from '../system/log'\n\nimport type { Console } from '../types/log'\nimport type {\n ConsoleTraceEvent, ConsoleTraceEventArgs, TraceEvent, TraceListenerGroupBy, ConsoleTraceGroupListener, TraceListener\n} from '../types/trace'\n\n\n/**\n * Builds the console arguments from a trace event.\n * @param event The trace event to build console arguments from.\n * @returns An array containing the formatted trace label and the sanitized event data.\n */\nfunction buildConsoleArgsFromEvent(event: TraceEvent): ConsoleTraceEvent {\n const sanitizedEvent = Object.keys(event).reduce((acc, curr) => {\n if (curr !== 'level' && curr !== 'timestamp') {\n acc[curr] = event[curr as keyof ConsoleTraceEventArgs]\n }\n return acc\n }, {} as Record<string, unknown>)\n\n return [formatTraceLabel(event), sanitizedEvent as ConsoleTraceEventArgs]\n\n /**\n if (event.error !== undefined) {\n args.push(event.error)\n }\n\n if (event.payload !== undefined) {\n if (Array.isArray(event.payload)) {\n args.push(...event.payload)\n } else {\n args.push(event.payload)\n }\n }\n */\n}\n\nfunction formatTraceLabel(event: TraceEvent): string {\n return event.scope\n ? `${event.label} [${event.scope}]`\n : `${event.label}`\n}\n\n/**\n * Creates an opt-in trace listener that reproduces the former console output.\n */\nexport function createConsoleTraceListener(target?: Console): Omit<TraceListener, 'filter'> {\n if (!target) {\n target = new TraceConsole()\n }\n\n return {\n handler(event): void {\n const consoleMethod = event.level === 'error' ? 'error' : 'log'\n target[consoleMethod](...buildConsoleArgsFromEvent(event))\n }\n }\n}\n\n\nexport function createConsoleGroupTraceListener(groupBy: TraceListenerGroupBy = 'scope'): ConsoleTraceGroupListener {\n const target = new TraceConsole()\n const groups = new Map<string, ConsoleTraceEvent[]>()\n\n\n function createGroup(key: string) {\n groups.set(key, [])\n }\n\n function logGroup(key: string): void {\n const group = groups.get(key)\n\n if (!group) {\n target.error(`No group found for key \"${key}\"`)\n return\n }\n\n if (group.length) { target.logGroup(`[ ${groupBy} ] ${key}`, group) }\n\n //groups.delete(key)\n }\n\n return {\n createGroup,\n logGroup,\n handler(event): void {\n const groupKey = event[groupBy] as string\n if (!groups.has(groupKey)) {\n target.error(`No group found for key \"${groupKey}\"`)\n return\n }\n\n groups.get(groupKey)?.push(buildConsoleArgsFromEvent(event))\n }\n }\n}\n\n\n","import { createConsoleTraceListener, createConsoleGroupTraceListener } from \"./console-trace-listener\"\nimport type {\n ConsoleTraceGroupListener,\n TraceEventMetadata,\n TraceFilterFactoryCriterion,\n TraceFilterFactoryParam,\n TraceGroupListener,\n TraceListener\n} from \"../types/trace\"\n\n\nfunction createFilter(criteria: TraceFilterFactoryCriterion[], mode: 'every' | 'some') {\n return (event: TraceEventMetadata) => {\n return criteria[mode](({ comparator = 'equals', target, value }) => {\n const eventValue = event[target]\n if (typeof eventValue !== 'string') return false\n let result = false\n switch (comparator) {\n case 'equals':\n result = eventValue === value\n break\n case 'contains':\n result = eventValue.includes(value)\n break\n case 'startsWith':\n result = eventValue.startsWith(value)\n break\n case 'endsWith':\n result = eventValue.endsWith(value)\n break\n default:\n result = false\n break\n }\n return result\n })\n }\n}\n\n/**\n * Creates a trace group listener with optional filtering.\n * @param filterDef The filter criteria for the trace events.\n * @param filterMode The mode to apply when evaluating multiple filter criteria: 'every' or 'some'.\n * @param groupBy The key of the trace event metadata to group by.\n * @returns A trace listener configured with group handling and filtering.\n */\nexport function createTraceGroupListener(\n filterDef: TraceFilterFactoryCriterion[],\n filterMode: 'every' | 'some' = 'every',\n groupBy: keyof TraceEventMetadata = 'scope'\n) {\n return {\n groupBy,\n ...createConsoleGroupTraceListener(groupBy),\n ...createTraceFilter(filterDef, filterMode)\n } as TraceGroupListener\n\n}\n\nfunction createTraceFilter(\n listenerDef: TraceFilterFactoryParam | TraceFilterFactoryCriterion[],\n filterMode: 'every' | 'some' = 'every'\n) {\n if (Array.isArray(listenerDef)) {\n listenerDef = {\n filter: createFilter(listenerDef, filterMode)\n }\n }\n\n if (listenerDef.filter && Array.isArray(listenerDef.filter)) {\n listenerDef.filter = createFilter(listenerDef.filter, filterMode)\n }\n\n if (!listenerDef.filter || typeof listenerDef.filter !== 'function') {\n listenerDef = { ...listenerDef, filter: () => true }\n }\n\n return listenerDef\n}\n\n/**\n * Creates a trace listener with optional filtering.\n * @param param The trace listener parameters including handler and optional filter criteria.\n * @param filterMode The mode to apply when evaluating multiple filter criteria: 'every' or 'some'.\n * @returns A trace listener configured with the specified handler and filter.\n */\nexport function createTraceListener(listenerDef: TraceFilterFactoryParam | TraceFilterFactoryCriterion[], filterMode: 'every' | 'some' = 'every'): TraceListener {\n listenerDef = createTraceFilter(listenerDef, filterMode)\n\n if (!listenerDef?.handler) {\n listenerDef = { ...listenerDef, ...createConsoleTraceListener() } as TraceFilterFactoryParam\n }\n\n return listenerDef as TraceListener\n}","import Tracer from '../system/Tracer'\nimport { createTraceGroupListener, createTraceListener } from './trace-listener'\nimport type {\n AddTraceListenerOptions,\n TraceEvent,\n TraceFilterFactoryCriterion,\n TraceFilterFactoryParam,\n TraceGroupListener,\n TraceListener,\n TraceListenerFilterMode,\n TraceListenerRemover,\n TraceRegistry,\n TracerOptions,\n} from '../types/trace'\n\n/**\n * Creates a registry for managing trace listeners and creating tracers.\n * @returns An object containing methods to add and clear trace listeners, and to create tracers.\n */\nexport function createTracerRegistry(): TraceRegistry {\n let listeners: TraceListener[] = []\n\n /**\n * Registers a trace listener and returns its remover.\n * Listeners are evaluated in registration order.\n * @param listener The trace listener to register.\n * @param filterMode The mode to use when creating a trace listener from a filter factory parameter. Defaults to 'every'.\n * @returns A function that removes the registered listener when called.\n */\n function addTraceListener(listener: TraceListener | TraceFilterFactoryParam, filterMode: TraceListenerFilterMode = 'every'): TraceListenerRemover {\n if (!listener || !listener?.handler) {\n listener = createTraceListener(listener, filterMode)\n }\n\n if (!('filter' in listener) || typeof listener.filter !== 'function') {\n listener = { ...listener, filter: () => true }\n }\n\n listeners.push(listener as TraceListener)\n\n return () => {\n const index = listeners.indexOf(listener as TraceListener)\n\n if (index !== -1) {\n listeners.splice(index, 1)\n }\n }\n }\n\n /**\n * Clears all registered trace listeners.\n */\n function clearTraceListeners(): void {\n listeners = []\n }\n\n /**\n * Checks if there are any registered trace listeners.\n * @returns True if there are registered trace listeners, otherwise false.\n */\n function hasTraceListeners(): boolean {\n return listeners.length > 0\n }\n\n return {\n addTraceListener,\n clearTraceListeners,\n createTracer: (source: string, options: TracerOptions = {}) => new Tracer(source, listeners, options),\n hasTraceListeners\n }\n}\n\nexport function createTraceGroupsRegistry() {\n let listeners: TraceGroupListener[] = []\n\n /**\n * Registers a trace listener and returns its remover.\n * Listeners are evaluated in registration order.\n * @param listener The trace listener to register.\n * @param filterMode The mode to use when creating a trace listener from a filter factory parameter. Defaults to 'every'.\n * @returns A function that removes the registered listener when called.\n */\n function addListener(\n criteria: TraceFilterFactoryCriterion[],\n { filterMode = 'every', groupBy = 'scope' }: AddTraceListenerOptions = {}\n ): TraceListenerRemover {\n const listenerGroup = createTraceGroupListener(criteria, filterMode ?? 'every', groupBy ?? 'scope')\n listeners.push(listenerGroup)\n\n return () => {\n const index = listeners.indexOf(listenerGroup)\n\n if (index !== -1) {\n listeners.splice(index, 1)\n }\n }\n }\n\n /**\n * Clears all registered trace listeners.\n */\n function clearTraceListeners(): void {\n listeners = []\n }\n\n function getMatchedListener(payload: TraceEvent) {\n return listeners.filter(listener => listener.filter(payload))\n }\n\n /**\n * Checks if there are any registered trace listeners.\n * @returns True if there are registered trace listeners, otherwise false.\n */\n function hasTraceListeners(): boolean {\n return listeners.length > 0\n }\n\n function listenerGroupAction(actionName: 'createGroup' | 'logGroup', payload: TraceEvent) {\n if (!listeners.length) return\n\n getMatchedListener(payload).forEach(listener => {\n const groupLabel = payload[listener.groupBy]\n if (typeof groupLabel === 'string') { listener[actionName](groupLabel) }\n })\n }\n\n\n return {\n addListener,\n clearTraceListeners,\n tracerHandler: {\n closeGroup: (payload: TraceEvent) => listenerGroupAction('logGroup', payload),\n createTracer: (source: string, options: TracerOptions = {}) => new Tracer(source, listeners, options),\n startGroup: (payload: TraceEvent) => listenerGroupAction('createGroup', payload)\n },\n hasTraceListeners\n }\n}"],"names":["style","bgColor","color","printObject","label","payload","item","index","emptyKeys","key","value","printTracePayload","tracePayload","arg","acc","curr","log","logStyle","args","logTrace","pluginName","event","CustomConsole","__publicField","message","icon","styleDefinition","messageType","TraceConsole","group","groupName","resolvePayload","error","Tracer","source","listeners","options","scope","namespace","level","metadata","matched","listener","buildConsoleArgsFromEvent","sanitizedEvent","formatTraceLabel","createConsoleTraceListener","target","consoleMethod","createFilter","criteria","mode","comparator","eventValue","result","createTraceFilter","listenerDef","filterMode","createTraceListener","createTracerRegistry","addTraceListener","clearTraceListeners","hasTraceListeners"],"mappings":"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"}
|
package/dist/lib/main.d.ts
CHANGED
|
@@ -3,12 +3,10 @@ import PluginSubscription from '../core/PluginSubscription';
|
|
|
3
3
|
import Store from '../core/Store';
|
|
4
4
|
export { createPlugin } from "../plugins/createPlugin";
|
|
5
5
|
export { createHydrationPlugin } from "../plugins/createHydrationPlugin";
|
|
6
|
-
export type { AnyObject,
|
|
6
|
+
export type { AnyObject, CustomStore, DefineAStoreSetupContext, DefineAStoreSetupExtensions, EmptyExtensions, PluginExecutionEnvironment, PluginExecutionOptions, PluginHydrationScheduler, PluginHydrationTiming, PluginRuntimeEnvironment, PluginStoreOptions, PluginSubscriptionOptions, PluginSubscriberInterface, PluginSubscriptionDefinition, PluginSubscriptions, StatePropertyValue, StoreClassConstructorParams, StoreOptions, StoreOptionsExtensions, StoreOptionsPropertyValue, StoreMutationSubscription, StoreMutationSubscriptionCallback, StoreOnActionCallbackParameters, StoreOnActionSubscription, StoreOnActionSubscriptionCallback, NativePiniaSubscription, NativePiniaSubscriptionReturn } from "../types";
|
|
7
7
|
export type { StoreMutationSubscriptionReturn, StoreOnActionSubscriptionReturn } from "../types/plugin";
|
|
8
8
|
export type { RollbackActionParams, RollbackAfterFailureParams } from "../types/store";
|
|
9
9
|
export { defineAStore, defineAStoreCtx, getDefineAStoreSetupContext, getEnhancedStore, getExtendingStore, setEnhancedStore } from "../utils/store";
|
|
10
|
-
export { CustomConsole } from "../system/log";
|
|
11
|
-
export { isEmpty } from "../utils/validation";
|
|
12
10
|
export { pluginName as PLUGIN_NAME } from "../utils/constantes";
|
|
13
11
|
export { PluginSubscriber };
|
|
14
12
|
export { PluginSubscription };
|