Skip to content

Commit 7c731d5

Browse files
committed
the big typo
1 parent 124c5bd commit 7c731d5

File tree

7 files changed

+28
-28
lines changed

7 files changed

+28
-28
lines changed

src/custom-element.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { RESOLVE_SELECTOR } from "./constants";
66
import { isSinkBindingConfiguration, isSourceBindingConfiguration } from './types/internal';
77
import { Rimmel_Bind_Subtree, Rimmel_Mount } from "./lifecycle/data-binding";
88
import { subscribe } from "./lib/drain";
9-
import { waitingElementHanlders } from "./internal-state";
9+
import { waitingElementHandlers } from "./internal-state";
1010

1111
import { BehaviorSubject, Subject } from "rxjs";
1212
import { camelCase } from './utils/camelCase';
@@ -73,7 +73,7 @@ class RimmelElement extends HTMLElement {
7373
return acc;
7474
}, [{}, {}] as [Record<string, string>, Record<string, string>]);
7575

76-
const refs = waitingElementHanlders.get((this.attributes as RMLNamedNodeMap).resolve?.nodeValue ?? '') ?? [];
76+
const refs = waitingElementHandlers.get((this.attributes as RMLNamedNodeMap).resolve?.nodeValue ?? '') ?? [];
7777
this.attrs = SubjectProxy(attrs);
7878

7979
// This condition holds for non-virtual custom elements. Won't be needed anymore if we split web components from virtual web components

src/internal-state.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { Subscription } from "./types/futures";
44

55
import { REF_TAG } from './constants';
66

7-
export const waitingElementHanlders = <Map<string, BindingConfiguration[]>>new Map();
7+
export const waitingElementHandlers = <Map<string, BindingConfiguration[]>>new Map();
88
// TODO: Test and verify with WeakRef/FinalizationRegistry
99
export const delegatedEventHandlers: WeakMap<Element, SourceBindingConfiguration<RMLEventName>[]> = new WeakMap();
1010
export const subscriptions: Map<Node, Subscription[]> = new Map();

src/lifecycle/data-binding.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { RMLEventName, Sink } from "../types";
44
import { SinkBindingConfiguration, SourceBindingConfiguration } from "../types/internal";
55
import { Rimmel_Bind_Subtree } from "./data-binding";
66
import * as addListenerModule from "../lib/addListener";
7-
import { waitingElementHanlders } from "../internal-state";
7+
import { waitingElementHandlers } from "../internal-state";
88
import { beforeEach, expect, mock, describe, it } from "bun:test";
99
import { REF_TAG, RESOLVE_ATTRIBUTE } from "../constants";
1010
import { Subject } from "rxjs";
@@ -23,7 +23,7 @@ describe("Data Binding Lifecycle", () => {
2323

2424
beforeEach(() => {
2525
addListenerSpy.mockClear();
26-
waitingElementHanlders.clear();
26+
waitingElementHandlers.clear();
2727
});
2828

2929
it("uses addSource to register event listener functions", () => {
@@ -149,4 +149,4 @@ describe('removeListener', () => {
149149

150150
});
151151

152-
});
152+
});

src/lifecycle/data-binding.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { SourceBindingConfiguration } from "../types/internal";
33

44
import { INTERACTIVE_NODE_START, INTERACTIVE_NODE_END, RESOLVE_ATTRIBUTE, RESOLVE_SELECTOR, RML_DEBUG, USE_DOM_OBSERVABLES } from "../constants";
55

6-
import { subscriptions, waitingElementHanlders } from "../internal-state";
6+
import { subscriptions, waitingElementHandlers } from "../internal-state";
77
import { isSinkBindingConfiguration } from "../types/internal";
88
import { subscribe } from "../lib/drain";
99
import { terminationHandler } from "../sinks/termination-sink";
@@ -54,7 +54,7 @@ export const Rimmel_Bind_Subtree = (node: Element): void => {
5454
}
5555

