Adds compatibility for Nimrod's 0.9.4 compiler.
This commit is contained in:
parent
0bf1faa354
commit
244a4b5b14
3 changed files with 31 additions and 3 deletions
|
|
@ -9,4 +9,4 @@ bin = "babel"
|
|||
srcDir = "src"
|
||||
|
||||
[Deps]
|
||||
Requires: "nimrod >= 0.9.5"
|
||||
Requires: "nimrod >= 0.9.4"
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import httpclient, parseopt, os, strutils, osproc, pegs, tables, parseutils,
|
|||
|
||||
from sequtils import toSeq
|
||||
|
||||
import babelpkg/packageinfo, babelpkg/version, babelpkg/tools, babelpkg/download,
|
||||
babelpkg/config
|
||||
import babelpkg/packageinfo, babelpkg/version, babelpkg/tools,
|
||||
babelpkg/download, babelpkg/config, babelpkg/compat
|
||||
|
||||
when not defined(windows):
|
||||
from posix import getpid
|
||||
|
|
|
|||
28
src/babelpkg/compat.nim
Normal file
28
src/babelpkg/compat.nim
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Copyright (C) Dominik Picheta. All rights reserved.
|
||||
# BSD License. Look at license.txt for more info.
|
||||
|
||||
## This module contains additional code from the development version of
|
||||
## Nimrod's standard library. These procs are required to be able to compile
|
||||
## against the last stable release 0.9.4. Once 0.9.6 is release these procs
|
||||
## will disappear.
|
||||
|
||||
import json
|
||||
|
||||
when not defined(`json.{}`):
|
||||
proc `{}`*(node: PJsonNode, key: string): PJsonNode =
|
||||
## Transverses the node and gets the given value. If any of the
|
||||
## names does not exist, returns nil
|
||||
result = node
|
||||
if isNil(node): return nil
|
||||
result = result[key]
|
||||
|
||||
when not defined(`json.{}=`):
|
||||
proc `{}=`*(node: PJsonNode, names: varargs[string], value: PJsonNode) =
|
||||
## Transverses the node and tries to set the value at the given location
|
||||
## to `value` If any of the names are missing, they are added
|
||||
var node = node
|
||||
for i in 0..(names.len-2):
|
||||
if isNil(node[names[i]]):
|
||||
node[names[i]] = newJObject()
|
||||
node = node[names[i]]
|
||||
node[names[names.len-1]] = value
|
||||
Loading…
Add table
Add a link
Reference in a new issue