diff --git a/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/node.render.expected.html b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/node.render.expected.html
new file mode 100644
index 0000000..496350e
--- /dev/null
+++ b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/node.render.expected.html
@@ -0,0 +1,6 @@
+
+ 1
+
+
\ No newline at end of file
diff --git a/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.render.expected.html b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.render.expected.html
new file mode 100644
index 0000000..496350e
--- /dev/null
+++ b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.render.expected.html
@@ -0,0 +1,6 @@
+
+ 1
+
+
\ No newline at end of file
diff --git a/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.step-0.expected.html b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.step-0.expected.html
new file mode 100644
index 0000000..248b2ac
--- /dev/null
+++ b/src/__tests__/fixtures/get-and-set/__snapshots__/get-set-update-provided-value/web.step-0.expected.html
@@ -0,0 +1,6 @@
+
+ 2
+
+
\ No newline at end of file
diff --git a/src/__tests__/fixtures/get-and-set/index.test.ts b/src/__tests__/fixtures/get-and-set/index.test.ts
index 42c3105..2a184d4 100644
--- a/src/__tests__/fixtures/get-and-set/index.test.ts
+++ b/src/__tests__/fixtures/get-and-set/index.test.ts
@@ -69,6 +69,15 @@ describe(
])
);
+describe(
+ " & update provided value",
+ fixture("./templates/update-provided-value/index.marko", [
+ async ({ screen, fireEvent }) => {
+ await fireEvent.click(screen.getByText("increment"));
+ },
+ ])
+);
+
describe(
" & reference by tag name",
fixture("./templates/reference-by-tag-name/index.marko")
diff --git a/src/__tests__/fixtures/get-and-set/templates/update-provided-value/components/child.marko b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/components/child.marko
new file mode 100644
index 0000000..2c6b64e
--- /dev/null
+++ b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/components/child.marko
@@ -0,0 +1,2 @@
+
+
${val}
\ No newline at end of file
diff --git a/src/__tests__/fixtures/get-and-set/templates/update-provided-value/index.marko b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/index.marko
new file mode 100644
index 0000000..3c26422
--- /dev/null
+++ b/src/__tests__/fixtures/get-and-set/templates/update-provided-value/index.marko
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/get/index.marko b/src/components/get/index.marko
index 5d28f43..2682144 100644
--- a/src/components/get/index.marko
+++ b/src/components/get/index.marko
@@ -26,7 +26,7 @@ class {
if (this.provider) {
if (typeof window === "object") {
- this.sub = this.subscribeTo(this.provider).on("___change", this.sync);
+ this.sub = this.subscribeTo(this.provider).on("___changed", this.sync);
}
this.data = this.provider.input;
diff --git a/src/components/set/index.marko b/src/components/set/index.marko
index e03126c..06457ed 100644
--- a/src/components/set/index.marko
+++ b/src/components/set/index.marko
@@ -28,8 +28,7 @@ $ {
<${input.renderBody}/>
$ {
- if (typeof window === "object" && !component.___rendered) {
- component.___rendered = true;
+ if (typeof window === "object" && typeof component.emit === "function") {
component.emit("___changed");
}