Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions dist/js/generated/MethodSchemaMixin.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
import type { BaseMethod } from "@mat3ra/esse/dist/js/types";
import type { BaseInMemoryEntitySchema, BaseMethod } from "@mat3ra/esse/dist/js/types";
export type MethodSchemaMixin = BaseMethod;
export type MethodInMemoryEntity = InMemoryEntity & MethodSchemaMixin;
export type MethodInMemoryEntity = InMemoryEntity<BaseInMemoryEntitySchema & MethodSchemaMixin>;
export declare function methodSchemaMixin<T extends InMemoryEntity>(item: InMemoryEntity): asserts item is T & MethodSchemaMixin;
4 changes: 2 additions & 2 deletions dist/js/generated/ModelSchemaMixin.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
import type { BaseModel } from "@mat3ra/esse/dist/js/types";
import type { BaseInMemoryEntitySchema, BaseModel } from "@mat3ra/esse/dist/js/types";
export type ModelSchemaMixin = BaseModel;
export type ModelInMemoryEntity = InMemoryEntity & ModelSchemaMixin;
export type ModelInMemoryEntity = InMemoryEntity<BaseInMemoryEntitySchema & ModelSchemaMixin>;
export declare function modelSchemaMixin<T extends InMemoryEntity>(item: InMemoryEntity): asserts item is T & ModelSchemaMixin;
15 changes: 8 additions & 7 deletions dist/js/method.d.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
import { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
import { type HashedEntity } from "@mat3ra/code/dist/js/entity/mixins/HashedEntityMixin";
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
import type { AnyObject } from "@mat3ra/esse/dist/js/esse/types";
import type { BaseMethod, SlugifiedEntry } from "@mat3ra/esse/dist/js/types";
import type { BaseInMemoryEntitySchema, BaseMethod, FileDataItem, SlugifiedEntry } from "@mat3ra/esse/dist/js/types";
import { type MethodSchemaMixin } from "./generated/MethodSchemaMixin";
type Base = typeof InMemoryEntity & Constructor<MethodSchemaMixin> & Constructor<HashedEntity>;
type MethodEntity = BaseMethod & BaseInMemoryEntitySchema;
export interface Method extends MethodSchemaMixin, HashedEntity {
}
interface MethodData extends Record<string, unknown> {
searchText?: string;
pseudo?: FileDataItem[];
allPseudo?: FileDataItem[];
}
declare const Method_base: Base;
export declare class Method extends Method_base implements BaseMethod {
export declare class Method extends InMemoryEntity<MethodEntity> implements BaseMethod, HashedEntity {
constructor(config: BaseMethod);
toJSON: () => BaseMethod & AnyObject;
cloneWithoutData(): Method;
setSubtype(subtype: SlugifiedEntry): void;
static get defaultConfig(): {
readonly type: "pseudopotential";
readonly subtype: "us";
};
get methodData(): MethodData;
get searchText(): string;
setSearchText(searchText: string): void;
setData(data?: MethodData): void;
Expand Down
13 changes: 9 additions & 4 deletions dist/js/method.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,22 @@ class Method extends entity_1.InMemoryEntity {
static get defaultConfig() {
return default_methods_1.PseudopotentialMethodConfig;
}
get methodData() {
var _a;
return (_a = this.data) !== null && _a !== void 0 ? _a : {};
}
get searchText() {
return this.prop("data.searchText", "");
var _a;
return (_a = this.methodData.searchText) !== null && _a !== void 0 ? _a : "";
}
setSearchText(searchText) {
this.setData({ ...this.data, searchText });
this.setData({ ...this.methodData, searchText });
}
setData(data = {}) {
this.setProp("data", data);
this.data = data;
}
cleanData(fieldsToExclude = []) {
const filteredData = { ...this.data };
const filteredData = { ...this.methodData };
fieldsToExclude.forEach((field) => {
delete filteredData[field];
});
Expand Down
2 changes: 0 additions & 2 deletions dist/js/methods/pseudopotential.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import type { AnyObject } from "@mat3ra/esse/dist/js/esse/types";
import { type BaseMethod, type FileDataItem } from "@mat3ra/esse/dist/js/types";
import { PseudopotentialFilter, PseudopotentialMetaProperty } from "@mat3ra/prode";
import { Method } from "../method";
Expand All @@ -7,7 +6,6 @@ export type ExchangeCorrelation = {
functional: string;
};
export declare class PseudopotentialMethod extends Method {
toJSON: () => BaseMethod & AnyObject;
get pseudo(): FileDataItem[];
get allPseudo(): FileDataItem[];
get pseudopotentials(): PseudopotentialMetaProperty[];
Expand Down
10 changes: 6 additions & 4 deletions dist/js/methods/pseudopotential.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ const underscore_1 = __importDefault(require("underscore"));
const method_1 = require("../method");
class PseudopotentialMethod extends method_1.Method {
get pseudo() {
return this.prop("data.pseudo", []);
var _a;
return (_a = this.methodData.pseudo) !== null && _a !== void 0 ? _a : [];
}
get allPseudo() {
return this.prop("data.allPseudo", []);
var _a;
return (_a = this.methodData.allPseudo) !== null && _a !== void 0 ? _a : [];
}
get pseudopotentials() {
return this.pseudo.map((config) => new prode_1.PseudopotentialMetaProperty(config));
Expand All @@ -37,13 +39,13 @@ class PseudopotentialMethod extends method_1.Method {
}
setPseudopotentials(pseudopotentials) {
this.setData({
...this.data,
...this.methodData,
pseudo: underscore_1.default.sortBy(pseudopotentials, "element").map((item) => item.toJSON()),
});
}
setAllPseudopotentials(pseudopotentials) {
this.setData({
...this.data,
...this.methodData,
allPseudo: underscore_1.default.sortBy(pseudopotentials, "element").map((item) => item.toJSON()),
});
}
Expand Down
21 changes: 12 additions & 9 deletions dist/js/model.d.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
import { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
import { type HashedEntity } from "@mat3ra/code/dist/js/entity/mixins/HashedEntityMixin";
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
import type { AnyObject } from "@mat3ra/esse/dist/js/esse/types";
import type { AnyModelSchema, ApplicationSchema, BaseMethod, BaseModel, SlugifiedEntry, SlugifiedEntryOrSlug } from "@mat3ra/esse/dist/js/types";
import type { ApplicationSchema, BaseInMemoryEntitySchema, BaseMethod, BaseModel, SlugifiedEntry, SlugifiedEntryOrSlug } from "@mat3ra/esse/dist/js/types";
import { type ModelSchemaMixin } from "./generated/ModelSchemaMixin";
import { Method } from "./method";
import { MethodFactory } from "./methods/factory";
import type { MethodTreeBranch, ModelConfig, ModelTree } from "./types";
type Base = typeof InMemoryEntity & Constructor<ModelSchemaMixin> & Constructor<HashedEntity>;
declare const Model_base: Base;
export declare class Model extends Model_base implements BaseModel {
export type ModelEntity = BaseInMemoryEntitySchema & Pick<BaseModel, "method"> & {
type: string;
subtype: SlugifiedEntryOrSlug;
refiners?: SlugifiedEntry[];
modifiers?: SlugifiedEntry[];
functional?: string;
};
export interface Model extends ModelSchemaMixin, HashedEntity {
}
export declare class Model extends InMemoryEntity<ModelEntity> implements BaseModel {
protected _application?: ApplicationSchema;
protected _MethodFactory: typeof MethodFactory;
protected _method?: Method;
Expand Down Expand Up @@ -39,11 +44,9 @@ export declare class Model extends Model_base implements BaseModel {
subtype: "gga";
};
static get allTypes(): SlugifiedEntry[];
_json: AnyModelSchema & AnyObject;
toJSON(): AnyModelSchema & AnyObject;
toJSON(): ModelEntity;
protected _stringToSlugifiedObject(slug: SlugifiedEntryOrSlug): SlugifiedEntry;
get isUnknown(): boolean;
protected get subtypeSlug(): string;
getHashObject(): Record<string, unknown>;
}
export {};
2 changes: 1 addition & 1 deletion dist/js/model.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const EMPTY_BRANCH = { methods: {} };
class Model extends entity_1.InMemoryEntity {
constructor(config) {
const { application, method = method_1.Method.defaultConfig, ...entityConfig } = config;
super(entityConfig);
super({ ...entityConfig, method });
this._application = application;
this._MethodFactory = factory_1.MethodFactory;
this.method = method || this.method;
Expand Down
9 changes: 4 additions & 5 deletions dist/js/models/dft.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,15 @@ export declare class DFTModel extends Model {
readonly defaultRefiners: SlugifiedEntry[];
readonly defaultModifiers: SlugifiedEntry[];
get slugifiedFunctional(): SlugifiedEntry;
get functional(): "pz" | "pw" | "vwn" | "other" | "pbe" | "pbesol" | "pw91" | "b3lyp" | "hse06";
set functional(functional: "pz" | "pw" | "vwn" | "other" | "pbe" | "pbesol" | "pw91" | "b3lyp" | "hse06");
get refiners(): SlugifiedEntry[];
get modifiers(): SlugifiedEntry[];
get functional(): string | undefined;
set functional(functional: string | undefined);
get refiners(): SlugifiedEntry[] | undefined;
get modifiers(): SlugifiedEntry[] | undefined;
setSubtype(subtype: SlugifiedEntryOrSlug): void;
setFunctional(functional: string): void;
private _setArrayProp;
setRefiners(refiners: SlugifiedEntryOrSlug | SlugifiedEntryOrSlug[]): void;
setModifiers(modifiers: SlugifiedEntryOrSlug | SlugifiedEntryOrSlug[]): void;
_json: DFTModelSchema & AnyObject;
toJSON(): DFTModelSchema & AnyObject;
get allFunctionals(): SlugifiedEntry[];
get allRefiners(): SlugifiedEntry[];
Expand Down
14 changes: 7 additions & 7 deletions dist/js/models/dft.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,14 @@ class DFTModel extends model_1.Model {
this.defaultRefiners = [];
this.defaultModifiers = [];
this._MethodFactory = config.MethodFactory || factory_1.MethodFactory;
this.functional =
this.prop("functional") || this.defaultFunctional.slug;
this.functional = this.prop("functional") || this.defaultFunctional.slug;
}
get groupSlug() {
var _a;
const refinersSlug = this.refiners.map((o) => o.slug).join("+");
const modifiersSlug = this.modifiers.map((o) => o.slug).join("+");
var _a, _b, _c;
const refinersSlug = ((_a = this.refiners) !== null && _a !== void 0 ? _a : []).map((o) => o.slug).join("+");
const modifiersSlug = ((_b = this.modifiers) !== null && _b !== void 0 ? _b : []).map((o) => o.slug).join("+");
const slugs = [
(_a = this._application) === null || _a === void 0 ? void 0 : _a.shortName,
(_c = this._application) === null || _c === void 0 ? void 0 : _c.shortName,
this.type,
this.subtype,
this.functional,
Expand All @@ -33,7 +32,8 @@ class DFTModel extends model_1.Model {
return (0, tree_1.treeSlugToNamedObject)(slug);
}
get slugifiedFunctional() {
return this._stringToSlugifiedObject(this.functional);
var _a;
return this._stringToSlugifiedObject((_a = this.functional) !== null && _a !== void 0 ? _a : this.defaultFunctional.slug);
}
get functional() {
return this.requiredProp("functional");
Expand Down
Loading
Loading