@microsoft/managed-apps-codegen 0.2.11 → 0.2.12
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/dist/Dataverse/generateDataverseModel.d.ts.map +1 -1
- package/dist/Dataverse/generateDataverseModel.js +8 -5
- package/dist/Dataverse/generateDataverseModel.js.map +1 -1
- package/dist/shared/schemaUtils.d.ts +8 -0
- package/dist/shared/schemaUtils.d.ts.map +1 -1
- package/dist/shared/schemaUtils.js +19 -6
- package/dist/shared/schemaUtils.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDataverseModel.d.ts","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"generateDataverseModel.d.ts","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,UAAU,oBAAoB;IAC5B,aAAa,EAAE,eAAe,CAAC;IAC/B,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,MAAM,EACN,eAAe,EACf,gBAAgB,EAChB,aAAa,GACd,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACrC,CAAC,CAsCD;AAgSD,eAAe,sBAAsB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { VariableDeclarationKind } from 'ts-morph';
|
|
5
5
|
import { generateLookupValuePropertyName, generateODataBindPropertyName, getDataverseLookupColumns, getDataverseMultiSelectPicklistFields, hasOptionsetData, iterateDataverseProperties, } from '../shared/dataverseUtils.js';
|
|
6
|
-
import { convertToValidIdentifier, formatPropertyName, normalizePropertyName,
|
|
6
|
+
import { convertToValidIdentifier, formatPropertyName, normalizePropertyName, } from '../shared/nameUtils.js';
|
|
7
7
|
import { formatEnumLabel, generateOptionsetEnumName, getPropertiesNode, getRequiredFields, isJsonObject, } from '../shared/schemaUtils.js';
|
|
8
8
|
import { determineTypeScriptType } from '../shared/typeUtils.js';
|
|
9
9
|
export async function generateDataverseModel({ parentContext, schema, fileColumnNames, imageColumnNames, modelFilePath, }) {
|
|
@@ -79,11 +79,14 @@ function addOptionsetDeclarations(sourceFile, modelName, propertiesNode) {
|
|
|
79
79
|
}
|
|
80
80
|
// Dataverse format: x-ms-enum-values contains numeric values.
|
|
81
81
|
// Emit a const object mapping numeric keys to display names, plus a keyof type alias.
|
|
82
|
+
// The display label is emitted as a runtime string value (the type alias below is
|
|
83
|
+
// `keyof typeof`, i.e. the numeric keys), so it must preserve the original localized
|
|
84
|
+
// text (Vietnamese, CJK, etc.) rather than being collapsed to an identifier.
|
|
82
85
|
const entries = enumLabels.map((label, i) => {
|
|
83
|
-
const
|
|
84
|
-
? `EmptyOption${i}`
|
|
85
|
-
:
|
|
86
|
-
return ` ${enumValues[i]}:
|
|
86
|
+
const labelLiteral = !label || (typeof label === 'string' && label.trim() === '')
|
|
87
|
+
? `'EmptyOption${i}'`
|
|
88
|
+
: formatEnumLabel(label);
|
|
89
|
+
return ` ${enumValues[i]}: ${labelLiteral}`;
|
|
87
90
|
});
|
|
88
91
|
sourceFile.addVariableStatement({
|
|
89
92
|
declarationKind: VariableDeclarationKind.Const,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDataverseModel.js","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAmB,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEpE,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,yBAAyB,EACzB,qCAAqC,EACrC,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"generateDataverseModel.js","sourceRoot":"","sources":["../../src/Dataverse/generateDataverseModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,14 @@ export declare function getNameNode(schema: unknown): string;
|
|
|
21
21
|
export declare function hasEnumValues(propValue: JsonObject): boolean;
|
|
22
22
|
/** Produces the TypeScript identifier used for the type alias generated from an optionset property. */
|
|
23
23
|
export declare function generateOptionsetEnumName(modelName: string, propName: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Escapes a string for safe embedding inside a single-quoted TypeScript string literal.
|
|
26
|
+
*
|
|
27
|
+
* Preserves all Unicode characters (e.g. Vietnamese, CJK, Arabic) and only escapes the
|
|
28
|
+
* characters that would otherwise break the literal: backslash, single quote, and line
|
|
29
|
+
* terminators (including the U+2028/U+2029 line/paragraph separators).
|
|
30
|
+
*/
|
|
31
|
+
export declare function escapeSingleQuotedString(str: string): string;
|
|
24
32
|
/** Formats an enum value as a TypeScript string literal for use in union types. */
|
|
25
33
|
export declare function formatEnumLabel(label: unknown): string;
|
|
26
34
|
/** Returns true if the schema comes from a SharePoint data source (has a `referencedEntities` property). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaUtils.d.ts","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAGhE;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAKpE;AAED,kHAAkH;AAClH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAKrE;AAED,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CASnD;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED,uGAAuG;AACvG,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"schemaUtils.d.ts","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAGhE;AAED,kGAAkG;AAClG,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAKpE;AAED,kHAAkH;AAClH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAKrE;AAED,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CASnD;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED,uGAAuG;AACvG,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAStD;AAED,4GAA4G;AAC5G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED,uFAAuF;AACvF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAcnE;AAED,gHAAgH;AAChH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CASrE"}
|
|
@@ -65,19 +65,32 @@ export function hasEnumValues(propValue) {
|
|
|
65
65
|
export function generateOptionsetEnumName(modelName, propName) {
|
|
66
66
|
return convertToValidIdentifier(`${modelName}${propName}`);
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Escapes a string for safe embedding inside a single-quoted TypeScript string literal.
|
|
70
|
+
*
|
|
71
|
+
* Preserves all Unicode characters (e.g. Vietnamese, CJK, Arabic) and only escapes the
|
|
72
|
+
* characters that would otherwise break the literal: backslash, single quote, and line
|
|
73
|
+
* terminators (including the U+2028/U+2029 line/paragraph separators).
|
|
74
|
+
*/
|
|
75
|
+
export function escapeSingleQuotedString(str) {
|
|
76
|
+
return str
|
|
77
|
+
.replace(/\\/g, '\\\\')
|
|
78
|
+
.replace(/'/g, "\\'")
|
|
79
|
+
.replace(/\n/g, '\\n')
|
|
80
|
+
.replace(/\r/g, '\\r')
|
|
81
|
+
.replace(/\u2028/g, '\\u2028')
|
|
82
|
+
.replace(/\u2029/g, '\\u2029');
|
|
83
|
+
}
|
|
68
84
|
/** Formats an enum value as a TypeScript string literal for use in union types. */
|
|
69
85
|
export function formatEnumLabel(label) {
|
|
70
86
|
if (label === null || label === undefined) {
|
|
71
87
|
return "''";
|
|
72
88
|
}
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
return `'${String(label).replace(/'/g, "\\'")}'`;
|
|
76
|
-
}
|
|
77
|
-
if (label.trim() === '') {
|
|
89
|
+
const str = String(label);
|
|
90
|
+
if (str.trim() === '') {
|
|
78
91
|
return "''";
|
|
79
92
|
}
|
|
80
|
-
return `'${
|
|
93
|
+
return `'${escapeSingleQuotedString(str)}'`;
|
|
81
94
|
}
|
|
82
95
|
/** Returns true if the schema comes from a SharePoint data source (has a `referencedEntities` property). */
|
|
83
96
|
export function isSharepointSchema(root) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEjF;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,6IAA6I;IAC7I,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,IAAI,CAAC,CAAC,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC;AAC/B,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,IAAI,UAAU,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,GAAG,CAAS,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,GAAG,EAAU,CAAC;AAC3B,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,QAAiB;IACvD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,yBAAyB,CAAC;QACnC;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,SAAqB;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACpE,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,QAAgB;IAC3E,OAAO,wBAAwB,CAAC,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../src/shared/schemaUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/managed-apps-codegen",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "AST-based TypeScript code generation for Microsoft Managed Apps",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"clean": "bun ../../scripts/clean.ts dist .turbo tsconfig.tsbuildinfo tsconfig.build.tsbuildinfo"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@microsoft/managed-apps-common": "0.
|
|
48
|
+
"@microsoft/managed-apps-common": "0.12.0",
|
|
49
49
|
"prettier": "3.8.1",
|
|
50
50
|
"ts-morph": "27.0.2"
|
|
51
51
|
},
|