@f1studio/form-spec 5.0.0-alpha.101 → 5.0.0-alpha.103

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 (161) hide show
  1. package/Components/HelloComponent.d.ts +20 -0
  2. package/Components/HelloComponent.d.ts.map +1 -0
  3. package/Designer.d.ts.map +1 -0
  4. package/FormSpec.TS/Designer.js +2 -2
  5. package/FormSpec.TS/Designer.js.map +1 -1
  6. package/FormSpec.TS/Designer.ts.map +1 -1
  7. package/FormSpec.TS/FormSpec.js +210 -143
  8. package/FormSpec.TS/FormSpec.js.map +1 -1
  9. package/FormSpec.TS/FormSpec.ts.map +1 -1
  10. package/FormSpec.TS/FormSpecHelpers.js +62 -40
  11. package/FormSpec.TS/FormSpecHelpers.js.map +1 -1
  12. package/FormSpec.TS/FormSpecHelpers.ts.map +1 -1
  13. package/FormSpec.TS/FormSpecValues.js +207 -0
  14. package/FormSpec.TS/FormSpecValues.js.map +1 -0
  15. package/FormSpec.TS/FormSpecValues.ts.map +1 -0
  16. package/FormSpec.TS/Helpers.js +26 -25
  17. package/FormSpec.TS/Helpers.js.map +1 -1
  18. package/FormSpec.TS/Helpers.ts.map +1 -1
  19. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js +85 -125
  20. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js.map +1 -1
  21. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.ts.map +1 -1
  22. package/FormSpec.TS/Interop/FormSpec.Api.Option.js +37 -7
  23. package/FormSpec.TS/Interop/FormSpec.Api.Option.js.map +1 -1
  24. package/FormSpec.TS/Interop/FormSpec.Api.Option.ts.map +1 -1
  25. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js +103 -80
  26. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js.map +1 -1
  27. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.ts.map +1 -1
  28. package/FormSpec.TS/PathwayExecutor.js +371 -125
  29. package/FormSpec.TS/PathwayExecutor.js.map +1 -1
  30. package/FormSpec.TS/PathwayExecutor.ts.map +1 -1
  31. package/FormSpec.TS/PathwayValidator.js +14 -26
  32. package/FormSpec.TS/PathwayValidator.js.map +1 -1
  33. package/FormSpec.TS/PathwayValidator.ts.map +1 -1
  34. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.ts.map +1 -1
  35. package/FormSpec.TS/Renderers/PathwayRenderers.js +35 -26
  36. package/FormSpec.TS/Renderers/PathwayRenderers.js.map +1 -1
  37. package/FormSpec.TS/Renderers/PathwayRenderers.ts.map +1 -1
  38. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs +0 -0
  39. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs +0 -0
  40. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs +0 -0
  41. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Fable.Form.fableproj +0 -0
  42. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs +0 -0
  43. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Fable.Form.Simple.fableproj +0 -0
  44. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs +0 -0
  45. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Extensions.fs +0 -0
  46. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs +0 -0
  47. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Types.fableproj +0 -0
  48. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs +0 -0
  49. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.Types.fableproj +0 -0
  50. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs +0 -0
  51. package/FormSpec.TS/fable_modules/Feliz.2.7.0/BorderStyle.fs +0 -0
  52. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs +0 -0
  53. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Feliz.fableproj +0 -0
  54. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Fonts.fs +0 -0
  55. package/FormSpec.TS/fable_modules/Feliz.2.7.0/GridTypes.fs +0 -0
  56. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Html.fs +0 -0
  57. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs +0 -0
  58. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs +0 -0
  59. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Length.fs +0 -0
  60. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Locale.fs +0 -0
  61. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs +0 -0
  62. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs +0 -0
  63. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs +0 -0
  64. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactInterop.js +0 -0
  65. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactInterop.js.map +0 -0
  66. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs +0 -0
  67. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs +0 -0
  68. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Styles.fs +0 -0
  69. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs +0 -0
  70. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TextDecorationLine.fs +0 -0
  71. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TextDecorationStyle.fs +0 -0
  72. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Transform.fs +0 -0
  73. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TransformOrigin.fs +0 -0
  74. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TransitionProperty.fs +0 -0
  75. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs +0 -0
  76. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs +0 -0
  77. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs +0 -0
  78. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js.map +1 -1
  79. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.ts.map +1 -1
  80. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs +0 -0
  81. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Thoth.Json.fableproj +0 -0
  82. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs +0 -0
  83. package/FormSpec.TS/fable_modules/project_cracked.json +1 -1
  84. package/FormSpec.d.ts +56 -43
  85. package/FormSpec.d.ts.map +1 -0
  86. package/FormSpecHelpers.d.ts +18 -12
  87. package/FormSpecHelpers.d.ts.map +1 -0
  88. package/FormSpecValues.d.ts +62 -0
  89. package/FormSpecValues.d.ts.map +1 -0
  90. package/Helpers.d.ts +11 -10
  91. package/Helpers.d.ts.map +1 -0
  92. package/Interfaces.d.ts.map +1 -0
  93. package/Interop/FormSpec.Api.Helpers.d.ts +25 -28
  94. package/Interop/FormSpec.Api.Helpers.d.ts.map +1 -1
  95. package/Interop/FormSpec.Api.Option.d.ts +10 -6
  96. package/Interop/FormSpec.Api.Option.d.ts.map +1 -1
  97. package/Interop/FormSpec.Values.Api.Option.d.ts +35 -22
  98. package/Interop/FormSpec.Values.Api.Option.d.ts.map +1 -1
  99. package/Logging/LogTypes.d.ts +112 -0
  100. package/Logging/LogTypes.d.ts.map +1 -0
  101. package/Migrator.d.ts.map +1 -0
  102. package/PathwayDataExtractor.d.ts.map +1 -0
  103. package/PathwayExecutor.d.ts +63 -33
  104. package/PathwayExecutor.d.ts.map +1 -0
  105. package/PathwayValidator.d.ts.map +1 -0
  106. package/PluginInterface.d.ts.map +1 -0
  107. package/Prelude.d.ts.map +1 -0
  108. package/README.TS.md +621 -621
  109. package/README.md +98 -85
  110. package/Renderers/FormSpecMarkdownRenderer.d.ts +11 -0
  111. package/Renderers/FormSpecMarkdownRenderer.d.ts.map +1 -0
  112. package/Renderers/MermaidRenderer.d.ts +48 -0
  113. package/Renderers/MermaidRenderer.d.ts.map +1 -0
  114. package/Renderers/PathwayRenderers.d.ts +59 -0
  115. package/Renderers/PathwayRenderers.d.ts.map +1 -0
  116. package/fable_modules/Thoth.Json.10.4.1/Decode.fs.d.ts +126 -0
  117. package/fable_modules/Thoth.Json.10.4.1/Decode.fs.d.ts.map +1 -0
  118. package/fable_modules/Thoth.Json.10.4.1/Encode.fs.d.ts +163 -0
  119. package/fable_modules/Thoth.Json.10.4.1/Encode.fs.d.ts.map +1 -0
  120. package/fable_modules/Thoth.Json.10.4.1/Types.fs.d.ts +66 -0
  121. package/fable_modules/Thoth.Json.10.4.1/Types.fs.d.ts.map +1 -0
  122. package/package.json +53 -39
  123. package/src/Components/HelloComponent.ts +48 -48
  124. package/src/Designer.ts +389 -389
  125. package/src/FormSpec.ts +3154 -3114
  126. package/src/FormSpecHelpers.ts +397 -374
  127. package/src/FormSpecValues.ts +158 -0
  128. package/src/Helpers.ts +766 -765
  129. package/src/Interfaces.ts +166 -166
  130. package/src/Interop/FormSpec.Api.Helpers.ts +835 -872
  131. package/src/Interop/FormSpec.Api.Option.ts +1637 -1618
  132. package/src/Interop/FormSpec.Values.Api.Option.ts +1241 -1214
  133. package/src/Logging/LogTypes.ts +212 -212
  134. package/src/Migrator.ts +156 -156
  135. package/src/PathwayDataExtractor.ts +290 -290
  136. package/src/PathwayExecutor.ts +1379 -1102
  137. package/src/PathwayValidator.ts +238 -244
  138. package/src/PluginInterface.ts +79 -79
  139. package/src/Prelude.ts +21 -21
  140. package/src/Renderers/FormSpecMarkdownRenderer.ts +875 -874
  141. package/src/Renderers/MermaidRenderer.ts +218 -218
  142. package/src/Renderers/PathwayRenderers.ts +208 -200
  143. package/src/Components/HelloComponent.ts.map +0 -1
  144. package/src/Designer.ts.map +0 -1
  145. package/src/FormSpec.ts.map +0 -1
  146. package/src/FormSpecHelpers.ts.map +0 -1
  147. package/src/Helpers.ts.map +0 -1
  148. package/src/Interfaces.ts.map +0 -1
  149. package/src/Interop/FormSpec.Api.Helpers.ts.map +0 -1
  150. package/src/Interop/FormSpec.Api.Option.ts.map +0 -1
  151. package/src/Interop/FormSpec.Values.Api.Option.ts.map +0 -1
  152. package/src/Logging/LogTypes.ts.map +0 -1
  153. package/src/Migrator.ts.map +0 -1
  154. package/src/PathwayDataExtractor.ts.map +0 -1
  155. package/src/PathwayExecutor.ts.map +0 -1
  156. package/src/PathwayValidator.ts.map +0 -1
  157. package/src/PluginInterface.ts.map +0 -1
  158. package/src/Prelude.ts.map +0 -1
  159. package/src/Renderers/FormSpecMarkdownRenderer.ts.map +0 -1
  160. package/src/Renderers/MermaidRenderer.ts.map +0 -1
  161. package/src/Renderers/PathwayRenderers.ts.map +0 -1
