@axi-engine/fields 0.3.5 → 0.3.7

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.
Files changed (159) hide show
  1. package/dist/index.d.mts +50 -3
  2. package/dist/index.d.ts +1044 -18
  3. package/dist/index.js +1271 -18
  4. package/dist/index.mjs +42 -2
  5. package/package.json +3 -3
  6. package/dist/core-field-tree-factory.d.ts +0 -13
  7. package/dist/core-field-tree-factory.d.ts.map +0 -1
  8. package/dist/core-field-tree-factory.js +0 -14
  9. package/dist/core-field-tree-factory.js.map +0 -1
  10. package/dist/core-field-tree.d.ts +0 -5
  11. package/dist/core-field-tree.d.ts.map +0 -1
  12. package/dist/core-field-tree.js +0 -4
  13. package/dist/core-field-tree.js.map +0 -1
  14. package/dist/core-fields-factory.d.ts +0 -10
  15. package/dist/core-fields-factory.d.ts.map +0 -1
  16. package/dist/core-fields-factory.js +0 -14
  17. package/dist/core-fields-factory.js.map +0 -1
  18. package/dist/core-fields.d.ts +0 -47
  19. package/dist/core-fields.d.ts.map +0 -1
  20. package/dist/core-fields.js +0 -8
  21. package/dist/core-fields.js.map +0 -1
  22. package/dist/data-store-field-resolver.d.ts +0 -26
  23. package/dist/data-store-field-resolver.d.ts.map +0 -1
  24. package/dist/data-store-field-resolver.js +0 -21
  25. package/dist/data-store-field-resolver.js.map +0 -1
  26. package/dist/data-store.d.ts +0 -38
  27. package/dist/data-store.d.ts.map +0 -1
  28. package/dist/data-store.js +0 -141
  29. package/dist/data-store.js.map +0 -1
  30. package/dist/field-definitions/core-boolean-field.d.ts +0 -11
  31. package/dist/field-definitions/core-boolean-field.d.ts.map +0 -1
  32. package/dist/field-definitions/core-boolean-field.js +0 -13
  33. package/dist/field-definitions/core-boolean-field.js.map +0 -1
  34. package/dist/field-definitions/core-field.d.ts +0 -51
  35. package/dist/field-definitions/core-field.d.ts.map +0 -1
  36. package/dist/field-definitions/core-field.js +0 -74
  37. package/dist/field-definitions/core-field.js.map +0 -1
  38. package/dist/field-definitions/core-numeric-field.d.ts +0 -18
  39. package/dist/field-definitions/core-numeric-field.d.ts.map +0 -1
  40. package/dist/field-definitions/core-numeric-field.js +0 -45
  41. package/dist/field-definitions/core-numeric-field.js.map +0 -1
  42. package/dist/field-definitions/core-string-field.d.ts +0 -15
  43. package/dist/field-definitions/core-string-field.d.ts.map +0 -1
  44. package/dist/field-definitions/core-string-field.js +0 -27
  45. package/dist/field-definitions/core-string-field.js.map +0 -1
  46. package/dist/field-definitions/index.d.ts +0 -5
  47. package/dist/field-definitions/index.d.ts.map +0 -1
  48. package/dist/field-definitions/index.js +0 -5
  49. package/dist/field-definitions/index.js.map +0 -1
  50. package/dist/field-registry.d.ts +0 -5
  51. package/dist/field-registry.d.ts.map +0 -1
  52. package/dist/field-registry.js +0 -4
  53. package/dist/field-registry.js.map +0 -1
  54. package/dist/field-tree-factory.d.ts +0 -12
  55. package/dist/field-tree-factory.d.ts.map +0 -1
  56. package/dist/field-tree-factory.js +0 -2
  57. package/dist/field-tree-factory.js.map +0 -1
  58. package/dist/field-tree.d.ts +0 -171
  59. package/dist/field-tree.d.ts.map +0 -1
  60. package/dist/field-tree.js +0 -248
  61. package/dist/field-tree.js.map +0 -1
  62. package/dist/field.d.ts +0 -34
  63. package/dist/field.d.ts.map +0 -1
  64. package/dist/field.js +0 -2
  65. package/dist/field.js.map +0 -1
  66. package/dist/fields-factory.d.ts +0 -5
  67. package/dist/fields-factory.d.ts.map +0 -1
  68. package/dist/fields-factory.js +0 -2
  69. package/dist/fields-factory.js.map +0 -1
  70. package/dist/fields.d.ts +0 -101
  71. package/dist/fields.d.ts.map +0 -1
  72. package/dist/fields.js +0 -143
  73. package/dist/fields.js.map +0 -1
  74. package/dist/index.d.ts.map +0 -1
  75. package/dist/index.js.map +0 -1
  76. package/dist/mixins/mixin-factory.d.ts +0 -29
  77. package/dist/mixins/mixin-factory.d.ts.map +0 -1
  78. package/dist/mixins/mixin-factory.js +0 -32
  79. package/dist/mixins/mixin-factory.js.map +0 -1
  80. package/dist/mixins/with-boolean-fields.mixin.d.ts +0 -9
  81. package/dist/mixins/with-boolean-fields.mixin.d.ts.map +0 -1
  82. package/dist/mixins/with-boolean-fields.mixin.js +0 -4
  83. package/dist/mixins/with-boolean-fields.mixin.js.map +0 -1
  84. package/dist/mixins/with-default-generic-fields.mixin.d.ts +0 -31
  85. package/dist/mixins/with-default-generic-fields.mixin.d.ts.map +0 -1
  86. package/dist/mixins/with-default-generic-fields.mixin.js +0 -15
  87. package/dist/mixins/with-default-generic-fields.mixin.js.map +0 -1
  88. package/dist/mixins/with-numeric-fields.mixin.d.ts +0 -9
  89. package/dist/mixins/with-numeric-fields.mixin.d.ts.map +0 -1
  90. package/dist/mixins/with-numeric-fields.mixin.js +0 -4
  91. package/dist/mixins/with-numeric-fields.mixin.js.map +0 -1
  92. package/dist/mixins/with-string-fields.mixin.d.ts +0 -9
  93. package/dist/mixins/with-string-fields.mixin.d.ts.map +0 -1
  94. package/dist/mixins/with-string-fields.mixin.js +0 -4
  95. package/dist/mixins/with-string-fields.mixin.js.map +0 -1
  96. package/dist/policies/clamp-max-policy.d.ts +0 -11
  97. package/dist/policies/clamp-max-policy.d.ts.map +0 -1
  98. package/dist/policies/clamp-max-policy.js +0 -18
  99. package/dist/policies/clamp-max-policy.js.map +0 -1
  100. package/dist/policies/clamp-min-policy.d.ts +0 -11
  101. package/dist/policies/clamp-min-policy.d.ts.map +0 -1
  102. package/dist/policies/clamp-min-policy.js +0 -18
  103. package/dist/policies/clamp-min-policy.js.map +0 -1
  104. package/dist/policies/clamp-policy.d.ts +0 -12
  105. package/dist/policies/clamp-policy.d.ts.map +0 -1
  106. package/dist/policies/clamp-policy.js +0 -21
  107. package/dist/policies/clamp-policy.js.map +0 -1
  108. package/dist/policies/index.d.ts +0 -6
  109. package/dist/policies/index.d.ts.map +0 -1
  110. package/dist/policies/index.js +0 -6
  111. package/dist/policies/index.js.map +0 -1
  112. package/dist/policies/policies.d.ts +0 -38
  113. package/dist/policies/policies.d.ts.map +0 -1
  114. package/dist/policies/policies.js +0 -62
  115. package/dist/policies/policies.js.map +0 -1
  116. package/dist/policies/policy.d.ts +0 -6
  117. package/dist/policies/policy.d.ts.map +0 -1
  118. package/dist/policies/policy.js +0 -2
  119. package/dist/policies/policy.js.map +0 -1
  120. package/dist/serializer/field-serializer.d.ts +0 -52
  121. package/dist/serializer/field-serializer.d.ts.map +0 -1
  122. package/dist/serializer/field-serializer.js +0 -66
  123. package/dist/serializer/field-serializer.js.map +0 -1
  124. package/dist/serializer/field-tree-serializer.d.ts +0 -50
  125. package/dist/serializer/field-tree-serializer.d.ts.map +0 -1
  126. package/dist/serializer/field-tree-serializer.js +0 -68
  127. package/dist/serializer/field-tree-serializer.js.map +0 -1
  128. package/dist/serializer/fields-serializer.d.ts +0 -49
  129. package/dist/serializer/fields-serializer.d.ts.map +0 -1
  130. package/dist/serializer/fields-serializer.js +0 -57
  131. package/dist/serializer/fields-serializer.js.map +0 -1
  132. package/dist/serializer/index.d.ts +0 -8
  133. package/dist/serializer/index.d.ts.map +0 -1
  134. package/dist/serializer/index.js +0 -8
  135. package/dist/serializer/index.js.map +0 -1
  136. package/dist/serializer/policies/clamp-max-policy-serializer-handler.d.ts +0 -13
  137. package/dist/serializer/policies/clamp-max-policy-serializer-handler.d.ts.map +0 -1
  138. package/dist/serializer/policies/clamp-max-policy-serializer-handler.js +0 -10
  139. package/dist/serializer/policies/clamp-max-policy-serializer-handler.js.map +0 -1
  140. package/dist/serializer/policies/clamp-min-policy-serializer-handler.d.ts +0 -13
  141. package/dist/serializer/policies/clamp-min-policy-serializer-handler.d.ts.map +0 -1
  142. package/dist/serializer/policies/clamp-min-policy-serializer-handler.js +0 -10
  143. package/dist/serializer/policies/clamp-min-policy-serializer-handler.js.map +0 -1
  144. package/dist/serializer/policies/clamp-policy-serializer-handler.d.ts +0 -16
  145. package/dist/serializer/policies/clamp-policy-serializer-handler.d.ts.map +0 -1
  146. package/dist/serializer/policies/clamp-policy-serializer-handler.js +0 -10
  147. package/dist/serializer/policies/clamp-policy-serializer-handler.js.map +0 -1
  148. package/dist/serializer/policy-serializer.d.ts +0 -41
  149. package/dist/serializer/policy-serializer.d.ts.map +0 -1
  150. package/dist/serializer/policy-serializer.js +0 -43
  151. package/dist/serializer/policy-serializer.js.map +0 -1
  152. package/dist/setup.d.ts +0 -41
  153. package/dist/setup.d.ts.map +0 -1
  154. package/dist/setup.js +0 -57
  155. package/dist/setup.js.map +0 -1
  156. package/dist/store.d.ts +0 -137
  157. package/dist/store.d.ts.map +0 -1
  158. package/dist/store.js +0 -2
  159. package/dist/store.js.map +0 -1
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _axi_engine_utils from '@axi-engine/utils';
2
- import { Subscribable, ConstructorRegistry, Emitter, Constructor, PathType } from '@axi-engine/utils';
2
+ import { Subscribable, ConstructorRegistry, Emitter, Constructor, PathType, DataStorage } from '@axi-engine/utils';
3
3
 
