@axi-engine/fields 0.3.3 → 0.3.4

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 (164) hide show
  1. package/dist/core-field-tree-factory.d.ts +13 -0
  2. package/dist/core-field-tree-factory.d.ts.map +1 -0
  3. package/dist/core-field-tree-factory.js +14 -0
  4. package/dist/core-field-tree-factory.js.map +1 -0
  5. package/dist/core-field-tree.d.ts +5 -0
  6. package/dist/core-field-tree.d.ts.map +1 -0
  7. package/dist/core-field-tree.js +4 -0
  8. package/dist/core-field-tree.js.map +1 -0
  9. package/dist/core-fields-factory.d.ts +10 -0
  10. package/dist/core-fields-factory.d.ts.map +1 -0
  11. package/dist/core-fields-factory.js +14 -0
  12. package/dist/core-fields-factory.js.map +1 -0
  13. package/dist/core-fields.d.ts +47 -0
  14. package/dist/core-fields.d.ts.map +1 -0
  15. package/dist/core-fields.js +8 -0
  16. package/dist/core-fields.js.map +1 -0
  17. package/dist/data-store-field-resolver.d.ts +26 -0
  18. package/dist/data-store-field-resolver.d.ts.map +1 -0
  19. package/dist/data-store-field-resolver.js +21 -0
  20. package/dist/data-store-field-resolver.js.map +1 -0
  21. package/dist/data-store.d.ts +38 -0
  22. package/dist/data-store.d.ts.map +1 -0
  23. package/dist/data-store.js +141 -0
  24. package/dist/data-store.js.map +1 -0
  25. package/dist/field-definitions/core-boolean-field.d.ts +11 -0
  26. package/dist/field-definitions/core-boolean-field.d.ts.map +1 -0
  27. package/dist/field-definitions/core-boolean-field.js +13 -0
  28. package/dist/field-definitions/core-boolean-field.js.map +1 -0
  29. package/dist/field-definitions/core-field.d.ts +51 -0
  30. package/dist/field-definitions/core-field.d.ts.map +1 -0
  31. package/dist/field-definitions/core-field.js +74 -0
  32. package/dist/field-definitions/core-field.js.map +1 -0
  33. package/dist/field-definitions/core-numeric-field.d.ts +18 -0
  34. package/dist/field-definitions/core-numeric-field.d.ts.map +1 -0
  35. package/dist/field-definitions/core-numeric-field.js +45 -0
  36. package/dist/field-definitions/core-numeric-field.js.map +1 -0
  37. package/dist/field-definitions/core-string-field.d.ts +15 -0
  38. package/dist/field-definitions/core-string-field.d.ts.map +1 -0
  39. package/dist/field-definitions/core-string-field.js +27 -0
  40. package/dist/field-definitions/core-string-field.js.map +1 -0
  41. package/dist/field-definitions/index.d.ts +5 -0
  42. package/dist/field-definitions/index.d.ts.map +1 -0
  43. package/dist/field-definitions/index.js +5 -0
  44. package/dist/field-definitions/index.js.map +1 -0
  45. package/dist/field-registry.d.ts +5 -0
  46. package/dist/field-registry.d.ts.map +1 -0
  47. package/dist/field-registry.js +4 -0
  48. package/dist/field-registry.js.map +1 -0
  49. package/dist/field-tree-factory.d.ts +12 -0
  50. package/dist/field-tree-factory.d.ts.map +1 -0
  51. package/dist/field-tree-factory.js +2 -0
  52. package/dist/field-tree-factory.js.map +1 -0
  53. package/dist/field-tree.d.ts +171 -0
  54. package/dist/field-tree.d.ts.map +1 -0
  55. package/dist/field-tree.js +248 -0
  56. package/dist/field-tree.js.map +1 -0
  57. package/dist/field.d.ts +34 -0
  58. package/dist/field.d.ts.map +1 -0
  59. package/dist/field.js +2 -0
  60. package/dist/field.js.map +1 -0
  61. package/dist/fields-factory.d.ts +5 -0
  62. package/dist/fields-factory.d.ts.map +1 -0
  63. package/dist/fields-factory.js +2 -0
  64. package/dist/fields-factory.js.map +1 -0
  65. package/dist/fields.d.ts +101 -0
  66. package/dist/fields.d.ts.map +1 -0
  67. package/dist/fields.js +143 -0
  68. package/dist/fields.js.map +1 -0
  69. package/dist/index.d.mts +794 -815
  70. package/dist/index.d.ts +18 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +18 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/index.mjs +1084 -1116
  75. package/dist/mixins/mixin-factory.d.ts +29 -0
  76. package/dist/mixins/mixin-factory.d.ts.map +1 -0
  77. package/dist/mixins/mixin-factory.js +32 -0
  78. package/dist/mixins/mixin-factory.js.map +1 -0
  79. package/dist/mixins/with-boolean-fields.mixin.d.ts +9 -0
  80. package/dist/mixins/with-boolean-fields.mixin.d.ts.map +1 -0
  81. package/dist/mixins/with-boolean-fields.mixin.js +4 -0
  82. package/dist/mixins/with-boolean-fields.mixin.js.map +1 -0
  83. package/dist/mixins/with-default-generic-fields.mixin.d.ts +31 -0
  84. package/dist/mixins/with-default-generic-fields.mixin.d.ts.map +1 -0
  85. package/dist/mixins/with-default-generic-fields.mixin.js +15 -0
  86. package/dist/mixins/with-default-generic-fields.mixin.js.map +1 -0
  87. package/dist/mixins/with-numeric-fields.mixin.d.ts +9 -0
  88. package/dist/mixins/with-numeric-fields.mixin.d.ts.map +1 -0
  89. package/dist/mixins/with-numeric-fields.mixin.js +4 -0
  90. package/dist/mixins/with-numeric-fields.mixin.js.map +1 -0
  91. package/dist/mixins/with-string-fields.mixin.d.ts +9 -0
  92. package/dist/mixins/with-string-fields.mixin.d.ts.map +1 -0
  93. package/dist/mixins/with-string-fields.mixin.js +4 -0
  94. package/dist/mixins/with-string-fields.mixin.js.map +1 -0
  95. package/dist/policies/clamp-max-policy.d.ts +11 -0
  96. package/dist/policies/clamp-max-policy.d.ts.map +1 -0
  97. package/dist/policies/clamp-max-policy.js +18 -0
  98. package/dist/policies/clamp-max-policy.js.map +1 -0
  99. package/dist/policies/clamp-min-policy.d.ts +11 -0
  100. package/dist/policies/clamp-min-policy.d.ts.map +1 -0
  101. package/dist/policies/clamp-min-policy.js +18 -0
  102. package/dist/policies/clamp-min-policy.js.map +1 -0
  103. package/dist/policies/clamp-policy.d.ts +12 -0
  104. package/dist/policies/clamp-policy.d.ts.map +1 -0
  105. package/dist/policies/clamp-policy.js +21 -0
  106. package/dist/policies/clamp-policy.js.map +1 -0
  107. package/dist/policies/index.d.ts +6 -0
  108. package/dist/policies/index.d.ts.map +1 -0
  109. package/dist/policies/index.js +6 -0
  110. package/dist/policies/index.js.map +1 -0
  111. package/dist/policies/policies.d.ts +38 -0
  112. package/dist/policies/policies.d.ts.map +1 -0
  113. package/dist/policies/policies.js +62 -0
  114. package/dist/policies/policies.js.map +1 -0
  115. package/dist/policies/policy.d.ts +6 -0
  116. package/dist/policies/policy.d.ts.map +1 -0
  117. package/dist/policies/policy.js +2 -0
  118. package/dist/policies/policy.js.map +1 -0
  119. package/dist/serializer/field-serializer.d.ts +52 -0
  120. package/dist/serializer/field-serializer.d.ts.map +1 -0
  121. package/dist/serializer/field-serializer.js +66 -0
  122. package/dist/serializer/field-serializer.js.map +1 -0
  123. package/dist/serializer/field-tree-serializer.d.ts +50 -0
  124. package/dist/serializer/field-tree-serializer.d.ts.map +1 -0
  125. package/dist/serializer/field-tree-serializer.js +68 -0
  126. package/dist/serializer/field-tree-serializer.js.map +1 -0
  127. package/dist/serializer/fields-serializer.d.ts +49 -0
  128. package/dist/serializer/fields-serializer.d.ts.map +1 -0
  129. package/dist/serializer/fields-serializer.js +57 -0
  130. package/dist/serializer/fields-serializer.js.map +1 -0
  131. package/dist/serializer/index.d.ts +8 -0
  132. package/dist/serializer/index.d.ts.map +1 -0
  133. package/dist/serializer/index.js +8 -0
  134. package/dist/serializer/index.js.map +1 -0
  135. package/dist/serializer/policies/clamp-max-policy-serializer-handler.d.ts +13 -0
  136. package/dist/serializer/policies/clamp-max-policy-serializer-handler.d.ts.map +1 -0
  137. package/dist/serializer/policies/clamp-max-policy-serializer-handler.js +10 -0
  138. package/dist/serializer/policies/clamp-max-policy-serializer-handler.js.map +1 -0
  139. package/dist/serializer/policies/clamp-min-policy-serializer-handler.d.ts +13 -0
  140. package/dist/serializer/policies/clamp-min-policy-serializer-handler.d.ts.map +1 -0
  141. package/dist/serializer/policies/clamp-min-policy-serializer-handler.js +10 -0
  142. package/dist/serializer/policies/clamp-min-policy-serializer-handler.js.map +1 -0
  143. package/dist/serializer/policies/clamp-policy-serializer-handler.d.ts +16 -0
  144. package/dist/serializer/policies/clamp-policy-serializer-handler.d.ts.map +1 -0
  145. package/dist/serializer/policies/clamp-policy-serializer-handler.js +10 -0
  146. package/dist/serializer/policies/clamp-policy-serializer-handler.js.map +1 -0
  147. package/dist/serializer/policy-serializer.d.ts +41 -0
  148. package/dist/serializer/policy-serializer.d.ts.map +1 -0
  149. package/dist/serializer/policy-serializer.js +43 -0
  150. package/dist/serializer/policy-serializer.js.map +1 -0
  151. package/dist/setup.d.ts +41 -0
  152. package/dist/setup.d.ts.map +1 -0
  153. package/dist/setup.js +57 -0
  154. package/dist/setup.js.map +1 -0
  155. package/dist/store.d.ts +137 -0
  156. package/dist/store.d.ts.map +1 -0
  157. package/dist/store.js +2 -0
  158. package/dist/store.js.map +1 -0
  159. package/package.json +44 -44
  160. package/dist/index.cjs +0 -1232
  161. package/dist/index.d.cts +0 -1018
  162. package/dist/index.d.cts.map +0 -1
  163. package/dist/index.d.mts.map +0 -1
  164. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,137 @@
