function test_embed_static() { $.fn.embed.settings.error!.method = 'method'; $.fn.embed.settings.namespace = 'namespace'; $.fn.embed.settings.name = 'name'; $.fn.embed.settings.silent = false; $.fn.embed.settings.debug = true; $.fn.embed.settings.performance = true; $.fn.embed.settings.verbose = true; } function test_embed() { const selector = '.ui.embed'; $(selector).embed('change', 'source', 'id', 'url'); // $ExpectType JQuery $(selector).embed('reset'); // $ExpectType JQuery $(selector).embed('show'); // $ExpectType JQuery $(selector).embed('hide'); // $ExpectType JQuery $(selector).embed('get id'); // $ExpectType string $(selector).embed('get placeholder'); // $ExpectType string $(selector).embed('get sources'); // $ExpectType string $(selector).embed('get type'); // $ExpectType string $(selector).embed('get url'); // $ExpectType string $(selector).embed('has placeholder'); // $ExpectType boolean $(selector).embed('destroy'); // $ExpectType JQuery $(selector).embed('setting', 'debug', undefined); // $ExpectType boolean $(selector).embed('setting', 'debug'); // $ExpectType boolean $(selector).embed('setting', 'debug', true); // $ExpectType JQuery // $ExpectType JQuery $(selector).embed('setting', { namespace: 'namespace', name: 'name', silent: false, debug: true, performance: true, verbose: true }); // $ExpectType JQuery $(selector).embed({ url: 'url', icon: 'icon', source: 'source', id: 'id', parameters: { key: 'value' }, autoplay: true, color: 'color', hd: false, brandedUI: true, onCreate(url) { this; // $ExpectType JQuery url; // $ExpectType string }, onDisplay() { this; // $ExpectType JQuery }, onPlaceholderDisplay() { this; // $ExpectType JQuery }, onEmbed(parameters) { this; // $ExpectType JQuery parameters; // $ExpectType _Impl return parameters; }, selector: { embed: 'embed', placeholder: 'placeholder', play: 'play' }, metadata: { id: 'id', icon: 'icon', placeholder: 'placeholder', source: 'source', url: 'url' }, className: { active: 'active', embed: 'embed' }, templates: { iframe(url, parameters) { url; // $ExpectType string parameters; // $ExpectType string return '
'; }, placeholder(image, icon) { image; // $ExpectType string icon; // $ExpectType string return '
'; } }, error: { noURL: 'noURL', method: 'method' } }); $(selector).embed(); // $ExpectType JQuery $(selector).embed('foo'); // $ExpectError $(selector).embed({ foo: 'bar' }); // $ExpectError } import embed = require('semantic-ui-embed'); function test_module() { embed; // $ExpectType Embed $.fn.embed = embed; }