- src/nodered/BaseNodeAdapter.js — base class for every nodeClass.js Lifecycle: config build → domain instantiate → child.register on Port 2 → tick (opt-in) or 'output-changed' subscription (default event-driven) → status updater → input dispatch via commandRegistry → close handler with clean teardown. - index.js — additive exports of all Phase 1 modules: UnitPolicy, ChildRouter, LatestWinsGate, HealthStatus, BaseDomain, statusBadge, StatusUpdater, createRegistry, CommandRegistry, BaseNodeAdapter, stats. Existing exports unchanged. 113 unit tests pass under node:test. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
95 lines
3.1 KiB
JavaScript
95 lines
3.1 KiB
JavaScript
/**
|
|
* generalFunctions/index.js
|
|
* -----------------------------------------------------------
|
|
* Central barrel file for re-exporting helpers and configurations.
|
|
* Provides both namespace exports and dynamic loading capabilities.
|
|
* now we can load modules like this:
|
|
* const { menuUtils, outputUtils } = require('generalFunctions');
|
|
*/
|
|
|
|
// Core helper modules
|
|
const helper = require('./src/helper/index.js');
|
|
const {
|
|
outputUtils,
|
|
logger,
|
|
validation,
|
|
configUtils,
|
|
assertions,
|
|
childRegistrationUtils,
|
|
gravity,
|
|
} = helper;
|
|
const coolprop = require('./src/coolprop-node/src/index.js');
|
|
const assetApiConfig = require('./src/configs/assetApiConfig.js');
|
|
|
|
// Domain-specific modules
|
|
const { MeasurementContainer } = require('./src/measurements/index.js');
|
|
const configManager = require('./src/configs/index.js');
|
|
const { nrmse } = require('./src/nrmse/index.js');
|
|
const { state } = require('./src/state/index.js');
|
|
const convert = require('./src/convert/index.js');
|
|
const MenuManager = require('./src/menu/index.js');
|
|
const { predict, interpolation } = require('./src/predict/index.js');
|
|
const { PIDController, CascadePIDController, createPidController, createCascadePidController } = require('./src/pid/index.js');
|
|
const { loadCurve } = require('./datasets/assetData/curves/index.js'); //deprecated replace with load model data
|
|
const { loadModel } = require('./datasets/assetData/modelData/index.js');
|
|
const { POSITIONS, POSITION_VALUES, isValidPosition } = require('./src/constants/positions.js');
|
|
const Fysics = require('./src/convert/fysics.js');
|
|
|
|
// Refactor platform infrastructure (additive — see .claude/refactor/CONTRACTS.md).
|
|
// Domain-side
|
|
const UnitPolicy = require('./src/domain/UnitPolicy.js');
|
|
const ChildRouter = require('./src/domain/ChildRouter.js');
|
|
const LatestWinsGate = require('./src/domain/LatestWinsGate.js');
|
|
const HealthStatus = require('./src/domain/HealthStatus.js');
|
|
const BaseDomain = require('./src/domain/BaseDomain.js');
|
|
// Node-RED-side
|
|
const { statusBadge } = require('./src/nodered/statusBadge.js');
|
|
const { StatusUpdater } = require('./src/nodered/statusUpdater.js');
|
|
const { createRegistry, CommandRegistry } = require('./src/nodered/commandRegistry.js');
|
|
const BaseNodeAdapter = require('./src/nodered/BaseNodeAdapter.js');
|
|
// Stats helpers
|
|
const stats = require('./src/stats/index.js');
|
|
|
|
// Export everything
|
|
module.exports = {
|
|
predict,
|
|
interpolation,
|
|
configManager,
|
|
assetApiConfig,
|
|
outputUtils,
|
|
configUtils,
|
|
logger,
|
|
validation,
|
|
assertions,
|
|
MeasurementContainer,
|
|
nrmse,
|
|
state,
|
|
coolprop,
|
|
convert,
|
|
MenuManager,
|
|
PIDController,
|
|
CascadePIDController,
|
|
createPidController,
|
|
createCascadePidController,
|
|
childRegistrationUtils,
|
|
loadCurve, //deprecated replace with loadModel
|
|
loadModel,
|
|
gravity,
|
|
POSITIONS,
|
|
POSITION_VALUES,
|
|
isValidPosition,
|
|
Fysics,
|
|
// refactor infra (Phase 1)
|
|
UnitPolicy,
|
|
ChildRouter,
|
|
LatestWinsGate,
|
|
HealthStatus,
|
|
BaseDomain,
|
|
statusBadge,
|
|
StatusUpdater,
|
|
createRegistry,
|
|
CommandRegistry,
|
|
BaseNodeAdapter,
|
|
stats
|
|
};
|