buildStdConvertModule function
Builds the std_convert base module.
Implementation
Module buildStdConvertModule() {
final module = Module()
..name = 'std_convert'
..description =
'Standard conversion module. JSON, UTF-8, base64 encoding/decoding.';
// ============================================================
// Types
// ============================================================
module.typeDefs.addAll(
<google.DescriptorProto>[
_type('JsonEncodeInput', [_exprField('value', 1)]),
_type('JsonDecodeInput', [_stringField('value', 1)]),
_type('Utf8EncodeInput', [_stringField('value', 1)]),
_type('Utf8DecodeInput', [_bytesField('value', 1)]),
_type('Base64EncodeInput', [_bytesField('value', 1)]),
_type('Base64DecodeInput', [_stringField('value', 1)]),
].map(
(d) => TypeDefinition()
..name = d.name
..descriptor = d,
),
);
// ============================================================
// Functions
// ============================================================
module.functions.addAll([
// JSON
_fn(
'json_encode',
'JsonEncodeInput',
'string',
'Encode value to JSON string',
),
_fn(
'json_decode',
'JsonDecodeInput',
'',
'Decode JSON string to value (map/list/scalar)',
),
// UTF-8
_fn(
'utf8_encode',
'Utf8EncodeInput',
'bytes',
'Encode string to UTF-8 bytes',
),
_fn(
'utf8_decode',
'Utf8DecodeInput',
'string',
'Decode UTF-8 bytes to string',
),
// Base64
_fn(
'base64_encode',
'Base64EncodeInput',
'string',
'Encode bytes to base64 string',
),
_fn(
'base64_decode',
'Base64DecodeInput',
'bytes',
'Decode base64 string to bytes',
),
]);
return module;
}