4
4
  interface Policy<T> {
5
5
  readonly id: string;
@@ -789,7 +789,7 @@ interface StoreCreateFieldOptions {
789
789
  * It acts as a facade, simplifying access to the underlying FieldTree and providing
790
790
  * both type-safe and dynamic methods for manipulating data.
791
791
  */
792
- interface Store {
792
+ interface Store extends DataStorage {
793
793
  /**
794
794
  * Retrieves the raw value of a Field at a specific path.
795
795
  * @template T The expected type of the value.
@@ -955,8 +955,55 @@ declare class DataStore implements Store {
955
955
  remove(path: PathType): void;
956
956
  private isPathToRootFields;
957
957
  private getDestinationFields;
958
+ has(path: PathType): boolean;
959
+ /** implementation of the DataStore from utils */
960
+ get(path: PathType): unknown;
961
+ set(path: PathType, value: unknown): void;
962
+ create(path: PathType, value: unknown): void;
963
+ upset(path: PathType, value: unknown): void;
964
+ delete(path: PathType): void;
958
965
  }
959
966
 
967
+ /**
968
+ * Type guard that checks if a value is an instance of the `Fields` class.
969
+ * It verifies this by checking the static `typeName` property on the instance.
970
+ *
971
+ * @param value The value to check.
972
+ * @returns {boolean} `true` if the value is a `Fields` instance, otherwise `false`.
973
+ */
974
+ declare function isFields(value: unknown): value is Fields;
975
+ /**
976
+ * Type guard that checks if a value is an instance of the `FieldTree` class.
977
+ * It verifies this by checking the static `typeName` property on the instance.
978
+ *
979
+ * @param value The value to check.
980
+ * @returns {boolean} `true` if the value is a `FieldTree` instance, otherwise `false`.
981
+ */
982
+ declare function isFieldTree(value: unknown): value is FieldTree<any>;
983
+ /**
984
+ * Type guard that checks if an unknown value conforms to the `Store` interface.
985
+ *
986
+ * It performs a structural check (duck typing) by verifying the presence of methods
987
+ * that are unique to the `Store` interface and are not part of the simpler `DataSource`
988
+ * or `DataStorage` contracts, such as `createFields` and `createTree`.
989
+ *
990
+ * @param value The `unknown` value to check.
991
+ * @returns {boolean} `true` if the value is a `Store`-like object, `false` otherwise.
992
+ *
993
+ * @example
994
+ * function processData(source: DataSource) {
995
+ * if (isStore(source)) {
996
+ * // Inside this block, TypeScript now knows `source` is a full `Store`.
997
+ * // We can safely call Store-specific methods like `createFields`.
998
+ * source.createFields('new.data.group');
999
+ * } else {
1000
+ * // Fallback logic for simpler data sources that are not a `Store`.
1001
+ * console.warn('Cannot create new groups with a simple data source.');
1002
+ * }
1003
+ * }
1004
+ */
1005
+ declare function isStore(value: unknown): value is Store;
1006
+
960
1007
  /**
961
1008
  * Creates and configures a FieldRegistry with all the core field types.
962
1009
  * @returns {FieldRegistry} A pre-configured FieldRegistry instance.
@@ -994,4 +1041,4 @@ declare function createCoreFieldSystem(config?: CoreFieldSystemConfig): {
994
1041
  serializer: FieldTreeSerializer<CoreFields>;
995
1042
  };
996
1043
 
997
- export { type BooleanField, ClampMaxPolicy, ClampMaxPolicySerializerHandler, ClampMinPolicy, ClampMinPolicySerializerHandler, ClampPolicy, ClampPolicySerializerHandler, CoreBooleanField, type CoreBooleanFieldOptions, CoreField, type CoreFieldSystemConfig, CoreFieldTree, CoreFields, CoreFieldsFactory, CoreNumericField, type CoreNumericFieldOptions, CoreStringField, type CoreStringFieldOptions, CoreTreeNodeFactory, DataStore, type Field, type FieldOptions, FieldRegistry, FieldSerializer, type FieldSnapshot, FieldTree, type FieldTreeFactory, FieldTreeSerializer, type FieldTreeSnapshot, Fields, type FieldsFactory, FieldsSerializer, type FieldsSnapshot, type NumericField, Policies, type Policy, PolicySerializer, type PolicySerializerHandler, type Store, type StoreCreateFieldOptions, type StringField, type TreeNode, clampMaxPolicy, clampMinPolicy, clampPolicy, createCoreFieldRegistry, createCoreFieldSystem, createCorePolicySerializer, createCoreTreeNodeFactory, createCoreTreeSerializer, createTypedMethodsMixin };
1044
+ export { type BooleanField, ClampMaxPolicy, ClampMaxPolicySerializerHandler, ClampMinPolicy, ClampMinPolicySerializerHandler, ClampPolicy, ClampPolicySerializerHandler, CoreBooleanField, type CoreBooleanFieldOptions, CoreField, type CoreFieldSystemConfig, CoreFieldTree, CoreFields, CoreFieldsFactory, CoreNumericField, type CoreNumericFieldOptions, CoreStringField, type CoreStringFieldOptions, CoreTreeNodeFactory, DataStore, type Field, type FieldOptions, FieldRegistry, FieldSerializer, type FieldSnapshot, FieldTree, type FieldTreeFactory, FieldTreeSerializer, type FieldTreeSnapshot, Fields, type FieldsFactory, FieldsSerializer, type FieldsSnapshot, type NumericField, Policies, type Policy, PolicySerializer, type PolicySerializerHandler, type Store, type StoreCreateFieldOptions, type StringField, type TreeNode, clampMaxPolicy, clampMinPolicy, clampPolicy, createCoreFieldRegistry, createCoreFieldSystem, createCorePolicySerializer, createCoreTreeNodeFactory, createCoreTreeSerializer, createTypedMethodsMixin, isFieldTree, isFields, isStore };