package/src/Interfaces.ts CHANGED
@@ -1,166 +1,166 @@
1
- import { Union, Record } from "@fable-org/fable-library-js/Types.js";
2
- import { Values_DynamicForm$1_$reflection, Values_DynamicForm$1, Spec_FieldType_$union, Spec_FieldType, Spec_FormField$1_$reflection, Spec_FormStep$1_$reflection, Spec_FormSpec$1_$reflection, Spec_FormField$1, Spec_FormStep$1, Spec_FormSpec$1 } from "./FormSpec.js";
3
- import { ActiveField_$reflection, ActiveField } from "./Designer.js";
4
- import { obj_type, tuple_type, bool_type, int32_type, union_type, class_type, record_type, lambda_type, unit_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
5
- import { FSharpMap__get_Item, FSharpMap__TryFind, FSharpMap, ofList } from "@fable-org/fable-library-js/Map.js";
6
- import { tryFind, FSharpList, map } from "@fable-org/fable-library-js/List.js";
7
- import { IComparable, IEquatable, compare, comparePrimitives } from "@fable-org/fable-library-js/Util.js";
8
- import { int32 } from "@fable-org/fable-library-js/Int32.js";
9
- import { value, Option } from "@fable-org/fable-library-js/Option.js";
10
- import { Helpers_FieldTypeUtils_fieldTypesMatchByCaseName } from "./Helpers.js";
11
-
12
- export class RenderPreviewProps$1<UserField> extends Record {
13
- readonly FormSpec: Spec_FormSpec$1<UserField>;
14
- readonly FormStep: Spec_FormStep$1<UserField>;
15
- readonly FormField: Spec_FormField$1<UserField>;
16
- readonly ActiveField: ActiveField;
17
- readonly SetActiveField: ((arg0: ActiveField) => void);
18
- readonly OnChange: ((arg0: Spec_FormSpec$1<UserField>) => void);
19
- constructor(FormSpec: Spec_FormSpec$1<UserField>, FormStep: Spec_FormStep$1<UserField>, FormField: Spec_FormField$1<UserField>, ActiveField: ActiveField, SetActiveField: ((arg0: ActiveField) => void), OnChange: ((arg0: Spec_FormSpec$1<UserField>) => void)) {
20
- super();
21
- this.FormSpec = FormSpec;
22
- this.FormStep = FormStep;
23
- this.FormField = FormField;
24
- this.ActiveField = ActiveField;
25
- this.SetActiveField = SetActiveField;
26
- this.OnChange = OnChange;
27
- }
28
- }
29
-
30
- export function RenderPreviewProps$1_$reflection(gen0: TypeInfo): TypeInfo {
31
- return record_type("F1.Studio.Interfaces.RenderPreviewProps`1", [gen0], RenderPreviewProps$1, () => [["FormSpec", Spec_FormSpec$1_$reflection(gen0)], ["FormStep", Spec_FormStep$1_$reflection(gen0)], ["FormField", Spec_FormField$1_$reflection(gen0)], ["ActiveField", ActiveField_$reflection()], ["SetActiveField", lambda_type(ActiveField_$reflection(), unit_type)], ["OnChange", lambda_type(Spec_FormSpec$1_$reflection(gen0), unit_type)]]);
32
- }
33
-
34
- export interface IDesignerField$1<UserField> {
35
- Category: string,
36
- FieldType: UserField,
37
- Icon: string,
38
- Key: string,
39
- RenderDesignerPreview(arg0: RenderPreviewProps$1<UserField>): any
40
- }
41
-
42
- export class RegisteredFields$1<UserField> {
43
- readonly fields: FSharpList<IDesignerField$1<UserField>>;
44
- readonly cachedMap: FSharpMap<string, IDesignerField$1<UserField>>;
45
- readonly typeMap: FSharpMap<UserField, IDesignerField$1<UserField>>;
46
- constructor(fields: FSharpList<IDesignerField$1<UserField>>) {
47
- this.fields = fields;
48
- this.cachedMap = ofList<string, IDesignerField$1<UserField>>(map<IDesignerField$1<UserField>, [string, IDesignerField$1<UserField>]>((field: IDesignerField$1<UserField>): [string, IDesignerField$1<UserField>] => ([field.Key, field] as [string, IDesignerField$1<UserField>]), this.fields), {
49
- Compare: comparePrimitives,
50
- });
51
- this.typeMap = ofList<UserField, IDesignerField$1<UserField>>(map<IDesignerField$1<UserField>, [UserField, IDesignerField$1<UserField>]>((field_1: IDesignerField$1<UserField>): [UserField, IDesignerField$1<UserField>] => ([field_1.FieldType, field_1] as [UserField, IDesignerField$1<UserField>]), this.fields), {
52
- Compare: compare,
53
- });
54
- }
55
- }
56
-
57
- export function RegisteredFields$1_$reflection(gen0: TypeInfo): TypeInfo {
58
- return class_type("F1.Studio.Interfaces.RegisteredFields`1", [gen0], RegisteredFields$1);
59
- }
60
-
61
- export function RegisteredFields$1_$ctor_Z317E95AF<UserField>(fields: FSharpList<IDesignerField$1<UserField>>): RegisteredFields$1<UserField> {
62
- return new RegisteredFields$1(fields);
63
- }
64
-
65
- export function RegisteredFields$1__get_AsList<UserField>(_: RegisteredFields$1<UserField>): FSharpList<IDesignerField$1<UserField>> {
66
- return _.fields;
67
- }
68
-
69
- export function RegisteredFields$1__TryGetByKey_Z721C83C5<UserField>(_: RegisteredFields$1<UserField>, key: string): Option<IDesignerField$1<UserField>> {
70
- return FSharpMap__TryFind(_.cachedMap, key);
71
- }
72
-
73
- export function RegisteredFields$1__GetByKey_Z721C83C5<UserField>(_: RegisteredFields$1<UserField>, key: string): IDesignerField$1<UserField> {
74
- return FSharpMap__get_Item(_.cachedMap, key);
75
- }
76
-
77
- export function RegisteredFields$1__get_AsMap<UserField>(_: RegisteredFields$1<UserField>): FSharpMap<string, IDesignerField$1<UserField>> {
78
- return _.cachedMap;
79
- }
80
-
81
- export function RegisteredFields$1__TryGetByFieldType_2B595<UserField>(_: RegisteredFields$1<UserField>, fieldType: UserField): Option<IDesignerField$1<UserField>> {
82
- const matchValue: Option<IDesignerField$1<UserField>> = FSharpMap__TryFind(_.typeMap, fieldType);
83
- if (matchValue == null) {
84
- return RegisteredFields$1__tryMatchByCaseName<UserField>(_, fieldType, _.fields);
85
- }
86
- else {
87
- return value(matchValue);
88
- }
89
- }
90
-
91
- export function RegisteredFields$1__tryMatchByCaseName<UserField>(this$: RegisteredFields$1<UserField>, fieldType: UserField, registeredFields: FSharpList<IDesignerField$1<UserField>>): Option<IDesignerField$1<UserField>> {
92
- const matchValue: any = fieldType;
93
- if (matchValue instanceof Spec_FieldType) {
94
- const ft = matchValue as Spec_FieldType_$union;
95
- return tryFind<IDesignerField$1<UserField>>((field: IDesignerField$1<UserField>): boolean => Helpers_FieldTypeUtils_fieldTypesMatchByCaseName(fieldType, field.FieldType), registeredFields);
96
- }
97
- else {
98
- return undefined;
99
- }
100
- }
101
-
102
- export type FormComposeMode_$union =
103
- | FormComposeMode<0>
104
- | FormComposeMode<1>
105
-
106
- export type FormComposeMode_$cases = {
107
- 0: ["Editable", []],
108
- 1: ["ReadOnly", []]
109
- }
110
-
111
- export function FormComposeMode_Editable() {
112
- return new FormComposeMode<0>(0, []);
113
- }
114
-
115
- export function FormComposeMode_ReadOnly() {
116
- return new FormComposeMode<1>(1, []);
117
- }
118
-
119
- export class FormComposeMode<Tag extends keyof FormComposeMode_$cases> extends Union<Tag, FormComposeMode_$cases[Tag][0]> {
120
- constructor(readonly tag: Tag, readonly fields: FormComposeMode_$cases[Tag][1]) {
121
- super();
122
- }
123
- cases() {
124
- return ["Editable", "ReadOnly"];
125
- }
126
- }
127
-
128
- export function FormComposeMode_$reflection(): TypeInfo {
129
- return union_type("F1.Studio.Interfaces.FormComposeMode", [], FormComposeMode, () => [[], []]);
130
- }
131
-
132
- export class FormComposeState$2<UserField, FableFormModel> extends Record implements IEquatable<FormComposeState$2<UserField, FableFormModel>>, IComparable<FormComposeState$2<UserField, FableFormModel>> {
133
- readonly ResultViewMode: FormComposeMode_$union;
134
- readonly FormSpec: Spec_FormSpec$1<UserField>;
135
- readonly DynamicForm: Values_DynamicForm$1<FableFormModel>;
136
- readonly CurrentStep: int32;
137
- readonly FormSaved: boolean;
138
- constructor(ResultViewMode: FormComposeMode_$union, FormSpec: Spec_FormSpec$1<UserField>, DynamicForm: Values_DynamicForm$1<FableFormModel>, CurrentStep: int32, FormSaved: boolean) {
139
- super();
140
- this.ResultViewMode = ResultViewMode;
141
- this.FormSpec = FormSpec;
142
- this.DynamicForm = DynamicForm;
143
- this.CurrentStep = (CurrentStep | 0);
144
- this.FormSaved = FormSaved;
145
- }
146
- }
147
-
148
- export function FormComposeState$2_$reflection(gen0: TypeInfo, gen1: TypeInfo): TypeInfo {
149
- return record_type("F1.Studio.Interfaces.FormComposeState`2", [gen0, gen1], FormComposeState$2, () => [["ResultViewMode", FormComposeMode_$reflection()], ["FormSpec", Spec_FormSpec$1_$reflection(gen0)], ["DynamicForm", Values_DynamicForm$1_$reflection(gen1)], ["CurrentStep", int32_type], ["FormSaved", bool_type]]);
150
- }
151
-
152
- export class FormProcessor$2<UserField, FableFormModel> extends Record {
153
- readonly Result: ((arg0: [int32, boolean]) => any);
154
- readonly Calculator: ((arg0: FormComposeState$2<UserField, FableFormModel>) => [int32, boolean]);
155
- constructor(Result: ((arg0: [int32, boolean]) => any), Calculator: ((arg0: FormComposeState$2<UserField, FableFormModel>) => [int32, boolean])) {
156
- super();
157
- this.Result = Result;
158
- this.Calculator = Calculator;
159
- }
160
- }
161
-
162
- export function FormProcessor$2_$reflection(gen0: TypeInfo, gen1: TypeInfo): TypeInfo {
163
- return record_type("F1.Studio.Interfaces.FormProcessor`2", [gen0, gen1], FormProcessor$2, () => [["Result", lambda_type(tuple_type(int32_type, bool_type), obj_type)], ["Calculator", lambda_type(FormComposeState$2_$reflection(gen0, gen1), tuple_type(int32_type, bool_type))]]);
164
- }
165
-
166
- //# sourceMappingURL=Interfaces.ts.map
1
+ import { Union, Record } from "@fable-org/fable-library-js/Types.js";
2
+ import { Values_DynamicForm$1_$reflection, Values_DynamicForm$1, Spec_FieldType_$union, Spec_FieldType, Spec_FormField$1_$reflection, Spec_FormStep$1_$reflection, Spec_FormSpec$1_$reflection, Spec_FormField$1, Spec_FormStep$1, Spec_FormSpec$1 } from "./FormSpec.js";
3
+ import { ActiveField_$reflection, ActiveField } from "./Designer.js";
4
+ import { obj_type, tuple_type, bool_type, int32_type, union_type, class_type, record_type, lambda_type, unit_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
5
+ import { FSharpMap__get_Item, FSharpMap__TryFind, FSharpMap, ofList } from "@fable-org/fable-library-js/Map.js";
6
+ import { tryFind, FSharpList, map } from "@fable-org/fable-library-js/List.js";
7
+ import { IComparable, IEquatable, compare, comparePrimitives } from "@fable-org/fable-library-js/Util.js";
8
+ import { int32 } from "@fable-org/fable-library-js/Int32.js";
9
+ import { value, Option } from "@fable-org/fable-library-js/Option.js";
10
+ import { Helpers_FieldTypeUtils_fieldTypesMatchByCaseName } from "./Helpers.js";
11
+
12
+ export class RenderPreviewProps$1<UserField> extends Record {
13
+ readonly FormSpec: Spec_FormSpec$1<UserField>;
14
+ readonly FormStep: Spec_FormStep$1<UserField>;
15
+ readonly FormField: Spec_FormField$1<UserField>;
16
+ readonly ActiveField: ActiveField;
17
+ readonly SetActiveField: ((arg0: ActiveField) => void);
18
+ readonly OnChange: ((arg0: Spec_FormSpec$1<UserField>) => void);
19
+ constructor(FormSpec: Spec_FormSpec$1<UserField>, FormStep: Spec_FormStep$1<UserField>, FormField: Spec_FormField$1<UserField>, ActiveField: ActiveField, SetActiveField: ((arg0: ActiveField) => void), OnChange: ((arg0: Spec_FormSpec$1<UserField>) => void)) {
20
+ super();
21
+ this.FormSpec = FormSpec;
22
+ this.FormStep = FormStep;
23
+ this.FormField = FormField;
24
+ this.ActiveField = ActiveField;
25
+ this.SetActiveField = SetActiveField;
26
+ this.OnChange = OnChange;
27
+ }
28
+ }
29
+
30
+ export function RenderPreviewProps$1_$reflection(gen0: TypeInfo): TypeInfo {
31
+ return record_type("F1.Studio.Interfaces.RenderPreviewProps`1", [gen0], RenderPreviewProps$1, () => [["FormSpec", Spec_FormSpec$1_$reflection(gen0)], ["FormStep", Spec_FormStep$1_$reflection(gen0)], ["FormField", Spec_FormField$1_$reflection(gen0)], ["ActiveField", ActiveField_$reflection()], ["SetActiveField", lambda_type(ActiveField_$reflection(), unit_type)], ["OnChange", lambda_type(Spec_FormSpec$1_$reflection(gen0), unit_type)]]);
32
+ }
33
+
34
+ export interface IDesignerField$1<UserField> {
35
+ Category: string,
36
+ FieldType: UserField,
37
+ Icon: string,
38
+ Key: string,
39
+ RenderDesignerPreview(arg0: RenderPreviewProps$1<UserField>): any
40
+ }
41
+
42
+ export class RegisteredFields$1<UserField> {
43
+ readonly fields: FSharpList<IDesignerField$1<UserField>>;
44
+ readonly cachedMap: FSharpMap<string, IDesignerField$1<UserField>>;
45
+ readonly typeMap: FSharpMap<UserField, IDesignerField$1<UserField>>;
46
+ constructor(fields: FSharpList<IDesignerField$1<UserField>>) {
47
+ this.fields = fields;
48
+ this.cachedMap = ofList<string, IDesignerField$1<UserField>>(map<IDesignerField$1<UserField>, [string, IDesignerField$1<UserField>]>((field: IDesignerField$1<UserField>): [string, IDesignerField$1<UserField>] => ([field.Key, field] as [string, IDesignerField$1<UserField>]), this.fields), {
49
+ Compare: comparePrimitives,
50
+ });
51
+ this.typeMap = ofList<UserField, IDesignerField$1<UserField>>(map<IDesignerField$1<UserField>, [UserField, IDesignerField$1<UserField>]>((field_1: IDesignerField$1<UserField>): [UserField, IDesignerField$1<UserField>] => ([field_1.FieldType, field_1] as [UserField, IDesignerField$1<UserField>]), this.fields), {
52
+ Compare: compare,
53
+ });
54
+ }
55
+ }
56
+
57
+ export function RegisteredFields$1_$reflection(gen0: TypeInfo): TypeInfo {
58
+ return class_type("F1.Studio.Interfaces.RegisteredFields`1", [gen0], RegisteredFields$1);
59
+ }
60
+
61
+ export function RegisteredFields$1_$ctor_Z317E95AF<UserField>(fields: FSharpList<IDesignerField$1<UserField>>): RegisteredFields$1<UserField> {
62
+ return new RegisteredFields$1(fields);
63
+ }
64
+
65
+ export function RegisteredFields$1__get_AsList<UserField>(_: RegisteredFields$1<UserField>): FSharpList<IDesignerField$1<UserField>> {
66
+ return _.fields;
67
+ }
68
+
69
+ export function RegisteredFields$1__TryGetByKey_Z721C83C5<UserField>(_: RegisteredFields$1<UserField>, key: string): Option<IDesignerField$1<UserField>> {
70
+ return FSharpMap__TryFind(_.cachedMap, key);
71
+ }
72
+
73
+ export function RegisteredFields$1__GetByKey_Z721C83C5<UserField>(_: RegisteredFields$1<UserField>, key: string): IDesignerField$1<UserField> {
74
+ return FSharpMap__get_Item(_.cachedMap, key);
75
+ }
76
+
77
+ export function RegisteredFields$1__get_AsMap<UserField>(_: RegisteredFields$1<UserField>): FSharpMap<string, IDesignerField$1<UserField>> {
78
+ return _.cachedMap;
79
+ }
80
+
81
+ export function RegisteredFields$1__TryGetByFieldType_2B595<UserField>(_: RegisteredFields$1<UserField>, fieldType: UserField): Option<IDesignerField$1<UserField>> {
82
+ const matchValue: Option<IDesignerField$1<UserField>> = FSharpMap__TryFind(_.typeMap, fieldType);
83
+ if (matchValue == null) {
84
+ return RegisteredFields$1__tryMatchByCaseName<UserField>(_, fieldType, _.fields);
85
+ }
86
+ else {
87
+ return value(matchValue);
88
+ }
89
+ }
90
+
91
+ export function RegisteredFields$1__tryMatchByCaseName<UserField>(this$: RegisteredFields$1<UserField>, fieldType: UserField, registeredFields: FSharpList<IDesignerField$1<UserField>>): Option<IDesignerField$1<UserField>> {
92
+ const matchValue: any = fieldType;
93
+ if (matchValue instanceof Spec_FieldType) {
94
+ const ft = matchValue as Spec_FieldType_$union;
95
+ return tryFind<IDesignerField$1<UserField>>((field: IDesignerField$1<UserField>): boolean => Helpers_FieldTypeUtils_fieldTypesMatchByCaseName(fieldType, field.FieldType), registeredFields);
96
+ }
97
+ else {
98
+ return undefined;
99
+ }
100
+ }
101
+
102
+ export type FormComposeMode_$union =
103
+ | FormComposeMode<0>
104
+ | FormComposeMode<1>
105
+
106
+ export type FormComposeMode_$cases = {
107
+ 0: ["Editable", []],
108
+ 1: ["ReadOnly", []]
109
+ }
110
+
111
+ export function FormComposeMode_Editable() {
112
+ return new FormComposeMode<0>(0, []);
113
+ }
114
+
115
+ export function FormComposeMode_ReadOnly() {
116
+ return new FormComposeMode<1>(1, []);
117
+ }
118
+
119
+ export class FormComposeMode<Tag extends keyof FormComposeMode_$cases> extends Union<Tag, FormComposeMode_$cases[Tag][0]> {
120
+ constructor(readonly tag: Tag, readonly fields: FormComposeMode_$cases[Tag][1]) {
121
+ super();
122
+ }
123
+ cases() {
124
+ return ["Editable", "ReadOnly"];
125
+ }
126
+ }
127
+
128
+ export function FormComposeMode_$reflection(): TypeInfo {
129
+ return union_type("F1.Studio.Interfaces.FormComposeMode", [], FormComposeMode, () => [[], []]);
130
+ }
131
+
132
+ export class FormComposeState$2<UserField, FableFormModel> extends Record implements IEquatable<FormComposeState$2<UserField, FableFormModel>>, IComparable<FormComposeState$2<UserField, FableFormModel>> {
133
+ readonly ResultViewMode: FormComposeMode_$union;
134
+ readonly FormSpec: Spec_FormSpec$1<UserField>;
135
+ readonly DynamicForm: Values_DynamicForm$1<FableFormModel>;
136
+ readonly CurrentStep: int32;
137
+ readonly FormSaved: boolean;
138
+ constructor(ResultViewMode: FormComposeMode_$union, FormSpec: Spec_FormSpec$1<UserField>, DynamicForm: Values_DynamicForm$1<FableFormModel>, CurrentStep: int32, FormSaved: boolean) {
139
+ super();
140
+ this.ResultViewMode = ResultViewMode;
141
+ this.FormSpec = FormSpec;
142
+ this.DynamicForm = DynamicForm;
143
+ this.CurrentStep = (CurrentStep | 0);
144
+ this.FormSaved = FormSaved;
145
+ }
146
+ }
147
+
148
+ export function FormComposeState$2_$reflection(gen0: TypeInfo, gen1: TypeInfo): TypeInfo {
149
+ return record_type("F1.Studio.Interfaces.FormComposeState`2", [gen0, gen1], FormComposeState$2, () => [["ResultViewMode", FormComposeMode_$reflection()], ["FormSpec", Spec_FormSpec$1_$reflection(gen0)], ["DynamicForm", Values_DynamicForm$1_$reflection(gen1)], ["CurrentStep", int32_type], ["FormSaved", bool_type]]);
150
+ }
151
+
152
+ export class FormProcessor$2<UserField, FableFormModel> extends Record {
153
+ readonly Result: ((arg0: [int32, boolean]) => any);
154
+ readonly Calculator: ((arg0: FormComposeState$2<UserField, FableFormModel>) => [int32, boolean]);
155
+ constructor(Result: ((arg0: [int32, boolean]) => any), Calculator: ((arg0: FormComposeState$2<UserField, FableFormModel>) => [int32, boolean])) {
156
+ super();
157
+ this.Result = Result;
158
+ this.Calculator = Calculator;
159
+ }
160
+ }
161
+
162
+ export function FormProcessor$2_$reflection(gen0: TypeInfo, gen1: TypeInfo): TypeInfo {
163
+ return record_type("F1.Studio.Interfaces.FormProcessor`2", [gen0, gen1], FormProcessor$2, () => [["Result", lambda_type(tuple_type(int32_type, bool_type), obj_type)], ["Calculator", lambda_type(FormComposeState$2_$reflection(gen0, gen1), tuple_type(int32_type, bool_type))]]);
164
+ }
165
+
166
+ //# sourceMappingURL=Interfaces.ts.map