UNPKG

@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
"use strict"; 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*/]; }); }); }; JsonEditActivityAnn = 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); })]; }); }); }; JsonReplaceActivityAnn = 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