ranger-compiler 2.1.69 → 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.
Files changed (363) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +991 -96
  3. package/{compiler/Lang.clj → dist/Lang.rgr} +2345 -75
  4. package/dist/README.md +116 -0
  5. package/dist/{bin/api.d.ts → api.d.ts} +430 -154
  6. package/dist/api.js +34345 -0
  7. package/{lib/Ajax.clj → dist/lib/Ajax.rgr} +1 -1
  8. package/{lib/CmdParams.clj → dist/lib/CmdParams.rgr} +72 -72
  9. package/{lib/Crypto.clj → dist/lib/Crypto.rgr} +1 -1
  10. package/{lib/DOMLib.clj → dist/lib/DOMLib.rgr} +2 -2
  11. package/{lib/Engine3D.clj → dist/lib/Engine3D.rgr} +1 -1
  12. package/{lib/ImmutableVector.clj → dist/lib/ImmutableVector.rgr} +364 -364
  13. package/{lib/IndexedDB.clj → dist/lib/IndexedDB.rgr} +1 -1
  14. package/{lib/JSON.clj → dist/lib/JSON.rgr} +105 -2
  15. package/{lib/JinxProcess.clj → dist/lib/JinxProcess.rgr} +3 -3
  16. package/{lib/Storage.clj → dist/lib/Storage.rgr} +1 -1
  17. package/{lib/Timers.clj → dist/lib/Timers.rgr} +176 -170
  18. package/{lib/ViewLib.clj → dist/lib/ViewLib.rgr} +1 -1
  19. package/dist/lib/lib/ACEEditor.rgr +5 -0
  20. package/dist/lib/lib/Ajax.rgr +196 -0
  21. package/dist/lib/lib/CmdParams.rgr +72 -0
  22. package/dist/lib/lib/Crypto.rgr +90 -0
  23. package/dist/lib/lib/DOMLib.rgr +307 -0
  24. package/{examples/3D/Engine3D.clj → dist/lib/lib/Engine3D.rgr} +870 -857
  25. package/dist/lib/lib/ImmutableVector.rgr +364 -0
  26. package/dist/lib/lib/IndexedDB.rgr +32 -0
  27. package/{compiler/JSON.clj → dist/lib/lib/JSON.rgr} +106 -3
  28. package/dist/lib/lib/JinxProcess.rgr +838 -0
  29. package/dist/lib/lib/SQL.rgr +44 -0
  30. package/dist/lib/lib/ServiceLib.rgr +9 -0
  31. package/dist/lib/lib/Storage.rgr +89 -0
  32. package/dist/lib/lib/Time.rgr +75 -0
  33. package/dist/lib/lib/Timers.rgr +176 -0
  34. package/dist/lib/lib/TypedArrays.rgr +14 -0
  35. package/dist/lib/lib/ViewLib.rgr +851 -0
  36. package/dist/lib/lib/WebLib.rgr +47 -0
  37. package/dist/lib/lib/WebServerLib.rgr +137 -0
  38. package/{lib/ranger-dir.clj → dist/lib/lib/ranger-dir.rgr} +1 -1
  39. package/{compiler/stdlib.clj → dist/lib/lib/stdlib.rgr} +42 -19
  40. package/{lib/stdops.clj → dist/lib/lib/stdops.rgr} +1 -1
  41. package/dist/lib/ranger-dir.rgr +175 -0
  42. package/{lib/stdlib.clj → dist/lib/stdlib.rgr} +2 -2
  43. package/dist/lib/stdops.rgr +168 -0
  44. package/dist/package.json +47 -0
  45. package/{bin/output.js → dist/rgrc.js} +15377 -7935
  46. package/dist/stdops.rgr +168 -0
  47. package/package.json +196 -38
  48. package/adventofcode/day1/bin/LambdaSignature1.java +0 -3
  49. package/adventofcode/day1/bin/LambdaSignature2.java +0 -3
  50. package/adventofcode/day1/bin/LambdaSignature3.java +0 -3
  51. package/adventofcode/day1/bin/day1.cpp +0 -124
  52. package/adventofcode/day1/bin/day1.go +0 -75
  53. package/adventofcode/day1/bin/day1.js +0 -45
  54. package/adventofcode/day1/bin/day1.php +0 -46
  55. package/adventofcode/day1/bin/day1.scala +0 -48
  56. package/adventofcode/day1/bin/day1.swift +0 -48
  57. package/adventofcode/day1/bin/day1_part2.cpp +0 -180
  58. package/adventofcode/day1/bin/day1_part2.go +0 -123
  59. package/adventofcode/day1/bin/day1_part2.js +0 -76
  60. package/adventofcode/day1/bin/day1_part2.php +0 -88
  61. package/adventofcode/day1/bin/day1_part2.scala +0 -81
  62. package/adventofcode/day1/bin/day1_part2.swift +0 -91
  63. package/adventofcode/day1/bin/day_one.java +0 -38
  64. package/adventofcode/day1/bin/day_one_part_two.java +0 -57
  65. package/adventofcode/day1/bin/operatorsOf.java +0 -37
  66. package/adventofcode/day1/bin/operatorsOf_5.java +0 -10
  67. package/adventofcode/day1/bin/operatorsOfboolean_5.java +0 -10
  68. package/adventofcode/day1/bin/variant.hpp +0 -2416
  69. package/adventofcode/day1/compile.bat +0 -7
  70. package/adventofcode/day1/compile2.bat +0 -7
  71. package/adventofcode/day1/day1.clj +0 -19
  72. package/adventofcode/day1/day1_part2.clj +0 -43
  73. package/adventofcode/day1/input1.txt +0 -1
  74. package/adventofcode/day2/bin/LambdaSignature1.class +0 -0
  75. package/adventofcode/day2/bin/LambdaSignature1.java +0 -3
  76. package/adventofcode/day2/bin/LambdaSignature2.class +0 -0
  77. package/adventofcode/day2/bin/LambdaSignature2.java +0 -3
  78. package/adventofcode/day2/bin/day2.cpp +0 -133
  79. package/adventofcode/day2/bin/day2.go +0 -85
  80. package/adventofcode/day2/bin/day2.js +0 -45
  81. package/adventofcode/day2/bin/day2.php +0 -59
  82. package/adventofcode/day2/bin/day2.scala +0 -54
  83. package/adventofcode/day2/bin/day2.swift +0 -62
  84. package/adventofcode/day2/bin/day2_part2.cpp +0 -150
  85. package/adventofcode/day2/bin/day2_part2.go +0 -101
  86. package/adventofcode/day2/bin/day2_part2.js +0 -54
  87. package/adventofcode/day2/bin/day2_part2.php +0 -80
  88. package/adventofcode/day2/bin/day2_part2.scala +0 -68
  89. package/adventofcode/day2/bin/day2_part2.swift +0 -82
  90. package/adventofcode/day2/bin/day_two.java +0 -61
  91. package/adventofcode/day2/bin/day_two_part_two$1$1$1.class +0 -0
  92. package/adventofcode/day2/bin/day_two_part_two$1$1.class +0 -0
  93. package/adventofcode/day2/bin/day_two_part_two$1.class +0 -0
  94. package/adventofcode/day2/bin/day_two_part_two.class +0 -0
  95. package/adventofcode/day2/bin/day_two_part_two.java +0 -80
  96. package/adventofcode/day2/bin/operatorsOf.class +0 -0
  97. package/adventofcode/day2/bin/operatorsOf.java +0 -18
  98. package/adventofcode/day2/bin/variant.hpp +0 -2416
  99. package/adventofcode/day2/compile.bat +0 -7
  100. package/adventofcode/day2/compile2.bat +0 -7
  101. package/adventofcode/day2/day2.clj +0 -60
  102. package/adventofcode/day2/day2_part2.clj +0 -69
  103. package/adventofcode/day2/input1.txt +0 -1
  104. package/adventofcode/day3/bin/Grid.java +0 -92
  105. package/adventofcode/day3/bin/GridRow.java +0 -5
  106. package/adventofcode/day3/bin/LambdaSignature1.java +0 -3
  107. package/adventofcode/day3/bin/LambdaSignature2.java +0 -3
  108. package/adventofcode/day3/bin/LambdaSignature3.java +0 -3
  109. package/adventofcode/day3/bin/day3.cpp +0 -64
  110. package/adventofcode/day3/bin/day3.go +0 -55
  111. package/adventofcode/day3/bin/day3.js +0 -42
  112. package/adventofcode/day3/bin/day3.php +0 -41
  113. package/adventofcode/day3/bin/day3.scala +0 -52
  114. package/adventofcode/day3/bin/day3.swift +0 -43
  115. package/adventofcode/day3/bin/day3_part2.cpp +0 -216
  116. package/adventofcode/day3/bin/day3_part2.go +0 -188
  117. package/adventofcode/day3/bin/day3_part2.js +0 -123
  118. package/adventofcode/day3/bin/day3_part2.php +0 -135
  119. package/adventofcode/day3/bin/day3_part2.swift +0 -131
  120. package/adventofcode/day3/bin/day_three_part_two.java +0 -43
  121. package/adventofcode/day3/bin/day_two.java +0 -42
  122. package/adventofcode/day3/bin/operatorsOf.java +0 -14
  123. package/adventofcode/day3/bin/variant.hpp +0 -2416
  124. package/adventofcode/day3/compile.bat +0 -7
  125. package/adventofcode/day3/compile2.bat +0 -7
  126. package/adventofcode/day3/day3.clj +0 -42
  127. package/adventofcode/day3/day3_part2.clj +0 -112
  128. package/adventofcode/day4/bin/LambdaSignature1.java +0 -3
  129. package/adventofcode/day4/bin/day4.cpp +0 -118
  130. package/adventofcode/day4/bin/day4.go +0 -75
  131. package/adventofcode/day4/bin/day4.js +0 -40
  132. package/adventofcode/day4/bin/day4.php +0 -52
  133. package/adventofcode/day4/bin/day4.scala +0 -47
  134. package/adventofcode/day4/bin/day4.swift +0 -56
  135. package/adventofcode/day4/bin/day4_part2.go +0 -129
  136. package/adventofcode/day4/bin/day4_part2.js +0 -72
  137. package/adventofcode/day4/bin/day_four.java +0 -41
  138. package/adventofcode/day4/bin/inputData.java +0 -7
  139. package/adventofcode/day4/bin/operatorsOf.java +0 -11
  140. package/adventofcode/day4/bin/variant.hpp +0 -2416
  141. package/adventofcode/day4/compile.bat +0 -7
  142. package/adventofcode/day4/compile2.bat +0 -7
  143. package/adventofcode/day4/day4.clj +0 -32
  144. package/adventofcode/day4/day4_part2.clj +0 -44
  145. package/adventofcode/day4/input.clj +0 -519
  146. package/adventofcode/day4/input.txt +0 -512
  147. package/bin/api.ts +0 -24471
  148. package/bin/compiler.ts +0 -24482
  149. package/compiler/ColorConsole.clj +0 -22
  150. package/compiler/ContextOperators.clj +0 -75
  151. package/compiler/FlowEnterVarDef.clj +0 -223
  152. package/compiler/InputFileSystem.clj +0 -276
  153. package/compiler/RangerDocs.clj +0 -7
  154. package/compiler/TFactory.clj +0 -146
  155. package/compiler/TFiles.clj +0 -23
  156. package/compiler/TFlow.clj +0 -39
  157. package/compiler/TNodeFactory.clj +0 -84
  158. package/compiler/TTypes.clj +0 -188
  159. package/compiler/VirtualCompiler.clj +0 -800
  160. package/compiler/bin/ng_Compiler.js +0 -23779
  161. package/compiler/commonmark_plugin.clj +0 -359
  162. package/compiler/feat2.bat +0 -2
  163. package/compiler/feats.bat +0 -9
  164. package/compiler/feature_tests.clj +0 -192
  165. package/compiler/index.js +0 -2
  166. package/compiler/issue_57.clj +0 -25
  167. package/compiler/makefile_plugin.clj +0 -135
  168. package/compiler/markdown_plugin.clj +0 -386
  169. package/compiler/maven_plugin.clj +0 -162
  170. package/compiler/ng_AndroidPageWriter.clj +0 -299
  171. package/compiler/ng_CodeNode.clj +0 -756
  172. package/compiler/ng_CodeNodeCompilerExtensions.clj +0 -839
  173. package/compiler/ng_Compiler.clj +0 -49
  174. package/compiler/ng_CompilerGeneric.clj +0 -260
  175. package/compiler/ng_CompilerOrig.clj +0 -854
  176. package/compiler/ng_DictNode.clj +0 -346
  177. package/compiler/ng_DictNode2.clj +0 -316
  178. package/compiler/ng_Execute.clj +0 -138
  179. package/compiler/ng_Execute1.clj +0 -129
  180. package/compiler/ng_FlowWork.clj +0 -3951
  181. package/compiler/ng_LiveCompiler.clj +0 -1109
  182. package/compiler/ng_RagnerJavaScriptClassWriter.clj +0 -402
  183. package/compiler/ng_RangerActiveOperators.clj +0 -86
  184. package/compiler/ng_RangerAppClassDesc.clj +0 -400
  185. package/compiler/ng_RangerAppEnums.clj +0 -86
  186. package/compiler/ng_RangerAppFunctionDesc.clj +0 -127
  187. package/compiler/ng_RangerAppMessages.clj +0 -15
  188. package/compiler/ng_RangerAppOperatorDesc.clj +0 -20
  189. package/compiler/ng_RangerAppParamDesc.clj +0 -388
  190. package/compiler/ng_RangerAppWriterContext.clj +0 -1793
  191. package/compiler/ng_RangerArgMatch.clj +0 -638
  192. package/compiler/ng_RangerCSharpClassWriter.clj +0 -484
  193. package/compiler/ng_RangerCppClassWriter.clj +0 -1023
  194. package/compiler/ng_RangerDocGenerator.clj +0 -305
  195. package/compiler/ng_RangerFlowParser.clj +0 -4992
  196. package/compiler/ng_RangerFlowParserOrig.clj +0 -4002
  197. package/compiler/ng_RangerGenericClassWriter.clj +0 -573
  198. package/compiler/ng_RangerGolangClassWriter.clj +0 -1766
  199. package/compiler/ng_RangerImmutableExtension.clj +0 -77
  200. package/compiler/ng_RangerJava7ClassWriter.clj +0 -961
  201. package/compiler/ng_RangerJavaScriptClassWriter.clj +0 -1042
  202. package/compiler/ng_RangerKotlinClassWriter.clj +0 -372
  203. package/compiler/ng_RangerLanguageWriters.clj +0 -14
  204. package/compiler/ng_RangerLispParser.clj +0 -873
  205. package/compiler/ng_RangerPHPClassWriter.clj +0 -643
  206. package/compiler/ng_RangerPlugin.clj +0 -41
  207. package/compiler/ng_RangerRangerClassWriter.clj +0 -357
  208. package/compiler/ng_RangerRustClassWriter.clj +0 -420
  209. package/compiler/ng_RangerScalaClassWriter.clj +0 -818
  210. package/compiler/ng_RangerSerializeClass.clj +0 -502
  211. package/compiler/ng_RangerServiceBuilder.clj +0 -63
  212. package/compiler/ng_RangerSwift3ClassWriter.clj +0 -809
  213. package/compiler/ng_RangerSwiftClassWriter.clj +0 -0
  214. package/compiler/ng_RangerTypeClass.clj +0 -45
  215. package/compiler/ng_SourceParser.clj +0 -241
  216. package/compiler/ng_SourceParser2.clj +0 -214
  217. package/compiler/ng_WebPageWriter.clj +0 -39
  218. package/compiler/ng_jsonParser.clj +0 -340
  219. package/compiler/ng_p_test.clj +0 -1711
  220. package/compiler/ng_parser.clj +0 -911
  221. package/compiler/ng_parser2.clj +0 -735
  222. package/compiler/ng_parser2_backup.clj +0 -1679
  223. package/compiler/ng_parser_backup.clj +0 -886
  224. package/compiler/ng_parser_ok.clj +0 -1718
  225. package/compiler/ng_parser_ok2.clj +0 -1717
  226. package/compiler/ng_parser_std_match.clj +0 -687
  227. package/compiler/ng_parser_std_match2.clj +0 -1012
  228. package/compiler/ng_parser_v2.clj +0 -1251
  229. package/compiler/ng_ui.clj +0 -403
  230. package/compiler/ng_ui_test.clj +0 -18
  231. package/compiler/ng_writer.clj +0 -338
  232. package/compiler/ng_xmlParser.clj +0 -472
  233. package/compiler/ng_xmlParser2.clj +0 -317
  234. package/compiler/ng_xmlParser3.clj +0 -251
  235. package/compiler/opdoc.bat +0 -4
  236. package/compiler/operators.md +0 -290
  237. package/compiler/p.bat +0 -4
  238. package/compiler/package.json +0 -10
  239. package/compiler/pcmd.bat +0 -4
  240. package/compiler/pcmd2.bat +0 -3
  241. package/compiler/plaintext_plugin.clj +0 -69
  242. package/compiler/plugin.bat +0 -19
  243. package/compiler/plugin2.bat +0 -4
  244. package/compiler/plugin_app.bat +0 -3
  245. package/compiler/plugin_apps.clj +0 -27
  246. package/compiler/plugins.bat +0 -10
  247. package/compiler/reveal_plugin.clj +0 -409
  248. package/compiler/simplePlugin.clj +0 -780
  249. package/compiler/t.bat +0 -3
  250. package/compiler/test_any.clj +0 -43
  251. package/compiler/test_call.clj +0 -141
  252. package/compiler/test_chain.clj +0 -79
  253. package/compiler/test_json.clj +0 -10
  254. package/compiler/test_lambda.clj +0 -153
  255. package/compiler/test_pcmd.clj +0 -32
  256. package/compiler/test_pcmd2.clj +0 -29
  257. package/compiler/test_plugin.clj +0 -237
  258. package/compiler/test_readfile.clj +0 -13
  259. package/compiler/test_reveal.clj +0 -19
  260. package/compiler/test_slides.clj +0 -312
  261. package/compiler/test_types.clj +0 -143
  262. package/compiler/test_types2.clj +0 -49
  263. package/compiler/test_types3.clj +0 -53
  264. package/compiler/test_var.clj +0 -40
  265. package/compiler/tonpm.bat +0 -14
  266. package/compiler/tonpm2.bat +0 -12
  267. package/compiler/ui_plugin.clj +0 -507
  268. package/compiler/ui_plugin2.clj +0 -427
  269. package/compiler/update-git.bat +0 -3
  270. package/compiler/vcomp.bat +0 -4
  271. package/compiler/viewbuilder_Android.clj +0 -176
  272. package/compiler/viewbuilder_Web.clj +0 -105
  273. package/dist/bin/api.js +0 -32422
  274. package/dist/bin/api.js.map +0 -1
  275. package/dist/bin/compiler.d.ts +0 -1638
  276. package/dist/bin/compiler.js +0 -32444
  277. package/dist/bin/compiler.js.map +0 -1
  278. package/examples/3D/bin/test_3d.js +0 -329
  279. package/examples/3D/test_3d.clj +0 -385
  280. package/examples/EVGColor/EVGColor.clj +0 -310
  281. package/examples/EVGColor/EVGColorContext.clj +0 -176
  282. package/examples/EVGColor/bin/EVGColor.js +0 -286
  283. package/examples/EVGColor/bin/minimized.js +0 -286
  284. package/examples/SVGPath/SVGPath.clj +0 -625
  285. package/examples/SVGPath/Vec2.clj +0 -103
  286. package/examples/SVGPath/bin/SVGPath.cpp +0 -887
  287. package/examples/SVGPath/bin/SVGPath.js +0 -682
  288. package/examples/SVGPath/bin/minimized.js +0 -578
  289. package/examples/SVGPath/bin/variant.hpp +0 -2416
  290. package/examples/minification/Vec2.clj +0 -103
  291. package/examples/minification/bin/minified.js +0 -44
  292. package/examples/minification/bin/test.js +0 -117
  293. package/examples/minification/test.clj +0 -13
  294. package/fiddle/VirtualCompiler.js +0 -23495
  295. package/fiddle/browser_editor.js +0 -13240
  296. package/fiddle/compileEnv.js +0 -1
  297. package/fiddle/compileEnv.json +0 -1
  298. package/fiddle/lang_data.js +0 -1
  299. package/index.html +0 -18
  300. package/native/httpd/HttpTester.clj +0 -33
  301. package/native/httpd/RangerWebService.clj +0 -81
  302. package/operators.md +0 -290
  303. package/tsconfig.json +0 -29
  304. package/versions/cpp/compiler.cpp +0 -15032
  305. package/versions/es6/compiler.js +0 -12860
  306. package/versions/go/compiler.go +0 -21338
  307. package/versions/java/AfterCodeNode.java +0 -4
  308. package/versions/java/ClassJoinPoint.java +0 -6
  309. package/versions/java/CodeFile.java +0 -42
  310. package/versions/java/CodeFileSystem.java +0 -72
  311. package/versions/java/CodeNode.java +0 -807
  312. package/versions/java/CodeSlice.java +0 -13
  313. package/versions/java/CodeWriter.java +0 -185
  314. package/versions/java/ColorConsole.java +0 -8
  315. package/versions/java/CompilerInterface.java +0 -213
  316. package/versions/java/DictNode.java +0 -353
  317. package/versions/java/LiveCompiler.java +0 -772
  318. package/versions/java/NodeEvalState.java +0 -24
  319. package/versions/java/OpFindResult.java +0 -6
  320. package/versions/java/RangerAppArrayValue.java +0 -7
  321. package/versions/java/RangerAppClassDesc.java +0 -217
  322. package/versions/java/RangerAppEnum.java +0 -14
  323. package/versions/java/RangerAppFunctionDesc.java +0 -20
  324. package/versions/java/RangerAppHashValue.java +0 -11
  325. package/versions/java/RangerAppInterfaceImpl.java +0 -6
  326. package/versions/java/RangerAppMethodVariants.java +0 -6
  327. package/versions/java/RangerAppParamDesc.java +0 -321
  328. package/versions/java/RangerAppTodo.java +0 -6
  329. package/versions/java/RangerAppValue.java +0 -10
  330. package/versions/java/RangerAppWriterContext.java +0 -800
  331. package/versions/java/RangerArgMatch.java +0 -317
  332. package/versions/java/RangerBackReference.java +0 -7
  333. package/versions/java/RangerCSharpClassWriter.java +0 -287
  334. package/versions/java/RangerCompilerMessage.java +0 -9
  335. package/versions/java/RangerCppClassWriter.java +0 -725
  336. package/versions/java/RangerFlowParser.java +0 -2142
  337. package/versions/java/RangerGenericClassWriter.java +0 -367
  338. package/versions/java/RangerGolangClassWriter.java +0 -1379
  339. package/versions/java/RangerJava7ClassWriter.java +0 -652
  340. package/versions/java/RangerJavaScriptClassWriter.java +0 -305
  341. package/versions/java/RangerKotlinClassWriter.java +0 -380
  342. package/versions/java/RangerLispParser.java +0 -845
  343. package/versions/java/RangerNodeValue.java +0 -9
  344. package/versions/java/RangerPHPClassWriter.java +0 -527
  345. package/versions/java/RangerParamEventHandler.java +0 -6
  346. package/versions/java/RangerParamEventList.java +0 -5
  347. package/versions/java/RangerParamEventMap.java +0 -27
  348. package/versions/java/RangerRangerClassWriter.java +0 -268
  349. package/versions/java/RangerRefForce.java +0 -7
  350. package/versions/java/RangerScalaClassWriter.java +0 -365
  351. package/versions/java/RangerSerializeClass.java +0 -148
  352. package/versions/java/RangerSwift3ClassWriter.java +0 -548
  353. package/versions/java/RangerTypeClass.java +0 -17
  354. package/versions/java/SourceCode.java +0 -65
  355. package/versions/php/compiler.php +0 -13830
  356. package/versions/swift3/compiler.swift +0 -12542
  357. /package/{lib/ACEEditor.clj → dist/lib/ACEEditor.rgr} +0 -0
  358. /package/{lib/SQL.clj → dist/lib/SQL.rgr} +0 -0
  359. /package/{lib/ServiceLib.clj → dist/lib/ServiceLib.rgr} +0 -0
  360. /package/{lib/Time.clj → dist/lib/Time.rgr} +0 -0
  361. /package/{lib/TypedArrays.clj → dist/lib/TypedArrays.rgr} +0 -0
  362. /package/{lib/WebLib.clj → dist/lib/WebLib.rgr} +0 -0
  363. /package/{lib/WebServerLib.clj → dist/lib/WebServerLib.rgr} +0 -0
