From 132a5deee2178a13af90f3917c3598daac5a5d72 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 28 Nov 2022 14:01:07 -0800 Subject: [PATCH] Use satifies operator --- .changeset/cool-seahorses-cross.md | 5 +++++ .../src/routes/sverdle/+page.server.ts | 8 +++---- .../src/core/sync/write_types/index.spec.js | 22 +++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 .changeset/cool-seahorses-cross.md diff --git a/.changeset/cool-seahorses-cross.md b/.changeset/cool-seahorses-cross.md new file mode 100644 index 000000000000..bdef5a70becf --- /dev/null +++ b/.changeset/cool-seahorses-cross.md @@ -0,0 +1,5 @@ +--- +'create-svelte': patch +--- + +Use `satisfies` operator diff --git a/packages/create-svelte/templates/default/src/routes/sverdle/+page.server.ts b/packages/create-svelte/templates/default/src/routes/sverdle/+page.server.ts index 9e8075993ab6..3279a8835b44 100644 --- a/packages/create-svelte/templates/default/src/routes/sverdle/+page.server.ts +++ b/packages/create-svelte/templates/default/src/routes/sverdle/+page.server.ts @@ -3,7 +3,7 @@ import { Game } from './game'; import type { PageServerLoad, Actions } from './$types'; /** @type {import('./$types').PageServerLoad} */ -export const load: PageServerLoad = ({ cookies }) => { +export const load = (({ cookies }) => { const game = new Game(cookies.get('sverdle')); return { @@ -23,10 +23,10 @@ export const load: PageServerLoad = ({ cookies }) => { */ answer: game.answers.length >= 6 ? game.answer : null }; -}; +}) satisfies PageServerLoad; /** @type {import('./$types').Actions} */ -export const actions: Actions = { +export const actions = { /** * Modify game state in reaction to a keypress. If client-side JavaScript * is available, this will happen in the browser instead of here @@ -68,4 +68,4 @@ export const actions: Actions = { restart: async ({ cookies }) => { cookies.delete('sverdle'); } -}; +} satisfies Actions; diff --git a/packages/kit/src/core/sync/write_types/index.spec.js b/packages/kit/src/core/sync/write_types/index.spec.js index 41f696fc6e47..390019dabbf1 100644 --- a/packages/kit/src/core/sync/write_types/index.spec.js +++ b/packages/kit/src/core/sync/write_types/index.spec.js @@ -265,4 +265,26 @@ test('Rewrites action types for a TypeScript module', () => { ); }); +test('Leaves satisfies operator untouched', () => { + const source = ` + import type { Actions, PageServerLoad, RequestEvent } from './$types'; + export function load({ params }) { + return { + a: 1 + }; + } satisfies PageServerLoad + export const actions = { + a: () => {}, + b: (param: RequestEvent) => {}, + c: (param) => {}, + } satisfies Actions + `; + + const rewritten = tweak_types(source, true); + + assert.equal(rewritten?.exports, ['load', 'actions']); + assert.equal(rewritten?.modified, false); + assert.equal(rewritten?.code, source); +}); + test.run();