ivue 0.0.32 → 0.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/.babelrc.json +14 -0
- package/.eslintrc.cjs +24 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/compiler.xml +7 -0
- package/.idea/infinite-vue.iml +10 -0
- package/.idea/inspectionProfiles/Project_Default.xml +11 -0
- package/.idea/modules.xml +8 -0
- package/.idea/php.xml +20 -0
- package/.idea/vcs.xml +6 -0
- package/.vscode/extensions.json +3 -0
- package/LICENSE +19 -0
- package/README.md +31 -0
- package/demo/App.vue +72 -0
- package/demo/components/IVueTest.vue +298 -0
- package/demo/components/PreComponent.vue +13 -0
- package/demo/components/SubComponent2.vue +45 -0
- package/demo/components/TraitsComponent.vue +120 -0
- package/demo/components/useIVueTest.vue +136 -0
- package/demo/main.ts +21 -0
- package/demo/router/index.ts +14 -0
- package/demo/tests/IVueTests.ts +255 -0
- package/demo/tests/Mouse.ts +79 -0
- package/demo/tests/ParentIVueTests.ts +36 -0
- package/demo/tests/TApp.ts +15 -0
- package/demo/tests/TAuth.ts +23 -0
- package/demo/tests/TField.ts +84 -0
- package/demo/tests/TMessage.ts +52 -0
- package/demo/tests/TRouter.ts +18 -0
- package/demo/tests/TUser.ts +19 -0
- package/demo/tests/Test.ts +86 -0
- package/demo/tests/useField.ts +82 -0
- package/demo/tests/useIVueTests.ts +57 -0
- package/demo/vite.config.ts +13 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.es.js +518 -0
- package/dist/index.umd.js +1 -0
- package/dist/src/behavior.d.ts +72 -0
- package/dist/src/config.d.ts +6 -0
- package/dist/src/index.d.ts +21 -0
- package/dist/src/ivue.d.ts +35 -0
- package/dist/src/kernel.d.ts +182 -0
- package/dist/src/traits/UseCapsule.d.ts +9 -0
- package/dist/src/traits/UseEmit.d.ts +3 -0
- package/dist/src/traits/UseInstance.d.ts +6 -0
- package/dist/src/traits/UseMounting.d.ts +11 -0
- package/dist/src/traits/UseRefs.d.ts +8 -0
- package/dist/src/traits/UseRoute.d.ts +3 -0
- package/dist/src/traits/UseRouter.d.ts +3 -0
- package/dist/src/traits/UseRouting.d.ts +6 -0
- package/dist/src/traits/UseTick.d.ts +4 -0
- package/dist/src/traits/UseVue.d.ts +13 -0
- package/dist/src/types/core.d.ts +46 -0
- package/dist/src/utils/dispose-garbage.d.ts +12 -0
- package/dist/src/utils/extend.d.ts +12 -0
- package/dist/src/utils/getters.d.ts +21 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/is.d.ts +14 -0
- package/dist/src/utils/pre.d.ts +9 -0
- package/dist/src/utils/raw.d.ts +12 -0
- package/dist/src/utils/safe-class-name.d.ts +7 -0
- package/dist/src/utils/traits.d.ts +41 -0
- package/env.d.ts +1 -0
- package/index.html +13 -0
- package/package-lock.json +14305 -0
- package/package.json +89 -10
- package/public/favicon.ico +0 -0
- package/src/App/App.ts +27 -0
- package/src/App/Auth/Auth.ts +105 -0
- package/src/App/Auth/Auth.vue +98 -0
- package/src/App/Auth/Logout.vue +14 -0
- package/src/App/Auth/User.ts +6 -0
- package/src/App/BlackBox.ts +75 -0
- package/src/App/Config.ts +6 -0
- package/src/App/Generators/generators.ts +47 -0
- package/src/App/Home/Home.vue +16 -0
- package/src/App/Services/Http/FakeHttp.ts +8 -0
- package/src/App/Services/Http/Http.ts +51 -0
- package/src/App/Services/Message/Message.ts +49 -0
- package/src/App/Services/Message/Message.vue +15 -0
- package/src/App/Services/Navigation/Navigation.ts +83 -0
- package/src/App/Services/Navigation/Navigation.vue +59 -0
- package/src/App/Services/Routing/FakeRouter.ts +7 -0
- package/src/App/Services/Routing/NotFoundRoute.vue +13 -0
- package/src/App/Services/Routing/Router.ts +262 -0
- package/src/App/Services/Routing/Routes.ts +49 -0
- package/src/App/Stubs/SingleBookResultStub.ts +13 -0
- package/src/App/Traits/UseApp.ts +6 -0
- package/src/App/Traits/UseBlackline.ts +0 -0
- package/src/App/Traits/UseQuasar.ts +8 -0
- package/src/behavior.ts +269 -0
- package/src/config.ts +15 -0
- package/src/dev/dev-utils.ts +78 -0
- package/src/index.ts +83 -0
- package/src/ivue.ts +296 -0
- package/src/kernel.ts +810 -0
- package/src/tests/auth.spec.ts +48 -0
- package/src/traits/UseCapsule.ts +28 -0
- package/src/traits/UseEmit.ts +3 -0
- package/src/traits/UseInstance.ts +17 -0
- package/src/traits/UseMounting.ts +23 -0
- package/src/traits/UseRefs.ts +17 -0
- package/src/traits/UseRoute.ts +6 -0
- package/src/traits/UseRouter.ts +5 -0
- package/src/traits/UseRouting.ts +7 -0
- package/src/traits/UseTick.ts +5 -0
- package/src/traits/UseVue.ts +38 -0
- package/src/types/core.ts +64 -0
- package/src/utils/dispose-garbage.ts +34 -0
- package/src/utils/extend.ts +85 -0
- package/src/utils/getters.ts +62 -0
- package/src/utils/index.ts +16 -0
- package/src/utils/is.ts +22 -0
- package/src/utils/pre.ts +29 -0
- package/src/utils/raw.ts +19 -0
- package/src/utils/safe-class-name.ts +15 -0
- package/src/utils/traits.ts +121 -0
- package/tsconfig.app.json +47 -0
- package/tsconfig.json +14 -0
- package/tsconfig.node.json +14 -0
- package/tsconfig.vitest.json +9 -0
- package/vite.config.ts +55 -0
- package/vitest.config.ts +18 -0
- package/dist/index.js +0 -218
- package/docs/index.html +0 -195
- package/docs/index.json +0 -3
- package/docs/input.html +0 -41
- package/docs/items.html +0 -42
- package/gulpfile.js +0 -5
- package/src/components/checkbox.js +0 -47
- package/src/components/data.js +0 -6
- package/src/components/file.js +0 -40
- package/src/components/form.js +0 -7
- package/src/components/index.js +0 -15
- package/src/components/input.js +0 -80
- package/src/components/items.js +0 -65
- package/src/components/modal.js +0 -42
- package/src/components/paginate-old.js +0 -88
- package/src/components/paginate.js +0 -35
- package/src/components/select-search.js +0 -152
- package/src/components/select.js +0 -62
- package/src/components/submit.js +0 -10
- package/src/components/textarea.js +0 -72
- package/src/components/upload.js +0 -49
- package/src/directives/href.js +0 -10
- package/src/directives/index.js +0 -1
- package/src/filters/date.js +0 -3
- package/src/filters/datetime.js +0 -3
- package/src/filters/index.js +0 -4
- package/src/filters/json.js +0 -3
- package/src/filters/money.js +0 -3
- package/src/index.js +0 -4
- package/src/mixins/data.js +0 -13
- package/src/mixins/form.js +0 -85
- package/src/mixins/resource.js +0 -31
- package/src/services/client.js +0 -32
- package/src/services/flash.js +0 -17
- package/src/services/index.js +0 -2
package/dist/index.es.js
ADDED
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { markRaw as t, getCurrentScope as e, effectScope as n, reactive as r, computed as o, onScopeDispose as i, toRef as s, toRaw as u, getCurrentInstance as c, onBeforeMount as a, onMounted as f, onBeforeUnmount as l, onUnmounted as h, toValue as p, nextTick as b } from "vue";
|
|
8
|
+
function g(t2) {
|
|
9
|
+
delete t2.__v_skip;
|
|
10
|
+
}
|
|
11
|
+
function d(e2) {
|
|
12
|
+
return t(e2);
|
|
13
|
+
}
|
|
14
|
+
function y(t2) {
|
|
15
|
+
return t2 && "object" == typeof t2 && !Array.isArray(t2);
|
|
16
|
+
}
|
|
17
|
+
function v(t2, ...e2) {
|
|
18
|
+
return m(t2, [...e2], /* @__PURE__ */ new WeakMap());
|
|
19
|
+
}
|
|
20
|
+
function m(t2, e2, n2 = null) {
|
|
21
|
+
if (!e2.length)
|
|
22
|
+
return t2;
|
|
23
|
+
n2.set(t2, true);
|
|
24
|
+
const r2 = e2.shift();
|
|
25
|
+
if (y(t2) && y(r2))
|
|
26
|
+
for (const e3 in r2)
|
|
27
|
+
y(r2[e3]) && "Object" === r2[e3].constructor.name ? n2.has(r2[e3]) || null !== (o2 = r2[e3]) && "object" == typeof o2 && "function" == typeof o2.then && "function" == typeof o2.catch || void 0 === t2[e3] ? t2[e3] = r2[e3] : y(t2[e3]) ? "Object" !== t2[e3].constructor.name ? t2[e3] = r2[e3] : m(t2[e3], [r2[e3]], n2) : t2[e3] = r2[e3] : t2[e3] = r2[e3];
|
|
28
|
+
var o2;
|
|
29
|
+
return m(t2, e2, n2);
|
|
30
|
+
}
|
|
31
|
+
function O(t2, e2) {
|
|
32
|
+
const n2 = {}, r2 = Object.getOwnPropertyNames(t2.prototype).reduce((e3, r3) => {
|
|
33
|
+
const o3 = Object.getOwnPropertyDescriptor(t2.prototype, r3);
|
|
34
|
+
let i2 = false;
|
|
35
|
+
return (o3 == null ? void 0 : o3.set) && !(o3 == null ? void 0 : o3.get) && (n2[r3] = o3 == null ? void 0 : o3.set, i2 = true), i2 || (e3[r3] = true), e3;
|
|
36
|
+
}, {}), o2 = {};
|
|
37
|
+
e2.reverse().forEach((e3) => {
|
|
38
|
+
const i2 = new e3(t2);
|
|
39
|
+
for (const e4 in i2)
|
|
40
|
+
e4 in r2 || (o2[e4] = true), e4 in o2 && Object.defineProperty(t2.prototype, e4, { value: i2[e4], writable: true });
|
|
41
|
+
Object.getOwnPropertyNames(e3.prototype).forEach((i3) => {
|
|
42
|
+
if ("constructor" !== i3 && (i3 in r2 || (o2[i3] = true), i3 in o2)) {
|
|
43
|
+
const r3 = Object.getOwnPropertyDescriptor(e3.prototype, i3) || /* @__PURE__ */ Object.create(null);
|
|
44
|
+
(r3 == null ? void 0 : r3.set) && !(i3 in n2) && (n2[i3] = r3 == null ? void 0 : r3.set), (r3 == null ? void 0 : r3.get) && !(r3 == null ? void 0 : r3.set) && i3 in n2 && (r3.set = n2[i3]), Object.defineProperty(t2.prototype, i3, r3);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
const w = /* @__PURE__ */ new Map();
|
|
50
|
+
function P(t2) {
|
|
51
|
+
if (w.has(t2))
|
|
52
|
+
return w.get(t2);
|
|
53
|
+
const e2 = t2, n2 = [];
|
|
54
|
+
for (; t2 && "Object" !== t2.constructor.name; )
|
|
55
|
+
n2.push.apply(n2, Object.entries(Object.getOwnPropertyDescriptors(t2))), t2 = Object.getPrototypeOf(t2.constructor.prototype);
|
|
56
|
+
const r2 = /* @__PURE__ */ new Map();
|
|
57
|
+
for (let t3 = 0; t3 < n2.length; t3++)
|
|
58
|
+
"__proto__" !== n2[t3][0] && "function" == typeof n2[t3][1].get && r2.set(n2[t3][0], n2[t3][1]);
|
|
59
|
+
return w.set(e2, r2), r2;
|
|
60
|
+
}
|
|
61
|
+
function E(t2) {
|
|
62
|
+
let e2 = "";
|
|
63
|
+
try {
|
|
64
|
+
e2 = (t2 == null ? void 0 : t2.name) || String(t2);
|
|
65
|
+
} catch (t3) {
|
|
66
|
+
e2 = "Unknown[failed to convert to string]";
|
|
67
|
+
}
|
|
68
|
+
return e2;
|
|
69
|
+
}
|
|
70
|
+
function j(t2, e2 = 2) {
|
|
71
|
+
const n2 = /* @__PURE__ */ new Set();
|
|
72
|
+
return JSON.stringify(t2, function(t3, e3) {
|
|
73
|
+
if ("object" == typeof e3 && null !== e3) {
|
|
74
|
+
if (n2.has(e3))
|
|
75
|
+
try {
|
|
76
|
+
return JSON.parse(JSON.stringify(e3));
|
|
77
|
+
} catch (t4) {
|
|
78
|
+
return "[**circular**]";
|
|
79
|
+
}
|
|
80
|
+
n2.add(e3);
|
|
81
|
+
}
|
|
82
|
+
return e3;
|
|
83
|
+
}, e2);
|
|
84
|
+
}
|
|
85
|
+
let F = { router: null, debug: false };
|
|
86
|
+
function C(t2 = {}) {
|
|
87
|
+
v(F, t2);
|
|
88
|
+
}
|
|
89
|
+
const S = { before: /* @__PURE__ */ new Map(), after: /* @__PURE__ */ new Map() };
|
|
90
|
+
function k(t2, e2, n2) {
|
|
91
|
+
const r2 = S[t2].get(e2);
|
|
92
|
+
for (let t3 = 0; t3 < (r2 == null ? void 0 : r2.length); t3++)
|
|
93
|
+
if (true === r2[t3](n2, ...n2.args))
|
|
94
|
+
return n2.return;
|
|
95
|
+
}
|
|
96
|
+
function T(t2, e2, n2, r2) {
|
|
97
|
+
var _a;
|
|
98
|
+
S[t2].has(e2) ? (_a = S[t2].get(e2)) == null ? void 0 : _a[r2.top ? "unshift" : "push"](n2) : S[t2].set(e2, [n2]);
|
|
99
|
+
}
|
|
100
|
+
function N(t2, e2) {
|
|
101
|
+
var _a;
|
|
102
|
+
if (Array.isArray(t2)) {
|
|
103
|
+
if ("function" != typeof t2[0])
|
|
104
|
+
throw new Error("ivue.kernel.behavior: Cannot autobind intercept to " + t2[0] + ". Supply a valid Class to autobind behavior.");
|
|
105
|
+
if ("function" == typeof t2[1]) {
|
|
106
|
+
const n2 = t2[1].toString();
|
|
107
|
+
if (!("class" === n2.substring(0, 5))) {
|
|
108
|
+
const r2 = n2.indexOf("(");
|
|
109
|
+
n2.substring(0, r2).split(" "), t2[0].behavior = { ..."object" == typeof t2[0].behavior ? t2[0].behavior : {}, funcName: e2 ? "SCOPED_INTERCEPT" : "INTERCEPT" };
|
|
110
|
+
}
|
|
111
|
+
return t2[1];
|
|
112
|
+
}
|
|
113
|
+
throw new Error('ivue.kernel.behavior: Cannot autobind intercept "' + t2[1] + '" to ' + (((_a = t2[0]) == null ? void 0 : _a.name) ?? t2[0]));
|
|
114
|
+
}
|
|
115
|
+
return t2;
|
|
116
|
+
}
|
|
117
|
+
function _(t2, e2, n2 = { top: false, scoped: false }) {
|
|
118
|
+
T("before", N(t2, n2.scoped), e2, n2);
|
|
119
|
+
}
|
|
120
|
+
function I(t2, e2, n2 = { top: false, scoped: false }) {
|
|
121
|
+
T("after", N(t2, n2.scoped), e2, n2);
|
|
122
|
+
}
|
|
123
|
+
function M(t2, e2, n2, r2, o2) {
|
|
124
|
+
let i2 = S[t2].get(e2.constructor.prototype[n2]);
|
|
125
|
+
for (let t3 = 0; t3 < (i2 == null ? void 0 : i2.length); t3++)
|
|
126
|
+
if (true === i2[t3](o2, ...r2))
|
|
127
|
+
return true;
|
|
128
|
+
i2 = S[t2].get(e2[n2]);
|
|
129
|
+
for (let t3 = 0; t3 < (i2 == null ? void 0 : i2.length); t3++)
|
|
130
|
+
if (true === i2[t3](o2, ...r2))
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
var R = ((t2) => (t2.SCOPED = "SCOPED", t2.SCOPED_INTERCEPT = "SCOPED_INTERCEPT", t2.INTERCEPT = "INTERCEPT", t2.OFF = "OFF", t2))(R || {});
|
|
134
|
+
function $(t2, e2, n2, r2, o2, i2, s2) {
|
|
135
|
+
let u2;
|
|
136
|
+
if ("SCOPED" === e2)
|
|
137
|
+
return Object.defineProperty(r2, o2, { value: function(...t3) {
|
|
138
|
+
return i2.run(() => u2 = n2.bind(r2)(...t3)), u2;
|
|
139
|
+
}, writable: true, configurable: true, enumerable: false });
|
|
140
|
+
const c2 = (...e3) => (true === M("before", r2, o2, e3, s2 = { mapping: t2, self: r2, return: u2, name: o2, args: e3 }) || (u2 = n2.bind(r2)(...e3), s2.return = u2, M("after", r2, o2, e3, s2)), s2.return);
|
|
141
|
+
switch (e2) {
|
|
142
|
+
case "INTERCEPT":
|
|
143
|
+
return Object.defineProperty(r2, o2, { value: function(...t3) {
|
|
144
|
+
return c2(...t3);
|
|
145
|
+
}, writable: true, configurable: true, enumerable: false });
|
|
146
|
+
case "SCOPED_INTERCEPT":
|
|
147
|
+
return Object.defineProperty(r2, o2, { value: function(...t3) {
|
|
148
|
+
return i2.run(() => u2 = c2(...t3)), u2;
|
|
149
|
+
}, writable: true, configurable: true, enumerable: false });
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function D(t2, ...s2) {
|
|
153
|
+
let u2 = e(), c2 = n(!!u2), a2 = P(t2.prototype), f2 = a2.size ? {} : null, l2 = new Proxy(r(new t2(...s2)), { get: (t3, e2) => {
|
|
154
|
+
var _a, _b;
|
|
155
|
+
return a2.has(e2) && ((_b = (_a = l2.constructor) == null ? void 0 : _a.behavior) == null ? void 0 : _b[e2]) !== R.OFF ? (e2 in f2 || (c2 == null ? void 0 : c2.run(() => f2[e2] = o(() => a2.get(e2).get.bind(l2)()))), f2[e2].value) : "toRefs" === e2 ? J(l2, a2, f2, c2) : t3[e2];
|
|
156
|
+
} });
|
|
157
|
+
return "init" in l2 && c2.run(() => l2.init()), u2 && i(() => {
|
|
158
|
+
let t3;
|
|
159
|
+
for (t3 in c2 == null ? void 0 : c2.stop(), l2)
|
|
160
|
+
delete l2[t3];
|
|
161
|
+
for (t3 in f2)
|
|
162
|
+
delete f2[t3];
|
|
163
|
+
u2 = c2 = a2 = f2 = l2 = t3 = null;
|
|
164
|
+
}), l2;
|
|
165
|
+
}
|
|
166
|
+
function x(t2) {
|
|
167
|
+
let o2 = e(), s2 = n(!!o2), u2 = function(t3) {
|
|
168
|
+
const e2 = /* @__PURE__ */ new Map(), n2 = Object.entries(Object.getOwnPropertyDescriptors(t3));
|
|
169
|
+
for (let t4 = 0; t4 < n2.length; t4++)
|
|
170
|
+
"function" == typeof n2[t4][1].get && "__proto__" !== n2[t4][0] && e2.set(n2[t4][0], n2[t4][1]);
|
|
171
|
+
return e2;
|
|
172
|
+
}(t2), c2 = u2.size ? {} : null, a2 = W(r(t2), u2, c2, s2);
|
|
173
|
+
return "init" in a2 && s2.run(() => a2.init()), o2 && i(() => {
|
|
174
|
+
let e2;
|
|
175
|
+
for (e2 in s2 == null ? void 0 : s2.stop(), a2)
|
|
176
|
+
delete a2[e2];
|
|
177
|
+
for (e2 in c2)
|
|
178
|
+
delete c2[e2];
|
|
179
|
+
o2 = s2 = u2 = c2 = t2 = a2 = e2 = null;
|
|
180
|
+
}), a2;
|
|
181
|
+
}
|
|
182
|
+
function W(t2, e2, n2, r2, ...i2) {
|
|
183
|
+
return new Proxy(t2, { get: (i3, s2) => {
|
|
184
|
+
var _a, _b;
|
|
185
|
+
return e2.has(s2) && ((_b = (_a = t2.constructor) == null ? void 0 : _a.behavior) == null ? void 0 : _b[s2]) !== R.OFF ? (s2 in n2 || (r2 == null ? void 0 : r2.run(() => n2[s2] = o(() => {
|
|
186
|
+
var _a2;
|
|
187
|
+
return (_a2 = e2.get(s2)) == null ? void 0 : _a2.get.bind(t2)();
|
|
188
|
+
}))), n2[s2].value) : "toRefs" === s2 ? J(t2, e2, n2, r2) : i3[s2];
|
|
189
|
+
} });
|
|
190
|
+
}
|
|
191
|
+
function J(t2, e2, n2, r2) {
|
|
192
|
+
return function(...i2) {
|
|
193
|
+
const u2 = {};
|
|
194
|
+
if (i2.length)
|
|
195
|
+
for (let c2 = 0; c2 < i2.length; c2++) {
|
|
196
|
+
const a2 = i2[c2];
|
|
197
|
+
e2.has(a2) ? a2 in n2 ? u2[a2] = n2[a2] : r2.run(() => u2[a2] = n2[a2] = o(() => {
|
|
198
|
+
var _a;
|
|
199
|
+
return (_a = e2.get(a2)) == null ? void 0 : _a.get.bind(t2)();
|
|
200
|
+
})) : "function" == typeof t2[a2] ? u2[a2] = t2[a2].bind(t2) : u2[a2] = s(t2, a2);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
for (const n3 in t2)
|
|
204
|
+
e2.has(n3) || ("function" == typeof t2[n3] ? u2[n3] = t2[n3].bind(t2) : u2[n3] = s(t2, n3));
|
|
205
|
+
e2.forEach((e3, i3) => {
|
|
206
|
+
i3 in n2 ? u2[i3] = n2[i3] : r2.run(() => u2[i3] = n2[i3] = o(() => e3.get.bind(t2)()));
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return new Proxy(t2, { get: (e3, n3) => n3 in u2 ? u2[n3] : n3 in e3 ? e3[n3].bind(t2) : void 0 });
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
function z(t2) {
|
|
213
|
+
return !!e() && (i(t2), true);
|
|
214
|
+
}
|
|
215
|
+
const A = (t2) => {
|
|
216
|
+
let e2 = u(t2), n2 = Object.getOwnPropertyNames(e2);
|
|
217
|
+
for (let t3 = 0; t3 < n2.length; t3++)
|
|
218
|
+
delete e2[n2[t3]];
|
|
219
|
+
e2 = null, n2 = null;
|
|
220
|
+
};
|
|
221
|
+
class U {
|
|
222
|
+
constructor(t2) {
|
|
223
|
+
__publicField(this, "to");
|
|
224
|
+
__publicField(this, "scope", "singleton");
|
|
225
|
+
__publicField(this, "type", "generic");
|
|
226
|
+
__publicField(this, "onInit", q);
|
|
227
|
+
this.from = t2, this.to = t2;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
class K {
|
|
231
|
+
constructor() {
|
|
232
|
+
__publicField(this, "transients", /* @__PURE__ */ new WeakMap());
|
|
233
|
+
__publicField(this, "singletons", /* @__PURE__ */ new WeakMap());
|
|
234
|
+
__publicField(this, "instances", /* @__PURE__ */ new WeakMap());
|
|
235
|
+
__publicField(this, "subscribers", /* @__PURE__ */ new WeakMap());
|
|
236
|
+
__publicField(this, "effectScopes", /* @__PURE__ */ new WeakMap());
|
|
237
|
+
__publicField(this, "current");
|
|
238
|
+
}
|
|
239
|
+
bind(t2) {
|
|
240
|
+
return this.current = new U(t2), this;
|
|
241
|
+
}
|
|
242
|
+
to(t2) {
|
|
243
|
+
return this.current.to = t2, this;
|
|
244
|
+
}
|
|
245
|
+
singleton() {
|
|
246
|
+
return this.current.scope = "singleton", this[this.current.scope + "s"].set(this.current.from, this.current), this;
|
|
247
|
+
}
|
|
248
|
+
transient() {
|
|
249
|
+
return this.current.scope = "transient", this[this.current.scope + "s"].set(this.current.from, this.current), this;
|
|
250
|
+
}
|
|
251
|
+
type(t2) {
|
|
252
|
+
return this.current.type = t2, this;
|
|
253
|
+
}
|
|
254
|
+
ivue() {
|
|
255
|
+
return this.current.type = "ivue", this.current.onInit = () => {
|
|
256
|
+
}, this;
|
|
257
|
+
}
|
|
258
|
+
onInit(t2) {
|
|
259
|
+
return this.current.onInit = t2, this;
|
|
260
|
+
}
|
|
261
|
+
get(t2, ...e2) {
|
|
262
|
+
if (this.instances.has(t2))
|
|
263
|
+
return this.instances.get(t2);
|
|
264
|
+
let n2 = this.singletons.get(t2);
|
|
265
|
+
n2 || (this.bind(t2).singleton(), n2 = this.singletons.get(t2));
|
|
266
|
+
const r2 = n2.onInit(n2, ...e2);
|
|
267
|
+
return this.instances.set(t2, r2), r2;
|
|
268
|
+
}
|
|
269
|
+
make(t2, ...e2) {
|
|
270
|
+
let n2 = this.transients.get(t2);
|
|
271
|
+
return n2 || (this.bind(t2).transient(), n2 = this.transients.get(t2)), n2.onInit(n2, ...e2);
|
|
272
|
+
}
|
|
273
|
+
use(i2, ...s2) {
|
|
274
|
+
let u2, a2, f2, l2, h2, p2, b2;
|
|
275
|
+
if (this.subscribers.set(i2, (this.subscribers.get(i2) || 0) + 1), z(() => {
|
|
276
|
+
var _a;
|
|
277
|
+
const t2 = (this.subscribers.get(i2) || 0) - 1;
|
|
278
|
+
if (this.subscribers.set(i2, t2), this.effectScopes.has(i2) && t2 <= 0) {
|
|
279
|
+
let t3;
|
|
280
|
+
if ((_a = this.effectScopes.get(i2)) == null ? void 0 : _a.stop(), f2)
|
|
281
|
+
for (t3 in f2)
|
|
282
|
+
delete f2[t3];
|
|
283
|
+
if (h2)
|
|
284
|
+
for (t3 in h2)
|
|
285
|
+
h2[t3] = null;
|
|
286
|
+
if (p2)
|
|
287
|
+
for (t3 in p2)
|
|
288
|
+
p2[t3] = null;
|
|
289
|
+
if (b2)
|
|
290
|
+
for (t3 in b2)
|
|
291
|
+
b2[t3] = null;
|
|
292
|
+
f2 && A(f2), u2 = a2 = f2 = h2 = p2 = b2 = t3 = null, this.effectScopes.delete(i2), this.instances.delete(i2), this.subscribers.delete(i2), F.debug && console.log("ivue.kernel: instance deleted:", i2.name);
|
|
293
|
+
}
|
|
294
|
+
}), this.instances.has(i2))
|
|
295
|
+
return this.instances.get(i2);
|
|
296
|
+
{
|
|
297
|
+
if (a2 = this.singletons.get(i2), a2) {
|
|
298
|
+
if ("ivue" !== a2.type)
|
|
299
|
+
throw new Error("ivue.kernel: use(" + E(i2) + ") method should be used only with 'ivue' mappings, use get(" + E(i2) + ") method for standard JavaScript singleton Kernel mappings.");
|
|
300
|
+
} else
|
|
301
|
+
this.bind(i2).singleton().ivue(), a2 = this.singletons.get(i2);
|
|
302
|
+
if (u2 = n(!!e()), this.effectScopes.set(i2, u2), S.before.has(a2.to) && (p2 = { mapping: a2, self: null, return: null, name: a2.to.constructor.name, args: s2 }, true === k("before", a2.to, p2)))
|
|
303
|
+
return this.instances.set(i2, p2.return), p2.return;
|
|
304
|
+
l2 = P(a2.to.prototype), h2 = l2.size ? {} : null;
|
|
305
|
+
let f3 = new Proxy(r(new i2(...s2)), { get: (t2, e2) => {
|
|
306
|
+
var _a, _b;
|
|
307
|
+
return l2.has(e2) && ((_b = (_a = f3.constructor) == null ? void 0 : _a.behavior) == null ? void 0 : _b[e2]) !== R.OFF ? (e2 in h2 || (u2 == null ? void 0 : u2.run(() => h2[e2] = o(() => l2.get(e2).get.bind(f3)()))), h2[e2].value) : "toRefs" === e2 ? J(f3, l2, h2, u2) : t2[e2];
|
|
308
|
+
} });
|
|
309
|
+
if ("behavior" in f3.constructor) {
|
|
310
|
+
for (const e2 in f3.constructor.behavior)
|
|
311
|
+
if (!l2.has(e2))
|
|
312
|
+
if ("function" == typeof f3[e2]) {
|
|
313
|
+
if (f3.constructor.behavior[e2] === R.OFF)
|
|
314
|
+
continue;
|
|
315
|
+
y(b2) || (b2 = {}), b2[e2] = f3[e2], $(a2, f3.constructor.behavior[e2], b2[e2], f3, e2, u2, p2);
|
|
316
|
+
} else
|
|
317
|
+
f3.constructor.behavior[e2] === R.OFF && (f3 == null ? void 0 : f3[e2]) && "object" == typeof f3[e2] && (f3[e2] = t(f3[e2]));
|
|
318
|
+
}
|
|
319
|
+
return S.after.has(a2.to) && (p2 = { mapping: a2, self: f3, name: a2.to.constructor.name, return: f3, args: s2 }, true === k("after", a2.to, p2)) ? (this.instances.set(i2, p2.return), p2.return) : ("init" in f3 && u2.run(() => f3.init()), this.instances.set(i2, f3), F.debug && console.log("ivue.kernel: instance created:", i2.name, "current scope", e(), "current instance", c()), f3);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
init(i2, ...s2) {
|
|
323
|
+
let u2 = this.transients.get(i2);
|
|
324
|
+
if (u2) {
|
|
325
|
+
if ("ivue" !== u2.type)
|
|
326
|
+
throw new Error("ivue.kernel: init(" + E(i2) + ") method should be used only with 'ivue' mappings, use make(" + E(i2) + ") method for standard JavaScript transient Kernel mappings.");
|
|
327
|
+
} else
|
|
328
|
+
this.bind(i2).transient().ivue(), u2 = this.transients.get(i2);
|
|
329
|
+
let c2, a2, f2, l2 = n(!!e());
|
|
330
|
+
if (S.before.has(u2.to) && (c2 = { mapping: u2, self: null, return: null, name: u2.to.constructor.name, args: s2 }, true === k("before", u2.to, c2)))
|
|
331
|
+
return c2.return;
|
|
332
|
+
let h2 = P(u2.to.prototype);
|
|
333
|
+
a2 = h2.size ? {} : null;
|
|
334
|
+
let p2 = new Proxy(r(new i2(...s2)), { get: (t2, e2) => {
|
|
335
|
+
var _a, _b;
|
|
336
|
+
return h2.has(e2) && ((_b = (_a = p2.constructor) == null ? void 0 : _a.behavior) == null ? void 0 : _b[e2]) !== R.OFF ? (e2 in a2 || (l2 == null ? void 0 : l2.run(() => a2[e2] = o(() => h2.get(e2).get.bind(p2)()))), a2[e2].value) : "toRefs" === e2 ? J(p2, h2, a2, l2) : t2[e2];
|
|
337
|
+
} });
|
|
338
|
+
if ("behavior" in p2.constructor) {
|
|
339
|
+
for (const e2 in p2.constructor.behavior)
|
|
340
|
+
if (!h2.has(e2))
|
|
341
|
+
if ("function" == typeof p2[e2]) {
|
|
342
|
+
if (p2.constructor.behavior[e2] === R.OFF)
|
|
343
|
+
continue;
|
|
344
|
+
y(f2) || (f2 = {}), f2[e2] = p2[e2], $(u2, p2.constructor.behavior[e2], f2[e2], p2, e2, l2, c2);
|
|
345
|
+
} else
|
|
346
|
+
p2.constructor.behavior[e2] === R.OFF && (p2 == null ? void 0 : p2[e2]) && "object" == typeof p2[e2] && (p2[e2] = t(p2[e2]));
|
|
347
|
+
}
|
|
348
|
+
return S.after.has(u2.to) && (c2 = { mapping: u2, self: p2, return: p2, name: u2.to.constructor.name, args: s2 }, true === k("after", u2.to, c2)) ? c2.return : ("init" in p2 && l2.run(() => p2.init()), z(() => {
|
|
349
|
+
let t2;
|
|
350
|
+
if (l2 == null ? void 0 : l2.stop(), A(p2), c2)
|
|
351
|
+
for (t2 in c2)
|
|
352
|
+
c2[t2] = null;
|
|
353
|
+
if (a2)
|
|
354
|
+
for (t2 in a2)
|
|
355
|
+
a2[t2] = null;
|
|
356
|
+
if (f2)
|
|
357
|
+
for (t2 in f2)
|
|
358
|
+
f2[t2] = null;
|
|
359
|
+
l2 = p2 = u2 = a2 = c2 = f2 = t2 = null;
|
|
360
|
+
}), p2);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
function q(t2, ...r2) {
|
|
364
|
+
if (S.before.has(t2.to)) {
|
|
365
|
+
const e2 = { mapping: t2, self: null, return: null, name: t2.to.constructor.name, args: r2 };
|
|
366
|
+
if (true === k("before", t2.to, e2))
|
|
367
|
+
return e2.return;
|
|
368
|
+
}
|
|
369
|
+
let o2, i2 = new t2.to(...r2);
|
|
370
|
+
const s2 = P(t2.to.prototype);
|
|
371
|
+
if ("behavior" in i2.constructor && "object" == typeof i2.constructor.behavior) {
|
|
372
|
+
for (const r3 in i2.constructor.behavior)
|
|
373
|
+
if (!s2.has(r3) && "function" == typeof i2[r3]) {
|
|
374
|
+
if (i2.constructor.behavior[r3] === R.OFF)
|
|
375
|
+
continue;
|
|
376
|
+
y(o2) || (o2 = {}), o2[r3] = i2[r3], $(t2, i2.constructor.behavior[r3], o2[r3], i2, r3, n(!!e()), void 0);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
if (S.after.has(t2.to)) {
|
|
380
|
+
const e2 = { mapping: t2, self: i2, return: i2, name: t2.to.constructor.name, args: r2 };
|
|
381
|
+
if (true === k("after", t2.to, e2))
|
|
382
|
+
return e2.return;
|
|
383
|
+
}
|
|
384
|
+
return i2;
|
|
385
|
+
}
|
|
386
|
+
function B(t2, o2, ...i2) {
|
|
387
|
+
let s2 = n(!!e()), u2 = P(Reflect.getPrototypeOf(o2)), c2 = u2.value ? {} : null, a2 = W(r(Object.create(o2)), u2, c2, s2, ...i2);
|
|
388
|
+
return "function" == typeof a2.init && s2.run(() => a2.init()), z(() => {
|
|
389
|
+
s2 == null ? void 0 : s2.stop(), A(a2), s2 = a2 = null;
|
|
390
|
+
}), a2;
|
|
391
|
+
}
|
|
392
|
+
const G = new K(), H = G.bind.bind(G), L = G.get.bind(G), Q = G.make.bind(G), V = G.use.bind(G), X = G.init.bind(G);
|
|
393
|
+
class Y {
|
|
394
|
+
constructor() {
|
|
395
|
+
__publicField(this, "$");
|
|
396
|
+
__publicField(this, "capsule");
|
|
397
|
+
}
|
|
398
|
+
useCapsule(e2 = []) {
|
|
399
|
+
this.$ = V(this.capsule, this, ...e2), t(this.$);
|
|
400
|
+
}
|
|
401
|
+
initCapsule(e2 = []) {
|
|
402
|
+
this.$ = X(this.capsule, this, ...e2), t(this.$);
|
|
403
|
+
}
|
|
404
|
+
getCapsule(t2 = []) {
|
|
405
|
+
this.$ = L(this.capsule, this, ...t2);
|
|
406
|
+
}
|
|
407
|
+
makeCapsule(t2 = []) {
|
|
408
|
+
this.$ = Q(this.capsule, this, ...t2);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
function Z(t2, e2) {
|
|
412
|
+
t2.behavior = v(t2.behavior ?? {}, { $instance: R.OFF });
|
|
413
|
+
}
|
|
414
|
+
class tt {
|
|
415
|
+
get $instance() {
|
|
416
|
+
return c();
|
|
417
|
+
}
|
|
418
|
+
constructor(t2) {
|
|
419
|
+
Z(t2);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
function et(t2, e2) {
|
|
423
|
+
I(t2, ({ self: t3 }) => {
|
|
424
|
+
"beforeMount" in t3 && a(() => t3.beforeMount()), "mounted" in t3 && f(() => t3.mounted()), "beforeUnmount" in t3 && l(() => t3.beforeUnmount()), "unmounted" in t3 && h(() => t3.unmounted());
|
|
425
|
+
});
|
|
426
|
+
}
|
|
427
|
+
class nt {
|
|
428
|
+
constructor(t2) {
|
|
429
|
+
__publicField(this, "beforeMount", function() {
|
|
430
|
+
});
|
|
431
|
+
__publicField(this, "mounted", function() {
|
|
432
|
+
});
|
|
433
|
+
__publicField(this, "beforeUnmount", function() {
|
|
434
|
+
});
|
|
435
|
+
__publicField(this, "unmounted", function() {
|
|
436
|
+
});
|
|
437
|
+
et(t2);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
function rt(t2, e2) {
|
|
441
|
+
t2.behavior = v(t2.behavior ?? {}, { $refs: R.OFF });
|
|
442
|
+
}
|
|
443
|
+
class ot {
|
|
444
|
+
get $refs() {
|
|
445
|
+
var _a;
|
|
446
|
+
return (_a = c()) == null ? void 0 : _a.refs;
|
|
447
|
+
}
|
|
448
|
+
constructor(t2) {
|
|
449
|
+
rt(t2);
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
class it {
|
|
453
|
+
get route() {
|
|
454
|
+
var _a;
|
|
455
|
+
return p((_a = F.router) == null ? void 0 : _a.currentRoute);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
class st {
|
|
459
|
+
get router() {
|
|
460
|
+
return F.router;
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
class ut {
|
|
464
|
+
}
|
|
465
|
+
O(ut, [st, it]);
|
|
466
|
+
class ct {
|
|
467
|
+
constructor() {
|
|
468
|
+
__publicField(this, "$emit", (...t2) => {
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
class at {
|
|
473
|
+
constructor() {
|
|
474
|
+
__publicField(this, "$nextTick", b);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
class ft {
|
|
478
|
+
constructor(t2) {
|
|
479
|
+
!function(t3, e2) {
|
|
480
|
+
Z(t3), rt(t3), et(t3);
|
|
481
|
+
}(t2);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
O(ft, [ut, nt, ct, at, ot, tt]);
|
|
485
|
+
export {
|
|
486
|
+
R as IVUE,
|
|
487
|
+
K as Kernel,
|
|
488
|
+
U as Mapping,
|
|
489
|
+
O as Traits,
|
|
490
|
+
Y as UseCapsule,
|
|
491
|
+
ct as UseEmit,
|
|
492
|
+
tt as UseInstance,
|
|
493
|
+
nt as UseMounting,
|
|
494
|
+
ot as UseRefs,
|
|
495
|
+
it as UseRoute,
|
|
496
|
+
st as UseRouter,
|
|
497
|
+
ut as UseRouting,
|
|
498
|
+
at as UseTick,
|
|
499
|
+
ft as UseVue,
|
|
500
|
+
I as after,
|
|
501
|
+
_ as before,
|
|
502
|
+
H as bind,
|
|
503
|
+
F as config,
|
|
504
|
+
v as extend,
|
|
505
|
+
L as get,
|
|
506
|
+
X as init,
|
|
507
|
+
x as iobj,
|
|
508
|
+
D as ivue,
|
|
509
|
+
B as ivueInversify,
|
|
510
|
+
W as ivueTransform,
|
|
511
|
+
G as kernel,
|
|
512
|
+
Q as make,
|
|
513
|
+
j as pre,
|
|
514
|
+
d as raw,
|
|
515
|
+
C as setup,
|
|
516
|
+
g as unraw,
|
|
517
|
+
V as use
|
|
518
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var __defProp=Object.defineProperty,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__publicField=(e,t,n)=>(__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),n);!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ivue={},e.Vue)}(this,(function(e,t){"use strict";function n(e){return e&&"object"==typeof e&&!Array.isArray(e)}function r(e,...t){return o(e,[...t],new WeakMap)}function o(e,t,r=null){if(!t.length)return e;r.set(e,!0);const i=t.shift();if(n(e)&&n(i))for(const u in i)n(i[u])&&"Object"===i[u].constructor.name?r.has(i[u])||null!==(s=i[u])&&"object"==typeof s&&"function"==typeof s.then&&"function"==typeof s.catch||void 0===e[u]?e[u]=i[u]:n(e[u])?"Object"!==e[u].constructor.name?e[u]=i[u]:o(e[u],[i[u]],r):e[u]=i[u]:e[u]=i[u];var s;return o(e,t,r)}function i(e,t){const n={},r=Object.getOwnPropertyNames(e.prototype).reduce(((t,r)=>{const o=Object.getOwnPropertyDescriptor(e.prototype,r);let i=!1;return(null==o?void 0:o.set)&&!(null==o?void 0:o.get)&&(n[r]=null==o?void 0:o.set,i=!0),i||(t[r]=!0),t}),{}),o={};t.reverse().forEach((t=>{const i=new t(e);for(const n in i)n in r||(o[n]=!0),n in o&&Object.defineProperty(e.prototype,n,{value:i[n],writable:!0});Object.getOwnPropertyNames(t.prototype).forEach((i=>{if("constructor"!==i&&(i in r||(o[i]=!0),i in o)){const r=Object.getOwnPropertyDescriptor(t.prototype,i)||Object.create(null);(null==r?void 0:r.set)&&!(i in n)&&(n[i]=null==r?void 0:r.set),(null==r?void 0:r.get)&&!(null==r?void 0:r.set)&&i in n&&(r.set=n[i]),Object.defineProperty(e.prototype,i,r)}}))}))}const s=new Map;function u(e){if(s.has(e))return s.get(e);const t=e,n=[];for(;e&&"Object"!==e.constructor.name;)n.push.apply(n,Object.entries(Object.getOwnPropertyDescriptors(e))),e=Object.getPrototypeOf(e.constructor.prototype);const r=new Map;for(let o=0;o<n.length;o++)"__proto__"!==n[o][0]&&"function"==typeof n[o][1].get&&r.set(n[o][0],n[o][1]);return s.set(t,r),r}function c(e){let t="";try{t=(null==e?void 0:e.name)||String(e)}catch(n){t="Unknown[failed to convert to string]"}return t}let l={router:null,debug:!1};const a={before:new Map,after:new Map};function f(e,t,n){const r=a[e].get(t);for(let o=0;o<(null==r?void 0:r.length);o++)if(!0===r[o](n,...n.args))return n.return}function p(e,t,n,r){var o;a[e].has(t)?null==(o=a[e].get(t))||o[r.top?"unshift":"push"](n):a[e].set(t,[n])}function h(e,t){var n;if(Array.isArray(e)){if("function"!=typeof e[0])throw new Error("ivue.kernel.behavior: Cannot autobind intercept to "+e[0]+". Supply a valid Class to autobind behavior.");if("function"==typeof e[1]){const n=e[1].toString();if("class"!==n.substring(0,5)){const r=n.indexOf("(");n.substring(0,r).split(" "),e[0].behavior={..."object"==typeof e[0].behavior?e[0].behavior:{},funcName:t?"SCOPED_INTERCEPT":"INTERCEPT"}}return e[1]}throw new Error('ivue.kernel.behavior: Cannot autobind intercept "'+e[1]+'" to '+((null==(n=e[0])?void 0:n.name)??e[0]))}return e}function b(e,t,n={top:!1,scoped:!1}){p("after",h(e,n.scoped),t,n)}function d(e,t,n,r,o){let i=a[e].get(t.constructor.prototype[n]);for(let s=0;s<(null==i?void 0:i.length);s++)if(!0===i[s](o,...r))return!0;i=a[e].get(t[n]);for(let s=0;s<(null==i?void 0:i.length);s++)if(!0===i[s](o,...r))return!0}var g,v=((g=v||{}).SCOPED="SCOPED",g.SCOPED_INTERCEPT="SCOPED_INTERCEPT",g.INTERCEPT="INTERCEPT",g.OFF="OFF",g);function m(e,t,n,r,o,i,s){let u;if("SCOPED"===t)return Object.defineProperty(r,o,{value:function(...e){return i.run((()=>u=n.bind(r)(...e))),u},writable:!0,configurable:!0,enumerable:!1});const c=(...t)=>(!0===d("before",r,o,t,s={mapping:e,self:r,return:u,name:o,args:t})||(u=n.bind(r)(...t),s.return=u,d("after",r,o,t,s)),s.return);switch(t){case"INTERCEPT":return Object.defineProperty(r,o,{value:function(...e){return c(...e)},writable:!0,configurable:!0,enumerable:!1});case"SCOPED_INTERCEPT":return Object.defineProperty(r,o,{value:function(...e){return i.run((()=>u=c(...e))),u},writable:!0,configurable:!0,enumerable:!1})}}function y(e,n,r,o,...i){return new Proxy(e,{get:(i,s)=>{var u,c;return n.has(s)&&(null==(c=null==(u=e.constructor)?void 0:u.behavior)?void 0:c[s])!==v.OFF?(s in r||(null==o||o.run((()=>r[s]=t.computed((()=>{var t;return null==(t=n.get(s))?void 0:t.get.bind(e)()}))))),r[s].value):"toRefs"===s?_(e,n,r,o):i[s]}})}function _(e,n,r,o){return function(...i){const s={};if(i.length)for(let u=0;u<i.length;u++){const c=i[u];n.has(c)?c in r?s[c]=r[c]:o.run((()=>s[c]=r[c]=t.computed((()=>{var t;return null==(t=n.get(c))?void 0:t.get.bind(e)()})))):"function"==typeof e[c]?s[c]=e[c].bind(e):s[c]=t.toRef(e,c)}else{for(const r in e)n.has(r)||("function"==typeof e[r]?s[r]=e[r].bind(e):s[r]=t.toRef(e,r));n.forEach(((n,i)=>{i in r?s[i]=r[i]:o.run((()=>s[i]=r[i]=t.computed((()=>n.get.bind(e)()))))}))}return new Proxy(e,{get:(t,n)=>n in s?s[n]:n in t?t[n].bind(e):void 0})}}function w(e){return!!t.getCurrentScope()&&(t.onScopeDispose(e),!0)}const O=e=>{let n=t.toRaw(e),r=Object.getOwnPropertyNames(n);for(let t=0;t<r.length;t++)delete n[r[t]];n=null,r=null};class F{constructor(e){__publicField(this,"to"),__publicField(this,"scope","singleton"),__publicField(this,"type","generic"),__publicField(this,"onInit",S),this.from=e,this.to=e}}class P{constructor(){__publicField(this,"transients",new WeakMap),__publicField(this,"singletons",new WeakMap),__publicField(this,"instances",new WeakMap),__publicField(this,"subscribers",new WeakMap),__publicField(this,"effectScopes",new WeakMap),__publicField(this,"current")}bind(e){return this.current=new F(e),this}to(e){return this.current.to=e,this}singleton(){return this.current.scope="singleton",this[this.current.scope+"s"].set(this.current.from,this.current),this}transient(){return this.current.scope="transient",this[this.current.scope+"s"].set(this.current.from,this.current),this}type(e){return this.current.type=e,this}ivue(){return this.current.type="ivue",this.current.onInit=()=>{},this}onInit(e){return this.current.onInit=e,this}get(e,...t){if(this.instances.has(e))return this.instances.get(e);let n=this.singletons.get(e);n||(this.bind(e).singleton(),n=this.singletons.get(e));const r=n.onInit(n,...t);return this.instances.set(e,r),r}make(e,...t){let n=this.transients.get(e);return n||(this.bind(e).transient(),n=this.transients.get(e)),n.onInit(n,...t)}use(e,...r){let o,i,s,p,h,b,d;if(this.subscribers.set(e,(this.subscribers.get(e)||0)+1),w((()=>{var t;const n=(this.subscribers.get(e)||0)-1;if(this.subscribers.set(e,n),this.effectScopes.has(e)&&n<=0){let n;if(null==(t=this.effectScopes.get(e))||t.stop(),s)for(n in s)delete s[n];if(h)for(n in h)h[n]=null;if(b)for(n in b)b[n]=null;if(d)for(n in d)d[n]=null;s&&O(s),o=i=s=h=b=d=n=null,this.effectScopes.delete(e),this.instances.delete(e),this.subscribers.delete(e),l.debug&&console.log("ivue.kernel: instance deleted:",e.name)}})),this.instances.has(e))return this.instances.get(e);{if(i=this.singletons.get(e),i){if("ivue"!==i.type)throw new Error("ivue.kernel: use("+c(e)+") method should be used only with 'ivue' mappings, use get("+c(e)+") method for standard JavaScript singleton Kernel mappings.")}else this.bind(e).singleton().ivue(),i=this.singletons.get(e);if(o=t.effectScope(!!t.getCurrentScope()),this.effectScopes.set(e,o),a.before.has(i.to)&&(b={mapping:i,self:null,return:null,name:i.to.constructor.name,args:r},!0===f("before",i.to,b)))return this.instances.set(e,b.return),b.return;p=u(i.to.prototype),h=p.size?{}:null;let s=new Proxy(t.reactive(new e(...r)),{get:(e,n)=>{var r,i;return p.has(n)&&(null==(i=null==(r=s.constructor)?void 0:r.behavior)?void 0:i[n])!==v.OFF?(n in h||(null==o||o.run((()=>h[n]=t.computed((()=>p.get(n).get.bind(s)()))))),h[n].value):"toRefs"===n?_(s,p,h,o):e[n]}});if("behavior"in s.constructor)for(const e in s.constructor.behavior)if(!p.has(e))if("function"==typeof s[e]){if(s.constructor.behavior[e]===v.OFF)continue;n(d)||(d={}),d[e]=s[e],m(i,s.constructor.behavior[e],d[e],s,e,o,b)}else s.constructor.behavior[e]===v.OFF&&(null==s?void 0:s[e])&&"object"==typeof s[e]&&(s[e]=t.markRaw(s[e]));return a.after.has(i.to)&&(b={mapping:i,self:s,name:i.to.constructor.name,return:s,args:r},!0===f("after",i.to,b))?(this.instances.set(e,b.return),b.return):("init"in s&&o.run((()=>s.init())),this.instances.set(e,s),l.debug&&console.log("ivue.kernel: instance created:",e.name,"current scope",t.getCurrentScope(),"current instance",t.getCurrentInstance()),s)}}init(e,...r){let o=this.transients.get(e);if(o){if("ivue"!==o.type)throw new Error("ivue.kernel: init("+c(e)+") method should be used only with 'ivue' mappings, use make("+c(e)+") method for standard JavaScript transient Kernel mappings.")}else this.bind(e).transient().ivue(),o=this.transients.get(e);let i,s,l,p=t.effectScope(!!t.getCurrentScope());if(a.before.has(o.to)&&(i={mapping:o,self:null,return:null,name:o.to.constructor.name,args:r},!0===f("before",o.to,i)))return i.return;let h=u(o.to.prototype);s=h.size?{}:null;let b=new Proxy(t.reactive(new e(...r)),{get:(e,n)=>{var r,o;return h.has(n)&&(null==(o=null==(r=b.constructor)?void 0:r.behavior)?void 0:o[n])!==v.OFF?(n in s||(null==p||p.run((()=>s[n]=t.computed((()=>h.get(n).get.bind(b)()))))),s[n].value):"toRefs"===n?_(b,h,s,p):e[n]}});if("behavior"in b.constructor)for(const u in b.constructor.behavior)if(!h.has(u))if("function"==typeof b[u]){if(b.constructor.behavior[u]===v.OFF)continue;n(l)||(l={}),l[u]=b[u],m(o,b.constructor.behavior[u],l[u],b,u,p,i)}else b.constructor.behavior[u]===v.OFF&&(null==b?void 0:b[u])&&"object"==typeof b[u]&&(b[u]=t.markRaw(b[u]));return a.after.has(o.to)&&(i={mapping:o,self:b,return:b,name:o.to.constructor.name,args:r},!0===f("after",o.to,i))?i.return:("init"in b&&p.run((()=>b.init())),w((()=>{let e;if(null==p||p.stop(),O(b),i)for(e in i)i[e]=null;if(s)for(e in s)s[e]=null;if(l)for(e in l)l[e]=null;p=b=o=s=i=l=e=null})),b)}}function S(e,...r){if(a.before.has(e.to)){const t={mapping:e,self:null,return:null,name:e.to.constructor.name,args:r};if(!0===f("before",e.to,t))return t.return}let o,i=new e.to(...r);const s=u(e.to.prototype);if("behavior"in i.constructor&&"object"==typeof i.constructor.behavior)for(const u in i.constructor.behavior)if(!s.has(u)&&"function"==typeof i[u]){if(i.constructor.behavior[u]===v.OFF)continue;n(o)||(o={}),o[u]=i[u],m(e,i.constructor.behavior[u],o[u],i,u,t.effectScope(!!t.getCurrentScope()),void 0)}if(a.after.has(e.to)){const t={mapping:e,self:i,return:i,name:e.to.constructor.name,args:r};if(!0===f("after",e.to,t))return t.return}return i}const C=new P,E=C.bind.bind(C),j=C.get.bind(C),k=C.make.bind(C),R=C.use.bind(C),T=C.init.bind(C);function I(e,t){e.behavior=r(e.behavior??{},{$instance:v.OFF})}class M{get $instance(){return t.getCurrentInstance()}constructor(e){I(e)}}function N(e,n){b(e,(({self:e})=>{"beforeMount"in e&&t.onBeforeMount((()=>e.beforeMount())),"mounted"in e&&t.onMounted((()=>e.mounted())),"beforeUnmount"in e&&t.onBeforeUnmount((()=>e.beforeUnmount())),"unmounted"in e&&t.onUnmounted((()=>e.unmounted()))}))}class U{constructor(e){__publicField(this,"beforeMount",(function(){})),__publicField(this,"mounted",(function(){})),__publicField(this,"beforeUnmount",(function(){})),__publicField(this,"unmounted",(function(){})),N(e)}}function D(e,t){e.behavior=r(e.behavior??{},{$refs:v.OFF})}class ${get $refs(){var e;return null==(e=t.getCurrentInstance())?void 0:e.refs}constructor(e){D(e)}}class x{get route(){var e;return t.toValue(null==(e=l.router)?void 0:e.currentRoute)}}class W{get router(){return l.router}}class J{}i(J,[W,x]);class z{constructor(){__publicField(this,"$emit",((...e)=>{}))}}class A{constructor(){__publicField(this,"$nextTick",t.nextTick)}}class V{constructor(e){var t;I(t=e),D(t),N(t)}}i(V,[J,U,z,A,$,M]),e.IVUE=v,e.Kernel=P,e.Mapping=F,e.Traits=i,e.UseCapsule=class{constructor(){__publicField(this,"$"),__publicField(this,"capsule")}useCapsule(e=[]){this.$=R(this.capsule,this,...e),t.markRaw(this.$)}initCapsule(e=[]){this.$=T(this.capsule,this,...e),t.markRaw(this.$)}getCapsule(e=[]){this.$=j(this.capsule,this,...e)}makeCapsule(e=[]){this.$=k(this.capsule,this,...e)}},e.UseEmit=z,e.UseInstance=M,e.UseMounting=U,e.UseRefs=$,e.UseRoute=x,e.UseRouter=W,e.UseRouting=J,e.UseTick=A,e.UseVue=V,e.after=b,e.before=function(e,t,n={top:!1,scoped:!1}){p("before",h(e,n.scoped),t,n)},e.bind=E,e.config=l,e.extend=r,e.get=j,e.init=T,e.iobj=function(e){let n=t.getCurrentScope(),r=t.effectScope(!!n),o=function(e){const t=new Map,n=Object.entries(Object.getOwnPropertyDescriptors(e));for(let r=0;r<n.length;r++)"function"==typeof n[r][1].get&&"__proto__"!==n[r][0]&&t.set(n[r][0],n[r][1]);return t}(e),i=o.size?{}:null,s=y(t.reactive(e),o,i,r);return"init"in s&&r.run((()=>s.init())),n&&t.onScopeDispose((()=>{let t;for(t in null==r||r.stop(),s)delete s[t];for(t in i)delete i[t];n=r=o=i=e=s=t=null})),s},e.ivue=function(e,...n){let r=t.getCurrentScope(),o=t.effectScope(!!r),i=u(e.prototype),s=i.size?{}:null,c=new Proxy(t.reactive(new e(...n)),{get:(e,n)=>{var r,u;return i.has(n)&&(null==(u=null==(r=c.constructor)?void 0:r.behavior)?void 0:u[n])!==v.OFF?(n in s||(null==o||o.run((()=>s[n]=t.computed((()=>i.get(n).get.bind(c)()))))),s[n].value):"toRefs"===n?_(c,i,s,o):e[n]}});return"init"in c&&o.run((()=>c.init())),r&&t.onScopeDispose((()=>{let e;for(e in null==o||o.stop(),c)delete c[e];for(e in s)delete s[e];r=o=i=s=c=e=null})),c},e.ivueInversify=function(e,n,...r){let o=t.effectScope(!!t.getCurrentScope()),i=u(Reflect.getPrototypeOf(n)),s=i.value?{}:null,c=y(t.reactive(Object.create(n)),i,s,o,...r);return"function"==typeof c.init&&o.run((()=>c.init())),w((()=>{null==o||o.stop(),O(c),o=c=null})),c},e.ivueTransform=y,e.kernel=C,e.make=k,e.pre=function(e,t=2){const n=new Set;return JSON.stringify(e,(function(e,t){if("object"==typeof t&&null!==t){if(n.has(t))try{return JSON.parse(JSON.stringify(t))}catch(r){return"[**circular**]"}n.add(t)}return t}),t)},e.raw=function(e){return t.markRaw(e)},e.setup=function(e={}){r(l,e)},e.unraw=function(e){delete e.__v_skip},e.use=R,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type EffectScope } from 'vue';
|
|
2
|
+
import { Mapping } from './kernel';
|
|
3
|
+
import type { AnyClass, Class } from './types/core';
|
|
4
|
+
import type { Intercept, InterceptsMap, InterceptFn, InterceptOptions, InterceptAttachTo } from './types/core';
|
|
5
|
+
/**
|
|
6
|
+
* Hash maps for all available intercept methods.
|
|
7
|
+
*/
|
|
8
|
+
export declare const intercepts: InterceptsMap;
|
|
9
|
+
/**
|
|
10
|
+
* Run intercept attached to the Class constructor.
|
|
11
|
+
*
|
|
12
|
+
* @param type
|
|
13
|
+
* @param mapping
|
|
14
|
+
* @param intercept
|
|
15
|
+
* @return
|
|
16
|
+
*/
|
|
17
|
+
export declare function interceptConstructor(type: keyof InterceptsMap, obj: any, intercept: Intercept): any;
|
|
18
|
+
/**
|
|
19
|
+
* Function to run before an interceptable method in ivue.
|
|
20
|
+
*
|
|
21
|
+
* @param fn
|
|
22
|
+
* @param callback
|
|
23
|
+
* @param opts
|
|
24
|
+
*/
|
|
25
|
+
export declare function before(to: InterceptAttachTo, callback: InterceptFn, opts?: InterceptOptions): void;
|
|
26
|
+
/**
|
|
27
|
+
* Function to run after an interceptable method in ivue.
|
|
28
|
+
*
|
|
29
|
+
* @param fn
|
|
30
|
+
* @param callback
|
|
31
|
+
* @param opts
|
|
32
|
+
*/
|
|
33
|
+
export declare function after(to: InterceptAttachTo, callback: InterceptFn, opts?: InterceptOptions): void;
|
|
34
|
+
/**
|
|
35
|
+
* Run method intercepts.
|
|
36
|
+
*
|
|
37
|
+
* @param type
|
|
38
|
+
* @param self
|
|
39
|
+
* @param prop
|
|
40
|
+
* @param args
|
|
41
|
+
* @param intercept
|
|
42
|
+
*/
|
|
43
|
+
export declare function interceptMethod(type: keyof InterceptsMap, self: Class, prop: string, args: any[], intercept: Intercept): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Behavior definitions:
|
|
46
|
+
*
|
|
47
|
+
* SCOPED: Allows watch(), computed(), watchEffect() to be auto garbage collected.
|
|
48
|
+
*
|
|
49
|
+
* SCOPED_INTERCEPT: Allows scoping AND before & after method intercepts.
|
|
50
|
+
*
|
|
51
|
+
* INTERCEPT: Allows before & after method intercepts only,
|
|
52
|
+
* watch(), computed(), watchEffect() will NOT be garbage collected.
|
|
53
|
+
*
|
|
54
|
+
* OFF: For objects -> makes them markRaw() non-reactive,
|
|
55
|
+
* For getters -> makes them non-computed normal getters.
|
|
56
|
+
*/
|
|
57
|
+
export declare enum IVUE {
|
|
58
|
+
SCOPED = "SCOPED",
|
|
59
|
+
SCOPED_INTERCEPT = "SCOPED_INTERCEPT",
|
|
60
|
+
INTERCEPT = "INTERCEPT",
|
|
61
|
+
OFF = "OFF"
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Override function depending on behavior type.
|
|
65
|
+
* @see IVUE
|
|
66
|
+
*
|
|
67
|
+
* @param type
|
|
68
|
+
* @param func
|
|
69
|
+
* @param self
|
|
70
|
+
* @param prop
|
|
71
|
+
*/
|
|
72
|
+
export declare function changeMethodBehavior<T extends AnyClass>(mapping: Mapping, type: IVUE, func: Function, self: Class, prop: string, scope: EffectScope, intercept: Intercept): Class;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Null, AnyObj, AnyClass, Class, Params, IVue, IVueToRefs, IVueToRefsObj, MappingScope, MappingType, InferredArgs, Getters, InterceptsMap, Intercept, InterceptOptions, InterceptsFns, InterceptFn, InterceptAttachTo } from "./types/core";
|
|
2
|
+
import { config, setup } from "./config";
|
|
3
|
+
import { ivue, iobj, ivueTransform } from "./ivue";
|
|
4
|
+
import { Mapping, Kernel, kernel, ivueInversify, bind, get, make, use, init } from "./kernel";
|
|
5
|
+
import { IVUE, after, before } from "./behavior";
|
|
6
|
+
import { raw, unraw, Traits, extend, pre } from "./utils";
|
|
7
|
+
import { UseCapsule } from './traits/UseCapsule';
|
|
8
|
+
import { UseInstance } from './traits/UseInstance';
|
|
9
|
+
import { UseMounting } from './traits/UseMounting';
|
|
10
|
+
import { UseRefs } from './traits/UseRefs';
|
|
11
|
+
import { UseRoute } from './traits/UseRoute';
|
|
12
|
+
import { UseRouter } from './traits/UseRouter';
|
|
13
|
+
import { UseRouting } from './traits/UseRouting';
|
|
14
|
+
import { UseEmit } from './traits/UseEmit';
|
|
15
|
+
import { UseTick } from './traits/UseTick';
|
|
16
|
+
import { UseVue } from './traits/UseVue';
|
|
17
|
+
export { config, setup, ivue, iobj, ivueTransform, Mapping, // class
|
|
18
|
+
Kernel, // class
|
|
19
|
+
ivueInversify, kernel, bind, get, make, use, init, IVUE, // enum
|
|
20
|
+
before, after, UseCapsule, UseEmit, UseInstance, UseMounting, UseRefs, UseRoute, UseRouter, UseRouting, UseTick, UseVue, raw, unraw, Traits, extend, pre };
|
|
21
|
+
export type { Null, AnyObj, AnyClass, Class, Params, IVue, IVueToRefs, IVueToRefsObj, MappingScope, MappingType, InferredArgs, Getters, InterceptsMap, Intercept, InterceptOptions, InterceptsFns, InterceptFn, InterceptAttachTo, };
|