Salut A tous,
Après plusieurs ébauche en es6 j'ai commencé à travailler sur typescript.
Sur les grande lignes je voudrait transformer un fichier JSON sur plusieurs niveaux(Recursivité)
Je l'ai fait avec es6 et un map(finalement pas concluent pour moi) vu que je travail avec typescript.
idealement je voudrait créer un classe pour cela voici ma première classe pour mes type primitfs:
et pour ma classe pour les types un a plusieurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 export namespace ValueModule{ export interface IValue { _keyValue:string; _userValue:string; } export class Value implements IValue{ _keyValue : string; _userValue : string; constructor(keyValue: string, userValue: string) { this._keyValue = keyValue; this._userValue = userValue; } get keyValue(): string { return this._keyValue; } set keyValue(value: string) { this._keyValue = value; } get userValue(): string { return this._userValue; } set userValue(value: string) { this._userValue = value; } } }
et ma fonction dont je n'arrive pas a transposer le tous en modèle objets:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 import {ValueModule} from "./Value"; export namespace ValueArrayModule{ import Value = ValueModule.Value; export interface IValuesArray{ _keyValue?:string; _arrayValues?:Array<Value>; } export class ValueArray implements IValuesArray{ public _keyValue : string; public _arrayValues : Array<Value>; constructor(keyValue:string,arrayValues:Array<Value>) { this._keyValue = keyValue; this._arrayValues = arrayValues; } get keyValue(): string { return this._keyValue; } set keyValue(value: string) { this._keyValue = value; } get arrayValues(): Array<Value> { return this._arrayValues; } set arrayValues(value: Array<Value>) { this._arrayValues = value; } } }
je sais si mes instanciation sont exact ou non..
j'ai une erreur de ce type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function compare(baseKeys,mPerm) { mPerm={}; Object.keys(baseKeys).forEach(key =>{ if(baseKeys.hasOwnProperty(key)) { if(typeof baseKeys[key] !== 'object') { mPerm= new Value(key, baseKeys[key]); } else { compare(baseKeys[key],mPerm); mPerm = new ValueArray(key,baseKeys[key]); } } }); return mPerm }
Code : Sélectionner tout - Visualiser dans une fenêtre à part TypeError: Cannot read property 'Value' of undefined
Partager