@@ -39,7 +39,7 @@ export type VirksomhetsvelgerProps = {
39
39
*/
40
40
orgnrSearchParam ?: OrgnrSearchParamType ;
41
41
friKomponent ?: boolean ;
42
- maxWidth ?: string
42
+ maxWidth ?: string ;
43
43
/** @deprecated not in use. field preserved for api stability. */
44
44
amplitudeClient ?: any ;
45
45
} ;
@@ -87,29 +87,75 @@ type Organisasjonstre = {
87
87
underenheter : Organisasjonstre [ ] ;
88
88
} ;
89
89
90
-
91
90
export const flatUtOrganisasjonstre = ( organisasjonstre : Organisasjonstre [ ] ) : Organisasjon [ ] => {
92
- const kutter = ( parent : Organisasjonstre , parentOrgNr : String = "" ) : Organisasjon [ ] => {
93
- return parent . underenheter . flatMap ( ( child , i ) => {
94
- if ( child . underenheter . length > 0 ) {
95
- return kutter ( child , parent . orgNr )
96
- } else {
97
- return [
98
- ...[ i === 0 ? {
99
- Name : parent . name ,
100
- OrganizationNumber : parent . orgNr ,
101
- OrganizationForm : parent . organizationForm ,
102
- ParentOrganizationNumber : parentOrgNr ,
103
- } : null ] ,
104
- {
105
- Name : child . name ,
106
- OrganizationNumber : child . orgNr ,
107
- OrganizationForm : child . organizationForm ,
108
- ParentOrganizationNumber : parent . orgNr ,
109
- } ,
110
- ] ;
111
- }
112
- } ) . filter ( x => x !== null ) as Organisasjon [ ] ;
91
+ const kutter = ( parent : Organisasjonstre , parentOrgNr : String = '' ) : Organisasjon [ ] => {
92
+ return parent . underenheter
93
+ . flatMap ( ( child , i ) => {
94
+ if ( child . underenheter . length > 0 ) {
95
+ return kutter ( child , parent . orgNr ) ;
96
+ } else {
97
+ return [
98
+ ...[
99
+ i === 0
100
+ ? {
101
+ Name : parent . name ,
102
+ OrganizationNumber : parent . orgNr ,
103
+ OrganizationForm : parent . organizationForm ,
104
+ ParentOrganizationNumber : parentOrgNr ,
105
+ }
106
+ : null ,
107
+ ] ,
108
+ {
109
+ Name : child . name ,
110
+ OrganizationNumber : child . orgNr ,
111
+ OrganizationForm : child . organizationForm ,
112
+ ParentOrganizationNumber : parent . orgNr ,
113
+ } ,
114
+ ] ;
115
+ }
116
+ } )
117
+ . filter ( ( x ) => x !== null ) as Organisasjon [ ] ;
118
+ } ;
119
+ return organisasjonstre . flatMap ( ( o ) => kutter ( o ) ) ;
120
+ } ;
121
+
122
+ type OrganisasjonstreV2 = {
123
+ navn : string ;
124
+ orgnr : string ;
125
+ organisasjonsform : string ;
126
+ underenheter : OrganisasjonstreV2 [ ] ;
127
+ } ;
128
+
129
+ export const flatUtOrganisasjonstreV2 = (
130
+ organisasjonstre : OrganisasjonstreV2 [ ]
131
+ ) : Organisasjon [ ] => {
132
+ const kutter = ( parent : OrganisasjonstreV2 , parentOrgNr : String = '' ) : Organisasjon [ ] => {
133
+ return parent . underenheter
134
+ . flatMap ( ( child , i ) => {
135
+ if ( child . underenheter . length > 0 ) {
136
+ return kutter ( child , parent . orgnr ) ;
137
+ } else {
138
+ return [
139
+ ...[
140
+ i === 0
141
+ ? {
142
+ Name : parent . navn ,
143
+ OrganizationNumber : parent . orgnr ,
144
+ OrganizationForm : parent . organisasjonsform ,
145
+ ParentOrganizationNumber : parentOrgNr ,
146
+ }
147
+ : null ,
148
+ ] ,
149
+ {
150
+ Name : child . navn ,
151
+ OrganizationNumber : child . orgnr ,
152
+ OrganizationForm : child . organisasjonsform ,
153
+ ParentOrganizationNumber : parent . orgnr ,
154
+ } ,
155
+ ] ;
156
+ }
157
+ } )
158
+ . filter ( ( x ) => x !== null ) as Organisasjon [ ] ;
113
159
} ;
114
160
return organisasjonstre . flatMap ( ( o ) => kutter ( o ) ) ;
115
161
} ;
0 commit comments