@mat3ra/prode 2025.11.25-0
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/.babelrc +17 -0
- package/LICENSE.md +15 -0
- package/README.md +93 -0
- package/dist/js/MetaProperty.d.ts +3 -0
- package/dist/js/MetaProperty.js +9 -0
- package/dist/js/Property.d.ts +25 -0
- package/dist/js/Property.js +25 -0
- package/dist/js/PropertyFactory.d.ts +54 -0
- package/dist/js/PropertyFactory.js +137 -0
- package/dist/js/ProtoProperty.d.ts +5 -0
- package/dist/js/ProtoProperty.js +11 -0
- package/dist/js/charts/highcharts.d.ts +57 -0
- package/dist/js/charts/highcharts.js +96 -0
- package/dist/js/generated/AtomicConstraintsPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/AtomicConstraintsPropertySchemaMixin.js +15 -0
- package/dist/js/generated/AtomicForcesPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/AtomicForcesPropertySchemaMixin.js +18 -0
- package/dist/js/generated/AveragePotentialProfilePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/AveragePotentialProfilePropertySchemaMixin.js +24 -0
- package/dist/js/generated/BandGapsPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/BandGapsPropertySchemaMixin.js +18 -0
- package/dist/js/generated/BandStructurePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/BandStructurePropertySchemaMixin.js +27 -0
- package/dist/js/generated/BoundaryConditionsPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/BoundaryConditionsPropertySchemaMixin.js +18 -0
- package/dist/js/generated/ChargeDensityProfilePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/ChargeDensityProfilePropertySchemaMixin.js +24 -0
- package/dist/js/generated/ConvergenceElectronicPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/ConvergenceElectronicPropertySchemaMixin.js +18 -0
- package/dist/js/generated/ConvergenceIonicPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/ConvergenceIonicPropertySchemaMixin.js +21 -0
- package/dist/js/generated/DensityOfStatesPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/DensityOfStatesPropertySchemaMixin.js +27 -0
- package/dist/js/generated/DielectricTensorPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/DielectricTensorPropertySchemaMixin.js +15 -0
- package/dist/js/generated/FermiEnergyPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/FermiEnergyPropertySchemaMixin.js +18 -0
- package/dist/js/generated/FileContentPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/FileContentPropertySchemaMixin.js +24 -0
- package/dist/js/generated/FinalStructurePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/FinalStructurePropertySchemaMixin.js +18 -0
- package/dist/js/generated/HubbardUPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/HubbardUPropertySchemaMixin.js +18 -0
- package/dist/js/generated/HubbardVNNPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/HubbardVNNPropertySchemaMixin.js +18 -0
- package/dist/js/generated/HubbardVPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/HubbardVPropertySchemaMixin.js +18 -0
- package/dist/js/generated/IonizationPotentialElementalPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/IonizationPotentialElementalPropertySchemaMixin.js +18 -0
- package/dist/js/generated/IsRelaxedPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/IsRelaxedPropertySchemaMixin.js +18 -0
- package/dist/js/generated/JupyterNotebookEndpointPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/JupyterNotebookEndpointPropertySchemaMixin.js +21 -0
- package/dist/js/generated/MagneticMomentsPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/MagneticMomentsPropertySchemaMixin.js +18 -0
- package/dist/js/generated/MetaPropertyHolderSchemaMixin.d.ts +5 -0
- package/dist/js/generated/MetaPropertyHolderSchemaMixin.js +15 -0
- package/dist/js/generated/PhononDOSPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/PhononDOSPropertySchemaMixin.js +24 -0
- package/dist/js/generated/PhononDispersionsPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/PhononDispersionsPropertySchemaMixin.js +24 -0
- package/dist/js/generated/PotentialProfilePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/PotentialProfilePropertySchemaMixin.js +24 -0
- package/dist/js/generated/PressurePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/PressurePropertySchemaMixin.js +18 -0
- package/dist/js/generated/PropertyHolderSchemaMixin.d.ts +5 -0
- package/dist/js/generated/PropertyHolderSchemaMixin.js +30 -0
- package/dist/js/generated/ProtoPropertyHolderSchemaMixin.d.ts +5 -0
- package/dist/js/generated/ProtoPropertyHolderSchemaMixin.js +15 -0
- package/dist/js/generated/PseudopotentialMetaPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/PseudopotentialMetaPropertySchemaMixin.js +45 -0
- package/dist/js/generated/ReactionEnergyBarrierPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/ReactionEnergyBarrierPropertySchemaMixin.js +18 -0
- package/dist/js/generated/ReactionEnergyProfilePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/ReactionEnergyProfilePropertySchemaMixin.js +24 -0
- package/dist/js/generated/StressTensorPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/StressTensorPropertySchemaMixin.js +18 -0
- package/dist/js/generated/SurfaceEnergyPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/SurfaceEnergyPropertySchemaMixin.js +18 -0
- package/dist/js/generated/TotalEnergyContributionsPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/TotalEnergyContributionsPropertySchemaMixin.js +57 -0
- package/dist/js/generated/TotalEnergyPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/TotalEnergyPropertySchemaMixin.js +18 -0
- package/dist/js/generated/TotalForcePropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/TotalForcePropertySchemaMixin.js +18 -0
- package/dist/js/generated/ValenceBandOffsetPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/ValenceBandOffsetPropertySchemaMixin.js +18 -0
- package/dist/js/generated/WorkflowPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/WorkflowPropertySchemaMixin.js +33 -0
- package/dist/js/generated/ZeroPointEnergyPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/ZeroPointEnergyPropertySchemaMixin.js +18 -0
- package/dist/js/holders/MetaPropertyHolder.d.ts +10 -0
- package/dist/js/holders/MetaPropertyHolder.js +12 -0
- package/dist/js/holders/PropertyHolder.d.ts +10 -0
- package/dist/js/holders/PropertyHolder.js +12 -0
- package/dist/js/holders/ProtoPropertyHolder.d.ts +10 -0
- package/dist/js/holders/ProtoPropertyHolder.js +12 -0
- package/dist/js/holders/mixins/MetaPropertyHolderMixin.d.ts +12 -0
- package/dist/js/holders/mixins/MetaPropertyHolderMixin.js +18 -0
- package/dist/js/holders/mixins/PropertyHolderMixin.d.ts +16 -0
- package/dist/js/holders/mixins/PropertyHolderMixin.js +37 -0
- package/dist/js/holders/mixins/ProtoPropertyHolderMixin.d.ts +12 -0
- package/dist/js/holders/mixins/ProtoPropertyHolderMixin.js +18 -0
- package/dist/js/index.d.ts +20 -0
- package/dist/js/index.js +60 -0
- package/dist/js/meta_properties/PseudopotentialMetaProperty.d.ts +78 -0
- package/dist/js/meta_properties/PseudopotentialMetaProperty.js +157 -0
- package/dist/js/properties/include/mixins/2d_plot.d.ts +27 -0
- package/dist/js/properties/include/mixins/2d_plot.js +79 -0
- package/dist/js/properties/non-scalar/AveragePotentialProfileProperty.d.ts +38 -0
- package/dist/js/properties/non-scalar/AveragePotentialProfileProperty.js +54 -0
- package/dist/js/properties/non-scalar/BandGapsProperty.d.ts +59 -0
- package/dist/js/properties/non-scalar/BandGapsProperty.js +52 -0
- package/dist/js/properties/non-scalar/BandStructureProperty.d.ts +186 -0
- package/dist/js/properties/non-scalar/BandStructureProperty.js +218 -0
- package/dist/js/properties/non-scalar/ChargeDensityProfileProperty.d.ts +25 -0
- package/dist/js/properties/non-scalar/ChargeDensityProfileProperty.js +34 -0
- package/dist/js/properties/non-scalar/DensityOfStatesProperty.d.ts +145 -0
- package/dist/js/properties/non-scalar/DensityOfStatesProperty.js +126 -0
- package/dist/js/properties/non-scalar/DielectricTensorProperty.d.ts +49 -0
- package/dist/js/properties/non-scalar/DielectricTensorProperty.js +119 -0
- package/dist/js/properties/non-scalar/FileContentProperty.d.ts +15 -0
- package/dist/js/properties/non-scalar/FileContentProperty.js +18 -0
- package/dist/js/properties/non-scalar/FinalStructureProperty.d.ts +14 -0
- package/dist/js/properties/non-scalar/FinalStructureProperty.js +17 -0
- package/dist/js/properties/non-scalar/HubbardUProperty.d.ts +14 -0
- package/dist/js/properties/non-scalar/HubbardUProperty.js +17 -0
- package/dist/js/properties/non-scalar/HubbardVNNProperty.d.ts +14 -0
- package/dist/js/properties/non-scalar/HubbardVNNProperty.js +17 -0
- package/dist/js/properties/non-scalar/HubbardVProperty.d.ts +14 -0
- package/dist/js/properties/non-scalar/HubbardVProperty.js +17 -0
- package/dist/js/properties/non-scalar/IsRelaxedProperty.d.ts +15 -0
- package/dist/js/properties/non-scalar/IsRelaxedProperty.js +18 -0
- package/dist/js/properties/non-scalar/JupyterNotebookEndpointProperty.d.ts +14 -0
- package/dist/js/properties/non-scalar/JupyterNotebookEndpointProperty.js +17 -0
- package/dist/js/properties/non-scalar/PhononDOSProperty.d.ts +19 -0
- package/dist/js/properties/non-scalar/PhononDOSProperty.js +37 -0
- package/dist/js/properties/non-scalar/PhononDispersionsProperty.d.ts +21 -0
- package/dist/js/properties/non-scalar/PhononDispersionsProperty.js +28 -0
- package/dist/js/properties/non-scalar/PotentialProfileProperty.d.ts +38 -0
- package/dist/js/properties/non-scalar/PotentialProfileProperty.js +58 -0
- package/dist/js/properties/non-scalar/ReactionEnergyProfileProperty.d.ts +25 -0
- package/dist/js/properties/non-scalar/ReactionEnergyProfileProperty.js +34 -0
- package/dist/js/properties/non-scalar/WorkflowProperty.d.ts +14 -0
- package/dist/js/properties/non-scalar/WorkflowProperty.js +17 -0
- package/dist/js/properties/non-scalar/convergence/ConvergenceElectronicProperty.d.ts +17 -0
- package/dist/js/properties/non-scalar/convergence/ConvergenceElectronicProperty.js +63 -0
- package/dist/js/properties/non-scalar/convergence/ConvergenceIonicProperty.d.ts +17 -0
- package/dist/js/properties/non-scalar/convergence/ConvergenceIonicProperty.js +45 -0
- package/dist/js/properties/object/TotalEnergyContributionsProperty.d.ts +18 -0
- package/dist/js/properties/object/TotalEnergyContributionsProperty.js +20 -0
- package/dist/js/properties/scalar/FermiEnergyProperty.d.ts +14 -0
- package/dist/js/properties/scalar/FermiEnergyProperty.js +17 -0
- package/dist/js/properties/scalar/IonizationPotentialElementalProperty.d.ts +14 -0
- package/dist/js/properties/scalar/IonizationPotentialElementalProperty.js +17 -0
- package/dist/js/properties/scalar/PressureProperty.d.ts +15 -0
- package/dist/js/properties/scalar/PressureProperty.js +18 -0
- package/dist/js/properties/scalar/ReactionEnergyBarrierProperty.d.ts +15 -0
- package/dist/js/properties/scalar/ReactionEnergyBarrierProperty.js +18 -0
- package/dist/js/properties/scalar/SurfaceEnergyProperty.d.ts +15 -0
- package/dist/js/properties/scalar/SurfaceEnergyProperty.js +18 -0
- package/dist/js/properties/scalar/TotalEnergyProperty.d.ts +15 -0
- package/dist/js/properties/scalar/TotalEnergyProperty.js +18 -0
- package/dist/js/properties/scalar/TotalForceProperty.d.ts +14 -0
- package/dist/js/properties/scalar/TotalForceProperty.js +17 -0
- package/dist/js/properties/scalar/ValenceBandOffsetProperty.d.ts +15 -0
- package/dist/js/properties/scalar/ValenceBandOffsetProperty.js +18 -0
- package/dist/js/properties/scalar/ZeroPointEnergyProperty.d.ts +14 -0
- package/dist/js/properties/scalar/ZeroPointEnergyProperty.js +17 -0
- package/dist/js/properties/tensor/AtomicForcesProperty.d.ts +14 -0
- package/dist/js/properties/tensor/AtomicForcesProperty.js +17 -0
- package/dist/js/properties/tensor/MagneticMomentsProperty.d.ts +14 -0
- package/dist/js/properties/tensor/MagneticMomentsProperty.js +17 -0
- package/dist/js/properties/tensor/StressTensorProperty.d.ts +14 -0
- package/dist/js/properties/tensor/StressTensorProperty.js +17 -0
- package/dist/js/proto_properties/AtomicConstraintsProperty.d.ts +13 -0
- package/dist/js/proto_properties/AtomicConstraintsProperty.js +16 -0
- package/dist/js/proto_properties/BoundaryConditionsProperty.d.ts +13 -0
- package/dist/js/proto_properties/BoundaryConditionsProperty.js +16 -0
- package/dist/js/settings.d.ts +48 -0
- package/dist/js/settings.js +56 -0
- package/dist/js/types.d.ts +14 -0
- package/dist/js/types.js +2 -0
- package/package.json +101 -0
- package/src/js/MetaProperty.ts +3 -0
- package/src/js/Property.ts +49 -0
- package/src/js/PropertyFactory.ts +208 -0
- package/src/js/ProtoProperty.ts +6 -0
- package/src/js/charts/highcharts.ts +172 -0
- package/src/js/generated/AtomicConstraintsPropertySchemaMixin.ts +24 -0
- package/src/js/generated/AtomicForcesPropertySchemaMixin.ts +26 -0
- package/src/js/generated/AveragePotentialProfilePropertySchemaMixin.ts +37 -0
- package/src/js/generated/BandGapsPropertySchemaMixin.ts +26 -0
- package/src/js/generated/BandStructurePropertySchemaMixin.ts +35 -0
- package/src/js/generated/BoundaryConditionsPropertySchemaMixin.ts +27 -0
- package/src/js/generated/ChargeDensityProfilePropertySchemaMixin.ts +37 -0
- package/src/js/generated/ConvergenceElectronicPropertySchemaMixin.ts +27 -0
- package/src/js/generated/ConvergenceIonicPropertySchemaMixin.ts +30 -0
- package/src/js/generated/DensityOfStatesPropertySchemaMixin.ts +36 -0
- package/src/js/generated/DielectricTensorPropertySchemaMixin.ts +24 -0
- package/src/js/generated/FermiEnergyPropertySchemaMixin.ts +26 -0
- package/src/js/generated/FileContentPropertySchemaMixin.ts +32 -0
- package/src/js/generated/FinalStructurePropertySchemaMixin.ts +27 -0
- package/src/js/generated/HubbardUPropertySchemaMixin.ts +26 -0
- package/src/js/generated/HubbardVNNPropertySchemaMixin.ts +26 -0
- package/src/js/generated/HubbardVPropertySchemaMixin.ts +26 -0
- package/src/js/generated/IonizationPotentialElementalPropertySchemaMixin.ts +27 -0
- package/src/js/generated/IsRelaxedPropertySchemaMixin.ts +26 -0
- package/src/js/generated/JupyterNotebookEndpointPropertySchemaMixin.ts +30 -0
- package/src/js/generated/MagneticMomentsPropertySchemaMixin.ts +27 -0
- package/src/js/generated/MetaPropertyHolderSchemaMixin.ts +23 -0
- package/src/js/generated/PhononDOSPropertySchemaMixin.ts +36 -0
- package/src/js/generated/PhononDispersionsPropertySchemaMixin.ts +35 -0
- package/src/js/generated/PotentialProfilePropertySchemaMixin.ts +33 -0
- package/src/js/generated/PressurePropertySchemaMixin.ts +26 -0
- package/src/js/generated/PropertyHolderSchemaMixin.ts +38 -0
- package/src/js/generated/ProtoPropertyHolderSchemaMixin.ts +23 -0
- package/src/js/generated/PseudopotentialMetaPropertySchemaMixin.ts +54 -0
- package/src/js/generated/README.md +27 -0
- package/src/js/generated/ReactionEnergyBarrierPropertySchemaMixin.ts +27 -0
- package/src/js/generated/ReactionEnergyProfilePropertySchemaMixin.ts +37 -0
- package/src/js/generated/StressTensorPropertySchemaMixin.ts +26 -0
- package/src/js/generated/SurfaceEnergyPropertySchemaMixin.ts +26 -0
- package/src/js/generated/TotalEnergyContributionsPropertySchemaMixin.ts +80 -0
- package/src/js/generated/TotalEnergyPropertySchemaMixin.ts +26 -0
- package/src/js/generated/TotalForcePropertySchemaMixin.ts +26 -0
- package/src/js/generated/ValenceBandOffsetPropertySchemaMixin.ts +27 -0
- package/src/js/generated/WorkflowPropertySchemaMixin.ts +41 -0
- package/src/js/generated/ZeroPointEnergyPropertySchemaMixin.ts +27 -0
- package/src/js/holders/MetaPropertyHolder.ts +19 -0
- package/src/js/holders/PropertyHolder.ts +17 -0
- package/src/js/holders/ProtoPropertyHolder.ts +17 -0
- package/src/js/holders/mixins/MetaPropertyHolderMixin.ts +31 -0
- package/src/js/holders/mixins/PropertyHolderMixin.ts +55 -0
- package/src/js/holders/mixins/ProtoPropertyHolderMixin.ts +31 -0
- package/src/js/index.ts +21 -0
- package/src/js/meta_properties/PseudopotentialMetaProperty.ts +206 -0
- package/src/js/properties/include/mixins/2d_plot.ts +105 -0
- package/src/js/properties/non-scalar/AveragePotentialProfileProperty.ts +69 -0
- package/src/js/properties/non-scalar/BandGapsProperty.ts +65 -0
- package/src/js/properties/non-scalar/BandStructureProperty.ts +284 -0
- package/src/js/properties/non-scalar/ChargeDensityProfileProperty.ts +48 -0
- package/src/js/properties/non-scalar/DensityOfStatesProperty.ts +174 -0
- package/src/js/properties/non-scalar/DielectricTensorProperty.ts +153 -0
- package/src/js/properties/non-scalar/FileContentProperty.ts +27 -0
- package/src/js/properties/non-scalar/FinalStructureProperty.ts +25 -0
- package/src/js/properties/non-scalar/HubbardUProperty.ts +25 -0
- package/src/js/properties/non-scalar/HubbardVNNProperty.ts +25 -0
- package/src/js/properties/non-scalar/HubbardVProperty.ts +25 -0
- package/src/js/properties/non-scalar/IsRelaxedProperty.ts +27 -0
- package/src/js/properties/non-scalar/JupyterNotebookEndpointProperty.ts +26 -0
- package/src/js/properties/non-scalar/PhononDOSProperty.ts +57 -0
- package/src/js/properties/non-scalar/PhononDispersionsProperty.ts +46 -0
- package/src/js/properties/non-scalar/PotentialProfileProperty.ts +76 -0
- package/src/js/properties/non-scalar/ReactionEnergyProfileProperty.ts +48 -0
- package/src/js/properties/non-scalar/WorkflowProperty.ts +25 -0
- package/src/js/properties/non-scalar/convergence/ConvergenceElectronicProperty.ts +82 -0
- package/src/js/properties/non-scalar/convergence/ConvergenceIonicProperty.ts +62 -0
- package/src/js/properties/object/TotalEnergyContributionsProperty.ts +29 -0
- package/src/js/properties/scalar/FermiEnergyProperty.ts +25 -0
- package/src/js/properties/scalar/IonizationPotentialElementalProperty.ts +27 -0
- package/src/js/properties/scalar/PressureProperty.ts +27 -0
- package/src/js/properties/scalar/ReactionEnergyBarrierProperty.ts +29 -0
- package/src/js/properties/scalar/SurfaceEnergyProperty.ts +27 -0
- package/src/js/properties/scalar/TotalEnergyProperty.ts +27 -0
- package/src/js/properties/scalar/TotalForceProperty.ts +25 -0
- package/src/js/properties/scalar/ValenceBandOffsetProperty.ts +27 -0
- package/src/js/properties/scalar/ZeroPointEnergyProperty.ts +25 -0
- package/src/js/properties/tensor/AtomicForcesProperty.ts +27 -0
- package/src/js/properties/tensor/MagneticMomentsProperty.ts +27 -0
- package/src/js/properties/tensor/StressTensorProperty.ts +25 -0
- package/src/js/proto_properties/AtomicConstraintsProperty.ts +25 -0
- package/src/js/proto_properties/BoundaryConditionsProperty.ts +25 -0
- package/src/js/settings.ts +52 -0
- package/src/js/types.ts +24 -0
- package/tsconfig.json +3 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { ReactionEnergyBarrierPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type ReactionEnergyBarrierPropertySchemaMixin = Omit<
|
|
5
|
+
ReactionEnergyBarrierPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type ReactionEnergyBarrierPropertyInMemoryEntity = InMemoryEntity &
|
|
10
|
+
ReactionEnergyBarrierPropertySchemaMixin;
|
|
11
|
+
|
|
12
|
+
export function reactionEnergyBarrierPropertySchemaMixin(item: InMemoryEntity) {
|
|
13
|
+
// @ts-expect-error
|
|
14
|
+
const properties: InMemoryEntity & ReactionEnergyBarrierPropertySchemaMixin = {
|
|
15
|
+
get name() {
|
|
16
|
+
return this.requiredProp<ReactionEnergyBarrierPropertySchema["name"]>("name");
|
|
17
|
+
},
|
|
18
|
+
get units() {
|
|
19
|
+
return this.requiredProp<ReactionEnergyBarrierPropertySchema["units"]>("units");
|
|
20
|
+
},
|
|
21
|
+
get value() {
|
|
22
|
+
return this.requiredProp<ReactionEnergyBarrierPropertySchema["value"]>("value");
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
27
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { ReactionEnergyProfilePropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type ReactionEnergyProfilePropertySchemaMixin = Omit<
|
|
5
|
+
ReactionEnergyProfilePropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type ReactionEnergyProfilePropertyInMemoryEntity = InMemoryEntity &
|
|
10
|
+
ReactionEnergyProfilePropertySchemaMixin;
|
|
11
|
+
|
|
12
|
+
export function reactionEnergyProfilePropertySchemaMixin(item: InMemoryEntity) {
|
|
13
|
+
// @ts-expect-error
|
|
14
|
+
const properties: InMemoryEntity & ReactionEnergyProfilePropertySchemaMixin = {
|
|
15
|
+
get xAxis() {
|
|
16
|
+
return this.requiredProp<ReactionEnergyProfilePropertySchema["xAxis"]>("xAxis");
|
|
17
|
+
},
|
|
18
|
+
get yAxis() {
|
|
19
|
+
return this.requiredProp<ReactionEnergyProfilePropertySchema["yAxis"]>("yAxis");
|
|
20
|
+
},
|
|
21
|
+
get name() {
|
|
22
|
+
return this.requiredProp<ReactionEnergyProfilePropertySchema["name"]>("name");
|
|
23
|
+
},
|
|
24
|
+
get xDataArray() {
|
|
25
|
+
return this.requiredProp<ReactionEnergyProfilePropertySchema["xDataArray"]>(
|
|
26
|
+
"xDataArray",
|
|
27
|
+
);
|
|
28
|
+
},
|
|
29
|
+
get yDataSeries() {
|
|
30
|
+
return this.requiredProp<ReactionEnergyProfilePropertySchema["yDataSeries"]>(
|
|
31
|
+
"yDataSeries",
|
|
32
|
+
);
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
37
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { StressTensorPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type StressTensorPropertySchemaMixin = Omit<
|
|
5
|
+
StressTensorPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type StressTensorPropertyInMemoryEntity = InMemoryEntity & StressTensorPropertySchemaMixin;
|
|
10
|
+
|
|
11
|
+
export function stressTensorPropertySchemaMixin(item: InMemoryEntity) {
|
|
12
|
+
// @ts-expect-error
|
|
13
|
+
const properties: InMemoryEntity & StressTensorPropertySchemaMixin = {
|
|
14
|
+
get value() {
|
|
15
|
+
return this.requiredProp<StressTensorPropertySchema["value"]>("value");
|
|
16
|
+
},
|
|
17
|
+
get name() {
|
|
18
|
+
return this.requiredProp<StressTensorPropertySchema["name"]>("name");
|
|
19
|
+
},
|
|
20
|
+
get units() {
|
|
21
|
+
return this.requiredProp<StressTensorPropertySchema["units"]>("units");
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { SurfaceEnergyPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type SurfaceEnergyPropertySchemaMixin = Omit<
|
|
5
|
+
SurfaceEnergyPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type SurfaceEnergyPropertyInMemoryEntity = InMemoryEntity & SurfaceEnergyPropertySchemaMixin;
|
|
10
|
+
|
|
11
|
+
export function surfaceEnergyPropertySchemaMixin(item: InMemoryEntity) {
|
|
12
|
+
// @ts-expect-error
|
|
13
|
+
const properties: InMemoryEntity & SurfaceEnergyPropertySchemaMixin = {
|
|
14
|
+
get name() {
|
|
15
|
+
return this.requiredProp<SurfaceEnergyPropertySchema["name"]>("name");
|
|
16
|
+
},
|
|
17
|
+
get units() {
|
|
18
|
+
return this.requiredProp<SurfaceEnergyPropertySchema["units"]>("units");
|
|
19
|
+
},
|
|
20
|
+
get value() {
|
|
21
|
+
return this.requiredProp<SurfaceEnergyPropertySchema["value"]>("value");
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
26
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { TotalEnergyContributionsPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type TotalEnergyContributionsPropertySchemaMixin = Omit<
|
|
5
|
+
TotalEnergyContributionsPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type TotalEnergyContributionsPropertyInMemoryEntity = InMemoryEntity &
|
|
10
|
+
TotalEnergyContributionsPropertySchemaMixin;
|
|
11
|
+
|
|
12
|
+
export function totalEnergyContributionsPropertySchemaMixin(item: InMemoryEntity) {
|
|
13
|
+
// @ts-expect-error
|
|
14
|
+
const properties: InMemoryEntity & TotalEnergyContributionsPropertySchemaMixin = {
|
|
15
|
+
get temperatureEntropy() {
|
|
16
|
+
return this.prop<TotalEnergyContributionsPropertySchema["temperatureEntropy"]>(
|
|
17
|
+
"temperatureEntropy",
|
|
18
|
+
);
|
|
19
|
+
},
|
|
20
|
+
get harris_foulkes() {
|
|
21
|
+
return this.prop<TotalEnergyContributionsPropertySchema["harris_foulkes"]>(
|
|
22
|
+
"harris_foulkes",
|
|
23
|
+
);
|
|
24
|
+
},
|
|
25
|
+
get smearing() {
|
|
26
|
+
return this.prop<TotalEnergyContributionsPropertySchema["smearing"]>("smearing");
|
|
27
|
+
},
|
|
28
|
+
get one_electron() {
|
|
29
|
+
return this.prop<TotalEnergyContributionsPropertySchema["one_electron"]>(
|
|
30
|
+
"one_electron",
|
|
31
|
+
);
|
|
32
|
+
},
|
|
33
|
+
get hartree() {
|
|
34
|
+
return this.prop<TotalEnergyContributionsPropertySchema["hartree"]>("hartree");
|
|
35
|
+
},
|
|
36
|
+
get exchange() {
|
|
37
|
+
return this.prop<TotalEnergyContributionsPropertySchema["exchange"]>("exchange");
|
|
38
|
+
},
|
|
39
|
+
get exchange_correlation() {
|
|
40
|
+
return this.prop<TotalEnergyContributionsPropertySchema["exchange_correlation"]>(
|
|
41
|
+
"exchange_correlation",
|
|
42
|
+
);
|
|
43
|
+
},
|
|
44
|
+
get ewald() {
|
|
45
|
+
return this.prop<TotalEnergyContributionsPropertySchema["ewald"]>("ewald");
|
|
46
|
+
},
|
|
47
|
+
get alphaZ() {
|
|
48
|
+
return this.prop<TotalEnergyContributionsPropertySchema["alphaZ"]>("alphaZ");
|
|
49
|
+
},
|
|
50
|
+
get atomicEnergy() {
|
|
51
|
+
return this.prop<TotalEnergyContributionsPropertySchema["atomicEnergy"]>(
|
|
52
|
+
"atomicEnergy",
|
|
53
|
+
);
|
|
54
|
+
},
|
|
55
|
+
get eigenvalues() {
|
|
56
|
+
return this.prop<TotalEnergyContributionsPropertySchema["eigenvalues"]>("eigenvalues");
|
|
57
|
+
},
|
|
58
|
+
get PAWDoubleCounting2() {
|
|
59
|
+
return this.prop<TotalEnergyContributionsPropertySchema["PAWDoubleCounting2"]>(
|
|
60
|
+
"PAWDoubleCounting2",
|
|
61
|
+
);
|
|
62
|
+
},
|
|
63
|
+
get PAWDoubleCounting3() {
|
|
64
|
+
return this.prop<TotalEnergyContributionsPropertySchema["PAWDoubleCounting3"]>(
|
|
65
|
+
"PAWDoubleCounting3",
|
|
66
|
+
);
|
|
67
|
+
},
|
|
68
|
+
get hartreeFock() {
|
|
69
|
+
return this.prop<TotalEnergyContributionsPropertySchema["hartreeFock"]>("hartreeFock");
|
|
70
|
+
},
|
|
71
|
+
get name() {
|
|
72
|
+
return this.requiredProp<TotalEnergyContributionsPropertySchema["name"]>("name");
|
|
73
|
+
},
|
|
74
|
+
get units() {
|
|
75
|
+
return this.prop<TotalEnergyContributionsPropertySchema["units"]>("units");
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
80
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { TotalEnergyPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type TotalEnergyPropertySchemaMixin = Omit<
|
|
5
|
+
TotalEnergyPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type TotalEnergyPropertyInMemoryEntity = InMemoryEntity & TotalEnergyPropertySchemaMixin;
|
|
10
|
+
|
|
11
|
+
export function totalEnergyPropertySchemaMixin(item: InMemoryEntity) {
|
|
12
|
+
// @ts-expect-error
|
|
13
|
+
const properties: InMemoryEntity & TotalEnergyPropertySchemaMixin = {
|
|
14
|
+
get name() {
|
|
15
|
+
return this.requiredProp<TotalEnergyPropertySchema["name"]>("name");
|
|
16
|
+
},
|
|
17
|
+
get units() {
|
|
18
|
+
return this.requiredProp<TotalEnergyPropertySchema["units"]>("units");
|
|
19
|
+
},
|
|
20
|
+
get value() {
|
|
21
|
+
return this.requiredProp<TotalEnergyPropertySchema["value"]>("value");
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { TotalForcesPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type TotalForcePropertySchemaMixin = Omit<
|
|
5
|
+
TotalForcesPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type TotalForcePropertyInMemoryEntity = InMemoryEntity & TotalForcePropertySchemaMixin;
|
|
10
|
+
|
|
11
|
+
export function totalForcePropertySchemaMixin(item: InMemoryEntity) {
|
|
12
|
+
// @ts-expect-error
|
|
13
|
+
const properties: InMemoryEntity & TotalForcePropertySchemaMixin = {
|
|
14
|
+
get name() {
|
|
15
|
+
return this.requiredProp<TotalForcesPropertySchema["name"]>("name");
|
|
16
|
+
},
|
|
17
|
+
get units() {
|
|
18
|
+
return this.requiredProp<TotalForcesPropertySchema["units"]>("units");
|
|
19
|
+
},
|
|
20
|
+
get value() {
|
|
21
|
+
return this.requiredProp<TotalForcesPropertySchema["value"]>("value");
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
26
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { ValenceBandOffsetPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type ValenceBandOffsetPropertySchemaMixin = Omit<
|
|
5
|
+
ValenceBandOffsetPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type ValenceBandOffsetPropertyInMemoryEntity = InMemoryEntity &
|
|
10
|
+
ValenceBandOffsetPropertySchemaMixin;
|
|
11
|
+
|
|
12
|
+
export function valenceBandOffsetPropertySchemaMixin(item: InMemoryEntity) {
|
|
13
|
+
// @ts-expect-error
|
|
14
|
+
const properties: InMemoryEntity & ValenceBandOffsetPropertySchemaMixin = {
|
|
15
|
+
get name() {
|
|
16
|
+
return this.requiredProp<ValenceBandOffsetPropertySchema["name"]>("name");
|
|
17
|
+
},
|
|
18
|
+
get units() {
|
|
19
|
+
return this.requiredProp<ValenceBandOffsetPropertySchema["units"]>("units");
|
|
20
|
+
},
|
|
21
|
+
get value() {
|
|
22
|
+
return this.requiredProp<ValenceBandOffsetPropertySchema["value"]>("value");
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
27
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { WorkflowPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type WorkflowPropertySchemaMixin = Omit<
|
|
5
|
+
WorkflowPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type WorkflowPropertyInMemoryEntity = InMemoryEntity & WorkflowPropertySchemaMixin;
|
|
10
|
+
|
|
11
|
+
export function workflowPropertySchemaMixin(item: InMemoryEntity) {
|
|
12
|
+
// @ts-expect-error
|
|
13
|
+
const properties: InMemoryEntity & WorkflowPropertySchemaMixin = {
|
|
14
|
+
get name() {
|
|
15
|
+
return this.requiredProp<WorkflowPropertySchema["name"]>("name");
|
|
16
|
+
},
|
|
17
|
+
get subworkflows() {
|
|
18
|
+
return this.requiredProp<WorkflowPropertySchema["subworkflows"]>("subworkflows");
|
|
19
|
+
},
|
|
20
|
+
get units() {
|
|
21
|
+
return this.requiredProp<WorkflowPropertySchema["units"]>("units");
|
|
22
|
+
},
|
|
23
|
+
get properties() {
|
|
24
|
+
return this.prop<WorkflowPropertySchema["properties"]>("properties");
|
|
25
|
+
},
|
|
26
|
+
get isUsingDataset() {
|
|
27
|
+
return this.prop<WorkflowPropertySchema["isUsingDataset"]>("isUsingDataset");
|
|
28
|
+
},
|
|
29
|
+
get workflows() {
|
|
30
|
+
return this.prop<WorkflowPropertySchema["workflows"]>("workflows");
|
|
31
|
+
},
|
|
32
|
+
get isDefault() {
|
|
33
|
+
return this.prop<WorkflowPropertySchema["isDefault"]>("isDefault");
|
|
34
|
+
},
|
|
35
|
+
get metadata() {
|
|
36
|
+
return this.prop<WorkflowPropertySchema["metadata"]>("metadata");
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
41
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { ZeroPointEnergyPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
export type ZeroPointEnergyPropertySchemaMixin = Omit<
|
|
5
|
+
ZeroPointEnergyPropertySchema,
|
|
6
|
+
"_id" | "slug" | "systemName" | "schemaVersion"
|
|
7
|
+
>;
|
|
8
|
+
|
|
9
|
+
export type ZeroPointEnergyPropertyInMemoryEntity = InMemoryEntity &
|
|
10
|
+
ZeroPointEnergyPropertySchemaMixin;
|
|
11
|
+
|
|
12
|
+
export function zeroPointEnergyPropertySchemaMixin(item: InMemoryEntity) {
|
|
13
|
+
// @ts-expect-error
|
|
14
|
+
const properties: InMemoryEntity & ZeroPointEnergyPropertySchemaMixin = {
|
|
15
|
+
get name() {
|
|
16
|
+
return this.requiredProp<ZeroPointEnergyPropertySchema["name"]>("name");
|
|
17
|
+
},
|
|
18
|
+
get units() {
|
|
19
|
+
return this.requiredProp<ZeroPointEnergyPropertySchema["units"]>("units");
|
|
20
|
+
},
|
|
21
|
+
get value() {
|
|
22
|
+
return this.requiredProp<ZeroPointEnergyPropertySchema["value"]>("value");
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
27
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
|
|
3
|
+
import type { MetaPropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
type MetaPropertyHolderMixin,
|
|
7
|
+
metaPropertyHolderMixin,
|
|
8
|
+
} from "./mixins/MetaPropertyHolderMixin";
|
|
9
|
+
|
|
10
|
+
type MetaPropertyBase = typeof InMemoryEntity & Constructor<MetaPropertyHolderMixin>;
|
|
11
|
+
|
|
12
|
+
export default class MetaPropertyHolder extends (InMemoryEntity as MetaPropertyBase) {
|
|
13
|
+
// eslint-disable-next-line no-useless-constructor
|
|
14
|
+
constructor(data: MetaPropertyHolderSchema) {
|
|
15
|
+
super(data);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
metaPropertyHolderMixin(MetaPropertyHolder.prototype);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
|
|
3
|
+
import type { PropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
4
|
+
|
|
5
|
+
import type { PropertyHolderMixin } from "./mixins/PropertyHolderMixin";
|
|
6
|
+
import { propertyHolderMixin } from "./mixins/PropertyHolderMixin";
|
|
7
|
+
|
|
8
|
+
type PropertyHolderBase = typeof InMemoryEntity & Constructor<PropertyHolderMixin>;
|
|
9
|
+
|
|
10
|
+
export default class PropertyHolder extends (InMemoryEntity as PropertyHolderBase) {
|
|
11
|
+
// eslint-disable-next-line no-useless-constructor
|
|
12
|
+
constructor(data: PropertyHolderSchema) {
|
|
13
|
+
super(data);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
propertyHolderMixin(PropertyHolder.prototype);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
|
|
3
|
+
import type { ProtoPropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
4
|
+
|
|
5
|
+
import type { ProtoPropertyHolderMixin } from "./mixins/ProtoPropertyHolderMixin";
|
|
6
|
+
import { protoPropertyHolderMixin } from "./mixins/ProtoPropertyHolderMixin";
|
|
7
|
+
|
|
8
|
+
type ProtoPropertyBase = typeof InMemoryEntity & Constructor<ProtoPropertyHolderMixin>;
|
|
9
|
+
|
|
10
|
+
export default class ProtoPropertyHolder extends (InMemoryEntity as ProtoPropertyBase) {
|
|
11
|
+
// eslint-disable-next-line no-useless-constructor
|
|
12
|
+
constructor(data: ProtoPropertyHolderSchema) {
|
|
13
|
+
super(data);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
protoPropertyHolderMixin(ProtoPropertyHolder.prototype);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { AnyObject } from "@mat3ra/esse/dist/js/esse/types";
|
|
3
|
+
import type { MetaPropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
type MetaPropertyHolderSchemaMixin,
|
|
7
|
+
metaPropertyHolderSchemaMixin,
|
|
8
|
+
} from "../../generated/MetaPropertyHolderSchemaMixin";
|
|
9
|
+
import type MetaProperty from "../../MetaProperty";
|
|
10
|
+
import PropertyFactory from "../../PropertyFactory";
|
|
11
|
+
|
|
12
|
+
export interface MetaPropertySchemaJSON extends MetaPropertyHolderSchema, AnyObject {}
|
|
13
|
+
|
|
14
|
+
export type MetaPropertyHolderMixin = {
|
|
15
|
+
property: MetaProperty;
|
|
16
|
+
} & MetaPropertyHolderSchemaMixin;
|
|
17
|
+
|
|
18
|
+
export type MetaPropertyInMemoryEntity = InMemoryEntity & MetaPropertyHolderMixin;
|
|
19
|
+
|
|
20
|
+
export function metaPropertyHolderMixin(item: InMemoryEntity) {
|
|
21
|
+
// @ts-expect-error - this is a workaround to allow the metaPropertyMixin to be used with any type of entity
|
|
22
|
+
const properties: InMemoryEntity & MetaPropertyHolderMixin = {
|
|
23
|
+
get property() {
|
|
24
|
+
return PropertyFactory.createMetaProperty(this.data);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
29
|
+
|
|
30
|
+
metaPropertyHolderSchemaMixin(item);
|
|
31
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import { flattenObject } from "@mat3ra/code/dist/js/utils";
|
|
3
|
+
import type { NameValueObjectExtended } from "@mat3ra/code/dist/js/utils/object";
|
|
4
|
+
import type { PropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
type PropertyHolderSchemaMixin,
|
|
8
|
+
propertyHolderSchemaMixin,
|
|
9
|
+
} from "../../generated/PropertyHolderSchemaMixin";
|
|
10
|
+
import type { PropertyRowValue } from "../../Property";
|
|
11
|
+
import PropertyFactory from "../../PropertyFactory";
|
|
12
|
+
|
|
13
|
+
export type PropertyHolderSourceSchema = PropertyHolderSchema["source"];
|
|
14
|
+
|
|
15
|
+
export type PropertyHolderMixin = PropertyHolderSchemaMixin & {
|
|
16
|
+
sourceInfo: PropertyHolderSourceSchema["info"];
|
|
17
|
+
property: ReturnType<typeof PropertyFactory.createProperty>;
|
|
18
|
+
flattenProperties(): { [x: string]: unknown }[];
|
|
19
|
+
toRowValues(): PropertyRowValue[];
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type PropertyInMemoryEntity = InMemoryEntity & PropertyHolderMixin;
|
|
23
|
+
|
|
24
|
+
export function propertyHolderMixin(item: InMemoryEntity) {
|
|
25
|
+
// @ts-expect-error - this is a workaround to allow the propertyMixin to be used with any type of entity
|
|
26
|
+
const properties: InMemoryEntity & PropertyHolderMixin = {
|
|
27
|
+
get sourceInfo() {
|
|
28
|
+
return this.requiredProp<PropertyHolderSourceSchema["info"]>("source.info");
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
get property() {
|
|
32
|
+
return PropertyFactory.createProperty(this.data);
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
flattenProperties() {
|
|
36
|
+
try {
|
|
37
|
+
return [flattenObject(this.data as NameValueObjectExtended)];
|
|
38
|
+
} catch (error) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @summary Adds slug & group property to characteristic. They used for forming column name.
|
|
45
|
+
* 'group' property will contain model type/subtype. Band gap characteristic is split before.
|
|
46
|
+
*/
|
|
47
|
+
toRowValues() {
|
|
48
|
+
return this.property.toRowValues(this.group, this.slug);
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
53
|
+
|
|
54
|
+
propertyHolderSchemaMixin(item);
|
|
55
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
+
import type { AnyObject } from "@mat3ra/esse/dist/js/esse/types";
|
|
3
|
+
import type { ProtoPropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
type ProtoPropertyHolderSchemaMixin,
|
|
7
|
+
protoPropertyHolderSchemaMixin,
|
|
8
|
+
} from "../../generated/ProtoPropertyHolderSchemaMixin";
|
|
9
|
+
import type Property from "../../Property";
|
|
10
|
+
import PropertyFactory from "../../PropertyFactory";
|
|
11
|
+
|
|
12
|
+
export interface ProtoPropertySchemaJSON extends ProtoPropertyHolderSchema, AnyObject {}
|
|
13
|
+
|
|
14
|
+
export type ProtoPropertyHolderMixin = ProtoPropertyHolderSchemaMixin & {
|
|
15
|
+
property: Property;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type ProtoPropertyInMemoryEntity = InMemoryEntity & ProtoPropertyHolderMixin;
|
|
19
|
+
|
|
20
|
+
export function protoPropertyHolderMixin(item: InMemoryEntity) {
|
|
21
|
+
// @ts-expect-error - this is a workaround to allow the protoPropertyMixin to be used with any type of entity
|
|
22
|
+
const properties: InMemoryEntity & ProtoPropertyHolderMixin = {
|
|
23
|
+
get property() {
|
|
24
|
+
return PropertyFactory.createProtoProperty(this.data);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
29
|
+
|
|
30
|
+
protoPropertyHolderSchemaMixin(item);
|
|
31
|
+
}
|
package/src/js/index.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { default as PropertyFactory } from "./PropertyFactory";
|
|
2
|
+
export { PropertyName, PropertyType } from "./settings";
|
|
3
|
+
export { default as Property } from "./Property";
|
|
4
|
+
export { default as MetaProperty } from "./MetaProperty";
|
|
5
|
+
export { default as PseudopotentialMetaProperty } from "./meta_properties/PseudopotentialMetaProperty";
|
|
6
|
+
export { default as FinalStructureProperty } from "./properties/non-scalar/FinalStructureProperty";
|
|
7
|
+
export { default as BandGapsProperty } from "./properties/non-scalar/BandGapsProperty";
|
|
8
|
+
export { default as IsRelaxedProperty } from "./properties/non-scalar/IsRelaxedProperty";
|
|
9
|
+
export { default as PressureProperty } from "./properties/scalar/PressureProperty";
|
|
10
|
+
export { default as ReactionEnergyBarrierProperty } from "./properties/scalar/ReactionEnergyBarrierProperty";
|
|
11
|
+
export { default as SurfaceEnergyProperty } from "./properties/scalar/SurfaceEnergyProperty";
|
|
12
|
+
export { default as TotalEnergyProperty } from "./properties/scalar/TotalEnergyProperty";
|
|
13
|
+
export { default as BandStructureProperty } from "./properties/non-scalar/BandStructureProperty";
|
|
14
|
+
export { default as ChargeDensityProfileProperty } from "./properties/non-scalar/ChargeDensityProfileProperty";
|
|
15
|
+
export { default as PotentialProfileProperty } from "./properties/non-scalar/PotentialProfileProperty";
|
|
16
|
+
export { default as ReactionEnergyProfileProperty } from "./properties/non-scalar/ReactionEnergyProfileProperty";
|
|
17
|
+
export { protoPropertyHolderMixin } from "./holders/mixins/ProtoPropertyHolderMixin";
|
|
18
|
+
export { propertyHolderMixin } from "./holders/mixins/PropertyHolderMixin";
|
|
19
|
+
export { metaPropertyHolderMixin } from "./holders/mixins/MetaPropertyHolderMixin";
|
|
20
|
+
|
|
21
|
+
export * from "./types";
|