@seamapi/nextlove-sdk-generator 1.7.8 → 1.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/generate-python-sdk/class-file.js +5 -74
- package/lib/generate-python-sdk/class-file.js.map +1 -1
- package/lib/generate-python-sdk/templates/utils/action-attempt.d.ts +18 -0
- package/lib/generate-python-sdk/templates/utils/action-attempt.js +70 -0
- package/lib/generate-python-sdk/templates/utils/action-attempt.js.map +1 -0
- package/package.json +1 -1
- package/src/lib/generate-python-sdk/class-file.ts +10 -74
- package/src/lib/generate-python-sdk/templates/utils/action-attempt.ts +70 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { action_attempt_utils_definitions, action_attempt_utils_specs, } from "./templates/utils/action-attempt.js";
|
|
1
2
|
export class ClassFile {
|
|
2
3
|
constructor(name, namespace, child_class_identifiers) {
|
|
3
4
|
this.name = name;
|
|
@@ -24,47 +25,12 @@ export class ClassFile {
|
|
|
24
25
|
.join("\n\n")
|
|
25
26
|
: ""}`,
|
|
26
27
|
...this.methods
|
|
27
|
-
.concat(this.name === "ActionAttempts"
|
|
28
|
-
? [
|
|
29
|
-
{
|
|
30
|
-
method_name: "poll_until_ready",
|
|
31
|
-
parameters: [
|
|
32
|
-
{ name: "action_attempt_id", type: "str", required: true },
|
|
33
|
-
{ name: "timeout", type: "float", default_value: "5.0" },
|
|
34
|
-
{
|
|
35
|
-
name: "polling_interval",
|
|
36
|
-
type: "float",
|
|
37
|
-
default_value: "0.5",
|
|
38
|
-
},
|
|
39
|
-
],
|
|
40
|
-
return_path: [],
|
|
41
|
-
return_resource: "ActionAttempt",
|
|
42
|
-
path: "",
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
method_name: "decide_and_wait",
|
|
46
|
-
parameters: [
|
|
47
|
-
{
|
|
48
|
-
name: "action_attempt",
|
|
49
|
-
type: "ActionAttempt",
|
|
50
|
-
required: true,
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "wait_for_action_attempt",
|
|
54
|
-
type: "Union[bool, Dict[str, float]]",
|
|
55
|
-
required: true,
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
return_path: [],
|
|
59
|
-
return_resource: "ActionAttempt",
|
|
60
|
-
path: "",
|
|
61
|
-
},
|
|
62
|
-
]
|
|
63
|
-
: [])
|
|
28
|
+
.concat(this.name === "ActionAttempts" ? action_attempt_utils_specs : [])
|
|
64
29
|
.map(({ method_name, parameters, return_resource }) => {
|
|
65
30
|
const has_params = parameters.length > 0;
|
|
31
|
+
const action_attempt_util_method_names = action_attempt_utils_specs.map((item) => item.method_name);
|
|
66
32
|
const can_method_poll_action_attempt = return_resource === "ActionAttempt" &&
|
|
67
|
-
method_name
|
|
33
|
+
!action_attempt_util_method_names.includes(method_name);
|
|
68
34
|
return [
|
|
69
35
|
"",
|
|
70
36
|
"",
|
|
@@ -181,42 +147,7 @@ export class ClassFile {
|
|
|
181
147
|
.map((s) => ` ${s}`)
|
|
182
148
|
.join("\n");
|
|
183
149
|
}),
|
|
184
|
-
this.name === "ActionAttempts"
|
|
185
|
-
? [
|
|
186
|
-
"",
|
|
187
|
-
" def poll_until_ready(self, *, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
|
|
188
|
-
" seam = self.seam",
|
|
189
|
-
" time_waiting = 0.0",
|
|
190
|
-
"",
|
|
191
|
-
" action_attempt = seam.action_attempts.get(action_attempt_id=action_attempt_id, wait_for_action_attempt=False)",
|
|
192
|
-
"",
|
|
193
|
-
" while action_attempt.status == 'pending':",
|
|
194
|
-
" time.sleep(polling_interval)",
|
|
195
|
-
" time_waiting += polling_interval",
|
|
196
|
-
"",
|
|
197
|
-
" if time_waiting > timeout:",
|
|
198
|
-
" raise Exception('Timed out waiting for action attempt to be ready')",
|
|
199
|
-
"",
|
|
200
|
-
" action_attempt = seam.action_attempts.get(",
|
|
201
|
-
" action_attempt_id=action_attempt.action_attempt_id, wait_for_action_attempt=False",
|
|
202
|
-
" )",
|
|
203
|
-
"",
|
|
204
|
-
" if action_attempt.status == 'failed':",
|
|
205
|
-
" raise Exception(f'Action Attempt failed: {action_attempt.error.message}')",
|
|
206
|
-
"",
|
|
207
|
-
" return action_attempt",
|
|
208
|
-
"",
|
|
209
|
-
" def decide_and_wait(self, *, action_attempt: ActionAttempt, wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None) -> ActionAttempt:",
|
|
210
|
-
" wait_decision = self.seam.wait_for_action_attempt if wait_for_action_attempt is None else wait_for_action_attempt",
|
|
211
|
-
"",
|
|
212
|
-
" if wait_decision is True:",
|
|
213
|
-
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id)",
|
|
214
|
-
" elif isinstance(wait_decision, dict):",
|
|
215
|
-
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id, timeout=wait_decision.get('timeout', None), polling_interval=wait_decision.get('polling_interval', None))",
|
|
216
|
-
"",
|
|
217
|
-
" return action_attempt",
|
|
218
|
-
].join("\n")
|
|
219
|
-
: "",
|
|
150
|
+
this.name === "ActionAttempts" ? action_attempt_utils_definitions : "",
|
|
220
151
|
].join("\n");
|
|
221
152
|
}
|
|
222
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-file.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/class-file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"class-file.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/class-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const action_attempt_utils_specs: {
|
|
2
|
+
method_name: string;
|
|
3
|
+
parameters: ({
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
required: boolean;
|
|
7
|
+
default_value?: never;
|
|
8
|
+
} | {
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
default_value: string;
|
|
12
|
+
required?: never;
|
|
13
|
+
})[];
|
|
14
|
+
return_path: never[];
|
|
15
|
+
return_resource: string;
|
|
16
|
+
path: string;
|
|
17
|
+
}[];
|
|
18
|
+
export declare const action_attempt_utils_definitions: string;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export const action_attempt_utils_specs = [
|
|
2
|
+
{
|
|
3
|
+
method_name: "poll_until_ready",
|
|
4
|
+
parameters: [
|
|
5
|
+
{ name: "action_attempt_id", type: "str", required: true },
|
|
6
|
+
{ name: "timeout", type: "float", default_value: "5.0" },
|
|
7
|
+
{
|
|
8
|
+
name: "polling_interval",
|
|
9
|
+
type: "float",
|
|
10
|
+
default_value: "0.5",
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
return_path: [],
|
|
14
|
+
return_resource: "ActionAttempt",
|
|
15
|
+
path: "",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
method_name: "decide_and_wait",
|
|
19
|
+
parameters: [
|
|
20
|
+
{
|
|
21
|
+
name: "action_attempt",
|
|
22
|
+
type: "ActionAttempt",
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "wait_for_action_attempt",
|
|
27
|
+
type: "Union[bool, Dict[str, float]]",
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
return_path: [],
|
|
32
|
+
return_resource: "ActionAttempt",
|
|
33
|
+
path: "",
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
export const action_attempt_utils_definitions = [
|
|
37
|
+
"",
|
|
38
|
+
" def poll_until_ready(self, *, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
|
|
39
|
+
" seam = self.seam",
|
|
40
|
+
" time_waiting = 0.0",
|
|
41
|
+
"",
|
|
42
|
+
" action_attempt = seam.action_attempts.get(action_attempt_id=action_attempt_id, wait_for_action_attempt=False)",
|
|
43
|
+
"",
|
|
44
|
+
" while action_attempt.status == 'pending':",
|
|
45
|
+
" time.sleep(polling_interval)",
|
|
46
|
+
" time_waiting += polling_interval",
|
|
47
|
+
"",
|
|
48
|
+
" if time_waiting > timeout:",
|
|
49
|
+
" raise Exception('Timed out waiting for action attempt to be ready')",
|
|
50
|
+
"",
|
|
51
|
+
" action_attempt = seam.action_attempts.get(",
|
|
52
|
+
" action_attempt_id=action_attempt.action_attempt_id, wait_for_action_attempt=False",
|
|
53
|
+
" )",
|
|
54
|
+
"",
|
|
55
|
+
" if action_attempt.status == 'failed':",
|
|
56
|
+
" raise Exception(f'Action Attempt failed: {action_attempt.error.message}')",
|
|
57
|
+
"",
|
|
58
|
+
" return action_attempt",
|
|
59
|
+
"",
|
|
60
|
+
" def decide_and_wait(self, *, action_attempt: ActionAttempt, wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None) -> ActionAttempt:",
|
|
61
|
+
" wait_decision = self.seam.wait_for_action_attempt if wait_for_action_attempt is None else wait_for_action_attempt",
|
|
62
|
+
"",
|
|
63
|
+
" if wait_decision is True:",
|
|
64
|
+
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id)",
|
|
65
|
+
" elif isinstance(wait_decision, dict):",
|
|
66
|
+
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id, timeout=wait_decision.get('timeout', None), polling_interval=wait_decision.get('polling_interval', None))",
|
|
67
|
+
"",
|
|
68
|
+
" return action_attempt",
|
|
69
|
+
].join("\n");
|
|
70
|
+
//# sourceMappingURL=action-attempt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-attempt.js","sourceRoot":"","sources":["../../../../src/lib/generate-python-sdk/templates/utils/action-attempt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC;QACE,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE;YACV,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE;YACxD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,OAAO;gBACb,aAAa,EAAE,KAAK;aACrB;SACF;QACD,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,eAAe;QAChC,IAAI,EAAE,EAAE;KACT;IACD;QACE,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,+BAA+B;gBACrC,QAAQ,EAAE,IAAI;aACf;SACF;QACD,WAAW,EAAE,EAAE;QACf,eAAe,EAAE,eAAe;QAChC,IAAI,EAAE,EAAE;KACT;CACF,CAAA;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,EAAE;IACF,oJAAoJ;IACpJ,sBAAsB;IACtB,wBAAwB;IACxB,EAAE;IACF,mHAAmH;IACnH,EAAE;IACF,+CAA+C;IAC/C,oCAAoC;IACpC,wCAAwC;IACxC,EAAE;IACF,kCAAkC;IAClC,6EAA6E;IAC7E,EAAE;IACF,kDAAkD;IAClD,2FAA2F;IAC3F,SAAS;IACT,EAAE;IACF,2CAA2C;IAC3C,iFAAiF;IACjF,EAAE;IACF,2BAA2B;IAC3B,EAAE;IACF,0JAA0J;IAC1J,uHAAuH;IACvH,EAAE;IACF,+BAA+B;IAC/B,6GAA6G;IAC7G,2CAA2C;IAC3C,uNAAuN;IACvN,EAAE;IACF,2BAA2B;CAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import {
|
|
2
|
+
action_attempt_utils_definitions,
|
|
3
|
+
action_attempt_utils_specs,
|
|
4
|
+
} from "./templates/utils/action-attempt.js"
|
|
5
|
+
|
|
1
6
|
export type ClassFileMethodBase = {
|
|
2
7
|
method_name: string
|
|
3
8
|
path: string
|
|
@@ -70,49 +75,15 @@ export class ClassFile {
|
|
|
70
75
|
}`,
|
|
71
76
|
...this.methods
|
|
72
77
|
.concat(
|
|
73
|
-
this.name === "ActionAttempts"
|
|
74
|
-
? [
|
|
75
|
-
{
|
|
76
|
-
method_name: "poll_until_ready",
|
|
77
|
-
parameters: [
|
|
78
|
-
{ name: "action_attempt_id", type: "str", required: true },
|
|
79
|
-
{ name: "timeout", type: "float", default_value: "5.0" },
|
|
80
|
-
{
|
|
81
|
-
name: "polling_interval",
|
|
82
|
-
type: "float",
|
|
83
|
-
default_value: "0.5",
|
|
84
|
-
},
|
|
85
|
-
],
|
|
86
|
-
return_path: [],
|
|
87
|
-
return_resource: "ActionAttempt",
|
|
88
|
-
path: "",
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
method_name: "decide_and_wait",
|
|
92
|
-
parameters: [
|
|
93
|
-
{
|
|
94
|
-
name: "action_attempt",
|
|
95
|
-
type: "ActionAttempt",
|
|
96
|
-
required: true,
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: "wait_for_action_attempt",
|
|
100
|
-
type: "Union[bool, Dict[str, float]]",
|
|
101
|
-
required: true,
|
|
102
|
-
},
|
|
103
|
-
],
|
|
104
|
-
return_path: [],
|
|
105
|
-
return_resource: "ActionAttempt",
|
|
106
|
-
path: "",
|
|
107
|
-
},
|
|
108
|
-
]
|
|
109
|
-
: []
|
|
78
|
+
this.name === "ActionAttempts" ? action_attempt_utils_specs : []
|
|
110
79
|
)
|
|
111
80
|
.map(({ method_name, parameters, return_resource }) => {
|
|
112
81
|
const has_params = parameters.length > 0
|
|
82
|
+
const action_attempt_util_method_names =
|
|
83
|
+
action_attempt_utils_specs.map((item) => item.method_name)
|
|
113
84
|
const can_method_poll_action_attempt =
|
|
114
85
|
return_resource === "ActionAttempt" &&
|
|
115
|
-
method_name
|
|
86
|
+
!action_attempt_util_method_names.includes(method_name)
|
|
116
87
|
|
|
117
88
|
return [
|
|
118
89
|
"",
|
|
@@ -285,42 +256,7 @@ export class ClassFile {
|
|
|
285
256
|
.join("\n")
|
|
286
257
|
}
|
|
287
258
|
),
|
|
288
|
-
this.name === "ActionAttempts"
|
|
289
|
-
? [
|
|
290
|
-
"",
|
|
291
|
-
" def poll_until_ready(self, *, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
|
|
292
|
-
" seam = self.seam",
|
|
293
|
-
" time_waiting = 0.0",
|
|
294
|
-
"",
|
|
295
|
-
" action_attempt = seam.action_attempts.get(action_attempt_id=action_attempt_id, wait_for_action_attempt=False)",
|
|
296
|
-
"",
|
|
297
|
-
" while action_attempt.status == 'pending':",
|
|
298
|
-
" time.sleep(polling_interval)",
|
|
299
|
-
" time_waiting += polling_interval",
|
|
300
|
-
"",
|
|
301
|
-
" if time_waiting > timeout:",
|
|
302
|
-
" raise Exception('Timed out waiting for action attempt to be ready')",
|
|
303
|
-
"",
|
|
304
|
-
" action_attempt = seam.action_attempts.get(",
|
|
305
|
-
" action_attempt_id=action_attempt.action_attempt_id, wait_for_action_attempt=False",
|
|
306
|
-
" )",
|
|
307
|
-
"",
|
|
308
|
-
" if action_attempt.status == 'failed':",
|
|
309
|
-
" raise Exception(f'Action Attempt failed: {action_attempt.error.message}')",
|
|
310
|
-
"",
|
|
311
|
-
" return action_attempt",
|
|
312
|
-
"",
|
|
313
|
-
" def decide_and_wait(self, *, action_attempt: ActionAttempt, wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None) -> ActionAttempt:",
|
|
314
|
-
" wait_decision = self.seam.wait_for_action_attempt if wait_for_action_attempt is None else wait_for_action_attempt",
|
|
315
|
-
"",
|
|
316
|
-
" if wait_decision is True:",
|
|
317
|
-
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id)",
|
|
318
|
-
" elif isinstance(wait_decision, dict):",
|
|
319
|
-
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id, timeout=wait_decision.get('timeout', None), polling_interval=wait_decision.get('polling_interval', None))",
|
|
320
|
-
"",
|
|
321
|
-
" return action_attempt",
|
|
322
|
-
].join("\n")
|
|
323
|
-
: "",
|
|
259
|
+
this.name === "ActionAttempts" ? action_attempt_utils_definitions : "",
|
|
324
260
|
].join("\n")
|
|
325
261
|
}
|
|
326
262
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export const action_attempt_utils_specs = [
|
|
2
|
+
{
|
|
3
|
+
method_name: "poll_until_ready",
|
|
4
|
+
parameters: [
|
|
5
|
+
{ name: "action_attempt_id", type: "str", required: true },
|
|
6
|
+
{ name: "timeout", type: "float", default_value: "5.0" },
|
|
7
|
+
{
|
|
8
|
+
name: "polling_interval",
|
|
9
|
+
type: "float",
|
|
10
|
+
default_value: "0.5",
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
return_path: [],
|
|
14
|
+
return_resource: "ActionAttempt",
|
|
15
|
+
path: "",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
method_name: "decide_and_wait",
|
|
19
|
+
parameters: [
|
|
20
|
+
{
|
|
21
|
+
name: "action_attempt",
|
|
22
|
+
type: "ActionAttempt",
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "wait_for_action_attempt",
|
|
27
|
+
type: "Union[bool, Dict[str, float]]",
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
return_path: [],
|
|
32
|
+
return_resource: "ActionAttempt",
|
|
33
|
+
path: "",
|
|
34
|
+
},
|
|
35
|
+
]
|
|
36
|
+
|
|
37
|
+
export const action_attempt_utils_definitions = [
|
|
38
|
+
"",
|
|
39
|
+
" def poll_until_ready(self, *, action_attempt_id: str, timeout: Optional[float] = 5.0, polling_interval: Optional[float] = 0.5) -> ActionAttempt:",
|
|
40
|
+
" seam = self.seam",
|
|
41
|
+
" time_waiting = 0.0",
|
|
42
|
+
"",
|
|
43
|
+
" action_attempt = seam.action_attempts.get(action_attempt_id=action_attempt_id, wait_for_action_attempt=False)",
|
|
44
|
+
"",
|
|
45
|
+
" while action_attempt.status == 'pending':",
|
|
46
|
+
" time.sleep(polling_interval)",
|
|
47
|
+
" time_waiting += polling_interval",
|
|
48
|
+
"",
|
|
49
|
+
" if time_waiting > timeout:",
|
|
50
|
+
" raise Exception('Timed out waiting for action attempt to be ready')",
|
|
51
|
+
"",
|
|
52
|
+
" action_attempt = seam.action_attempts.get(",
|
|
53
|
+
" action_attempt_id=action_attempt.action_attempt_id, wait_for_action_attempt=False",
|
|
54
|
+
" )",
|
|
55
|
+
"",
|
|
56
|
+
" if action_attempt.status == 'failed':",
|
|
57
|
+
" raise Exception(f'Action Attempt failed: {action_attempt.error.message}')",
|
|
58
|
+
"",
|
|
59
|
+
" return action_attempt",
|
|
60
|
+
"",
|
|
61
|
+
" def decide_and_wait(self, *, action_attempt: ActionAttempt, wait_for_action_attempt: Optional[Union[bool, Dict[str, float]]] = None) -> ActionAttempt:",
|
|
62
|
+
" wait_decision = self.seam.wait_for_action_attempt if wait_for_action_attempt is None else wait_for_action_attempt",
|
|
63
|
+
"",
|
|
64
|
+
" if wait_decision is True:",
|
|
65
|
+
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id)",
|
|
66
|
+
" elif isinstance(wait_decision, dict):",
|
|
67
|
+
" return self.seam.action_attempts.poll_until_ready(action_attempt_id=action_attempt.action_attempt_id, timeout=wait_decision.get('timeout', None), polling_interval=wait_decision.get('polling_interval', None))",
|
|
68
|
+
"",
|
|
69
|
+
" return action_attempt",
|
|
70
|
+
].join("\n")
|