Jake Vanderwerf
2026-09-18 a6413da67a4579866f0fd0323ddb23a7b6b9654a
base/SchemaHelper.php
@@ -1,18 +1,22 @@
<?php
namespace JVBase\base;
use JVBase\Instance;
use JVBase\meta\Meta;
use JVBase\registrar\config\seo\Resolver;
use JVBase\registrar\Registrar;
if (!defined('ABSPATH')) {
   exit;
}
class SchemaHelper
{
   use Instance;
   protected static array $allowedTypes;
   protected static array $allowedFormats = ['schema', 'archive', 'meta', 'reference'];
   protected static array $schemas = [];
   protected static array $metas = [];
   protected static array $archives = [];
   protected static array $references = [];
   public function __construct()
   protected function __construct()
   {
      self::$allowedTypes = array_merge(['website', 'organization'], Registrar::getRegistered());
   }
@@ -275,6 +279,10 @@
      $className = $config['type'];
      unset($config['type']);
      $class = new $className();
      if (array_key_exists('id', $config)) {
         $class->setId($config['id']);
         unset($config['id']);
      }
      foreach ($config as $property => $value) {
@@ -295,4 +303,10 @@
      }
      return $class;
   }
   public static function reset(string $type, string $format):bool
   {
      $default = self::getDefault($type, $format);
      return self::update($type, $format, $default);
   }
}