@balena/pinejs 17.2.0-build-select-model-04b8e99a84456e8bdb6102de7527f3edad7cf0f5-1 → 17.2.0-build-select-model-98a9614ef7e5b70c9d4260521f3a6fce6dac0df1-1
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/.versionbot/CHANGELOG.yml +2 -2
- package/out/bin/utils.d.ts +1 -1
- package/out/bin/utils.js +16 -5
- package/out/bin/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/bin/utils.ts +23 -7
@@ -1,7 +1,7 @@
|
|
1
1
|
- commits:
|
2
2
|
- subject: "odata/abstract-sql-compiler: Add support for specifying the model name
|
3
3
|
for config files"
|
4
|
-
hash:
|
4
|
+
hash: 98a9614ef7e5b70c9d4260521f3a6fce6dac0df1
|
5
5
|
body: |
|
6
6
|
This allows choosing which model to use when the config file contains
|
7
7
|
multiple models
|
@@ -12,7 +12,7 @@
|
|
12
12
|
nested: []
|
13
13
|
version: 17.2.0
|
14
14
|
title: ""
|
15
|
-
date: 2024-06-
|
15
|
+
date: 2024-06-26T13:49:08.649Z
|
16
16
|
- commits:
|
17
17
|
- subject: Migrate sbvr-server to typescript
|
18
18
|
hash: ed2267c4b4cbe448b6062263b90a97492176663c
|
package/out/bin/utils.d.ts
CHANGED
@@ -4,4 +4,4 @@ import '../server-glue/sbvr-loader';
|
|
4
4
|
export declare const version: any;
|
5
5
|
export declare const writeAll: (output: string, outputFile?: string) => void;
|
6
6
|
export declare const writeSqlModel: (sqlModel: SqlModel, outputFile?: string) => void;
|
7
|
-
export declare const getAbstractSqlModelFromFile: (modelFile: string, modelName
|
7
|
+
export declare const getAbstractSqlModelFromFile: (modelFile: string, modelName: string | undefined) => AbstractSqlModel;
|
package/out/bin/utils.js
CHANGED
@@ -60,6 +60,21 @@ ${rule.sql}`)
|
|
60
60
|
(0, exports.writeAll)(output, outputFile);
|
61
61
|
};
|
62
62
|
exports.writeSqlModel = writeSqlModel;
|
63
|
+
const getConfigModel = (fileContents, modelName) => {
|
64
|
+
if ('models' in fileContents) {
|
65
|
+
if (fileContents.models.length === 0) {
|
66
|
+
throw new Error('No models found in config file');
|
67
|
+
}
|
68
|
+
if (modelName != null) {
|
69
|
+
const model = fileContents.models.find((m) => m.modelName === modelName);
|
70
|
+
if (model == null) {
|
71
|
+
throw new Error(`Could not find model with name '${modelName}', found: ${fileContents.models.map((m) => m.modelName).join(', ')}`);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
return fileContents.models[0];
|
75
|
+
}
|
76
|
+
return fileContents;
|
77
|
+
};
|
63
78
|
const getAbstractSqlModelFromFile = (modelFile, modelName) => {
|
64
79
|
let fileContents;
|
65
80
|
try {
|
@@ -79,11 +94,7 @@ const getAbstractSqlModelFromFile = (modelFile, modelName) => {
|
|
79
94
|
if ('tables' in fileContents) {
|
80
95
|
return fileContents;
|
81
96
|
}
|
82
|
-
const configModel =
|
83
|
-
? modelName
|
84
|
-
? fileContents.models.find((m) => m.modelName === modelName)
|
85
|
-
: fileContents.models[0]
|
86
|
-
: fileContents;
|
97
|
+
const configModel = getConfigModel(fileContents, modelName);
|
87
98
|
if ('abstractSql' in configModel && configModel.abstractSql != null) {
|
88
99
|
return configModel.abstractSql;
|
89
100
|
}
|
package/out/bin/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,GAAG,qBAAqB,CAAC;AAOpE,uCAAyB;AACzB,2CAA6B;AAC7B,sCAAoC;AAErB,eAAO,GAAK,IAAI,CAAC,KAAK,CACpC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,CAC9D,SAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,UAAmB,EAAQ,EAAE;IACrE,IAAI,UAAU,EAAE,CAAC;QAChB,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;AACF,CAAC,CAAC;AANW,QAAA,QAAQ,YAMnB;AAEK,MAAM,aAAa,GAAG,CAC5B,QAAkB,EAClB,UAAmB,EACZ,EAAE;IACT,MAAM,MAAM,GAAG;;;;;EAKd,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;;EAMlC,QAAQ,CAAC,KAAK;SACd,GAAG,CACH,CAAC,IAAI,EAAE,EAAE,CAAC;KACP,IAAI,CAAC,iBAAiB;EACzB,IAAI,CAAC,GAAG,EAAE,CACV;SACA,IAAI,CAAC,MAAM,CAAC;CACb,CAAC;IACD,IAAA,gBAAQ,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9B,CAAC,CAAC;AAxBW,QAAA,aAAa,iBAwBxB;AAEK,MAAM,2BAA2B,GAAG,CAC1C,SAAiB,EACjB,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bin/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@balena/pinejs",
|
3
|
-
"version": "17.2.0-build-select-model-
|
3
|
+
"version": "17.2.0-build-select-model-98a9614ef7e5b70c9d4260521f3a6fce6dac0df1-1",
|
4
4
|
"main": "out/server-glue/module",
|
5
5
|
"type": "commonjs",
|
6
6
|
"repository": "git@github.com:balena-io/pinejs.git",
|
@@ -146,6 +146,6 @@
|
|
146
146
|
"recursive": true
|
147
147
|
},
|
148
148
|
"versionist": {
|
149
|
-
"publishedAt": "2024-06-
|
149
|
+
"publishedAt": "2024-06-26T13:49:09.402Z"
|
150
150
|
}
|
151
151
|
}
|
package/src/bin/utils.ts
CHANGED
@@ -48,9 +48,30 @@ ${rule.sql}`,
|
|
48
48
|
writeAll(output, outputFile);
|
49
49
|
};
|
50
50
|
|
51
|
+
const getConfigModel = (
|
52
|
+
fileContents: Model | AbstractSqlModel | Config,
|
53
|
+
modelName?: string,
|
54
|
+
): Model | AbstractSqlModel => {
|
55
|
+
if ('models' in fileContents) {
|
56
|
+
if (fileContents.models.length === 0) {
|
57
|
+
throw new Error('No models found in config file');
|
58
|
+
}
|
59
|
+
if (modelName != null) {
|
60
|
+
const model = fileContents.models.find((m) => m.modelName === modelName);
|
61
|
+
if (model == null) {
|
62
|
+
throw new Error(
|
63
|
+
`Could not find model with name '${modelName}', found: ${fileContents.models.map((m) => m.modelName).join(', ')}`,
|
64
|
+
);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
return fileContents.models[0];
|
68
|
+
}
|
69
|
+
return fileContents;
|
70
|
+
};
|
71
|
+
|
51
72
|
export const getAbstractSqlModelFromFile = (
|
52
73
|
modelFile: string,
|
53
|
-
modelName
|
74
|
+
modelName: string | undefined,
|
54
75
|
): AbstractSqlModel => {
|
55
76
|
let fileContents: string | Model | AbstractSqlModel | Config;
|
56
77
|
try {
|
@@ -68,12 +89,7 @@ export const getAbstractSqlModelFromFile = (
|
|
68
89
|
if ('tables' in fileContents) {
|
69
90
|
return fileContents;
|
70
91
|
}
|
71
|
-
const configModel =
|
72
|
-
'models' in fileContents
|
73
|
-
? modelName
|
74
|
-
? fileContents.models.find((m) => m.modelName === modelName)!
|
75
|
-
: fileContents.models[0]
|
76
|
-
: fileContents;
|
92
|
+
const configModel = getConfigModel(fileContents, modelName);
|
77
93
|
if ('abstractSql' in configModel && configModel.abstractSql != null) {
|
78
94
|
return configModel.abstractSql as AbstractSqlModel;
|
79
95
|
} else if ('modelText' in configModel && configModel.modelText != null) {
|