Browse code

pli bona laborado inter kliento kaj stirad-kromajxo

Fenris Wolf authored on28/08/2016 23:11:36
Showing1 changed files
... ...
@@ -56,69 +56,42 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
56 56
 	 */
57 57
 	public constructor
58 58
 	(
59
-		identigilo : string = null,
60
-		nomo : string = null,
61
-		priskribo : string = null,
62
-		uzo : string = null,
63
-		auxtoro : string = null,
64
-		starigi_ : (finado : (eraro ?: Error)=>void, memoro ?: Object)=>void = (finado => finado(null)),
65
-		reagi_ : (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void)=>void = null
59
+		datumoj :
60
+		{
61
+			identigilo ?: string;
62
+			nomo ?: string;
63
+			priskribo ?: string;
64
+			uzo ?: string;
65
+			auxtoro ?: string;
66
+			starigi ?: (finado : (eraro ?: Error)=>void, memoro ?: Object)=>void;
67
+			reagi ?: (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void)=>void;
68
+			vojo ?: string;
69
+		}
70
+		= {}
66 71
 	)
67 72
 	{
68
-		super(identigilo, nomo, priskribo, uzo, auxtoro);
69
-		this.starigi_ = starigi_;
70
-		this.reagi_ = reagi_;
71
-		this.vojo = null;
73
+		super(datumoj);
74
+		this.meti_valorojn_(datumoj, false);
72 75
 		this.memoro = {};
73 76
 	}
74 77
 	
75 78
 	
76 79
 	/**
80
+	 * @override
77 81
 	 * @author fenris
78 82
 	 */
79
-	public resxargi(fino : (eraro : Error)=>void = function (eraro : Error) : void {}) : void
83
+	public meti_valorojn_(datumoj : Object, ankaux_supraj : boolean = false) : void
80 84
 	{
81
-		let that : klaso_kromajxo_ekstera = this;
82
-		klaso_kromajxo_ekstera.sxargi
83
-		(
84
-			this.vojo,
85
-			function (eraro : Error, datumoj : Object) : void
86
-			{
87
-				if (eraro != null)
88
-				{
89
-					fino(eraro);
90
-				}
91
-				else
92
-				{
93
-					that.nomo = datumoj["nomo"];
94
-					that.priskribo = datumoj["priskribo"];
95
-					that.uzo = datumoj["uzo"];
96
-					that.auxtoro = datumoj["auxtoro"];
97
-					that.starigi_ = datumoj["starigi"];
98
-					that.reagi_ = datumoj["reagi"];
99
-					that.starigi
100
-					(
101
-						function (eraro_ : Error) : void
102
-						{
103
-							if (eraro_ != null)
104
-							{
105
-								fino(eraro_);
106
-							}
107
-							else
108
-							{
109
-								fino(null);
110
-							}
111
-						}
112
-					);
113
-				}
114
-			}
115
-		);
85
+		if (ankaux_supraj) this.meti_valorojn(datumoj);
86
+		this.vojo = alporti(datumoj, "vojo", null, 1);
87
+		this.starigi_ = alporti<(finado : (eraro ?: Error)=>void, memoro ?: Object)=>void>(datumoj, "starigi", (finado => finado(null)), 0);
88
+		this.reagi_ = alporti<(enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void)=>void>(datumoj, "reagi", null, 1);
116 89
 	}
117 90
 	
118 91
 	
119 92
 	/**
120
-	 * @author fenris
121 93
 	 * @override
94
+	 * @author fenris
122 95
 	 */
123 96
 	public starigi(finado : (eraro ?: Error)=>void) : void
124 97
 	{
... ...
@@ -127,8 +100,8 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
127 100
 	
128 101
 	
129 102
 	/**
130
-	 * @author fenris
131 103
 	 * @override
104
+	 * @author fenris
132 105
 	 */
133 106
 	protected reagi(enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void) : void
134 107
 	{
... ...
@@ -168,6 +141,45 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
168 141
 	}
169 142
 	
170 143
 	
144
+	/**
145
+	 * @author fenris
146
+	 */
147
+	public resxargi(fino : (eraro : Error)=>void = (eraro => {})) : void
148
+	{
149
+		let that : klaso_kromajxo_ekstera = this;
150
+		klaso_kromajxo_ekstera.sxargi
151
+		(
152
+			this.vojo,
153
+			function (eraro : Error, datumoj : Object) : void
154
+			{
155
+				if (eraro != null)
156
+				{
157
+					fino(eraro);
158
+				}
159
+				else
160
+				{
161
+					datumoj["vojo"] = that.vojo;
162
+					that.meti_valorojn_(datumoj, true);
163
+					that.starigi
164
+					(
165
+						function (eraro_ : Error) : void
166
+						{
167
+							if (eraro_ != null)
168
+							{
169
+								fino(eraro_);
170
+							}
171
+							else
172
+							{
173
+								fino(null);
174
+							}
175
+						}
176
+					);
177
+				}
178
+			}
179
+		);
180
+	}
181
+	
182
+	
171 183
 	/**
172 184
 	 * @author fenris
173 185
 	 */
... ...
@@ -184,17 +196,8 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
184 196
 				}
