@ngrx/signals
Version:
Reactive Store and Set of Utilities for Angular Signals
42 lines • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateWritableStateSource = migrateWritableStateSource;
exports.default = default_1;
var ts = require("typescript");
var schematics_1 = require("@angular-devkit/schematics");
var schematics_core_1 = require("../../schematics-core");
function migrateWritableStateSource() {
return function (tree, ctx) {
var updateCounter = 0;
ctx.logger.info("[@ngrx/signals] Migrating 'StateSignal' to 'WritableStateSource'");
(0, schematics_core_1.visitTSSourceFiles)(tree, function (sourceFile) {
var changes = (0, schematics_core_1.replaceImport)(sourceFile, sourceFile.fileName, '@ngrx/signals', 'StateSignal', 'WritableStateSource');
if (changes.length) {
visitIdentifiers(sourceFile, function (node) {
if (node.getText() === 'StateSignal' &&
!ts.isImportSpecifier(node.parent)) {
changes.push((0, schematics_core_1.createReplaceChange)(sourceFile, node, 'StateSignal', 'WritableStateSource'));
updateCounter++;
}
});
}
(0, schematics_core_1.commitChanges)(tree, sourceFile.fileName, changes);
});
if (updateCounter) {
ctx.logger.info("[@ngrx/signals] Updated ".concat(updateCounter, " references from 'StateSignal' to 'WritableStateSource'"));
}
else {
ctx.logger.info("[@ngrx/signals] No 'StateSignal' refences found to, skipping the migration");
}
};
}
function visitIdentifiers(node, visitor) {
if (ts.isIdentifier(node)) {
visitor(node);
}
ts.forEachChild(node, function (childNode) { return visitIdentifiers(childNode, visitor); });
}
function default_1() {
return (0, schematics_1.chain)([migrateWritableStateSource()]);
}
//# sourceMappingURL=index.js.map