@jqhtml/core 2.3.67 → 2.3.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component-cache.d.ts +18 -0
- package/dist/component-cache.d.ts.map +1 -1
- package/dist/component-events.d.ts +11 -6
- package/dist/component-events.d.ts.map +1 -1
- package/dist/component-queue.d.ts +23 -12
- package/dist/component-queue.d.ts.map +1 -1
- package/dist/component.d.ts +52 -0
- package/dist/component.d.ts.map +1 -1
- package/dist/data-proxy.d.ts +5 -2
- package/dist/data-proxy.d.ts.map +1 -1
- package/dist/debug-overlay/index.d.ts +6 -0
- package/dist/debug-overlay/index.d.ts.map +1 -1
- package/dist/escape.d.ts +13 -0
- package/dist/escape.d.ts.map +1 -0
- package/dist/index.cjs +1553 -1066
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1554 -1066
- package/dist/index.js.map +1 -1
- package/dist/instruction-processor.d.ts.map +1 -1
- package/dist/jqhtml-core.esm.js +1555 -1067
- package/dist/jqhtml-core.esm.js.map +1 -1
- package/dist/jquery-plugin.d.ts.map +1 -1
- package/dist/lifecycle-manager.d.ts +0 -4
- package/dist/lifecycle-manager.d.ts.map +1 -1
- package/dist/load-coordinator.d.ts +18 -9
- package/dist/load-coordinator.d.ts.map +1 -1
- package/dist/local-storage.d.ts +41 -8
- package/dist/local-storage.d.ts.map +1 -1
- package/dist/preload-data.d.ts +8 -0
- package/dist/preload-data.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/template-renderer.d.ts +0 -22
- package/dist/template-renderer.d.ts.map +0 -1
|
@@ -23,6 +23,24 @@ interface Cache_Key_Result {
|
|
|
23
23
|
* @returns Cache key string or null if caching is disabled
|
|
24
24
|
*/
|
|
25
25
|
export declare function generate_cache_key(component: any): Cache_Key_Result;
|
|
26
|
+
/**
|
|
27
|
+
* Development warning: this component fetches data but cannot be cached, because
|
|
28
|
+
* its args do not reduce to a stable key and it defines no cache_id() to say what
|
|
29
|
+
* its identity is. Nothing is broken - the component works - but it silently opts
|
|
30
|
+
* out of cache reuse and of load deduplication.
|
|
31
|
+
*
|
|
32
|
+
* Controlled by the `warn_uncacheable_args` integration flag (see config.ts).
|
|
33
|
+
*/
|
|
34
|
+
export declare function warn_uncacheable_component(component: any, uncacheable_property?: string, uncacheable_reason?: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* An HTML-cache entry: the inner HTML of a component plus the cid it was rendered
|
|
37
|
+
* under. Scoped ids inside the markup are "<name>:<cid>", so the owner's cid is what
|
|
38
|
+
* lets a replaying instance tell its own elements from its children's.
|
|
39
|
+
*/
|
|
40
|
+
export interface Html_Cache_Snapshot {
|
|
41
|
+
cid: string;
|
|
42
|
+
html: string;
|
|
43
|
+
}
|
|
26
44
|
/**
|
|
27
45
|
* Read cache during create() phase.
|
|
28
46
|
* Sets component._cache_key, _cached_html, _use_cached_data_hit as side effects.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-cache.d.ts","sourceRoot":"","sources":["../src/component-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,GAAG,GAAG,gBAAgB,CAsBnE;
|
|
1
|
+
{"version":3,"file":"component-cache.d.ts","sourceRoot":"","sources":["../src/component-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;GAEG;AACH,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,GAAG,GAAG,gBAAgB,CAsBnE;AAKD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,GAAG,EACd,oBAAoB,CAAC,EAAE,MAAM,EAC7B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,IAAI,CAmDN;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAoBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI,CAqGzD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAqD7D;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI,CA+B9D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI,CA4BjF"}
|
|
@@ -4,17 +4,22 @@
|
|
|
4
4
|
* Extracted from component.ts - handles lifecycle event registration,
|
|
5
5
|
* triggering, and state tracking.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* EVERY event is "sticky", not just the lifecycle ones: trigger() records the event
|
|
8
|
+
* name and its payload, and a handler registered afterwards fires immediately with that
|
|
9
|
+
* last payload. This is deliberate and applies to custom events too - a subscriber that
|
|
10
|
+
* arrives after `trigger('row_selected', row)` still learns which row is selected,
|
|
11
|
+
* which is what makes late-attaching UI work without a separate "current state" read.
|
|
9
12
|
*/
|
|
10
13
|
/**
|
|
11
14
|
* Register a callback for an event.
|
|
12
15
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* AND registers for future occurrences.
|
|
16
|
+
* All events are "sticky", lifecycle (create, render, load, loaded, ready, stop) and
|
|
17
|
+
* custom alike: if the event has already been triggered, the callback fires immediately
|
|
18
|
+
* with the payload of that last trigger AND registers for future occurrences.
|
|
16
19
|
*
|
|
17
|
-
*
|
|
20
|
+
* invalidate(event_name) drops the stored marker when a component wants later
|
|
21
|
+
* subscribers to wait for the next real occurrence instead (reload() does this for
|
|
22
|
+
* 'ready').
|
|
18
23
|
*
|
|
19
24
|
* @param component - The component instance
|
|
20
25
|
* @param event_name - Name of the event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-events.d.ts","sourceRoot":"","sources":["../src/component-events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"component-events.d.ts","sourceRoot":"","sources":["../src/component-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,GAAG,CAqB3G;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,GAAG,CA+B7G;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAoBlF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAG/E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAEzE"}
|
|
@@ -1,40 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* JQHTML Component Lifecycle Queue
|
|
3
3
|
*
|
|
4
|
-
* Serializes lifecycle operations (render, reload, refresh) per component.
|
|
4
|
+
* Serializes lifecycle operations (render, reload, refresh, load) per component.
|
|
5
5
|
* Replaces _create_debounced_function with a proper queue that:
|
|
6
6
|
*
|
|
7
7
|
* - At most one operation runs at a time per component
|
|
8
|
-
* - At most one
|
|
9
|
-
* - Same-type pending operations collapse
|
|
10
|
-
*
|
|
8
|
+
* - At most one PENDING entry per type; different types queue behind each other FIFO
|
|
9
|
+
* - Same-type pending operations collapse: the newest executor wins, and every
|
|
10
|
+
* collapsed caller is settled with the value of the executor that actually ran
|
|
11
|
+
* - A caller is settled BEFORE the next pending entry starts
|
|
11
12
|
*
|
|
12
13
|
* Boot bypasses this queue entirely - it runs the lifecycle directly.
|
|
13
14
|
*/
|
|
14
15
|
export declare class Component_Queue {
|
|
15
16
|
/** Currently executing operation */
|
|
16
17
|
private _current;
|
|
17
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Operations waiting to run after the current one, in FIFO order.
|
|
20
|
+
* At most one entry per type: a second reload() while a reload is pending
|
|
21
|
+
* collapses into it, but a render() queued over a pending reload() is its
|
|
22
|
+
* own entry and both run. Replacing the older entry (the previous behaviour)
|
|
23
|
+
* dropped that operation entirely while still resolving its callers as if it
|
|
24
|
+
* had run.
|
|
25
|
+
*/
|
|
18
26
|
private _pending;
|
|
19
27
|
/**
|
|
20
28
|
* Enqueue a lifecycle operation.
|
|
21
29
|
*
|
|
22
30
|
* Behavior:
|
|
23
31
|
* - Nothing running → execute immediately
|
|
24
|
-
* - Something running, no pending →
|
|
25
|
-
* - Something running, same type pending → collapse
|
|
26
|
-
*
|
|
32
|
+
* - Something running, no pending entry of this type → queue one (FIFO)
|
|
33
|
+
* - Something running, same type pending → collapse: keep every caller, but
|
|
34
|
+
* swap in the newest executor ("only the most recent call executes")
|
|
35
|
+
*
|
|
36
|
+
* Every caller collapsed onto one entry receives the value that entry's
|
|
37
|
+
* executor returned - or its error, if it threw.
|
|
27
38
|
*
|
|
28
39
|
* @param type - Operation type ('render', 'reload', 'refresh', 'load')
|
|
29
40
|
* @param executor - The async function to execute
|
|
30
|
-
* @returns Promise that
|
|
41
|
+
* @returns Promise that settles with the result of the execution that ran
|
|
31
42
|
*/
|
|
32
|
-
enqueue(type: string, executor: () => Promise<
|
|
43
|
+
enqueue<T>(type: string, executor: () => Promise<T>): Promise<T>;
|
|
33
44
|
/**
|
|
34
|
-
*
|
|
45
|
+
* Run one entry, settle its callers, then start the next pending entry.
|
|
35
46
|
* @private
|
|
36
47
|
*/
|
|
37
|
-
private
|
|
48
|
+
private _run;
|
|
38
49
|
/**
|
|
39
50
|
* Check if any operation is currently running.
|
|
40
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-queue.d.ts","sourceRoot":"","sources":["../src/component-queue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"component-queue.d.ts","sourceRoot":"","sources":["../src/component-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,qBAAa,eAAe;IAC1B,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAA0B;IAE1C;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA+BhE;;;OAGG;IACH,OAAO,CAAC,IAAI;IA2CZ;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;CACF"}
|
package/dist/component.d.ts
CHANGED
|
@@ -7,6 +7,20 @@
|
|
|
7
7
|
* - Scoped IDs using _cid pattern
|
|
8
8
|
* - Event emission and CSS class hierarchy
|
|
9
9
|
*/
|
|
10
|
+
import { dynamic_component_name } from './component-name.js';
|
|
11
|
+
import { print_object } from './value-printers.js';
|
|
12
|
+
import { escape_html, escape_html_nl2br } from './escape.js';
|
|
13
|
+
/**
|
|
14
|
+
* The `jqhtml` argument every compiled render function receives: the same
|
|
15
|
+
* escaping the runtime exports, the object-printer entry point, and the
|
|
16
|
+
* dynamic tag name check. One shared object, not one per render.
|
|
17
|
+
*/
|
|
18
|
+
export declare const render_utilities: {
|
|
19
|
+
escape_html: typeof escape_html;
|
|
20
|
+
escape_html_nl2br: typeof escape_html_nl2br;
|
|
21
|
+
print_object: typeof print_object;
|
|
22
|
+
dynamic_component_name: typeof dynamic_component_name;
|
|
23
|
+
};
|
|
10
24
|
declare global {
|
|
11
25
|
interface Window {
|
|
12
26
|
JQHTML_DEBUG?: {
|
|
@@ -26,6 +40,7 @@ export declare class Jqhtml_Component {
|
|
|
26
40
|
_cid: string;
|
|
27
41
|
_component_name: string;
|
|
28
42
|
_ready_state: number;
|
|
43
|
+
_debug_no_data: boolean;
|
|
29
44
|
private _lifecycle_manager;
|
|
30
45
|
private _instantiator;
|
|
31
46
|
private _dom_parent;
|
|
@@ -322,6 +337,17 @@ export declare class Jqhtml_Component {
|
|
|
322
337
|
* while refresh() is queued, reload() takes precedence and will always render.
|
|
323
338
|
*/
|
|
324
339
|
refresh(): Promise<void>;
|
|
340
|
+
/**
|
|
341
|
+
* Re-render this component from its on_create() state with its cache dropped and
|
|
342
|
+
* WITHOUT running on_load()/on_loaded()/on_ready().
|
|
343
|
+
*
|
|
344
|
+
* @internal debug tool. Used by the debug overlay's lifecycle footer to see what a
|
|
345
|
+
* component looks like with no loaded data at all. Not public API, not documented,
|
|
346
|
+
* and no downstream code should call it: reload() or refresh() afterwards returns
|
|
347
|
+
* the component to normal (the snapshot is intact and the cache is gone, so the
|
|
348
|
+
* next load is a genuine fresh fetch).
|
|
349
|
+
*/
|
|
350
|
+
_reload_without_data(): Promise<void>;
|
|
325
351
|
/**
|
|
326
352
|
* Internal reload implementation - re-fetch data and re-render
|
|
327
353
|
*
|
|
@@ -506,6 +532,32 @@ export declare class Jqhtml_Component {
|
|
|
506
532
|
*/
|
|
507
533
|
static get_class_hierarchy(): string[];
|
|
508
534
|
private _generate_cid;
|
|
535
|
+
/**
|
|
536
|
+
* Re-scope every scoped id in an HTML-cache snapshot so it belongs to THIS instance.
|
|
537
|
+
*
|
|
538
|
+
* A snapshot is the inner HTML of some component instance, so it contains ids of the
|
|
539
|
+
* form `<name>:<cid>`: the snapshotting component's own elements carry its cid, and
|
|
540
|
+
* elements rendered by nested children carry each child's cid. Replayed verbatim into
|
|
541
|
+
* a second instance those ids are duplicates of the originals, and $sid() resolves via
|
|
542
|
+
* getElementById(), which returns whichever matching element is first in the document -
|
|
543
|
+
* so one instance could read and write another instance's DOM.
|
|
544
|
+
*
|
|
545
|
+
* Mapping: the snapshot owner's cid becomes this._cid (so $sid() finds the elements
|
|
546
|
+
* this component is about to treat as its own), and every other cid becomes a fresh
|
|
547
|
+
* uid(), consistently within one injection. Two instances hydrated from one snapshot
|
|
548
|
+
* therefore share no id at all.
|
|
549
|
+
*
|
|
550
|
+
* The ':' separator is written only by the compiler ($sid) and the instruction
|
|
551
|
+
* processor (a scoped plain id), and cids are uid() output - [a-z][a-z0-9]* - so the
|
|
552
|
+
* pattern is exact. A plain unscoped id has no ':' and is left alone.
|
|
553
|
+
*
|
|
554
|
+
* data-cid is the debug mirror of a component's own _cid (config.ts debug_attributes).
|
|
555
|
+
* The snapshot's values are stale cids belonging to components that no longer exist,
|
|
556
|
+
* so they go through the same mapping rather than being left to lie in DevTools.
|
|
557
|
+
*
|
|
558
|
+
* @private
|
|
559
|
+
*/
|
|
560
|
+
private _rescope_cached_html;
|
|
509
561
|
private _apply_css_classes;
|
|
510
562
|
private _apply_default_attributes;
|
|
511
563
|
private _set_attributes;
|
package/dist/component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
package/dist/data-proxy.d.ts
CHANGED
|
@@ -27,10 +27,13 @@ export declare function setup_data_property(component: any): void;
|
|
|
27
27
|
* All other property access (this.$, this.$sid, etc.) throws errors.
|
|
28
28
|
*
|
|
29
29
|
* @param component - The component instance
|
|
30
|
-
* @param
|
|
30
|
+
* @param dedup_key - The dedup key captured by the caller, or null to run uncoordinated.
|
|
31
|
+
* The key is passed in rather than recomputed because args may legally
|
|
32
|
+
* change while on_load() runs, and a recomputed key would address a
|
|
33
|
+
* different entry than the one this leader registered.
|
|
31
34
|
* @returns The resulting data and optional coordination completion function
|
|
32
35
|
*/
|
|
33
|
-
export declare function execute_on_load_detached(component: any,
|
|
36
|
+
export declare function execute_on_load_detached(component: any, dedup_key?: string | null): Promise<{
|
|
34
37
|
data: Record<string, any>;
|
|
35
38
|
complete_coordination: ((data: Record<string, any>) => void) | null;
|
|
36
39
|
}>;
|
package/dist/data-proxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-proxy.d.ts","sourceRoot":"","sources":["../src/data-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"data-proxy.d.ts","sourceRoot":"","sources":["../src/data-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI,CAgKxD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC;IACvG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,qBAAqB,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACrE,CAAC,CAsKD"}
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
* data, state, ancestry, instantiator) instead of firing the click. Alt+click
|
|
9
9
|
* passes through. `disable()` puts everything back.
|
|
10
10
|
*
|
|
11
|
+
* The labels are part of the interaction, not just decoration: the pointer can
|
|
12
|
+
* move from a component onto one of its tabs without the hover set collapsing,
|
|
13
|
+
* and clicking a tab inspects that tab's component. The modal keeps an amber
|
|
14
|
+
* outline on whatever it is showing, and its title bar carries Parent / Back so
|
|
15
|
+
* the DOM chain can be walked without going back to the page.
|
|
16
|
+
*
|
|
11
17
|
* Non-invasiveness, the design goal (details in ./CLAUDE.md):
|
|
12
18
|
* - The overlay's own UI lives in a shadow root on a host element appended to
|
|
13
19
|
* <body>, styled by shadow.scss. Page CSS cannot select into it and :host
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug-overlay/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug-overlay/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAwDH,eAAO,MAAM,aAAa;IACxB,sEAAsE;cAC5D,OAAO;IAgBjB,qEAAqE;eAC1D,IAAI;kBAeD,OAAO;IAIrB;;;OAGG;oBACa,GAAG,GAAG,OAAO;CAS9B,CAAC"}
|
package/dist/escape.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTML escaping for interpolated text.
|
|
3
|
+
*
|
|
4
|
+
* Output matches what `div.textContent = s; div.innerHTML` produced before -
|
|
5
|
+
* a text node serialises only &, < and > as entities, and null/undefined as
|
|
6
|
+
* "" - but without touching the DOM. Interpolation runs for every value of
|
|
7
|
+
* every render, and a createElement per value was the most expensive thing a
|
|
8
|
+
* text-heavy template did.
|
|
9
|
+
*/
|
|
10
|
+
export declare function escape_html(value: any): string;
|
|
11
|
+
/** Escaped, then newlines become <br /> - the <%br= %> construct. */
|
|
12
|
+
export declare function escape_html_nl2br(value: any): string;
|
|
13
|
+
//# sourceMappingURL=escape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape.d.ts","sourceRoot":"","sources":["../src/escape.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAI9C;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAEpD"}
|