185 197
 				else
186 198
 				{
187
-					let kromajxo : klaso_kromajxo_ekstera = new klaso_kromajxo_ekstera
188
-					(
189
-						datumoj["identigilo"],
190
-						datumoj["nomo"],
191
-						datumoj["priskribo"],
192
-						datumoj["uzo"],
193
-						datumoj["auxtoro"],
194
-						datumoj["starigi"],
195
-						datumoj["reagi"]
196
-					);
197
-					kromajxo.vojo = vojo;
199
+					datumoj["vojo"] = vojo;
200
+					let kromajxo : klaso_kromajxo_ekstera = new klaso_kromajxo_ekstera(datumoj);
198 201
 					uzado(null, kromajxo);
199 202
 				}
200 203
 			}
Browse code

'starigi'-metodo por kromajxoj aldonitis

Fenris Wolf authored on11/06/2016 13:35:29
Showing1 changed files
... ...
@@ -45,6 +45,12 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
45 45
 	protected reagi_ : (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void, memoro ?: Object)=>void;
46 46
 	
47 47
 	
48
+	/**
49
+	 * @author fenris
50
+	 */
51
+	protected starigi_ : (finado : (eraro ?: Error)=>void, memoro ?: Object)=>void;
52
+	
53
+	
48 54
 	/**
49 55
 	 * @author fenris
50 56
 	 */
... ...
@@ -55,10 +61,12 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
55 61
 		priskribo : string = null,
56 62
 		uzo : string = null,
57 63
 		auxtoro : string = null,
58
-		reagi_ : (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void)=>void
64
+		starigi_ : (finado : (eraro ?: Error)=>void, memoro ?: Object)=>void = (finado => finado(null)),
65
+		reagi_ : (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void)=>void = null
59 66
 	)
60 67
 	{
61 68
 		super(identigilo, nomo, priskribo, uzo, auxtoro);
69
+		this.starigi_ = starigi_;
62 70
 		this.reagi_ = reagi_;
63 71
 		this.vojo = null;
64 72
 		this.memoro = {};
... ...
@@ -86,8 +94,22 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
86 94
 					that.priskribo = datumoj["priskribo"];
87 95
 					that.uzo = datumoj["uzo"];
88 96
 					that.auxtoro = datumoj["auxtoro"];
97
+					that.starigi_ = datumoj["starigi"];
89 98
 					that.reagi_ = datumoj["reagi"];
90
-					fino(null);
99
+					that.starigi
100
+					(
101
+						function (eraro_ : Error) : void
102
+						{
103
+							if (eraro_ != null)
104
+							{
105
+								fino(eraro_);
106
+							}
107
+							else
108
+							{
109
+								fino(null);
110
+							}
111
+						}
112
+					);
91 113
 				}
92 114
 			}
93 115
 		);
... ...
@@ -96,6 +118,17 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
96 118
 	
97 119
 	/**
98 120
 	 * @author fenris
121
+	 * @override
122
+	 */
123
+	public starigi(finado : (eraro ?: Error)=>void) : void
124
+	{
125
+		this.starigi_(finado, this.memoro);
126
+	}
127
+	
128
+	
129
+	/**
130
+	 * @author fenris
131
+	 * @override
99 132
 	 */
100 133
 	protected reagi(enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void) : void
101 134
 	{
... ...
@@ -158,6 +191,7 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
158 191
 						datumoj["priskribo"],
159 192
 						datumoj["uzo"],
160 193
 						datumoj["auxtoro"],
194
+						datumoj["starigi"],
161 195
 						datumoj["reagi"]
162 196
 					);
163 197
 					kromajxo.vojo = vojo;
Browse code

malgranda gxisdatigajxo

Fenris Wolf authored on22/05/2016 12:30:14
Showing1 changed files
... ...
@@ -53,11 +53,12 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
53 53
 		identigilo : string = null,
54 54
 		nomo : string = null,
55 55
 		priskribo : string = null,
56
+		uzo : string = null,
56 57
 		auxtoro : string = null,
57 58
 		reagi_ : (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void)=>void
58 59
 	)
