File: accessor.ls

package info (click to toggle)
node-livescript 1.6.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 672 kB
  • sloc: makefile: 45
file content (65 lines) | stat: -rw-r--r-- 982 bytes parent folder | download | duplicates (4)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
return unless Object.defineProperty

v = \foo
o =
  key:~
    -> @x
    (@x) ->
  (v):~
    (@y) ->
    -> @y
ok \key of o
eq 1, o.key = 1
eq 1, o.key
ok \foo of o
eq 2, o.foo = 2
eq 2, o.foo

o <<< a:~ -> 1
eq 1, o.a

class A
  p: -> if it? then @_ = it else @_
class C extends A
  p:~
    \   -> super!
    (z) -> super z
c = new C
eq c.p = 3, c.p
ok c.hasOwnProperty \_

compileThrows 'excess accessor parameter' 1 'p:~ (a, b) ->'

compileThrows 'named accessor' 1 'p:~ ~function f then'

# No implicit parameter on getter.
eq '''({
  get p(){
    return it;
  }
});''' LiveScript.compile 'p:~ -> it' {+bare,-header}


compileThrows 'duplicate property "p"' 2 '''
  p:~     ->
  p:~ (_) ->
'''
compileThrows 'duplicate property "p"' 2 '''
  p: 1
  p:~ ->
'''
compileThrows 'duplicate property "p"' 2 '''
  p:~ ->
  p: 1
'''

compileThrows 'invalid accessor parameter' 2 '''
  p:~
    ->
    ->
'''
compileThrows 'invalid accessor parameter' 2 '''
  p:~
    (_) ->
    (_) ->
'''