Qtgql

Latest version: v0.139.0

Safety actively analyzes 638437 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 14 of 17

0.110.1

--------------------

This release adds support for types without `ID!` field.
fixes [115](https://github.com/nrbnlulu/qtgql/issues/115)

Contributed by [ניר](https://github.com/nrbnlulu) via [PR #116](https://github.com/nrbnlulu/qtgql/pull/116/)

0.110.0

--------------------

This release adds support for updates.
It does this by generating for each query handler
an object that represents the selections for this query.
Then if the data is being compared against local data as follows

1. __builtin scalars__ - compared against the current value.
2. __custom scalars__ - By default compared against the inner value of the custom scalar.
3. __object_type__ - will compare against each field (generated on `update()`),
- Note: if the object had the same ID! then the fields setter should not be called since the updates only
occur at the child level, thus avoiding unnecessary updates.
edge cased:
- new id reached: resolution -> create a new object and replace the pointer with the field setter.
- field was null before (ATM objecttypes are the only real fields that can be null): resolution -> use setter on this field
-
4. __unions__ - if `__typename` is different will cause a whole update, else similar to (3)
5. __enums__ - compare against the enum value / name (which the same string).
6. __lists a.k.a models__ -- since lists just store a pointer (or a key in the store) to a node and the node itself
already compared when `.from_dict` called on the raw-node,
we should just compare if the pointers points the right index so first crop the length of the list
to the length of the arrived data, then for each index compare the `ID!` and replace correspondingly if ID matched
call `update()` on that node.



This release also introduce `typename` property on each object type.
This is used by unions deserializers and can be useful for rendering specific component
based on the typename.

Contributed by [ניר](https://github.com/nrbnlulu) via [PR #112](https://github.com/nrbnlulu/qtgql/pull/112/)

0.109.0

--------------------

This release adds initial support for type-store.
The type store is the source of truth for a given type.
All CRUD operations will occur on store level.

Contributed by [ניר](https://github.com/nrbnlulu) via [PR #106](https://github.com/nrbnlulu/qtgql/pull/106/)

0.108.0

--------------------

This release adds initial implementation for type-store,
each type would have a dedicated store, and it would be used to CRUD
the instances.

0.107.0

--------------------

This release adds `UseQuery` instead of using just the singleton generated type.
qml
import generated.<Environment name> 1.0 as G
G.UseQuery{
operationName: 'MainQuery'
Text{
text: G.MainQuery.completed? G.MainQuery.data: "loading..."
}
}

This release also impose a new style for declaring operations.
User would need to provide a schema.graphql and operations.graphql
under the same directory and import the operation names from qml.
as per [100](https://github.com/nrbnlulu/qtgql/issues/100)

Contributed by [ניר](https://github.com/nrbnlulu) via [PR #104](https://github.com/nrbnlulu/qtgql/pull/104/)

0.106.2

--------------------

This release adds support for custom network access
by implementing the `NetworkLayerProto` protocol.

Contributed by [ניר](https://github.com/nrbnlulu) via [PR #101](https://github.com/nrbnlulu/qtgql/pull/101/)

Page 14 of 17

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.