Changes for version 0.050 - 2019-09-11
- MOP4Import::Base::CLI_JSON is introduced with many cli_xxx APIs.
- Other important changes follows:
- [GH #70] - Add json_type field property support via Cpanel::JSON::XS::Type
- [GH #66] Fix - configure should accept options like `api.token`
- [GH #64] - `[constant => $name, $value]` pragma is exported by default.
- [GH #63] - import by regexp
- [GH #62] - M4I::Pairs - Add special fallback to dispatch_declare protocol.
- [GH #61] - New named code attribute API.
- [GH #58] - MOP4Import::Types now set `@EXPORT`.
- [GH #52] - Add cli_create_from_file and cli_read_file
- [GH #50] - Move --quiet option to CLI_JSON
- [GH #49][GH #61] - rewrite cli_info_command_doc with `cli_CODE_ATTR_get(Doc => $sub)`
- [GH #48] - Add `[defaults => fieldName => defaultValue,...] pragma
- [GH #47] - add `cli_unknown_subcommand`
- [GH #46] - drop CLI_JSON::run (to inherit CLI::run)
- rewrite CLI::run (as a template method)
- Change parse_json_opts to use parse_opts as function
- [GH #45] - Add `[import => @import_specs]` pragma
- [GH #44] - Rename impl of pragma `base` to `fileless_base`
- [GH #41] - Use mro::get_linear_isa to reorder options
- [GH #40] - Decode json arguments as utf8 [GH #39] - Change STDIN/OUT/ERR utf8 by default.
- [GH #14] - Add new hooks before_configure_default, after_configure_default
Changes for version 0.049_002 - 2017-10-21
- [GH #23] - API change. `declare_PRAGMA` arguments are simplified.
- And many changes...
Documentation
A brief introduction to Runnable-Module design pattern
or Modern use of fields.pm and %FIELDS.
Modules
Boilerplate base class for Runnable Module
Runnable-Module with JSON args/outputs
Base class with configure() interface for fields
map import args to < $meta-declare_...() >> pragma methods.
inner-type related pragmas
Object to encapsulate caller() record
define Env class for PSGI, with extensions.
pragma dispatcher for name => [@pragma]... style protocol
fields-aware type builder for inner-type
Provides
in Base/CLI_Opts.pm
in FieldSpec.pm
in NamedCodeAttributes.pm
in Types/Extend.pm
in Util.pm
in Util/CallTester.pm
in Util/CommentedJson.pm
in Util/FindMethods.pm
in Util/JSON_TYPE.pm
in Util/compat_double_diamond.pm
in Util/compat_double_diamond_5_20.pm