This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/app/lib/api.js
Robin Ward 9f95511096 DEV: Add support for api-initializers to reduce boilerplate.
You can now create a file in your plugin/theme in the `api-initializers`
directory which has a simpler template than previous initializers.
Example:

```
// api-initializers/my-plugin.js
import { apiInitializer } from "discourse/lib/api";

export default apiInitializer("0.8", api => {
  console.log("hello world from api initializer!");
});
```
2020-09-30 16:05:44 -04:00

19 lines
480 B
JavaScript

import { withPluginApi } from "discourse/lib/plugin-api";
/**
* apiInitializer(version, apiCodeCallback, opts)
*
* An API to simplify the creation of initializers for plugins/themes by removing
* some of the boilerplate.
*/
let _apiInitializerId = 0;
export function apiInitializer(version, cb, opts) {
return {
name: `api-initializer${_apiInitializerId++}`,
after: "inject-objects",
initialize() {
return withPluginApi(version, cb, opts);
},
};
}