From 553898decf0b54569900a5268b2bc65adabddeb4 Mon Sep 17 00:00:00 2001 From: Nitay Rabinovich Date: Mon, 11 Nov 2019 11:02:18 +0200 Subject: [PATCH 1/4] Rexport SvelteComponent as SvelteComponent API --- src/runtime/ambient.ts | 19 ++----------------- src/runtime/index.ts | 3 ++- src/runtime/internal/ComponentApi.ts | 16 ++++++++++++++++ src/runtime/internal/index.ts | 1 + 4 files changed, 21 insertions(+), 18 deletions(-) create mode 100644 src/runtime/internal/ComponentApi.ts diff --git a/src/runtime/ambient.ts b/src/runtime/ambient.ts index b094056c59..65b4bc23d3 100644 --- a/src/runtime/ambient.ts +++ b/src/runtime/ambient.ts @@ -1,19 +1,4 @@ declare module '*.svelte' { - type Props = Record; - - export default class { - constructor(options: { - target: Element; - anchor?: Element; - props?: Props; - hydrate?: boolean; - intro?: boolean; - }); - - $set(props: Props): void; - $on(event: string, callback: (event: CustomEvent) => void): () => void; - $destroy(): void; - - [accessor: string]: any; - } + type SvelteComponent = typeof import('./internal/ComponentApi').SvelteComponentApi + export default SvelteComponent } diff --git a/src/runtime/index.ts b/src/runtime/index.ts index 0973b93f1e..70fb65557f 100644 --- a/src/runtime/index.ts +++ b/src/runtime/index.ts @@ -8,5 +8,6 @@ export { setContext, getContext, tick, - createEventDispatcher + createEventDispatcher, + SvelteComponentApi as SvelteComponent } from 'svelte/internal'; diff --git a/src/runtime/internal/ComponentApi.ts b/src/runtime/internal/ComponentApi.ts new file mode 100644 index 0000000000..943e2c9de1 --- /dev/null +++ b/src/runtime/internal/ComponentApi.ts @@ -0,0 +1,16 @@ +type Props = Record; +export declare class SvelteComponentApi { + constructor(options: { + target: Element; + anchor?: Element; + props?: Props; + hydrate?: boolean; + intro?: boolean; + }); + + $set(props: Props): void; + $on(event: string, callback: (event: CustomEvent) => void): () => void; + $destroy(): void; + + [accessor: string]: any; +} \ No newline at end of file diff --git a/src/runtime/internal/index.ts b/src/runtime/internal/index.ts index e1dd2a1fcf..8e5725d3be 100644 --- a/src/runtime/internal/index.ts +++ b/src/runtime/internal/index.ts @@ -12,4 +12,5 @@ export * from './ssr'; export * from './transitions'; export * from './utils'; export * from './Component'; +export * from './ComponentApi'; export * from './dev'; From 77fd87296e94e3f64bc8f4e7893595e52fc138a6 Mon Sep 17 00:00:00 2001 From: Nitay Rabinovich Date: Mon, 11 Nov 2019 11:47:46 +0200 Subject: [PATCH 2/4] Fix linting and exporting --- src/runtime/ambient.ts | 4 ++-- src/runtime/internal/ComponentApi.ts | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/runtime/ambient.ts b/src/runtime/ambient.ts index 65b4bc23d3..8dd2b2e1c9 100644 --- a/src/runtime/ambient.ts +++ b/src/runtime/ambient.ts @@ -1,4 +1,4 @@ declare module '*.svelte' { - type SvelteComponent = typeof import('./internal/ComponentApi').SvelteComponentApi - export default SvelteComponent + // eslint-disable-next-line import/no-unresolved + export { default } from 'svelte/internal/ComponentApi'; } diff --git a/src/runtime/internal/ComponentApi.ts b/src/runtime/internal/ComponentApi.ts index 943e2c9de1..2718960e3d 100644 --- a/src/runtime/internal/ComponentApi.ts +++ b/src/runtime/internal/ComponentApi.ts @@ -1,16 +1,15 @@ type Props = Record; export declare class SvelteComponentApi { - constructor(options: { + constructor (options: { target: Element; anchor?: Element; props?: Props; hydrate?: boolean; intro?: boolean; }); - $set(props: Props): void; $on(event: string, callback: (event: CustomEvent) => void): () => void; $destroy(): void; - [accessor: string]: any; -} \ No newline at end of file +} +export default SvelteComponentApi; \ No newline at end of file From d051ae3cbbe46dbeff772d5cc12a204fdb715487 Mon Sep 17 00:00:00 2001 From: Nitay Rabinovich Date: Tue, 12 Nov 2019 09:11:01 +0200 Subject: [PATCH 3/4] Export SvelteComponentDev as API --- src/runtime/ambient.ts | 3 +-- src/runtime/index.ts | 2 +- src/runtime/internal/ComponentApi.ts | 15 --------------- src/runtime/internal/dev.ts | 18 +++++++++++++++++- src/runtime/internal/index.ts | 1 - 5 files changed, 19 insertions(+), 20 deletions(-) delete mode 100644 src/runtime/internal/ComponentApi.ts diff --git a/src/runtime/ambient.ts b/src/runtime/ambient.ts index 8dd2b2e1c9..09cd9b72f2 100644 --- a/src/runtime/ambient.ts +++ b/src/runtime/ambient.ts @@ -1,4 +1,3 @@ declare module '*.svelte' { - // eslint-disable-next-line import/no-unresolved - export { default } from 'svelte/internal/ComponentApi'; + export { SvelteComponentDev as default } from 'svelte/internal'; } diff --git a/src/runtime/index.ts b/src/runtime/index.ts index 70fb65557f..e6c0c916f2 100644 --- a/src/runtime/index.ts +++ b/src/runtime/index.ts @@ -9,5 +9,5 @@ export { getContext, tick, createEventDispatcher, - SvelteComponentApi as SvelteComponent + SvelteComponentDev as SvelteComponent } from 'svelte/internal'; diff --git a/src/runtime/internal/ComponentApi.ts b/src/runtime/internal/ComponentApi.ts deleted file mode 100644 index 2718960e3d..0000000000 --- a/src/runtime/internal/ComponentApi.ts +++ /dev/null @@ -1,15 +0,0 @@ -type Props = Record; -export declare class SvelteComponentApi { - constructor (options: { - target: Element; - anchor?: Element; - props?: Props; - hydrate?: boolean; - intro?: boolean; - }); - $set(props: Props): void; - $on(event: string, callback: (event: CustomEvent) => void): () => void; - $destroy(): void; - [accessor: string]: any; -} -export default SvelteComponentApi; \ No newline at end of file diff --git a/src/runtime/internal/dev.ts b/src/runtime/internal/dev.ts index c10b339632..bf03b65aae 100644 --- a/src/runtime/internal/dev.ts +++ b/src/runtime/internal/dev.ts @@ -79,8 +79,24 @@ export function set_data_dev(text, data) { text.data = data; } + +type Props = Record; +export interface SvelteComponentDev { + $set(props?: Props): void; + $on(event: string, callback: (event: CustomEvent) => void): () => void; + $destroy(): void; + [accessor: string]: any; +} + export class SvelteComponentDev extends SvelteComponent { - constructor(options) { + constructor(options: { + target: Element; + anchor?: Element; + props?: Props; + hydrate?: boolean; + intro?: boolean; + $$inline?: boolean; + }) { if (!options || (!options.target && !options.$$inline)) { throw new Error(`'target' is a required option`); } diff --git a/src/runtime/internal/index.ts b/src/runtime/internal/index.ts index 8e5725d3be..e1dd2a1fcf 100644 --- a/src/runtime/internal/index.ts +++ b/src/runtime/internal/index.ts @@ -12,5 +12,4 @@ export * from './ssr'; export * from './transitions'; export * from './utils'; export * from './Component'; -export * from './ComponentApi'; export * from './dev'; From c6cfa7d7c7bbdc9e25c3f6946ce9d4c1b1a11328 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 14 Nov 2019 15:43:06 -0500 Subject: [PATCH 4/4] tabs --- src/runtime/internal/dev.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/runtime/internal/dev.ts b/src/runtime/internal/dev.ts index bf03b65aae..4b0cdb8c75 100644 --- a/src/runtime/internal/dev.ts +++ b/src/runtime/internal/dev.ts @@ -82,18 +82,18 @@ export function set_data_dev(text, data) { type Props = Record; export interface SvelteComponentDev { - $set(props?: Props): void; - $on(event: string, callback: (event: CustomEvent) => void): () => void; - $destroy(): void; - [accessor: string]: any; + $set(props?: Props): void; + $on(event: string, callback: (event: CustomEvent) => void): () => void; + $destroy(): void; + [accessor: string]: any; } export class SvelteComponentDev extends SvelteComponent { constructor(options: { - target: Element; - anchor?: Element; - props?: Props; - hydrate?: boolean; + target: Element; + anchor?: Element; + props?: Props; + hydrate?: boolean; intro?: boolean; $$inline?: boolean; }) { @@ -119,4 +119,4 @@ export function loop_guard() { throw new Error(`Infinite loop detected`); } }; -} \ No newline at end of file +}