@vaadin/hilla-models 24.7.0-alpha6 → 24.7.0-alpha7
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/index.js +2 -2
- package/index.js.map +1 -1
- package/package.json +7 -7
package/index.js
CHANGED
|
@@ -118,8 +118,8 @@ const m = {
|
|
|
118
118
|
return value === nothing ? model[$defaultValue] : value;
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
|
-
var
|
|
121
|
+
var index_default = m;
|
|
122
122
|
export {
|
|
123
|
-
|
|
123
|
+
index_default as default
|
|
124
124
|
};
|
|
125
125
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["src/index.ts"],
|
|
4
4
|
"sourcesContent": ["import type { EmptyObject } from 'type-fest';\nimport { CoreModelBuilder, ObjectModelBuilder } from './builders.js';\nimport { ArrayModel, EnumModel, ObjectModel, type UnionModel } from './core.js';\nimport {\n $defaultValue,\n $enum,\n $itemModel,\n $key,\n $members,\n $name,\n $optional,\n $owner,\n type AnyObject,\n type Target,\n type Enum,\n type Extensions,\n Model,\n nothing,\n type References,\n type Value,\n} from './model.js';\n\nexport * from './model.js';\nexport * from './core.js';\nexport type * from './builders.js';\n\nconst { defineProperty } = Object;\n\nconst arrayItemModels = new WeakMap<ArrayModel, Model[]>();\n\nfunction getRawValue<T>(model: Model<T>): T | typeof nothing {\n if (model[$owner] instanceof Model) {\n // If the current model is a property of another model, the owner is\n // definitely an object. So we just return the part of the value of\n // the owner.\n const parentValue = getRawValue(model[$owner] as Model<Record<keyof any, T>>);\n return parentValue === nothing ? nothing : parentValue[model[$key]];\n }\n\n // Otherwise, the owner is a Target, so we can return the full value.\n return (model[$owner] as Target<T>).value;\n}\n\n/**\n * The utility object that provides methods to create and manipulate models.\n */\nconst m = {\n /**\n * Attaches the given model to the target.\n *\n * @param model - The model to attach.\n * @param target - The target to attach the model to. It could be a Binder\n * instance, a Signal, or another object. However, it could never be another\n * model.\n */\n attach<M extends Model>(model: M, target: Target<Value<M>>): M {\n const _model = new CoreModelBuilder<Value<M>, Extensions<M>, { named: false; selfRefKeys: References<M> }>(model)\n .name(`@${model[$name]}`)\n .build();\n defineProperty(_model, $owner, { value: target });\n defineProperty(target, 'model', { enumerable: true, configurable: true, value: model });\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n return _model as any;\n },\n\n /**\n * Creates a new model that extends the given base model.\n *\n * @param base - The base model to extend.\n */\n extend<M extends Model<AnyObject>>(\n base: M,\n ): ObjectModelBuilder<Value<M>, Value<M>, Extensions<M>, { named: false; selfRefKeys: References<M> }> {\n return new ObjectModelBuilder(base);\n },\n\n /**\n * Creates a new model that represents an optional value.\n *\n * @param base - The base model to extend.\n */\n optional<M extends Model>(base: M): M {\n return new CoreModelBuilder<Value<M>, Extensions<M>, { named: true; selfRefKeys: References<M> }>(base)\n .define($optional, { value: true })\n .build() as M;\n },\n\n /**\n * Creates a new model that represents an array of items.\n *\n * @param itemModel - The model of the items in the array.\n */\n array<M extends Model>(itemModel: M): ArrayModel<M> {\n return new CoreModelBuilder<Array<Value<M>>>(ArrayModel)\n .name(`Array<${itemModel[$name]}>`)\n .define($itemModel, { value: itemModel })\n .build();\n },\n\n /**\n * Creates a new model that represents an object.\n *\n * @param name - The name of the object.\n */\n object<T extends AnyObject>(\n name: string,\n ): ObjectModelBuilder<T, EmptyObject, EmptyObject, { named: true; selfRefKeys: never }> {\n return new ObjectModelBuilder(ObjectModel).name(name) as any;\n },\n\n /**\n * Creates a new model that represents an enum.\n *\n * @param obj - The enum object to represent.\n * @param name - The name of the model.\n */\n enum<T extends typeof Enum>(obj: T, name: string): EnumModel<T> {\n return new CoreModelBuilder<T[keyof T]>(EnumModel).define($enum, { value: obj }).name(name).build();\n },\n\n /**\n * Creates a new model that represents a union of the values of the given\n * models.\n *\n * @param members - The models to create the union from.\n */\n union<MM extends Model[]>(...members: MM): UnionModel<MM> {\n return new CoreModelBuilder(Model, () => members[0][$defaultValue] as Value<MM[number]>)\n .name(members.map((model) => model[$name]).join(' | '))\n .define($members, { value: members })\n .build();\n },\n\n /**\n * Iterates over the given array model yielding an item model for each item\n * the model value has.\n *\n * @param model - The array model to iterate over.\n */\n *items<V extends Model>(model: ArrayModel<V>): Generator<V, undefined, void> {\n const list = arrayItemModels.get(model) ?? [];\n arrayItemModels.set(model, list);\n const value = m.value(model);\n\n list.length = value.length;\n\n for (let i = 0; i < value.length; i++) {\n if (!list[i]) {\n list[i] = new CoreModelBuilder(model[$itemModel], () => value[i])\n .name(`${model[$itemModel][$name]}[${i}]`)\n .define($key, { value: i })\n .define($owner, { value: model })\n .build();\n }\n\n yield list[i] as V;\n }\n },\n\n /**\n * Provides the value the given model represents. For attached models it will\n * be the owner value or its part, for detached models it will be the default\n * value of the model.\n *\n * @param model - The model to get the value from.\n */\n value<T>(model: Model<T>): T {\n const value = getRawValue(model);\n\n // If the value is `nothing`, we return the default value of the model.\n return value === nothing ? model[$defaultValue] : value;\n },\n};\n\nexport default m;\n"],
|
|
5
|
-
"mappings": "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
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/hilla-models",
|
|
3
|
-
"version": "24.7.0-
|
|
3
|
+
"version": "24.7.0-alpha7",
|
|
4
4
|
"description": "Generative form models for Hilla",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.js",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@vaadin/hilla-lit-form": "24.7.0-
|
|
49
|
+
"@vaadin/hilla-lit-form": "24.7.0-alpha7"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": "18 || 19",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@types/chai-dom": "^1.11.3",
|
|
61
61
|
"@types/chai-like": "^1.1.3",
|
|
62
62
|
"@types/mocha": "^10.0.10",
|
|
63
|
-
"@types/node": "^20.17.
|
|
63
|
+
"@types/node": "^20.17.12",
|
|
64
64
|
"@types/react": "^18.3.18",
|
|
65
65
|
"@types/react-dom": "^18",
|
|
66
66
|
"@types/sinon": "^10.0.20",
|
|
@@ -71,11 +71,11 @@
|
|
|
71
71
|
"chai-as-promised": "^7.1.2",
|
|
72
72
|
"chai-dom": "^1.12.0",
|
|
73
73
|
"chai-like": "^1.1.3",
|
|
74
|
-
"glob": "^11.0.
|
|
75
|
-
"mocha": "^11.0
|
|
76
|
-
"monocart-coverage-reports": "^2.11.
|
|
74
|
+
"glob": "^11.0.1",
|
|
75
|
+
"mocha": "^11.1.0",
|
|
76
|
+
"monocart-coverage-reports": "^2.11.5",
|
|
77
77
|
"sinon": "^16.1.3",
|
|
78
78
|
"sinon-chai": "^3.7.0",
|
|
79
|
-
"typescript": "5.7.
|
|
79
|
+
"typescript": "5.7.3"
|
|
80
80
|
}
|
|
81
81
|
}
|