diff --git a/site/content/tutorial/08-stores/03-readable-stores/app-a/stores.js b/site/content/tutorial/08-stores/03-readable-stores/app-a/stores.js index 1e5d11e2d9..ec0a749d79 100644 --- a/site/content/tutorial/08-stores/03-readable-stores/app-a/stores.js +++ b/site/content/tutorial/08-stores/03-readable-stores/app-a/stores.js @@ -1,9 +1,7 @@ import { readable } from 'svelte/store'; -export const time = readable(function start(set) { +export const time = readable(null, function start(set) { // implementation goes here - return function stop() { - - }; -}); \ No newline at end of file + return function stop() {}; +}); diff --git a/site/content/tutorial/08-stores/03-readable-stores/app-b/stores.js b/site/content/tutorial/08-stores/03-readable-stores/app-b/stores.js index 015de5ad45..8c11f6d3aa 100644 --- a/site/content/tutorial/08-stores/03-readable-stores/app-b/stores.js +++ b/site/content/tutorial/08-stores/03-readable-stores/app-b/stores.js @@ -1,6 +1,6 @@ import { readable } from 'svelte/store'; -export const time = readable(function start(set) { +export const time = readable(new Date(), function start(set) { const interval = setInterval(() => { set(new Date()); }, 1000); @@ -8,4 +8,4 @@ export const time = readable(function start(set) { return function stop() { clearInterval(interval); }; -}, new Date()); \ No newline at end of file +}); diff --git a/site/content/tutorial/08-stores/03-readable-stores/text.md b/site/content/tutorial/08-stores/03-readable-stores/text.md index 6ef989fffa..25c02a9c0a 100644 --- a/site/content/tutorial/08-stores/03-readable-stores/text.md +++ b/site/content/tutorial/08-stores/03-readable-stores/text.md @@ -4,10 +4,10 @@ title: Readable stores Not all stores should be writable by whoever has a reference to them. For example, you might have a store representing the mouse position or the user's geolocation, and it doesn't make sense to be able to set those values from 'outside'. For those cases, we have *readable* stores. -Click over to the `stores.js` tab. The first argument to `readable` is a `start` function that takes a `set` callback and returns a `stop` function. The `start` function is called when the store gets its first subscriber; `stop` is called when the last subscriber unsubscribes. The second (optional) argument is the initial value. +Click over to the `stores.js` tab. The first argument to `readable` is an initial value, which can be `null` or `undefined` if you don't have one yet. The second argument is a `start` function that takes a `set` callback and returns a `stop` function. The `start` function is called when the store gets its first subscriber; `stop` is called when the last subscriber unsubscribes. ```js -export const time = readable(function start(set) { +export const time = readable(new Date(), function start(set) { const interval = setInterval(() => { set(new Date()); }, 1000); @@ -15,5 +15,5 @@ export const time = readable(function start(set) { return function stop() { clearInterval(interval); }; -}, new Date()); -``` \ No newline at end of file +}); +``` diff --git a/src/preprocess/index.ts b/src/preprocess/index.ts index 8538a65acc..2666e5fb7f 100644 --- a/src/preprocess/index.ts +++ b/src/preprocess/index.ts @@ -95,8 +95,8 @@ export default async function preprocess( for (const fn of script) { source = await replace_async( source, - /([^]*?)<\/script>/gi, - async (match, attributes, content) => { + /([^]*?)<\/script>/gi, + async (match, attributes = '', content) => { const processed: Processed = await fn({ content, attributes: parse_attributes(attributes), @@ -111,8 +111,8 @@ export default async function preprocess( for (const fn of style) { source = await replace_async( source, - /([^]*?)<\/style>/gi, - async (match, attributes, content) => { + /([^]*?)<\/style>/gi, + async (match, attributes = '', content) => { const processed: Processed = await fn({ content, attributes: parse_attributes(attributes), diff --git a/test/preprocess/samples/partial-names/_config.js b/test/preprocess/samples/partial-names/_config.js new file mode 100644 index 0000000000..dadf801581 --- /dev/null +++ b/test/preprocess/samples/partial-names/_config.js @@ -0,0 +1,6 @@ +export default { + preprocess: { + script: () => ({ code: '' }), + style: () => ({ code: '' }) + } +}; diff --git a/test/preprocess/samples/partial-names/input.svelte b/test/preprocess/samples/partial-names/input.svelte new file mode 100644 index 0000000000..6875a491a0 --- /dev/null +++ b/test/preprocess/samples/partial-names/input.svelte @@ -0,0 +1,12 @@ + + foo + + + + foo + + diff --git a/test/preprocess/samples/partial-names/output.svelte b/test/preprocess/samples/partial-names/output.svelte new file mode 100644 index 0000000000..34c789a826 --- /dev/null +++ b/test/preprocess/samples/partial-names/output.svelte @@ -0,0 +1,8 @@ + + foo + + + + foo + +