An simple thread-safe plug-in framework for Perl 6 # Description Canoe is an simple plug-in framework for Perl 6. It is thread-safe and process-safe. The configuration file is base on the JSON format. # Reference ## Canoe - e(--\> Bool) Return True if the configuration file is existed. - create(--\> Promise) Create the configuration file with default configuration `{ "plugins": [ ]}`. The `Promise` will kept with True when the file created successfully. - load(--\> Promise) Return an `Promise` which will kept with all the plug-in. - Supply(--\> Supply) Return an `Supply` which will emit every plug-in. - register(Str $name, Bool $enable --\> Promise) Register the module `$name` to the current configuration file. The `Promise` will kept with True if successfully. - unregister(Str $name --\> Promise) Remove the module `$name` from the current configuration file. The `Promise` will kept with True if successfully. - enable(Str $name, --\> Promise) Enable the plug-in. - disable(Str $name, --\> Promise) Disable the plug-in. ## PlugInfo - has $.enable Is True if the plug-in is enabled. - has $.plugin; The type object of current plug-in. - has $.installed Is True if perl6 can find the plug-in in the repository. - has $.name; The name of current plug-in. - get-instance(\*%\_) Create an instance of current plug-in. # License The MIT License (MIT) # Author araraloren