@bxjs/base
Version:
bxjs base framework & api
74 lines • 6.96 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
var typeorm_1 = require("@bxjs/typeorm");
// const shortid = require('shortid')
__export(require("@bxjs/typeorm"));
var XBaseEntity = /** @class */ (function (_super) {
__extends(XBaseEntity, _super);
function XBaseEntity() {
return _super !== null && _super.apply(this, arguments) || this;
}
XBaseEntity.prototype.generateID = function () {
// 使用uuid v1版本确保分布式计算下的主键唯一性
this.id = xuuid();
if (!this.id || this.id.length != 32) {
xwarn({ id: this.id });
xassert(false, ERR$UNKNOWN, { id: this.id });
}
// this.id = shortid.generate()
// // 严格验证shortid的生成策略是否正确,如果出错第一时间报警排查问题。
// if (!(this.id && shortid.isValid(this.id) &&
// this.id.length >= 7 && this.id.length <= 14)) {
// xwarn({id: this.id})
// xassert(false, ERR$UNKNOWN)
// }
};
__decorate([
typeorm_1.PrimaryColumn({ type: 'char', length: '32' }) // 优化为char[16]固定长度便于主键索引查询性能优化(存储空间一点浪费不是问题)
,
__metadata("design:type", String)
], XBaseEntity.prototype, "id", void 0);
__decorate([
typeorm_1.BeforeInsert(),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], XBaseEntity.prototype, "generateID", null);
__decorate([
typeorm_1.Index(),
typeorm_1.CreateDateColumn(),
__metadata("design:type", Date)
], XBaseEntity.prototype, "created_at", void 0);
__decorate([
typeorm_1.UpdateDateColumn(),
__metadata("design:type", Date)
], XBaseEntity.prototype, "updated_at", void 0);
XBaseEntity = __decorate([
typeorm_1.Entity()
], XBaseEntity);
return XBaseEntity;
}(typeorm_1.BaseEntity));
exports.XBaseEntity = XBaseEntity;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBd0g7QUFFeEgscUNBQXFDO0FBQ3JDLG1DQUE2QjtBQUc3QjtJQUEwQywrQkFBVTtJQUFwRDs7SUErQkEsQ0FBQztJQXZCYSxnQ0FBVSxHQUFwQjtRQUNJLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFBO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRTtZQUNsQyxLQUFLLENBQUMsRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUE7WUFDcEIsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUE7U0FDN0M7UUFDRCwrQkFBK0I7UUFDL0IsMENBQTBDO1FBQzFDLCtDQUErQztRQUMvQywwREFBMEQ7UUFDMUQsMkJBQTJCO1FBQzNCLGtDQUFrQztRQUNsQyxJQUFJO0lBQ1IsQ0FBQztJQWpCRDtRQURDLHVCQUFhLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLDRDQUE0Qzs7OzJDQUMvRTtJQUdWO1FBREMsc0JBQVksRUFBRTs7OztpREFlZDtJQUtEO1FBRkMsZUFBSyxFQUFFO1FBQ1AsMEJBQWdCLEVBQUU7a0NBQ1AsSUFBSTttREFBQTtJQUdoQjtRQURDLDBCQUFnQixFQUFFO2tDQUNQLElBQUk7bURBQUE7SUE5QkUsV0FBVztRQURoQyxnQkFBTSxFQUFFO09BQ2EsV0FBVyxDQStCaEM7SUFBRCxrQkFBQztDQUFBLEFBL0JELENBQTBDLG9CQUFVLEdBK0JuRDtBQS9CcUIsa0NBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VudGl0eSwgQmFzZUVudGl0eSwgUHJpbWFyeUNvbHVtbiwgQmVmb3JlSW5zZXJ0LCBDcmVhdGVEYXRlQ29sdW1uLCBJbmRleCwgVXBkYXRlRGF0ZUNvbHVtbn0gZnJvbSAnQGJ4anMvdHlwZW9ybSdcblxuLy8gY29uc3Qgc2hvcnRpZCA9IHJlcXVpcmUoJ3Nob3J0aWQnKVxuZXhwb3J0ICogZnJvbSAnQGJ4anMvdHlwZW9ybSdcblxuQEVudGl0eSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgWEJhc2VFbnRpdHkgZXh0ZW5kcyBCYXNlRW50aXR5IHtcbiAgICAvLyDmlbDmja7lupPoh6rlop7kuLvplK7lrZjlnKjliIbluIPlvI/mianlrrnku6Xlj4rlronlhajpmpDmgqPlnKjpmL/ph4zlhoXpg6jkuI3pgILlkIjkvb/nlKjvvIzmlLnov5vmlrnmoYjlpoLkuIvvvJpcbiAgICAvLyDpmL/ph4zlhoXpg6jlronlhajop4TojIPopoHmsYJpZOS4jeWPr+mihOa1i+S4jeWPr+aemuS4vu+8jOS4jeiDveS9v+eUqGludOaIlmJpZ2ludOiHquWinuS4u+mUruWumuS5iWlk44CCXG4gICAgLy8g5pys6aG555uu6YCC5ZCI5bCGaWTkvb/nlKhzaG9ydGlk5ruh6Laz6KaB5rGC5bm25LiU5peg6ZyA5L+u5pS55Lia5Yqh6YC76L6R77yI5bm25pSv5oyB5YiG5biD5byPaWTnlJ/miJDnrpfms5XpgILlkIjku6XlkI7liIblupPliIbooajnrpfms5Xlrp7njrDvvIlcbiAgICBAUHJpbWFyeUNvbHVtbih7dHlwZTogJ2NoYXInLCBsZW5ndGg6ICczMid9KSAvLyDkvJjljJbkuLpjaGFyWzE2XeWbuuWumumVv+W6puS+v+S6juS4u+mUrue0ouW8leafpeivouaAp+iDveS8mOWMlu+8iOWtmOWCqOepuumXtOS4gOeCuea1qui0ueS4jeaYr+mXrumimO+8iVxuICAgIGlkOiBzdHJpbmdcblxuICAgIEBCZWZvcmVJbnNlcnQoKVxuICAgIHByb3RlY3RlZCBnZW5lcmF0ZUlEKCkge1xuICAgICAgICAvLyDkvb/nlKh1dWlkIHYx54mI5pys56Gu5L+d5YiG5biD5byP6K6h566X5LiL55qE5Li76ZSu5ZSv5LiA5oCnXG4gICAgICAgIHRoaXMuaWQgPSB4dXVpZCgpXG4gICAgICAgIGlmICghdGhpcy5pZCB8fCB0aGlzLmlkLmxlbmd0aCAhPSAzMikge1xuICAgICAgICAgICAgeHdhcm4oe2lkOiB0aGlzLmlkfSlcbiAgICAgICAgICAgIHhhc3NlcnQoZmFsc2UsIEVSUiRVTktOT1dOLCB7aWQ6IHRoaXMuaWR9KVxuICAgICAgICB9XG4gICAgICAgIC8vIHRoaXMuaWQgPSBzaG9ydGlkLmdlbmVyYXRlKClcbiAgICAgICAgLy8gLy8g5Lil5qC86aqM6K+Bc2hvcnRpZOeahOeUn+aIkOetlueVpeaYr+WQpuato+ehru+8jOWmguaenOWHuumUmeesrOS4gOaXtumXtOaKpeitpuaOkuafpemXrumimOOAglxuICAgICAgICAvLyBpZiAoISh0aGlzLmlkICYmIHNob3J0aWQuaXNWYWxpZCh0aGlzLmlkKSAmJlxuICAgICAgICAvLyAgICAgICAgIHRoaXMuaWQubGVuZ3RoID49IDcgJiYgdGhpcy5pZC5sZW5ndGggPD0gMTQpKSB7XG4gICAgICAgIC8vICAgICB4d2Fybih7aWQ6IHRoaXMuaWR9KVxuICAgICAgICAvLyAgICAgeGFzc2VydChmYWxzZSwgRVJSJFVOS05PV04pXG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAvLyDlop7liqDntKLlvJXop6PlhrNpZOmaj+acuuWQjuaXoOazleaOkuW6j+mXrumimFxuICAgIEBJbmRleCgpXG4gICAgQENyZWF0ZURhdGVDb2x1bW4oKVxuICAgIGNyZWF0ZWRfYXQ6IERhdGVcblxuICAgIEBVcGRhdGVEYXRlQ29sdW1uKClcbiAgICB1cGRhdGVkX2F0OiBEYXRlXG59XG4iXX0=