ranger-compiler 2.1.70 → 3.0.3
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/CHANGELOG.md +103 -0
- package/README.md +956 -133
- package/{compiler/Lang.clj → dist/Lang.rgr} +2345 -75
- package/dist/README.md +116 -0
- package/dist/{bin/api.d.ts → api.d.ts} +430 -154
- package/dist/api.js +34345 -0
- package/{lib/Ajax.clj → dist/lib/Ajax.rgr} +1 -1
- package/{lib/CmdParams.clj → dist/lib/CmdParams.rgr} +72 -72
- package/{lib/Crypto.clj → dist/lib/Crypto.rgr} +1 -1
- package/{lib/DOMLib.clj → dist/lib/DOMLib.rgr} +2 -2
- package/{lib/Engine3D.clj → dist/lib/Engine3D.rgr} +1 -1
- package/{lib/ImmutableVector.clj → dist/lib/ImmutableVector.rgr} +364 -364
- package/{lib/IndexedDB.clj → dist/lib/IndexedDB.rgr} +1 -1
- package/{lib/JSON.clj → dist/lib/JSON.rgr} +105 -2
- package/{lib/JinxProcess.clj → dist/lib/JinxProcess.rgr} +3 -3
- package/{lib/Storage.clj → dist/lib/Storage.rgr} +1 -1
- package/{lib/Timers.clj → dist/lib/Timers.rgr} +176 -170
- package/{lib/ViewLib.clj → dist/lib/ViewLib.rgr} +1 -1
- package/dist/lib/lib/ACEEditor.rgr +5 -0
- package/dist/lib/lib/Ajax.rgr +196 -0
- package/dist/lib/lib/CmdParams.rgr +72 -0
- package/dist/lib/lib/Crypto.rgr +90 -0
- package/dist/lib/lib/DOMLib.rgr +307 -0
- package/{examples/3D/Engine3D.clj → dist/lib/lib/Engine3D.rgr} +870 -857
- package/dist/lib/lib/ImmutableVector.rgr +364 -0
- package/dist/lib/lib/IndexedDB.rgr +32 -0
- package/{compiler/JSON.clj → dist/lib/lib/JSON.rgr} +106 -3
- package/dist/lib/lib/JinxProcess.rgr +838 -0
- package/dist/lib/lib/SQL.rgr +44 -0
- package/dist/lib/lib/ServiceLib.rgr +9 -0
- package/dist/lib/lib/Storage.rgr +89 -0
- package/dist/lib/lib/Time.rgr +75 -0
- package/dist/lib/lib/Timers.rgr +176 -0
- package/dist/lib/lib/TypedArrays.rgr +14 -0
- package/dist/lib/lib/ViewLib.rgr +851 -0
- package/dist/lib/lib/WebLib.rgr +47 -0
- package/dist/lib/lib/WebServerLib.rgr +137 -0
- package/{lib/ranger-dir.clj → dist/lib/lib/ranger-dir.rgr} +1 -1
- package/{compiler/stdlib.clj → dist/lib/lib/stdlib.rgr} +42 -19
- package/{lib/stdops.clj → dist/lib/lib/stdops.rgr} +1 -1
- package/dist/lib/ranger-dir.rgr +175 -0
- package/{lib/stdlib.clj → dist/lib/stdlib.rgr} +2 -2
- package/dist/lib/stdops.rgr +168 -0
- package/dist/package.json +47 -0
- package/{compiler/bin/output.js → dist/rgrc.js} +15377 -7936
- package/dist/stdops.rgr +168 -0
- package/package.json +196 -39
- package/adventofcode/day1/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day1/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day1/bin/LambdaSignature3.java +0 -3
- package/adventofcode/day1/bin/day1.cpp +0 -124
- package/adventofcode/day1/bin/day1.go +0 -75
- package/adventofcode/day1/bin/day1.js +0 -45
- package/adventofcode/day1/bin/day1.php +0 -46
- package/adventofcode/day1/bin/day1.scala +0 -48
- package/adventofcode/day1/bin/day1.swift +0 -48
- package/adventofcode/day1/bin/day1_part2.cpp +0 -180
- package/adventofcode/day1/bin/day1_part2.go +0 -123
- package/adventofcode/day1/bin/day1_part2.js +0 -76
- package/adventofcode/day1/bin/day1_part2.php +0 -88
- package/adventofcode/day1/bin/day1_part2.scala +0 -81
- package/adventofcode/day1/bin/day1_part2.swift +0 -91
- package/adventofcode/day1/bin/day_one.java +0 -38
- package/adventofcode/day1/bin/day_one_part_two.java +0 -57
- package/adventofcode/day1/bin/operatorsOf.java +0 -37
- package/adventofcode/day1/bin/operatorsOf_5.java +0 -10
- package/adventofcode/day1/bin/operatorsOfboolean_5.java +0 -10
- package/adventofcode/day1/bin/variant.hpp +0 -2416
- package/adventofcode/day1/compile.bat +0 -7
- package/adventofcode/day1/compile2.bat +0 -7
- package/adventofcode/day1/day1.clj +0 -19
- package/adventofcode/day1/day1_part2.clj +0 -43
- package/adventofcode/day1/input1.txt +0 -1
- package/adventofcode/day2/bin/LambdaSignature1.class +0 -0
- package/adventofcode/day2/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day2/bin/LambdaSignature2.class +0 -0
- package/adventofcode/day2/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day2/bin/day2.cpp +0 -133
- package/adventofcode/day2/bin/day2.go +0 -85
- package/adventofcode/day2/bin/day2.js +0 -45
- package/adventofcode/day2/bin/day2.php +0 -59
- package/adventofcode/day2/bin/day2.scala +0 -54
- package/adventofcode/day2/bin/day2.swift +0 -62
- package/adventofcode/day2/bin/day2_part2.cpp +0 -150
- package/adventofcode/day2/bin/day2_part2.go +0 -101
- package/adventofcode/day2/bin/day2_part2.js +0 -54
- package/adventofcode/day2/bin/day2_part2.php +0 -80
- package/adventofcode/day2/bin/day2_part2.scala +0 -68
- package/adventofcode/day2/bin/day2_part2.swift +0 -82
- package/adventofcode/day2/bin/day_two.java +0 -61
- package/adventofcode/day2/bin/day_two_part_two$1$1$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two$1$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two.java +0 -80
- package/adventofcode/day2/bin/operatorsOf.class +0 -0
- package/adventofcode/day2/bin/operatorsOf.java +0 -18
- package/adventofcode/day2/bin/variant.hpp +0 -2416
- package/adventofcode/day2/compile.bat +0 -7
- package/adventofcode/day2/compile2.bat +0 -7
- package/adventofcode/day2/day2.clj +0 -60
- package/adventofcode/day2/day2_part2.clj +0 -69
- package/adventofcode/day2/input1.txt +0 -1
- package/adventofcode/day3/bin/Grid.java +0 -92
- package/adventofcode/day3/bin/GridRow.java +0 -5
- package/adventofcode/day3/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day3/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day3/bin/LambdaSignature3.java +0 -3
- package/adventofcode/day3/bin/day3.cpp +0 -64
- package/adventofcode/day3/bin/day3.go +0 -55
- package/adventofcode/day3/bin/day3.js +0 -42
- package/adventofcode/day3/bin/day3.php +0 -41
- package/adventofcode/day3/bin/day3.scala +0 -52
- package/adventofcode/day3/bin/day3.swift +0 -43
- package/adventofcode/day3/bin/day3_part2.cpp +0 -216
- package/adventofcode/day3/bin/day3_part2.go +0 -188
- package/adventofcode/day3/bin/day3_part2.js +0 -123
- package/adventofcode/day3/bin/day3_part2.php +0 -135
- package/adventofcode/day3/bin/day3_part2.swift +0 -131
- package/adventofcode/day3/bin/day_three_part_two.java +0 -43
- package/adventofcode/day3/bin/day_two.java +0 -42
- package/adventofcode/day3/bin/operatorsOf.java +0 -14
- package/adventofcode/day3/bin/variant.hpp +0 -2416
- package/adventofcode/day3/compile.bat +0 -7
- package/adventofcode/day3/compile2.bat +0 -7
- package/adventofcode/day3/day3.clj +0 -42
- package/adventofcode/day3/day3_part2.clj +0 -112
- package/adventofcode/day4/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day4/bin/day4.cpp +0 -118
- package/adventofcode/day4/bin/day4.go +0 -75
- package/adventofcode/day4/bin/day4.js +0 -40
- package/adventofcode/day4/bin/day4.php +0 -52
- package/adventofcode/day4/bin/day4.scala +0 -47
- package/adventofcode/day4/bin/day4.swift +0 -56
- package/adventofcode/day4/bin/day4_part2.go +0 -129
- package/adventofcode/day4/bin/day4_part2.js +0 -72
- package/adventofcode/day4/bin/day_four.java +0 -41
- package/adventofcode/day4/bin/inputData.java +0 -7
- package/adventofcode/day4/bin/operatorsOf.java +0 -11
- package/adventofcode/day4/bin/variant.hpp +0 -2416
- package/adventofcode/day4/compile.bat +0 -7
- package/adventofcode/day4/compile2.bat +0 -7
- package/adventofcode/day4/day4.clj +0 -32
- package/adventofcode/day4/day4_part2.clj +0 -44
- package/adventofcode/day4/input.clj +0 -519
- package/adventofcode/day4/input.txt +0 -512
- package/bin/api.ts +0 -24471
- package/bin/compiler.ts +0 -24482
- package/bin/output.js +0 -23819
- package/compiler/ColorConsole.clj +0 -22
- package/compiler/ContextOperators.clj +0 -75
- package/compiler/FlowEnterVarDef.clj +0 -223
- package/compiler/InputFileSystem.clj +0 -276
- package/compiler/RangerDocs.clj +0 -7
- package/compiler/TFactory.clj +0 -146
- package/compiler/TFiles.clj +0 -23
- package/compiler/TFlow.clj +0 -39
- package/compiler/TNodeFactory.clj +0 -84
- package/compiler/TTypes.clj +0 -188
- package/compiler/VirtualCompiler.clj +0 -807
- package/compiler/bin/ng_Compiler.js +0 -23779
- package/compiler/commonmark_plugin.clj +0 -359
- package/compiler/feat2.bat +0 -2
- package/compiler/feats.bat +0 -9
- package/compiler/feature_tests.clj +0 -192
- package/compiler/index.js +0 -2
- package/compiler/issue_57.clj +0 -25
- package/compiler/makefile_plugin.clj +0 -135
- package/compiler/markdown_plugin.clj +0 -386
- package/compiler/maven_plugin.clj +0 -162
- package/compiler/ng_AndroidPageWriter.clj +0 -299
- package/compiler/ng_CodeNode.clj +0 -756
- package/compiler/ng_CodeNodeCompilerExtensions.clj +0 -839
- package/compiler/ng_Compiler.clj +0 -49
- package/compiler/ng_CompilerGeneric.clj +0 -260
- package/compiler/ng_CompilerOrig.clj +0 -854
- package/compiler/ng_DictNode.clj +0 -346
- package/compiler/ng_DictNode2.clj +0 -316
- package/compiler/ng_Execute.clj +0 -138
- package/compiler/ng_Execute1.clj +0 -129
- package/compiler/ng_FlowWork.clj +0 -3951
- package/compiler/ng_LiveCompiler.clj +0 -1109
- package/compiler/ng_RagnerJavaScriptClassWriter.clj +0 -402
- package/compiler/ng_RangerActiveOperators.clj +0 -86
- package/compiler/ng_RangerAppClassDesc.clj +0 -400
- package/compiler/ng_RangerAppEnums.clj +0 -86
- package/compiler/ng_RangerAppFunctionDesc.clj +0 -127
- package/compiler/ng_RangerAppMessages.clj +0 -15
- package/compiler/ng_RangerAppOperatorDesc.clj +0 -20
- package/compiler/ng_RangerAppParamDesc.clj +0 -388
- package/compiler/ng_RangerAppWriterContext.clj +0 -1793
- package/compiler/ng_RangerArgMatch.clj +0 -638
- package/compiler/ng_RangerCSharpClassWriter.clj +0 -484
- package/compiler/ng_RangerCppClassWriter.clj +0 -1023
- package/compiler/ng_RangerDocGenerator.clj +0 -305
- package/compiler/ng_RangerFlowParser.clj +0 -4992
- package/compiler/ng_RangerFlowParserOrig.clj +0 -4002
- package/compiler/ng_RangerGenericClassWriter.clj +0 -573
- package/compiler/ng_RangerGolangClassWriter.clj +0 -1766
- package/compiler/ng_RangerImmutableExtension.clj +0 -77
- package/compiler/ng_RangerJava7ClassWriter.clj +0 -961
- package/compiler/ng_RangerJavaScriptClassWriter.clj +0 -1040
- package/compiler/ng_RangerKotlinClassWriter.clj +0 -372
- package/compiler/ng_RangerLanguageWriters.clj +0 -14
- package/compiler/ng_RangerLispParser.clj +0 -873
- package/compiler/ng_RangerPHPClassWriter.clj +0 -643
- package/compiler/ng_RangerPlugin.clj +0 -41
- package/compiler/ng_RangerRangerClassWriter.clj +0 -357
- package/compiler/ng_RangerRustClassWriter.clj +0 -420
- package/compiler/ng_RangerScalaClassWriter.clj +0 -818
- package/compiler/ng_RangerSerializeClass.clj +0 -502
- package/compiler/ng_RangerServiceBuilder.clj +0 -63
- package/compiler/ng_RangerSwift3ClassWriter.clj +0 -809
- package/compiler/ng_RangerSwiftClassWriter.clj +0 -0
- package/compiler/ng_RangerTypeClass.clj +0 -45
- package/compiler/ng_SourceParser.clj +0 -241
- package/compiler/ng_SourceParser2.clj +0 -214
- package/compiler/ng_WebPageWriter.clj +0 -39
- package/compiler/ng_jsonParser.clj +0 -340
- package/compiler/ng_p_test.clj +0 -1711
- package/compiler/ng_parser.clj +0 -911
- package/compiler/ng_parser2.clj +0 -735
- package/compiler/ng_parser2_backup.clj +0 -1679
- package/compiler/ng_parser_backup.clj +0 -886
- package/compiler/ng_parser_ok.clj +0 -1718
- package/compiler/ng_parser_ok2.clj +0 -1717
- package/compiler/ng_parser_std_match.clj +0 -687
- package/compiler/ng_parser_std_match2.clj +0 -1012
- package/compiler/ng_parser_v2.clj +0 -1251
- package/compiler/ng_ui.clj +0 -403
- package/compiler/ng_ui_test.clj +0 -18
- package/compiler/ng_writer.clj +0 -338
- package/compiler/ng_xmlParser.clj +0 -472
- package/compiler/ng_xmlParser2.clj +0 -317
- package/compiler/ng_xmlParser3.clj +0 -251
- package/compiler/opdoc.bat +0 -4
- package/compiler/operators.md +0 -290
- package/compiler/p.bat +0 -4
- package/compiler/package.json +0 -10
- package/compiler/pcmd.bat +0 -4
- package/compiler/pcmd2.bat +0 -3
- package/compiler/plaintext_plugin.clj +0 -69
- package/compiler/plugin.bat +0 -19
- package/compiler/plugin2.bat +0 -4
- package/compiler/plugin_app.bat +0 -3
- package/compiler/plugin_apps.clj +0 -27
- package/compiler/plugins.bat +0 -10
- package/compiler/reveal_plugin.clj +0 -409
- package/compiler/simplePlugin.clj +0 -780
- package/compiler/t.bat +0 -3
- package/compiler/test_any.clj +0 -43
- package/compiler/test_call.clj +0 -141
- package/compiler/test_chain.clj +0 -79
- package/compiler/test_json.clj +0 -10
- package/compiler/test_lambda.clj +0 -153
- package/compiler/test_pcmd.clj +0 -32
- package/compiler/test_pcmd2.clj +0 -29
- package/compiler/test_plugin.clj +0 -237
- package/compiler/test_readfile.clj +0 -13
- package/compiler/test_reveal.clj +0 -19
- package/compiler/test_slides.clj +0 -312
- package/compiler/test_types.clj +0 -143
- package/compiler/test_types2.clj +0 -49
- package/compiler/test_types3.clj +0 -53
- package/compiler/test_var.clj +0 -40
- package/compiler/tonpm.bat +0 -14
- package/compiler/tonpm2.bat +0 -12
- package/compiler/ui_plugin.clj +0 -507
- package/compiler/ui_plugin2.clj +0 -427
- package/compiler/update-git.bat +0 -3
- package/compiler/vcomp.bat +0 -4
- package/compiler/viewbuilder_Android.clj +0 -176
- package/compiler/viewbuilder_Web.clj +0 -105
- package/dist/bin/api.js +0 -32422
- package/dist/bin/compiler.d.ts +0 -1638
- package/dist/bin/compiler.js +0 -32444
- package/examples/3D/bin/test_3d.js +0 -329
- package/examples/3D/test_3d.clj +0 -385
- package/examples/EVGColor/EVGColor.clj +0 -310
- package/examples/EVGColor/EVGColorContext.clj +0 -176
- package/examples/EVGColor/bin/EVGColor.js +0 -286
- package/examples/EVGColor/bin/minimized.js +0 -286
- package/examples/SVGPath/SVGPath.clj +0 -625
- package/examples/SVGPath/Vec2.clj +0 -103
- package/examples/SVGPath/bin/SVGPath.cpp +0 -887
- package/examples/SVGPath/bin/SVGPath.js +0 -682
- package/examples/SVGPath/bin/SVGPath.ts +0 -711
- package/examples/SVGPath/bin/minimized.js +0 -578
- package/examples/SVGPath/bin/variant.hpp +0 -2416
- package/examples/minification/Vec2.clj +0 -103
- package/examples/minification/bin/minified.js +0 -44
- package/examples/minification/bin/test.js +0 -117
- package/examples/minification/test.clj +0 -13
- package/fiddle/VirtualCompiler.js +0 -23495
- package/fiddle/browser_editor.js +0 -13240
- package/fiddle/compileEnv.js +0 -1
- package/fiddle/compileEnv.json +0 -1
- package/fiddle/lang_data.js +0 -1
- package/index.html +0 -18
- package/native/httpd/HttpTester.clj +0 -33
- package/native/httpd/RangerWebService.clj +0 -81
- package/operators.md +0 -290
- package/tsconfig.json +0 -29
- package/versions/cpp/compiler.cpp +0 -15032
- package/versions/es6/compiler.js +0 -12860
- package/versions/go/compiler.go +0 -21338
- package/versions/java/AfterCodeNode.java +0 -4
- package/versions/java/ClassJoinPoint.java +0 -6
- package/versions/java/CodeFile.java +0 -42
- package/versions/java/CodeFileSystem.java +0 -72
- package/versions/java/CodeNode.java +0 -807
- package/versions/java/CodeSlice.java +0 -13
- package/versions/java/CodeWriter.java +0 -185
- package/versions/java/ColorConsole.java +0 -8
- package/versions/java/CompilerInterface.java +0 -213
- package/versions/java/DictNode.java +0 -353
- package/versions/java/LiveCompiler.java +0 -772
- package/versions/java/NodeEvalState.java +0 -24
- package/versions/java/OpFindResult.java +0 -6
- package/versions/java/RangerAppArrayValue.java +0 -7
- package/versions/java/RangerAppClassDesc.java +0 -217
- package/versions/java/RangerAppEnum.java +0 -14
- package/versions/java/RangerAppFunctionDesc.java +0 -20
- package/versions/java/RangerAppHashValue.java +0 -11
- package/versions/java/RangerAppInterfaceImpl.java +0 -6
- package/versions/java/RangerAppMethodVariants.java +0 -6
- package/versions/java/RangerAppParamDesc.java +0 -321
- package/versions/java/RangerAppTodo.java +0 -6
- package/versions/java/RangerAppValue.java +0 -10
- package/versions/java/RangerAppWriterContext.java +0 -800
- package/versions/java/RangerArgMatch.java +0 -317
- package/versions/java/RangerBackReference.java +0 -7
- package/versions/java/RangerCSharpClassWriter.java +0 -287
- package/versions/java/RangerCompilerMessage.java +0 -9
- package/versions/java/RangerCppClassWriter.java +0 -725
- package/versions/java/RangerFlowParser.java +0 -2142
- package/versions/java/RangerGenericClassWriter.java +0 -367
- package/versions/java/RangerGolangClassWriter.java +0 -1379
- package/versions/java/RangerJava7ClassWriter.java +0 -652
- package/versions/java/RangerJavaScriptClassWriter.java +0 -305
- package/versions/java/RangerKotlinClassWriter.java +0 -380
- package/versions/java/RangerLispParser.java +0 -845
- package/versions/java/RangerNodeValue.java +0 -9
- package/versions/java/RangerPHPClassWriter.java +0 -527
- package/versions/java/RangerParamEventHandler.java +0 -6
- package/versions/java/RangerParamEventList.java +0 -5
- package/versions/java/RangerParamEventMap.java +0 -27
- package/versions/java/RangerRangerClassWriter.java +0 -268
- package/versions/java/RangerRefForce.java +0 -7
- package/versions/java/RangerScalaClassWriter.java +0 -365
- package/versions/java/RangerSerializeClass.java +0 -148
- package/versions/java/RangerSwift3ClassWriter.java +0 -548
- package/versions/java/RangerTypeClass.java +0 -17
- package/versions/java/SourceCode.java +0 -65
- package/versions/php/compiler.php +0 -13830
- package/versions/swift3/compiler.swift +0 -12542
- /package/{lib/ACEEditor.clj → dist/lib/ACEEditor.rgr} +0 -0
- /package/{lib/SQL.clj → dist/lib/SQL.rgr} +0 -0
- /package/{lib/ServiceLib.clj → dist/lib/ServiceLib.rgr} +0 -0
- /package/{lib/Time.clj → dist/lib/Time.rgr} +0 -0
- /package/{lib/TypedArrays.clj → dist/lib/TypedArrays.rgr} +0 -0
- /package/{lib/WebLib.clj → dist/lib/WebLib.rgr} +0 -0
- /package/{lib/WebServerLib.clj → dist/lib/WebServerLib.rgr} +0 -0
|
@@ -29,4 +29,4 @@ operator type:void es6 {
|
|
|
29
29
|
fn insert@(async):void (db:SQLDatabase t:DBTable rows:[DBInsertableRow]) ('await (' (e 1) '.insertOrReplace().into(' (e 2) ').values(' (e 3) ').exec())')
|
|
30
30
|
; fn query@(async):[JSONDataObject] (db:SQLDatabase t:DBTable id:int ) ('await (' (e 1) '.select().from(' (e 2) ').where(' (e 2) '.id.eq(' (e 3)')).exec())')
|
|
31
31
|
fn select@(async):[JSONDataObject] (db:SQLDatabase t:DBTable id:int ) ('await (' (e 1) '.select().from(' (e 2) ').where(' (e 2) '.id.eq(' (e 3)')).exec())')
|
|
32
|
-
}
|
|
32
|
+
}
|
|
@@ -10,15 +10,19 @@
|
|
|
10
10
|
systemclass JSONDataObject {
|
|
11
11
|
es6 Object
|
|
12
12
|
java7 JSONObject ( (imp "org.json.JSONObject") )
|
|
13
|
+
kotlin JSONObject
|
|
13
14
|
go "map[string]interface{}"
|
|
14
15
|
swift3 '[String:Any]'
|
|
16
|
+
swift6 '[String:Any]'
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
systemclass JSONArrayObject {
|
|
18
20
|
es6 JSONArrayObject2
|
|
19
21
|
java7 JSONArray ( (imp "org.json.JSONArray") )
|
|
22
|
+
kotlin JSONArray
|
|
20
23
|
go "[]interface{}"
|
|
21
24
|
swift3 '[Any]'
|
|
25
|
+
swift6 '[Any]'
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
systemclass JSONKeyValue {
|
|
@@ -28,8 +32,10 @@ systemclass JSONKeyValue {
|
|
|
28
32
|
systemclass JSONValueUnion {
|
|
29
33
|
es6 Object
|
|
30
34
|
java7 Object
|
|
35
|
+
kotlin Any?
|
|
31
36
|
go "interface{}"
|
|
32
37
|
swift3 Any
|
|
38
|
+
swift6 Any
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
systemunion JSONValueUnion ( JSONDataObject JSONArrayObject string int double boolean )
|
|
@@ -79,8 +85,17 @@ operators {
|
|
|
79
85
|
"(typeof (" (e 1) " [" (e 2) "]) != \"string\" ) ? undefined : " (e 1) " [" (e 2) "] " nl
|
|
80
86
|
)
|
|
81
87
|
swift3 ( (e 1) '[' (e 2) '] as? String ')
|
|
88
|
+
swift6 ( (e 1) '[' (e 2) '] as? String ')
|
|
82
89
|
ranger ("(getStr " (e 1) " " (e 2) ")")
|
|
83
90
|
java7 ( (e 1) ".isNull( " (e 2) " ) ? null : " (e 1) ".optString(" (e 2) ") " )
|
|
91
|
+
kotlin ( "(if (" (e 1) ".isNull(" (e 2) ")) null else " (e 1) ".optString(" (e 2) "))"
|
|
92
|
+
(create_polyfill "
|
|
93
|
+
typealias JSONObject = org.json.JSONObject
|
|
94
|
+
typealias JSONArray = org.json.JSONArray
|
|
95
|
+
typealias JSONDataObject = org.json.JSONObject
|
|
96
|
+
typealias JSONArrayObject = org.json.JSONArray
|
|
97
|
+
")
|
|
98
|
+
)
|
|
84
99
|
go ( "r_get_opt_json_string(" (e 1) ", " (e 2) ")"
|
|
85
100
|
(create_polyfill "
|
|
86
101
|
func r_get_opt_json_string( data map[string]interface{}, key string ) *GoNullable {
|
|
@@ -111,8 +126,10 @@ func r_get_opt_json_string( data map[string]interface{}, key string ) *GoNullabl
|
|
|
111
126
|
"isNaN( parseInt(" (e 1) " [" (e 2) "]) ) ? undefined : parseInt(" (e 1) " [" (e 2) "]) " nl
|
|
112
127
|
)
|
|
113
128
|
swift3 ( (e 1) '[' (e 2) '] as? Int ')
|
|
129
|
+
swift6 ( (e 1) '[' (e 2) '] as? Int ')
|
|
114
130
|
ranger( "(getInt " (e 1 )" " (e 2)")")
|
|
115
131
|
java7 ( (e 1) ".isNull( " (e 2) " ) ? null : " (e 1) ".optInt(" (e 2) ") " )
|
|
132
|
+
kotlin ( "(if (" (e 1) ".isNull(" (e 2) ")) null else " (e 1) ".optInt(" (e 2) "))" )
|
|
116
133
|
go ( "r_get_opt_json_int(" (e 1) ", " (e 2 ) ")"
|
|
117
134
|
(create_polyfill "
|
|
118
135
|
func r_get_opt_json_int( data map[string]interface{}, key string ) *GoNullable {
|
|
@@ -142,8 +159,10 @@ func r_get_opt_json_int( data map[string]interface{}, key string ) *GoNullable
|
|
|
142
159
|
"isNaN( parseFloat(" (e 1) " [" (e 2) "]) ) ? undefined : parseFloat(" (e 1) " [" (e 2) "]) " nl
|
|
143
160
|
)
|
|
144
161
|
swift3 ( (e 1) '[' (e 2) '] as? Double ')
|
|
162
|
+
swift6 ( (e 1) '[' (e 2) '] as? Double ')
|
|
145
163
|
ranger( "(getDouble " (e 1 )" " (e 2)")")
|
|
146
164
|
java7 ( (e 1) ".isNull( " (e 2) " ) ? null : " (e 1) ".optDouble(" (e 2) ") " )
|
|
165
|
+
kotlin ( "(if (" (e 1) ".isNull(" (e 2) ")) null else " (e 1) ".optDouble(" (e 2) "))" )
|
|
147
166
|
go ( "r_get_opt_json_double(" (e 1) ", " (e 2) ")"
|
|
148
167
|
(create_polyfill "
|
|
149
168
|
func r_get_opt_json_double( data map[string]interface{}, key string ) *GoNullable {
|
|
@@ -173,8 +192,10 @@ func r_get_opt_json_double( data map[string]interface{}, key string ) *GoNullabl
|
|
|
173
192
|
"typeof(" (e 1) " [" (e 2) "]) === \"undefined\" ? undefined :(" (e 1) " [" (e 2) "]) "
|
|
174
193
|
)
|
|
175
194
|
swift3 ( (e 1) '[' (e 2) '] as? Bool ')
|
|
195
|
+
swift6 ( (e 1) '[' (e 2) '] as? Bool ')
|
|
176
196
|
ranger( "(getBoolean " (e 1 )" " (e 2)")")
|
|
177
197
|
java7 ( (e 1) ".isNull( " (e 2) " ) ? null : " (e 1) ".optBoolean(" (e 2) ") " )
|
|
198
|
+
kotlin ( "(if (" (e 1) ".isNull(" (e 2) ")) null else " (e 1) ".optBoolean(" (e 2) "))" )
|
|
178
199
|
go ( "r_get_opt_json_bool(" (e 1) ", " (e 2) ")"
|
|
179
200
|
(create_polyfill "
|
|
180
201
|
func r_get_opt_json_bool( data map[string]interface{}, key string ) *GoNullable {
|
|
@@ -203,6 +224,7 @@ func r_get_opt_json_bool( data map[string]interface{}, key string ) *GoNullable
|
|
|
203
224
|
"(" (e 1) "[" (e 2) "] instanceof Object ) ? " (e 1) " [" (e 2) "] : undefined "
|
|
204
225
|
)
|
|
205
226
|
swift3 ( (e 1) '[' (e 2) '] as? [String:Any] ')
|
|
227
|
+
swift6 ( (e 1) '[' (e 2) '] as? [String:Any] ')
|
|
206
228
|
ranger ( '(getObject ' (e 1) ' ' (e 2) ')')
|
|
207
229
|
java7 ( "__getJSONObj(" (e 1) ", " (e 2) " )" (imp 'org.json.JSONException')
|
|
208
230
|
|
|
@@ -221,6 +243,7 @@ static JSONObject __getJSONObj(JSONObject o, String item)
|
|
|
221
243
|
')
|
|
222
244
|
|
|
223
245
|
)
|
|
246
|
+
kotlin ( "(if (" (e 1) ".isNull(" (e 2) ")) null else " (e 1) ".getJSONObject(" (e 2) "))" )
|
|
224
247
|
go ( "r_get_opt_json_obj(" (e 1) ", " (e 2) ")"
|
|
225
248
|
(create_polyfill "
|
|
226
249
|
func r_get_opt_json_obj( data map[string]interface{}, key string ) *GoNullable {
|
|
@@ -251,8 +274,10 @@ func r_get_opt_json_obj( data map[string]interface{}, key string ) *GoNullable
|
|
|
251
274
|
"(" (e 1) "[" (e 2) "] instanceof Array ) ? " (e 1) " [" (e 2) "] : undefined "
|
|
252
275
|
)
|
|
253
276
|
swift3 ( (e 1) '[' (e 2) '] as? [Any] ')
|
|
277
|
+
swift6 ( (e 1) '[' (e 2) '] as? [Any] ')
|
|
254
278
|
ranger ("(getArray " (e 1) " " (e 2) ")")
|
|
255
279
|
java7 ( (e 1) ".isNull( " (e 2) " ) ? null : " (e 1) ".getJSONArray(" (e 2) ") " )
|
|
280
|
+
kotlin ( "(if (" (e 1) ".isNull(" (e 2) ")) null else " (e 1) ".getJSONArray(" (e 2) "))" )
|
|
256
281
|
go ( "r_get_opt_array(" (e 1) ", " (e 2) ")"
|
|
257
282
|
(create_polyfill '
|
|
258
283
|
func r_get_opt_array( data map[string]interface{}, key string ) *GoNullable {
|
|
@@ -361,6 +386,7 @@ static Object __getJSONValue(JSONArray o, Integer item)
|
|
|
361
386
|
|
|
362
387
|
)
|
|
363
388
|
swift3 ( (e 1) "[" (e 2) "]")
|
|
389
|
+
kotlin ( (e 1) ".get(" (e 2) ")")
|
|
364
390
|
go ( (e 1) "[" (e 2) "]")
|
|
365
391
|
php ( (e 1) "[" (e 2) "]")
|
|
366
392
|
}
|
|
@@ -371,7 +397,9 @@ static Object __getJSONValue(JSONArray o, Integer item)
|
|
|
371
397
|
ranger ("(array_length " (e 1) ")")
|
|
372
398
|
es6 ( (e 1) ".length")
|
|
373
399
|
java7 ( (e 1) ".length()" )
|
|
400
|
+
kotlin ( (e 1) ".length()" )
|
|
374
401
|
swift3 ( (e 1) ".count")
|
|
402
|
+
swift6 ( (e 1) ".count")
|
|
375
403
|
go( "int64(len(" (e 1) "))" )
|
|
376
404
|
php ( "count(" (e 1) ")" )
|
|
377
405
|
}
|
|
@@ -382,8 +410,62 @@ static Object __getJSONValue(JSONArray o, Integer item)
|
|
|
382
410
|
ranger ( "(set " (e 1) " " (e 2) " " (e 3) " )")
|
|
383
411
|
es6 ( (e 1) "[" (e 2)"] = " (e 3) ";")
|
|
384
412
|
java7 ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
413
|
+
kotlin ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
414
|
+
go ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
415
|
+
swift3 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
416
|
+
swift6 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
417
|
+
php ( (e 1) "[" (e 2) "] = " (e 3) ";" )
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
set _@(moves@( 3 1 ) ):void (e@(mutates):JSONDataObject key:string value:string) {
|
|
422
|
+
templates {
|
|
423
|
+
ranger ( "(set " (e 1) " " (e 2) " " (e 3) " )")
|
|
424
|
+
es6 ( (e 1) "[" (e 2)"] = " (e 3) ";")
|
|
425
|
+
java7 ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
426
|
+
kotlin ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
427
|
+
go ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
428
|
+
swift3 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
429
|
+
swift6 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
430
|
+
php ( (e 1) "[" (e 2) "] = " (e 3) ";" )
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
set _@(moves@( 3 1 ) ):void (e@(mutates):JSONDataObject key:string value:int) {
|
|
435
|
+
templates {
|
|
436
|
+
ranger ( "(set " (e 1) " " (e 2) " " (e 3) " )")
|
|
437
|
+
es6 ( (e 1) "[" (e 2)"] = " (e 3) ";")
|
|
438
|
+
java7 ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
439
|
+
kotlin ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
440
|
+
go ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
441
|
+
swift3 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
442
|
+
swift6 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
443
|
+
php ( (e 1) "[" (e 2) "] = " (e 3) ";" )
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
set _@(moves@( 3 1 ) ):void (e@(mutates):JSONDataObject key:string value:double) {
|
|
448
|
+
templates {
|
|
449
|
+
ranger ( "(set " (e 1) " " (e 2) " " (e 3) " )")
|
|
450
|
+
es6 ( (e 1) "[" (e 2)"] = " (e 3) ";")
|
|
451
|
+
java7 ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
452
|
+
kotlin ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
385
453
|
go ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
386
454
|
swift3 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
455
|
+
swift6 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
456
|
+
php ( (e 1) "[" (e 2) "] = " (e 3) ";" )
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
set _@(moves@( 3 1 ) ):void (e@(mutates):JSONDataObject key:string value:boolean) {
|
|
461
|
+
templates {
|
|
462
|
+
ranger ( "(set " (e 1) " " (e 2) " " (e 3) " )")
|
|
463
|
+
es6 ( (e 1) "[" (e 2)"] = " (e 3) ";")
|
|
464
|
+
java7 ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
465
|
+
kotlin ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
466
|
+
go ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
467
|
+
swift3 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
468
|
+
swift6 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
387
469
|
php ( (e 1) "[" (e 2) "] = " (e 3) ";" )
|
|
388
470
|
}
|
|
389
471
|
}
|
|
@@ -393,8 +475,10 @@ static Object __getJSONValue(JSONArray o, Integer item)
|
|
|
393
475
|
ranger ( "(set " (e 1) " " (e 2) " " (e 3) " )")
|
|
394
476
|
es6 ( (e 1) "[" (e 2)"] = " (e 3) ";")
|
|
395
477
|
java7 ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
478
|
+
kotlin ( (e 1) ".put(" (e 2)" , " (e 3) ");")
|
|
396
479
|
go ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
397
480
|
swift3 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
481
|
+
swift6 ( (e 1) "[" (e 2) "] = " (e 3) )
|
|
398
482
|
php ( (e 1) "[" (e 2) "] = " (e 3) ";" )
|
|
399
483
|
}
|
|
400
484
|
}
|
|
@@ -406,7 +490,9 @@ static Object __getJSONValue(JSONArray o, Integer item)
|
|
|
406
490
|
"JSON.parse(" (e 1) ")"
|
|
407
491
|
)
|
|
408
492
|
swift3 ( 'try JSONSerialization.jsonObject(with: ' (e 1) ', options:[]) as! [String:Any]' (imp 'Foundation') )
|
|
493
|
+
swift6 ( 'try JSONSerialization.jsonObject(with: ' (e 1) ', options:[]) as! [String:Any]' (imp 'Foundation') )
|
|
409
494
|
java7 ("new JSONObject(" (e 1) ")" (imp "org.json.JSONObject") (plugin 'maven' ( (dep 'org.json' 'json' '20171018' ) ) ))
|
|
495
|
+
kotlin ("JSONObject(" (e 1) ")")
|
|
410
496
|
go ( "__r_json_to_interface(" (e 1) ")" (imp "encoding/json")
|
|
411
497
|
|
|
412
498
|
(create_polyfill "
|
|
@@ -448,8 +534,16 @@ function r_json_to_array($str) {
|
|
|
448
534
|
i nl '} catch {' nl I
|
|
449
535
|
'return ""'
|
|
450
536
|
i nl '}'
|
|
451
|
-
'}()' (imp 'Foundation') )
|
|
537
|
+
i nl '}()' (imp 'Foundation') )
|
|
538
|
+
swift6 ( '{ () -> String in ' nl I
|
|
539
|
+
'do {' nl I
|
|
540
|
+
'return String(data:try JSONSerialization.data(withJSONObject: ' (e 1) ', options:[]), encoding:.utf8)!'
|
|
541
|
+
i nl '} catch {' nl I
|
|
542
|
+
'return ""'
|
|
543
|
+
i nl '}'
|
|
544
|
+
i nl '}()' (imp 'Foundation') )
|
|
452
545
|
java7 ( (e 1) ".toString()" )
|
|
546
|
+
kotlin ( (e 1) ".toString()" )
|
|
453
547
|
go( "__toJSONData(" (e 1) ")" (imp "encoding/json")
|
|
454
548
|
(create_polyfill "
|
|
455
549
|
func __toJSONData ( data interface{} ) string {
|
|
@@ -469,7 +563,9 @@ func __toJSONData ( data interface{} ) string {
|
|
|
469
563
|
"JSON.stringify(" (e 1) ")"
|
|
470
564
|
)
|
|
471
565
|
swift3 ( 'String(data:try JSONSerialization.data(with: ' (e 1) ', options:[], encoding:.utf8)!)' (imp 'Foundation') )
|
|
566
|
+
swift6 ( 'String(data:try JSONSerialization.data(with: ' (e 1) ', options:[], encoding:.utf8)!)' (imp 'Foundation') )
|
|
472
567
|
java7 ( (e 1) ".toString()" )
|
|
568
|
+
kotlin ( (e 1) ".toString()" )
|
|
473
569
|
go( "__toJSONData(" (e 1) ")" (imp "encoding/json")
|
|
474
570
|
(create_polyfill "
|
|
475
571
|
func __toJSONData ( data interface{} ) string {
|
|
@@ -487,7 +583,9 @@ func __toJSONData ( data interface{} ) string {
|
|
|
487
583
|
ranger ( "(push " (e 1 ) " " (e 2) " )")
|
|
488
584
|
es6 ( (e 1) ".push(" (e 2) ")")
|
|
489
585
|
java7 ( (e 1) ".put(" (e 2) ");")
|
|
586
|
+
kotlin ( (e 1) ".put(" (e 2) ");")
|
|
490
587
|
swift3 ( (e 1) ".append(" (e 2) ");")
|
|
588
|
+
swift6 ( (e 1) ".append(" (e 2) ");")
|
|
491
589
|
go( (e 1) " = append(" (e 1) "," (e 2) ")")
|
|
492
590
|
php ( "array_push(" (e 1) ", " (e 2) ");")
|
|
493
591
|
}
|
|
@@ -496,8 +594,10 @@ func __toJSONData ( data interface{} ) string {
|
|
|
496
594
|
templates {
|
|
497
595
|
es6 ("[]")
|
|
498
596
|
swift3 ( '[Any]()' )
|
|
597
|
+
swift6 ( '[Any]()' )
|
|
499
598
|
ranger ("(json_array )")
|
|
500
599
|
java7 ("new JSONArray()" (imp "org.json.JSONArray") (plugin 'maven' ( (dep 'org.json' 'json' '20171018' ) ) ))
|
|
600
|
+
kotlin ("JSONArray()")
|
|
501
601
|
go ( "make([]interface{},0)" )
|
|
502
602
|
php ( "array()" )
|
|
503
603
|
}
|
|
@@ -506,8 +606,10 @@ func __toJSONData ( data interface{} ) string {
|
|
|
506
606
|
templates {
|
|
507
607
|
es6 ("{}")
|
|
508
608
|
swift3 ( '[String:Any]()' )
|
|
609
|
+
swift6 ( '[String:Any]()' )
|
|
509
610
|
ranger ("(json_object )")
|
|
510
611
|
java7 ("new JSONObject()" (imp "org.json.JSONObject") (plugin 'maven' ( (dep 'org.json' 'json' '20171018' ) ) ))
|
|
612
|
+
kotlin ("JSONObject()")
|
|
511
613
|
go ( "make(map[string]interface{})" )
|
|
512
614
|
php ( "array()")
|
|
513
615
|
}
|
|
@@ -516,6 +618,7 @@ func __toJSONData ( data interface{} ) string {
|
|
|
516
618
|
templates {
|
|
517
619
|
es6 ("[" ( repeat_from 1 ( (block 1) ) ) "]")
|
|
518
620
|
swift3 ("[" ( repeat_from 1 ( (block 1) ) ) "]")
|
|
621
|
+
swift6 ("[" ( repeat_from 1 ( (block 1) ) ) "]")
|
|
519
622
|
ranger ("(json_array " ( repeat 1 ( (block 1) ) ) ")")
|
|
520
623
|
java7 ("new JSONArray" (imp "org.json.JSONArray") (plugin 'maven' ( (dep 'org.json' 'json' '20171018' ) ) ))
|
|
521
624
|
go ( "make([]interface{},0)" )
|
|
@@ -596,4 +699,4 @@ func __toJSONData ( data interface{} ) string {
|
|
|
596
699
|
ranger ("(json.attr " (e 1) " " (e 2) ")")
|
|
597
700
|
}
|
|
598
701
|
}
|
|
599
|
-
}
|
|
702
|
+
}
|
|
@@ -1,170 +1,176 @@
|
|
|
1
|
-
; operators to get time from JavaScript
|
|
2
|
-
systemclass TimeIntervalID {
|
|
3
|
-
es6 TimeInterval
|
|
4
|
-
}
|
|
5
|
-
systemclass TimeOutID {
|
|
6
|
-
es6 number
|
|
7
|
-
java7 Thread
|
|
8
|
-
swift3 setTimeoutClass
|
|
9
|
-
go '*r_go_timer'
|
|
10
|
-
}
|
|
11
|
-
operators {
|
|
12
|
-
clearInterval cmdClearInterval:void ( i:TimeIntervalID) {
|
|
13
|
-
templates {
|
|
14
|
-
es6 ("clearInterval( " (e 1) ")")
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
setInterval cmdInterval:TimeIntervalID (code:block ms:int) {
|
|
18
|
-
templates {
|
|
19
|
-
es6 ("setInterval( () => {" (block 1 ) "} , " (e 2) ")")
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
clearTimeout cmdClearInterval:void ( i:TimeOutID) {
|
|
23
|
-
templates {
|
|
24
|
-
es6 ("clearTimeout(" (e 1) ")")
|
|
25
|
-
java7 ( (e 1) ".interrupt();" nl)
|
|
26
|
-
swift3 ( (e 1) '.stop()' nl)
|
|
27
|
-
cpp ()
|
|
28
|
-
go ( (e 1) ".is_valid = false;" nl)
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
setTimeout cmdInterval:TimeOutID (ms:int code:block) {
|
|
33
|
-
templates {
|
|
34
|
-
go (
|
|
35
|
-
"r_setTimeout( " (e 1) ", func() {" nl I (block 2) i nl " } )"
|
|
36
|
-
(imp "time")
|
|
37
|
-
|
|
38
|
-
(create_polyfill '
|
|
39
|
-
type r_go_timer struct {
|
|
40
|
-
is_valid bool
|
|
41
|
-
}
|
|
42
|
-
func r_setTimeout( ms int64, cb func() () ) *r_go_timer {
|
|
43
|
-
o := new(r_go_timer)
|
|
44
|
-
o.is_valid = true
|
|
45
|
-
time.AfterFunc( time.Duration(ms)*time.Millisecond, func() () {
|
|
46
|
-
if o.is_valid {
|
|
47
|
-
cb()
|
|
48
|
-
}
|
|
49
|
-
})
|
|
50
|
-
return o
|
|
51
|
-
}
|
|
52
|
-
') )
|
|
53
|
-
cpp ( 'setTimeout(' (e 1) ', [&](){' nl I (block 2) i nl '});'
|
|
54
|
-
(imp '<future>')
|
|
55
|
-
(imp '<chrono>')
|
|
56
|
-
(imp '<thread>')
|
|
57
|
-
(create_polyfill `
|
|
58
|
-
|
|
59
|
-
void setTimeout(int milliseconds,std::function<void()> func)
|
|
60
|
-
{
|
|
61
|
-
std::async(std::launch::async,[=]()
|
|
62
|
-
{
|
|
63
|
-
std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
|
|
64
|
-
func();
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
`)
|
|
68
|
-
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
test1_swift3 ( 'setTimeoutClass(ms: ' (e 1) ', callback: { () -> Void in ' nl I (block 2) i nl '})'
|
|
72
|
-
(imp "Foundation")
|
|
73
|
-
(create_polyfill '
|
|
74
|
-
class setTimeoutClass {
|
|
75
|
-
var cb : (() -> Void)?
|
|
76
|
-
init( ms:Int, callback : @escaping (() -> Void) ) {
|
|
77
|
-
self.cb = callback
|
|
78
|
-
self.cb!()
|
|
79
|
-
}
|
|
80
|
-
func call() {
|
|
81
|
-
self.cb!()
|
|
82
|
-
}
|
|
83
|
-
func stop() {
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
' )
|
|
87
|
-
|
|
88
|
-
)
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
swift3 ( 'setTimeoutClass(ms: ' (e 1) ', callback: { () -> Void in ' nl I (block 2) i nl '})'
|
|
92
|
-
(imp "Foundation")
|
|
93
|
-
(create_polyfill '
|
|
94
|
-
class setTimeoutClass {
|
|
95
|
-
var timer = Timer()
|
|
96
|
-
var cb : (() -> Void)?
|
|
97
|
-
init( ms:Int, callback : @escaping (() -> Void) ) {
|
|
98
|
-
self.timer = Timer.scheduledTimer(timeInterval:(Double(ms)*0.001), target: self, selector: #selector(self.callMe), userInfo: nil, repeats: false)
|
|
99
|
-
self.cb = callback
|
|
100
|
-
}
|
|
101
|
-
@objc func callMe(t: Timer) {
|
|
102
|
-
self.cb!()
|
|
103
|
-
}
|
|
104
|
-
func stop() {
|
|
105
|
-
self.timer.invalidate();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
' )
|
|
109
|
-
|
|
110
|
-
)
|
|
111
|
-
|
|
112
|
-
es6 ("setTimeout( () => {" (block 2 ) "} , " (e 1) ")") ;"
|
|
113
|
-
|
|
114
|
-
"
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
"
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
(
|
|
129
|
-
"
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}"
|
|
133
|
-
)
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
"
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
1
|
+
; operators to get time from JavaScript
|
|
2
|
+
systemclass TimeIntervalID {
|
|
3
|
+
es6 TimeInterval
|
|
4
|
+
}
|
|
5
|
+
systemclass TimeOutID {
|
|
6
|
+
es6 number
|
|
7
|
+
java7 Thread
|
|
8
|
+
swift3 setTimeoutClass
|
|
9
|
+
go '*r_go_timer'
|
|
10
|
+
}
|
|
11
|
+
operators {
|
|
12
|
+
clearInterval cmdClearInterval:void ( i:TimeIntervalID) {
|
|
13
|
+
templates {
|
|
14
|
+
es6 ("clearInterval( " (e 1) ")")
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
setInterval cmdInterval:TimeIntervalID (code:block ms:int) {
|
|
18
|
+
templates {
|
|
19
|
+
es6 ("setInterval( () => {" (block 1 ) "} , " (e 2) ")")
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
clearTimeout cmdClearInterval:void ( i:TimeOutID) {
|
|
23
|
+
templates {
|
|
24
|
+
es6 ("clearTimeout(" (e 1) ")")
|
|
25
|
+
java7 ( (e 1) ".interrupt();" nl)
|
|
26
|
+
swift3 ( (e 1) '.stop()' nl)
|
|
27
|
+
cpp ()
|
|
28
|
+
go ( (e 1) ".is_valid = false;" nl)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
setTimeout cmdInterval:TimeOutID (ms:int code:block) {
|
|
33
|
+
templates {
|
|
34
|
+
go (
|
|
35
|
+
"r_setTimeout( " (e 1) ", func() {" nl I (block 2) i nl " } )"
|
|
36
|
+
(imp "time")
|
|
37
|
+
|
|
38
|
+
(create_polyfill '
|
|
39
|
+
type r_go_timer struct {
|
|
40
|
+
is_valid bool
|
|
41
|
+
}
|
|
42
|
+
func r_setTimeout( ms int64, cb func() () ) *r_go_timer {
|
|
43
|
+
o := new(r_go_timer)
|
|
44
|
+
o.is_valid = true
|
|
45
|
+
time.AfterFunc( time.Duration(ms)*time.Millisecond, func() () {
|
|
46
|
+
if o.is_valid {
|
|
47
|
+
cb()
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
return o
|
|
51
|
+
}
|
|
52
|
+
') )
|
|
53
|
+
cpp ( 'setTimeout(' (e 1) ', [&](){' nl I (block 2) i nl '});'
|
|
54
|
+
(imp '<future>')
|
|
55
|
+
(imp '<chrono>')
|
|
56
|
+
(imp '<thread>')
|
|
57
|
+
(create_polyfill `
|
|
58
|
+
|
|
59
|
+
void setTimeout(int milliseconds,std::function<void()> func)
|
|
60
|
+
{
|
|
61
|
+
std::async(std::launch::async,[=]()
|
|
62
|
+
{
|
|
63
|
+
std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
|
|
64
|
+
func();
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
`)
|
|
68
|
+
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
test1_swift3 ( 'setTimeoutClass(ms: ' (e 1) ', callback: { () -> Void in ' nl I (block 2) i nl '})'
|
|
72
|
+
(imp "Foundation")
|
|
73
|
+
(create_polyfill '
|
|
74
|
+
class setTimeoutClass {
|
|
75
|
+
var cb : (() -> Void)?
|
|
76
|
+
init( ms:Int, callback : @escaping (() -> Void) ) {
|
|
77
|
+
self.cb = callback
|
|
78
|
+
self.cb!()
|
|
79
|
+
}
|
|
80
|
+
func call() {
|
|
81
|
+
self.cb!()
|
|
82
|
+
}
|
|
83
|
+
func stop() {
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
' )
|
|
87
|
+
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
swift3 ( 'setTimeoutClass(ms: ' (e 1) ', callback: { () -> Void in ' nl I (block 2) i nl '})'
|
|
92
|
+
(imp "Foundation")
|
|
93
|
+
(create_polyfill '
|
|
94
|
+
class setTimeoutClass {
|
|
95
|
+
var timer = Timer()
|
|
96
|
+
var cb : (() -> Void)?
|
|
97
|
+
init( ms:Int, callback : @escaping (() -> Void) ) {
|
|
98
|
+
self.timer = Timer.scheduledTimer(timeInterval:(Double(ms)*0.001), target: self, selector: #selector(self.callMe), userInfo: nil, repeats: false)
|
|
99
|
+
self.cb = callback
|
|
100
|
+
}
|
|
101
|
+
@objc func callMe(t: Timer) {
|
|
102
|
+
self.cb!()
|
|
103
|
+
}
|
|
104
|
+
func stop() {
|
|
105
|
+
self.timer.invalidate();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
' )
|
|
109
|
+
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
es6 ("setTimeout( () => {" (block 2 ) "} , " (e 1) ")") ;"
|
|
113
|
+
rust (
|
|
114
|
+
"std::thread::spawn(move || {" nl I
|
|
115
|
+
"std::thread::sleep(std::time::Duration::from_millis(" (e 1) " as u64));" nl
|
|
116
|
+
(block 2)
|
|
117
|
+
i nl "});" nl
|
|
118
|
+
)
|
|
119
|
+
java7 (
|
|
120
|
+
"__startThread("
|
|
121
|
+
"new Thread() {" nl I
|
|
122
|
+
"@Override" nl
|
|
123
|
+
"public void run() {" nl I
|
|
124
|
+
"try {" nl I
|
|
125
|
+
"Thread.sleep( (long) ( " (e 1) "));" nl
|
|
126
|
+
(block 2)
|
|
127
|
+
nl i
|
|
128
|
+
"} catch (Exception e) {" nl I
|
|
129
|
+
"System.err.println(e);" nl i
|
|
130
|
+
"}" nl i
|
|
131
|
+
"}" nl i
|
|
132
|
+
"}" nl
|
|
133
|
+
");"
|
|
134
|
+
(create_polyfill
|
|
135
|
+
"static Thread __startThread( Thread t) {
|
|
136
|
+
t.start();
|
|
137
|
+
return t;
|
|
138
|
+
}"
|
|
139
|
+
)
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
java7uisave (
|
|
143
|
+
"new Thread() {" nl I
|
|
144
|
+
"@Override" nl
|
|
145
|
+
"public void run() {" nl I
|
|
146
|
+
"try {" nl I
|
|
147
|
+
"Thread.sleep( (long) (1000 *" (e 1) "));" nl
|
|
148
|
+
"getActivity().runOnUiThread(new Runnable(){" nl
|
|
149
|
+
"@Override" nl
|
|
150
|
+
"public void run() {" nl I
|
|
151
|
+
(block 2)
|
|
152
|
+
nl i "}"
|
|
153
|
+
nl i
|
|
154
|
+
"});"
|
|
155
|
+
nl i
|
|
156
|
+
"} catch (Exception e) {" nl I
|
|
157
|
+
"System.err.println(e);" nl i
|
|
158
|
+
"}" nl i
|
|
159
|
+
"}" nl i
|
|
160
|
+
"}.start();" nl
|
|
161
|
+
|
|
162
|
+
)
|
|
163
|
+
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
setTimeout cmdInterval:TimeOutID (code:block ms:int) {
|
|
167
|
+
templates {
|
|
168
|
+
es6 ("setTimeout( () => {" (block 1 ) "} , " (e 2) ")")
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
time_as_string cmdTime:string () {
|
|
172
|
+
templates {
|
|
173
|
+
es6 ("(new Date()).toString()")
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|