5656
const bindingRef = <string>node.getAttribute(RESOLVE_ATTRIBUTE);
57-
(waitingElementHanlders.get(bindingRef) ?? []).forEach(function Rimmel_Bind_Element(bindingConfiguration) {
57+
(waitingElementHandlers.get(bindingRef) ?? []).forEach(function Rimmel_Bind_Element(bindingConfiguration) {
5858
const debugThisNode = node.hasAttribute(RML_DEBUG);
5959

6060
// #IFDEF ENABLE_RML_DEBUGGER
@@ -113,7 +113,7 @@ export const Rimmel_Bind_Subtree = (node: Element): void => {
113113
});
114114

115115
node.removeAttribute(RESOLVE_ATTRIBUTE);
116-
waitingElementHanlders.delete(bindingRef);
116+
waitingElementHandlers.delete(bindingRef);
117117
};
118118

119119
export const removeListeners = (node: Element) => {

src/parser/parser.test.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { of, Subject } from 'rxjs';
2-
import { state, waitingElementHanlders } from '../internal-state';
2+
import { state, waitingElementHandlers } from '../internal-state';
33
import { AttributeObjectSink } from '../sinks/attribute-sink';
44
import { RMLEventName } from '../types/dom';
55
import { rml } from './parser';
@@ -8,15 +8,15 @@ const defer = <T>(value: T, timeout = 500) => new Promise<T>((resolve) => setTim
88

99
describe('Parser', () => {
1010
beforeEach(() => {
11-
waitingElementHanlders.clear();
11+
waitingElementHandlers.clear();
1212
state.refCount = 0;
1313
});
1414

1515
// FIXME: move to a beforeEeach() call. Doesn't seem to work in Bun.
1616
global.document = globalThis.document || {};
1717
global.document = globalThis.document;
1818
global.document.addEventListener = (eventName: RMLEventName, handler: EventListenerOrEventListenerObject) => {};
19-
waitingElementHanlders.clear();
19+
waitingElementHandlers.clear();
2020

2121
describe('Static values', () => {
2222

@@ -311,7 +311,7 @@ describe('Parser', () => {
311311
const template = rml`<div onclick="${handlerFn}">Hello</div>`;
312312

313313
expect(template).toEqual('<div _onclick="RMLREF+0" resolve="RMLREF+0">Hello</div>');
314-
expect(waitingElementHanlders.get('RMLREF+0')).toEqual([{
314+
expect(waitingElementHandlers.get('RMLREF+0')).toEqual([{
315315
eventName: 'click',
316316
listener: handlerFn,
317317
type: 'source',
@@ -323,7 +323,7 @@ describe('Parser', () => {
323323
const template = rml`<div onmouseover="${handlerStream}">Hello</div>`;
324324

325325
expect(template).toMatch(/<div .*>Hello<\/div>/);
326-
expect(waitingElementHanlders.get('RMLREF+0')).toEqual([{
326+
expect(waitingElementHandlers.get('RMLREF+0')).toEqual([{
327327
eventName: 'mouseover',
328328
listener: handlerStream,
329329
type: 'source',
@@ -355,7 +355,7 @@ describe('Parser', () => {
355355
const template = rml`<div data-foo="${foo}">Hello</div>`;
356356

357357
expect(template).toMatch(/<div .* data-foo="">Hello<\/div>/);
358-
expect(waitingElementHanlders.get('RMLREF+0')).toMatchObject([
358+
expect(waitingElementHandlers.get('RMLREF+0')).toMatchObject([
359359
// TODO: match the sink, too
360360
{ source: foo, type: 'sink', t: 'data-foo' },
361361
]);
@@ -392,7 +392,7 @@ describe('Parser', () => {
392392
const template = rml`<div ...${a}>Hello</div>`;
393393

394394
expect(template).toMatch(/<div.*resolve="RMLREF\+0".*>Hello<\/div>/);
395-
expect(waitingElementHanlders.get('RMLREF+0')).toEqual([
395+
expect(waitingElementHandlers.get('RMLREF+0')).toEqual([
396396
{ source: a, sink: AttributeObjectSink, type: 'sink', t: 'mixin' },
397397
]);
398398
});
@@ -402,7 +402,7 @@ describe('Parser', () => {
402402
const template = rml`<div ...${a}>Hello</div>`;
403403

404404
expect(template).toMatch(/<div.*resolve="RMLREF\+0".*>Hello<\/div>/);
405-
expect(waitingElementHanlders.get('RMLREF+0')).toEqual([
405+
expect(waitingElementHandlers.get('RMLREF+0')).toEqual([
406406
{ source: a, sink: AttributeObjectSink, type: 'sink', t: 'mixin' },
407407
]);
408408
});
@@ -413,7 +413,7 @@ describe('Parser', () => {
413413
const template = rml`<div ...${a} ...${b}>Hello</div>`;
414414

415415
expect(template).toMatch(/<div.*resolve="RMLREF\+0".* data-foo="bar".*>Hello<\/div>/);
416-
expect(waitingElementHanlders.get('RMLREF+0')![1]).toEqual(
416+
expect(waitingElementHandlers.get('RMLREF+0')![1]).toEqual(
417417
{ type: 'sink', t: 'mixin', source: b, sink: AttributeObjectSink },
418418
);
419419
});
@@ -424,7 +424,7 @@ describe('Parser', () => {
424424
const template = rml`<div ...${a} ...${b}>Hello</div>`;
425425

426426
expect(template).toMatch(/<div.*resolve="RMLREF\+0".* data-foo="bar".*>Hello<\/div>/);
427-
expect(waitingElementHanlders.get('RMLREF+0')![0]).toEqual(
427+
expect(waitingElementHandlers.get('RMLREF+0')![0]).toEqual(
428428
{ type: 'sink', t: 'mixin', source: b, sink: AttributeObjectSink },
429429
);
430430
});
@@ -443,7 +443,7 @@ describe('Parser', () => {
443443
const template = rml`<div ...${a}>Hello</div>`;
444444

445445
expect(template).toMatch(/<div.*resolve="RMLREF\+0".*>Hello<\/div>/);
446-
expect(waitingElementHanlders.get('RMLREF+0')![0]).toStrictEqual(
446+
expect(waitingElementHandlers.get('RMLREF+0')![0]).toStrictEqual(
447447
{ type: 'sink', t: 'mixin', source: { 'onmouseover': fn }, sink: AttributeObjectSink },
448448
);
449449
});
@@ -454,7 +454,7 @@ describe('Parser', () => {
454454
const template = rml`<div ...${a}>Hello</div>`;
455455

456456
expect(template).toMatch(/<div.*resolve="RMLREF\+0".*>Hello<\/div>/);
457-
expect(waitingElementHanlders.get('RMLREF+0')![0]).toStrictEqual(
457+
expect(waitingElementHandlers.get('RMLREF+0')![0]).toStrictEqual(
458458
{ type: 'sink', t: 'mixin', source: { 'onmount': fn }, sink: AttributeObjectSink },
459459
);
460460
});
@@ -465,7 +465,7 @@ describe('Parser', () => {
465465
const template = rml`<div ...${a}>Hello</div>`;
466466

467467
expect(template).toMatch(/<div.*resolve="RMLREF\+0".*>Hello<\/div>/);
468-
expect(waitingElementHanlders.get('RMLREF+0')![0]).toStrictEqual(
468+
expect(waitingElementHandlers.get('RMLREF+0')![0]).toStrictEqual(
469469
{ type: 'sink', t: 'mixin', source: { 'rml:onmount': fn }, sink: AttributeObjectSink },
470470
);
471471
});
@@ -545,7 +545,7 @@ describe('Parser', () => {
545545
const template = rml`<div ...${obj}>Hello</div>`;
546546

547547
expect(template).toMatch(/^<div.*data-foo="bar">Hello<\/div>/);
548-
expect(waitingElementHanlders.get('RMLREF+0')).toEqual([
548+
expect(waitingElementHandlers.get('RMLREF+0')).toEqual([
549549
{ source: deferred, sink: AttributeObjectSink, type: 'sink', t: 'mixin' },
550550
]);
551551
});

src/parser/parser.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import type { HTMLAttributeName, HTMLString, RMLEventAttributeName, RMLEventName
66
import { isFutureSinkAttributeValue, isPresentSinkAttributeValue, isSinkBindingConfiguration, isSourceBindingConfiguration } from "../types/internal";
77

88
import { currentValue } from "../lib/current-value";
9-
import { state, waitingElementHanlders } from "../internal-state";
9+
import { state, waitingElementHandlers } from "../internal-state";
1010
import { BOOLEAN_ATTRIBUTES } from "../definitions/boolean-attributes";
1111
import { INTERACTIVE_NODE_START, INTERACTIVE_NODE_END, REF_TAG, RESOLVE_ATTRIBUTE, RML_DEBUG } from "../constants";
1212

@@ -24,7 +24,7 @@ import { isRMLEventListener } from "../types/event-listener";
2424
import { toListener } from "../utils/to-listener";
2525

2626
export const addRef = (ref: string, data: BindingConfiguration) => {
27-
waitingElementHanlders.get(ref)?.push(data) ?? waitingElementHanlders.set(ref, [data]);
27+
waitingElementHandlers.get(ref)?.push(data) ?? waitingElementHandlers.set(ref, [data]);
2828
};
2929

3030
const getEventName = (eventAttributeString: RMLEventAttributeName): [RMLEventName, RMLEventAttributeName] | [] => {

src/parser/ssr.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { HTMLString } from '../types/dom';
33
import type { SinkBindingConfiguration } from '../types/internal';
44

55
import { rml as parser } from '../parser/parser';
6-
import { waitingElementHanlders } from '../internal-state';
6+
import { waitingElementHandlers } from '../internal-state';
77
import { HydrationScript } from '../ssr/hydration';
88

99
import { Observable, endWith, filter, map, mergeAll, mergeWith, tap, from, of, isObservable } from 'rxjs';
@@ -12,7 +12,7 @@ let count = 0;
1212
export const rml = (strings: TemplateStringsArray, ...args: RMLTemplateExpression[]): Observable<HTMLString> => {
1313
const hydrationCall = (data: string) => <HTMLString>`\n<script>Rimmel_Hydrate(${data});</script>`;
1414
const str: HTMLString = <HTMLString>(parser(strings, ...args) + HydrationScript);
15-
const tasks = [...waitingElementHanlders.entries()]
15+
const tasks = [...waitingElementHandlers.entries()]
1616
.flatMap(([key, jobs]) =>
1717
jobs.map(job => {
1818
if(isSinkBindingConfiguration(job)) {
@@ -53,6 +53,6 @@ export const rml = (strings: TemplateStringsArray, ...args: RMLTemplateExpressio
5353
return of(str).pipe(
5454
mergeWith(asyncStuff()),
5555
endWith(<HTMLString>'\n<!-- hydration end -->\n</body>\n</html>'),
56-
tap(() => waitingElementHanlders.clear()),
56+
tap(() => waitingElementHandlers.clear()),
5757
);
5858
};

0 commit comments

Comments
 (0)