From 27854a37ff12b0c17c706cbe2889dde3554e9207 Mon Sep 17 00:00:00 2001 From: Yury Zhuravlev Date: Wed, 13 Nov 2019 14:25:04 +0900 Subject: [PATCH] add exportProps to component as public infromation about component props interface --- src/compiler/compile/render_dom/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/compiler/compile/render_dom/index.ts b/src/compiler/compile/render_dom/index.ts index cc0c7dfe31..4c8c4b153c 100644 --- a/src/compiler/compile/render_dom/index.ts +++ b/src/compiler/compile/render_dom/index.ts @@ -440,9 +440,10 @@ export default function dom( constructor(options) { super(); + this.exportProps = ${prop_names}; ${css.code && b`this.shadowRoot.innerHTML = \`\`;`} - @init(this, { target: this.shadowRoot }, ${definition}, ${has_create_fragment ? 'create_fragment': 'null'}, ${not_equal}, ${prop_names}); + @init(this, { target: this.shadowRoot }, ${definition}, ${has_create_fragment ? 'create_fragment': 'null'}, ${not_equal}, this.exportProps); ${dev_props_check} @@ -493,8 +494,9 @@ export default function dom( class ${name} extends ${superclass} { constructor(options) { super(${options.dev && `options`}); + this.exportProps = ${prop_names}; ${should_add_css && b`if (!@_document.getElementById("${component.stylesheet.id}-style")) ${add_css}();`} - @init(this, options, ${definition}, ${has_create_fragment ? 'create_fragment': 'null'}, ${not_equal}, ${prop_names}); + @init(this, options, ${definition}, ${has_create_fragment ? 'create_fragment': 'null'}, ${not_equal}, this.exportProps); ${options.dev && b`@dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "${name.name}", options, id: create_fragment.name });`} ${dev_props_check}