joopjs 2.0.6 → 2.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/.claude/skills/observables.md +28 -0
- package/.claude/skills/setup.md +14 -3
- package/.cursor/rules/joopjs.mdc +4 -5
- package/.github/copilot-instructions.md +3 -1
- package/.windsurf/rules/joopjs.md +4 -0
- package/CHANGELOG.md +31 -2
- package/README.md +19 -7
- package/ai-rules/AGENTS.md +21 -0
- package/ai-rules/GEMINI.md +17 -3
- package/dist/ai/index.js +15 -3
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/index.mjs +15 -3
- package/dist/ai/index.mjs.map +1 -1
- package/dist/analytics/index.js +10 -2
- package/dist/analytics/index.js.map +1 -1
- package/dist/analytics/index.mjs +10 -2
- package/dist/analytics/index.mjs.map +1 -1
- package/dist/angular/index.d.mts +98 -27
- package/dist/angular/index.d.ts +98 -27
- package/dist/angular/index.js +44 -0
- package/dist/angular/index.js.map +1 -1
- package/dist/angular/index.mjs +39 -1
- package/dist/angular/index.mjs.map +1 -1
- package/dist/api/index.js +15 -3
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +15 -3
- package/dist/api/index.mjs.map +1 -1
- package/dist/auth/index.js +15 -3
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/index.mjs +15 -3
- package/dist/auth/index.mjs.map +1 -1
- package/dist/banking/index.js +15 -3
- package/dist/banking/index.js.map +1 -1
- package/dist/banking/index.mjs +15 -3
- package/dist/banking/index.mjs.map +1 -1
- package/dist/cache/index.js +15 -3
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/index.mjs +15 -3
- package/dist/cache/index.mjs.map +1 -1
- package/dist/{index-DFqEoX_l.d.ts → consent.service-CIHNtx9h.d.ts} +1 -2
- package/dist/{index-B_ksKpS1.d.mts → consent.service-DQ-JAEJx.d.mts} +1 -2
- package/dist/core/index.d.mts +34 -1
- package/dist/core/index.d.ts +34 -1
- package/dist/core/index.js +56 -5
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +54 -6
- package/dist/core/index.mjs.map +1 -1
- package/dist/deeplink/index.js +15 -3
- package/dist/deeplink/index.js.map +1 -1
- package/dist/deeplink/index.mjs +15 -3
- package/dist/deeplink/index.mjs.map +1 -1
- package/dist/device/index.js +15 -3
- package/dist/device/index.js.map +1 -1
- package/dist/device/index.mjs +15 -3
- package/dist/device/index.mjs.map +1 -1
- package/dist/forms/index.js +15 -3
- package/dist/forms/index.js.map +1 -1
- package/dist/forms/index.mjs +15 -3
- package/dist/forms/index.mjs.map +1 -1
- package/dist/i18n/index.js +15 -3
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/index.mjs +15 -3
- package/dist/i18n/index.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +50 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +50 -8
- package/dist/index.mjs.map +1 -1
- package/dist/{joop-CA3DMeOO.d.ts → joop-Dim2yEKG.d.ts} +1 -1
- package/dist/{joop-Bx7Iwj5p.d.mts → joop-GkQw13f9.d.mts} +1 -1
- package/dist/native-bridge/index.js +10 -2
- package/dist/native-bridge/index.js.map +1 -1
- package/dist/native-bridge/index.mjs +10 -2
- package/dist/native-bridge/index.mjs.map +1 -1
- package/dist/network/index.js +15 -3
- package/dist/network/index.js.map +1 -1
- package/dist/network/index.mjs +15 -3
- package/dist/network/index.mjs.map +1 -1
- package/dist/observability/index.js +15 -3
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/index.mjs +15 -3
- package/dist/observability/index.mjs.map +1 -1
- package/dist/pwa/index.js +15 -3
- package/dist/pwa/index.js.map +1 -1
- package/dist/pwa/index.mjs +15 -3
- package/dist/pwa/index.mjs.map +1 -1
- package/dist/react/index.d.mts +2 -2
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.js +15 -3
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +15 -3
- package/dist/react/index.mjs.map +1 -1
- package/dist/router/index.js +15 -3
- package/dist/router/index.js.map +1 -1
- package/dist/router/index.mjs +15 -3
- package/dist/router/index.mjs.map +1 -1
- package/dist/security/index.js +15 -3
- package/dist/security/index.js.map +1 -1
- package/dist/security/index.mjs +15 -3
- package/dist/security/index.mjs.map +1 -1
- package/dist/session/index.js +15 -3
- package/dist/session/index.js.map +1 -1
- package/dist/session/index.mjs +15 -3
- package/dist/session/index.mjs.map +1 -1
- package/dist/state/index.js +15 -3
- package/dist/state/index.js.map +1 -1
- package/dist/state/index.mjs +15 -3
- package/dist/state/index.mjs.map +1 -1
- package/dist/storage/index.js +15 -3
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/index.mjs +15 -3
- package/dist/storage/index.mjs.map +1 -1
- package/dist/sync/index.js +15 -3
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/index.mjs +15 -3
- package/dist/sync/index.mjs.map +1 -1
- package/dist/theme/index.js +15 -3
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/index.mjs +15 -3
- package/dist/theme/index.mjs.map +1 -1
- package/dist/ui/index.js +15 -3
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +15 -3
- package/dist/ui/index.mjs.map +1 -1
- package/dist/utilities/index.js +46 -4
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/index.mjs +46 -4
- package/dist/utilities/index.mjs.map +1 -1
- package/dist/vue/index.d.mts +2 -2
- package/dist/vue/index.d.ts +2 -2
- package/dist/vue/index.js +15 -3
- package/dist/vue/index.js.map +1 -1
- package/dist/vue/index.mjs +15 -3
- package/dist/vue/index.mjs.map +1 -1
- package/dist/workflow/index.js +15 -3
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/index.mjs +15 -3
- package/dist/workflow/index.mjs.map +1 -1
- package/package.json +16 -2
package/dist/index.mjs
CHANGED
|
@@ -53,6 +53,36 @@ function flattenObject(obj, prefix = "") {
|
|
|
53
53
|
return result;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
// src/core/global-singleton.ts
|
|
57
|
+
var MAJOR = "2";
|
|
58
|
+
var REGISTRY_KEY = /* @__PURE__ */ Symbol.for(`joopjs.singletons.v${MAJOR}`);
|
|
59
|
+
function getRegistry() {
|
|
60
|
+
const g = globalThis;
|
|
61
|
+
let reg = g[REGISTRY_KEY];
|
|
62
|
+
if (!reg) {
|
|
63
|
+
reg = { major: MAJOR, instances: /* @__PURE__ */ new Map(), copies: 0, warned: false, warningsSilenced: false };
|
|
64
|
+
g[REGISTRY_KEY] = reg;
|
|
65
|
+
}
|
|
66
|
+
return reg;
|
|
67
|
+
}
|
|
68
|
+
(() => {
|
|
69
|
+
const reg = getRegistry();
|
|
70
|
+
reg.copies += 1;
|
|
71
|
+
if (reg.copies > 1 && !reg.warned && !reg.warningsSilenced) {
|
|
72
|
+
reg.warned = true;
|
|
73
|
+
console.warn(
|
|
74
|
+
`[joopjs] ${reg.copies} copies of joopjs detected in one runtime. Singletons (logger, config, event bus, \u2026) are being de-duplicated via globalThis so state stays shared, but you are shipping duplicate bytes. Share joopjs as a federation singleton: shared: { joopjs: { singleton: true, requiredVersion: '^2.0.0' } }. Call silenceDuplicateCopyWarning() to suppress this.`
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
})();
|
|
78
|
+
function globalSingleton(key, factory) {
|
|
79
|
+
const reg = getRegistry();
|
|
80
|
+
if (!reg.instances.has(key)) {
|
|
81
|
+
reg.instances.set(key, factory());
|
|
82
|
+
}
|
|
83
|
+
return reg.instances.get(key);
|
|
84
|
+
}
|
|
85
|
+
|
|
56
86
|
// src/core/config/config.service.ts
|
|
57
87
|
var JoopConfigService = class {
|
|
58
88
|
_config = null;
|
|
@@ -122,9 +152,12 @@ var JoopConfigService = class {
|
|
|
122
152
|
return this._config;
|
|
123
153
|
}
|
|
124
154
|
};
|
|
125
|
-
var configService = new JoopConfigService();
|
|
155
|
+
var configService = globalSingleton("config", () => new JoopConfigService());
|
|
126
156
|
|
|
127
157
|
// src/events/index.ts
|
|
158
|
+
var _onListenerError = (error) => {
|
|
159
|
+
console.error("[joopjs] a subject subscriber threw during emission:", error);
|
|
160
|
+
};
|
|
128
161
|
var JoopSubject = class {
|
|
129
162
|
_listeners = [];
|
|
130
163
|
subscribe(listener) {
|
|
@@ -134,8 +167,13 @@ var JoopSubject = class {
|
|
|
134
167
|
};
|
|
135
168
|
}
|
|
136
169
|
next(value) {
|
|
137
|
-
|
|
138
|
-
|
|
170
|
+
const listeners = this._listeners.slice();
|
|
171
|
+
for (const listener of listeners) {
|
|
172
|
+
try {
|
|
173
|
+
listener(value);
|
|
174
|
+
} catch (error) {
|
|
175
|
+
_onListenerError(error);
|
|
176
|
+
}
|
|
139
177
|
}
|
|
140
178
|
}
|
|
141
179
|
asObservable() {
|
|
@@ -156,7 +194,11 @@ var JoopBehaviorSubject = class extends JoopSubject {
|
|
|
156
194
|
super.next(value);
|
|
157
195
|
}
|
|
158
196
|
subscribe(listener) {
|
|
159
|
-
|
|
197
|
+
try {
|
|
198
|
+
listener(this._value);
|
|
199
|
+
} catch (error) {
|
|
200
|
+
_onListenerError(error);
|
|
201
|
+
}
|
|
160
202
|
return super.subscribe(listener);
|
|
161
203
|
}
|
|
162
204
|
asObservable() {
|
|
@@ -243,7 +285,7 @@ var JoopLogger = class {
|
|
|
243
285
|
}
|
|
244
286
|
}
|
|
245
287
|
};
|
|
246
|
-
var logger = new JoopLogger();
|
|
288
|
+
var logger = globalSingleton("logger", () => new JoopLogger());
|
|
247
289
|
|
|
248
290
|
// src/core/plugin.service.ts
|
|
249
291
|
var JoopPluginService = class {
|
|
@@ -878,7 +920,7 @@ var JoopClientProfile = class {
|
|
|
878
920
|
this.extra = {};
|
|
879
921
|
}
|
|
880
922
|
};
|
|
881
|
-
var clientProfile = new JoopClientProfile();
|
|
923
|
+
var clientProfile = globalSingleton("clientProfile", () => new JoopClientProfile());
|
|
882
924
|
|
|
883
925
|
// src/api/http/http-client.ts
|
|
884
926
|
var JoopHttpClient = class {
|
|
@@ -4062,7 +4104,7 @@ var JoopClipboardService = class {
|
|
|
4062
4104
|
}
|
|
4063
4105
|
}
|
|
4064
4106
|
};
|
|
4065
|
-
var clipboard = new JoopClipboardService();
|
|
4107
|
+
var clipboard = globalSingleton("clipboard", () => new JoopClipboardService());
|
|
4066
4108
|
|
|
4067
4109
|
// src/utilities/image.utility.ts
|
|
4068
4110
|
var JoopImageService = class {
|
|
@@ -18469,7 +18511,7 @@ var JoopEventBus = class {
|
|
|
18469
18511
|
}
|
|
18470
18512
|
}
|
|
18471
18513
|
};
|
|
18472
|
-
var joopEventBus = new JoopEventBus();
|
|
18514
|
+
var joopEventBus = globalSingleton("eventBus", () => new JoopEventBus());
|
|
18473
18515
|
|
|
18474
18516
|
// src/kyc/kyc-state-machine.ts
|
|
18475
18517
|
var TRANSITIONS = {
|