/** * The spelling of a model name that may appear INSIDE an AOT object name. * * A model name is free text — "Contoso Robotics" is an ordinary thing for Visual * Studio to create — but an AOT element name is an identifier and cannot carry a * space. Embedding the raw name (EXTENSION_NAMING_STYLE=model-name) therefore * produced `CustTable.Contoso Robotics`, which no build accepts (issue #892). * * Stripping everything outside [A-Za-z0-9_] is not a guess at what the platform * does — it IS what the platform does. The descriptor of the one shipped model * whose name has a space states: * Monitoring and Telemetry → MonitoringandTelemetry * i.e. the name with whitespace removed, character for character, lowercase "and" * intact. Visual Studio names extensions in that model-derived spelling too, so * the token computed here matches the extensions a model already contains. * * Deriving the token from instead was considered and rejected: * ModelModule is per-PACKAGE, not per-model (all five models in ApplicationSuite * report ModelModule=ApplicationSuite), so every model sharing a package would * collapse onto one token. * * Returns the name unchanged for any model whose name is already an identifier, * which is every model that does not contain a space. * * Lives in its own module rather than in modelClassifier because the naming * surface of that module is mocked wholesale by a dozen write-path test files; * a helper added there is a helper every one of those mocks has to re-declare. */ export declare function normalizeModelToken(modelName: string): string; //# sourceMappingURL=modelToken.d.ts.map