From 71b6d4c017391c39072d2b2dc58512c631f54db9 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 29 Mar 2023 17:32:54 -0500 Subject: [PATCH] Rework the initX[E]() procs to initX(E = void) --- src/preserves.nim | 12 ++++++------ src/preserves/schemaparse.nim | 4 ++-- src/preserves/sprypreserves.nim | 4 ++-- src/preserves/xmlhooks.nim | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/preserves.nim b/src/preserves.nim index cfcf016..cb6e1c9 100644 --- a/src/preserves.nim +++ b/src/preserves.nim @@ -313,14 +313,14 @@ proc initRecord*[E](label: string; args: varargs[Preserve[E]]): Preserve[E] {.in ## Create a Preserves record value. initRecord(toSymbol(label, E), args) -proc initSequence*[E](len: Natural = 0): Preserve[E] = +proc initSequence*(len: Natural = 0; E = void): Preserve[E] = ## Create a Preserves sequence value. Preserve[E](kind: pkSequence, sequence: newSeq[Preserve[E]](len)) -proc initSet*[E](): Preserve[E] = Preserve[E](kind: pkSet) +proc initSet*(E = void): Preserve[E] = Preserve[E](kind: pkSet) ## Create a Preserves set value. -proc initDictionary*[E](): Preserve[E] = Preserve[E](kind: pkDictionary) +proc initDictionary*(E = void): Preserve[E] = Preserve[E](kind: pkDictionary) ## Create a Preserves dictionary value. proc embed*[E](pr: sink Preserve[E]): Preserve[E] = @@ -827,7 +827,7 @@ proc toPreserve*[T](x: T; E = void): Preserve[E] = result.record.add(pr) result.record.add(tosymbol(T.getCustomPragmaVal(preservesRecord), E)) elif T.hasCustomPragma(preservesTuple): - result = initSequence[E]() + result = initSequence(0, E) for label, field in x.fieldPairs: when x.dot(label).hasCustomPragma(preservesTupleTail): for y in field.items: @@ -838,7 +838,7 @@ proc toPreserve*[T](x: T; E = void): Preserve[E] = applyEmbed(label, pr) result.sequence.add(pr) elif T.hasCustomPragma(preservesDictionary): - result = initDictionary[E]() + result = initDictionary(E) for key, val in x.fieldPairs: var pr = fieldToPreserve(key, val) applyEmbed(key, pr) @@ -859,7 +859,7 @@ proc toPreserveHook*[T](set: HashSet[T]; E: typedesc): Preserve[E] = proc toPreserveHook*[A, B](table: Table[A, B]|TableRef[A, B], E: typedesc): Preserve[E] = ## Hook for preserving ``Table``. - result = initDictionary[E]() + result = initDictionary(E) for k, v in table.pairs: result[toPreserve(k, E)] = toPreserve(v, E) diff --git a/src/preserves/schemaparse.nim b/src/preserves/schemaparse.nim index 37b0b7f..52fc2fa 100644 --- a/src/preserves/schemaparse.nim +++ b/src/preserves/schemaparse.nim @@ -202,7 +202,7 @@ const parser = peg("Schema", p: ParseState): pushStack n Ref <- >(Alpha * *Alnum) * *('.' * >(*Alnum)): - var path = initSequence[void]() + var path = initSequence() for i in 1..Value * S * ':' * S * NamedSimplePattern * S) * '}': - var dict = initDictionary[void]() + var dict = initDictionary(void) for i in countDown(pred capture.len, 1): let key = toSymbol capture[i].s dict[key] = initRecord("named", key, popStack()) diff --git a/src/preserves/sprypreserves.nim b/src/preserves/sprypreserves.nim index e42cccf..8429278 100644 --- a/src/preserves/sprypreserves.nim +++ b/src/preserves/sprypreserves.nim @@ -89,10 +89,10 @@ proc toPreserveHook*(node: Node; E: typedesc): Preserve[E] = result = toPreserve(cast[seq[byte]](ByteStringNode(node).value), E) elif node of Blok: var blk = Blok(node) - result = initSequence[E](blk.nodes.len) + result = initSequence(blk.nodes.len, E) for i, child in blk.nodes: result.sequence[i] = toPreserve(child, E) elif node of Map: - result = initDictionary[E]() + result = initDictionary(E) for key, val in Map(node).bindings: result[toPreserve(key, E)] = toPreserve(val, E) elif node of StringVal: diff --git a/src/preserves/xmlhooks.nim b/src/preserves/xmlhooks.nim index f0b9e40..2847bd8 100644 --- a/src/preserves/xmlhooks.nim +++ b/src/preserves/xmlhooks.nim @@ -28,7 +28,7 @@ proc toPreserveHook*(xn: XmlNode; E: typedesc): Preserve[E] = if xn.kind == xnElement: result = Preserve[E](kind: pkRecord) if not xn.attrs.isNil: - var attrs = initDictionary[E]() + var attrs = initDictionary(E) for xk, xv in xn.attrs.pairs: attrs[toSymbol(xk, E)] = toPreserveFromString(xv, E) result.record.add(attrs)