@microsoft/power-apps-cli 0.6.4 → 0.6.7
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/lib/ArgumentProvider.d.ts +2 -2
- package/lib/ArgumentProvider.d.ts.map +1 -1
- package/lib/ArgumentProvider.js +8 -6
- package/lib/ArgumentProvider.js.map +1 -1
- package/lib/Cli.js +1 -1
- package/lib/Cli.js.map +1 -1
- package/lib/Logger/CliLogger.d.ts +7 -1
- package/lib/Logger/CliLogger.d.ts.map +1 -1
- package/lib/Logger/CliLogger.js +45 -24
- package/lib/Logger/CliLogger.js.map +1 -1
- package/lib/Verbs/Push.d.ts.map +1 -1
- package/lib/Verbs/Push.js +4 -3
- package/lib/Verbs/Push.js.map +1 -1
- package/lib/Verbs/Run.d.ts.map +1 -1
- package/lib/Verbs/Run.js +9 -8
- package/lib/Verbs/Run.js.map +1 -1
- package/lib/Verbs/VerbConstants.d.ts +19 -1
- package/lib/Verbs/VerbConstants.d.ts.map +1 -1
- package/lib/Verbs/VerbConstants.js +23 -5
- package/lib/Verbs/VerbConstants.js.map +1 -1
- package/lib/__tests__/UnitTests/CliLogger.test.js +34 -24
- package/lib/__tests__/UnitTests/CliLogger.test.js.map +1 -1
- package/lib/__tests__/UnitTests/ListEnvironmentVariables.spec.js +4 -4
- package/lib/__tests__/UnitTests/ListEnvironmentVariables.spec.js.map +1 -1
- package/lib/__tests__/mocks/CliLogger.mocks.d.ts +7 -0
- package/lib/__tests__/mocks/CliLogger.mocks.d.ts.map +1 -0
- package/lib/__tests__/mocks/CliLogger.mocks.js +22 -0
- package/lib/__tests__/mocks/CliLogger.mocks.js.map +1 -0
- package/lib-cjs/ArgumentProvider.d.ts +2 -2
- package/lib-cjs/ArgumentProvider.d.ts.map +1 -1
- package/lib-cjs/ArgumentProvider.js +10 -6
- package/lib-cjs/ArgumentProvider.js.map +1 -1
- package/lib-cjs/Cli.js +1 -1
- package/lib-cjs/Cli.js.map +1 -1
- package/lib-cjs/Logger/CliLogger.d.ts +7 -1
- package/lib-cjs/Logger/CliLogger.d.ts.map +1 -1
- package/lib-cjs/Logger/CliLogger.js +58 -30
- package/lib-cjs/Logger/CliLogger.js.map +1 -1
- package/lib-cjs/Verbs/Push.d.ts.map +1 -1
- package/lib-cjs/Verbs/Push.js +4 -3
- package/lib-cjs/Verbs/Push.js.map +1 -1
- package/lib-cjs/Verbs/Run.d.ts.map +1 -1
- package/lib-cjs/Verbs/Run.js +9 -8
- package/lib-cjs/Verbs/Run.js.map +1 -1
- package/lib-cjs/Verbs/VerbConstants.d.ts +19 -1
- package/lib-cjs/Verbs/VerbConstants.d.ts.map +1 -1
- package/lib-cjs/Verbs/VerbConstants.js +24 -6
- package/lib-cjs/Verbs/VerbConstants.js.map +1 -1
- package/lib-cjs/__tests__/UnitTests/CliLogger.test.js +54 -24
- package/lib-cjs/__tests__/UnitTests/CliLogger.test.js.map +1 -1
- package/lib-cjs/__tests__/UnitTests/ListEnvironmentVariables.spec.js +4 -4
- package/lib-cjs/__tests__/UnitTests/ListEnvironmentVariables.spec.js.map +1 -1
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.d.ts +6 -0
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.d.ts.map +1 -0
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.js +26 -0
- package/lib-cjs/__tests__/mocks/CliLogger.mocks.js.map +1 -0
- package/node_modules/@microsoft/powerapps-data/package.json +2 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/AddDataSource.js +8 -3
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/AddDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.js +7 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/DeleteDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js +7 -3
- package/node_modules/@microsoft/powerapps-player-actions/lib/Actions/PushApp.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts +16 -300
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js +2280 -2320
- package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js +11 -3
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DeleteDataSource.spec.js +3 -5
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/DeleteDataSource.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js +95 -20
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/ModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js +6 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib/__tests__/arrayTypeGeneration.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/AddDataSource.js +7 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/AddDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.js +6 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/DeleteDataSource.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js +14 -10
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/Actions/PushApp.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts +16 -300
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.d.ts.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js +2801 -2853
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/CodeGen/modelServiceGenerator.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js +10 -2
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/AzureDevOpsModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DeleteDataSource.spec.js +2 -4
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/DeleteDataSource.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js +94 -19
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/ModelServiceGenerator.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js +5 -1
- package/node_modules/@microsoft/powerapps-player-actions/lib-cjs/__tests__/arrayTypeGeneration.spec.js.map +1 -1
- package/node_modules/@microsoft/powerapps-player-actions/package.json +2 -2
- package/node_modules/@pa-client/powerapps-player-services/lib/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts +12 -0
- package/node_modules/@pa-client/powerapps-player-services/lib/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib/index.d.ts +2 -2
- package/node_modules/@pa-client/powerapps-player-services/lib/index.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib/index.js +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib/index.js.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts +12 -0
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/Services/PlayerLaunchService/PlayerLaunchService.types.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.d.ts +2 -2
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.d.ts.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.js +8 -1
- package/node_modules/@pa-client/powerapps-player-services/lib-cjs/index.js.map +1 -1
- package/node_modules/@pa-client/powerapps-player-services/package.json +1 -1
- package/package.json +4 -4
- package/readme.md +286 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushApp.d.ts","sourceRoot":"","sources":["../../src/Actions/PushApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"PushApp.d.ts","sourceRoot":"","sources":["../../src/Actions/PushApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,GAAG,EAUT,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CA4EnE"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import { getPlayerServiceConfig } from '@pa-client/powerapps-player-services';
|
|
4
|
+
import { createApp, endSession, generateResourceStorage, getPlayerServiceConfig, makeAppSolutionAware, publishApp, saveApp, startSession, } from '@pa-client/powerapps-player-services';
|
|
5
5
|
import { initializePlayerActions } from '../initializePlayerActions';
|
|
6
|
-
import { createApp, endSession, generateResourceStorage, makeAppSolutionAware, publishApp, saveApp, startSession, } from '@pa-client/powerapps-player-services/lib/Services/PowerAppsRp/PowerAppsRpService';
|
|
7
6
|
import { stringifyError } from '../ErrorUtils';
|
|
8
7
|
import { readRepoConfig, writeRepoConfig } from '../Config/ConfigManager';
|
|
9
8
|
export async function pushApp(context) {
|
|
@@ -95,9 +94,10 @@ async function uploadFilesToBlob(powerConfig, blobUri, vfs, logger) {
|
|
|
95
94
|
const allFiles = await collectAllFiles(buildPath, vfs);
|
|
96
95
|
// Normalize buildPath by removing leading ./ for consistent replacement
|
|
97
96
|
const normalizedBuildPath = buildPath.replace(/^\.\//, '');
|
|
98
|
-
|
|
97
|
+
let totalBytes = 0;
|
|
99
98
|
for (const fullFilePath of allFiles) {
|
|
100
99
|
const fileContent = await vfs.readFile(fullFilePath, 'utf-8');
|
|
100
|
+
totalBytes += Buffer.byteLength(fileContent, 'utf-8');
|
|
101
101
|
// Normalize path: remove buildPath prefix, convert backslashes to forward slashes for URLs, and remove leading slash
|
|
102
102
|
const relativePath = fullFilePath
|
|
103
103
|
.replace(normalizedBuildPath, '')
|
|
@@ -112,6 +112,10 @@ async function uploadFilesToBlob(powerConfig, blobUri, vfs, logger) {
|
|
|
112
112
|
body: fileContent,
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
|
+
logger.trackActivityEvent('PushApp.SaveApp.UploadFiles.FileSize', {
|
|
116
|
+
fileCount: allFiles.length,
|
|
117
|
+
totalBytes,
|
|
118
|
+
});
|
|
115
119
|
uploadFilesScenario.complete();
|
|
116
120
|
return `${baseUrl}/${buildEntryPoint.replace(normalizedBuildPath, '').replace(/^\//, '')}${restUrl}`;
|
|
117
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PushApp.js","sourceRoot":"","sources":["../../src/Actions/PushApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"PushApp.js","sourceRoot":"","sources":["../../src/Actions/PushApp.ts"],"names":[],"mappings":"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"}
|
package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts
CHANGED
|
@@ -2,307 +2,23 @@
|
|
|
2
2
|
* Copyright (C) Microsoft Corporation. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
import { ILogger } from '@pa-client/powerapps-player-services';
|
|
5
|
-
import { JsonObject } from '../Common/jsonTypes';
|
|
6
5
|
import { Vfs } from '../Types/Vfs.types';
|
|
6
|
+
interface IGenerateModelServiceOptions {
|
|
7
|
+
logger: ILogger;
|
|
8
|
+
schemaFolderPath: string;
|
|
9
|
+
schemaFilePath?: string;
|
|
10
|
+
codeGenPath: string;
|
|
11
|
+
}
|
|
12
|
+
interface IClearAndRegenerateOptions {
|
|
13
|
+
schemaFolderPath: string;
|
|
14
|
+
codeGenPath: string;
|
|
15
|
+
vfs: Vfs;
|
|
16
|
+
logger: ILogger;
|
|
17
|
+
}
|
|
18
|
+
export declare function generateModelService(options: IGenerateModelServiceOptions): Promise<void>;
|
|
7
19
|
/**
|
|
8
|
-
*
|
|
20
|
+
* Clears and regenerates the model and service files.
|
|
9
21
|
*/
|
|
10
|
-
export declare
|
|
11
|
-
|
|
12
|
-
NUMBER: string;
|
|
13
|
-
BOOLEAN: string;
|
|
14
|
-
DATE: string;
|
|
15
|
-
UNKNOWN: string;
|
|
16
|
-
OBJECT: string;
|
|
17
|
-
};
|
|
18
|
-
export declare class ModelServiceGenerator {
|
|
19
|
-
private static readonly GENERATED_FOLDER;
|
|
20
|
-
private static readonly MODELS_FOLDER;
|
|
21
|
-
private static readonly SERVICES_FOLDER;
|
|
22
|
-
private static readonly RELATIVE_MODEL_PATH;
|
|
23
|
-
private static _schemaFolderPath;
|
|
24
|
-
private static _outputDir;
|
|
25
|
-
static run(args: string[], logger: ILogger): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* The validateArguments method validates the command line arguments.
|
|
28
|
-
* It checks if the correct number of arguments is provided and returns an object containing their values.
|
|
29
|
-
* It returns {isValid, schemaFolderPath, outputDir}.
|
|
30
|
-
*/
|
|
31
|
-
private static validateArguments;
|
|
32
|
-
private static ensureOutputDirectoryExists;
|
|
33
|
-
/**
|
|
34
|
-
* The processSchema method processes a single schema file.
|
|
35
|
-
* It generates TypeScript models and services based on the schema.
|
|
36
|
-
*/
|
|
37
|
-
private static processSchema;
|
|
38
|
-
/**
|
|
39
|
-
* The getModelNameFromSchema method retrieves the model name from a schema file.
|
|
40
|
-
*/
|
|
41
|
-
static getModelNameFromSchema(schemaPath: string, vfs: Vfs): Promise<string>;
|
|
42
|
-
/**
|
|
43
|
-
* The initializeSchemaProcessing method initializes the schema processing.
|
|
44
|
-
* Returns an object containing the parsed schema, the schema JSON string, the output directory, model name, and data source name.
|
|
45
|
-
*/
|
|
46
|
-
static initializeSchemaProcessing(schemaPath: string, outputDir: string, vfs: Vfs): Promise<{
|
|
47
|
-
schema: JsonObject;
|
|
48
|
-
schemaJson: string;
|
|
49
|
-
outputDir: string;
|
|
50
|
-
modelName: string;
|
|
51
|
-
dataSourceName: string;
|
|
52
|
-
}>;
|
|
53
|
-
/**
|
|
54
|
-
* The loadSchemaFromFile method loads and parses a schema file.
|
|
55
|
-
* Optionally returns the raw JSON string if asObjectWithRaw is true.
|
|
56
|
-
*/
|
|
57
|
-
private static loadSchemaFromFile;
|
|
58
|
-
/**
|
|
59
|
-
* The ensureOutputDirectoriesExist method ensures that the required output directories exist.
|
|
60
|
-
* It creates the main output directory, plus 'generated/models' and 'generated/services' subfolders if needed.
|
|
61
|
-
*/
|
|
62
|
-
private static ensureOutputDirectoriesExist;
|
|
63
|
-
/**
|
|
64
|
-
* The isSwaggerSchema method checks if the schema is a Swagger schema.
|
|
65
|
-
* Returns true if schema.properties.swagger exists.
|
|
66
|
-
*/
|
|
67
|
-
private static isSwaggerSchema;
|
|
68
|
-
/**
|
|
69
|
-
* Checks if a property is a Dataverse lookup column.
|
|
70
|
-
*/
|
|
71
|
-
private static isDataverseLookupProperty;
|
|
72
|
-
/**
|
|
73
|
-
* Gets all Dataverse lookup columns from the properties object.
|
|
74
|
-
*/
|
|
75
|
-
private static getDataverseLookupColumns;
|
|
76
|
-
/**
|
|
77
|
-
* Generates the OData bind property name for a lookup column.
|
|
78
|
-
* Example: "cr160_lookupcol" -> "cr160_lookupcol@odata.bind"
|
|
79
|
-
*/
|
|
80
|
-
private static generateODataBindPropertyName;
|
|
81
|
-
/**
|
|
82
|
-
* Generates the value property name for a lookup column.
|
|
83
|
-
* Example: "cr160_lookupcol" -> "_cr160_lookupcol_value"
|
|
84
|
-
*/
|
|
85
|
-
private static generateLookupValuePropertyName;
|
|
86
|
-
/**
|
|
87
|
-
* The addCopyrightNotice method adds a copyright notice to the generated files.
|
|
88
|
-
*/
|
|
89
|
-
private static addCopyrightNotice;
|
|
90
|
-
/**
|
|
91
|
-
* Generates TypeScript interfaces for Dataverse entities with lookup columns.
|
|
92
|
-
* Creates both a base interface (for PATCH/POST) and an extended interface (for GET).
|
|
93
|
-
*/
|
|
94
|
-
private static generateDataverseInterfaces;
|
|
95
|
-
/**
|
|
96
|
-
* Generates the base interface for Dataverse PATCH/POST operations.
|
|
97
|
-
* Replaces lookup columns with @odata.bind properties.
|
|
98
|
-
*/
|
|
99
|
-
private static generateDataverseBaseInterface;
|
|
100
|
-
/**
|
|
101
|
-
* Generates the extended interface for Dataverse GET operations.
|
|
102
|
-
* Extends the base interface and adds lookup object and value properties.
|
|
103
|
-
*/
|
|
104
|
-
private static generateDataverseExtendedInterface;
|
|
105
|
-
/**
|
|
106
|
-
* Checks if a property is related to a lookup column (like name properties).
|
|
107
|
-
*/
|
|
108
|
-
private static isLookupRelatedProperty;
|
|
109
|
-
/**
|
|
110
|
-
* The handleSwaggerSchema method handles the Swagger schema.
|
|
111
|
-
* It generates TypeScript models and services from the Swagger schema.
|
|
112
|
-
*/
|
|
113
|
-
private static handleSwaggerSchema;
|
|
114
|
-
/**
|
|
115
|
-
* The getSwaggerObject method retrieves the Swagger object from the schema.
|
|
116
|
-
* Throws an error if the schema is not valid Swagger format.
|
|
117
|
-
*/
|
|
118
|
-
private static getSwaggerObject;
|
|
119
|
-
private static processDefinitions;
|
|
120
|
-
private static processParameters;
|
|
121
|
-
/**
|
|
122
|
-
* Writes the lines to a file at the specified path.
|
|
123
|
-
*
|
|
124
|
-
* @param {string} filePath The path to the file to write
|
|
125
|
-
* @param {string[]} lines The lines to write to the file
|
|
126
|
-
* @param {boolean} [createDirPath=true] Create the directory path if it does not exist
|
|
127
|
-
*/
|
|
128
|
-
private static writeToFile;
|
|
129
|
-
/**
|
|
130
|
-
* The writeToFile method writes the generated code to a file from a string.
|
|
131
|
-
*/
|
|
132
|
-
private static writeToFileWithContent;
|
|
133
|
-
/**
|
|
134
|
-
* The generateModelFromSchema method generates TypeScript models from the schema.
|
|
135
|
-
* Returns a type alias or interface definition string.
|
|
136
|
-
*/
|
|
137
|
-
private static generateModelFromSchema;
|
|
138
|
-
/**
|
|
139
|
-
* The simplifyGenericInterfaceName method simplifies the generic interface name.
|
|
140
|
-
* It removes the generic parameters from the name.
|
|
141
|
-
*/
|
|
142
|
-
private static simplifyGenericInterfaceName;
|
|
143
|
-
/**
|
|
144
|
-
* The isEmptyObject method checks if the definition is an empty object.
|
|
145
|
-
* Returns an object with isEmpty (boolean) and itemsNode.
|
|
146
|
-
*/
|
|
147
|
-
private static isEmptyObject;
|
|
148
|
-
/**
|
|
149
|
-
* The generateTypeAliasForEmptyObject method generates a TypeScript type alias for an empty object.
|
|
150
|
-
*/
|
|
151
|
-
private static generateTypeAliasForEmptyObject;
|
|
152
|
-
private static generatePropertyLines;
|
|
153
|
-
/**
|
|
154
|
-
* Recursively collects all enum declarations from properties, including nested objects.
|
|
155
|
-
* This ensures enums are hoisted to the top level and not exported mid-interface.
|
|
156
|
-
*/
|
|
157
|
-
private static collectAllEnums;
|
|
158
|
-
/**
|
|
159
|
-
* Checks if a property has optionset data (enum and x-ms-enum-values)
|
|
160
|
-
*/
|
|
161
|
-
private static hasOptionsetData;
|
|
162
|
-
/**
|
|
163
|
-
* Generates the enum name for an optionset property
|
|
164
|
-
*/
|
|
165
|
-
private static generateOptionsetEnumName;
|
|
166
|
-
/**
|
|
167
|
-
* The generateOptionsetEnums method generates TypeScript const objects for optionset properties.
|
|
168
|
-
* These const objects are compatible with TypeScript's erasableSyntaxOnly flag and provide
|
|
169
|
-
* type safety while preserving the original numeric values from the schema.
|
|
170
|
-
* @returns An array of const object declaration strings.
|
|
171
|
-
*/
|
|
172
|
-
private static generateOptionsetEnums;
|
|
173
|
-
/**
|
|
174
|
-
* Formats an enum label as a quoted string literal, escaping single quotes.
|
|
175
|
-
* Returns an empty string literal for empty labels.
|
|
176
|
-
*/
|
|
177
|
-
private static formatEnumLabel;
|
|
178
|
-
/**
|
|
179
|
-
* Generates const object declaration for an optionset property.
|
|
180
|
-
* Creates a const object with typed properties that is compatible with erasableSyntaxOnly.
|
|
181
|
-
* Also generates a corresponding type alias for type safety.
|
|
182
|
-
*/
|
|
183
|
-
private static generateOptionsetConstDeclaration;
|
|
184
|
-
private static addInterfaceDeclarationWithPadding;
|
|
185
|
-
private static closeInterfaceDeclarationWithPadding;
|
|
186
|
-
private static getRequiredFields;
|
|
187
|
-
private static getPropertiesNode;
|
|
188
|
-
private static determineTypeScriptType;
|
|
189
|
-
private static determineArrayType;
|
|
190
|
-
private static extractReferencedType;
|
|
191
|
-
private static mapDataverseTypeToTypeScript;
|
|
192
|
-
private static mapJsonTypeToTypeScript;
|
|
193
|
-
private static addPropertyComment;
|
|
194
|
-
private static generateModelFromParameters;
|
|
195
|
-
private static addInterfaceDeclaration;
|
|
196
|
-
private static closeInterfaceDeclaration;
|
|
197
|
-
private static determineParameterType;
|
|
198
|
-
private static isParameterRequired;
|
|
199
|
-
private static generateServiceFromPaths;
|
|
200
|
-
private static collectStandardImports;
|
|
201
|
-
private static processPaths;
|
|
202
|
-
private static processOperation;
|
|
203
|
-
private static determineOutputModel;
|
|
204
|
-
private static collectParameters;
|
|
205
|
-
private static addImports;
|
|
206
|
-
private static addClassDefinition;
|
|
207
|
-
private static addServiceClassHeader;
|
|
208
|
-
private static extractOutputModelFromSchema;
|
|
209
|
-
private static tryExtractArrayOutputModel;
|
|
210
|
-
private static tryExtractDirectRefOutputModel;
|
|
211
|
-
private static tryExtractTypeOutputModel;
|
|
212
|
-
private static addImport;
|
|
213
|
-
private static simplifyGenericTypeName;
|
|
214
|
-
private static normalizeGenericTypeName;
|
|
215
|
-
private static processRequestParameters;
|
|
216
|
-
private static getParameterName;
|
|
217
|
-
private static getParameterType;
|
|
218
|
-
private static getSchemaBasedType;
|
|
219
|
-
private static getRefBasedType;
|
|
220
|
-
private static generateOperationMethod;
|
|
221
|
-
private static addMethodSummary;
|
|
222
|
-
private static formatOperationName;
|
|
223
|
-
private static getParameterSignature;
|
|
224
|
-
private static getParameterObject;
|
|
225
|
-
private static getParametersType;
|
|
226
|
-
private static addMethodWithoutParameters;
|
|
227
|
-
private static addMethodWithParameters;
|
|
228
|
-
private static handleSqlStoredProcedure;
|
|
229
|
-
private static generateStoredProcedureModel;
|
|
230
|
-
private static addInputParametersModel;
|
|
231
|
-
private static addOutputParametersModel;
|
|
232
|
-
private static generateStoredProcedureService;
|
|
233
|
-
private static addServiceImports;
|
|
234
|
-
private static addStoredProcedureServiceClassDefinition;
|
|
235
|
-
private static addStoredProcedureServiceMethods;
|
|
236
|
-
private static getOrderedPropertiesByRequired;
|
|
237
|
-
private static writeModelFile;
|
|
238
|
-
private static writeServiceFile;
|
|
239
|
-
private static handleStandardSchema;
|
|
240
|
-
private static handleDataverseSchema;
|
|
241
|
-
private static handleStandardSchemaOnly;
|
|
242
|
-
/**
|
|
243
|
-
* The handleSharepointSchema method handles SharePoint schema generation.
|
|
244
|
-
* It generates TypeScript models and services specifically for SharePoint data sources.
|
|
245
|
-
*/
|
|
246
|
-
private static handleSharepointSchema;
|
|
247
|
-
/**
|
|
248
|
-
* Generates SharePoint-specific service code.
|
|
249
|
-
*/
|
|
250
|
-
private static generateSharepointService;
|
|
251
|
-
/**
|
|
252
|
-
* Adds the SharePoint service class definition to the generated code.
|
|
253
|
-
*/
|
|
254
|
-
private static addSharepointServiceClassDefinition;
|
|
255
|
-
/**
|
|
256
|
-
* Adds the SharePoint-specific get method for reference entities.
|
|
257
|
-
*/
|
|
258
|
-
private static addGetMethodForReferenceEntities;
|
|
259
|
-
private static addGetMethodForReferenceEntitiesCore;
|
|
260
|
-
private static ensureCommonModelFileExists;
|
|
261
|
-
private static addCommonModelCode;
|
|
262
|
-
private static generateTypeScriptModel;
|
|
263
|
-
private static generateSharepointTypeScriptModel;
|
|
264
|
-
private static parseSchemaJson;
|
|
265
|
-
private static getRequiredFieldsFromStandardSchema;
|
|
266
|
-
private static addSPModelInterfaceDeclaration;
|
|
267
|
-
private static addSPReferencedEntityModelInterfaceDeclaration;
|
|
268
|
-
private static addInnerPropertyDeclaration;
|
|
269
|
-
private static addModelInterfaceDeclaration;
|
|
270
|
-
private static addPropertyDeclaration;
|
|
271
|
-
private static generateTypeScriptService;
|
|
272
|
-
private static generateDataverseTypeScriptService;
|
|
273
|
-
private static addStandardServiceImports;
|
|
274
|
-
private static addDataverseServiceImports;
|
|
275
|
-
private static addSharepointServiceImports;
|
|
276
|
-
private static addServiceFields;
|
|
277
|
-
private static addServiceClassDefinition;
|
|
278
|
-
private static addDataverseServiceClassDefinition;
|
|
279
|
-
private static addServiceMethods;
|
|
280
|
-
private static addDataverseServiceMethods;
|
|
281
|
-
private static generateCreateMethod;
|
|
282
|
-
private static generateUpdateMethod;
|
|
283
|
-
private static generateDeleteMethod;
|
|
284
|
-
private static generateGetMethod;
|
|
285
|
-
private static generateGetAllMethod;
|
|
286
|
-
private static generateGetMetadataMethod;
|
|
287
|
-
private static generateSharepointCreateMethod;
|
|
288
|
-
private static generateSharepointUpdateMethod;
|
|
289
|
-
private static generateSharepointDeleteMethod;
|
|
290
|
-
private static generateSharepointGetMethod;
|
|
291
|
-
private static generateSharepointGetAllMethod;
|
|
292
|
-
private static generateDataverseCreateMethod;
|
|
293
|
-
private static generateDataverseUpdateMethod;
|
|
294
|
-
private static generateDataverseGetMethod;
|
|
295
|
-
private static generateDataverseGetAllMethod;
|
|
296
|
-
private static generateDataverseGetMetadataMethod;
|
|
297
|
-
/**
|
|
298
|
-
* The generateIndexFile method creates an index.ts file that exports all models and services.
|
|
299
|
-
*/
|
|
300
|
-
private static generateIndexFile;
|
|
301
|
-
/**
|
|
302
|
-
* Clears and regenerates the model and service files.
|
|
303
|
-
* @param {string} schemaFolderPath
|
|
304
|
-
* @param {string} outputDir
|
|
305
|
-
*/
|
|
306
|
-
static clearAndRegenerate(schemaFolderPath: string, outputDir: string, vfs: Vfs, logger: ILogger): Promise<void>;
|
|
307
|
-
}
|
|
22
|
+
export declare function clearAndRegenerateModelService(options: IClearAndRegenerateOptions): Promise<void>;
|
|
23
|
+
export {};
|
|
308
24
|
//# sourceMappingURL=modelServiceGenerator.d.ts.map
|
package/node_modules/@microsoft/powerapps-player-actions/lib/CodeGen/modelServiceGenerator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelServiceGenerator.d.ts","sourceRoot":"","sources":["../../src/CodeGen/modelServiceGenerator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"modelServiceGenerator.d.ts","sourceRoot":"","sources":["../../src/CodeGen/modelServiceGenerator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAI/D,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAiCzC,UAAU,4BAA4B;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,0BAA0B;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,OAAO,CAAC;CACjB;AAcD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC/F;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvG"}
|