本文整理汇总了TypeScript中eez-studio-shared/model/object.getProperty函数的典型用法代码示例。如果您正苦于以下问题:TypeScript getProperty函数的具体用法?TypeScript getProperty怎么用?TypeScript getProperty使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getProperty函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getInstrumentExtensionProperties
function getInstrumentExtensionProperties(extensionDefinition: ExtensionDefinition) {
const project = ProjectStore.project;
let instrumentExtensionProperties: any = {};
let projectFeatures = getExtensionsByCategory("project-feature");
for (let projectFeature of projectFeatures) {
if (
projectFeature.eezStudioExtension.implementation.projectFeature
.collectExtensionDefinitions &&
getProperty(
project,
projectFeature.eezStudioExtension.implementation.projectFeature.key
)
) {
projectFeature.eezStudioExtension.implementation.projectFeature.collectExtensionDefinitions(
project,
extensionDefinition,
instrumentExtensionProperties
);
}
}
return instrumentExtensionProperties;
}
示例2: visitWithPause
function* visitWithPause(parentObject: EezObject): IterableIterator<VisitResult> {
if (isArray(parentObject)) {
let arrayOfObjects = asArray(parentObject);
for (let i = 0; i < arrayOfObjects.length; i++) {
yield* visitWithPause(arrayOfObjects[i]);
}
} else {
for (const propertyInfo of parentObject._classInfo.properties) {
if (!propertyInfo.skipSearch) {
let value = getProperty(parentObject, propertyInfo.name);
if (value) {
if (
propertyInfo.type === PropertyType.Object ||
propertyInfo.type === PropertyType.Array
) {
yield* visitWithPause(value);
} else {
yield getObjectPropertyAsObject(parentObject, propertyInfo);
}
}
}
}
}
// pause
yield null;
}
示例3: metrics
export function metrics(project: Project): { [key: string]: string | number } {
let shortcuts = getProperty(project, "shortcuts") as Shortcuts;
return {
Shortcuts: shortcuts.shortcuts._array.length
};
}
示例4: getBuildResults
async function getBuildResults(sectionNames: string[] | undefined) {
const project = ProjectStore.project;
let buildResults: BuildResult[] = [];
let projectFeatures = getExtensionsByCategory("project-feature");
for (let projectFeature of projectFeatures) {
if (
projectFeature.eezStudioExtension.implementation.projectFeature.build &&
getProperty(
project,
projectFeature.eezStudioExtension.implementation.projectFeature.key
)
) {
buildResults.push(
await projectFeature.eezStudioExtension.implementation.projectFeature.build(
project,
sectionNames
)
);
}
}
return buildResults;
}
示例5: getExtensionsToBuild
function getExtensionsToBuild() {
let extensionDefinitions = getProperty(
ProjectStore.project,
"extensionDefinitions"
) as EezArrayObject<ExtensionDefinition>;
return (
extensionDefinitions &&
extensionDefinitions._array
.filter(extensionDefinition => !extensionDefinition.doNotBuild)
.filter(extensionDefinition => {
const idfFromProject = toJS(extensionDefinition);
const instrumentIdf: InstrumentIdfProperties = idfFromProject as any;
return instrumentIdf.extensionName && instrumentIdf.idfGuid;
})
);
}
示例6: getProperty
(result: IMessage[], propertyInfo: PropertyInfo) => {
const childObject = getProperty(object, propertyInfo.name);
let childrenMessages: IMessage[];
if (isArray(childObject)) {
childrenMessages = asArray(childObject).reduce<IMessage[]>(
(result: IMessage[], object: EezObject) => {
return result.concat(checkTransformer(object));
},
[] as IMessage[]
);
} else {
childrenMessages = checkTransformer(childObject);
}
return result.concat(childrenMessages);
},
示例7: getAllMetrics
export function getAllMetrics() {
let allMetrics: any = {};
const project = ProjectStore.project;
let projectFeatures = getExtensionsByCategory("project-feature");
for (let projectFeature of projectFeatures) {
if (
projectFeature.eezStudioExtension.implementation.projectFeature.metrics &&
getProperty(
project,
projectFeature.eezStudioExtension.implementation.projectFeature.key
)
) {
let featureMetrics = projectFeature.eezStudioExtension.implementation.projectFeature.metrics(
project
);
allMetrics = Object.assign(allMetrics, featureMetrics);
}
}
return allMetrics;
}