imba-localization 0.4.2 → 0.4.4

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.
Files changed (2) hide show
  1. package/localization.imba +15 -13
  2. package/package.json +1 -1
package/localization.imba CHANGED
@@ -8,9 +8,9 @@ export class Localization
8
8
  ready = false
9
9
  err = {
10
10
  cache: {}
11
- throw: do(code, details)
11
+ throw: do(code, details)
12
12
  return if err.cache[code]
13
- if onerror isa Function
13
+ if onerror isa Function and ready
14
14
  onerror(code, details)
15
15
  else
16
16
  console.log "Localization error:", code, details
@@ -26,14 +26,15 @@ export class Localization
26
26
 
27
27
  return new Proxy self, {
28
28
  get: do(target, p, receiver)
29
- return Reflect.get(target, p, receiver) if self[p] !== undefined
30
- if !ready
31
- err.throw("Request before localization is ready:", p)
29
+ if Reflect.has(target, p)
30
+ return Reflect.get(target, p, receiver)
31
+ if !target.ready
32
+ target.err.throw("Request before localization is ready:", p)
32
33
  return
33
- return if err.cache[p]
34
+ return if target.err.cache[p]
34
35
  return target.languages[p] if target.languages[p]
35
- return target.languages[active][p] if target.languages[active] and target.languages[active][p]
36
- err.throw('localization-no-key', p)
36
+ return target.languages[target.active][p] if target.languages[target.active] and target.languages[target.active][p]
37
+ target.err.throw('localization-no-key', p)
37
38
  return ''
38
39
  }
39
40
 
@@ -121,7 +122,7 @@ tag language-selector
121
122
 
122
123
  css
123
124
  $ease: 0.5s
124
- .container rd:8px px:15px py:8px cursor:pointer bgc:light-dark(#000000/10, #FFFFFF/20) fw:500 fs:13px ead:$ease bd:1px solid transparent
125
+ .container rd:8px px:15px py:8px bgc:light-dark(#000000/10, #FFFFFF/20) fw:500 fs:13px ead:$ease bd:1px solid transparent
125
126
  @.active bgc:light-dark(#000000/20, #FFFFFF/30) bd:1px solid transparent
126
127
  .flag mr:10px rd:50% w:20px h:20px bd:1px solid transparent
127
128
  .name mr:10px bd:1px solid transparent
@@ -133,13 +134,14 @@ tag language-selector
133
134
  .text fs:13px bd:1px solid transparent
134
135
 
135
136
  <self [pos:rel] @mouseenter=mouseenter @mouseleave=mouseleave @click=click>
136
- <div.container [pos:rel d:hcc] .active=#dropdown>
137
+ <div.container [pos:rel d:hcc] .active=#dropdown [cursor:pointer]=(Object(state.languages).keys > 1)>
137
138
  <img.flag src=flag(state[state.active])>
138
139
  <div.name> name(state[state.active])
139
- <svg.arrow [ead:$ease] .active=#dropdown viewBox="0 0 256 256">
140
- <{arrow}>
140
+ if Object(state.languages).keys > 1
141
+ <svg.arrow [ead:$ease] .active=#dropdown viewBox="0 0 256 256">
142
+ <{arrow}>
141
143
 
142
- if #dropdown
144
+ if #dropdown and Object(state.languages).keys > 1
143
145
  <div$menu.menu [pos:abs w:100% > max-content o@off:0] ease>
144
146
  for own key, value of state.languages
145
147
  <div.item @click.trap=onselect(key) [d:none]=(key == state.active)>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imba-localization",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/HeapVoid/imba-localization.git"