@repobit/dex-store-elements 1.4.2 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +15 -4
- package/dist/src/actions/action.button.js +4 -11
- package/dist/src/actions/action.button.js.map +1 -1
- package/dist/src/actions/action.input.js +28 -22
- package/dist/src/actions/action.input.js.map +1 -1
- package/dist/src/actions/action.select.js +10 -8
- package/dist/src/actions/action.select.js.map +1 -1
- package/dist/src/actions/index.d.ts +1 -1
- package/dist/src/actions/index.js +45 -49
- package/dist/src/actions/index.js.map +1 -1
- package/dist/src/actions/utilty.d.ts +1 -0
- package/dist/src/actions/utilty.js +59 -29
- package/dist/src/actions/utilty.js.map +1 -1
- package/dist/src/contexts/context.datalayer.js.map +1 -1
- package/dist/src/contexts/context.derived.js.map +1 -1
- package/dist/src/contexts/context.option.js.map +1 -1
- package/dist/src/contexts/context.product.js.map +1 -1
- package/dist/src/contexts/context.state.js.map +1 -1
- package/dist/src/contexts/context.store.js.map +1 -1
- package/dist/src/controllers/collect-controller.d.ts +39 -0
- package/dist/src/controllers/collect-controller.js +161 -0
- package/dist/src/controllers/collect-controller.js.map +1 -0
- package/dist/src/controllers/compute-controller.d.ts +55 -0
- package/dist/src/controllers/compute-controller.js +350 -0
- package/dist/src/controllers/compute-controller.js.map +1 -0
- package/dist/src/controllers/eta-renderer/eta-dom-renderer.d.ts +21 -0
- package/dist/src/controllers/eta-renderer/eta-dom-renderer.js +152 -0
- package/dist/src/controllers/eta-renderer/eta-dom-renderer.js.map +1 -0
- package/dist/src/controllers/eta-renderer/eta-mutation-observer.d.ts +28 -0
- package/dist/src/controllers/eta-renderer/eta-mutation-observer.js +206 -0
- package/dist/src/controllers/eta-renderer/eta-mutation-observer.js.map +1 -0
- package/dist/src/controllers/eta-renderer/eta-renderer.d.ts +21 -0
- package/dist/src/controllers/eta-renderer/eta-renderer.js +77 -0
- package/dist/src/controllers/eta-renderer/eta-renderer.js.map +1 -0
- package/dist/src/controllers/eta-renderer/eta-template-cache.d.ts +21 -0
- package/dist/src/controllers/eta-renderer/eta-template-cache.js +52 -0
- package/dist/src/controllers/eta-renderer/eta-template-cache.js.map +1 -0
- package/dist/src/controllers/eta-renderer/eta-types.d.ts +11 -0
- package/dist/src/controllers/eta-renderer/eta-types.js +1 -0
- package/dist/src/controllers/eta-renderer/eta-types.js.map +1 -0
- package/dist/src/controllers/eta-renderer/index.d.ts +2 -0
- package/dist/src/controllers/eta-renderer/index.js +2 -0
- package/dist/src/controllers/eta-renderer/index.js.map +1 -0
- package/dist/src/controllers/event-pipeline-controller.d.ts +28 -0
- package/dist/src/controllers/event-pipeline-controller.js +72 -0
- package/dist/src/controllers/event-pipeline-controller.js.map +1 -0
- package/dist/src/dsl/compilers/array/compiler.js.map +1 -1
- package/dist/src/dsl/compilers/boolean/compiler.js.map +1 -1
- package/dist/src/dsl/compilers/enum/compiler.js.map +1 -1
- package/dist/src/dsl/compilers/index.js.map +1 -1
- package/dist/src/dsl/utilty.js.map +1 -1
- package/dist/src/events/events.js.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/nodes/node.context.js.map +1 -1
- package/dist/src/nodes/node.option.d.ts +4 -2
- package/dist/src/nodes/node.option.js +56 -56
- package/dist/src/nodes/node.option.js.map +1 -1
- package/dist/src/nodes/node.product.d.ts +4 -3
- package/dist/src/nodes/node.product.js +16 -28
- package/dist/src/nodes/node.product.js.map +1 -1
- package/dist/src/nodes/node.root.js.map +1 -1
- package/dist/src/nodes/node.state.d.ts +18 -70
- package/dist/src/nodes/node.state.js +42 -862
- package/dist/src/nodes/node.state.js.map +1 -1
- package/dist/src/renders/attributes/buyLink.js +12 -8
- package/dist/src/renders/attributes/buyLink.js.map +1 -1
- package/dist/src/renders/attributes/devices.js +10 -10
- package/dist/src/renders/attributes/devices.js.map +1 -1
- package/dist/src/renders/attributes/discount.js +60 -81
- package/dist/src/renders/attributes/discount.js.map +1 -1
- package/dist/src/renders/attributes/hide.js +21 -26
- package/dist/src/renders/attributes/hide.js.map +1 -1
- package/dist/src/renders/attributes/index.js.map +1 -1
- package/dist/src/renders/attributes/price.js +60 -81
- package/dist/src/renders/attributes/price.js.map +1 -1
- package/dist/src/renders/attributes/subscription.js +11 -11
- package/dist/src/renders/attributes/subscription.js.map +1 -1
- package/dist/src/renders/attributes/trialLink.js +5 -4
- package/dist/src/renders/attributes/trialLink.js.map +1 -1
- package/dist/src/renders/attributes/utilty.d.ts +2 -0
- package/dist/src/renders/attributes/utilty.js +5 -0
- package/dist/src/renders/attributes/utilty.js.map +1 -0
- package/dist/src/renders/context.js.map +1 -1
- package/dist/src/renders/format.js.map +1 -1
- package/dist/src/renders/index.d.ts +1 -1
- package/dist/src/renders/index.js +46 -50
- package/dist/src/renders/index.js.map +1 -1
- package/dist/src/renders/observe.js.map +1 -1
- package/dist/src/renders/utility.js +46 -38
- package/dist/src/renders/utility.js.map +1 -1
- package/dist/src/templating/eta.js.map +1 -1
- package/package.json +2 -2
- package/dist/src/contexts/context.event.d.ts +0 -5
- package/dist/src/contexts/context.event.js +0 -3
- package/dist/src/contexts/context.event.js.map +0 -1
|
@@ -13,6 +13,7 @@ export const DATA_HIDE_NODE = "[data-store-hide]";
|
|
|
13
13
|
const RENDER_BOUND = new WeakSet();
|
|
14
14
|
const RENDER_DISPOSE = new WeakMap();
|
|
15
15
|
const RENDER_RESOLVE = new WeakMap();
|
|
16
|
+
const RENDER_ORIGINAL_REMOVE = new WeakMap();
|
|
16
17
|
export const attachContext = (el, context, onValue, { subscribe = true } = {}) => {
|
|
17
18
|
let dispose;
|
|
18
19
|
el.dispatchEvent(new ContextEvent(context, el, (value, d) => {
|
|
@@ -24,11 +25,9 @@ export const attachContext = (el, context, onValue, { subscribe = true } = {}) =
|
|
|
24
25
|
};
|
|
25
26
|
export const observeAttributes = (el, onChange, filter) => {
|
|
26
27
|
const mo = new MutationObserver((mutations) => {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
}
|
|
28
|
+
if (mutations.length === 0)
|
|
29
|
+
return;
|
|
30
|
+
onChange();
|
|
32
31
|
});
|
|
33
32
|
mo.observe(el, {
|
|
34
33
|
attributes: true,
|
|
@@ -45,16 +44,19 @@ export const observeAttributes = (el, onChange, filter) => {
|
|
|
45
44
|
export function bindContext({ el, contexts, logic, observedAttrs = [], requireAll = true }) {
|
|
46
45
|
const keys = Object.keys(contexts);
|
|
47
46
|
const latest = {};
|
|
47
|
+
const seen = new Set();
|
|
48
48
|
let scheduled = false; // a microtask has been queued
|
|
49
49
|
let running = false; // logic is currently executing
|
|
50
50
|
let needsRun = false; // something changed; run again after current finishes
|
|
51
51
|
let disposed = false;
|
|
52
|
-
const haveAll = () =>
|
|
53
|
-
const haveAny = () =>
|
|
52
|
+
const haveAll = () => seen.size === keys.length;
|
|
53
|
+
const haveAny = () => seen.size > 0;
|
|
54
54
|
const pump = async () => {
|
|
55
55
|
scheduled = false;
|
|
56
|
+
if (disposed)
|
|
57
|
+
return;
|
|
56
58
|
// If we're already running, just mark that we need another pass.
|
|
57
|
-
if (running
|
|
59
|
+
if (running) {
|
|
58
60
|
needsRun = true;
|
|
59
61
|
return;
|
|
60
62
|
}
|
|
@@ -96,6 +98,7 @@ export function bindContext({ el, contexts, logic, observedAttrs = [], requireAl
|
|
|
96
98
|
// subscribe to each requested context
|
|
97
99
|
const disposers = keys.map((k) => attachContext(el, contexts[k], (value) => {
|
|
98
100
|
latest[k] = value;
|
|
101
|
+
seen.add(k);
|
|
99
102
|
scheduleRun();
|
|
100
103
|
}));
|
|
101
104
|
// optional: observe attributes once for the whole group
|
|
@@ -106,6 +109,7 @@ export function bindContext({ el, contexts, logic, observedAttrs = [], requireAl
|
|
|
106
109
|
return () => {
|
|
107
110
|
disposed = true;
|
|
108
111
|
stopAttrs();
|
|
112
|
+
seen.clear();
|
|
109
113
|
for (const d of disposers)
|
|
110
114
|
d();
|
|
111
115
|
};
|
|
@@ -128,6 +132,37 @@ const addLogic = (el, rendered) => {
|
|
|
128
132
|
observedAttrs: [...OBS_ATTRS_OPTION_PLUS_STATE]
|
|
129
133
|
});
|
|
130
134
|
};
|
|
135
|
+
const teardownRenderNode = (el) => {
|
|
136
|
+
const hadState = RENDER_BOUND.has(el)
|
|
137
|
+
|| RENDER_DISPOSE.has(el)
|
|
138
|
+
|| RENDER_RESOLVE.has(el)
|
|
139
|
+
|| RENDER_ORIGINAL_REMOVE.has(el);
|
|
140
|
+
if (!hadState)
|
|
141
|
+
return;
|
|
142
|
+
const dispose = RENDER_DISPOSE.get(el);
|
|
143
|
+
try {
|
|
144
|
+
dispose?.();
|
|
145
|
+
}
|
|
146
|
+
catch { /* ignore */ }
|
|
147
|
+
// Resolve any outstanding updateComplete so parents don't hang
|
|
148
|
+
const resolve = RENDER_RESOLVE.get(el);
|
|
149
|
+
try {
|
|
150
|
+
resolve?.();
|
|
151
|
+
}
|
|
152
|
+
catch { /* ignore */ }
|
|
153
|
+
const originalRemove = RENDER_ORIGINAL_REMOVE.get(el);
|
|
154
|
+
if (originalRemove) {
|
|
155
|
+
el.remove = originalRemove;
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
el.dispatchEvent(new CollectChildRemovedEvent({ child: el }));
|
|
159
|
+
}
|
|
160
|
+
catch { /* ignore */ }
|
|
161
|
+
RENDER_DISPOSE.delete(el);
|
|
162
|
+
RENDER_BOUND.delete(el);
|
|
163
|
+
RENDER_RESOLVE.delete(el);
|
|
164
|
+
RENDER_ORIGINAL_REMOVE.delete(el);
|
|
165
|
+
};
|
|
131
166
|
export const handleRenderNode = (el) => {
|
|
132
167
|
// Idempotent: don't re-bind the same node
|
|
133
168
|
if (RENDER_BOUND.has(el))
|
|
@@ -144,40 +179,13 @@ export const handleRenderNode = (el) => {
|
|
|
144
179
|
}
|
|
145
180
|
catch { /* ignore */ }
|
|
146
181
|
const originalRemove = el.remove;
|
|
182
|
+
RENDER_ORIGINAL_REMOVE.set(el, originalRemove);
|
|
147
183
|
el.remove = () => {
|
|
148
|
-
|
|
149
|
-
try {
|
|
150
|
-
resolve();
|
|
151
|
-
}
|
|
152
|
-
catch { /* ignore */ }
|
|
153
|
-
try {
|
|
154
|
-
el.dispatchEvent(new CollectChildRemovedEvent({ child: el }));
|
|
155
|
-
}
|
|
156
|
-
catch { /* ignore */ }
|
|
157
|
-
RENDER_BOUND.delete(el);
|
|
158
|
-
RENDER_DISPOSE.delete(el);
|
|
159
|
-
RENDER_RESOLVE.delete(el);
|
|
184
|
+
teardownRenderNode(el);
|
|
160
185
|
originalRemove.call(el);
|
|
161
186
|
};
|
|
162
187
|
};
|
|
163
188
|
export const cleanupRenderNode = (el) => {
|
|
164
|
-
|
|
165
|
-
try {
|
|
166
|
-
dispose?.();
|
|
167
|
-
}
|
|
168
|
-
catch { /* ignore */ }
|
|
169
|
-
// Resolve any outstanding updateComplete so parents don't hang
|
|
170
|
-
const resolve = RENDER_RESOLVE.get(el);
|
|
171
|
-
try {
|
|
172
|
-
resolve?.();
|
|
173
|
-
}
|
|
174
|
-
catch { /* ignore */ }
|
|
175
|
-
try {
|
|
176
|
-
el.dispatchEvent(new CollectChildRemovedEvent({ child: el }));
|
|
177
|
-
}
|
|
178
|
-
catch { /* ignore */ }
|
|
179
|
-
RENDER_DISPOSE.delete(el);
|
|
180
|
-
RENDER_BOUND.delete(el);
|
|
181
|
-
RENDER_RESOLVE.delete(el);
|
|
189
|
+
teardownRenderNode(el);
|
|
182
190
|
};
|
|
183
191
|
//# sourceMappingURL=utility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../src/renders/utility.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../src/renders/utility.ts"],"names":[],"mappings":"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","sourcesContent":["import { derivedContext } from '@/contexts/context.derived';\nimport { optionContext } from '@/contexts/context.option';\nimport { productContext } from '@/contexts/context.product';\nimport { stateContext } from '@/contexts/context.state';\n// Legacy per-context renders remain available until full migration is complete\nimport { CollectChildEvent, CollectChildRemovedEvent } from '@/events/events';\nimport { renderAttributes } from '@/renders/attributes';\nimport { OBS_ATTRS_OPTION_PLUS_STATE } from '@/renders/observe';\nimport { Context, ContextEvent, ContextType } from '@lit/context';\nimport type { ProductOption } from '@repobit/dex-store';\n\ntype AnyContext = Context<unknown, unknown>;\ntype CtxVal<C extends AnyContext> = ContextType<C>;\ntype ContextMap = Record<string, AnyContext>;\ntype ContextValues<M extends ContextMap> = { [K in keyof M]: CtxVal<M[K]> };\ntype BindContext<M extends ContextMap> = {\n el : HTMLElement,\n contexts : M,\n logic : (values: ContextValues<M>) => void | Promise<void>,\n observedAttrs: string[],\n requireAll? : boolean\n}\nexport type RenderNode = HTMLElement & { updateComplete?: Promise<void> };\nexport const DATA_RENDER_NODE = \"[data-store-render]\";\nexport const DATA_HIDE_NODE = \"[data-store-hide]\";\n\n// Track initialized render nodes to avoid duplicate bindings\nconst RENDER_BOUND = new WeakSet<RenderNode>();\nconst RENDER_DISPOSE = new WeakMap<RenderNode, () => void>();\nconst RENDER_RESOLVE = new WeakMap<RenderNode, () => void>();\nconst RENDER_ORIGINAL_REMOVE = new WeakMap<RenderNode, () => void>();\n\nexport const attachContext = <C extends AnyContext>(\n el: HTMLElement,\n context: C,\n onValue: (value: ContextType<C>) => void,\n { subscribe = true }: { subscribe?: boolean } = {}\n) => {\n let dispose: (() => void) | undefined;\n\n el.dispatchEvent(\n new ContextEvent(\n context,\n el,\n (value: ContextType<C>, d?: () => void) => {\n onValue(value);\n dispose = d; // may be provided when subscribe === true\n },\n subscribe\n )\n );\n\n // call this later to unsubscribe (if provider gave you a disposer)\n return () => dispose?.();\n}\n\nexport const observeAttributes = (\n el: HTMLElement,\n onChange: () => void,\n filter?: string[]\n) => {\n const mo = new MutationObserver((mutations) => {\n if (mutations.length === 0) return;\n onChange();\n });\n\n mo.observe(el, {\n attributes : true,\n attributeFilter: filter // e.g. ['user-id','subscribe']\n });\n\n // return disposer\n return () => mo.disconnect();\n}\n\n/**\n * Subscribes to all contexts in `contexts`, coalesces updates in a microtask,\n * and calls `logic` with the latest values once ALL are present.\n * Returns a single disposer.\n */\nexport function bindContext<M extends ContextMap>({\n el,\n contexts,\n logic,\n observedAttrs = [],\n requireAll = true\n}: BindContext<M>) {\n const keys = Object.keys(contexts) as (keyof M)[];\n const latest: Partial<ContextValues<M>> = {};\n const seen = new Set<keyof M>();\n\n let scheduled = false; // a microtask has been queued\n let running = false; // logic is currently executing\n let needsRun = false; // something changed; run again after current finishes\n let disposed = false;\n\n const haveAll = () => seen.size === keys.length;\n const haveAny = () => seen.size > 0;\n\n const pump = async () => {\n scheduled = false;\n\n if (disposed) return;\n\n // If we're already running, just mark that we need another pass.\n if (running) {\n needsRun = true;\n return;\n }\n\n // Run when required contexts are present at least once.\n if (requireAll ? !haveAll() : !haveAny()) return;\n\n running = true;\n try {\n do {\n needsRun = false;\n\n // Snapshot so each run sees a stable view even if `latest` changes while awaiting.\n const snapshot = {} as ContextValues<M>;\n for (const k of keys) (snapshot[k] as unknown) = latest[k];\n\n await Promise.resolve(logic(snapshot));\n } while (needsRun && !disposed); // drain one more time if updates queued while running\n } catch (err) {\n // Keep the queue alive even if user logic throws.\n console.error(err);\n } finally {\n running = false;\n if (needsRun && !disposed) {\n scheduled = true;\n queueMicrotask(pump);\n }\n }\n };\n\n const scheduleRun = () => {\n if (disposed) return;\n needsRun = true;\n if (!scheduled) {\n scheduled = true;\n queueMicrotask(pump);\n }\n };\n\n // subscribe to each requested context\n const disposers = keys.map((k) =>\n attachContext(el, contexts[k], (value) => {\n latest[k] = value;\n seen.add(k);\n scheduleRun();\n })\n );\n\n // optional: observe attributes once for the whole group\n const stopAttrs =\n observedAttrs.length > 0\n ? observeAttributes(el, scheduleRun, observedAttrs)\n : () => {};\n\n // single disposer\n return () => {\n disposed = true;\n stopAttrs();\n seen.clear();\n for (const d of disposers) d();\n };\n}\n\nconst addLogic = (el: RenderNode, rendered: (value: void | PromiseLike<void>) => void) => {\n // Single binder aggregates both contexts and renders when either changes\n return bindContext({\n el,\n contexts: { optionContext, stateContext, productContext, derivedContext },\n logic : async ({ optionContext, stateContext, productContext, derivedContext }) => {\n const opt = await optionContext as ProductOption | null | undefined;\n await renderAttributes(\n el,\n {\n option : opt,\n state : stateContext,\n product: productContext,\n derived: derivedContext\n }\n );\n rendered();\n },\n observedAttrs: [...OBS_ATTRS_OPTION_PLUS_STATE]\n });\n};\n\nconst teardownRenderNode = (el: RenderNode) => {\n const hadState =\n RENDER_BOUND.has(el)\n || RENDER_DISPOSE.has(el)\n || RENDER_RESOLVE.has(el)\n || RENDER_ORIGINAL_REMOVE.has(el);\n if (!hadState) return;\n\n const dispose = RENDER_DISPOSE.get(el);\n try { dispose?.(); } catch { /* ignore */ }\n\n // Resolve any outstanding updateComplete so parents don't hang\n const resolve = RENDER_RESOLVE.get(el);\n try { resolve?.(); } catch { /* ignore */ }\n\n const originalRemove = RENDER_ORIGINAL_REMOVE.get(el);\n if (originalRemove) {\n el.remove = originalRemove;\n }\n\n try { el.dispatchEvent(new CollectChildRemovedEvent({ child: el })); } catch { /* ignore */ }\n RENDER_DISPOSE.delete(el);\n RENDER_BOUND.delete(el);\n RENDER_RESOLVE.delete(el);\n RENDER_ORIGINAL_REMOVE.delete(el);\n};\n\nexport const handleRenderNode = (el: RenderNode) => {\n // Idempotent: don't re-bind the same node\n if (RENDER_BOUND.has(el)) return;\n RENDER_BOUND.add(el);\n\n const { promise, resolve } = Promise.withResolvers<void>();\n el.updateComplete = promise;\n const dispose = addLogic(el, resolve);\n RENDER_DISPOSE.set(el, dispose);\n RENDER_RESOLVE.set(el, resolve);\n\n // Register as contextual child so nearest StateNode parents can await it\n try { el.dispatchEvent(new CollectChildEvent({ child: el })); } catch { /* ignore */ }\n\n const originalRemove = el.remove;\n RENDER_ORIGINAL_REMOVE.set(el, originalRemove);\n\n el.remove = () => {\n teardownRenderNode(el);\n originalRemove.call(el);\n }\n};\n\nexport const cleanupRenderNode = (el: RenderNode) => {\n teardownRenderNode(el);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eta.js","sourceRoot":"","sources":["../../../src/templating/eta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,+CAA+C;AAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAClB,2FAA2F;IAC3F,mEAAmE;IACnE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACnB,CAAC,CAAC;AAEH,eAAe,GAAG,CAAC"}
|
|
1
|
+
{"version":3,"file":"eta.js","sourceRoot":"","sources":["../../../src/templating/eta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,+CAA+C;AAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAClB,2FAA2F;IAC3F,mEAAmE;IACnE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;CACnB,CAAC,CAAC;AAEH,eAAe,GAAG,CAAC","sourcesContent":["import { Eta } from 'eta/core';\n\n// Single Eta engine instance used across nodes\nconst eta = new Eta({\n // We control where templates are injected (text nodes), so auto-escape can remain default.\n // Configure here if you want escaping behavior to change globally.\n tags: [\"{{\", \"}}\"]\n});\n\nexport default eta;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@repobit/dex-store-elements",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.4",
|
|
4
4
|
"description": "HTML elements layer for pricings",
|
|
5
5
|
"author": "Buga Adrian Alexandru <abuga@bitdefender.com>",
|
|
6
6
|
"homepage": "https://github.com/bitdefender/dex-core#readme",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
]
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "fb7e709cf572d4ef612d3efbaa335363321a0d92"
|
|
67
67
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.event.js","sourceRoot":"","sources":["../../../src/contexts/context.event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAkB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC"}
|