         key = line[...separator.index]
       value = Symbol.parse key, line[separator.index + separator[0].length..]
       map[key] = value
-    map
+    new @ map
+
+class JSMapping extends Mapping
+  @parse: (data) ->
+    new @ eval data
 
 class CoffeeMapping extends Mapping
+  @parse: (data) ->
+    new @ CoffeeScript.eval data
 
 class Drawing extends Input
   tileWidth: 50

path = require 'path'
fs = require 'fs'
csvParse = require 'csv-parse'
xmldom = require 'xmldom'
DOMParser = xmldom.DOMParser

      throw new UserException "svgtiler: unrecognized extension in filename #{filename}"

class Mapping extends Input
  constructor: (data) ->
    if data?
      for own key, value of data
        unless value instanceof Symbol
          value = Symbol.parse key, value
        @[key] = value

class ASCIIMapping extends Mapping
  @parse: (data) ->
    map = {}
    for line in splitIntoLines data
      separator = whitespace.exec line
      continue unless separator?
