mockba 0.3.0 → 0.3.2

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/MOCKBA CHANGED
@@ -1,11 +1,55 @@
1
1
  #!/usr/bin/env node
2
2
  var MOCKBA = require('.')
3
3
 
4
- // get certain args and pass them?
5
- var москва = new MOCKBA({
6
- translate: 'ru',
7
- printRu: true,
8
- skip:['страна','регион','местоположение'],
9
- })
4
+ var args=process.argv
5
+
6
+ var json=process.argv.find(a=>a=='-json')
7
+ var js=process.argv.find(a=>a=='-js')
8
+ var ru=process.argv.find(a=>a=='-ru')
9
+ // var json=process.argv.find(a=>a=='-ru')
10
+
11
+ if(json) {
12
+ var москва = new MOCKBA({
13
+ disableIndicator:true,
14
+ json:true,
15
+ ...(ru?{translate:'ru'}:void 0),
16
+ })
17
+ } else if(js) {
18
+ var москва = new MOCKBA({
19
+ disableIndicator:true,
20
+ js:true,
21
+ ...(ru?{translate:'ru'}:void 0),
22
+ })
23
+ } else {
24
+ var москва = new MOCKBA({
25
+ human:true,
26
+ ...(ru?{
27
+ skip:['страна','регион','местоположение'],
28
+ translate:'ru',
29
+ }:null),
30
+ })
31
+ }
32
+
33
+ // if(rujson) {
34
+ // var москва = new MOCKBA({
35
+ // translate: 'ru',
36
+ // json:true,
37
+ // disableIndicator:true,
38
+ // })
39
+ // } else if(rujs) {
40
+ // var москва = new MOCKBA({
41
+ // translate: 'ru',
42
+ // js:true,
43
+ // disableIndicator:true,
44
+ // })
45
+ // }
46
+ // else {
47
+ // var москва = new MOCKBA({
48
+ // translate: 'ru',
49
+ // printRu: true,
50
+ // skip:['страна','регион','местоположение'],
51
+ // })
52
+ // }
53
+
10
54
 
11
55
  москва()
package/changes.md CHANGED
@@ -1,7 +1,8 @@
1
1
  ## 30 jan 2026
2
2
 
3
- ### v0.3.0
3
+ ### v0.3.1
4
4
 
5
+ - print json and js formats, better cli
5
6
  - print each dashboard item in ru
6
7
  - fetch moscow data with loading indicator
7
8
 
package/index.js CHANGED
@@ -9,7 +9,9 @@ class MOCKBA extends Moskva {
9
9
  disableIndicator = false
10
10
  /** @type {boolean} */
11
11
  logFetch = false
12
- printRu = false
12
+ // printRu = false
13
+ human = void 0
14
+ json = false
13
15
  skip=[]
14
16
  период_осреднения=null
15
17
  static get emojiMap() {
@@ -37,7 +39,9 @@ class MOCKBA extends Moskva {
37
39
  'период_осреднения':'📊 Период осреднения'
38
40
  }))
39
41
  }
40
- // skip=['страна','регион','местоположение']
42
+ printWeather(obj){
43
+ return this.printRuWeather(obj)
44
+ }
41
45
  printRuWeather(obj){
42
46
  this.printObj(obj,'')
43
47
  }
