@scmbwis/bpg-gen 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -0
- package/dist/cli/config.d.ts +13 -0
- package/dist/cli/config.js +94 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/generate.d.ts +9 -0
- package/dist/cli/generate.js +97 -0
- package/dist/cli/generate.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +37 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/schema-loader.d.ts +2 -0
- package/dist/cli/schema-loader.js +104 -0
- package/dist/cli/schema-loader.js.map +1 -0
- package/dist/commands/gendata.d.ts +1 -0
- package/dist/commands/gendata.js +251 -0
- package/dist/commands/gendata.js.map +1 -0
- package/dist/commands/gendb.d.ts +5 -0
- package/dist/commands/gendb.js +82 -0
- package/dist/commands/gendb.js.map +1 -0
- package/dist/commands/nest-express/gennestservicemodels.d.ts +5 -0
- package/dist/commands/nest-express/gennestservicemodels.js +505 -0
- package/dist/commands/nest-express/gennestservicemodels.js.map +1 -0
- package/dist/commands/nest-express/gentsaccessmodel.d.ts +5 -0
- package/dist/commands/nest-express/gentsaccessmodel.js +396 -0
- package/dist/commands/nest-express/gentsaccessmodel.js.map +1 -0
- package/dist/commands/ng/genngbaseapi.d.ts +1 -0
- package/dist/commands/ng/genngbaseapi.js +289 -0
- package/dist/commands/ng/genngbaseapi.js.map +1 -0
- package/dist/configs/ddi.d.ts +2 -0
- package/dist/configs/ddi.js +564 -0
- package/dist/configs/ddi.js.map +1 -0
- package/dist/configs/index.d.ts +2 -0
- package/dist/configs/index.js +24 -0
- package/dist/configs/index.js.map +1 -0
- package/dist/configs/proef-old.d.ts +2 -0
- package/dist/configs/proef-old.js +592 -0
- package/dist/configs/proef-old.js.map +1 -0
- package/dist/configs/proef.d.ts +2 -0
- package/dist/configs/proef.js +1023 -0
- package/dist/configs/proef.js.map +1 -0
- package/dist/configs/tuvens.d.ts +2 -0
- package/dist/configs/tuvens.js +1249 -0
- package/dist/configs/tuvens.js.map +1 -0
- package/dist/data-access/data-types/common.d.ts +40 -0
- package/dist/data-access/data-types/common.js +60 -0
- package/dist/data-access/data-types/common.js.map +1 -0
- package/dist/data-access/data-types/index.d.ts +3 -0
- package/dist/data-access/data-types/index.js +110 -0
- package/dist/data-access/data-types/index.js.map +1 -0
- package/dist/data-access/data-types/support/reg-models.d.ts +16 -0
- package/dist/data-access/data-types/support/reg-models.js +4 -0
- package/dist/data-access/data-types/support/reg-models.js.map +1 -0
- package/dist/data-access/data-types/template.d.ts +22 -0
- package/dist/data-access/data-types/template.js +17 -0
- package/dist/data-access/data-types/template.js.map +1 -0
- package/dist/data-access/data-types/types/boolean-array.d.ts +18 -0
- package/dist/data-access/data-types/types/boolean-array.js +32 -0
- package/dist/data-access/data-types/types/boolean-array.js.map +1 -0
- package/dist/data-access/data-types/types/boolean.d.ts +18 -0
- package/dist/data-access/data-types/types/boolean.js +32 -0
- package/dist/data-access/data-types/types/boolean.js.map +1 -0
- package/dist/data-access/data-types/types/child-pub-id-seq.d.ts +16 -0
- package/dist/data-access/data-types/types/child-pub-id-seq.js +15 -0
- package/dist/data-access/data-types/types/child-pub-id-seq.js.map +1 -0
- package/dist/data-access/data-types/types/client/client-model.d.ts +223 -0
- package/dist/data-access/data-types/types/client/client-model.js +26 -0
- package/dist/data-access/data-types/types/client/client-model.js.map +1 -0
- package/dist/data-access/data-types/types/client/common.d.ts +23 -0
- package/dist/data-access/data-types/types/client/common.js +3 -0
- package/dist/data-access/data-types/types/client/common.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/boolean-array.d.ts +10 -0
- package/dist/data-access/data-types/types/client/types/boolean-array.js +3 -0
- package/dist/data-access/data-types/types/client/types/boolean-array.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/boolean.d.ts +10 -0
- package/dist/data-access/data-types/types/client/types/boolean.js +3 -0
- package/dist/data-access/data-types/types/client/types/boolean.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/document.d.ts +7 -0
- package/dist/data-access/data-types/types/client/types/document.js +4 -0
- package/dist/data-access/data-types/types/client/types/document.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/fk.d.ts +13 -0
- package/dist/data-access/data-types/types/client/types/fk.js +3 -0
- package/dist/data-access/data-types/types/client/types/fk.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/object.d.ts +10 -0
- package/dist/data-access/data-types/types/client/types/object.js +3 -0
- package/dist/data-access/data-types/types/client/types/object.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/pk.d.ts +9 -0
- package/dist/data-access/data-types/types/client/types/pk.js +3 -0
- package/dist/data-access/data-types/types/client/types/pk.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/pub-id.d.ts +9 -0
- package/dist/data-access/data-types/types/client/types/pub-id.js +3 -0
- package/dist/data-access/data-types/types/client/types/pub-id.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/real-num-array.d.ts +12 -0
- package/dist/data-access/data-types/types/client/types/real-num-array.js +3 -0
- package/dist/data-access/data-types/types/client/types/real-num-array.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/real-num.d.ts +12 -0
- package/dist/data-access/data-types/types/client/types/real-num.js +3 -0
- package/dist/data-access/data-types/types/client/types/real-num.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/string-array.d.ts +13 -0
- package/dist/data-access/data-types/types/client/types/string-array.js +3 -0
- package/dist/data-access/data-types/types/client/types/string-array.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/string.d.ts +15 -0
- package/dist/data-access/data-types/types/client/types/string.js +3 -0
- package/dist/data-access/data-types/types/client/types/string.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/timestamp-array.d.ts +10 -0
- package/dist/data-access/data-types/types/client/types/timestamp-array.js +3 -0
- package/dist/data-access/data-types/types/client/types/timestamp-array.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/timestamp.d.ts +10 -0
- package/dist/data-access/data-types/types/client/types/timestamp.js +3 -0
- package/dist/data-access/data-types/types/client/types/timestamp.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/type-key.d.ts +19 -0
- package/dist/data-access/data-types/types/client/types/type-key.js +3 -0
- package/dist/data-access/data-types/types/client/types/type-key.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/user-picker.d.ts +0 -0
- package/dist/data-access/data-types/types/client/types/user-picker.js +2 -0
- package/dist/data-access/data-types/types/client/types/user-picker.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/whole-num-array.d.ts +12 -0
- package/dist/data-access/data-types/types/client/types/whole-num-array.js +3 -0
- package/dist/data-access/data-types/types/client/types/whole-num-array.js.map +1 -0
- package/dist/data-access/data-types/types/client/types/whole-num.d.ts +12 -0
- package/dist/data-access/data-types/types/client/types/whole-num.js +3 -0
- package/dist/data-access/data-types/types/client/types/whole-num.js.map +1 -0
- package/dist/data-access/data-types/types/client/union.d.ts +25 -0
- package/dist/data-access/data-types/types/client/union.js +24 -0
- package/dist/data-access/data-types/types/client/union.js.map +1 -0
- package/dist/data-access/data-types/types/document.d.ts +16 -0
- package/dist/data-access/data-types/types/document.js +28 -0
- package/dist/data-access/data-types/types/document.js.map +1 -0
- package/dist/data-access/data-types/types/fk.d.ts +46 -0
- package/dist/data-access/data-types/types/fk.js +66 -0
- package/dist/data-access/data-types/types/fk.js.map +1 -0
- package/dist/data-access/data-types/types/object.d.ts +18 -0
- package/dist/data-access/data-types/types/object.js +30 -0
- package/dist/data-access/data-types/types/object.js.map +1 -0
- package/dist/data-access/data-types/types/pk.d.ts +11 -0
- package/dist/data-access/data-types/types/pk.js +25 -0
- package/dist/data-access/data-types/types/pk.js.map +1 -0
- package/dist/data-access/data-types/types/pub-id.d.ts +23 -0
- package/dist/data-access/data-types/types/pub-id.js +31 -0
- package/dist/data-access/data-types/types/pub-id.js.map +1 -0
- package/dist/data-access/data-types/types/real-num-array.d.ts +22 -0
- package/dist/data-access/data-types/types/real-num-array.js +38 -0
- package/dist/data-access/data-types/types/real-num-array.js.map +1 -0
- package/dist/data-access/data-types/types/real-num.d.ts +22 -0
- package/dist/data-access/data-types/types/real-num.js +37 -0
- package/dist/data-access/data-types/types/real-num.js.map +1 -0
- package/dist/data-access/data-types/types/string-array.d.ts +24 -0
- package/dist/data-access/data-types/types/string-array.js +47 -0
- package/dist/data-access/data-types/types/string-array.js.map +1 -0
- package/dist/data-access/data-types/types/string.d.ts +37 -0
- package/dist/data-access/data-types/types/string.js +63 -0
- package/dist/data-access/data-types/types/string.js.map +1 -0
- package/dist/data-access/data-types/types/timestamp-array.d.ts +18 -0
- package/dist/data-access/data-types/types/timestamp-array.js +32 -0
- package/dist/data-access/data-types/types/timestamp-array.js.map +1 -0
- package/dist/data-access/data-types/types/timestamp.d.ts +18 -0
- package/dist/data-access/data-types/types/timestamp.js +32 -0
- package/dist/data-access/data-types/types/timestamp.js.map +1 -0
- package/dist/data-access/data-types/types/type-key.d.ts +87 -0
- package/dist/data-access/data-types/types/type-key.js +56 -0
- package/dist/data-access/data-types/types/type-key.js.map +1 -0
- package/dist/data-access/data-types/types/user-picker.d.ts +0 -0
- package/dist/data-access/data-types/types/user-picker.js +2 -0
- package/dist/data-access/data-types/types/user-picker.js.map +1 -0
- package/dist/data-access/data-types/types/whole-num-array.d.ts +22 -0
- package/dist/data-access/data-types/types/whole-num-array.js +38 -0
- package/dist/data-access/data-types/types/whole-num-array.js.map +1 -0
- package/dist/data-access/data-types/types/whole-num.d.ts +22 -0
- package/dist/data-access/data-types/types/whole-num.js +37 -0
- package/dist/data-access/data-types/types/whole-num.js.map +1 -0
- package/dist/data-access/data-types/union.d.ts +36 -0
- package/dist/data-access/data-types/union.js +44 -0
- package/dist/data-access/data-types/union.js.map +1 -0
- package/dist/datamodel/db-model/app-model.d.ts +36 -0
- package/dist/datamodel/db-model/app-model.js +7 -0
- package/dist/datamodel/db-model/app-model.js.map +1 -0
- package/dist/datamodel/db-model/data-model-builder.d.ts +3 -0
- package/dist/datamodel/db-model/data-model-builder.js +437 -0
- package/dist/datamodel/db-model/data-model-builder.js.map +1 -0
- package/dist/datamodel/db-model/data-model.d.ts +74 -0
- package/dist/datamodel/db-model/data-model.js +8 -0
- package/dist/datamodel/db-model/data-model.js.map +1 -0
- package/dist/datamodel/db-model/data-type.d.ts +9 -0
- package/dist/datamodel/db-model/data-type.js +176 -0
- package/dist/datamodel/db-model/data-type.js.map +1 -0
- package/dist/datamodel/db-model/in-app-model.d.ts +9 -0
- package/dist/datamodel/db-model/in-app-model.js +6 -0
- package/dist/datamodel/db-model/in-app-model.js.map +1 -0
- package/dist/datamodel/db-model/in-data-model.d.ts +36 -0
- package/dist/datamodel/db-model/in-data-model.js +11 -0
- package/dist/datamodel/db-model/in-data-model.js.map +1 -0
- package/dist/datamodel/pg-migrate/infoschema-models.d.ts +40 -0
- package/dist/datamodel/pg-migrate/infoschema-models.js +3 -0
- package/dist/datamodel/pg-migrate/infoschema-models.js.map +1 -0
- package/dist/datamodel/pg-migrate/infoschema-queries.d.ts +2 -0
- package/dist/datamodel/pg-migrate/infoschema-queries.js +14 -0
- package/dist/datamodel/pg-migrate/infoschema-queries.js.map +1 -0
- package/dist/datamodel/pg-migrate/migration-methods.d.ts +19 -0
- package/dist/datamodel/pg-migrate/migration-methods.js +75 -0
- package/dist/datamodel/pg-migrate/migration-methods.js.map +1 -0
- package/dist/datamodel/pg-migrate/migration-queries.d.ts +2 -0
- package/dist/datamodel/pg-migrate/migration-queries.js +127 -0
- package/dist/datamodel/pg-migrate/migration-queries.js.map +1 -0
- package/dist/datamodel/ts-gen/app/api.d.ts +2 -0
- package/dist/datamodel/ts-gen/app/api.js +72 -0
- package/dist/datamodel/ts-gen/app/api.js.map +1 -0
- package/dist/datamodel/ts-gen/index.d.ts +6 -0
- package/dist/datamodel/ts-gen/index.js +98 -0
- package/dist/datamodel/ts-gen/index.js.map +1 -0
- package/dist/env.d.ts +3 -0
- package/dist/env.js +87 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/casing.d.ts +17 -0
- package/dist/utils/casing.js +66 -0
- package/dist/utils/casing.js.map +1 -0
- package/dist/utils/conventions.d.ts +2 -0
- package/dist/utils/conventions.js +12 -0
- package/dist/utils/conventions.js.map +1 -0
- package/dist/utils/genutils.d.ts +55 -0
- package/dist/utils/genutils.js +501 -0
- package/dist/utils/genutils.js.map +1 -0
- package/dist/utils/pg.utils.d.ts +1 -0
- package/dist/utils/pg.utils.js +302 -0
- package/dist/utils/pg.utils.js.map +1 -0
- package/dist/utils/writingutils.d.ts +12 -0
- package/dist/utils/writingutils.js +63 -0
- package/dist/utils/writingutils.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.writeAppApis = writeAppApis;
|
|
13
|
+
function writeAppApis(model, outpath) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
for (let app of model.apps) {
|
|
16
|
+
const api = getAppApi(app);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function getAppApi(app) {
|
|
21
|
+
const routes = [];
|
|
22
|
+
// if it is an ID bach,
|
|
23
|
+
// it should have a switch route - get<RootClass> get(`root-class`)
|
|
24
|
+
// it should have a base and all routes start with this - get<RootClass> get(`root-class/rootId`)
|
|
25
|
+
// it uses idRoot on all roots except the switch root to set rootId from the params
|
|
26
|
+
// all sub-items have an fk to the root <rootJsonId> which has a link to the root and item
|
|
27
|
+
return `
|
|
28
|
+
function get${app.className}Router(): Router {
|
|
29
|
+
const router = Router()
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
32
|
+
}
|
|
33
|
+
function getIdBachRoutes(app) {
|
|
34
|
+
const switchCode = ``;
|
|
35
|
+
const routerCode = `
|
|
36
|
+
router.use(beIdentified)
|
|
37
|
+
`;
|
|
38
|
+
return { routerCode };
|
|
39
|
+
}
|
|
40
|
+
function getSwitchCode(app) {
|
|
41
|
+
const code = `
|
|
42
|
+
// put:${app.routeName}
|
|
43
|
+
router.put("/${app.className}", )
|
|
44
|
+
`;
|
|
45
|
+
return code;
|
|
46
|
+
}
|
|
47
|
+
function getGetManyRoute(methTemplate) {
|
|
48
|
+
const methodName = `${methTemplate.app.jsonName}${methTemplate.className}`;
|
|
49
|
+
const readCols = `"*"`;
|
|
50
|
+
const where = ``;
|
|
51
|
+
const method = {
|
|
52
|
+
methodName: methodName,
|
|
53
|
+
imports: { item: `${methTemplate.app.className}${methTemplate.className}Body`, file: `../client/${methTemplate.app.className}` },
|
|
54
|
+
methodContent: `
|
|
55
|
+
export async function ${methodName}(req: Request, res: Response, next: NextFunction) {
|
|
56
|
+
const identity: Identity = res.locals.identity
|
|
57
|
+
const body: ${methTemplate.app.className}${methTemplate.className}Body = req.body
|
|
58
|
+
const tab = db.${methTemplate.table.jsonName}
|
|
59
|
+
const result = await dbRead({
|
|
60
|
+
table: tab,
|
|
61
|
+
readCols: ${readCols},
|
|
62
|
+
where: [
|
|
63
|
+
${where}
|
|
64
|
+
]
|
|
65
|
+
})
|
|
66
|
+
const ret : ${methTemplate.app.className}${methTemplate.className}Return = result
|
|
67
|
+
res.json(ret)
|
|
68
|
+
}
|
|
69
|
+
`
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../lib/datamodel/ts-gen/app/api.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,oCAIC;AAJD,SAAsB,YAAY,CAAC,KAAe,EAAE,OAAe;;QAClE,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;IACF,CAAC;CAAA;AACD,SAAS,SAAS,CAAC,GAAa;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,uBAAuB;IACvB,mEAAmE;IACnE,iGAAiG;IACjG,mFAAmF;IACnF,2FAA2F;IAC3F,OAAO;cACM,GAAG,CAAC,SAAS;;;EAGzB,CAAA;AACF,CAAC;AAID,SAAS,eAAe,CAAC,GAAc;IACtC,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,MAAM,UAAU,GAAG;;EAElB,CAAA;IACD,OAAO,EAAE,UAAU,EAAE,CAAA;AACtB,CAAC;AACD,SAAS,aAAa,CAAC,GAAc;IACpC,MAAM,IAAI,GAAG;UACJ,GAAG,CAAC,SAAS;gBACP,GAAG,CAAC,SAAS;EAC3B,CAAA;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAOD,SAAS,eAAe,CAAC,YAA4B;IACpD,MAAM,UAAU,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,CAAA;IAC1E,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,MAAM,MAAM,GAAG;QACd,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,EAAC,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,EAAC;QAC9H,aAAa,EAAE;yBACQ,UAAU;;gBAEnB,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS;mBAChD,YAAY,CAAC,KAAK,CAAC,QAAQ;;;eAG/B,QAAQ;;MAEjB,KAAK;;;gBAGK,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS;;;GAGhE;KACD,CAAA;AACF,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.writeDataModelTsClasses = writeDataModelTsClasses;
|
|
13
|
+
const promises_1 = require("fs/promises");
|
|
14
|
+
function writeDataModelTsClasses(model, outpath) {
|
|
15
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
const tsModels = getClassModelTs(model);
|
|
17
|
+
for (let classModel of tsModels) {
|
|
18
|
+
yield (0, promises_1.writeFile)(`${outpath}/${classModel.fileName}`, classModel.fileText);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function getClassModelTs(model) {
|
|
23
|
+
const models = [];
|
|
24
|
+
for (let table of model.tables) {
|
|
25
|
+
models.push({
|
|
26
|
+
fileName: `${table.routeName}-model.ts`,
|
|
27
|
+
fileText: createTsCrudFile(table)
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return models;
|
|
31
|
+
}
|
|
32
|
+
function createTsCrudFile(table) {
|
|
33
|
+
const unions = [];
|
|
34
|
+
const models = [];
|
|
35
|
+
const model = table.model;
|
|
36
|
+
/*
|
|
37
|
+
const types = table.cols.filter(isType)
|
|
38
|
+
if (types.length > 0) {
|
|
39
|
+
unions.push({
|
|
40
|
+
aboveComment: `UNION MODEL FOR OUTPUT`,
|
|
41
|
+
typeName: `${table.className}Model`,
|
|
42
|
+
unions: types.flatMap(t => Array.from(t.typeKeys.values())).map(k => `${k.className}${table.className}Model`)
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
models.push({
|
|
46
|
+
aboveComment: `BASE OUTPUT MODEL`,
|
|
47
|
+
typeName: `${table.className}${types.length == 0 ? "Model" : "Common"}`,
|
|
48
|
+
properties:
|
|
49
|
+
table.cols.filter(col => col.onType == undefined && col.dataType != "type").map(col => {
|
|
50
|
+
return {
|
|
51
|
+
name: col.jsonName,
|
|
52
|
+
typeUnion: `${col.jsType}${col.canBeNull ? " | null" : ""}`,
|
|
53
|
+
canBeUndefined: false
|
|
54
|
+
}
|
|
55
|
+
}).concat(table.inFks.filter(x => x.parent).map(ifk => {
|
|
56
|
+
return {
|
|
57
|
+
name: ifk.targetTableVirtProp.jsonName,
|
|
58
|
+
typeUnion: `${ifk.table.className}Model[]`,
|
|
59
|
+
canBeUndefined: true
|
|
60
|
+
}
|
|
61
|
+
})),
|
|
62
|
+
extends: []
|
|
63
|
+
})
|
|
64
|
+
for (let typeProp of types) {
|
|
65
|
+
for (let key of typeProp.typeKeys.values()) {
|
|
66
|
+
models.push({
|
|
67
|
+
typeName: `${key.className}${table.className}Model`,
|
|
68
|
+
aboveComment: `OUT MODEL FOR TYPE ${typeProp.name} KEY ${key.name}`,
|
|
69
|
+
properties: [{
|
|
70
|
+
name: `${typeProp.jsonName}`,
|
|
71
|
+
typeUnion: `"${key.routeName}"`,
|
|
72
|
+
canBeUndefined: false
|
|
73
|
+
}].concat(key.cols.map(colOnKey => {
|
|
74
|
+
return {
|
|
75
|
+
name: colOnKey.col.jsonName,
|
|
76
|
+
typeUnion: `${colOnKey.col.jsType}${!colOnKey.required ? " | null" : ""}`,
|
|
77
|
+
canBeUndefined: false
|
|
78
|
+
}
|
|
79
|
+
})),
|
|
80
|
+
extends: [`${table.className}Common`]
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
}*/
|
|
85
|
+
let fileText = `// gen file for table ${model.schemaName}.${table.pgName}${unions.map(model => `
|
|
86
|
+
// ${model.aboveComment}
|
|
87
|
+
export type ${model.typeName} = ${model.unions.map(x => `${x}`).join(" | ")}
|
|
88
|
+
`).join("")}${models.map(model => `
|
|
89
|
+
// ${model.aboveComment}
|
|
90
|
+
export type ${model.typeName} = {${model.properties.map(p => `
|
|
91
|
+
${p.name}${p.canBeUndefined ? "?" : ""}: ${p.typeUnion}`).join("")}
|
|
92
|
+
}${model.extends.map(x => ` & ${x}`).join("")}
|
|
93
|
+
`).join("")}
|
|
94
|
+
|
|
95
|
+
`;
|
|
96
|
+
return fileText;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/datamodel/ts-gen/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAqBA,0DAKC;AAzBD,0CAAuC;AAoBvC,SAAsB,uBAAuB,CAAC,KAAgB,EAAE,OAAe;;QAC9E,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACvC,KAAK,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAA,oBAAS,EAAC,GAAG,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;QAC1E,CAAC;IACF,CAAC;CAAA;AACD,SAAS,eAAe,CAAC,KAAgB;IACxC,MAAM,MAAM,GAAc,EAAE,CAAA;IAC5B,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,GAAG,KAAK,CAAC,SAAS,WAAW;YACvC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC;SACjC,CAAC,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC;AACD,SAAS,gBAAgB,CAAC,KAAc;IACvC,MAAM,MAAM,GAAqB,EAAE,CAAA;IACnC,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAgDI;IAEH,IAAI,QAAQ,GAAG,yBAAyB,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;KAC3F,KAAK,CAAC,YAAY;cACT,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;CAC1E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;KAC7B,KAAK,CAAC,YAAY;cACT,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;GAC1D,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;GAChE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;CAC5C,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;EAET,CAAA;IACD,OAAO,QAAQ,CAAA;AAChB,CAAC"}
|
package/dist/env.d.ts
ADDED
package/dist/env.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Env = void 0;
|
|
4
|
+
require("dotenv").config();
|
|
5
|
+
const env = process.env;
|
|
6
|
+
const coStrings = (env['CORS_ORIGINS'] || '*').split('');
|
|
7
|
+
exports.Env = {};
|
|
8
|
+
/*
|
|
9
|
+
export const initialiseEnv = (config?: EnvConfig): void => {
|
|
10
|
+
const cwdPath = process.cwd()
|
|
11
|
+
Env.corsOrigins = coStrings
|
|
12
|
+
Env.host = env['HOST'] ?? "localhost"
|
|
13
|
+
Env.port = env['PORT'] ? parseInt(env['PORT']) : 3000
|
|
14
|
+
Env.fileStore = path.resolve(cwdPath, env['FILE_STORE'] || './auto_data/store'),
|
|
15
|
+
Env.tempFileStore = path.resolve(cwdPath, env['TEMP_FILE_STORE'] || './auto_data/temp')
|
|
16
|
+
Env.multerFileStore = path.resolve(Env.tempFileStore, "./multer")
|
|
17
|
+
Env.logFileStore = path.resolve(cwdPath, env['LOG_FILE_STORE'] || './auto_data/log')
|
|
18
|
+
Env.classFileDump = env['CLASS_FILE_DUMP'] || ''
|
|
19
|
+
initialisePG(Env)
|
|
20
|
+
//initialiseStripe(Env)
|
|
21
|
+
|
|
22
|
+
if (config) {
|
|
23
|
+
//If a configuration object has been supplied, overwrite the apporpriate values
|
|
24
|
+
const keys = Object.keys(Env) as (keyof EnvConfig)[]
|
|
25
|
+
for (let key of keys) {
|
|
26
|
+
//Skip if the config object doesn't have a value for the key
|
|
27
|
+
if (!(key in config)) continue
|
|
28
|
+
|
|
29
|
+
//Override the environment value with the config object's value
|
|
30
|
+
(Env[key] as (EnvConfig[keyof EnvConfig])) = config[key]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function initialisePG(config: EnvConfig) {
|
|
36
|
+
if (!env['PG_HOST']) {
|
|
37
|
+
throw (new Error(`No PG_HOST provided`))
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (!env['PG_USER']) {
|
|
41
|
+
throw (new Error(`No PG_USER provided`))
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (!env['PG_PASSWORD']) {
|
|
45
|
+
throw (new Error(`No PG_PASSWORD provided`))
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (!env['PG_DATABASE']) {
|
|
49
|
+
throw (new Error(`No PG_DATABASE provided`))
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (!env['PG_PORT']) {
|
|
53
|
+
console.warn(`No PG_PORT provided, defaulting to 5432`)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
config.pg = {
|
|
57
|
+
host: env['PG_HOST'],
|
|
58
|
+
user: env['PG_USER'],
|
|
59
|
+
password: env['PG_PASSWORD'],
|
|
60
|
+
database: env['PG_DATABASE'],
|
|
61
|
+
port: parseInt(env['PG_PORT'] ?? '5432')
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function initialiseStripe(config: EnvConfig) {
|
|
66
|
+
if (!env['STRIPE_SECRET_KEY']) {
|
|
67
|
+
throw (new Error('No STRIPE_SECRET_KEY provided'))
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
config.stripe = {
|
|
71
|
+
secretKey: env['STRIPE_SECRET_KEY'],
|
|
72
|
+
publishableKey: ''
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export async function initialiseFileStores() : Promise<void> {
|
|
76
|
+
try{
|
|
77
|
+
await mkDirIfNotExists(Env.fileStore)
|
|
78
|
+
await mkDirIfNotExists(Env.logFileStore)
|
|
79
|
+
await mkDirIfNotExists(Env.tempFileStore)
|
|
80
|
+
await mkDirIfNotExists(Env.multerFileStore)
|
|
81
|
+
}
|
|
82
|
+
catch(err) {
|
|
83
|
+
throw new Error("could not initialise filestores")
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
*/
|
|
87
|
+
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../lib/env.ts"],"names":[],"mappings":";;;AAEA,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAA;AA4B1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;AAEvB,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAE3C,QAAA,GAAG,GAAc,EAAe,CAAA;AAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EE"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;AAEA,oCAEC;AAFD,SAAgB,YAAY,CAAI,MAAS;IACvC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const toLowerCaseArray: (inText: string) => string[];
|
|
2
|
+
export declare const toPgFormat: (inText: string) => string;
|
|
3
|
+
export declare const toHyphenFormat: (inText: string) => string;
|
|
4
|
+
export declare const toLabelFormat: (inText: string, startsLow?: boolean) => string;
|
|
5
|
+
export declare const toCamelFormat: (inText: string, startsLow?: boolean) => string;
|
|
6
|
+
export declare const toJsonFormat: (inText: string) => string;
|
|
7
|
+
export type VariantNamed = {
|
|
8
|
+
name: string;
|
|
9
|
+
pgName: string;
|
|
10
|
+
routeName: string;
|
|
11
|
+
className: string;
|
|
12
|
+
jsonName: string;
|
|
13
|
+
upperLabel: string;
|
|
14
|
+
lowerLabel: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function getVariantNames(name: string, label?: string): VariantNamed;
|
|
17
|
+
export declare const caseFirst: (text: string, makeUpper: boolean) => string;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.caseFirst = exports.toJsonFormat = exports.toCamelFormat = exports.toLabelFormat = exports.toHyphenFormat = exports.toPgFormat = exports.toLowerCaseArray = void 0;
|
|
4
|
+
exports.getVariantNames = getVariantNames;
|
|
5
|
+
const toLowerCaseArray = (inText) => {
|
|
6
|
+
let text = inText.trim().replace(/([a-z](?=[A-Z]))/g, '$1 ');
|
|
7
|
+
text = text.toLowerCase();
|
|
8
|
+
const nameParts = [];
|
|
9
|
+
const matches = [...text.matchAll(/[a-zA-Z]+/gm)];
|
|
10
|
+
for (let match of matches) {
|
|
11
|
+
nameParts.push(match[0]);
|
|
12
|
+
}
|
|
13
|
+
return nameParts;
|
|
14
|
+
};
|
|
15
|
+
exports.toLowerCaseArray = toLowerCaseArray;
|
|
16
|
+
const toPgFormat = (inText) => {
|
|
17
|
+
const lca = (0, exports.toLowerCaseArray)(inText);
|
|
18
|
+
return lca.join("_");
|
|
19
|
+
};
|
|
20
|
+
exports.toPgFormat = toPgFormat;
|
|
21
|
+
const toHyphenFormat = (inText) => {
|
|
22
|
+
const lca = (0, exports.toLowerCaseArray)(inText);
|
|
23
|
+
return lca.join("-");
|
|
24
|
+
};
|
|
25
|
+
exports.toHyphenFormat = toHyphenFormat;
|
|
26
|
+
const toLabelFormat = (inText, startsLow = true) => {
|
|
27
|
+
let returnMe = (0, exports.toLowerCaseArray)(inText);
|
|
28
|
+
if (!startsLow) {
|
|
29
|
+
returnMe = returnMe.map(x => x[0].toUpperCase() + x.slice(1));
|
|
30
|
+
}
|
|
31
|
+
return returnMe.join(" ");
|
|
32
|
+
};
|
|
33
|
+
exports.toLabelFormat = toLabelFormat;
|
|
34
|
+
const toCamelFormat = (inText, startsLow = true) => {
|
|
35
|
+
const array = (0, exports.toLowerCaseArray)(inText).map((x, i) => {
|
|
36
|
+
return i == 0 && startsLow ? x : x[0].toUpperCase() + x.slice(1);
|
|
37
|
+
});
|
|
38
|
+
return array.join("");
|
|
39
|
+
};
|
|
40
|
+
exports.toCamelFormat = toCamelFormat;
|
|
41
|
+
const toJsonFormat = (inText) => {
|
|
42
|
+
return (0, exports.toCamelFormat)(inText, true);
|
|
43
|
+
};
|
|
44
|
+
exports.toJsonFormat = toJsonFormat;
|
|
45
|
+
function getVariantNames(name, label) {
|
|
46
|
+
const pgName = (0, exports.toPgFormat)(name);
|
|
47
|
+
const vn = {
|
|
48
|
+
name: name, // myTitle
|
|
49
|
+
pgName: pgName, // my_title
|
|
50
|
+
routeName: (0, exports.toHyphenFormat)(name), // my-title
|
|
51
|
+
className: (0, exports.toCamelFormat)(name, false), //MyTitle
|
|
52
|
+
jsonName: (0, exports.toCamelFormat)(name, true), //myTitle
|
|
53
|
+
upperLabel: (0, exports.toLabelFormat)(name, false), // My Title
|
|
54
|
+
lowerLabel: (0, exports.toLabelFormat)(name, true) // my title
|
|
55
|
+
};
|
|
56
|
+
if (label) {
|
|
57
|
+
vn.upperLabel = (0, exports.toLabelFormat)(label, false);
|
|
58
|
+
vn.lowerLabel = (0, exports.toLabelFormat)(label, true);
|
|
59
|
+
}
|
|
60
|
+
return vn;
|
|
61
|
+
}
|
|
62
|
+
const caseFirst = (text, makeUpper) => {
|
|
63
|
+
return (makeUpper ? text[0].toUpperCase() : text[0].toLowerCase()) + text.slice(1);
|
|
64
|
+
};
|
|
65
|
+
exports.caseFirst = caseFirst;
|
|
66
|
+
//# sourceMappingURL=casing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"casing.js","sourceRoot":"","sources":["../../lib/utils/casing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spaceSchemaName = spaceSchemaName;
|
|
4
|
+
exports.genPubId = genPubId;
|
|
5
|
+
const genutils_1 = require("./genutils");
|
|
6
|
+
function spaceSchemaName(id) {
|
|
7
|
+
return `space_${id}`;
|
|
8
|
+
}
|
|
9
|
+
function genPubId(prefix, id) {
|
|
10
|
+
return `${prefix}-${(0, genutils_1.bulkNumber)(id, 3)}`;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=conventions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../lib/utils/conventions.ts"],"names":[],"mappings":";;AAEA,0CAEC;AACD,4BAEC;AAPD,yCAAuC;AAEvC,SAAgB,eAAe,CAAC,EAAU;IACzC,OAAO,SAAS,EAAE,EAAE,CAAA;AACrB,CAAC;AACD,SAAgB,QAAQ,CAAC,MAAc,EAAE,EAAU;IAClD,OAAO,GAAG,MAAM,IAAI,IAAA,qBAAU,EAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAA;AACxC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ExecOptions, SpawnOptions } from 'child_process';
|
|
2
|
+
import { Readable } from 'node:stream';
|
|
3
|
+
export declare function randBetween(min: number, max: number, dps?: number): number;
|
|
4
|
+
export declare function round(num: number, dps?: number): number;
|
|
5
|
+
export declare function bulkNumber(num: number, length: number): string;
|
|
6
|
+
export declare function indexedToArray<T>(indexedSignature: {
|
|
7
|
+
[key: string]: T;
|
|
8
|
+
}): {
|
|
9
|
+
key: string;
|
|
10
|
+
value: T;
|
|
11
|
+
}[];
|
|
12
|
+
/***
|
|
13
|
+
* @description splits an array and returns both true and false as seperate arrays
|
|
14
|
+
* @splitMe the array to split
|
|
15
|
+
* @splitter the function to use to split
|
|
16
|
+
* @returns an array of arrays [[true results],[false results]]
|
|
17
|
+
* */
|
|
18
|
+
export declare const splitFilter: <T>(splitMe: T[], splitter: (item: T) => boolean) => T[][];
|
|
19
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
20
|
+
export declare function retry<T>(f: (attempt: number) => Promise<T>, waitMs?: number, maxAttempts?: number): Promise<T | undefined>;
|
|
21
|
+
export declare function fromFile<T>(filePath: string): Promise<T>;
|
|
22
|
+
export declare function toFile<T>(filePath: string, item: T): Promise<void>;
|
|
23
|
+
export declare function cleanDir(filePath: string, rmSubDirs: boolean, pathExclusions?: RegExp[]): Promise<boolean>;
|
|
24
|
+
export declare function rmDir(filePath: string, pathExclusions?: RegExp[]): Promise<boolean>;
|
|
25
|
+
export interface CopyIgnoreOptions {
|
|
26
|
+
ignoreFiles?: string[];
|
|
27
|
+
ignoreDirs?: string[];
|
|
28
|
+
}
|
|
29
|
+
export declare function copyDir(from: string, to: string, ignore?: CopyIgnoreOptions): Promise<void>;
|
|
30
|
+
export interface IFileHandle {
|
|
31
|
+
path: string;
|
|
32
|
+
name: string;
|
|
33
|
+
}
|
|
34
|
+
export interface IDir extends IFileHandle {
|
|
35
|
+
files: IFileHandle[];
|
|
36
|
+
subDirs: IDir[];
|
|
37
|
+
}
|
|
38
|
+
export declare function readDirStruct(dirPath: string, pathExclusions?: RegExp[]): Promise<IDir>;
|
|
39
|
+
export declare function exists(filePath: string): Promise<boolean>;
|
|
40
|
+
export declare function mkDirIfNotExists(filePath: string): Promise<void>;
|
|
41
|
+
export declare function mkDir(filePath: string): Promise<void>;
|
|
42
|
+
export declare function moveFile(fromPath: string, toPath: string): Promise<void>;
|
|
43
|
+
export declare function changeUnits(num: number, units: string, desiredUnits: string): number;
|
|
44
|
+
export declare const numberToRoman: (number: number) => string;
|
|
45
|
+
export declare const numberToAlpha: (number: number) => string;
|
|
46
|
+
/**
|
|
47
|
+
* Executes a shell command and return it as a Promise.
|
|
48
|
+
* @param cmd {string}
|
|
49
|
+
* @return {Promise<string>}
|
|
50
|
+
*/
|
|
51
|
+
export declare function execShellCommand(cmd: string, options?: ExecOptions): Promise<string>;
|
|
52
|
+
export declare function spawnShellCommand(cmd: string, args?: string[], options?: SpawnOptions, messenger?: (data: any, warn: boolean) => void): Promise<void>;
|
|
53
|
+
export declare function consoleOverwrite(text: string): void;
|
|
54
|
+
export declare function readToBuffer(stream: Readable): Promise<Buffer>;
|
|
55
|
+
export declare const hasValue: <T>(item: T | undefined | null) => item is T;
|