@socotra/ec-react-utils 2.3.0-next.4 → 2.3.0-next.5
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/dist/index.d.ts +55 -100
- package/dist/index.es.js +403 -359
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -10,15 +10,6 @@ import { ProductConfig } from '@socotra/ec-react-schemas';
|
|
|
10
10
|
import { QuoteRequest } from '@socotra/ec-react-schemas';
|
|
11
11
|
import { QuoteResponse } from '@socotra/ec-react-schemas';
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* The function `dataModelToJSONSchema` converts a data model to a JSON schema based on specified
|
|
15
|
-
* criteria and data types.
|
|
16
|
-
* @param {DataModelToJsonSchemaProps} args - The `dataModelToJSONSchema` function takes in an object
|
|
17
|
-
* `args` with the following properties:
|
|
18
|
-
* @returns The function `dataModelToJSONSchema` returns a JSON schema object based on the provided
|
|
19
|
-
* arguments `args`. The JSON schema object includes properties, definitions, required fields, and
|
|
20
|
-
* other schema details based on the input data model and configuration.
|
|
21
|
-
*/
|
|
22
13
|
export declare const dataModelToJSONSchema: (args: DataModelToJsonSchemaProps) => JsonSchema7;
|
|
23
14
|
|
|
24
15
|
declare interface DataModelToJsonSchemaProps {
|
|
@@ -31,29 +22,12 @@ declare interface DataModelToJsonSchemaProps {
|
|
|
31
22
|
element?: ElementResponse;
|
|
32
23
|
}
|
|
33
24
|
|
|
34
|
-
/**
|
|
35
|
-
* The function `extractElementDataModel` extracts element data model based on a given quote, data
|
|
36
|
-
* model, and element locator.
|
|
37
|
-
* @param - - `quote`: A QuoteResponse object containing information about a quote.
|
|
38
|
-
* @returns The function `extractElementDataModel` returns either an `ElementConfig` object or `false`
|
|
39
|
-
* based on the provided parameters and data model.
|
|
40
|
-
*/
|
|
41
25
|
export declare const extractElementDataModel: ({ dataModel, quote, elementLocator, }: {
|
|
42
26
|
quote: QuoteResponse;
|
|
43
27
|
dataModel: DataModel;
|
|
44
28
|
elementLocator: string;
|
|
45
29
|
}) => ElementConfig | false;
|
|
46
30
|
|
|
47
|
-
/**
|
|
48
|
-
* The function `extractElementFromQuote` takes a `QuoteResponse` object and an element locator string,
|
|
49
|
-
* and returns the element with the matching locator from the quote or its nested elements.
|
|
50
|
-
* @param {QuoteResponse} quote - The `quote` parameter is of type `QuoteResponse`, which is an object
|
|
51
|
-
* containing information about a quote.
|
|
52
|
-
* @param {string} elementLocator - The `elementLocator` parameter is a string that represents the
|
|
53
|
-
* locator of the element you want to extract from the `quote` object.
|
|
54
|
-
* @returns The function `extractElementFromQuote` returns the element from the `QuoteResponse` object
|
|
55
|
-
* that matches the provided `elementLocator`.
|
|
56
|
-
*/
|
|
57
31
|
export declare const extractElementFromQuote: (quote: QuoteResponse, elementLocator: string) => false | ({
|
|
58
32
|
locator: string;
|
|
59
33
|
type: string;
|
|
@@ -76,35 +50,6 @@ export declare const extractElementFromQuote: (quote: QuoteResponse, elementLoca
|
|
|
76
50
|
} & any)[];
|
|
77
51
|
});
|
|
78
52
|
|
|
79
|
-
export declare const extractElementsFromQuote: (elements: Array<ElementResponse>, elementType: string) => ({
|
|
80
|
-
locator: string;
|
|
81
|
-
type: string;
|
|
82
|
-
staticLocator: string;
|
|
83
|
-
data?: Record<string, any> | undefined;
|
|
84
|
-
coverageTerms?: Record<string, string> | undefined;
|
|
85
|
-
rootLocator?: string | undefined;
|
|
86
|
-
tenantLocator?: string | undefined;
|
|
87
|
-
parentLocator?: string | undefined;
|
|
88
|
-
} & {
|
|
89
|
-
elements?: ({
|
|
90
|
-
locator: string;
|
|
91
|
-
type: string;
|
|
92
|
-
staticLocator: string;
|
|
93
|
-
data?: Record<string, any> | undefined;
|
|
94
|
-
coverageTerms?: Record<string, string> | undefined;
|
|
95
|
-
rootLocator?: string | undefined;
|
|
96
|
-
tenantLocator?: string | undefined;
|
|
97
|
-
parentLocator?: string | undefined;
|
|
98
|
-
} & any)[];
|
|
99
|
-
})[];
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* The function `extractProductDataModel` extracts product data model based on the product name from a
|
|
103
|
-
* given data model.
|
|
104
|
-
* @param - The `extractProductDataModel` function takes in two parameters:
|
|
105
|
-
* @returns The function `extractProductDataModel` returns the product configuration data for the
|
|
106
|
-
* specified product name from the provided data model.
|
|
107
|
-
*/
|
|
108
53
|
export declare const extractProductDataModel: ({ dataModel, element: { productName }, }: {
|
|
109
54
|
element: {
|
|
110
55
|
productName: string;
|
|
@@ -112,41 +57,13 @@ export declare const extractProductDataModel: ({ dataModel, element: { productNa
|
|
|
112
57
|
dataModel: DataModel;
|
|
113
58
|
}) => ProductConfig;
|
|
114
59
|
|
|
115
|
-
|
|
116
|
-
* The function `extractProductElements` extracts specific elements from a data model based on a
|
|
117
|
-
* product data model configuration.
|
|
118
|
-
* @param - The `extractProductElements` function takes in two parameters:
|
|
119
|
-
* @returns The function `extractProductElements` returns a `ProductElementMap` object containing
|
|
120
|
-
* elements related to coverages, exposures, policy lines, and exposure groups that are available based
|
|
121
|
-
* on the provided `dataModel` and `productDataModel`.
|
|
122
|
-
*/
|
|
123
|
-
export declare const extractProductElements: ({ dataModel, contents, }: {
|
|
60
|
+
export declare const extractProductElements: ({ dataModel, productDataModel, }: {
|
|
124
61
|
dataModel: DataModel;
|
|
125
|
-
|
|
62
|
+
productDataModel: ProductConfig;
|
|
126
63
|
}) => ProductElementMap;
|
|
127
64
|
|
|
128
|
-
/**
|
|
129
|
-
* The function `getDefaultElementValues` returns a partial copy of an ElementResponse object with
|
|
130
|
-
* default values for coverageTerms if not provided.
|
|
131
|
-
* @param {ElementResponse} element - The `element` parameter in the `getDefaultElementValues` function
|
|
132
|
-
* is of type `ElementResponse`, which contains data related to an element in a system or
|
|
133
|
-
* application.
|
|
134
|
-
* @returns A partial ElementResponse object is being returned, with the data from the input element
|
|
135
|
-
* and the coverageTerms property set to element.coverageTerms if it exists, otherwise an empty object.
|
|
136
|
-
*/
|
|
137
65
|
export declare const getDefaultElementValues: (element: ElementResponse) => Partial<ElementResponse>;
|
|
138
66
|
|
|
139
|
-
/**
|
|
140
|
-
* The `getDefaultQuoteValues` function extracts default values from a `QuoteResponse`
|
|
141
|
-
* object and sets them based on certain conditions.
|
|
142
|
-
* @param {QuoteResponse} quote - The `getDefaultQuoteValues` function takes in three parameters:
|
|
143
|
-
* @param {ProductConfig} productModel - The `productModel` parameter in the `getDefaultQuoteValues`
|
|
144
|
-
* function represents the configuration settings for a specific product.
|
|
145
|
-
* @param {DataModel} dataModel - The `dataModel` parameter in the `getDefaultQuoteValues` function
|
|
146
|
-
* represents the data model used in the context of generating default values for a quote.
|
|
147
|
-
* @returns The `getDefaultQuoteValues` function returns an object with properties `default` and
|
|
148
|
-
* `advanced`.
|
|
149
|
-
*/
|
|
150
67
|
export declare const getDefaultQuoteValues: (quote: QuoteResponse, productModel: ProductConfig, dataModel: DataModel) => {
|
|
151
68
|
default: {
|
|
152
69
|
expirationTime?: string | undefined;
|
|
@@ -164,14 +81,23 @@ export declare const getDefaultQuoteValues: (quote: QuoteResponse, productModel:
|
|
|
164
81
|
};
|
|
165
82
|
};
|
|
166
83
|
|
|
84
|
+
export declare const getQuoteElementRequest: ({ formData, locator, }: GetQuoteElementRequestAttributes) => QuoteRequest;
|
|
85
|
+
|
|
86
|
+
declare type GetQuoteElementRequestAttributes = {
|
|
87
|
+
formData: {
|
|
88
|
+
[key: string]: unknown;
|
|
89
|
+
};
|
|
90
|
+
locator: string;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export declare const getQuoteRequest: ({ data }: QuoteFormData) => QuoteRequest;
|
|
94
|
+
|
|
167
95
|
/**
|
|
168
|
-
*
|
|
169
|
-
* @param
|
|
170
|
-
*
|
|
171
|
-
* @returns The function `getQuoteRequest` returns a `QuoteRequest` object based on the provided
|
|
172
|
-
* `QuoteFormData` data.
|
|
96
|
+
* Takes an element type and splits the postfix scope from the base model name. E.g., 'PersonalAutoQuote' becomes ['PersonalAuto', 'Quote']
|
|
97
|
+
* @param elementType The element type to parse, e.g. `element.type` from an `ElementResponse`
|
|
98
|
+
* @returns [elementName: string, scope: 'Quote' | 'QuickQuote' | 'Policy' | null]
|
|
173
99
|
*/
|
|
174
|
-
export declare const
|
|
100
|
+
export declare const parseElementTypeAndScopeByElementType: (elementType: string) => [elementName: string, scope: "Quote" | "QuickQuote" | "Policy" | null];
|
|
175
101
|
|
|
176
102
|
declare type ProductElement = Record<string, ElementConfig>;
|
|
177
103
|
|
|
@@ -203,16 +129,45 @@ declare interface QuoteFormData {
|
|
|
203
129
|
}
|
|
204
130
|
|
|
205
131
|
/**
|
|
206
|
-
*
|
|
207
|
-
*
|
|
208
|
-
* @param
|
|
209
|
-
*
|
|
210
|
-
* the input string, while the name is the input string with certain characters (? * ! +) removed.
|
|
211
|
-
* @returns The function `splitInputAndQuantifier` returns an object with two properties:
|
|
212
|
-
* - `name`: a string that is the input with any of the characters '?', '*', '!', or '+' removed
|
|
213
|
-
* - `quantifier`: a string that represents the quantifier found at the end of the input string, or an
|
|
214
|
-
* empty string if no quantifier is found
|
|
132
|
+
* Looks through a data model for a matching element type and returns the element model
|
|
133
|
+
* @param element The element to retrieve the data model for
|
|
134
|
+
* @param dataModel The full resolved data model to search
|
|
135
|
+
* @returns ElementConfig
|
|
215
136
|
*/
|
|
137
|
+
export declare function retrieveDataModelFromElement(element: ElementResponse, dataModel: DataModel): {
|
|
138
|
+
displayName?: string | undefined;
|
|
139
|
+
abstract?: boolean | undefined;
|
|
140
|
+
extend?: string | undefined;
|
|
141
|
+
data?: Record<string, {
|
|
142
|
+
options?: string[] | undefined;
|
|
143
|
+
type?: string | undefined;
|
|
144
|
+
displayName?: string | undefined;
|
|
145
|
+
defaultValue?: string | undefined;
|
|
146
|
+
minLength?: number | undefined;
|
|
147
|
+
maxLength?: number | undefined;
|
|
148
|
+
regex?: string | undefined;
|
|
149
|
+
min?: string | undefined;
|
|
150
|
+
multiline?: boolean | undefined;
|
|
151
|
+
max?: string | undefined;
|
|
152
|
+
overrides?: string | undefined;
|
|
153
|
+
scope?: string | undefined;
|
|
154
|
+
inherited?: boolean | undefined;
|
|
155
|
+
precision?: number | undefined;
|
|
156
|
+
readOnly?: boolean | undefined;
|
|
157
|
+
}> | undefined;
|
|
158
|
+
contents?: string[] | undefined;
|
|
159
|
+
coverageTerms?: string[] | undefined;
|
|
160
|
+
charges?: string[] | undefined;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Takes the root element of a quote and a locator and returns the element with the matching locator
|
|
165
|
+
* @param quoteElement The root element from the QuoteResponse
|
|
166
|
+
* @param locator The locator of the element to retrieve
|
|
167
|
+
* @returns ElementResponse | undefined
|
|
168
|
+
*/
|
|
169
|
+
export declare function retrieveElementFromQuoteByLocator(quoteElement: ElementResponse, locator: string): ElementResponse | undefined;
|
|
170
|
+
|
|
216
171
|
export declare const splitInputAndQuantifier: (input: string | undefined) => {
|
|
217
172
|
name: string;
|
|
218
173
|
quantifier: "" | "*" | "?" | "+" | "!";
|