@hiver/connector-admin 1.0.1 → 1.1.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/form-fields/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtE,KAAK,SAAS,GAAG,cAAc,GAAG;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1E,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,SAAS,4CA0I1C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/form-fields/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtE,KAAK,SAAS,GAAG,cAAc,GAAG;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC5E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC1E,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,UAAU,UAAW,SAAS,4CA2I1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/auth/components/auth-form/index.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,eAAO,MAAM,QAAQ,kEAAmF,SAAS,4CAoMhH,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/auth/components/auth-form/index.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,YAAY,CAAC;CAC1B;AAED,eAAO,MAAM,QAAQ,kEAAmF,SAAS,4CAsNhH,CAAC"}
@@ -60,6 +60,7 @@ export declare const ADD_TO_OPTIONS: {
60
60
  readonly value: "queryParam";
61
61
  };
62
62
  };
63
+ export declare const DYNAMIC_AUTH_FORM: IFormConfig;
63
64
  export declare const BASE_AUTH_FORM: IFormConfig[];
64
65
  export declare const API_KEY_AUTH_FORM: IFormConfig[];
65
66
  export declare const OAUTH_FORM: IFormConfig[];
@@ -1 +1 @@
1
- {"version":3,"file":"form-config.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/constants/form-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI/D,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;CAUrB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;CAGpB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;CAGjB,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,WAAW,EAuBvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,WAAW,EA+C1C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,WAAW,EAmFnC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cA6CzB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,MAAM,IAAI,CAAC,OAAO,kBAAkB,EAAE,SAAS,CAAC,GAChD,MAAM,IAAI,CAAC,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,YAAY,CAU1E,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,kBAAkB,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,yBAAyB,CAAC;AAEtH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,aAAa,CAOjE,CAAC"}
1
+ {"version":3,"file":"form-config.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/constants/form-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAI/D,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;CAM5B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;CAUrB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;CAGpB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;CAGjB,CAAC;AAEX,eAAO,MAAM,iBAAiB,EAAE,WAG/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAAW,EAcvC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,WAAW,EA+C1C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,WAAW,EAmFnC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cA6CzB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB,MAAM,IAAI,CAAC,OAAO,kBAAkB,EAAE,SAAS,CAAC,GAChD,MAAM,IAAI,CAAC,OAAO,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,YAAY,CAU1E,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,kBAAkB,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,yBAAyB,CAAC;AAEtH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,aAAa,CAOjE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { JSONValue } from '../../../types/json';
2
+ import { FieldValue } from './form';
2
3
  export type AuthType = 'Oauth2' | 'ApiKey';
3
4
  export interface oAuthRequest {
4
5
  clientId: string;
@@ -22,6 +23,9 @@ export interface ApiKeyRequest {
22
23
  export interface EditAuthRequest {
23
24
  authDetails: oAuthRequest | ApiKeyRequest;
24
25
  baseUrl?: string;
26
+ variables?: {
27
+ [key: string]: FieldValue;
28
+ };
25
29
  }
26
30
  export interface AuthRequest extends EditAuthRequest {
27
31
  templateId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,YAAY,GAAG,aAAa,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,SAAS,GACT,cAAc,GACd,eAAe,GACf,YAAY,GACZ,aAAa,GACb,gBAAgB,CAAC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/types/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,YAAY,GAAG,aAAa,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,SAAS,GACT,cAAc,GACd,eAAe,GACf,YAAY,GACZ,aAAa,GACb,gBAAgB,CAAC"}
@@ -10,5 +10,10 @@ export declare const getAuthRequestBody: ({ isEdit, templateId, values, formFiel
10
10
  predicates: Predicates;
11
11
  }) => AuthRequest | EditAuthRequest;
12
12
  export declare function mapAuthApiDataToStateData(authData: IAuthDetails): Partial<Record<AuthFieldKeys, FieldValue>>;
13
+ export declare const getVariablesRequestData: (variablesConfig: FormFieldProps[], values: {
14
+ [key: string]: FieldValue;
15
+ }) => {
16
+ [key: string]: FieldValue;
17
+ };
13
18
  export declare const validateUrl: (url: unknown) => string | boolean;
14
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAa9C,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAA+B,MAAM,kBAAkB,CAAC;AAElG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,kBAAkB,2DAM5B;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3D,UAAU,EAAE,UAAU,CAAC;CACxB,KAAG,WAAW,GAAG,eAkDjB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CA+B5G;AAED,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,MAAM,GAAG,OAMnD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/features/auth/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAa9C,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAA+B,MAAM,kBAAkB,CAAC;AAElG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,kBAAkB,2DAM5B;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3D,UAAU,EAAE,UAAU,CAAC;CACxB,KAAG,WAAW,GAAG,eA6CjB,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CA+B5G;AAED,eAAO,MAAM,uBAAuB,oBAAqB,cAAc,EAAE,UAAU;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE;;CAQ/G,CAAC;AAEF,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,MAAM,GAAG,OAMnD,CAAC"}
@@ -2,7 +2,7 @@ import { ApiStatus } from '../../../types/api';
2
2
  import { ConnectorId, IConnectorDetails } from '../../../types/connector';
3
3
  export interface ConnectorState {
4
4
  connectors: {
5
- [ke: ConnectorId]: IConnectorDetails;
5
+ [x: ConnectorId]: IConnectorDetails;
6
6
  } | null;
7
7
  connectorList: ConnectorId[];
8
8
  connectorsApiStatus: ApiStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"initial-state.d.ts","sourceRoot":"","sources":["../../../../src/features/connector-library/store/initial-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,WAAW,GAAG,iBAAiB,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,mBAAmB,EAAE,SAAS,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yBAAyB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,wBAAwB,EAAE,SAAS,CAAC;IACpC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAGD,eAAO,MAAM,YAAY,EAAE,cAQ1B,CAAC"}
1
+ {"version":3,"file":"initial-state.d.ts","sourceRoot":"","sources":["../../../../src/features/connector-library/store/initial-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QAAE,CAAC,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3D,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,mBAAmB,EAAE,SAAS,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yBAAyB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,wBAAwB,EAAE,SAAS,CAAC;IACpC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC5C;AAGD,eAAO,MAAM,YAAY,EAAE,cAQ1B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { RootState } from '../../../store';
2
2
  export declare const selectConnectorList: (state: RootState) => string[];
3
3
  export declare const selectConnectors: (state: RootState) => {
4
- [ke: string]: import('../../../types/connector').IConnectorDetails;
4
+ [x: string]: import('../../../types/connector').IConnectorDetails;
5
5
  } | null;
6
6
  export declare const selectConnectorListApiStatus: (state: RootState) => import('../../../types/api').ApiStatus;
7
7
  export declare const selectCurrentConnector: (state: RootState) => string | null | undefined;