59 60
 	{
60
-		super(identigilo, nomo, priskribo, auxtoro);
61
+		super(identigilo, nomo, priskribo, uzo, auxtoro);
61 62
 		this.reagi_ = reagi_;
62 63
 		this.vojo = null;
63 64
 		this.memoro = {};
... ...
@@ -83,6 +84,7 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
83 84
 				{
84 85
 					that.nomo = datumoj["nomo"];
85 86
 					that.priskribo = datumoj["priskribo"];
87
+					that.uzo = datumoj["uzo"];
86 88
 					that.auxtoro = datumoj["auxtoro"];
87 89
 					that.reagi_ = datumoj["reagi"];
88 90
 					fino(null);
... ...
@@ -154,6 +156,7 @@ class klaso_kromajxo_ekstera extends klaso_kromajxo
154 156
 						datumoj["identigilo"],
155 157
 						datumoj["nomo"],
156 158
 						datumoj["priskribo"],
159
+						datumoj["uzo"],
157 160
 						datumoj["auxtoro"],
158 161
 						datumoj["reagi"]
159 162
 					);
Browse code

unua enmetajxo

Fenris Wolf authored on13/05/2016 11:03:38
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,168 @@
1
+/*
2
+	
3
+	IRC-Bot "Kvasir"
4
+    Copyright (C) 2016	Fenris Wolf (fenris@folksprak.org)
5
+	
6
+    This program is free software: you can redistribute it and/or modify
7
+    it under the terms of the GNU General Public License as published by
8
+    the Free Software Foundation, either version 3 of the License, or
9
+    (at your option) any later version.
10
+	
11
+    This program is distributed in the hope that it will be useful,
12
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
+    GNU General Public License for more details.
15
+	
16
+    You should have received a copy of the GNU General Public License
17
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
+       
19
+*/
20
+
21
+var _fs = require("fs");
22
+
23
+	
24
+/**
25
+ * @author fenris
26
+ */
27
+class klaso_kromajxo_ekstera extends klaso_kromajxo
28
+{
29
+	
30
+	/**
31
+	 * @author fenris
32
+	 */
33
+	protected vojo : string;
34
+	
35
+	
36
+	/**
37
+	 * @author fenris
38
+	 */
39
+	protected memoro : Object;
40
+	
41
+	
42
+	/**
43
+	 * @author fenris
44
+	 */
45
+	protected reagi_ : (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void, memoro ?: Object)=>void;
46
+	
47
+	
48
+	/**
49
+	 * @author fenris
50
+	 */
51
+	public constructor
52
+	(
53
+		identigilo : string = null,
54
+		nomo : string = null,
55
+		priskribo : string = null,
56
+		auxtoro : string = null,
57
+		reagi_ : (enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void)=>void
58
+	)
59
+	{
60
+		super(identigilo, nomo, priskribo, auxtoro);
61
+		this.reagi_ = reagi_;
62
+		this.vojo = null;
63
+		this.memoro = {};
64
+	}
65
+	
66
+	
67
+	/**
68
+	 * @author fenris
69
+	 */
70
+	public resxargi(fino : (eraro : Error)=>void = function (eraro : Error) : void {}) : void
71
+	{
72
+		let that : klaso_kromajxo_ekstera = this;
73
+		klaso_kromajxo_ekstera.sxargi
74
+		(
75
+			this.vojo,
76
+			function (eraro : Error, datumoj : Object) : void
77
+			{
78
+				if (eraro != null)
79
+				{
80
+					fino(eraro);
81
+				}
82
+				else
83
+				{
84
+					that.nomo = datumoj["nomo"];
85
+					that.priskribo = datumoj["priskribo"];
86
+					that.auxtoro = datumoj["auxtoro"];
87
+					that.reagi_ = datumoj["reagi"];
88
+					fino(null);
89
+				}
90
+			}
91
+		);
92
+	}
93
+	
94
+	
95
+	/**
96
+	 * @author fenris
97
+	 */
98
+	protected reagi(enigo_kruda : Object, eligi : (eligo_kruda : Object)=>void) : void
99
+	{
100
+		this.reagi_(enigo_kruda, eligi, this.memoro);
101
+	}
102
+	
103
+
104
+	/**
105
+	 * @author fenris
106
+	 */
107
+	protected static sxargi(vojo : string, uzado : (eraro : Error, datumoj : Object)=>void) : void
108
+	{
109
+		_fs.readFile
110
+		(
111
+			vojo,
112
+			{"encoding": "utf8", "flag": "r"},
113
+			function (eraro : Error, enhavo : string) : void
114
+			{
115
+				if (eraro != null)
116
+				{
117
+					uzado(eraro, null);
118
+				}
119
+				else
120
+				{
121
+					try
122
+					{
123
+						let datumoj : Object = eval("(function () {return (" + enhavo + ");})()");
124
+						uzado(null, datumoj);
125
+					}
126
+					catch (escepto)
127
+					{
128
+						uzado(new Error(String(escepto)), null);
129
+					}
130
+				}
131
+			}
132
+		);
133
+	}
134
+	
135
+	
136
+	/**
137
+	 * @author fenris
138
+	 */
139
+	public static krei(vojo : string, uzado : (eraro : Error, kromajxo : klaso_kromajxo_ekstera)=>void) : void
140
+	{
141
+		klaso_kromajxo_ekstera.sxargi
142
+		(
143
+			vojo,
144
+			function (eraro : Error, datumoj : Object) : void
145
+			{
146
+				if (eraro != null)
147
+				{
148
+					uzado(eraro, null);
149
+				}
150
+				else
151
+				{
152
+					let kromajxo : klaso_kromajxo_ekstera = new klaso_kromajxo_ekstera
153
+					(
154
+						datumoj["identigilo"],
155
+						datumoj["nomo"],
156
+						datumoj["priskribo"],
157
+						datumoj["auxtoro"],
158
+						datumoj["reagi"]
159
+					);
160
+					kromajxo.vojo = vojo;
161
+					uzado(null, kromajxo);
162
+				}
163
+			}
164
+		);
165
+	}
166
+	
167
+}
168
+