@@ -59,7 +63,7 @@ class MOCKBA extends Moskva {
59
63
  printObj(o,prefix){
60
64
  // период_осреднения =
61
65
  for(var k in o){
62
- if(this.skip.includes(k)) {
66
+ if(this.skip&&this.skip.includes(k)) {
63
67
  continue
64
68
  }
65
69
  var logNl=console.log
@@ -186,8 +190,8 @@ class MOCKBA extends Moskva {
186
190
 
187
191
  async вып() {
188
192
  if(!this.printRu){
189
- super.вып()
190
- log('🔺МОСКВА🔺 runtime on Moskva')
193
+ // super.вып()
194
+ // log('🔺МОСКВА🔺 runtime on Moskva')
191
195
  }
192
196
  try {
193
197
  if(this.logFetch) {
@@ -204,13 +208,34 @@ class MOCKBA extends Moskva {
204
208
  var data = this.process(t)
205
209
  // послеВып
206
210
  if(this.translate=='ru') {
207
- data= this.convertToRussianFull(data)
211
+ data=this.convertToRussianFull(data)
208
212
  }
209
- if(this.printRu) {
210
- this.printRuWeather(data)
211
- }else {
213
+
214
+ // if(this.human) {
215
+ // if(!this.translate) {
216
+ // this.printWeather(data)
217
+ // }else if(this.translate=='ru') {
218
+ // this.printRuWeather(data)
219
+ // }else {
220
+ // throw new Error('Translate not supported '+this.translate)
221
+ // }
222
+ // }else
223
+ if (this.json) {
224
+ log(JSON.stringify(data,null,1))
225
+ } else if (this.js) {
212
226
  log(data)
227
+ } else {
228
+ if(!this.translate) {
229
+ this.printWeather(data)
230
+ }else if(this.translate=='ru') {
231
+ this.printRuWeather(data)
232
+ }else {
233
+ throw new Error('Translate not supported '+this.translate)
234
+ }
213
235
  }
236
+ // else {
237
+ // // log(JSON.stringify(data,null,1))
238
+ // }
214
239
  // return data // if print then show print
215
240
  }
216
241
  parseDate(str){
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mockba",
3
3
  "homepage": "https://рантайм.москва",
4
- "version": "0.3.0",
4
+ "version": "0.3.2",
5
5
  "license": "CC-BY-ND-4.0",
6
6
  "dependencies": {
7
7
  "indicatrix": "^1.4.1",
package/readme.md CHANGED
@@ -6,8 +6,13 @@
6
6
 
7
7
  ```sh
8
8
  yarn add mockba
9
+ yarn MOCKBA # use
9
10
  ```
10
11
 
12
+ ###
13
+
14
+ The package can be imported directly and run with configuration:
15
+
11
16
  ```js
12
17
  var МОСКВА=require('MOCKBA')
13
18
 
@@ -19,35 +24,147 @@ var москва = new MOCKBA({
19
24
  москва()
20
25
  ```
21
26
 
22
- The package outputs the relevant meteorological information about the location.
27
+ ## CLI
28
+
29
+ By default, the package' binary MOCKBA outputs the relevant meteorological
30
+ information about the city in the local human-readable format which is
31
+ equivalent to invoking the API example above.
23
32
 
24
33
  ```sh
25
- Время наблюдения: 30 янв. 15:00
26
- 🌡️ Атм. давление (мм рт.ст.): 751
27
- 🌡️ Температура (°C): -12.7
28
- 💧 Влажность (%): 73.2
29
- 🧭 Направление ветра: N-W
30
- 🌬️ Скорость ветра (м/с): 3
31
- 👀 Видимость (км): 19
32
- 📊 Долгосрочные наблюдения:
33
- ❄️ Мин. температура (°C): -35.7
34
- 📅 Год мин. температуры: 1956
35
- ☀️ Макс. температура (°C): 3
36
- 📅 Год макс. температуры: 2016
37
- 🌧️ Макс. осадки (мм): 10
38
- 📅 Год макс. осадков: 1983
39
- 📆 Среднемесячные показатели (январь):
40
- 🌡️ Средняя температура (°C): -35.7
41
- 🌧️ Осадки (мм): 10
42
- 📅 Период осреднения: 1981-2010
34
+ Дата и время 30 янв. 2026 г. 21:00
35
+ ⬇️ Атм. давление 752 мм рт.ст.
36
+ 🧊 Температура -15.8°C
37
+ 💧 Влажность 76.4%
38
+ 🧭 Ветер северный
39
+ 🌬️ Скорость ветра 1 м/с
40
+ 👀 Видимость 20км
41
+ 📈 Долгосрочные наблюдения
42
+ ├─ ⛄️ -35.7°C в 1956, 70 лет назад
43
+ ├─ 🥵 3°C в 2016, 10 лет назад
44
+ └─ 🌧️ +10мм в 1983, 43 лет назад
45
+ 📊 Среднемесячные показатели с 1981-2010:
46
+ ├─🌡️ Температура -6.5°C
47
+ └─ 🌧️ Осадки 52мм
43
48
  ```
44
49
 
45
- ## Dependencies
50
+ ### MOCKBA -json
46
51
 
47
- The package depends on `moskva` for the apis of fetching the data.
52
+ ```json
53
+ {
54
+ "country": "RUSSIA",
55
+ "region": "RUSSIA",
56
+ "location": "RUSSIA",
57
+ "observation_time": "January, 30 21:00",
58
+ "atmospheric_pressure_mm": 752,
59
+ "temperature_C": -15.8,
60
+ "relative_humidity_percent": 76.4,
61
+ "wind_direction": "N",
62
+ "wind_speed_m_s": 1,
63
+ "horizontal_visibility_km": 20,
64
+ "long_term_obs": {
65
+ "min_temperature": -35.7,
66
+ "min_temp_year": "1956",
67
+ "max_temperature": 3,
68
+ "max_temp_year": "2016",
69
+ "max_precipitation_mm": 10,
70
+ "max_precip_year": "1983"
71
+ },
72
+ "monthly_averages": {
73
+ "temperature_C": -6.5,
74
+ "precipitation_mm": 52,
75
+ "averaging_period": "1981-2010"
76
+ }
77
+ }
78
+ ```
79
+
80
+ ### MOCKBA -json -ru
81
+
82
+ ```json
83
+ {
84
+ "страна": "RUSSIA",
85
+ "регион": "RUSSIA",
86
+ "местоположение": "RUSSIA",
87
+ "время_наблюдения": "January, 30 21:00",
88
+ "атмосферное_давление_мм_рт_ст": 752,
89
+ "температура_°C": -15.9,
90
+ "относительная_влажность_процент": 75,
91
+ "направление_ветра": "N",
92
+ "средняя_скорость_ветра_м_с": 1,
93
+ "горизонтальная_видимость_км": 20,
94
+ "долгосрочные_наблюдения": {
95
+ "мин_температура_°C": -35.7,
96
+ "год_мин_температуры": "1956",
97
+ "макс_температура_°C": 3,
98
+ "год_макс_температуры": "2016",
99
+ "макс_осадки_мм": 10,
100
+ "год_макс_осадков": "1983"
101
+ },
102
+ "среднемесячные_показатели": {
103
+ "средняя_температура_°C": -6.5,
104
+ "осадки_мм": 52,
105
+ "период_осреднения": "1981-2010"
106
+ }
107
+ }
108
+ ```
48
109
 
49
- ## Todo:
110
+ ### MOCKBA -js
50
111
 
51
- - [ ] Possibly data could be printed in JSON format.
112
+ ```js
113
+ {
114
+ country: 'RUSSIA',
115
+ region: 'RUSSIA',
116
+ location: 'RUSSIA',
117
+ observation_time: 'January, 30 21:00',
118
+ atmospheric_pressure_mm: 752,
119
+ temperature_C: -15.9,
120
+ relative_humidity_percent: 75,
121
+ wind_direction: 'N',
122
+ wind_speed_m_s: 1,
123
+ horizontal_visibility_km: 20,
124
+ long_term_obs: {
125
+ min_temperature: -35.7,
126
+ min_temp_year: '1956',
127
+ max_temperature: 3,
128
+ max_temp_year: '2016',
129
+ max_precipitation_mm: 10,
130
+ max_precip_year: '1983'
131
+ },
132
+ monthly_averages: {
133
+ temperature_C: -6.5,
134
+ precipitation_mm: 52,
135
+ averaging_period: '1981-2010'
136
+ }
137
+ }
138
+ ```
139
+
140
+ ### MOCKBA -js -ru
141
+
142
+ ```js
143
+ {
144
+ 'страна': 'RUSSIA',
145
+ 'регион': 'RUSSIA',
146
+ 'местоположение': 'RUSSIA',
147
+ 'время_наблюдения': 'January, 30 21:00',
148
+ 'атмосферное_давление_мм_рт_ст': 752,
149
+ 'температура_°C': -15.8,
150
+ 'относительная_влажность_процент': 76.4,
151
+ 'направление_ветра': 'N',
152
+ 'средняя_скорость_ветра_м_с': 1,
153
+ 'горизонтальная_видимость_км': 20,
154
+ 'долгосрочные_наблюдения': {
155
+ 'мин_температура_°C': -35.7,
156
+ 'год_мин_температуры': '1956',
157
+ 'макс_температура_°C': 3,
158
+ 'год_макс_температуры': '2016',
159
+ 'макс_осадки_мм': 10,
160
+ 'год_макс_осадков': '1983'
161
+ },
162
+ 'среднемесячные_показатели': {
163
+ 'средняя_температура_°C': -6.5,
164
+ 'осадки_мм': 52,
165
+ 'период_осреднения': '1981-2010'
166
+ }
167
+ }
168
+ ```
52
169
 
53
170
  <!-- https://xn--80aa1amcqq.xn--80adxhks/img/MOCKBA-npm.jpg -->