From 7efd6b5b5befbe76b3ad338fe211756e6aa8190b Mon Sep 17 00:00:00 2001 From: Henrik Giesel Date: Wed, 28 Apr 2021 21:39:26 +0200 Subject: [PATCH] Add deleteContext to Context API Solves #6255 --- src/runtime/internal/lifecycle.ts | 6 +++++- test/runtime/samples/context-api-d/Delete.svelte | 8 ++++++++ test/runtime/samples/context-api-d/Leaf.svelte | 8 ++++++++ test/runtime/samples/context-api-d/Nested.svelte | 7 +++++++ test/runtime/samples/context-api-d/_config.js | 7 +++++++ test/runtime/samples/context-api-d/main.svelte | 13 +++++++++++++ 6 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 test/runtime/samples/context-api-d/Delete.svelte create mode 100644 test/runtime/samples/context-api-d/Leaf.svelte create mode 100644 test/runtime/samples/context-api-d/Nested.svelte create mode 100644 test/runtime/samples/context-api-d/_config.js create mode 100644 test/runtime/samples/context-api-d/main.svelte diff --git a/src/runtime/internal/lifecycle.ts b/src/runtime/internal/lifecycle.ts index 002bd78d24..dbf93fa95e 100644 --- a/src/runtime/internal/lifecycle.ts +++ b/src/runtime/internal/lifecycle.ts @@ -55,7 +55,11 @@ export function getContext(key): T { } export function hasContext(key): boolean { - return get_current_component().$$.context.has(key); + return get_current_component().$$.context.has(key); +} + +export function deleteContext(key): boolean { + return get_current_component().$$.context.delete(key); } // TODO figure out if we still want to support diff --git a/test/runtime/samples/context-api-d/Delete.svelte b/test/runtime/samples/context-api-d/Delete.svelte new file mode 100644 index 0000000000..9ae41e157c --- /dev/null +++ b/test/runtime/samples/context-api-d/Delete.svelte @@ -0,0 +1,8 @@ + + +
{deleted}
+ diff --git a/test/runtime/samples/context-api-d/Leaf.svelte b/test/runtime/samples/context-api-d/Leaf.svelte new file mode 100644 index 0000000000..d03587659c --- /dev/null +++ b/test/runtime/samples/context-api-d/Leaf.svelte @@ -0,0 +1,8 @@ + + +
{has}
+ diff --git a/test/runtime/samples/context-api-d/Nested.svelte b/test/runtime/samples/context-api-d/Nested.svelte new file mode 100644 index 0000000000..024169ff82 --- /dev/null +++ b/test/runtime/samples/context-api-d/Nested.svelte @@ -0,0 +1,7 @@ + + + diff --git a/test/runtime/samples/context-api-d/_config.js b/test/runtime/samples/context-api-d/_config.js new file mode 100644 index 0000000000..5dff100eed --- /dev/null +++ b/test/runtime/samples/context-api-d/_config.js @@ -0,0 +1,7 @@ +export default { + html: ` +
true
+
false
+
false
+ ` +}; diff --git a/test/runtime/samples/context-api-d/main.svelte b/test/runtime/samples/context-api-d/main.svelte new file mode 100644 index 0000000000..be6fda607e --- /dev/null +++ b/test/runtime/samples/context-api-d/main.svelte @@ -0,0 +1,13 @@ + + + + + + + + +