1
+ import { PathType } from '@axi-engine/utils';
2
+ import { Field, FieldOptions } from './field';
3
+ import { CoreBooleanField, CoreBooleanFieldOptions, CoreField, CoreNumericField, CoreNumericFieldOptions, CoreStringField, CoreStringFieldOptions } from './field-definitions';
4
+ import { CoreFields } from './core-fields';
5
+ import { CoreFieldTree } from './core-field-tree';
6
+ export interface StoreCreateFieldOptions {
7
+ /** Allows to explicitly specify the field type, overriding the automatic type detection. */
8
+ fieldType?: string;
9
+ }
10
+ /**
11
+ * Defines the primary high-level API for interacting with the state management system.
12
+ * It acts as a facade, simplifying access to the underlying FieldTree and providing
13
+ * both type-safe and dynamic methods for manipulating data.
14
+ */
15
+ export interface Store {
16
+ /**
17
+ * Retrieves the raw value of a Field at a specific path.
18
+ * @template T The expected type of the value.
19
+ * @param path The path to the field (e.g., 'player.stats.hp').
20
+ * @returns {T} The raw value stored in the field.
21
+ * @throws An error if the path is invalid or no field exists at the path.
22
+ */
23
+ getValue<T>(path: PathType): T;
24
+ /**
25
+ * Strictly sets the value of an *existing* Field at a specific path.
26
+ * @template T The type of the value being set.
27
+ * @param path The path to the existing field.
28
+ * @param val The new value to set.
29
+ * @returns {T} The value that was set.
30
+ * @throws An error if no field exists at the specified path.
31
+ */
32
+ setValue<T>(path: PathType, val: T): T;
33
+ /**
34
+ * Creates a new Field at a specified path, inferring its type from the provided value.
35
+ * This is a strict operation and will fail if a node already exists at the target path.
36
+ * @template T The type of the initial value.
37
+ * @param path The full path where the new field will be created.
38
+ * @param val The initial value for the field.
39
+ * @param options Optional configuration, including policies and the ability to override field type.
40
+ * @returns {T} value of the newly created Field instance.
41
+ * @throws An error if a node already exists at the path or if the parent path is invalid.
42
+ */
43
+ createValue<T>(path: PathType, val: T, options?: FieldOptions<T> & StoreCreateFieldOptions): T;
44
+ /**
45
+ * Creates new or update a Field at a specified path, inferring its type from the provided value.
46
+ * @template T The type of the initial value.
47
+ * @param path The full path where the new field will be created.
48
+ * @param val The initial value for the field.
49
+ * @param options Optional configuration, including policies and the ability to override field type.
50
+ * @returns {T} value of the newly created Field instance.
51
+ * @throws An error if a node already exists at the path or if the parent path is invalid.
52
+ */
53
+ upsetValue<T>(path: PathType, val: T, options?: FieldOptions<T> & StoreCreateFieldOptions): T;
54
+ /**
55
+ * Creates a new, strongly-typed CoreBooleanField.
56
+ * @throws An error if a node already exists at the path.
57
+ */
58
+ createBoolean(path: PathType, initialValue: boolean, options?: CoreBooleanFieldOptions): CoreBooleanField;
59
+ /**
60
+ * Creates a new, strongly-typed CoreNumericField.
61
+ * @throws An error if a node already exists at the path.
62
+ */
63
+ createNumeric(path: PathType, initialValue: number, options?: CoreNumericFieldOptions): CoreNumericField;
64
+ /**
65
+ * Creates a new, strongly-typed CoreStringField.
66
+ * @throws An error if a node already exists at the path.
67
+ */
68
+ createString(path: PathType, initialValue: string, options?: CoreStringFieldOptions): CoreStringField;
69
+ /**
70
+ * Creates a new, generic CoreField instance for any data type.
71
+ * @throws An error if a node already exists at the path.
72
+ */
73
+ createGeneric<T>(path: PathType, initialValue: T, options?: FieldOptions<T>): CoreField<T>;
74
+ /**
75
+ * Retrieves a strongly-typed CoreBooleanField instance.
76
+ * @throws An error if the path is invalid or the field is not of the expected type.
77
+ */
78
+ getBoolean(path: PathType): CoreBooleanField;
79
+ /**
80
+ * Retrieves a strongly-typed CoreNumericField instance.
81
+ * @throws An error if the path is invalid or the field is not of the expected type.
82
+ */
83
+ getNumeric(path: PathType): CoreNumericField;
84
+ /**
85
+ * Retrieves a strongly-typed CoreStringField instance.
86
+ * @throws An error if the path is invalid or the field is not of the expected type.
87
+ */
88
+ getString(path: PathType): CoreStringField;
89
+ /**
90
+ * Retrieves a generic CoreField instance.
91
+ * @throws An error if the path is invalid.
92
+ */
93
+ getGeneric<T>(path: PathType): CoreField<T>;
94
+ /**
95
+ * A generic method to retrieve a Field instance with a specific asserted type.
96
+ * @template TField The expected Field class or interface.
97
+ * @throws An error if the path is invalid or the field cannot be cast to the specified type.
98
+ */
99
+ getField<TField extends Field<any>>(path: PathType): TField;
100
+ /**
101
+ * Strictly creates a new CoreFields container.
102
+ * Any missing parent nodes in the path will be created automatically.
103
+ * @param path The path where the new Fields container will be created.
104
+ * @returns {CoreFields} The newly created CoreFields instance.
105
+ * @throws An error if a node already exists at the target path.
106
+ */
107
+ createFields(path: PathType): CoreFields;
108
+ /**
109
+ * Strictly creates a new CoreFieldTree node.
110
+ * Any missing parent nodes in the path will be created automatically.
111
+ * @param path The path where the new FieldTree node will be created.
112
+ * @returns {CoreFieldTree} The newly created CoreFieldTree instance.
113
+ * @throws An error if a node already exists at the target path.
114
+ */
115
+ createTree(path: PathType): CoreFieldTree;
116
+ /**
117
+ * Retrieves an existing CoreFields container.
118
+ * @param path The path to the Fields container.
119
+ * @returns {CoreFields} The found CoreFields instance.
120
+ * @throws An error if the path is invalid or the node at the path is not a Fields container.
121
+ */
122
+ getFields(path: PathType): CoreFields;
123
+ /**
124
+ * Retrieves an existing CoreFieldTree node.
125
+ * @param path The path to the FieldTree node.
126
+ * @returns {CoreFieldTree} The found CoreFieldTree instance.
127
+ * @throws An error if the path is invalid or the node at the path is not a FieldTree.
128
+ */
129
+ getTree(path: PathType): CoreFieldTree;
130
+ /**
131
+ * Removes the node (Field, Fields, or FieldTree) at the end of the specified path.
132
+ * This method does not remove parent nodes if they become empty.
133
+ * @param path The path to the node to remove.
134
+ */
135
+ remove(path: PathType): void;
136
+ }
137
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,KAAK,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,EACpD,uBAAuB,EAAE,eAAe,EACxC,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,uBAAuB;IACtC,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,KAAK;IAEpB;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAA;IAE9B;;;;;;;OAOG;IACH,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAC,CAAC,GAAG,CAAC,CAAA;IAErC;;;;;;;;;OASG;IACH,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,uBAAuB,GAAG,CAAC,CAAA;IAE7F;;;;;;;;OAQG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,uBAAuB,GAAG,CAAC,CAAA;IAE5F;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAA;IAEzG;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAAA;IAExG;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAA;IAErG;;;OAGG;IACH,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;IAE1F;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAA;IAE5C;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAA;IAE5C;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,eAAe,CAAA;IAE1C;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAA;IAExC;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,CAAA;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAA;IAErC;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,aAAa,CAAA;IAEtC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;CAC7B"}
package/dist/store.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,44 +1,44 @@
1
- {
2
- "name": "@axi-engine/fields",
3
- "version": "0.3.3",
4
- "description": "",
5
- "license": "MIT",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/axijs/engine.git",
9
- "directory": "packages/fields"
10
- },
11
- "keywords": [
12
- "axi-engine",
13
- "typescript",
14
- "gamedev",
15
- "fields"
16
- ],
17
- "types": "./dist/index.d.ts",
18
- "main": "./dist/index.js",
19
- "module": "./dist/index.mjs",
20
- "exports": {
21
- ".": {
22
- "types": "./dist/index.d.ts",
23
- "import": "./dist/index.mjs",
24
- "require": "./dist/index.js"
25
- }
26
- },
27
- "scripts": {
28
- "build": "tsdown",
29
- "docs": "typedoc src/index.ts --out docs/api --options ../../typedoc.json",
30
- "test": "echo 'No tests yet for @axi-engine/fields'"
31
- },
32
- "files": [
33
- "dist"
34
- ],
35
- "dependencies": {
36
- "dequal": "^2.0.3"
37
- },
38
- "devDependencies": {
39
- "@axi-engine/utils": "^0.1.7"
40
- },
41
- "peerDependencies": {
42
- "@axi-engine/utils": "^0.1.7"
43
- }
44
- }
1
+ {
2
+ "name": "@axi-engine/fields",
3
+ "version": "0.3.4",
4
+ "description": "A compact, reactive state management library based on a tree of observable fields.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/axijs/engine.git",
9
+ "directory": "packages/fields"
10
+ },
11
+ "keywords": [
12
+ "axi-engine",
13
+ "typescript",
14
+ "gamedev",
15
+ "fields"
16
+ ],
17
+ "types": "./dist/index.d.ts",
18
+ "main": "./dist/index.js",
19
+ "module": "./dist/index.mjs",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.mjs",
24
+ "require": "./dist/index.js"
25
+ }
26
+ },
27
+ "scripts": {
28
+ "build": "tsup",
29
+ "docs": "typedoc src/index.ts --out docs/api --options ../../typedoc.json",
30
+ "test": "echo 'No tests yet for @axi-engine/fields'"
31
+ },
32
+ "files": [
33
+ "dist"
34
+ ],
35
+ "dependencies": {
36
+ "dequal": "^2.0.3"
37
+ },
38
+ "devDependencies": {
39
+ "@axi-engine/utils": "^0.1.7"
40
+ },
41
+ "peerDependencies": {
42
+ "@axi-engine/utils": "^0.1.7"
43
+ }
44
+ }