@tsdi/pack
Version:
@tsdi/pack is simple build tasks, base on AOP, Ioc container, via @tsdi. dev build pack activities.
118 lines (116 loc) • 4.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonReplaceActivity = exports.JsonEditActivity = void 0;
var tslib_1 = require("tslib");
var ioc_1 = require("@tsdi/ioc");
var components_1 = require("@tsdi/components");
var activities_1 = require("@tsdi/activities");
var through = require("through2");
var TransformActivity_1 = require("./TransformActivity");
var jeditor = require('gulp-json-editor');
var inplace = require('json-in-place');
/**
* edit json, will format new json string.
*
* @export
* @class JsonEditActivity
* @extends {TransformActivity}
*/
var JsonEditActivity = /** @class */ (function (_super) {
tslib_1.__extends(JsonEditActivity, _super);
function JsonEditActivity() {
return _super !== null && _super.apply(this, arguments) || this;
}
JsonEditActivity.prototype.execute = function (ctx) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var jsonFunc_1;
return tslib_1.__generator(this, function (_a) {
if (!this.json) {
return [2 /*return*/];
}
if (ioc_1.isFunction(this.json)) {
jsonFunc_1 = this.json;
return [2 /*return*/, jeditor(function (json) { return jsonFunc_1(json); })];
}
else {
return [2 /*return*/, jeditor(this.json)];
}
return [2 /*return*/];
});
});
};
JsonEditActivity.ρAnn = function () {
return { "name": "JsonEditActivity", "params": { "execute": ["ctx"] } };
};
tslib_1.__decorate([
components_1.Input(),
tslib_1.__metadata("design:type", Object)
], JsonEditActivity.prototype, "json", void 0);
JsonEditActivity = tslib_1.__decorate([
activities_1.Task('jsonEdit')
], JsonEditActivity);
return JsonEditActivity;
}(TransformActivity_1.TransformActivity));
exports.JsonEditActivity = JsonEditActivity;
/**
* replace json value of key. no format.
*
* @export
* @class JsonReplaceActivity
* @extends {TransformActivity}
*/
var JsonReplaceActivity = /** @class */ (function (_super) {
tslib_1.__extends(JsonReplaceActivity, _super);
function JsonReplaceActivity() {
return _super !== null && _super.apply(this, arguments) || this;
}
JsonReplaceActivity.prototype.execute = function (ctx) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var fields;
return tslib_1.__generator(this, function (_a) {
fields = this.fields;
if (!ioc_1.isFunction(fields)) {
return [2 /*return*/];
}
return [2 /*return*/, through.obj(function (file, encoding, callback) {
if (file.isNull()) {
return callback(null, file);
}
if (file.isStream()) {
return callback('doesn\'t support Streams');
}
var contents = file.contents.toString('utf8');
var json = JSON.parse(contents);
var replaced = inplace(contents);
var changs = fields(json);
if (changs instanceof Map) {
changs.forEach(function (val, key) {
replaced.set(key, val);
});
}
else {
ioc_1.lang.forIn(fields(json), function (val, key) {
replaced.set(key, val);
});
}
contents = replaced.toString();
file.contents = Buffer.from(contents);
callback(null, file);
})];
});
});
};
JsonReplaceActivity.ρAnn = function () {
return { "name": "JsonReplaceActivity", "params": { "execute": ["ctx"] } };
};
tslib_1.__decorate([
components_1.Input(),
tslib_1.__metadata("design:type", Function)
], JsonReplaceActivity.prototype, "fields", void 0);
JsonReplaceActivity = tslib_1.__decorate([
activities_1.Task('jsonReplace')
], JsonReplaceActivity);
return JsonReplaceActivity;
}(TransformActivity_1.TransformActivity));
exports.JsonReplaceActivity = JsonReplaceActivity;
//# sourceMappingURL=../sourcemaps/transforms/JsonEditActivity.js.map