modifs.mineures sans commentaires
This commit is contained in:
parent
c71cc032fb
commit
4353f482a4
7
bin/json2yml.php
Executable file
7
bin/json2yml.php
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
require $_composer_autoload_path?? __DIR__.'/../vendor/autoload.php';
|
||||||
|
|
||||||
|
use nulib\tools\Json2yamlApp;
|
||||||
|
|
||||||
|
Json2yamlApp::run();
|
7
bin/yml2json.php
Executable file
7
bin/yml2json.php
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/php
|
||||||
|
<?php
|
||||||
|
require $_composer_autoload_path?? __DIR__.'/../vendor/autoload.php';
|
||||||
|
|
||||||
|
use nulib\tools\Yaml2jsonApp;
|
||||||
|
|
||||||
|
Yaml2jsonApp::run();
|
@ -80,6 +80,8 @@
|
|||||||
"bin": [
|
"bin": [
|
||||||
"bin/dumpser.php",
|
"bin/dumpser.php",
|
||||||
"bin/csv2xlsx.php",
|
"bin/csv2xlsx.php",
|
||||||
|
"bin/json2yml.php",
|
||||||
|
"bin/yml2json.php",
|
||||||
"nur_bin/compctl.php",
|
"nur_bin/compctl.php",
|
||||||
"nur_bin/compdep.php",
|
"nur_bin/compdep.php",
|
||||||
"nur_bin/datectl.php",
|
"nur_bin/datectl.php",
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
# nulib\schema
|
# nulib\schema
|
||||||
|
|
||||||
* l'ordre est `ensureAssoc [--> ensureKeys] [--> orderKeys]`
|
|
||||||
* si false, supprimer la clé du tableau sauf si ensureKeys
|
|
||||||
|
|
||||||
* pour AssocResult, les clés suivantes sont supportées:
|
* pour AssocResult, les clés suivantes sont supportées:
|
||||||
* false pour la clé courante
|
* false pour la clé courante
|
||||||
* null pour un résultat aggrégé
|
* null pour un résultat aggrégé
|
||||||
|
@ -102,19 +102,6 @@ class AssocWrapper extends Wrapper {
|
|||||||
$result = $context->result;
|
$result = $context->result;
|
||||||
if (!$result->valid) return $what;
|
if (!$result->valid) return $what;
|
||||||
|
|
||||||
$schema = $context->schema;
|
|
||||||
$keys = $schema->getKeys();
|
|
||||||
$defaults = [];
|
|
||||||
$missings = null;
|
|
||||||
foreach ($keys as $key) {
|
|
||||||
$type = $wrapper->getType($key);
|
|
||||||
$default = $schema->getSchema($key)->default;
|
|
||||||
if ($default === null) $default = $type->getNullValue();
|
|
||||||
$defaults[$key] = $default;
|
|
||||||
$missing = $type->getMissingValue($valid);
|
|
||||||
if ($valid) $missings[$key] = $missing;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($context->keyWrappers as $keyWrapper) {
|
foreach ($context->keyWrappers as $keyWrapper) {
|
||||||
$keyWrapper->analyze($params);
|
$keyWrapper->analyze($params);
|
||||||
if ($keyWrapper->isValid()) continue;
|
if ($keyWrapper->isValid()) continue;
|
||||||
@ -129,11 +116,6 @@ class AssocWrapper extends Wrapper {
|
|||||||
$result->addInvalidMessage($keyWrapper);
|
$result->addInvalidMessage($keyWrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($params["ensure_keys"] ?? $context->ensureKeys) {
|
|
||||||
$context->input->ensureKeys($defaults, $missings, $params);
|
|
||||||
} else {
|
|
||||||
$context->input->deleteMissings($missings, $params);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $what;
|
return $what;
|
||||||
}
|
}
|
||||||
@ -143,10 +125,26 @@ class AssocWrapper extends Wrapper {
|
|||||||
* @param AssocWrapper $wrapper
|
* @param AssocWrapper $wrapper
|
||||||
*/
|
*/
|
||||||
static function _normalize(WrapperContext $context, Wrapper $wrapper, ?array $params): bool {
|
static function _normalize(WrapperContext $context, Wrapper $wrapper, ?array $params): bool {
|
||||||
$ensureOrder = $params["ensure_order"] ?? $context->ensureOrder;
|
$schema = $context->schema;
|
||||||
if ($ensureOrder) {
|
$keys = $schema->getKeys();
|
||||||
$schema = $context->schema;
|
|
||||||
$keys = $schema->getKeys();
|
$defaults = [];
|
||||||
|
$missings = null;
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
$type = $wrapper->getType($key);
|
||||||
|
$default = $schema->getSchema($key)->default;
|
||||||
|
if ($default === null) $default = $type->getNullValue();
|
||||||
|
$defaults[$key] = $default;
|
||||||
|
$missing = $type->getMissingValue($valid);
|
||||||
|
if ($valid) $missings[$key] = $missing;
|
||||||
|
}
|
||||||
|
if ($params["ensure_keys"] ?? $context->ensureKeys) {
|
||||||
|
$context->input->ensureKeys($defaults, $missings, $params);
|
||||||
|
} else {
|
||||||
|
$context->input->deleteMissings($missings, $params);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($params["ensure_order"] ?? $context->ensureOrder) {
|
||||||
$context->input->ensureOrder($keys, $params);
|
$context->input->ensureOrder($keys, $params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
23
src/tools/Json2yamlApp.php
Normal file
23
src/tools/Json2yamlApp.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
namespace nulib\tools;
|
||||||
|
|
||||||
|
use nulib\app\cli\Application;
|
||||||
|
use nulib\ext\json;
|
||||||
|
use nulib\ext\yaml;
|
||||||
|
use nulib\os\path;
|
||||||
|
|
||||||
|
class Json2yamlApp extends Application {
|
||||||
|
private $args;
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
$input = $this->args[0] ?? null;
|
||||||
|
if ($input === null || $input === "-") {
|
||||||
|
$output = null;
|
||||||
|
} else {
|
||||||
|
$output = path::ensure_ext($input, ".yml", ".json");
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = json::load($input);
|
||||||
|
yaml::dump($data, $output);
|
||||||
|
}
|
||||||
|
}
|
23
src/tools/Yaml2jsonApp.php
Normal file
23
src/tools/Yaml2jsonApp.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
namespace nulib\tools;
|
||||||
|
|
||||||
|
use nulib\app\cli\Application;
|
||||||
|
use nulib\ext\json;
|
||||||
|
use nulib\ext\yaml;
|
||||||
|
use nulib\os\path;
|
||||||
|
|
||||||
|
class Yaml2jsonApp extends Application {
|
||||||
|
private $args;
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
$input = $this->args[0] ?? null;
|
||||||
|
if ($input === null || $input === "-") {
|
||||||
|
$output = null;
|
||||||
|
} else {
|
||||||
|
$output = path::ensure_ext($input, ".json", [".yml", ".yaml"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = yaml::load($input);
|
||||||
|
json::dump($data, $output);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user