编译选项
This commit is contained in:
parent
2bb21d7f59
commit
627e0e1ec1
|
|
@ -1,23 +1,9 @@
|
|||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.OakError = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var OakError = /** @class */ (function (_super) {
|
||||
__extends(OakError, _super);
|
||||
tslib_1.__extends(OakError, _super);
|
||||
function OakError(level, def, message) {
|
||||
var _this = _super.call(this, message ? message : def && def[1]) || this;
|
||||
_this.$$level = level;
|
||||
|
|
|
|||
|
|
@ -1,74 +1,13 @@
|
|||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
var __read = (this && this.__read) || function (o, n) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||||
if (!m) return o;
|
||||
var i = m.call(o), r, ar = [], e;
|
||||
try {
|
||||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||||
}
|
||||
catch (error) { e = { error: error }; }
|
||||
finally {
|
||||
try {
|
||||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||||
}
|
||||
finally { if (e) throw e.error; }
|
||||
}
|
||||
return ar;
|
||||
};
|
||||
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
||||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||||
if (ar || !(i in from)) {
|
||||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||||
ar[i] = from[i];
|
||||
}
|
||||
}
|
||||
return to.concat(ar || Array.prototype.slice.call(from));
|
||||
};
|
||||
var __values = (this && this.__values) || function(o) {
|
||||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
||||
if (m) return m.call(o);
|
||||
if (o && typeof o.length === "number") return {
|
||||
next: function () {
|
||||
if (o && i >= o.length) o = void 0;
|
||||
return { value: o && o[i++], done: !o };
|
||||
}
|
||||
};
|
||||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.buildSchema = exports.analyzeEntities = void 0;
|
||||
var path_1 = __importDefault(require("path"));
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var tslib_1 = require("tslib");
|
||||
var path_1 = tslib_1.__importDefault(require("path"));
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
var fs_1 = require("fs");
|
||||
var fs_extra_1 = require("fs-extra");
|
||||
var lodash_1 = require("lodash");
|
||||
var ts = __importStar(require("typescript"));
|
||||
var ts = tslib_1.__importStar(require("typescript"));
|
||||
var factory = ts.factory;
|
||||
var env_1 = require("./env");
|
||||
var string_1 = require("../utils/string");
|
||||
|
|
@ -155,7 +94,7 @@ function pushStatementIntoActionAst(moduleName, node, sourceFile) {
|
|||
else {
|
||||
(0, lodash_1.assign)(ActionAsts, (_a = {},
|
||||
_a[moduleName] = {
|
||||
statements: __spreadArray(__spreadArray([], __read(ActionImportStatements()), false), [node], false),
|
||||
statements: tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(ActionImportStatements()), false), [node], false),
|
||||
sourceFile: sourceFile,
|
||||
importedFrom: {},
|
||||
// actionNames,
|
||||
|
|
@ -188,7 +127,7 @@ function checkActionDefNameConsistent(filename, actionDefNode) {
|
|||
(0, assert_1.default)(ts.isTypeReferenceNode(type));
|
||||
var typeArguments = type.typeArguments;
|
||||
(0, assert_1.default)(typeArguments.length === 2);
|
||||
var _a = __read(typeArguments, 2), actionNode = _a[0], stateNode = _a[1];
|
||||
var _a = tslib_1.__read(typeArguments, 2), actionNode = _a[0], stateNode = _a[1];
|
||||
(0, assert_1.default)(ts.isIdentifier(name), "\u6587\u4EF6".concat(filename, "\u4E2D\u7684ActionDef").concat(name.text, "\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u53D8\u91CF"));
|
||||
(0, assert_1.default)(name.text.endsWith('ActionDef'), "\u6587\u4EF6".concat(filename, "\u4E2D\u7684ActionDef").concat(name.text, "\u672A\u4EE5ActionDef\u7ED3\u5C3E"));
|
||||
(0, assert_1.default)(ts.isTypeReferenceNode(actionNode) && ts.isTypeReferenceNode(stateNode), "\u6587\u4EF6".concat(filename, "\u4E2D\u7684ActionDef").concat(name.text, "\u7C7B\u578B\u58F0\u660E\u4E2D\u7684action\u548Cstate\u975E\u6CD5"));
|
||||
|
|
@ -271,7 +210,7 @@ function dealWithActions(moduleName, filename, node, program) {
|
|||
(0, assert_1.default)((0, lodash_1.intersection)(actionNames, env_1.RESERVED_ENTITIES).length === 0, "".concat(filename, "\u4E2D\u7684Action\u547D\u540D\u4E0D\u80FD\u662F\u300C").concat(RESERVED_ACTION_NAMES.join(','), "\u300D\u4E4B\u4E00"));
|
||||
node.types.forEach(function (ele) {
|
||||
if (ts.isTypeReferenceNode(ele)) {
|
||||
actionTexts.push.apply(actionTexts, __spreadArray([], __read(getStringTextFromUnionStringLiterals(moduleName, filename, ele, program)), false));
|
||||
actionTexts.push.apply(actionTexts, tslib_1.__spreadArray([], tslib_1.__read(getStringTextFromUnionStringLiterals(moduleName, filename, ele, program)), false));
|
||||
}
|
||||
else {
|
||||
(0, assert_1.default)(ts.isLiteralTypeNode(ele) && ts.isStringLiteral(ele.literal), "\u3010".concat(moduleName, "\u3011action\u7684\u5B9A\u4E49\u65E2\u975EType\u4E5F\u4E0D\u662Fstring"));
|
||||
|
|
@ -283,7 +222,7 @@ function dealWithActions(moduleName, filename, node, program) {
|
|||
if (ts.isIdentifier(node.typeName)) {
|
||||
(0, assert_1.default)(!RESERVED_ACTION_NAMES.includes(node.typeName.text), "".concat(filename, "\u4E2D\u7684Action\u547D\u540D\u4E0D\u80FD\u662F\u300C").concat(RESERVED_ACTION_NAMES.join(','), "\u300D\u4E4B\u4E00"));
|
||||
}
|
||||
actionTexts.push.apply(actionTexts, __spreadArray([], __read(getStringTextFromUnionStringLiterals(moduleName, filename, node, program)), false));
|
||||
actionTexts.push.apply(actionTexts, tslib_1.__spreadArray([], tslib_1.__read(getStringTextFromUnionStringLiterals(moduleName, filename, node, program)), false));
|
||||
}
|
||||
else {
|
||||
(0, assert_1.default)(ts.isLiteralTypeNode(node) && ts.isStringLiteral(node.literal), "\u3010".concat(moduleName, "\u3011action\u7684\u5B9A\u4E49\u65E2\u975EType\u4E5F\u4E0D\u662Fstring"));
|
||||
|
|
@ -436,7 +375,7 @@ function analyzeEntity(filename, path, program) {
|
|||
if (type.typeName.text === 'String'
|
||||
&& typeArguments
|
||||
&& typeArguments.length === 1) {
|
||||
var _c = __read(typeArguments, 1), node_1 = _c[0];
|
||||
var _c = tslib_1.__read(typeArguments, 1), node_1 = _c[0];
|
||||
if (ts.isLiteralTypeNode(node_1) && ts.isNumericLiteral(node_1.literal)) {
|
||||
if (parseInt(node_1.literal.text) > 32) {
|
||||
console.warn("\u300C\u300D\u4E2Dentity\u5C5E\u6027\u5B9A\u4E49\u7684\u957F\u5EA6\u5927\u4E8E32\uFF0C\u8BF7\u786E\u8BA4\u5B83\u4E0D\u662F\u4E00\u4E2A\u53CD\u6307\u5BF9\u8C61");
|
||||
|
|
@ -454,7 +393,7 @@ function analyzeEntity(filename, path, program) {
|
|||
if (type.typeName.text === 'String'
|
||||
&& typeArguments
|
||||
&& typeArguments.length === 1) {
|
||||
var _d = __read(typeArguments, 1), node_2 = _d[0];
|
||||
var _d = tslib_1.__read(typeArguments, 1), node_2 = _d[0];
|
||||
if (ts.isLiteralTypeNode(node_2) && ts.isNumericLiteral(node_2.literal)) {
|
||||
if (parseInt(node_2.literal.text) !== 64) {
|
||||
console.warn("\u300C".concat(filename, "\u300D\u4E2DentityId\u5C5E\u6027\u5B9A\u4E49\u7684\u957F\u5EA6\u4E0D\u7B49\u4E8E64\uFF0C\u8BF7\u786E\u8BA4\u5B83\u4E0D\u662F\u4E00\u4E2A\u53CD\u6307\u5BF9\u8C61"));
|
||||
|
|
@ -545,7 +484,7 @@ function analyzeEntity(filename, path, program) {
|
|||
checkActionDefNameConsistent(filename, declaration);
|
||||
var typeArguments = declaration.type.typeArguments;
|
||||
(0, assert_1.default)(typeArguments.length === 2);
|
||||
var _a = __read(typeArguments, 2), actionNode = _a[0], stateNode = _a[1];
|
||||
var _a = tslib_1.__read(typeArguments, 2), actionNode = _a[0], stateNode = _a[1];
|
||||
var checker = program.getTypeChecker();
|
||||
var symbol = checker.getSymbolAtLocation(actionNode.typeName);
|
||||
var declaration2_1 = symbol.getDeclarations()[0];
|
||||
|
|
@ -664,7 +603,7 @@ function analyzeEntity(filename, path, program) {
|
|||
var text = typeName.text;
|
||||
var text2_1 = text === 'Schema' ? entity : text;
|
||||
var manyToOneItem = manyToOneSet && manyToOneSet.find(function (_a) {
|
||||
var _b = __read(_a, 2), refEntity = _b[0], attrName = _b[1];
|
||||
var _b = tslib_1.__read(_a, 2), refEntity = _b[0], attrName = _b[1];
|
||||
return refEntity === text2_1 && attrName === name_1.text;
|
||||
});
|
||||
if (!manyToOneItem) {
|
||||
|
|
@ -813,7 +752,7 @@ function constructSchema(statements, entity) {
|
|||
var text = typeName.text;
|
||||
var text2_2 = text === 'Schema' ? entity : text;
|
||||
var manyToOneItem = manyToOneSet && manyToOneSet.find(function (_a) {
|
||||
var _b = __read(_a, 2), refEntity = _b[0], attrName = _b[1];
|
||||
var _b = tslib_1.__read(_a, 2), refEntity = _b[0], attrName = _b[1];
|
||||
return refEntity === text2_2 && attrName === attrName;
|
||||
});
|
||||
if (manyToOneItem) {
|
||||
|
|
@ -868,7 +807,7 @@ function constructSchema(statements, entity) {
|
|||
}
|
||||
};
|
||||
try {
|
||||
for (var schemaAttrs_1 = __values(schemaAttrs), schemaAttrs_1_1 = schemaAttrs_1.next(); !schemaAttrs_1_1.done; schemaAttrs_1_1 = schemaAttrs_1.next()) {
|
||||
for (var schemaAttrs_1 = tslib_1.__values(schemaAttrs), schemaAttrs_1_1 = schemaAttrs_1.next(); !schemaAttrs_1_1.done; schemaAttrs_1_1 = schemaAttrs_1.next()) {
|
||||
var attr = schemaAttrs_1_1.value;
|
||||
_loop_1(attr);
|
||||
}
|
||||
|
|
@ -891,9 +830,9 @@ function constructSchema(statements, entity) {
|
|||
var foreignKeySet = {};
|
||||
if (oneToManySet) {
|
||||
try {
|
||||
for (var oneToManySet_1 = __values(oneToManySet), oneToManySet_1_1 = oneToManySet_1.next(); !oneToManySet_1_1.done; oneToManySet_1_1 = oneToManySet_1.next()) {
|
||||
for (var oneToManySet_1 = tslib_1.__values(oneToManySet), oneToManySet_1_1 = oneToManySet_1.next(); !oneToManySet_1_1.done; oneToManySet_1_1 = oneToManySet_1.next()) {
|
||||
var oneToManyItem = oneToManySet_1_1.value;
|
||||
var _g = __read(oneToManyItem, 2), entityName = _g[0], foreignKey = _g[1];
|
||||
var _g = tslib_1.__read(oneToManyItem, 2), entityName = _g[0], foreignKey = _g[1];
|
||||
if (referenceEntities.indexOf(entityName) === -1) {
|
||||
referenceEntities.push(entityName);
|
||||
}
|
||||
|
|
@ -930,7 +869,7 @@ function constructSchema(statements, entity) {
|
|||
});
|
||||
// 在这里把需要直接拷贝过来的语句写入
|
||||
if (SchemaAsts[entity]) {
|
||||
statements.push.apply(statements, __spreadArray([], __read(SchemaAsts[entity].statements), false));
|
||||
statements.push.apply(statements, tslib_1.__spreadArray([], tslib_1.__read(SchemaAsts[entity].statements), false));
|
||||
}
|
||||
// if (keys(foreignKeySet).length > 0) {
|
||||
// for (const fkItem in foreignKeySet) {
|
||||
|
|
@ -1050,7 +989,7 @@ function constructFilter(statements, entity) {
|
|||
default: {
|
||||
var text2_3 = text === 'Schema' ? entity : text;
|
||||
var manyToOneItem = manyToOneSet && manyToOneSet.find(function (_a) {
|
||||
var _b = __read(_a, 1), refEntity = _b[0];
|
||||
var _b = tslib_1.__read(_a, 1), refEntity = _b[0];
|
||||
return refEntity === text2_3;
|
||||
});
|
||||
if (manyToOneItem) {
|
||||
|
|
@ -1085,7 +1024,7 @@ function constructFilter(statements, entity) {
|
|||
}
|
||||
};
|
||||
try {
|
||||
for (var schemaAttrs_2 = __values(schemaAttrs), schemaAttrs_2_1 = schemaAttrs_2.next(); !schemaAttrs_2_1.done; schemaAttrs_2_1 = schemaAttrs_2.next()) {
|
||||
for (var schemaAttrs_2 = tslib_1.__values(schemaAttrs), schemaAttrs_2_1 = schemaAttrs_2.next(); !schemaAttrs_2_1.done; schemaAttrs_2_1 = schemaAttrs_2.next()) {
|
||||
var attr = schemaAttrs_2_1.value;
|
||||
_loop_3(attr);
|
||||
}
|
||||
|
|
@ -1174,7 +1113,7 @@ function constructProjection(statements, entity) {
|
|||
default: {
|
||||
var text2_4 = text === 'Schema' ? entity : text;
|
||||
var manyToOneItem = manyToOneSet && manyToOneSet.find(function (_a) {
|
||||
var _b = __read(_a, 1), refEntity = _b[0];
|
||||
var _b = tslib_1.__read(_a, 1), refEntity = _b[0];
|
||||
return refEntity === text2_4;
|
||||
});
|
||||
if (manyToOneItem) {
|
||||
|
|
@ -1213,7 +1152,7 @@ function constructProjection(statements, entity) {
|
|||
}
|
||||
};
|
||||
try {
|
||||
for (var schemaAttrs_3 = __values(schemaAttrs), schemaAttrs_3_1 = schemaAttrs_3.next(); !schemaAttrs_3_1.done; schemaAttrs_3_1 = schemaAttrs_3.next()) {
|
||||
for (var schemaAttrs_3 = tslib_1.__values(schemaAttrs), schemaAttrs_3_1 = schemaAttrs_3.next(); !schemaAttrs_3_1.done; schemaAttrs_3_1 = schemaAttrs_3.next()) {
|
||||
var attr = schemaAttrs_3_1.value;
|
||||
_loop_4(attr);
|
||||
}
|
||||
|
|
@ -1245,9 +1184,9 @@ function constructProjection(statements, entity) {
|
|||
if (oneToManySet) {
|
||||
var foreignKeySet = {};
|
||||
try {
|
||||
for (var oneToManySet_2 = __values(oneToManySet), oneToManySet_2_1 = oneToManySet_2.next(); !oneToManySet_2_1.done; oneToManySet_2_1 = oneToManySet_2.next()) {
|
||||
for (var oneToManySet_2 = tslib_1.__values(oneToManySet), oneToManySet_2_1 = oneToManySet_2.next(); !oneToManySet_2_1.done; oneToManySet_2_1 = oneToManySet_2.next()) {
|
||||
var oneToManyItem = oneToManySet_2_1.value;
|
||||
var _h = __read(oneToManyItem, 2), entityName = _h[0], foreignKey = _h[1];
|
||||
var _h = tslib_1.__read(oneToManyItem, 2), entityName = _h[0], foreignKey = _h[1];
|
||||
if (foreignKeySet.hasOwnProperty(entityName)) {
|
||||
foreignKeySet[entityName].push(foreignKey);
|
||||
}
|
||||
|
|
@ -1301,7 +1240,7 @@ function constructProjection(statements, entity) {
|
|||
// Projection,正常查询的投影
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("Projection"), undefined, factory.createIntersectionTypeNode([
|
||||
factory.createTypeLiteralNode(MetaPropertySignaturs.concat(properties.map(function (_a) {
|
||||
var _b = __read(_a, 3), n = _b[0], q = _b[1], v = _b[2];
|
||||
var _b = tslib_1.__read(_a, 3), n = _b[0], q = _b[1], v = _b[2];
|
||||
return factory.createPropertySignature(undefined, n, q ? undefined : factory.createToken(ts.SyntaxKind.QuestionToken), v || factory.createLiteralTypeNode(factory.createNumericLiteral("1")));
|
||||
}))),
|
||||
exprNode,
|
||||
|
|
@ -1309,7 +1248,7 @@ function constructProjection(statements, entity) {
|
|||
// ExportProjection,下载查询的投影
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("ExportProjection"), undefined, factory.createIntersectionTypeNode([
|
||||
factory.createTypeLiteralNode(MetaPropertySignaturs.concat(properties.map(function (_a) {
|
||||
var _b = __read(_a, 4), n = _b[0], q = _b[1], v = _b[2], v2 = _b[3];
|
||||
var _b = tslib_1.__read(_a, 4), n = _b[0], q = _b[1], v = _b[2], v2 = _b[3];
|
||||
return factory.createPropertySignature(undefined, n, factory.createToken(ts.SyntaxKind.QuestionToken), v2 || factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword));
|
||||
}))),
|
||||
exprNode,
|
||||
|
|
@ -1434,10 +1373,10 @@ function constructQuery(statements, entity) {
|
|||
var manyToSelf = false;
|
||||
if (manyToOneSet) {
|
||||
(0, lodash_1.uniqBy)(manyToOneSet, function (_a) {
|
||||
var _b = __read(_a, 1), a = _b[0];
|
||||
var _b = tslib_1.__read(_a, 1), a = _b[0];
|
||||
return a;
|
||||
}).forEach(function (_a) {
|
||||
var _b = __read(_a, 2), oneEntity = _b[0], foreignKey = _b[1];
|
||||
var _b = tslib_1.__read(_a, 2), oneEntity = _b[0], foreignKey = _b[1];
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("".concat(oneEntity, "IdSubQuery")), undefined, factory.createTypeReferenceNode(factory.createIdentifier("Selection"), [factory.createTypeReferenceNode(factory.createIdentifier("".concat(oneEntity, "IdProjection")), undefined)])));
|
||||
if (oneEntity === entity) {
|
||||
manyToSelf = true;
|
||||
|
|
@ -1489,7 +1428,7 @@ function constructSorter(statements, entity) {
|
|||
default: {
|
||||
var text2_5 = text === 'Schema' ? entity : text;
|
||||
var manyToOneItem = manyToOneSet && manyToOneSet.find(function (_a) {
|
||||
var _b = __read(_a, 1), refEntity = _b[0];
|
||||
var _b = tslib_1.__read(_a, 1), refEntity = _b[0];
|
||||
return refEntity === text2_5;
|
||||
});
|
||||
if (manyToOneItem) {
|
||||
|
|
@ -1515,7 +1454,7 @@ function constructSorter(statements, entity) {
|
|||
}
|
||||
};
|
||||
try {
|
||||
for (var schemaAttrs_4 = __values(schemaAttrs), schemaAttrs_4_1 = schemaAttrs_4.next(); !schemaAttrs_4_1.done; schemaAttrs_4_1 = schemaAttrs_4.next()) {
|
||||
for (var schemaAttrs_4 = tslib_1.__values(schemaAttrs), schemaAttrs_4_1 = schemaAttrs_4.next(); !schemaAttrs_4_1.done; schemaAttrs_4_1 = schemaAttrs_4.next()) {
|
||||
var attr = schemaAttrs_4_1.value;
|
||||
_loop_6(attr);
|
||||
}
|
||||
|
|
@ -1578,9 +1517,9 @@ function constructFullAttrs(statements, entity) {
|
|||
if (manyToOneSet && manyToOneSet.length) {
|
||||
var mtoAttrs = [];
|
||||
try {
|
||||
for (var manyToOneSet_1 = __values(manyToOneSet), manyToOneSet_1_1 = manyToOneSet_1.next(); !manyToOneSet_1_1.done; manyToOneSet_1_1 = manyToOneSet_1.next()) {
|
||||
for (var manyToOneSet_1 = tslib_1.__values(manyToOneSet), manyToOneSet_1_1 = manyToOneSet_1.next(); !manyToOneSet_1_1.done; manyToOneSet_1_1 = manyToOneSet_1.next()) {
|
||||
var item = manyToOneSet_1_1.value;
|
||||
var _g = __read(item, 2), one = _g[0], key = _g[1];
|
||||
var _g = tslib_1.__read(item, 2), one = _g[0], key = _g[1];
|
||||
if (one === entity) {
|
||||
// 递归引用自身,因为typescript本身不支持递归,因此这里做一个显式的三层递归应该够用了
|
||||
mtoAttrs.push(factory.createTemplateLiteralType(factory.createTemplateHead("".concat(key, "."), "".concat(key, ".")), [factory.createTemplateLiteralTypeSpan(factory.createTypeReferenceNode(factory.createIdentifier("OpAttr"), undefined), factory.createTemplateTail("", ""))]), factory.createTemplateLiteralType(factory.createTemplateHead("".concat(key, ".").concat(key, "."), "".concat(key, ".").concat(key, ".")), [factory.createTemplateLiteralTypeSpan(factory.createTypeReferenceNode(factory.createIdentifier("OpAttr"), undefined), factory.createTemplateTail("", ""))]), factory.createTemplateLiteralType(factory.createTemplateHead("".concat(key, ".").concat(key, ".").concat(key, "."), "".concat(key, ".").concat(key, ".").concat(key, ".")), [factory.createTemplateLiteralTypeSpan(factory.createTypeReferenceNode(factory.createIdentifier("OpAttr"), undefined), factory.createTemplateTail("", ""))]));
|
||||
|
|
@ -1598,9 +1537,9 @@ function constructFullAttrs(statements, entity) {
|
|||
}
|
||||
finally { if (e_7) throw e_7.error; }
|
||||
}
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("NativeAttr"), undefined, factory.createUnionTypeNode(__spreadArray([
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("NativeAttr"), undefined, factory.createUnionTypeNode(tslib_1.__spreadArray([
|
||||
factory.createTypeReferenceNode(factory.createIdentifier("OpAttr"), undefined)
|
||||
], __read(mtoAttrs), false))));
|
||||
], tslib_1.__read(mtoAttrs), false))));
|
||||
}
|
||||
else {
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("NativeAttr"), undefined, factory.createTypeReferenceNode(factory.createIdentifier("OpAttr"), undefined)));
|
||||
|
|
@ -1608,9 +1547,9 @@ function constructFullAttrs(statements, entity) {
|
|||
var foreignKeySet = {};
|
||||
if (oneToManySet && oneToManySet.length > 0) {
|
||||
try {
|
||||
for (var oneToManySet_3 = __values(oneToManySet), oneToManySet_3_1 = oneToManySet_3.next(); !oneToManySet_3_1.done; oneToManySet_3_1 = oneToManySet_3.next()) {
|
||||
for (var oneToManySet_3 = tslib_1.__values(oneToManySet), oneToManySet_3_1 = oneToManySet_3.next(); !oneToManySet_3_1.done; oneToManySet_3_1 = oneToManySet_3.next()) {
|
||||
var oneToManyItem = oneToManySet_3_1.value;
|
||||
var _h = __read(oneToManyItem, 2), entityName = _h[0], foreignKey = _h[1];
|
||||
var _h = tslib_1.__read(oneToManyItem, 2), entityName = _h[0], foreignKey = _h[1];
|
||||
if (foreignKeySet.hasOwnProperty(entityName)) {
|
||||
foreignKeySet[entityName].push(foreignKey);
|
||||
}
|
||||
|
|
@ -1652,9 +1591,9 @@ function constructFullAttrs(statements, entity) {
|
|||
for (var entityName in foreignKeySet) {
|
||||
_loop_7(entityName);
|
||||
}
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("FullAttr"), undefined, factory.createUnionTypeNode(__spreadArray([
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("FullAttr"), undefined, factory.createUnionTypeNode(tslib_1.__spreadArray([
|
||||
factory.createTypeReferenceNode(factory.createIdentifier("NativeAttr"), undefined)
|
||||
], __read(otmAttrs_1), false))));
|
||||
], tslib_1.__read(otmAttrs_1), false))));
|
||||
}
|
||||
else {
|
||||
statements.push(factory.createTypeAliasDeclaration(undefined, [factory.createModifier(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier("FullAttr"), undefined, factory.createTypeReferenceNode(factory.createIdentifier("NativeAttr"), undefined)));
|
||||
|
|
@ -1690,9 +1629,9 @@ function constructActions(statements, entity) {
|
|||
var foreignKeySet = {};
|
||||
if (oneToManySet) {
|
||||
try {
|
||||
for (var oneToManySet_4 = __values(oneToManySet), oneToManySet_4_1 = oneToManySet_4.next(); !oneToManySet_4_1.done; oneToManySet_4_1 = oneToManySet_4.next()) {
|
||||
for (var oneToManySet_4 = tslib_1.__values(oneToManySet), oneToManySet_4_1 = oneToManySet_4.next(); !oneToManySet_4_1.done; oneToManySet_4_1 = oneToManySet_4.next()) {
|
||||
var oneToManyItem = oneToManySet_4_1.value;
|
||||
var _p = __read(oneToManyItem, 2), entityName = _p[0], foreignKey = _p[1];
|
||||
var _p = tslib_1.__read(oneToManyItem, 2), entityName = _p[0], foreignKey = _p[1];
|
||||
if (foreignKeySet.hasOwnProperty(entityName)) {
|
||||
foreignKeySet[entityName].push(foreignKey);
|
||||
}
|
||||
|
|
@ -1713,7 +1652,7 @@ function constructActions(statements, entity) {
|
|||
var foreignKeyAttrNode = [];
|
||||
if (manyToOneSet) {
|
||||
try {
|
||||
for (var manyToOneSet_2 = __values(manyToOneSet), manyToOneSet_2_1 = manyToOneSet_2.next(); !manyToOneSet_2_1.done; manyToOneSet_2_1 = manyToOneSet_2.next()) {
|
||||
for (var manyToOneSet_2 = tslib_1.__values(manyToOneSet), manyToOneSet_2_1 = manyToOneSet_2.next(); !manyToOneSet_2_1.done; manyToOneSet_2_1 = manyToOneSet_2.next()) {
|
||||
var one = manyToOneSet_2_1.value;
|
||||
if (!ReversePointerRelations[entity] || !ReversePointerRelations[entity].includes(one[1])) {
|
||||
foreignKeyAttrNode.push(factory.createLiteralTypeNode(factory.createStringLiteral("".concat(one[1], "Id"))));
|
||||
|
|
@ -1750,7 +1689,7 @@ function constructActions(statements, entity) {
|
|||
*/
|
||||
var upsertOneNodes = [];
|
||||
try {
|
||||
for (var manyToOneSet_3 = __values(manyToOneSet), manyToOneSet_3_1 = manyToOneSet_3.next(); !manyToOneSet_3_1.done; manyToOneSet_3_1 = manyToOneSet_3.next()) {
|
||||
for (var manyToOneSet_3 = tslib_1.__values(manyToOneSet), manyToOneSet_3_1 = manyToOneSet_3.next(); !manyToOneSet_3_1.done; manyToOneSet_3_1 = manyToOneSet_3.next()) {
|
||||
var one = manyToOneSet_3_1.value;
|
||||
if (!ReversePointerRelations[entity] || !ReversePointerRelations[entity].includes(one[0])) {
|
||||
upsertOneNodes.push(factory.createUnionTypeNode([
|
||||
|
|
@ -1779,7 +1718,7 @@ function constructActions(statements, entity) {
|
|||
var reverseOneNodes = [];
|
||||
if (ReversePointerRelations[entity]) {
|
||||
try {
|
||||
for (var _q = __values(ReversePointerRelations[entity]), _r = _q.next(); !_r.done; _r = _q.next()) {
|
||||
for (var _q = tslib_1.__values(ReversePointerRelations[entity]), _r = _q.next(); !_r.done; _r = _q.next()) {
|
||||
var one = _r.value;
|
||||
reverseOneNodes.push(factory.createTypeLiteralNode([
|
||||
factory.createPropertySignature(undefined, factory.createIdentifier('entity'), factory.createToken(ts.SyntaxKind.QuestionToken), factory.createKeywordTypeNode(ts.SyntaxKind.NeverKeyword)),
|
||||
|
|
@ -1889,7 +1828,7 @@ function constructActions(statements, entity) {
|
|||
foreignKeyAttrNode = [];
|
||||
if (manyToOneSet) {
|
||||
try {
|
||||
for (var manyToOneSet_4 = __values(manyToOneSet), manyToOneSet_4_1 = manyToOneSet_4.next(); !manyToOneSet_4_1.done; manyToOneSet_4_1 = manyToOneSet_4.next()) {
|
||||
for (var manyToOneSet_4 = tslib_1.__values(manyToOneSet), manyToOneSet_4_1 = manyToOneSet_4.next(); !manyToOneSet_4_1.done; manyToOneSet_4_1 = manyToOneSet_4.next()) {
|
||||
var one = manyToOneSet_4_1.value;
|
||||
if (!ReversePointerRelations[entity] || !ReversePointerRelations[entity].includes(one[1])) {
|
||||
foreignKeyAttrNode.push(factory.createLiteralTypeNode(factory.createStringLiteral("".concat(one[1], "Id"))));
|
||||
|
|
@ -1924,7 +1863,7 @@ function constructActions(statements, entity) {
|
|||
*/
|
||||
var upsertOneNodes = [];
|
||||
try {
|
||||
for (var manyToOneSet_5 = __values(manyToOneSet), manyToOneSet_5_1 = manyToOneSet_5.next(); !manyToOneSet_5_1.done; manyToOneSet_5_1 = manyToOneSet_5.next()) {
|
||||
for (var manyToOneSet_5 = tslib_1.__values(manyToOneSet), manyToOneSet_5_1 = manyToOneSet_5.next(); !manyToOneSet_5_1.done; manyToOneSet_5_1 = manyToOneSet_5.next()) {
|
||||
var one = manyToOneSet_5_1.value;
|
||||
if (!ReversePointerRelations[entity] || !ReversePointerRelations[entity].includes(one[0])) {
|
||||
upsertOneNodes.push(factory.createUnionTypeNode([
|
||||
|
|
@ -1961,7 +1900,7 @@ function constructActions(statements, entity) {
|
|||
if (ReversePointerRelations[entity]) {
|
||||
var refEntityLitrals = [];
|
||||
try {
|
||||
for (var _s = __values(ReversePointerRelations[entity]), _t = _s.next(); !_t.done; _t = _s.next()) {
|
||||
for (var _s = tslib_1.__values(ReversePointerRelations[entity]), _t = _s.next(); !_t.done; _t = _s.next()) {
|
||||
var one = _t.value;
|
||||
refEntityLitrals.push(factory.createLiteralTypeNode(factory.createStringLiteral("".concat((0, string_1.firstLetterLowerCase)(one)))));
|
||||
reverseOneNodes.push(factory.createTypeLiteralNode([
|
||||
|
|
@ -2070,7 +2009,7 @@ function constructActions(statements, entity) {
|
|||
*/
|
||||
var upsertOneNodes = [];
|
||||
try {
|
||||
for (var manyToOneSet_6 = __values(manyToOneSet), manyToOneSet_6_1 = manyToOneSet_6.next(); !manyToOneSet_6_1.done; manyToOneSet_6_1 = manyToOneSet_6.next()) {
|
||||
for (var manyToOneSet_6 = tslib_1.__values(manyToOneSet), manyToOneSet_6_1 = manyToOneSet_6.next(); !manyToOneSet_6_1.done; manyToOneSet_6_1 = manyToOneSet_6.next()) {
|
||||
var one = manyToOneSet_6_1.value;
|
||||
if (!ReversePointerRelations[entity] || !ReversePointerRelations[entity].includes(one[0])) {
|
||||
upsertOneNodes.push(factory.createUnionTypeNode([
|
||||
|
|
@ -2095,7 +2034,7 @@ function constructActions(statements, entity) {
|
|||
if (ReversePointerRelations[entity]) {
|
||||
var refEntityLitrals = [];
|
||||
try {
|
||||
for (var _u = __values(ReversePointerRelations[entity]), _v = _u.next(); !_v.done; _v = _u.next()) {
|
||||
for (var _u = tslib_1.__values(ReversePointerRelations[entity]), _v = _u.next(); !_v.done; _v = _u.next()) {
|
||||
var one = _v.value;
|
||||
refEntityLitrals.push(factory.createLiteralTypeNode(factory.createStringLiteral("".concat((0, string_1.firstLetterLowerCase)(one)))));
|
||||
reverseOneNodes.push(factory.createTypeLiteralNode([
|
||||
|
|
@ -2271,10 +2210,10 @@ function outputSubQuery(outputDir, printer) {
|
|||
var identifier = "".concat(one, "IdSubQuery");
|
||||
var fromEntites = OneToMany[one] ? (0, lodash_1.uniq)(OneToMany[one]
|
||||
.filter(function (_a) {
|
||||
var _b = __read(_a, 2), e = _b[0], f = _b[1];
|
||||
var _b = tslib_1.__read(_a, 2), e = _b[0], f = _b[1];
|
||||
return f !== 'entity';
|
||||
}).map(function (_a) {
|
||||
var _b = __read(_a, 1), e = _b[0];
|
||||
var _b = tslib_1.__read(_a, 1), e = _b[0];
|
||||
return e;
|
||||
})) : [];
|
||||
fromEntites.push(one);
|
||||
|
|
@ -2483,7 +2422,7 @@ function constructAttributes(entity) {
|
|||
default: {
|
||||
var text2_6 = text === 'Schema' ? entity : text;
|
||||
var manyToOneItem = manyToOneSet && manyToOneSet.find(function (_a) {
|
||||
var _b = __read(_a, 2), refEntity = _b[0], attrName = _b[1];
|
||||
var _b = tslib_1.__read(_a, 2), refEntity = _b[0], attrName = _b[1];
|
||||
return refEntity === text2_6 && attrName === attrName;
|
||||
});
|
||||
if (manyToOneItem) {
|
||||
|
|
@ -2638,7 +2577,7 @@ function outputStorage(outputDir, printer) {
|
|||
var attributes = constructAttributes(entity);
|
||||
propertyAssignments.push(factory.createPropertyAssignment(factory.createIdentifier("attributes"), factory.createObjectLiteralExpression(attributes, true)));
|
||||
if (indexes) {
|
||||
indexExpressions.push.apply(indexExpressions, __spreadArray([], __read(indexes.elements), false));
|
||||
indexExpressions.push.apply(indexExpressions, tslib_1.__spreadArray([], tslib_1.__read(indexes.elements), false));
|
||||
}
|
||||
if (indexExpressions.length > 0) {
|
||||
propertyAssignments.push(factory.createPropertyAssignment(factory.createIdentifier("indexes"), factory.createArrayLiteralExpression(indexExpressions, true)));
|
||||
|
|
@ -2676,7 +2615,7 @@ function addReverseRelationship() {
|
|||
throw new Error("\u300C".concat(reverseEntity, "\u300D\u88AB\u5F15\u7528\u4E3A\u4E00\u4E2A\u53CD\u6307\u5BF9\u8C61\uFF0C\u4F46\u5176\u5B9A\u4E49\u4E2D\u7684entity\u548CentityId\u4E0D\u7B26\u5408\u8981\u6C42"));
|
||||
}
|
||||
try {
|
||||
for (var _b = (e_18 = void 0, __values(ReversePointerRelations[reverseEntity])), _c = _b.next(); !_c.done; _c = _b.next()) {
|
||||
for (var _b = (e_18 = void 0, tslib_1.__values(ReversePointerRelations[reverseEntity])), _c = _b.next(); !_c.done; _c = _b.next()) {
|
||||
var one = _c.value;
|
||||
addRelationship(reverseEntity, one, 'entity', false);
|
||||
}
|
||||
|
|
@ -2690,25 +2629,18 @@ function addReverseRelationship() {
|
|||
}
|
||||
}
|
||||
}
|
||||
function outputIndexTs(outputDir) {
|
||||
var indexTs = "export * from './EntityDict';\n export * from './Storage';\n export * from './ActionDefDict';\n ";
|
||||
var filename = path_1.default.join(outputDir, 'index.ts');
|
||||
(0, fs_1.writeFileSync)(filename, indexTs, { flag: 'w' });
|
||||
}
|
||||
function outputPackageJson(outputDir) {
|
||||
var pj = {
|
||||
"name": process.env.COMPLING_AS_LIB ? "general-app-domain" : "oak-app-domain",
|
||||
"main": "index.ts"
|
||||
};
|
||||
var indexTs = "export * from './EntityDict';\n export * from './Storage';\n export * from './ActionDefDict';\n ";
|
||||
var filename = path_1.default.join(outputDir, 'index.ts');
|
||||
(0, fs_1.writeFileSync)(filename, indexTs, { flag: 'w' });
|
||||
filename = path_1.default.join(outputDir, 'package.json');
|
||||
var filename = path_1.default.join(outputDir, 'package.json');
|
||||
(0, fs_1.writeFileSync)(filename, JSON.stringify(pj), { flag: 'w' });
|
||||
// 执行npm link
|
||||
/* try {
|
||||
execSync('npm link', {
|
||||
cwd: outputDir,
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
} */
|
||||
}
|
||||
function analyzeEntities(inputDir) {
|
||||
var files = (0, fs_1.readdirSync)(inputDir);
|
||||
|
|
@ -2735,8 +2667,9 @@ function buildSchema(outputDir) {
|
|||
outputAction(outputDir, printer);
|
||||
outputEntityDict(outputDir, printer);
|
||||
outputStorage(outputDir, printer);
|
||||
//if (!process.env.COMPLING_AS_LIB) {
|
||||
outputPackageJson(outputDir);
|
||||
//}
|
||||
outputIndexTs(outputDir);
|
||||
if (!process.env.COMPLING_AS_LIB) {
|
||||
outputPackageJson(outputDir);
|
||||
}
|
||||
}
|
||||
exports.buildSchema = buildSchema;
|
||||
|
|
|
|||
|
|
@ -1,103 +1,23 @@
|
|||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __read = (this && this.__read) || function (o, n) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||||
if (!m) return o;
|
||||
var i = m.call(o), r, ar = [], e;
|
||||
try {
|
||||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||||
}
|
||||
catch (error) { e = { error: error }; }
|
||||
finally {
|
||||
try {
|
||||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||||
}
|
||||
finally { if (e) throw e.error; }
|
||||
}
|
||||
return ar;
|
||||
};
|
||||
var __values = (this && this.__values) || function(o) {
|
||||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
||||
if (m) return m.call(o);
|
||||
if (o && typeof o.length === "number") return {
|
||||
next: function () {
|
||||
if (o && i >= o.length) o = void 0;
|
||||
return { value: o && o[i++], done: !o };
|
||||
}
|
||||
};
|
||||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.CascadeStore = void 0;
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var tslib_1 = require("tslib");
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
var RowStore_1 = require("../types/RowStore");
|
||||
var filter_1 = require("./filter");
|
||||
var relation_1 = require("./relation");
|
||||
/**这个用来处理级联的select和update,对不同能力的 */
|
||||
var CascadeStore = /** @class */ (function (_super) {
|
||||
__extends(CascadeStore, _super);
|
||||
tslib_1.__extends(CascadeStore, _super);
|
||||
function CascadeStore(storageSchema) {
|
||||
return _super.call(this, storageSchema) || this;
|
||||
}
|
||||
CascadeStore.prototype.cascadeSelect = function (entity, selection, context, option) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var data, projection, oneToMany, oneToManyOnEntity, manyToOne, manyToOneOnEntity, supportMtoJoin, attr, relation, _a, entity2, foreignKey, rows;
|
||||
var _b, _c, _d, _e, _f, _g, _h, _j;
|
||||
var _this = this;
|
||||
return __generator(this, function (_k) {
|
||||
return tslib_1.__generator(this, function (_k) {
|
||||
switch (_k.label) {
|
||||
case 0:
|
||||
data = selection.data;
|
||||
|
|
@ -148,7 +68,7 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
}
|
||||
}
|
||||
else {
|
||||
_a = __read(relation, 2), entity2 = _a[0], foreignKey = _a[1];
|
||||
_a = tslib_1.__read(relation, 2), entity2 = _a[0], foreignKey = _a[1];
|
||||
if (foreignKey) {
|
||||
// 基于属性的一对多
|
||||
Object.assign(oneToMany, (_h = {},
|
||||
|
|
@ -176,9 +96,9 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
(function () {
|
||||
var attrs = Object.keys(manyToOne);
|
||||
if (attrs.length > 0) {
|
||||
return attrs.map(function (attr) { return __awaiter(_this, void 0, void 0, function () {
|
||||
return attrs.map(function (attr) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var subRows;
|
||||
return __generator(this, function (_a) {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, this.cascadeSelect(manyToOne[attr], {
|
||||
data: data[attr],
|
||||
|
|
@ -208,9 +128,9 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
(function () {
|
||||
var attrs = Object.keys(manyToOneOnEntity);
|
||||
if (attrs.length > 0) {
|
||||
return attrs.map(function (attr) { return __awaiter(_this, void 0, void 0, function () {
|
||||
return attrs.map(function (attr) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var subRows;
|
||||
return __generator(this, function (_a) {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, this.cascadeSelect(attr, {
|
||||
data: data[attr],
|
||||
|
|
@ -239,10 +159,10 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
var attrs = Object.keys(oneToMany);
|
||||
if (attrs.length > 0) {
|
||||
// 必须一行一行的查询,否则indexFrom和count无法准确
|
||||
return rows.map(function (row) { return __awaiter(_this, void 0, void 0, function () {
|
||||
return rows.map(function (row) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var _a, _b, _i, attr, _c, entity2, foreignKey, filter2, rows2;
|
||||
var _d, _e;
|
||||
return __generator(this, function (_f) {
|
||||
return tslib_1.__generator(this, function (_f) {
|
||||
switch (_f.label) {
|
||||
case 0:
|
||||
_a = [];
|
||||
|
|
@ -279,10 +199,10 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
var attrs = Object.keys(oneToManyOnEntity);
|
||||
if (attrs.length > 0) {
|
||||
// 必须一行一行的查询,否则indexFrom和count无法准确
|
||||
return rows.map(function (row) { return __awaiter(_this, void 0, void 0, function () {
|
||||
return rows.map(function (row) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var _a, _b, _i, attr, filter2, rows2;
|
||||
var _c;
|
||||
return __generator(this, function (_d) {
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0:
|
||||
_a = [];
|
||||
|
|
@ -347,11 +267,11 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
* @param option
|
||||
*/
|
||||
CascadeStore.prototype.cascadeUpdate = function (entity, operation, context, option) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var action, data, filter, opData, result, multipleCreate, data_1, data_1_1, dataEle, result2, e_1_1, data2, _loop_1, this_1, _a, _b, _i, attr, operation2, count;
|
||||
var e_1, _c, _d, _e;
|
||||
var _this = this;
|
||||
return __generator(this, function (_f) {
|
||||
return tslib_1.__generator(this, function (_f) {
|
||||
switch (_f.label) {
|
||||
case 0:
|
||||
action = operation.action, data = operation.data, filter = operation.filter;
|
||||
|
|
@ -362,7 +282,7 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
_f.label = 1;
|
||||
case 1:
|
||||
_f.trys.push([1, 6, 7, 8]);
|
||||
data_1 = __values(data), data_1_1 = data_1.next();
|
||||
data_1 = tslib_1.__values(data), data_1_1 = data_1.next();
|
||||
_f.label = 2;
|
||||
case 2:
|
||||
if (!!data_1_1.done) return [3 /*break*/, 5];
|
||||
|
|
@ -395,7 +315,7 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
_loop_1 = function (attr) {
|
||||
var relation, operationMto, actionMto, dataMto, filterMto, fkId, entity_1, result2, operationMto, actionMto, dataMto, filterMto, _g, _h, fkId, result2, _j, entityOtm_1, foreignKey_1, otmOperations, dealWithOneToMany, otmOperations_1, otmOperations_1_1, oper, e_2_1;
|
||||
var _k, _l, _m, e_2, _o;
|
||||
return __generator(this, function (_p) {
|
||||
return tslib_1.__generator(this, function (_p) {
|
||||
switch (_p.label) {
|
||||
case 0:
|
||||
relation = (0, relation_1.judgeRelation)(this_1.storageSchema, entity, attr);
|
||||
|
|
@ -489,12 +409,12 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
return [3 /*break*/, 16];
|
||||
case 5:
|
||||
(0, assert_1.default)(relation instanceof Array);
|
||||
_j = __read(relation, 2), entityOtm_1 = _j[0], foreignKey_1 = _j[1];
|
||||
_j = tslib_1.__read(relation, 2), entityOtm_1 = _j[0], foreignKey_1 = _j[1];
|
||||
otmOperations = data2[attr];
|
||||
dealWithOneToMany = function (otm) { return __awaiter(_this, void 0, void 0, function () {
|
||||
dealWithOneToMany = function (otm) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var actionOtm, dataOtm, filterOtm, id_1, id_2, id, id_3, id_4, id, result2;
|
||||
var _a, _b, _c, _d;
|
||||
return __generator(this, function (_e) {
|
||||
return tslib_1.__generator(this, function (_e) {
|
||||
switch (_e.label) {
|
||||
case 0:
|
||||
actionOtm = otm.action, dataOtm = otm.data, filterOtm = otm.filter;
|
||||
|
|
@ -608,7 +528,7 @@ var CascadeStore = /** @class */ (function (_super) {
|
|||
_p.label = 6;
|
||||
case 6:
|
||||
_p.trys.push([6, 11, 12, 13]);
|
||||
otmOperations_1 = (e_2 = void 0, __values(otmOperations)), otmOperations_1_1 = otmOperations_1.next();
|
||||
otmOperations_1 = (e_2 = void 0, tslib_1.__values(otmOperations)), otmOperations_1_1 = otmOperations_1.next();
|
||||
_p.label = 7;
|
||||
case 7:
|
||||
if (!!otmOperations_1_1.done) return [3 /*break*/, 10];
|
||||
|
|
|
|||
|
|
@ -1,83 +1,8 @@
|
|||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
var __assign = (this && this.__assign) || function () {
|
||||
__assign = Object.assign || function(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||||
t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __values = (this && this.__values) || function(o) {
|
||||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
||||
if (m) return m.call(o);
|
||||
if (o && typeof o.length === "number") return {
|
||||
next: function () {
|
||||
if (o && i >= o.length) o = void 0;
|
||||
return { value: o && o[i++], done: !o };
|
||||
}
|
||||
};
|
||||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.TriggerExecutor = void 0;
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var tslib_1 = require("tslib");
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
var lodash_1 = require("../utils/lodash");
|
||||
var filter_1 = require("../store/filter");
|
||||
var Trigger_1 = require("../types/Trigger");
|
||||
|
|
@ -93,7 +18,7 @@ var Trigger_1 = require("../types/Trigger");
|
|||
'stat': 'select',
|
||||
}; */
|
||||
var TriggerExecutor = /** @class */ (function (_super) {
|
||||
__extends(TriggerExecutor, _super);
|
||||
tslib_1.__extends(TriggerExecutor, _super);
|
||||
function TriggerExecutor(contextBuilder, logger) {
|
||||
if (logger === void 0) { logger = console; }
|
||||
var _this = _super.call(this) || this;
|
||||
|
|
@ -177,10 +102,10 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
}
|
||||
};
|
||||
TriggerExecutor.prototype.preCommitTrigger = function (entity, operation, trigger, context, option) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var _a, filter, filter2, rowStore, count, _b, _c, _d, _e;
|
||||
var _f, _g;
|
||||
return __generator(this, function (_h) {
|
||||
return tslib_1.__generator(this, function (_h) {
|
||||
switch (_h.label) {
|
||||
case 0:
|
||||
(0, assert_1.default)(trigger.action !== 'select');
|
||||
|
|
@ -248,10 +173,10 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
};
|
||||
TriggerExecutor.prototype.preOperation = function (entity, operation, context, option) {
|
||||
var _a;
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var action, triggers, preTriggers, preTriggers_1, preTriggers_1_1, trigger, number, e_1_1, commitTriggers, commitTriggers_1, commitTriggers_1_1, trigger, e_2_1;
|
||||
var e_1, _b, e_2, _c;
|
||||
return __generator(this, function (_d) {
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0:
|
||||
action = operation.action;
|
||||
|
|
@ -261,7 +186,7 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
_d.label = 1;
|
||||
case 1:
|
||||
_d.trys.push([1, 6, 7, 8]);
|
||||
preTriggers_1 = __values(preTriggers), preTriggers_1_1 = preTriggers_1.next();
|
||||
preTriggers_1 = tslib_1.__values(preTriggers), preTriggers_1_1 = preTriggers_1.next();
|
||||
_d.label = 2;
|
||||
case 2:
|
||||
if (!!preTriggers_1_1.done) return [3 /*break*/, 5];
|
||||
|
|
@ -292,7 +217,7 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
_d.label = 9;
|
||||
case 9:
|
||||
_d.trys.push([9, 14, 15, 16]);
|
||||
commitTriggers_1 = __values(commitTriggers), commitTriggers_1_1 = commitTriggers_1.next();
|
||||
commitTriggers_1 = tslib_1.__values(commitTriggers), commitTriggers_1_1 = commitTriggers_1.next();
|
||||
_d.label = 10;
|
||||
case 10:
|
||||
if (!!commitTriggers_1_1.done) return [3 /*break*/, 13];
|
||||
|
|
@ -322,9 +247,9 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
};
|
||||
TriggerExecutor.prototype.onCommit = function (trigger, operation, cxtStr, option) {
|
||||
var _this = this;
|
||||
return function () { return __awaiter(_this, void 0, void 0, function () {
|
||||
return function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var context, number, rowStore, filter;
|
||||
return __generator(this, function (_a) {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0: return [4 /*yield*/, this.contextBuilder(cxtStr)];
|
||||
case 1:
|
||||
|
|
@ -356,7 +281,7 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
else if (operation.filter) {
|
||||
Object.assign(filter, { filter: operation.filter });
|
||||
}
|
||||
return [4 /*yield*/, rowStore.operate(trigger.entity, __assign({ action: 'update', data: {
|
||||
return [4 /*yield*/, rowStore.operate(trigger.entity, tslib_1.__assign({ action: 'update', data: {
|
||||
$$triggerTimestamp$$: null,
|
||||
$$triggerData$$: null,
|
||||
} }, filter /** as Filter<'update', DeduceFilter<ED[T]['Schema']>> */), context)];
|
||||
|
|
@ -372,9 +297,9 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
}); };
|
||||
};
|
||||
TriggerExecutor.prototype.postCommitTrigger = function (operation, trigger, context, option) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var _a, _b, _c, _d, _e;
|
||||
return __generator(this, function (_f) {
|
||||
return tslib_1.__generator(this, function (_f) {
|
||||
switch (_f.label) {
|
||||
case 0:
|
||||
_b = (_a = context).on;
|
||||
|
|
@ -391,10 +316,10 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
};
|
||||
TriggerExecutor.prototype.postOperation = function (entity, operation, context, option, result) {
|
||||
var _a;
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var action, triggers, postTriggers, postTriggers_1, postTriggers_1_1, trigger, number, e_3_1, commitTriggers, commitTriggers_2, commitTriggers_2_1, trigger, e_4_1;
|
||||
var e_3, _b, e_4, _c;
|
||||
return __generator(this, function (_d) {
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0:
|
||||
action = operation.action;
|
||||
|
|
@ -404,7 +329,7 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
_d.label = 1;
|
||||
case 1:
|
||||
_d.trys.push([1, 6, 7, 8]);
|
||||
postTriggers_1 = __values(postTriggers), postTriggers_1_1 = postTriggers_1.next();
|
||||
postTriggers_1 = tslib_1.__values(postTriggers), postTriggers_1_1 = postTriggers_1.next();
|
||||
_d.label = 2;
|
||||
case 2:
|
||||
if (!!postTriggers_1_1.done) return [3 /*break*/, 5];
|
||||
|
|
@ -438,7 +363,7 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
_d.label = 9;
|
||||
case 9:
|
||||
_d.trys.push([9, 14, 15, 16]);
|
||||
commitTriggers_2 = __values(commitTriggers), commitTriggers_2_1 = commitTriggers_2.next();
|
||||
commitTriggers_2 = tslib_1.__values(commitTriggers), commitTriggers_2_1 = commitTriggers_2.next();
|
||||
_d.label = 10;
|
||||
case 10:
|
||||
if (!!commitTriggers_2_1.done) return [3 /*break*/, 13];
|
||||
|
|
@ -467,10 +392,10 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
});
|
||||
};
|
||||
TriggerExecutor.prototype.checkpoint = function (context, timestamp) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var result, rowStore, _a, _b, entity, rows, rows_1, rows_1_1, row, $$triggerData$$, _c, name_1, operation, cxtStr, params, trigger, e_5_1, e_6_1;
|
||||
var e_6, _d, e_5, _e;
|
||||
return __generator(this, function (_f) {
|
||||
return tslib_1.__generator(this, function (_f) {
|
||||
switch (_f.label) {
|
||||
case 0:
|
||||
result = 0;
|
||||
|
|
@ -478,7 +403,7 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
_f.label = 1;
|
||||
case 1:
|
||||
_f.trys.push([1, 13, 14, 15]);
|
||||
_a = __values(this.volatileEntities), _b = _a.next();
|
||||
_a = tslib_1.__values(this.volatileEntities), _b = _a.next();
|
||||
_f.label = 2;
|
||||
case 2:
|
||||
if (!!_b.done) return [3 /*break*/, 12];
|
||||
|
|
@ -499,7 +424,7 @@ var TriggerExecutor = /** @class */ (function (_super) {
|
|||
_f.label = 4;
|
||||
case 4:
|
||||
_f.trys.push([4, 9, 10, 11]);
|
||||
rows_1 = (e_5 = void 0, __values(rows)), rows_1_1 = rows_1.next();
|
||||
rows_1 = (e_5 = void 0, tslib_1.__values(rows)), rows_1_1 = rows_1.next();
|
||||
_f.label = 5;
|
||||
case 5:
|
||||
if (!!rows_1_1.done) return [3 /*break*/, 8];
|
||||
|
|
|
|||
|
|
@ -1,57 +1,8 @@
|
|||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __values = (this && this.__values) || function(o) {
|
||||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
||||
if (m) return m.call(o);
|
||||
if (o && typeof o.length === "number") return {
|
||||
next: function () {
|
||||
if (o && i >= o.length) o = void 0;
|
||||
return { value: o && o[i++], done: !o };
|
||||
}
|
||||
};
|
||||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UniversalContext = void 0;
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var tslib_1 = require("tslib");
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
var concurrent_1 = require("../utils/concurrent");
|
||||
var UniversalContext = /** @class */ (function () {
|
||||
function UniversalContext(store) {
|
||||
|
|
@ -83,9 +34,9 @@ var UniversalContext = /** @class */ (function () {
|
|||
* @param options
|
||||
*/
|
||||
UniversalContext.prototype.begin = function (options) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var _a;
|
||||
return __generator(this, function (_b) {
|
||||
return tslib_1.__generator(this, function (_b) {
|
||||
switch (_b.label) {
|
||||
case 0: return [4 /*yield*/, this.rwLock.acquire('X')];
|
||||
case 1:
|
||||
|
|
@ -105,10 +56,10 @@ var UniversalContext = /** @class */ (function () {
|
|||
});
|
||||
};
|
||||
UniversalContext.prototype.commit = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var _a, _b, e, e_1_1;
|
||||
var e_1, _c;
|
||||
return __generator(this, function (_d) {
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0:
|
||||
if (!this.uuid) return [3 /*break*/, 10];
|
||||
|
|
@ -121,7 +72,7 @@ var UniversalContext = /** @class */ (function () {
|
|||
_d.label = 2;
|
||||
case 2:
|
||||
_d.trys.push([2, 7, 8, 9]);
|
||||
_a = __values(this.events.commit), _b = _a.next();
|
||||
_a = tslib_1.__values(this.events.commit), _b = _a.next();
|
||||
_d.label = 3;
|
||||
case 3:
|
||||
if (!!_b.done) return [3 /*break*/, 6];
|
||||
|
|
@ -153,10 +104,10 @@ var UniversalContext = /** @class */ (function () {
|
|||
});
|
||||
};
|
||||
UniversalContext.prototype.rollback = function () {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var _a, _b, e, e_2_1;
|
||||
var e_2, _c;
|
||||
return __generator(this, function (_d) {
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0:
|
||||
if (!this.uuid) return [3 /*break*/, 10];
|
||||
|
|
@ -169,7 +120,7 @@ var UniversalContext = /** @class */ (function () {
|
|||
_d.label = 2;
|
||||
case 2:
|
||||
_d.trys.push([2, 7, 8, 9]);
|
||||
_a = __values(this.events.rollback), _b = _a.next();
|
||||
_a = tslib_1.__values(this.events.rollback), _b = _a.next();
|
||||
_d.label = 3;
|
||||
case 3:
|
||||
if (!!_b.done) return [3 /*break*/, 6];
|
||||
|
|
|
|||
|
|
@ -1,42 +1,7 @@
|
|||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.analyzeActionDefDict = exports.checkFilterContains = exports.getFullProjection = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var filter_1 = require("./filter");
|
||||
var types_1 = require("../types");
|
||||
function getFullProjection(entity, schema) {
|
||||
|
|
@ -57,10 +22,10 @@ function getFullProjection(entity, schema) {
|
|||
}
|
||||
exports.getFullProjection = getFullProjection;
|
||||
function checkFilterContains(entity, schema, contained, context, filter) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var rowStore, filter2, result, data_1;
|
||||
var _a;
|
||||
return __generator(this, function (_b) {
|
||||
return tslib_1.__generator(this, function (_b) {
|
||||
switch (_b.label) {
|
||||
case 0:
|
||||
if (!filter) {
|
||||
|
|
@ -115,8 +80,8 @@ function makeIntrinsicWatchers(schema) {
|
|||
watchers.push({
|
||||
entity: entity,
|
||||
name: "\u5BF9\u8C61".concat(entity, "\u4E0A\u7684\u8FC7\u671F\u81EA\u52A8watcher"),
|
||||
filter: function () { return __awaiter(_this, void 0, void 0, function () {
|
||||
return __generator(this, function (_a) {
|
||||
filter: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
return [2 /*return*/, {
|
||||
expired: false,
|
||||
expiresAt: {
|
||||
|
|
@ -153,10 +118,10 @@ function analyzeActionDefDict(schema, actionDefDict) {
|
|||
entity: entity,
|
||||
checker: function (_a, context) {
|
||||
var operation = _a.operation;
|
||||
return __awaiter(_this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var filter, conditionalFilter;
|
||||
var _b, _c;
|
||||
return __generator(this, function (_d) {
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
switch (_d.label) {
|
||||
case 0:
|
||||
filter = operation.filter;
|
||||
|
|
@ -183,10 +148,10 @@ function analyzeActionDefDict(schema, actionDefDict) {
|
|||
when: 'before',
|
||||
fn: function (_a) {
|
||||
var operation = _a.operation;
|
||||
return __awaiter(_this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var _b, data;
|
||||
var _c;
|
||||
return __generator(this, function (_d) {
|
||||
return tslib_1.__generator(this, function (_d) {
|
||||
_b = operation.data, data = _b === void 0 ? {} : _b;
|
||||
Object.assign(operation, {
|
||||
data: Object.assign(data, (_c = {},
|
||||
|
|
@ -210,10 +175,10 @@ function analyzeActionDefDict(schema, actionDefDict) {
|
|||
when: 'before',
|
||||
fn: function (_a) {
|
||||
var operation = _a.operation;
|
||||
return __awaiter(_this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
||||
var data;
|
||||
var _b;
|
||||
return __generator(this, function (_c) {
|
||||
return tslib_1.__generator(this, function (_c) {
|
||||
data = operation.data;
|
||||
Object.assign(data, (_b = {},
|
||||
_b[attr] = is,
|
||||
|
|
|
|||
|
|
@ -1,31 +1,7 @@
|
|||
"use strict";
|
||||
var __read = (this && this.__read) || function (o, n) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||||
if (!m) return o;
|
||||
var i = m.call(o), r, ar = [], e;
|
||||
try {
|
||||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||||
}
|
||||
catch (error) { e = { error: error }; }
|
||||
finally {
|
||||
try {
|
||||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||||
}
|
||||
finally { if (e) throw e.error; }
|
||||
}
|
||||
return ar;
|
||||
};
|
||||
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
||||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||||
if (ar || !(i in from)) {
|
||||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||||
ar[i] = from[i];
|
||||
}
|
||||
}
|
||||
return to.concat(ar || Array.prototype.slice.call(from));
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.repel = exports.contains = exports.combineFilters = exports.addFilterSegment = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
function addFilterSegment() {
|
||||
var filters = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
|
|
@ -38,7 +14,7 @@ function addFilterSegment() {
|
|||
for (var k in ele) {
|
||||
if (k === '$and') {
|
||||
if (filter.$and) {
|
||||
(_a = filter.$and).push.apply(_a, __spreadArray([], __read(ele[k]), false));
|
||||
(_a = filter.$and).push.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(ele[k]), false));
|
||||
}
|
||||
else {
|
||||
filter.$and = ele[k];
|
||||
|
|
@ -46,7 +22,7 @@ function addFilterSegment() {
|
|||
}
|
||||
else if (k === '$or') {
|
||||
if (filter.$or) {
|
||||
(_b = filter.$or).push.apply(_b, __spreadArray([], __read(ele[k]), false));
|
||||
(_b = filter.$or).push.apply(_b, tslib_1.__spreadArray([], tslib_1.__read(ele[k]), false));
|
||||
}
|
||||
else {
|
||||
filter.$or = ele[k];
|
||||
|
|
@ -76,7 +52,7 @@ function addFilterSegment() {
|
|||
}
|
||||
exports.addFilterSegment = addFilterSegment;
|
||||
function combineFilters(filters) {
|
||||
return addFilterSegment.apply(void 0, __spreadArray([], __read(filters), false));
|
||||
return addFilterSegment.apply(void 0, tslib_1.__spreadArray([], tslib_1.__read(filters), false));
|
||||
}
|
||||
exports.combineFilters = combineFilters;
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.judgeRelation = void 0;
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var tslib_1 = require("tslib");
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
var Demand_1 = require("../types/Demand");
|
||||
var Entity_1 = require("../types/Entity");
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,23 +1,9 @@
|
|||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.makeException = exports.OakCongruentRowExists = exports.OakUserUnpermittedException = exports.OakInputIllegalException = exports.OakRowInconsistencyException = exports.OakUserException = exports.OakExternalException = exports.OakException = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
var OakException = /** @class */ (function (_super) {
|
||||
__extends(OakException, _super);
|
||||
tslib_1.__extends(OakException, _super);
|
||||
function OakException(message) {
|
||||
var _newTarget = this.constructor;
|
||||
var _this = _super.call(this, message) || this;
|
||||
|
|
@ -43,7 +29,7 @@ var OakException = /** @class */ (function (_super) {
|
|||
}(Error));
|
||||
exports.OakException = OakException;
|
||||
var OakExternalException = /** @class */ (function (_super) {
|
||||
__extends(OakExternalException, _super);
|
||||
tslib_1.__extends(OakExternalException, _super);
|
||||
function OakExternalException() {
|
||||
return _super !== null && _super.apply(this, arguments) || this;
|
||||
}
|
||||
|
|
@ -51,7 +37,7 @@ var OakExternalException = /** @class */ (function (_super) {
|
|||
}(Error));
|
||||
exports.OakExternalException = OakExternalException;
|
||||
var OakUserException = /** @class */ (function (_super) {
|
||||
__extends(OakUserException, _super);
|
||||
tslib_1.__extends(OakUserException, _super);
|
||||
function OakUserException() {
|
||||
return _super !== null && _super.apply(this, arguments) || this;
|
||||
}
|
||||
|
|
@ -65,7 +51,7 @@ exports.OakUserException = OakUserException;
|
|||
*
|
||||
*/
|
||||
var OakRowInconsistencyException = /** @class */ (function (_super) {
|
||||
__extends(OakRowInconsistencyException, _super);
|
||||
tslib_1.__extends(OakRowInconsistencyException, _super);
|
||||
function OakRowInconsistencyException(data, message) {
|
||||
var _this = _super.call(this, message) || this;
|
||||
_this.data = data;
|
||||
|
|
@ -89,7 +75,7 @@ exports.OakRowInconsistencyException = OakRowInconsistencyException;
|
|||
* 当输入的数据非法时抛此异常,attributes表示非法的属性
|
||||
*/
|
||||
var OakInputIllegalException = /** @class */ (function (_super) {
|
||||
__extends(OakInputIllegalException, _super);
|
||||
tslib_1.__extends(OakInputIllegalException, _super);
|
||||
function OakInputIllegalException(attributes, message) {
|
||||
var _this = _super.call(this, message) || this;
|
||||
_this.attributes = attributes;
|
||||
|
|
@ -116,7 +102,7 @@ exports.OakInputIllegalException = OakInputIllegalException;
|
|||
* 用户权限不够时抛的异常
|
||||
*/
|
||||
var OakUserUnpermittedException = /** @class */ (function (_super) {
|
||||
__extends(OakUserUnpermittedException, _super);
|
||||
tslib_1.__extends(OakUserUnpermittedException, _super);
|
||||
function OakUserUnpermittedException() {
|
||||
return _super !== null && _super.apply(this, arguments) || this;
|
||||
}
|
||||
|
|
@ -128,7 +114,7 @@ exports.OakUserUnpermittedException = OakUserUnpermittedException;
|
|||
* 要插入行时,发现已经有相同的行数据
|
||||
*/
|
||||
var OakCongruentRowExists = /** @class */ (function (_super) {
|
||||
__extends(OakCongruentRowExists, _super);
|
||||
tslib_1.__extends(OakCongruentRowExists, _super);
|
||||
function OakCongruentRowExists(data, message) {
|
||||
var _this = _super.call(this, message) || this;
|
||||
_this.data = data;
|
||||
|
|
|
|||
|
|
@ -1,40 +1,11 @@
|
|||
"use strict";
|
||||
var __values = (this && this.__values) || function(o) {
|
||||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
||||
if (m) return m.call(o);
|
||||
if (o && typeof o.length === "number") return {
|
||||
next: function () {
|
||||
if (o && i >= o.length) o = void 0;
|
||||
return { value: o && o[i++], done: !o };
|
||||
}
|
||||
};
|
||||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||||
};
|
||||
var __read = (this && this.__read) || function (o, n) {
|
||||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||||
if (!m) return o;
|
||||
var i = m.call(o), r, ar = [], e;
|
||||
try {
|
||||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||||
}
|
||||
catch (error) { e = { error: error }; }
|
||||
finally {
|
||||
try {
|
||||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||||
}
|
||||
finally { if (e) throw e.error; }
|
||||
}
|
||||
return ar;
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.execOp = exports.opMultipleParams = exports.isExpression = exports.isMathExpression = exports.isCompareExpression = exports.isBoolExpression = exports.isLogicExpression = exports.isDateExpression = exports.isGeoExpression = void 0;
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var dayjs_1 = __importDefault(require("dayjs"));
|
||||
var weekOfYear_1 = __importDefault(require("dayjs/plugin/weekOfYear"));
|
||||
var dayOfYear_1 = __importDefault(require("dayjs/plugin/dayOfYear"));
|
||||
var tslib_1 = require("tslib");
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
var dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
||||
var weekOfYear_1 = tslib_1.__importDefault(require("dayjs/plugin/weekOfYear"));
|
||||
var dayOfYear_1 = tslib_1.__importDefault(require("dayjs/plugin/dayOfYear"));
|
||||
var geo_1 = require("../utils/geo");
|
||||
dayjs_1.default.extend(weekOfYear_1.default);
|
||||
dayjs_1.default.extend(dayOfYear_1.default);
|
||||
|
|
@ -226,7 +197,7 @@ function execOp(op, params, obscure) {
|
|||
}
|
||||
case '$and': {
|
||||
try {
|
||||
for (var params_1 = __values(params), params_1_1 = params_1.next(); !params_1_1.done; params_1_1 = params_1.next()) {
|
||||
for (var params_1 = tslib_1.__values(params), params_1_1 = params_1.next(); !params_1_1.done; params_1_1 = params_1.next()) {
|
||||
var p = params_1_1.value;
|
||||
if (!p) {
|
||||
return false;
|
||||
|
|
@ -244,7 +215,7 @@ function execOp(op, params, obscure) {
|
|||
}
|
||||
case '$or': {
|
||||
try {
|
||||
for (var params_2 = __values(params), params_2_1 = params_2.next(); !params_2_1.done; params_2_1 = params_2.next()) {
|
||||
for (var params_2 = tslib_1.__values(params), params_2_1 = params_2.next(); !params_2_1.done; params_2_1 = params_2.next()) {
|
||||
var p = params_2_1.value;
|
||||
if (!!p) {
|
||||
return true;
|
||||
|
|
@ -359,7 +330,7 @@ function execOp(op, params, obscure) {
|
|||
}
|
||||
}
|
||||
case '$distance': {
|
||||
var _c = __read(params, 2), geo1 = _c[0], geo2 = _c[1];
|
||||
var _c = tslib_1.__read(params, 2), geo1 = _c[0], geo2 = _c[1];
|
||||
var type1 = geo1.type, coordinate1 = geo1.coordinate;
|
||||
var type2 = geo2.type, coordinate2 = geo2.coordinate;
|
||||
if (type1 !== 'point' || type2 !== 'point') {
|
||||
|
|
|
|||
|
|
@ -1,34 +1,21 @@
|
|||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
||||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
__exportStar(require("./Action"), exports);
|
||||
__exportStar(require("./Aspect"), exports);
|
||||
__exportStar(require("./Auth"), exports);
|
||||
__exportStar(require("./Context"), exports);
|
||||
__exportStar(require("./DataType"), exports);
|
||||
__exportStar(require("./Demand"), exports);
|
||||
__exportStar(require("./Entity"), exports);
|
||||
__exportStar(require("./Expression"), exports);
|
||||
__exportStar(require("./Geo"), exports);
|
||||
__exportStar(require("./Logger"), exports);
|
||||
__exportStar(require("./Polyfill"), exports);
|
||||
__exportStar(require("./RowStore"), exports);
|
||||
__exportStar(require("./Storage"), exports);
|
||||
__exportStar(require("./Trigger"), exports);
|
||||
__exportStar(require("./Exception"), exports);
|
||||
__exportStar(require("./Watcher"), exports);
|
||||
__exportStar(require("./AppLoader"), exports);
|
||||
__exportStar(require("./Connector"), exports);
|
||||
var tslib_1 = require("tslib");
|
||||
tslib_1.__exportStar(require("./Action"), exports);
|
||||
tslib_1.__exportStar(require("./Aspect"), exports);
|
||||
tslib_1.__exportStar(require("./Auth"), exports);
|
||||
tslib_1.__exportStar(require("./Context"), exports);
|
||||
tslib_1.__exportStar(require("./DataType"), exports);
|
||||
tslib_1.__exportStar(require("./Demand"), exports);
|
||||
tslib_1.__exportStar(require("./Entity"), exports);
|
||||
tslib_1.__exportStar(require("./Expression"), exports);
|
||||
tslib_1.__exportStar(require("./Geo"), exports);
|
||||
tslib_1.__exportStar(require("./Logger"), exports);
|
||||
tslib_1.__exportStar(require("./Polyfill"), exports);
|
||||
tslib_1.__exportStar(require("./RowStore"), exports);
|
||||
tslib_1.__exportStar(require("./Storage"), exports);
|
||||
tslib_1.__exportStar(require("./Trigger"), exports);
|
||||
tslib_1.__exportStar(require("./Exception"), exports);
|
||||
tslib_1.__exportStar(require("./Watcher"), exports);
|
||||
tslib_1.__exportStar(require("./AppLoader"), exports);
|
||||
tslib_1.__exportStar(require("./Connector"), exports);
|
||||
|
|
|
|||
|
|
@ -1,61 +1,8 @@
|
|||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.SimpleConnector = void 0;
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var tslib_1 = require("tslib");
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
var types_1 = require("../types");
|
||||
function makeContentTypeAndBody(data) {
|
||||
return {
|
||||
|
|
@ -64,7 +11,7 @@ function makeContentTypeAndBody(data) {
|
|||
};
|
||||
}
|
||||
var SimpleConnector = /** @class */ (function (_super) {
|
||||
__extends(SimpleConnector, _super);
|
||||
tslib_1.__extends(SimpleConnector, _super);
|
||||
function SimpleConnector(serverUrl, makeException, contextBuilder) {
|
||||
var _this = _super.call(this) || this;
|
||||
_this.serverUrl = "".concat(serverUrl).concat(SimpleConnector.ROUTER);
|
||||
|
|
@ -73,9 +20,9 @@ var SimpleConnector = /** @class */ (function (_super) {
|
|||
return _this;
|
||||
}
|
||||
SimpleConnector.prototype.callAspect = function (name, params, context) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var cxtStr, _a, contentType, body, response, err, _b, exception, result, opRecords;
|
||||
return __generator(this, function (_c) {
|
||||
return tslib_1.__generator(this, function (_c) {
|
||||
switch (_c.label) {
|
||||
case 0: return [4 /*yield*/, context.toString()];
|
||||
case 1:
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.assert = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
/**
|
||||
* 防止assert打包体积过大,从这里引用
|
||||
*/
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
exports.assert = assert_1.default;
|
||||
|
|
|
|||
|
|
@ -1,57 +1,8 @@
|
|||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
var __values = (this && this.__values) || function(o) {
|
||||
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
||||
if (m) return m.call(o);
|
||||
if (o && typeof o.length === "number") return {
|
||||
next: function () {
|
||||
if (o && i >= o.length) o = void 0;
|
||||
return { value: o && o[i++], done: !o };
|
||||
}
|
||||
};
|
||||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||||
};
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.RWLock = void 0;
|
||||
var assert_1 = __importDefault(require("assert"));
|
||||
var tslib_1 = require("tslib");
|
||||
var assert_1 = tslib_1.__importDefault(require("assert"));
|
||||
/**
|
||||
* 模拟一个读写锁,用于同步。
|
||||
* 注意,千万不要发生自己等自己
|
||||
|
|
@ -64,10 +15,10 @@ var RWLock = /** @class */ (function () {
|
|||
this.writeWaiter = [];
|
||||
}
|
||||
RWLock.prototype.acquire = function (mode) {
|
||||
return __awaiter(this, void 0, void 0, function () {
|
||||
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
||||
var p, p;
|
||||
var _this = this;
|
||||
return __generator(this, function (_a) {
|
||||
return tslib_1.__generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0:
|
||||
if (!(mode === 'S')) return [3 /*break*/, 4];
|
||||
|
|
@ -104,7 +55,7 @@ var RWLock = /** @class */ (function () {
|
|||
this.writeNumber = 0;
|
||||
if (this.readWaiter.length > 0) {
|
||||
try {
|
||||
for (var _b = __values(this.readWaiter), _c = _b.next(); !_c.done; _c = _b.next()) {
|
||||
for (var _b = tslib_1.__values(this.readWaiter), _c = _b.next(); !_c.done; _c = _b.next()) {
|
||||
var f = _c.value;
|
||||
f(undefined);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,32 +1,30 @@
|
|||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isEqual = exports.pick = exports.cloneDeep = exports.merge = exports.omit = exports.intersection = exports.set = exports.get = exports.uniq = exports.pull = exports.unset = void 0;
|
||||
var tslib_1 = require("tslib");
|
||||
/**
|
||||
* 避免lodash打包体积过大
|
||||
* 像assign, keys尽量使用Object的函数
|
||||
*/
|
||||
var unset_1 = __importDefault(require("lodash/unset"));
|
||||
var unset_1 = tslib_1.__importDefault(require("lodash/unset"));
|
||||
exports.unset = unset_1.default;
|
||||
var pull_1 = __importDefault(require("lodash/pull"));
|
||||
var pull_1 = tslib_1.__importDefault(require("lodash/pull"));
|
||||
exports.pull = pull_1.default;
|
||||
var uniq_1 = __importDefault(require("lodash/uniq"));
|
||||
var uniq_1 = tslib_1.__importDefault(require("lodash/uniq"));
|
||||
exports.uniq = uniq_1.default;
|
||||
var get_1 = __importDefault(require("lodash/get"));
|
||||
var get_1 = tslib_1.__importDefault(require("lodash/get"));
|
||||
exports.get = get_1.default;
|
||||
var set_1 = __importDefault(require("lodash/set"));
|
||||
var set_1 = tslib_1.__importDefault(require("lodash/set"));
|
||||
exports.set = set_1.default;
|
||||
var intersection_1 = __importDefault(require("lodash/intersection"));
|
||||
var intersection_1 = tslib_1.__importDefault(require("lodash/intersection"));
|
||||
exports.intersection = intersection_1.default;
|
||||
var omit_1 = __importDefault(require("lodash/omit"));
|
||||
var omit_1 = tslib_1.__importDefault(require("lodash/omit"));
|
||||
exports.omit = omit_1.default;
|
||||
var merge_1 = __importDefault(require("lodash/merge"));
|
||||
var merge_1 = tslib_1.__importDefault(require("lodash/merge"));
|
||||
exports.merge = merge_1.default;
|
||||
var cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
|
||||
var cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
|
||||
exports.cloneDeep = cloneDeep_1.default;
|
||||
var pick_1 = __importDefault(require("lodash/pick"));
|
||||
var pick_1 = tslib_1.__importDefault(require("lodash/pick"));
|
||||
exports.pick = pick_1.default;
|
||||
var isEqual_1 = __importDefault(require("lodash/isEqual"));
|
||||
var isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
||||
exports.isEqual = isEqual_1.default;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "oak-domain",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"author": {
|
||||
"name": "XuChang"
|
||||
},
|
||||
|
|
@ -29,6 +29,7 @@
|
|||
"fs-extra": "^10.0.0",
|
||||
"mocha": "^8.2.1",
|
||||
"ts-node": "~10.9.1",
|
||||
"tslib": "^2.4.0",
|
||||
"typescript": "~4.7.4"
|
||||
},
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -4973,32 +4973,23 @@ function addReverseRelationship() {
|
|||
}
|
||||
}
|
||||
|
||||
function outputIndexTs(outputDir: string) {
|
||||
const indexTs = `export * from './EntityDict';
|
||||
export * from './Storage';
|
||||
export * from './ActionDefDict';
|
||||
`;
|
||||
const filename = path.join(outputDir, 'index.ts');
|
||||
writeFileSync(filename, indexTs, { flag: 'w' });
|
||||
}
|
||||
|
||||
function outputPackageJson(outputDir: string) {
|
||||
const pj = {
|
||||
"name": process.env.COMPLING_AS_LIB ? "general-app-domain" : "oak-app-domain",
|
||||
"main": "index.ts"
|
||||
};
|
||||
|
||||
const indexTs = `export * from './EntityDict';
|
||||
export * from './Storage';
|
||||
export * from './ActionDefDict';
|
||||
`;
|
||||
let filename = path.join(outputDir, 'index.ts');
|
||||
writeFileSync(filename, indexTs, { flag: 'w' });
|
||||
|
||||
|
||||
filename = path.join(outputDir, 'package.json');
|
||||
const filename = path.join(outputDir, 'package.json');
|
||||
writeFileSync(filename, JSON.stringify(pj), { flag: 'w' });
|
||||
|
||||
// 执行npm link
|
||||
/* try {
|
||||
execSync('npm link', {
|
||||
cwd: outputDir,
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
} */
|
||||
}
|
||||
|
||||
export function analyzeEntities(inputDir: string) {
|
||||
|
|
@ -5034,8 +5025,9 @@ export function buildSchema(outputDir: string): void {
|
|||
outputAction(outputDir, printer);
|
||||
outputEntityDict(outputDir, printer);
|
||||
outputStorage(outputDir, printer);
|
||||
outputIndexTs(outputDir);
|
||||
|
||||
//if (!process.env.COMPLING_AS_LIB) {
|
||||
outputPackageJson(outputDir);
|
||||
//}
|
||||
if (!process.env.COMPLING_AS_LIB) {
|
||||
outputPackageJson(outputDir);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
// "checkJs": true, /* Report errors in .js files. */
|
||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||
"declaration": true, /* Generates corresponding '.d.ts' file. */
|
||||
"importHelpers": true,
|
||||
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
||||
// "sourceMap": true, /* Generates corresponding '.map' file. */
|
||||
// "outFile": "./", /* Concatenate and emit output to single file. */
|
||||
|
|
|
|||
Loading…
Reference in New Issue