@@ -1,286 +0,0 @@
1
- class EVGColorContext {
2
- constructor() {
3
- this.colorNames = {};
4
- this.initContext();
5
- }
6
- byName (n) {
7
- return this.colorNames[n];
8
- };
9
- initContext () {
10
- const colors = ["red", "rgb(255, 0, 0 )", "green", "rgb( 0, 128, 0 )", "blue", "rgb( 0, 0, 255 )", "yellow", "rgb(255, 255, 0 )", "cyan", "rgb( 0, 255, 255 )", "magenta", "rgb(255, 0, 255 )", "black", "rgb( 0, 0, 0 )", "grey", "rgb(128, 128, 128 )", "gray", "rgb(128, 128, 128 )", "white", "rgb(255, 255, 255 )", "aliceblue", "rgb(240, 248, 255 )", "antiquewhite", "rgb(250, 235, 215 )", "aqua", "rgb( 0, 255, 255 )", "aquamarine", "rgb(127, 255, 212 )", "azure", "rgb(240, 255, 255 )", "beige", "rgb(245, 245, 220 )", "bisque", "rgb(255, 228, 196 )", "blanchedalmond", "rgb(255, 235, 205 )", "blueviolet", "rgb(138, 43, 226 )", "brown", "rgb(165, 42, 42 )", "burlywood", "rgb(222, 184, 135 )", "cadetblue", "rgb( 95, 158, 160 )", "chartreuse", "rgb(127, 255, 0 )", "chocolate", "rgb(210, 105, 30 )", "coral", "rgb(255, 127, 80 )", "cornflowerblue", "rgb(100, 149, 237 )", "cornsilk", "rgb(255, 248, 220 )", "crimson", "rgb(220, 20, 60 )", "darkblue", "rgb( 0, 0, 139 )", "darkcyan", "rgb( 0, 139, 139 )", "darkgoldenrod", "rgb(184, 134, 11 )", "darkgray", "rgb(169, 169, 169 )", "darkgreen", "rgb( 0, 100, 0 )", "darkgrey", "rgb(169, 169, 169 )", "darkkhaki", "rgb(189, 183, 107 )", "darkmagenta", "rgb(139, 0, 139 )", "darkolivegreen", "rgb( 85, 107, 47 )", "darkorange", "rgb(255, 140, 0 )", "darkorchid", "rgb(153, 50, 204 )", "darkred", "rgb(139, 0, 0 )", "darksalmon", "rgb(233, 150, 122 )", "darkseagreen", "rgb(143, 188, 143 )", "darkslateblue", "rgb( 72, 61, 139 )", "darkslategray", "rgb( 47, 79, 79 )", "darkslategrey", "rgb( 47, 79, 79 )", "darkturquoise", "rgb( 0, 206, 209 )", "darkviolet", "rgb(148, 0, 211 )", "deeppink", "rgb(255, 20, 147 )", "deepskyblue", "rgb( 0, 191, 255 )", "dimgray", "rgb(105, 105, 105 )", "dimgrey", "rgb(105, 105, 105 )", "dodgerblue", "rgb( 30, 144, 255 )", "firebrick", "rgb(178, 34, 34 )", "floralwhite", "rgb(255, 250, 240 )", "forestgreen", "rgb( 34, 139, 34 )", "fuchsia", "rgb(255, 0, 255 )", "gainsboro", "rgb(220, 220, 220 )", "ghostwhite", "rgb(248, 248, 255 )", "gold", "rgb(255, 215, 0 )", "goldenrod", "rgb(218, 165, 32 )", "greenyellow", "rgb(173, 255, 47 )", "honeydew", "rgb(240, 255, 240 )", "hotpink", "rgb(255, 105, 180 )", "indianred", "rgb(205, 92, 92 )", "indigo", "rgb( 75, 0, 130 )", "ivory", "rgb(255, 255, 240 )", "khaki", "rgb(240, 230, 140 )", "lavender", "rgb(230, 230, 250 )", "lavenderblush", "rgb(255, 240, 245 )", "lawngreen", "rgb(124, 252, 0 )", "lemonchiffon", "rgb(255, 250, 205 )", "lightblue", "rgb(173, 216, 230 )", "lightcoral", "rgb(240, 128, 128 )", "lightcyan", "rgb(224, 255, 255 )", "lightgoldenrodyellow", "rgb(250, 250, 210 )", "lightgray", "rgb(211, 211, 211 )", "lightgreen", "rgb(144, 238, 144 )", "lightgrey", "rgb(211, 211, 211 )", "lightpink", "rgb(255, 182, 193 )", "lightsalmon", "rgb(255, 160, 122 )", "lightseagreen", "rgb( 32, 178, 170 )", "lightskyblue", "rgb(135, 206, 250 )", "lightslategray", "rgb(119, 136, 153 )", "lightslategrey", "rgb(119, 136, 153 )", "lightsteelblue", "rgb(176, 196, 222 )", "lightyellow", "rgb(255, 255, 224 )", "lime", "rgb( 0, 255, 0 )", "limegreen", "rgb( 50, 205, 50 )", "linen", "rgb(250, 240, 230 )", "maroon", "rgb(128, 0, 0 )", "mediumaquamarine", "rgb(102, 205, 170 )", "mediumblue", "rgb( 0, 0, 205 )", "mediumorchid", "rgb(186, 85, 211 )", "mediumpurple", "rgb(147, 112, 219 )", "mediumseagreen", "rgb( 60, 179, 113 )", "mediumslateblue", "rgb(123, 104, 238 )", "mediumspringgreen", "rgb( 0, 250, 154 )", "mediumturquoise", "rgb( 72, 209, 204 )", "mediumvioletred", "rgb(199, 21, 133 )", "midnightblue", "rgb( 25, 25, 112 )", "mintcream", "rgb(245, 255, 250 )", "mistyrose", "rgb(255, 228, 225 )", "moccasin", "rgb(255, 228, 181 )", "navajowhite", "rgb(255, 222, 173 )", "navy", "rgb( 0, 0, 128 )", "oldlace", "rgb(253, 245, 230 )", "olive", "rgb(128, 128, 0 )", "olivedrab", "rgb(107, 142, 35 )", "orange", "rgb(255, 165, 0 )", "orangered", "rgb(255, 69, 0 )", "orchid", "rgb(218, 112, 214 )", "palegoldenrod", "rgb(238, 232, 170 )", "palegreen", "rgb(152, 251, 152 )", "paleturquoise", "rgb(175, 238, 238 )", "palevioletred", "rgb(219, 112, 147 )", "papayawhip", "rgb(255, 239, 213 )", "peachpuff", "rgb(255, 218, 185 )", "peru", "rgb(205, 133, 63 )", "pink", "rgb(255, 192, 203 )", "plum", "rgb(221, 160, 221 )", "powderblue", "rgb(176, 224, 230 )", "purple", "rgb(128, 0, 128 )", "rosybrown", "rgb(188, 143, 143 )", "royalblue", "rgb( 65, 105, 225 )", "saddlebrown", "rgb(139, 69, 19 )", "salmon", "rgb(250, 128, 114 )", "sandybrown", "rgb(244, 164, 96 )", "seagreen", "rgb( 46, 139, 87 )", "seashell", "rgb(255, 245, 238 )", "sienna", "rgb(160, 82, 45 )", "silver", "rgb(192, 192, 192 )", "skyblue", "rgb(135, 206, 235 )", "slateblue", "rgb(106, 90, 205 )", "slategray", "rgb(112, 128, 144 )", "slategrey", "rgb(112, 128, 144 )", "snow", "rgb(255, 250, 250 )", "springgreen", "rgb( 0, 255, 127 )", "steelblue", "rgb( 70, 130, 180 )", "tan", "rgb(210, 180, 140 )", "teal", "rgb( 0, 128, 128 )", "thistle", "rgb(216, 191, 216 )", "tomato", "rgb(255, 99, 71 )", "turquoise", "rgb( 64, 224, 208 )", "violet", "rgb(238, 130, 238 )", "wheat", "rgb(245, 222, 179 )", "whitesmoke", "rgb(245, 245, 245 )", "yellowgreen", "rgb(154, 205, 50 )"];
11
- let cnt = colors.length;
12
- while (cnt >= 2) {
13
- const name = colors[(cnt - 2)];
14
- const coldef = colors[(cnt - 1)];
15
- const cc = new EVGColor();
16
- cc.fromString(coldef);
17
- this.colorNames[name] = cc;
18
- cnt = cnt - 2;
19
- };
20
- };
21
- }
22
- class EVGColor {
23
- constructor() {
24
- this.is_set = true;
25
- this.r = 0.0;
26
- this.g = 0.0;
27
- this.b = 0.0;
28
- this.a = 1.0;
29
- }
30
- testFn () {
31
- /** unused: const colors = new EVGColor() **/
32
- const c = EVGColor.hslToRgb(195.0, 100.0, 50.0);
33
- console.log((((("RGB of 30 20 10 = " + c.r) + ",") + c.g) + ",") + c.b);
34
- const c_2 = new EVGColor();
35
- c_2.fromString("hsl( 195 100.20 50)");
36
- console.log(((((("parsed value = (" + c_2.red()) + ", ") + c_2.green()) + ", ") + c_2.blue()) + " )");
37
- c_2.fromString("hsl( 43 100 56)");
38
- console.log(((((("parsed value = (" + c_2.red()) + ", ") + c_2.green()) + ", ") + c_2.blue()) + " )");
39
- c_2.fromString("rgb( 43 100 56)");
40
- console.log(((((("parsed value = (" + c_2.red()) + ", ") + c_2.green()) + ", ") + c_2.blue()) + " )");
41
- c_2.fromString("rgba( 43 100 56 0.4)");
42
- console.log(((((((("parsed value = (" + c_2.red()) + ", ") + c_2.green()) + ", ") + c_2.blue()) + " ") + c_2.alpha()) + " )");
43
- const ctx = new EVGColorContext();
44
- const redCol = ctx.byName("red");
45
- console.log("Red color is " + redCol.toCSSString());
46
- const blueCol = ctx.byName("blue");
47
- console.log("Blue color is " + blueCol.toCSSString());
48
- };
49
- toCSSString () {
50
- if ( this.is_set == false ) {
51
- return "none";
52
- }
53
- if ( this.a < 1.0 ) {
54
- return ((((((("rgba(" + this.red()) + ",") + this.green()) + ",") + this.blue()) + ", ") + this.alpha()) + ")";
55
- }
56
- return ((((("rgb(" + this.red()) + ",") + this.green()) + ",") + this.blue()) + ")";
57
- };
58
- alpha () {
59
- if ( this.a < 0.0 ) {
60
- return 0.0;
61
- }
62
- if ( this.a > 1.0 ) {
63
- return 1.0;
64
- }
65
- return this.a;
66
- };
67
- red () {
68
- if ( this.r > 255.0 ) {
69
- return 255;
70
- }
71
- if ( this.r < 0.0 ) {
72
- return 0;
73
- }
74
- return Math.floor( this.r);
75
- };
76
- green () {
77
- if ( this.g > 255.0 ) {
78
- return 255;
79
- }
80
- if ( this.g < 0.0 ) {
81
- return 0;
82
- }
83
- return Math.floor( this.g);
84
- };
85
- blue () {
86
- if ( this.b > 255.0 ) {
87
- return 255;
88
- }
89
- if ( this.b < 0.0 ) {
90
- return 0;
91
- }
92
- return Math.floor( this.b);
93
- };
94
- copyFrom (col) {
95
- this.r = col.r;
96
- this.g = col.g;
97
- this.b = col.b;
98
- this.a = col.a;
99
- this.is_set = col.is_set;
100
- };
101
- fromString (str) {
102
- const buff = str;
103
- let i = 0;
104
- let last_number = 0.0;
105
- const __len = buff.length;
106
- const skipSpace = (() => {
107
- while (i < __len) {
108
- const c = buff.charCodeAt(i );
109
- if ( (c <= 32) || (c == (44)) ) {
110
- i = i + 1;
111
- } else {
112
- break;
113
- }
114
- };
115
- });
116
- const scanNumber = (() => {
117
- const s = buff;
118
- let fc = s.charCodeAt(i );
119
- let c_1 = fc;
120
- let sp = 0;
121
- let ep = 0;
122
- fc = s.charCodeAt(i );
123
- if ( (((fc == 45) && ((s.charCodeAt((i + 1) )) >= 46)) && ((s.charCodeAt((i + 1) )) <= 57)) || ((fc >= 48) && (fc <= 57)) ) {
124
- sp = i;
125
- i = 1 + i;
126
- c_1 = s.charCodeAt(i );
127
- while ((i < __len) && ((((c_1 >= 48) && (c_1 <= 57)) || (c_1 == (46))) || ((i == sp) && ((c_1 == (43)) || (c_1 == (45)))))) {
128
- i = 1 + i;
129
- if ( i >= __len ) {
130
- break;
131
- }
132
- c_1 = s.charCodeAt(i );
133
- };
134
- ep = i;
135
- last_number = (isNaN( parseFloat((s.substring(sp, ep ))) ) ? undefined : parseFloat((s.substring(sp, ep ))));
136
- return true;
137
- }
138
- return false;
139
- });
140
- if ( __len > 4 ) {
141
- if ( (((((114) == (buff.charCodeAt(0 ))) && ((103) == (buff.charCodeAt(1 )))) && ((98) == (buff.charCodeAt(2 )))) && ((97) == (buff.charCodeAt(3 )))) && ((40) == (buff.charCodeAt(4 ))) ) {
142
- i = i + 5;
143
- skipSpace();
144
- let h = 0.0;
145
- let s_1 = 0.0;
146
- let l = 0.0;
147
- let a_lpha = 0.0;
148
- let cnt = 0;
149
- if ( scanNumber() ) {
150
- h = last_number;
151
- cnt = cnt + 1;
152
- }
153
- skipSpace();
154
- if ( scanNumber() ) {
155
- s_1 = last_number;
156
- cnt = cnt + 1;
157
- }
158
- skipSpace();
159
- if ( scanNumber() ) {
160
- l = last_number;
161
- cnt = cnt + 1;
162
- }
163
- skipSpace();
164
- if ( scanNumber() ) {
165
- a_lpha = last_number;
166
- cnt = cnt + 1;
167
- }
168
- if ( cnt == 4 ) {
169
- this.r = h;
170
- this.g = s_1;
171
- this.b = l;
172
- this.a = a_lpha;
173
- this.is_set = true;
174
- return;
175
- }
176
- }
177
- if ( ((((114) == (buff.charCodeAt(0 ))) && ((103) == (buff.charCodeAt(1 )))) && ((98) == (buff.charCodeAt(2 )))) && ((40) == (buff.charCodeAt(3 ))) ) {
178
- i = i + 4;
179
- skipSpace();
180
- let h_1 = 0.0;
181
- let s_2 = 0.0;
182
- let l_1 = 0.0;
183
- let cnt_1 = 0;
184
- if ( scanNumber() ) {
185
- h_1 = last_number;
186
- cnt_1 = cnt_1 + 1;
187
- }
188
- skipSpace();
189
- if ( scanNumber() ) {
190
- s_2 = last_number;
191
- cnt_1 = cnt_1 + 1;
192
- }
193
- skipSpace();
194
- if ( scanNumber() ) {
195
- l_1 = last_number;
196
- cnt_1 = cnt_1 + 1;
197
- }
198
- if ( cnt_1 == 3 ) {
199
- this.r = h_1;
200
- this.g = s_2;
201
- this.b = l_1;
202
- this.a = 1.0;
203
- this.is_set = true;
204
- return;
205
- }
206
- }
207
- if ( ((((104) == (buff.charCodeAt(0 ))) && ((115) == (buff.charCodeAt(1 )))) && ((108) == (buff.charCodeAt(2 )))) && ((40) == (buff.charCodeAt(3 ))) ) {
208
- i = i + 4;
209
- skipSpace();
210
- let h_2 = 0.0;
211
- let s_3 = 0.0;
212
- let l_2 = 0.0;
213
- let cnt_2 = 0;
214
- if ( scanNumber() ) {
215
- h_2 = last_number;
216
- cnt_2 = cnt_2 + 1;
217
- }
218
- skipSpace();
219
- if ( scanNumber() ) {
220
- s_3 = last_number;
221
- cnt_2 = cnt_2 + 1;
222
- }
223
- skipSpace();
224
- if ( scanNumber() ) {
225
- l_2 = last_number;
226
- cnt_2 = cnt_2 + 1;
227
- }
228
- if ( cnt_2 == 3 ) {
229
- const rr = EVGColor.hslToRgb(h_2, s_3, l_2);
230
- this.copyFrom(rr);
231
- this.is_set = true;
232
- return;
233
- }
234
- }
235
- }
236
- };
237
- }
238
- EVGColor.hue2rgb = function(p, q, tt) {
239
- let t = tt;
240
- if ( t < 0.0 ) {
241
- t = t + 1.0;
242
- }
243
- if ( t > 1.0 ) {
244
- t = t - 1.0;
245
- }
246
- if ( t < (1.0 / 6.0) ) {
247
- return p + (((q - p) * 6.0) * t);
248
- }
249
- if ( t < (1.0 / 2.0) ) {
250
- return q;
251
- }
252
- if ( t < (2.0 / 3.0) ) {
253
- return p + (((q - p) * ((2.0 / 3.0) - t)) * 6.0);
254
- }
255
- return p;
256
- };
257
- EVGColor.hslToRgb = function(hh, ss, ll) {
258
- let r = 0.0;
259
- let g = 0.0;
260
- let b = 0.0;
261
- const h = hh / 360.0;
262
- const s = ss / 100.0;
263
- const l = ll / 100.0;
264
- if ( s == 0.0 ) {
265
- r = l;
266
- g = r;
267
- b = r;
268
- } else {
269
- const q = (l < 0.5) ? l : ((l + s) - (l * s));
270
- const p = (2.0 * l) - q;
271
- r = EVGColor.hue2rgb(p, q, (h + (1.0 / 3.0)));
272
- g = EVGColor.hue2rgb(p, q, h);
273
- b = EVGColor.hue2rgb(p, q, (h - (1.0 / 3.0)));
274
- }
275
- const rv = new EVGColor();
276
- rv.r = r * 255.0;
277
- rv.g = g * 255.0;
278
- rv.b = b * 255.0;
279
- return rv;
280
- };
281
- /* static JavaSript main routine at the end of the JS file */
282
- function __js_main() {
283
- const c = new EVGColor();
284
- c.testFn();
285
- }
286
- __js_main();