neft
Version:
JavaScript. Everywhere.
69 lines (50 loc) • 1.53 kB
text/coffeescript
# Navigator
'use strict'
utils = require 'src/utils'
signal = require 'src/signal'
assert = require 'src/assert'
module.exports = (Renderer, Impl, itemUtils) ->
class Navigator extends signal.Emitter
constructor: ->
super()
= bindings: null
= 'en'
= true
= true
Object.preventExtensions @
## *Boolean* Navigator.language = `'en'`
```javascript
Text {
text: 'Your language: ' + Navigator.language
font.pixelSize: 30
}
```
utils.defineProperty @::, 'language', null, ->
, null
## *Boolean* Navigator.browser = `true`
utils.defineProperty @::, 'browser', null, ->
, null
## *Boolean* Navigator.native = `false`
```javascript
Text {
text: Navigator.native ? 'Native' : 'Browser'
font.pixelSize: 30
}
```
utils.defineProperty @::, 'native', null, ->
not
, null
## *Boolean* Navigator.online = `true`
## *Signal* Navigator.onOnlineChange(*Boolean* oldValue)
itemUtils.defineProperty
constructor: @
name: 'online'
developmentSetter: (val) ->
assert.isBoolean val
navigator = new Navigator
Impl.initNavigatorNamespace?.call navigator
navigator
# Glossary
- [Navigator](#navigator)