Upgrade withPluginApi to support non-api callbacks

This commit is contained in:
Robin Ward
2016-02-16 16:43:59 -05:00
parent 63b9d1c645
commit 63cda22623

View File

@ -16,7 +16,29 @@ export function decorateCooked(container, cb) {
decorate(container.lookupFactory('view:user-stream'), 'didInsertElement', cb);
}
// Will be backported so plugins in the new format will not raise errors
export function withPluginApi(version) {
// This is backported so plugins in the new format will not raise errors
//
// To upgrade your plugin for backwards compatibility, you can add code in this
// form:
//
// function newApiCode(api) {
// // api.xyz();
// }
//
// function oldCode() {
// // your pre-PluginAPI code goes here. You will be able to delete this
// // code once the `PluginAPI` has been rolled out to all versions of
// // Discourse you want to support.
// }
//
// // `newApiCode` will use API version 0.1, if no API support then
// // `oldCode` will be called
// withPluginApi('0.1', newApiCode, { noApi: oldCode });
//
export function withPluginApi(version, apiCodeCallback, opts) {
console.warn(`Plugin API v${version} is not supported`);
if (opts && opts.noApi) {
return opts.noApi();
}
}