@mojir/lits 2.1.34 → 2.1.36
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/README.md +396 -291
- package/dist/cli/cli.js +142 -82
- package/dist/index.esm.js +141 -81
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +141 -81
- package/dist/index.js.map +1 -1
- package/dist/lits.iife.js +141 -81
- package/dist/lits.iife.js.map +1 -1
- package/dist/testFramework.esm.js +141 -81
- package/dist/testFramework.esm.js.map +1 -1
- package/dist/testFramework.js +141 -81
- package/dist/testFramework.js.map +1 -1
- package/package.json +1 -1
|
@@ -13913,9 +13913,6 @@ var Parser = /** @class */ (function () {
|
|
|
13913
13913
|
case 'doseq':
|
|
13914
13914
|
left = this.parseForOrDoseq(firstToken);
|
|
13915
13915
|
break;
|
|
13916
|
-
// cas:
|
|
13917
|
-
// left = this.parseDo(firstToken)
|
|
13918
|
-
// break
|
|
13919
13916
|
case 'loop':
|
|
13920
13917
|
left = this.parseLoop(firstToken);
|
|
13921
13918
|
break;
|
|
@@ -14117,6 +14114,12 @@ var Parser = /** @class */ (function () {
|
|
|
14117
14114
|
params.push(withSourceCodeInfo([NodeTypes.String, value], token[2]));
|
|
14118
14115
|
this.advance();
|
|
14119
14116
|
}
|
|
14117
|
+
else if (isLBracketToken(token)) {
|
|
14118
|
+
this.advance();
|
|
14119
|
+
params.push(this.parseExpression());
|
|
14120
|
+
assertRBracketToken(this.peek());
|
|
14121
|
+
this.advance();
|
|
14122
|
+
}
|
|
14120
14123
|
else {
|
|
14121
14124
|
throw new LitsError('Expected key to be a symbol or a string', this.peekSourceCodeInfo());
|
|
14122
14125
|
}
|
|
@@ -14247,9 +14250,17 @@ var Parser = /** @class */ (function () {
|
|
|
14247
14250
|
var nodes = void 0;
|
|
14248
14251
|
var docString = '';
|
|
14249
14252
|
if (isLBraceToken(this.peek())) {
|
|
14250
|
-
var
|
|
14251
|
-
|
|
14252
|
-
|
|
14253
|
+
var positionBefore = this.parseState.position;
|
|
14254
|
+
try {
|
|
14255
|
+
var objectNode = this.parseObject();
|
|
14256
|
+
nodes = [objectNode];
|
|
14257
|
+
}
|
|
14258
|
+
catch (_a) {
|
|
14259
|
+
this.parseState.position = positionBefore;
|
|
14260
|
+
var parsedBlock = this.parseBlock(true);
|
|
14261
|
+
docString = parsedBlock[1];
|
|
14262
|
+
nodes = parsedBlock[0][1][1];
|
|
14263
|
+
}
|
|
14253
14264
|
}
|
|
14254
14265
|
else {
|
|
14255
14266
|
nodes = [this.parseExpression()];
|
|
@@ -14266,7 +14277,7 @@ var Parser = /** @class */ (function () {
|
|
|
14266
14277
|
],
|
|
14267
14278
|
], firstToken[2]);
|
|
14268
14279
|
}
|
|
14269
|
-
catch (
|
|
14280
|
+
catch (_b) {
|
|
14270
14281
|
return null;
|
|
14271
14282
|
}
|
|
14272
14283
|
};
|
|
@@ -14316,9 +14327,17 @@ var Parser = /** @class */ (function () {
|
|
|
14316
14327
|
var nodes;
|
|
14317
14328
|
var docString = '';
|
|
14318
14329
|
if (isLBraceToken(this.peek())) {
|
|
14319
|
-
var
|
|
14320
|
-
|
|
14321
|
-
|
|
14330
|
+
var positionBefore = this.parseState.position;
|
|
14331
|
+
try {
|
|
14332
|
+
var objectNode = this.parseObject();
|
|
14333
|
+
nodes = [objectNode];
|
|
14334
|
+
}
|
|
14335
|
+
catch (_b) {
|
|
14336
|
+
this.parseState.position = positionBefore;
|
|
14337
|
+
var parsedBlock = this.parseBlock(true);
|
|
14338
|
+
docString = parsedBlock[1];
|
|
14339
|
+
nodes = parsedBlock[0][1][1];
|
|
14340
|
+
}
|
|
14322
14341
|
}
|
|
14323
14342
|
else {
|
|
14324
14343
|
nodes = [this.parseExpression()];
|
|
@@ -14516,9 +14535,6 @@ var Parser = /** @class */ (function () {
|
|
|
14516
14535
|
throw new LitsError('Expected }', this.peekSourceCodeInfo());
|
|
14517
14536
|
}
|
|
14518
14537
|
}
|
|
14519
|
-
if (expressions.length === 0) {
|
|
14520
|
-
expressions.push(withSourceCodeInfo([NodeTypes.ReservedSymbol, 'null'], token[2]));
|
|
14521
|
-
}
|
|
14522
14538
|
assertRBraceToken(this.peek());
|
|
14523
14539
|
this.advance();
|
|
14524
14540
|
return [
|
|
@@ -14596,8 +14612,7 @@ var Parser = /** @class */ (function () {
|
|
|
14596
14612
|
};
|
|
14597
14613
|
Parser.prototype.parseTry = function (token) {
|
|
14598
14614
|
this.advance();
|
|
14599
|
-
var tryExpression = this.
|
|
14600
|
-
assertReservedSymbolToken(this.peek(), 'catch');
|
|
14615
|
+
var tryExpression = this.parseImplicitBlock(['catch']);
|
|
14601
14616
|
this.advance();
|
|
14602
14617
|
var errorSymbol;
|
|
14603
14618
|
if (isLParenToken(this.peek())) {
|
|
@@ -14606,7 +14621,8 @@ var Parser = /** @class */ (function () {
|
|
|
14606
14621
|
assertRParenToken(this.peek());
|
|
14607
14622
|
this.advance();
|
|
14608
14623
|
}
|
|
14609
|
-
var catchExpression = this.
|
|
14624
|
+
var catchExpression = this.parseImplicitBlock(['end']);
|
|
14625
|
+
this.advance();
|
|
14610
14626
|
return withSourceCodeInfo([NodeTypes.SpecialExpression, [specialExpressionTypes.try, tryExpression, errorSymbol, catchExpression]], token[2]);
|
|
14611
14627
|
};
|
|
14612
14628
|
Parser.prototype.parseForOrDoseq = function (firstToken) {
|
|
@@ -15711,7 +15727,7 @@ var assertReference = {
|
|
|
15711
15727
|
{ argumentNames: ['value', 'message'] },
|
|
15712
15728
|
],
|
|
15713
15729
|
description: 'If $value is falsy it throws `AssertionError` with $message. If no $message is provided, message is set to $value.',
|
|
15714
|
-
examples: ['try
|
|
15730
|
+
examples: ['try assert(0, "Expected a positive value") catch (e) e.message end'],
|
|
15715
15731
|
noOperatorDocumentation: true,
|
|
15716
15732
|
},
|
|
15717
15733
|
'assert!=': {
|
|
@@ -15729,10 +15745,10 @@ var assertReference = {
|
|
|
15729
15745
|
],
|
|
15730
15746
|
description: 'If $a is the same as $b it throws `AssertionError`.',
|
|
15731
15747
|
examples: [
|
|
15732
|
-
'try
|
|
15733
|
-
'try
|
|
15734
|
-
'try
|
|
15735
|
-
'try
|
|
15748
|
+
'try assert!=(0, 0, "Expected different values") catch (e) e.message end',
|
|
15749
|
+
'try assert!=(0, 0) catch (e) e.message end',
|
|
15750
|
+
'try 0 assert!= 0 catch (e) e.message end',
|
|
15751
|
+
'try assert!=(0, 1) catch (e) e.message end',
|
|
15736
15752
|
],
|
|
15737
15753
|
noOperatorDocumentation: true,
|
|
15738
15754
|
},
|
|
@@ -15751,9 +15767,9 @@ var assertReference = {
|
|
|
15751
15767
|
],
|
|
15752
15768
|
description: 'If $a is not structural equal to $b it throws `AssertionError`.',
|
|
15753
15769
|
examples: [
|
|
15754
|
-
'try
|
|
15755
|
-
'try
|
|
15756
|
-
'try
|
|
15770
|
+
'try assert=({ "a": 1 }, { "a": 2 }, "Expected equal values") catch (e) e.message end',
|
|
15771
|
+
'try assert=({ "a": 1 }, { "a": 2 }) catch (e) e.message end',
|
|
15772
|
+
'try assert=({ "a": 1 }, { "a": 1 }) catch (e) e.message end',
|
|
15757
15773
|
],
|
|
15758
15774
|
noOperatorDocumentation: true,
|
|
15759
15775
|
},
|
|
@@ -15772,9 +15788,9 @@ var assertReference = {
|
|
|
15772
15788
|
],
|
|
15773
15789
|
description: 'If $a is not greater than $b it throws `AssertionError`.',
|
|
15774
15790
|
examples: [
|
|
15775
|
-
'try
|
|
15776
|
-
'try
|
|
15777
|
-
'try
|
|
15791
|
+
'try assert-gt(0, 1, "Expected greater value") catch (e) e.message end',
|
|
15792
|
+
'try assert-gt(0, 0) catch (e) e.message end',
|
|
15793
|
+
'try assert-gt(1, 0) catch (e) e.message end',
|
|
15778
15794
|
],
|
|
15779
15795
|
noOperatorDocumentation: true,
|
|
15780
15796
|
},
|
|
@@ -15793,9 +15809,9 @@ var assertReference = {
|
|
|
15793
15809
|
],
|
|
15794
15810
|
description: 'If $a is not less than $b it throws `AssertionError`.',
|
|
15795
15811
|
examples: [
|
|
15796
|
-
'try
|
|
15797
|
-
'try
|
|
15798
|
-
'try
|
|
15812
|
+
'try assert-lte(1, 0, "Expected smaller value value") catch (e) e.message end',
|
|
15813
|
+
'try assert-lte(1, 1) catch (e) e.message end',
|
|
15814
|
+
'try assert-lte(0, 1) catch (e) e.message end',
|
|
15799
15815
|
],
|
|
15800
15816
|
noOperatorDocumentation: true,
|
|
15801
15817
|
},
|
|
@@ -15814,9 +15830,9 @@ var assertReference = {
|
|
|
15814
15830
|
],
|
|
15815
15831
|
description: 'If $a is less than $b it throws `AssertionError`.',
|
|
15816
15832
|
examples: [
|
|
15817
|
-
'try
|
|
15818
|
-
'try
|
|
15819
|
-
'try
|
|
15833
|
+
'try assert-gte(0, 1, "Expected greater value") catch (e) e.message end',
|
|
15834
|
+
'try assert-gte(0, 1) catch (e) e.message end',
|
|
15835
|
+
'try assert-gte(1, 1) catch (e) e.message end',
|
|
15820
15836
|
],
|
|
15821
15837
|
noOperatorDocumentation: true,
|
|
15822
15838
|
},
|
|
@@ -15835,9 +15851,9 @@ var assertReference = {
|
|
|
15835
15851
|
],
|
|
15836
15852
|
description: 'If $a is grater than $b it throws `AssertionError`.',
|
|
15837
15853
|
examples: [
|
|
15838
|
-
'try
|
|
15839
|
-
'try
|
|
15840
|
-
'try
|
|
15854
|
+
'try assert-lte(1, 0, "Expected smaller value value") catch (e) e.message end',
|
|
15855
|
+
'try assert-lte(1, 0) catch (e) e.message end',
|
|
15856
|
+
'try assert-lte(1, 1) catch (e) e.message end',
|
|
15841
15857
|
],
|
|
15842
15858
|
noOperatorDocumentation: true,
|
|
15843
15859
|
},
|
|
@@ -15861,9 +15877,9 @@ var assertReference = {
|
|
|
15861
15877
|
],
|
|
15862
15878
|
description: 'If $value is not `true` it throws `AssertionError`.',
|
|
15863
15879
|
examples: [
|
|
15864
|
-
'try
|
|
15865
|
-
'try
|
|
15866
|
-
'try
|
|
15880
|
+
'try assert-true(false, "Expected true") catch (e) e.message end',
|
|
15881
|
+
'try assert-true(false) catch (e) e.message end',
|
|
15882
|
+
'try assert-true(true) catch (e) e.message end',
|
|
15867
15883
|
],
|
|
15868
15884
|
noOperatorDocumentation: true,
|
|
15869
15885
|
},
|
|
@@ -15887,9 +15903,9 @@ var assertReference = {
|
|
|
15887
15903
|
],
|
|
15888
15904
|
description: 'If $value is not `false` it throws `AssertionError`.',
|
|
15889
15905
|
examples: [
|
|
15890
|
-
'try
|
|
15891
|
-
'try
|
|
15892
|
-
'try
|
|
15906
|
+
'try assert-false(true, "Expected false") catch (e) e.message end',
|
|
15907
|
+
'try assert-false(true) catch (e) e.message end',
|
|
15908
|
+
'try assert-false(false) catch (e) e.message end',
|
|
15893
15909
|
],
|
|
15894
15910
|
noOperatorDocumentation: true,
|
|
15895
15911
|
},
|
|
@@ -15913,16 +15929,16 @@ var assertReference = {
|
|
|
15913
15929
|
],
|
|
15914
15930
|
description: 'If $value is not `truthy` it throws `AssertionError`.',
|
|
15915
15931
|
examples: [
|
|
15916
|
-
'try
|
|
15917
|
-
'try
|
|
15918
|
-
'try
|
|
15919
|
-
'try
|
|
15920
|
-
'try
|
|
15921
|
-
'try
|
|
15922
|
-
'try
|
|
15923
|
-
'try
|
|
15924
|
-
'try
|
|
15925
|
-
'try
|
|
15932
|
+
'try assert-truthy(false, "Expected truthy") catch (e) e.message end',
|
|
15933
|
+
'try assert-truthy(false) catch (e) e.message end',
|
|
15934
|
+
'try assert-truthy(0) catch (e) e.message end',
|
|
15935
|
+
'try assert-truthy(null) catch (e) e.message end',
|
|
15936
|
+
'try assert-truthy("") catch (e) e.message end',
|
|
15937
|
+
'try assert-truthy(true) catch (e) e.message end',
|
|
15938
|
+
'try assert-truthy(1) catch (e) e.message end',
|
|
15939
|
+
'try assert-truthy("x") catch (e) e.message end',
|
|
15940
|
+
'try assert-truthy([]) catch (e) e.message end',
|
|
15941
|
+
'try assert-truthy(nd) catch (e) e.message end',
|
|
15926
15942
|
],
|
|
15927
15943
|
noOperatorDocumentation: true,
|
|
15928
15944
|
},
|
|
@@ -15946,15 +15962,15 @@ var assertReference = {
|
|
|
15946
15962
|
],
|
|
15947
15963
|
description: 'If $value is not `falsy` it throws `AssertionError`.',
|
|
15948
15964
|
examples: [
|
|
15949
|
-
'try
|
|
15950
|
-
'try
|
|
15951
|
-
'try
|
|
15952
|
-
'try
|
|
15953
|
-
'try
|
|
15954
|
-
'try
|
|
15955
|
-
'try
|
|
15956
|
-
'try
|
|
15957
|
-
'try
|
|
15965
|
+
'try assert-falsy(true, "Expected falsy") catch (e) e.message end',
|
|
15966
|
+
'try assert-falsy("x") catch (e) e.message end',
|
|
15967
|
+
'try assert-falsy([]) catch (e) e.message end',
|
|
15968
|
+
'try assert-falsy(nd) catch (e) e.message end',
|
|
15969
|
+
'try assert-falsy(1) catch (e) e.message end',
|
|
15970
|
+
'try assert-falsy(false) catch (e) e.message end',
|
|
15971
|
+
'try assert-falsy(0) catch (e) e.message end',
|
|
15972
|
+
'try assert-falsy(null) catch (e) e.message end',
|
|
15973
|
+
'try assert-falsy("") catch (e) e.message end',
|
|
15958
15974
|
],
|
|
15959
15975
|
noOperatorDocumentation: true,
|
|
15960
15976
|
},
|
|
@@ -15978,15 +15994,15 @@ var assertReference = {
|
|
|
15978
15994
|
],
|
|
15979
15995
|
description: 'If $value is not `null` it throws `AssertionError`.',
|
|
15980
15996
|
examples: [
|
|
15981
|
-
'try
|
|
15982
|
-
'try
|
|
15983
|
-
'try
|
|
15984
|
-
'try
|
|
15985
|
-
'try
|
|
15986
|
-
'try
|
|
15987
|
-
'try
|
|
15988
|
-
'try
|
|
15989
|
-
'try
|
|
15997
|
+
'try assert-null(null) catch (e) e.message end',
|
|
15998
|
+
'try assert-null(true, "Expected null") catch (e) e.message end',
|
|
15999
|
+
'try assert-null("x") catch (e) e.message end',
|
|
16000
|
+
'try assert-null([]) catch (e) e.message end',
|
|
16001
|
+
'try assert-null(nd) catch (e) e.message end',
|
|
16002
|
+
'try assert-null(1) catch (e) e.message end',
|
|
16003
|
+
'try assert-null(false) catch (e) e.message end',
|
|
16004
|
+
'try assert-null(0) catch (e) e.message end',
|
|
16005
|
+
'try assert-null("") catch (e) e.message end',
|
|
15990
16006
|
],
|
|
15991
16007
|
noOperatorDocumentation: true,
|
|
15992
16008
|
},
|
|
@@ -16011,7 +16027,7 @@ var assertReference = {
|
|
|
16011
16027
|
description: 'If $fun does not throw, it throws `AssertionError`.',
|
|
16012
16028
|
examples: [
|
|
16013
16029
|
'assert-throws(-> throw("Error"))',
|
|
16014
|
-
'try
|
|
16030
|
+
'try assert-throws(-> identity("Error")) catch (e) e.message end',
|
|
16015
16031
|
],
|
|
16016
16032
|
noOperatorDocumentation: true,
|
|
16017
16033
|
},
|
|
@@ -16038,8 +16054,8 @@ var assertReference = {
|
|
|
16038
16054
|
],
|
|
16039
16055
|
description: 'If $fun does not throw $error-message, it throws `AssertionError`.',
|
|
16040
16056
|
examples: [
|
|
16041
|
-
'try
|
|
16042
|
-
'try
|
|
16057
|
+
'try assert-throws-error(-> throw("Error"), "Error") catch (e) e.message end',
|
|
16058
|
+
'try assert-throws-error(-> identity("Error"), "Error") catch (e) e.message end',
|
|
16043
16059
|
],
|
|
16044
16060
|
noOperatorDocumentation: true,
|
|
16045
16061
|
},
|
|
@@ -16063,8 +16079,8 @@ var assertReference = {
|
|
|
16063
16079
|
],
|
|
16064
16080
|
description: 'If $fun throws, it throws `AssertionError`.',
|
|
16065
16081
|
examples: [
|
|
16066
|
-
'try
|
|
16067
|
-
'try
|
|
16082
|
+
'try assert-not-throws(-> identity("Error")) catch (e) e.message end',
|
|
16083
|
+
'try assert-not-throws(-> throw("Error")) catch (e) e.message end',
|
|
16068
16084
|
],
|
|
16069
16085
|
noOperatorDocumentation: true,
|
|
16070
16086
|
},
|
|
@@ -26631,6 +26647,50 @@ var sequenceReference = {
|
|
|
26631
26647
|
};
|
|
26632
26648
|
|
|
26633
26649
|
var specialExpressionsReference = {
|
|
26650
|
+
'doseq': {
|
|
26651
|
+
title: 'doseq',
|
|
26652
|
+
category: 'Special expression',
|
|
26653
|
+
customVariants: ['doseq (...binding) -> body'],
|
|
26654
|
+
details: [
|
|
26655
|
+
['binding', 'loop-var in collection [...let-binding] [where whereExpr] [while whileExp]', 'A doseq loop binding'],
|
|
26656
|
+
['loop-var', 'symbol', 'The name of the loop variable.'],
|
|
26657
|
+
['collection', 'any', 'The collection to iterate over.'],
|
|
26658
|
+
['let-binding', 'let binding', 'A let binding to create a local variable.'],
|
|
26659
|
+
['whereExpr', 'expression', 'An expression that must evaluate to truthy for the loop body to be executed.'],
|
|
26660
|
+
['whileExp', 'expression', 'An expression that must evaluate to truthy for the loop to continue.'],
|
|
26661
|
+
['body', 'expressions', 'The expressions to evaluate for each iteration of the loop.'],
|
|
26662
|
+
],
|
|
26663
|
+
returns: {
|
|
26664
|
+
type: 'null',
|
|
26665
|
+
},
|
|
26666
|
+
description: 'Iterates over `bindings`, evaluates `body` for each `binding` and returns `null`. This is useful for side effects.',
|
|
26667
|
+
examples: [
|
|
26668
|
+
"\ndoseq (i in [1, 2, 3]) -> write!(i * 2)\n ",
|
|
26669
|
+
],
|
|
26670
|
+
},
|
|
26671
|
+
'for': {
|
|
26672
|
+
title: 'for',
|
|
26673
|
+
category: 'Special expression',
|
|
26674
|
+
customVariants: ['for (...binding) -> body'],
|
|
26675
|
+
details: [
|
|
26676
|
+
['binding', 'loop-var in collection [...let-binding] [where whereExpr] [while whileExp]', 'A for loop binding'],
|
|
26677
|
+
['loop-var', 'symbol', 'The name of the loop variable.'],
|
|
26678
|
+
['collection', 'any', 'The collection to iterate over.'],
|
|
26679
|
+
['let-binding', 'let binding', 'A let binding to create a local variable.'],
|
|
26680
|
+
['whereExpr', 'expression', 'An expression that must evaluate to truthy for the loop body to be executed.'],
|
|
26681
|
+
['whileExp', 'expression', 'An expression that must evaluate to truthy for the loop to continue.'],
|
|
26682
|
+
['body', 'expressions', 'The expressions to evaluate for each iteration of the loop.'],
|
|
26683
|
+
],
|
|
26684
|
+
returns: {
|
|
26685
|
+
type: 'any',
|
|
26686
|
+
array: true,
|
|
26687
|
+
},
|
|
26688
|
+
description: 'Iterates over `bindings`, evaluates `body` for each `binding` and returns an `array` of results.',
|
|
26689
|
+
examples: [
|
|
26690
|
+
"\nfor (i in [1, 2, 3]) -> i * 2\n ",
|
|
26691
|
+
"\nfor (\n i in range(10) let ii = i ^ 2 while ii < 40 when ii % 3 == 0,\n j in range(10) when j % 2 == 1\n) -> ii + j\n ",
|
|
26692
|
+
],
|
|
26693
|
+
},
|
|
26634
26694
|
'array': {
|
|
26635
26695
|
title: 'array',
|
|
26636
26696
|
category: 'Special expression',
|
|
@@ -26755,9 +26815,9 @@ var specialExpressionsReference = {
|
|
|
26755
26815
|
],
|
|
26756
26816
|
description: 'Executes `try-body`. If that throws, the `catch-body` gets executed. See examples for details.',
|
|
26757
26817
|
examples: [
|
|
26758
|
-
"\ntry
|
|
26759
|
-
"\ntry
|
|
26760
|
-
"\ntry
|
|
26818
|
+
"\ntry\n 2 / 4\ncatch\n \"Oops!\"\nend",
|
|
26819
|
+
"\ntry\n foo()\ncatch(error)\n \"Error: \" ++ error.message\nend",
|
|
26820
|
+
"\ntry\n foo()\ncatch\n 42\nend",
|
|
26761
26821
|
],
|
|
26762
26822
|
},
|
|
26763
26823
|
'throw': {
|
|
@@ -26776,8 +26836,8 @@ var specialExpressionsReference = {
|
|
|
26776
26836
|
],
|
|
26777
26837
|
description: 'Throws `UserDefinedError` with message set to $expr evaluated. $expr must evaluate to a string.',
|
|
26778
26838
|
examples: [
|
|
26779
|
-
'try
|
|
26780
|
-
'try
|
|
26839
|
+
'try throw("You shall not pass!") catch(error) "Error: " ++ error.message end',
|
|
26840
|
+
'try throw(slice("You shall not pass!", 0, 3)) catch(error) "Error: " ++ error.message end',
|
|
26781
26841
|
],
|
|
26782
26842
|
},
|
|
26783
26843
|
'if': {
|
|
@@ -30923,7 +30983,7 @@ var datatype = {
|
|
|
30923
30983
|
title: 'never',
|
|
30924
30984
|
category: 'Datatype',
|
|
30925
30985
|
description: 'A value that can never be created',
|
|
30926
|
-
examples: ["\n// throw(\"error\") will never return a value\ntry
|
|
30986
|
+
examples: ["\n// throw(\"error\") will never return a value\ntry throw(\"error\") catch \"never\" end",
|
|
30927
30987
|
],
|
|
30928
30988
|
},
|
|
30929
30989
|
};
|