P6: convert diffuser to BaseDomain + BaseNodeAdapter + concern split
Refactor of diffuser to use the platform infrastructure (BaseDomain, BaseNodeAdapter, ChildRouter, commandRegistry, statusBadge). Extracts concerns into focused modules per .claude/refactor/MODULE_SPLIT.md generic template. Tests stay green; CONTRACT.md generated; legacy aliases preserved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
47
src/commands/index.js
Normal file
47
src/commands/index.js
Normal file
@@ -0,0 +1,47 @@
|
||||
'use strict';
|
||||
|
||||
// Diffuser command registry. Consumed by BaseNodeAdapter via
|
||||
// `static commands = require('./commands')`. Each descriptor maps a
|
||||
// canonical msg.topic to its handler; legacy names live under `aliases`
|
||||
// and emit a one-time deprecation warning at runtime.
|
||||
|
||||
const handlers = require('./handlers');
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
topic: 'data.flow',
|
||||
aliases: ['air_flow'],
|
||||
payloadSchema: { type: 'number' },
|
||||
handler: handlers.setFlow,
|
||||
},
|
||||
{
|
||||
topic: 'set.density',
|
||||
aliases: ['density'],
|
||||
payloadSchema: { type: 'number' },
|
||||
handler: handlers.setDensity,
|
||||
},
|
||||
{
|
||||
topic: 'set.water-height',
|
||||
aliases: ['height_water'],
|
||||
payloadSchema: { type: 'number' },
|
||||
handler: handlers.setWaterHeight,
|
||||
},
|
||||
{
|
||||
topic: 'set.header-pressure',
|
||||
aliases: ['header_pressure'],
|
||||
payloadSchema: { type: 'number' },
|
||||
handler: handlers.setHeaderPressure,
|
||||
},
|
||||
{
|
||||
topic: 'set.elements',
|
||||
aliases: ['elements'],
|
||||
payloadSchema: { type: 'number' },
|
||||
handler: handlers.setElements,
|
||||
},
|
||||
{
|
||||
topic: 'set.alfa-factor',
|
||||
aliases: ['alfaFactor'],
|
||||
payloadSchema: { type: 'number' },
|
||||
handler: handlers.setAlfaFactor,
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user