Skip to content

Commit 15818c9

Browse files
authored
Added max recursion to type decomposition (#92)
1 parent dabd829 commit 15818c9

File tree

4 files changed

+311
-149
lines changed

4 files changed

+311
-149
lines changed

docs/base.html

+10-8
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ <h1 class="title">Module <code>scalecodec.base</code></h1>
4646
import warnings
4747
from abc import ABC, abstractmethod
4848
from typing import Optional, TYPE_CHECKING, Union
49+
50+
from scalecodec.constants import TYPE_DECOMP_MAX_RECURSIVE
4951
from scalecodec.exceptions import RemainingScaleBytesNotEmptyException, InvalidScaleTypeValueException
5052

5153
if TYPE_CHECKING:
@@ -879,14 +881,14 @@ <h1 class="title">Module <code>scalecodec.base</code></h1>
879881
return self.value_serialized &lt;= other
880882

881883
@classmethod
882-
def generate_type_decomposition(cls, _recursion_level: int = 0):
884+
def generate_type_decomposition(cls, _recursion_level: int = 0, max_recursion: int = TYPE_DECOMP_MAX_RECURSIVE):
883885
return cls.__name__
884886

885887

886888
class ScalePrimitive(ScaleType, ABC):
887889

888890
@classmethod
889-
def generate_type_decomposition(cls, _recursion_level=0):
891+
def generate_type_decomposition(cls, _recursion_level: int = 0, max_recursion: int = TYPE_DECOMP_MAX_RECURSIVE):
890892
return cls.__name__.lower()</code></pre>
891893
</details>
892894
</section>
@@ -2813,7 +2815,7 @@ <h2 id="parameters">Parameters</h2>
28132815
<pre><code class="python">class ScalePrimitive(ScaleType, ABC):
28142816

28152817
@classmethod
2816-
def generate_type_decomposition(cls, _recursion_level=0):
2818+
def generate_type_decomposition(cls, _recursion_level: int = 0, max_recursion: int = TYPE_DECOMP_MAX_RECURSIVE):
28172819
return cls.__name__.lower()</code></pre>
28182820
</details>
28192821
<h3>Ancestors</h3>
@@ -2853,7 +2855,7 @@ <h3>Class variables</h3>
28532855
<h3>Static methods</h3>
28542856
<dl>
28552857
<dt id="scalecodec.base.ScalePrimitive.generate_type_decomposition"><code class="name flex">
2856-
<span>def <span class="ident">generate_type_decomposition</span></span>(<span>)</span>
2858+
<span>def <span class="ident">generate_type_decomposition</span></span>(<span>max_recursion: int = 9)</span>
28572859
</code></dt>
28582860
<dd>
28592861
<div class="desc"></div>
@@ -2862,7 +2864,7 @@ <h3>Static methods</h3>
28622864
<span>Expand source code</span>
28632865
</summary>
28642866
<pre><code class="python">@classmethod
2865-
def generate_type_decomposition(cls, _recursion_level=0):
2867+
def generate_type_decomposition(cls, _recursion_level: int = 0, max_recursion: int = TYPE_DECOMP_MAX_RECURSIVE):
28662868
return cls.__name__.lower()</code></pre>
28672869
</details>
28682870
</dd>
@@ -2959,7 +2961,7 @@ <h2 id="parameters">Parameters</h2>
29592961
return self.value_serialized &lt;= other
29602962

29612963
@classmethod
2962-
def generate_type_decomposition(cls, _recursion_level: int = 0):
2964+
def generate_type_decomposition(cls, _recursion_level: int = 0, max_recursion: int = TYPE_DECOMP_MAX_RECURSIVE):
29632965
return cls.__name__</code></pre>
29642966
</details>
29652967
<h3>Ancestors</h3>
@@ -3004,7 +3006,7 @@ <h3>Class variables</h3>
30043006
<h3>Static methods</h3>
30053007
<dl>
30063008
<dt id="scalecodec.base.ScaleType.generate_type_decomposition"><code class="name flex">
3007-
<span>def <span class="ident">generate_type_decomposition</span></span>(<span>)</span>
3009+
<span>def <span class="ident">generate_type_decomposition</span></span>(<span>max_recursion: int = 9)</span>
30083010
</code></dt>
30093011
<dd>
30103012
<div class="desc"></div>
@@ -3013,7 +3015,7 @@ <h3>Static methods</h3>
30133015
<span>Expand source code</span>
30143016
</summary>
30153017
<pre><code class="python">@classmethod
3016-
def generate_type_decomposition(cls, _recursion_level: int = 0):
3018+
def generate_type_decomposition(cls, _recursion_level: int = 0, max_recursion: int = TYPE_DECOMP_MAX_RECURSIVE):
30173019
return cls.__name__</code></pre>
30183020
</details>
30193021
</dd>

0 commit comments

Comments
 (0)