• Start
  • General
  • Guides
  • Reviews
  • News
  • How-To
  • Latest News
  • Mac OS X
  • Safari
  • iTunes
  • iOS
  • How-To
  • Latest News
  • Mac OS X
  • Safari
  • iTunes
  • iOS

Made With Reflect4 List New -

Organization got an upgrade:

An ORM using Reflect4 could track newly added model fields:

class UserModel 
  @Reflect4.metadata('column', 'id')
  id: number;

@Reflect4.metadata('column', 'name') name: string;

// Later, a migration adds an 'email' field dynamically Reflect4.defineMetadata('column', 'email', UserModel.prototype, 'email');

// Detect the new schema change const newColumns = Reflect4.listNew(UserModel.prototype); // newColumns = ['email'] // The ORM can now auto-generate ALTER TABLE scripts made with reflect4 list new

Each plugin registers its metadata (HTTP routes, middleware) using Reflect4.

class PluginManager 
  private targets = new Map();

registerPlugin(pluginInstance: any, pluginName: string) this.targets.set(pluginName, pluginInstance); // Simulate plugin adding metadata Reflect4.defineMetadata('routes', ['/home', '/about'], pluginInstance);

getNewPluginFeatures(pluginName: string) const instance = this.targets.get(pluginName); if (!instance) return []; // List only new metadata entries added in this session return Reflect4.listNew(instance); Organization got an upgrade: An ORM using Reflect4

Reflect4 uses template literals or JSX. Note the @each directive which leverages list new.

function TaskApp() 
  return reflect4.html`
    <div class="task-manager">
      <h2>Made with Reflect4 List New Example</h2>
      <input id="new-task" placeholder="What needs to be done?" />
      <button @click="$() => 
        const input = document.getElementById('new-task');
        addTask(input.value);
        input.value = '';
      ">Add Task</button>
  <ul>
    $reflect4.each(tasks, (task, index) => `
      <li key="$task.id" class="$task.completed ? 'done' : ''">
        <input type="checkbox" 
               .checked="$task.completed"
               @change="$(e) => tasks.updateAt(index, ...task, completed: e.target.checked)" />
        <span>$task.text</span>
        <button @click="$() => removeTask(task.id)">❌</button>
      </li>
    `)
  </ul>
<p>Total tasks: $() => tasks.length</p>
</div>

`;

// Mount the app document.body.appendChild(TaskApp()); // Later, a migration adds an 'email' field

Key observations from the code above:

Before we dive into the list new functionality, let’s establish a baseline. Reflect4 is a modern, reactive UI library designed to simplify the creation of complex, data-driven interfaces. Unlike traditional frameworks that rely on Virtual DOM diffing, Reflect4 uses a fine-grained reactivity model combined with a proxy-based observation system.

The core philosophy of Reflect4 is "implicit reactivity" — meaning that if you change a variable, the UI reflects that change instantly without setState, useEffect, or manual subscription management.

Copyright Copyright © 2026 Studiokit.
  • Contact Me
  • Cookie Policy
  • Disclosure
  • Privacy Policy
 
Loading Comments...