jsgui3-server 0.0.121 → 0.0.122
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/.vscode/settings.json +6 -0
- package/README.md +10 -10
- package/controls/Active_HTML_Document.js +116 -116
- package/controls/README.md +7 -7
- package/controls/page/admin.js +74 -74
- package/controls/panel/admin.js +11 -11
- package/examples/_css/basic.css +913 -913
- package/examples/_css/database-control.css +51 -51
- package/examples/_css/jsgui.css +66 -66
- package/examples/_css/multi-layout.css +23 -23
- package/examples/_css/style.css +1669 -1669
- package/examples/_css/top-and-bottom-bars.css +54 -54
- package/examples/box/1) square box/client.js +188 -188
- package/examples/box/1) square box/server.js +112 -112
- package/examples/box/2) twenty square boxes/css flex wrap/client.js +248 -248
- package/examples/box/2) twenty square boxes/css flex wrap/server.js +112 -112
- package/examples/boxes/square_boxes.js +45 -48
- package/examples/boxes/square_boxes_client.js +132 -136
- package/examples/client-side-popup-menu-button.html +93 -93
- package/examples/color_palette.js +51 -51
- package/examples/color_palette_client.js +95 -95
- package/examples/controls/1) window/client.js +186 -186
- package/examples/controls/1) window/server.js +117 -117
- package/examples/controls/10) window, mirrored text inputs/client.js +320 -320
- package/examples/controls/10) window, mirrored text inputs/server.js +117 -117
- package/examples/controls/11) window, mirrored text fields/client.js +493 -251
- package/examples/controls/11) window, mirrored text fields/server.js +117 -117
- package/examples/controls/11b) window, shared Data_Object model mirrored text fields/client.js +613 -331
- package/examples/controls/11b) window, shared Data_Object model mirrored text fields/server.js +117 -117
- package/examples/controls/11c) window, shared Data_Value model mirrored text fields/client.js +617 -617
- package/examples/controls/11c) window, shared Data_Value model mirrored text fields/server.js +117 -117
- package/examples/controls/11d) window, shared model mirrored integer text fields/client.js +611 -280
- package/examples/controls/11d) window, shared model mirrored integer text fields/server.js +134 -22
- package/examples/controls/12) window, Select_Options control/client.js +435 -452
- package/examples/controls/12) window, Select_Options control/server.js +117 -117
- package/examples/controls/2) two windows/client.js +193 -193
- package/examples/controls/2) two windows/server.js +113 -113
- package/examples/controls/3) five windows/client.js +217 -217
- package/examples/controls/3) five windows/server.js +116 -115
- package/examples/controls/4) window, tabbed panel/client.js +54 -225
- package/examples/controls/4) window, tabbed panel/server.js +17 -117
- package/examples/controls/5) window, grid/client.js +204 -484
- package/examples/controls/5) window, grid/server.js +117 -119
- package/examples/controls/6) window, color_palette/client.js +204 -204
- package/examples/controls/6) window, color_palette/server.js +117 -117
- package/examples/controls/7) window, month_view/client.js +40 -231
- package/examples/controls/7) window, month_view/server.js +117 -117
- package/examples/controls/8) window, checkbox/client.js +247 -209
- package/examples/controls/8) window, checkbox/server.js +117 -117
- package/examples/controls/9) window, date picker/client.js +303 -303
- package/examples/controls/9) window, date picker/server.js +117 -117
- package/examples/controls/9b) window, shared data.model mirrored date pickers/client.js +398 -398
- package/examples/controls/9b) window, shared data.model mirrored date pickers/server.js +117 -117
- package/examples/controls/__old/_html-server-color-palette.js +114 -114
- package/examples/controls/__old/html-server-combo-box.js +104 -104
- package/examples/controls/__old/html-server-list.js +98 -98
- package/examples/controls/__old/html-server-popup-menu-button.js +114 -114
- package/examples/controls/__old/html-server-start-stop-toggle-button.js +146 -146
- package/examples/controls/__old/scs-arrow-button.js +36 -36
- package/examples/controls/__old/scs-date-picker.js +157 -157
- package/examples/controls/__old/scs-file-browser.js +82 -82
- package/examples/controls/__old/scs-item.js +159 -159
- package/examples/controls/__old/scs-month-arrow-selector.js +126 -126
- package/examples/controls/__old/scs-month-view.js +94 -94
- package/examples/controls/__old/scs-start-stop-toggle-button.js +40 -40
- package/examples/controls/__old/scs-tree.js +49 -49
- package/examples/controls/__old/scs-year-arrow-selector.js +127 -127
- package/examples/demos/date-picker.js +119 -119
- package/examples/demos/explain-encapsulation.js +9 -9
- package/examples/demos/resizing.js +35 -35
- package/examples/demos/server_time.js +6 -6
- package/examples/grids/grid_1.js +45 -45
- package/examples/grids/grid_1_client.js +329 -329
- package/examples/html-rendering.js +20 -20
- package/examples/html-server.js +105 -105
- package/examples/introducing jsgui3/server.js +110 -110
- package/examples/mx_display/mx_display_1.js +45 -45
- package/examples/mx_display/mx_display_1_client.js +444 -444
- package/fs2.js +1836 -1836
- package/http/responders/HTTP_Responder.js +15 -15
- package/http/responders/static/Static_Route_HTTP_Responder.js +105 -105
- package/module.js +34 -34
- package/old/_single-control-server.js +418 -418
- package/old/single-control-server.js +368 -368
- package/old/single-page-app.js +131 -131
- package/package.json +42 -42
- package/page-context.js +92 -92
- package/publishers/helpers/assigners/Assigner.js +10 -10
- package/publishers/helpers/assigners/static-compressed-response-buffers/Single_Control_Webpage_Server_Static_Compressed_Response_Buffers_Assigner.js +150 -150
- package/publishers/helpers/assigners/static-headers/Single_Control_Webpage_Server_Static_Headers_Assigner.js +109 -109
- package/publishers/helpers/assigners/static-routes/Single_Control_Webpage_Server_Static_Routes_Assigner.js +91 -91
- package/publishers/helpers/assigners/static-uncompressed-response-buffers/Single_Control_Webpage_Server_Static_Uncompressed_Response_Buffers_Assigner.js +104 -104
- package/publishers/helpers/preparers/static/bundle/Ready_To_Serve_Preparer.js +18 -18
- package/publishers/helpers/preparers/static/bundle/Static_Routes_Responses_Webpage_Bundle_Preparer.js +44 -44
- package/publishers/http-function-publisher.js +212 -212
- package/publishers/http-html-page-publisher.js +5 -5
- package/publishers/http-html-publisher.js +24 -24
- package/publishers/http-js-publisher.js +135 -135
- package/publishers/http-observable-publisher.js +124 -124
- package/publishers/http-publisher.js +53 -53
- package/publishers/http-resource-publisher.js +325 -325
- package/publishers/http-webpage-publisher.js +659 -658
- package/publishers/http-webpageorsite-publisher.js +343 -343
- package/publishers/http-website-publisher.js +640 -640
- package/publishers/notes.md +9 -9
- package/resources/README.md +16 -16
- package/resources/_old_website-javascript-resource.js +994 -994
- package/resources/_old_website-resource.js +507 -507
- package/resources/compile/server-resource-compilation.js +43 -43
- package/resources/data-resource.js +118 -118
- package/resources/fs-resource.js +146 -146
- package/resources/jsbuilder/Abstract_Single_Declaration.js +105 -105
- package/resources/jsbuilder/Abstract_Single_Declaration_Sequence.js +42 -42
- package/resources/jsbuilder/JS_AST/JS_AST_Abstract_Node.js +61 -61
- package/resources/jsbuilder/JS_AST/JS_AST_Abstract_Node_Group.js +41 -41
- package/resources/jsbuilder/JS_AST/JS_AST_Group_Shared.js +61 -61
- package/resources/jsbuilder/JS_AST/JS_AST_Node.js +93 -93
- package/resources/jsbuilder/JS_AST/JS_AST_Node_0-Core.js +253 -253
- package/resources/jsbuilder/JS_AST/JS_AST_Node_1-Babel.js +337 -337
- package/resources/jsbuilder/JS_AST/JS_AST_Node_10-Changing.js +39 -39
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.1-Child.js +96 -96
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.2-Parent.js +37 -37
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.1.3-Ancestor.js +61 -61
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.2-Inner.js +43 -43
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.3-All.js +72 -72
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.4-Sibling.js +92 -92
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.5-Available_In_Scope.js +29 -29
- package/resources/jsbuilder/JS_AST/JS_AST_Node_2.9-Signature.js +116 -116
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3-Basics.js +159 -159
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.0-Basics_First.js +178 -178
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.1-Basics_Second.js +87 -87
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.0.99-Basics_Last.js +91 -91
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.1-Basics_Each.js +136 -136
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.1.5-Basics_Count.js +73 -73
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.2-Basics_Filter.js +39 -39
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.3-Basics_Collect.js +85 -85
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.4-Basics_Select.js +42 -42
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.5-Basics_Find.js +40 -40
- package/resources/jsbuilder/JS_AST/JS_AST_Node_3.6-Basics_Callmap.js +54 -54
- package/resources/jsbuilder/JS_AST/JS_AST_Node_4.0-Index_Indexes.js +45 -45
- package/resources/jsbuilder/JS_AST/JS_AST_Node_4.1-Index.js +343 -343
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.0-Category.js +38 -38
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.1-Category_Identifier.js +30 -30
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.2-Category_Literal.js +28 -28
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.3-Category_Expression.js +26 -26
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.4-Category_Pattern.js +8 -8
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.5-Category_Declaration.js +43 -43
- package/resources/jsbuilder/JS_AST/JS_AST_Node_5.6-Category_Statement.js +21 -21
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.0-Type.js +89 -89
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.1-Type_Class_Declaration.js +8 -8
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.2-Type_Variable_Declaration.js +27 -27
- package/resources/jsbuilder/JS_AST/JS_AST_Node_6.3-Type_Variable_Declarator.js +28 -28
- package/resources/jsbuilder/JS_AST/JS_AST_Node_7-Query.js +736 -736
- package/resources/jsbuilder/JS_AST/JS_AST_Node_8-Features.js +64 -64
- package/resources/jsbuilder/JS_AST/JS_AST_Node_9-Planning.js +31 -31
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Arrangement.js +15 -15
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Declared_Object.js +305 -305
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature.js +77 -77
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature_Declaration.js +248 -248
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Node_Feature_Declarator.js +138 -138
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature.js +10 -10
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature_Exported.js +100 -100
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Feature_Exports.js +60 -60
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/JS_AST_Root_Node_Interpreted.js +179 -179
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/_JSGUI_Root_Node_Interpreted.js +43 -43
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Feature/JS_AST_Root_Node_Feature/special_case_objectassign_to_object.js +12 -12
- package/resources/jsbuilder/JS_AST/JS_AST_Node_Group.js +35 -35
- package/resources/jsbuilder/JS_AST/JS_AST_Operation.js +11 -11
- package/resources/jsbuilder/JS_AST/JS_AST_Operation_On_Relationship.js +31 -31
- package/resources/jsbuilder/JS_AST/JS_AST_Ordered_Relationship_Node_To_Group.js +37 -37
- package/resources/jsbuilder/JS_AST/JS_AST_Ordinal.js +39 -39
- package/resources/jsbuilder/JS_AST/JS_AST_Ordinal_Relationship.js +25 -25
- package/resources/jsbuilder/JS_AST/JS_AST_Relationship_Node_To_Group.js +200 -200
- package/resources/jsbuilder/JS_AST/JS_AST_Relationship_Node_Within_Group_To_Node.js +43 -43
- package/resources/jsbuilder/JS_AST/_JS_AST_Node_3.8-Query_Features.js +76 -76
- package/resources/jsbuilder/JS_AST/query/enable_array_as_queryable.js +227 -227
- package/resources/jsbuilder/JS_AST/query/find_object_keys.js +404 -404
- package/resources/jsbuilder/JS_AST/query/node_queries.js +8 -8
- package/resources/jsbuilder/JS_AST/query/root_query_identidy.js +11 -11
- package/resources/jsbuilder/JS_AST_Node_Extended/JSGUI_Singular_Declaration.js +85 -85
- package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Declaration.js +123 -123
- package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Extended.js +87 -87
- package/resources/jsbuilder/JS_AST_Node_Extended/JS_AST_Node_Extended_0-Core.js +10 -10
- package/resources/jsbuilder/JS_Builder.js +10 -10
- package/resources/jsbuilder/JS_File/Feature/JS_File_Declared_Object.js +31 -31
- package/resources/jsbuilder/JS_File/Feature/JS_File_Exported_Object_Info.js +25 -25
- package/resources/jsbuilder/JS_File/Feature/JS_File_Exports.js +78 -78
- package/resources/jsbuilder/JS_File/Feature/JS_File_Feature.js +17 -17
- package/resources/jsbuilder/JS_File/Feature/JS_File_Imported_Object_Info.js +25 -25
- package/resources/jsbuilder/JS_File/Feature/JS_File_Imports.js +8 -8
- package/resources/jsbuilder/JS_File/JS_File.js +12 -12
- package/resources/jsbuilder/JS_File/JS_File_0-Core.js +202 -202
- package/resources/jsbuilder/JS_File/JS_File_1-Early_Parse.js +175 -175
- package/resources/jsbuilder/JS_File/JS_File_2-Babel.js +81 -81
- package/resources/jsbuilder/JS_File/JS_File_3-JS_AST_Node.js +86 -86
- package/resources/jsbuilder/JS_File/JS_File_4-Query.js +413 -413
- package/resources/jsbuilder/JS_File/JS_File_4.1-Query_Features.js +414 -414
- package/resources/jsbuilder/JS_File/JS_File_5-Planning.js +59 -59
- package/resources/jsbuilder/JS_File/JS_File_6-Changing.js +24 -24
- package/resources/jsbuilder/JS_File/JS_File_Export_Reference.js +12 -12
- package/resources/jsbuilder/JS_File/JS_File_Import_Reference.js +23 -23
- package/resources/jsbuilder/JS_File/JS_File_Import_References.js +31 -31
- package/resources/jsbuilder/JS_File/JS_File_Processor.js +16 -16
- package/resources/jsbuilder/JS_File/JS_Files.js +15 -15
- package/resources/jsbuilder/Module.js +14 -14
- package/resources/jsbuilder/Platform.js +13 -13
- package/resources/jsbuilder/Platforms.js +69 -69
- package/resources/jsbuilder/Project.js +109 -109
- package/resources/jsbuilder/Reference.js +1 -1
- package/resources/jsbuilder/Reference_Sequence.js +16 -16
- package/resources/jsbuilder/Scope.js +29 -29
- package/resources/jsbuilder/Variable_Name_Provider.js +42 -42
- package/resources/jsbuilder/_JS_File.js +225 -225
- package/resources/jsbuilder/ast_query.js +20 -20
- package/resources/jsbuilder/babel/babel_consts.js +162 -162
- package/resources/jsbuilder/babel/babel_node_tools.js +541 -541
- package/resources/jsbuilder/babel/deep_iterate/deep_iterate_babel.js +923 -904
- package/resources/jsbuilder/build.js +16 -16
- package/resources/jsbuilder/platform_notes.md +66 -66
- package/resources/jsbuilder/test/test_ast_node.js +381 -381
- package/resources/jsbuilder/test/test_js_file.js +303 -303
- package/resources/jsbuilder/test/test_project.js +157 -157
- package/resources/local-server-info-resource.js +96 -96
- package/resources/notes.txt +10 -10
- package/resources/old/website-image-resource.js +1185 -1185
- package/resources/process-js.js +498 -498
- package/resources/processors/bundlers/bundle.js +29 -29
- package/resources/processors/bundlers/bundler.js +23 -23
- package/resources/processors/bundlers/css-bundler.js +234 -234
- package/resources/processors/bundlers/js/JS_Bundler.js +51 -51
- package/resources/processors/bundlers/js/esbuild/Advanced_JS_Bundler_Using_ESBuild.js +388 -391
- package/resources/processors/bundlers/js/esbuild/Bundler_Using_ESBuild.js +8 -8
- package/resources/processors/bundlers/js/esbuild/Core_JS_Non_Minifying_Bundler_Using_ESBuild.js +188 -188
- package/resources/processors/bundlers/js/esbuild/Core_JS_Single_File_Minifying_Bundler_Using_ESBuild.js +191 -192
- package/resources/processors/bundlers/js/esbuild/_Old_CSS_Extractor.js +239 -239
- package/resources/processors/bundlers/js-bundler.js +263 -263
- package/resources/processors/bundlers/test_ast.js +73 -73
- package/resources/processors/bundlers/webpage-bundler.js +404 -404
- package/resources/processors/bundlers/website-bundler.js +22 -22
- package/resources/processors/extractors/Extractor.js +9 -11
- package/resources/processors/extractors/js/css_and_js/AST_Node/CSS_And_JS_From_JS_String_Using_AST_Node_Extractor.js +239 -254
- package/resources/processors/extractors/js/css_and_js/CSS_And_JS_From_JS_String_Extractor.js +3 -3
- package/resources/processors/extractors/string/Pos_Span_String_Extractor.js +93 -93
- package/resources/server-installed-tools.js +28 -28
- package/resources/server-resource-pool.js +41 -41
- package/resources/website-audio-resource.js +735 -735
- package/resources/website-css-resource.js +411 -411
- package/resources/website-image-resource.js +412 -412
- package/resources/website-javascript-resource-processor.js +908 -908
- package/resources/website-javascript-resource.js +874 -874
- package/resources/website-resource-processor.js +10 -10
- package/resources/website-resource.js +164 -164
- package/resources/website-static-html-resource.js +199 -199
- package/resources/website-template-html-resource.js +231 -231
- package/roadmap.md +75 -75
- package/server.js +609 -573
- package/static-page-context.js +13 -13
- package/website/webpage.js +81 -81
- package/website/website-group.js +15 -15
- package/website/website.js +260 -260
- package/examples/controls/11d) window, shared model mirrored integer text fields/both.js +0 -17
- package/examples/controls/13) window, shared model mirrored lat_long/client.js +0 -933
- package/examples/controls/13) window, shared model mirrored lat_long/server.js +0 -50
- package/examples/controls/14) window, control compositional model/client.js +0 -328
- package/examples/controls/14) window, control compositional model/server.js +0 -118
- package/examples/controls/14a) window, control spec has compositional model/client.js +0 -440
- package/examples/controls/14a) window, control spec has compositional model/server.js +0 -118
- package/examples/controls/15) window, text field/client.js +0 -256
- package/examples/controls/15) window, text field/server.js +0 -39
- package/examples/controls/16) Window([Text_Input])/client.js +0 -266
- package/examples/controls/16) Window([Text_Input])/server.js +0 -109
- package/examples/controls/16a) Window([Text_Input]) Integer data.model.data_type/client.js +0 -494
- package/examples/controls/16a) Window([Text_Input]) Integer data.model.data_type/isomorphic.js +0 -24
- package/examples/controls/16a) Window([Text_Input]) Integer data.model.data_type/server.js +0 -73
- package/examples/controls/2b) two window, context menus/client.js +0 -193
- package/examples/controls/2b) two window, context menus/server.js +0 -114
- package/examples/controls/4a) window, tabbed panel with various controls inside/client.js +0 -233
- package/examples/controls/4a) window, tabbed panel with various controls inside/server.js +0 -118
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
// Defines a single constant, which is also functionality to be built.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const {each, Evented_Class} = require('lang-tools');
|
|
5
|
-
|
|
6
|
-
// Is this necessary, is it worth going further than Babel AST?
|
|
7
|
-
// Or JS_AST_Node?
|
|
8
|
-
// of the kind declaration.
|
|
9
|
-
|
|
10
|
-
// May be worth doing more work on platform or builder.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// Maybe this would provide a nice separate API.
|
|
14
|
-
|
|
15
|
-
// Name property.
|
|
16
|
-
// ast_node_count property
|
|
17
|
-
// is_inline property
|
|
18
|
-
// external_reference_names property
|
|
19
|
-
// .refs too?
|
|
20
|
-
|
|
21
|
-
// In declaration form, will be able to then make a new AST that has got changed variable names.
|
|
22
|
-
// Could use a Variable_Name_Provider
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
// Variable_Declaration
|
|
37
|
-
// Class_Declaration
|
|
38
|
-
|
|
39
|
-
// Kind of the same really.
|
|
40
|
-
// A class is a type of variable.
|
|
41
|
-
|
|
42
|
-
// Want to define all the declarations in a JS file.
|
|
43
|
-
|
|
44
|
-
// Maybe rename this... it's not just the Declaration object from Babel, but more like the relevant programming chunk to be moved around.
|
|
45
|
-
|
|
46
|
-
// Named_Object_Declaration?
|
|
47
|
-
|
|
48
|
-
// Declaration_Code_Block?
|
|
49
|
-
// Basic_Declaration_Code_Pattern
|
|
50
|
-
|
|
51
|
-
// May be better if it extends JS_AST_Node
|
|
52
|
-
|
|
53
|
-
class Declaration extends Evented_Class {
|
|
54
|
-
constructor(spec) {
|
|
55
|
-
super(spec);
|
|
56
|
-
|
|
57
|
-
// name, type, value (which could have its own inner scope)
|
|
58
|
-
// kind?
|
|
59
|
-
// may correspond with babel.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
let name;
|
|
64
|
-
|
|
65
|
-
if (spec.name) name = spec.name;
|
|
66
|
-
|
|
67
|
-
Object.defineProperty(this, 'name', {
|
|
68
|
-
get() { return name; },
|
|
69
|
-
enumerable: true,
|
|
70
|
-
configurable: false
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// Of either a class or another variable.
|
|
76
|
-
|
|
77
|
-
// name
|
|
78
|
-
// type ( class, function, object etc, function call result?)
|
|
79
|
-
|
|
80
|
-
// One single thing being declared.
|
|
81
|
-
|
|
82
|
-
// variable name
|
|
83
|
-
|
|
84
|
-
// name and value?
|
|
85
|
-
|
|
86
|
-
// Can have some helpful info such as
|
|
87
|
-
// is everything inline.
|
|
88
|
-
// what variables it refers to that are outside of it's own internal scope?
|
|
89
|
-
|
|
90
|
-
// .has_internal_scope
|
|
91
|
-
// .is_literal
|
|
92
|
-
|
|
93
|
-
// a few ways to get some information in a simple way about the declaration block would be of use.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
module.exports = Declaration;
|
|
103
|
-
|
|
104
|
-
// Loading a declaration out of a file, so it fits within a declaration object.
|
|
105
|
-
|
|
1
|
+
// Defines a single constant, which is also functionality to be built.
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
const {each, Evented_Class} = require('lang-tools');
|
|
5
|
+
|
|
6
|
+
// Is this necessary, is it worth going further than Babel AST?
|
|
7
|
+
// Or JS_AST_Node?
|
|
8
|
+
// of the kind declaration.
|
|
9
|
+
|
|
10
|
+
// May be worth doing more work on platform or builder.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
// Maybe this would provide a nice separate API.
|
|
14
|
+
|
|
15
|
+
// Name property.
|
|
16
|
+
// ast_node_count property
|
|
17
|
+
// is_inline property
|
|
18
|
+
// external_reference_names property
|
|
19
|
+
// .refs too?
|
|
20
|
+
|
|
21
|
+
// In declaration form, will be able to then make a new AST that has got changed variable names.
|
|
22
|
+
// Could use a Variable_Name_Provider
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
// Variable_Declaration
|
|
37
|
+
// Class_Declaration
|
|
38
|
+
|
|
39
|
+
// Kind of the same really.
|
|
40
|
+
// A class is a type of variable.
|
|
41
|
+
|
|
42
|
+
// Want to define all the declarations in a JS file.
|
|
43
|
+
|
|
44
|
+
// Maybe rename this... it's not just the Declaration object from Babel, but more like the relevant programming chunk to be moved around.
|
|
45
|
+
|
|
46
|
+
// Named_Object_Declaration?
|
|
47
|
+
|
|
48
|
+
// Declaration_Code_Block?
|
|
49
|
+
// Basic_Declaration_Code_Pattern
|
|
50
|
+
|
|
51
|
+
// May be better if it extends JS_AST_Node
|
|
52
|
+
|
|
53
|
+
class Declaration extends Evented_Class {
|
|
54
|
+
constructor(spec) {
|
|
55
|
+
super(spec);
|
|
56
|
+
|
|
57
|
+
// name, type, value (which could have its own inner scope)
|
|
58
|
+
// kind?
|
|
59
|
+
// may correspond with babel.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
let name;
|
|
64
|
+
|
|
65
|
+
if (spec.name) name = spec.name;
|
|
66
|
+
|
|
67
|
+
Object.defineProperty(this, 'name', {
|
|
68
|
+
get() { return name; },
|
|
69
|
+
enumerable: true,
|
|
70
|
+
configurable: false
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
// Of either a class or another variable.
|
|
76
|
+
|
|
77
|
+
// name
|
|
78
|
+
// type ( class, function, object etc, function call result?)
|
|
79
|
+
|
|
80
|
+
// One single thing being declared.
|
|
81
|
+
|
|
82
|
+
// variable name
|
|
83
|
+
|
|
84
|
+
// name and value?
|
|
85
|
+
|
|
86
|
+
// Can have some helpful info such as
|
|
87
|
+
// is everything inline.
|
|
88
|
+
// what variables it refers to that are outside of it's own internal scope?
|
|
89
|
+
|
|
90
|
+
// .has_internal_scope
|
|
91
|
+
// .is_literal
|
|
92
|
+
|
|
93
|
+
// a few ways to get some information in a simple way about the declaration block would be of use.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
module.exports = Declaration;
|
|
103
|
+
|
|
104
|
+
// Loading a declaration out of a file, so it fits within a declaration object.
|
|
105
|
+
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// lang-mini, for example, would be represented with this. It's a module that reveals a number of declarations.
|
|
4
|
-
// Internally, it operates in a sequence (kind of).
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const {each, Evented_Class} = require('lang-tools');
|
|
8
|
-
|
|
9
|
-
class Declaration_Sequence extends Evented_Class {
|
|
10
|
-
constructor(spec = {}) {
|
|
11
|
-
super();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// A double linked list could be better though.
|
|
15
|
-
|
|
16
|
-
const arr = [];
|
|
17
|
-
|
|
18
|
-
this.push = (declaration) => {
|
|
19
|
-
arr.push(declaration);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
Object.defineProperty(this, 'arr', {
|
|
23
|
-
get() { return arr; },
|
|
24
|
-
enumerable: false,
|
|
25
|
-
configurable: false
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
*iterator() {
|
|
31
|
-
for (let key in this.arr) {
|
|
32
|
-
const value = arr[key];
|
|
33
|
-
yield value;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Implement "iterable protocol"
|
|
38
|
-
[Symbol.iterator]() {
|
|
39
|
-
return this.iterator();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
// lang-mini, for example, would be represented with this. It's a module that reveals a number of declarations.
|
|
4
|
+
// Internally, it operates in a sequence (kind of).
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const {each, Evented_Class} = require('lang-tools');
|
|
8
|
+
|
|
9
|
+
class Declaration_Sequence extends Evented_Class {
|
|
10
|
+
constructor(spec = {}) {
|
|
11
|
+
super();
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
// A double linked list could be better though.
|
|
15
|
+
|
|
16
|
+
const arr = [];
|
|
17
|
+
|
|
18
|
+
this.push = (declaration) => {
|
|
19
|
+
arr.push(declaration);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
Object.defineProperty(this, 'arr', {
|
|
23
|
+
get() { return arr; },
|
|
24
|
+
enumerable: false,
|
|
25
|
+
configurable: false
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
*iterator() {
|
|
31
|
+
for (let key in this.arr) {
|
|
32
|
+
const value = arr[key];
|
|
33
|
+
yield value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Implement "iterable protocol"
|
|
38
|
+
[Symbol.iterator]() {
|
|
39
|
+
return this.iterator();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
43
|
module.exports = Declaration_Sequence;
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// Such as for referencing the inner nodes without / before having to have the actual members.
|
|
4
|
-
|
|
5
|
-
// Maybe generators would be effective here too?
|
|
6
|
-
|
|
7
|
-
// origin_node
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// relationship to origin node
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
class JS_AST_Abstract_Node {
|
|
15
|
-
constructor(spec = {}) {
|
|
16
|
-
|
|
17
|
-
// origin node
|
|
18
|
-
// function that will be called to obtain the nodes.
|
|
19
|
-
|
|
20
|
-
let origin, obtainer;
|
|
21
|
-
|
|
22
|
-
let relationship_to, index;
|
|
23
|
-
|
|
24
|
-
if (spec.origin) {
|
|
25
|
-
origin = spec.origin;
|
|
26
|
-
}
|
|
27
|
-
if (spec.obtainer) {
|
|
28
|
-
obtainer = spec.obtainer;
|
|
29
|
-
}
|
|
30
|
-
if (spec.relationship_to) {
|
|
31
|
-
relationship_to = spec.relationship_to;
|
|
32
|
-
}
|
|
33
|
-
if (spec.index !== undefined) {
|
|
34
|
-
index = spec.index;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
let arr_cached;
|
|
38
|
-
// so when they do get loaded / we have a ref - does not need to operate only in the abstract.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Object.defineProperty(this, 'origin', {
|
|
42
|
-
get() {
|
|
43
|
-
return origin;
|
|
44
|
-
},
|
|
45
|
-
enumerable: true,
|
|
46
|
-
configurable: false
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
Object.defineProperty(this, 'index', {
|
|
50
|
-
get() {
|
|
51
|
-
return index;
|
|
52
|
-
},
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: false
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
// Such as for referencing the inner nodes without / before having to have the actual members.
|
|
4
|
+
|
|
5
|
+
// Maybe generators would be effective here too?
|
|
6
|
+
|
|
7
|
+
// origin_node
|
|
8
|
+
//
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// relationship to origin node
|
|
12
|
+
//
|
|
13
|
+
|
|
14
|
+
class JS_AST_Abstract_Node {
|
|
15
|
+
constructor(spec = {}) {
|
|
16
|
+
|
|
17
|
+
// origin node
|
|
18
|
+
// function that will be called to obtain the nodes.
|
|
19
|
+
|
|
20
|
+
let origin, obtainer;
|
|
21
|
+
|
|
22
|
+
let relationship_to, index;
|
|
23
|
+
|
|
24
|
+
if (spec.origin) {
|
|
25
|
+
origin = spec.origin;
|
|
26
|
+
}
|
|
27
|
+
if (spec.obtainer) {
|
|
28
|
+
obtainer = spec.obtainer;
|
|
29
|
+
}
|
|
30
|
+
if (spec.relationship_to) {
|
|
31
|
+
relationship_to = spec.relationship_to;
|
|
32
|
+
}
|
|
33
|
+
if (spec.index !== undefined) {
|
|
34
|
+
index = spec.index;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let arr_cached;
|
|
38
|
+
// so when they do get loaded / we have a ref - does not need to operate only in the abstract.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
Object.defineProperty(this, 'origin', {
|
|
42
|
+
get() {
|
|
43
|
+
return origin;
|
|
44
|
+
},
|
|
45
|
+
enumerable: true,
|
|
46
|
+
configurable: false
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
Object.defineProperty(this, 'index', {
|
|
50
|
+
get() {
|
|
51
|
+
return index;
|
|
52
|
+
},
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: false
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
62
|
module.exports = JS_AST_Abstract_Node;
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// Such as for referencing the inner nodes without / before having to have the actual members.
|
|
4
|
-
|
|
5
|
-
// Maybe generators would be effective here too?
|
|
6
|
-
|
|
7
|
-
// origin_node
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// relationship to origin node
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
class JS_AST_Abstract_Node_Group {
|
|
15
|
-
constructor(spec = {}) {
|
|
16
|
-
|
|
17
|
-
// origin node
|
|
18
|
-
// function that will be called to obtain the nodes.
|
|
19
|
-
|
|
20
|
-
/*
|
|
21
|
-
let origin, obtainer;
|
|
22
|
-
|
|
23
|
-
let relationship_to;
|
|
24
|
-
|
|
25
|
-
if (spec.origin) {
|
|
26
|
-
origin = spec.origin;
|
|
27
|
-
}
|
|
28
|
-
if (spec.obtainer) {
|
|
29
|
-
obtainer = spec.obtainer;
|
|
30
|
-
}
|
|
31
|
-
if (spec.relationship_to) {
|
|
32
|
-
relationship_to = spec.relationship_to;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
let arr_cached;
|
|
36
|
-
// so when they do get loaded / we have a ref - does not need to operate only in the abstract.
|
|
37
|
-
*/
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
// Such as for referencing the inner nodes without / before having to have the actual members.
|
|
4
|
+
|
|
5
|
+
// Maybe generators would be effective here too?
|
|
6
|
+
|
|
7
|
+
// origin_node
|
|
8
|
+
//
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// relationship to origin node
|
|
12
|
+
//
|
|
13
|
+
|
|
14
|
+
class JS_AST_Abstract_Node_Group {
|
|
15
|
+
constructor(spec = {}) {
|
|
16
|
+
|
|
17
|
+
// origin node
|
|
18
|
+
// function that will be called to obtain the nodes.
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
let origin, obtainer;
|
|
22
|
+
|
|
23
|
+
let relationship_to;
|
|
24
|
+
|
|
25
|
+
if (spec.origin) {
|
|
26
|
+
origin = spec.origin;
|
|
27
|
+
}
|
|
28
|
+
if (spec.obtainer) {
|
|
29
|
+
obtainer = spec.obtainer;
|
|
30
|
+
}
|
|
31
|
+
if (spec.relationship_to) {
|
|
32
|
+
relationship_to = spec.relationship_to;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
let arr_cached;
|
|
36
|
+
// so when they do get loaded / we have a ref - does not need to operate only in the abstract.
|
|
37
|
+
*/
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
42
|
module.exports = JS_AST_Abstract_Node_Group;
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
class JS_AST_Group_Shared {
|
|
2
|
-
constructor(spec = {}) {
|
|
3
|
-
|
|
4
|
-
let group_iterator;
|
|
5
|
-
|
|
6
|
-
if (spec.group_iterator) group_iterator = spec.group_iterator;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
let shared_type;
|
|
10
|
-
Object.defineProperty(this, 'type', {
|
|
11
|
-
get() {
|
|
12
|
-
if (shared_type === undefined) {
|
|
13
|
-
group_iterator((cn, idx, stop) => {
|
|
14
|
-
if (shared_type === undefined) {
|
|
15
|
-
shared_type = cn.type;
|
|
16
|
-
} else {
|
|
17
|
-
if (cn.type === shared_type) {
|
|
18
|
-
// all good
|
|
19
|
-
} else {
|
|
20
|
-
shared_type = false;
|
|
21
|
-
stop();
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
return shared_type;
|
|
28
|
-
//return child_nodes.length;
|
|
29
|
-
},
|
|
30
|
-
enumerable: true,
|
|
31
|
-
configurable: false
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
let shared_category;
|
|
35
|
-
Object.defineProperty(this, 'category', {
|
|
36
|
-
get() {
|
|
37
|
-
if (shared_category === undefined) {
|
|
38
|
-
group_iterator((cn, idx, stop) => {
|
|
39
|
-
if (shared_category === undefined) {
|
|
40
|
-
shared_category = cn.category;
|
|
41
|
-
} else {
|
|
42
|
-
if (cn.category === shared_category) {
|
|
43
|
-
// all good
|
|
44
|
-
} else {
|
|
45
|
-
shared_category = false;
|
|
46
|
-
stop();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
})
|
|
51
|
-
}
|
|
52
|
-
return shared_category;
|
|
53
|
-
//return child_nodes.length;
|
|
54
|
-
},
|
|
55
|
-
enumerable: true,
|
|
56
|
-
configurable: false
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
1
|
+
class JS_AST_Group_Shared {
|
|
2
|
+
constructor(spec = {}) {
|
|
3
|
+
|
|
4
|
+
let group_iterator;
|
|
5
|
+
|
|
6
|
+
if (spec.group_iterator) group_iterator = spec.group_iterator;
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
let shared_type;
|
|
10
|
+
Object.defineProperty(this, 'type', {
|
|
11
|
+
get() {
|
|
12
|
+
if (shared_type === undefined) {
|
|
13
|
+
group_iterator((cn, idx, stop) => {
|
|
14
|
+
if (shared_type === undefined) {
|
|
15
|
+
shared_type = cn.type;
|
|
16
|
+
} else {
|
|
17
|
+
if (cn.type === shared_type) {
|
|
18
|
+
// all good
|
|
19
|
+
} else {
|
|
20
|
+
shared_type = false;
|
|
21
|
+
stop();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
return shared_type;
|
|
28
|
+
//return child_nodes.length;
|
|
29
|
+
},
|
|
30
|
+
enumerable: true,
|
|
31
|
+
configurable: false
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
let shared_category;
|
|
35
|
+
Object.defineProperty(this, 'category', {
|
|
36
|
+
get() {
|
|
37
|
+
if (shared_category === undefined) {
|
|
38
|
+
group_iterator((cn, idx, stop) => {
|
|
39
|
+
if (shared_category === undefined) {
|
|
40
|
+
shared_category = cn.category;
|
|
41
|
+
} else {
|
|
42
|
+
if (cn.category === shared_category) {
|
|
43
|
+
// all good
|
|
44
|
+
} else {
|
|
45
|
+
shared_category = false;
|
|
46
|
+
stop();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
return shared_category;
|
|
53
|
+
//return child_nodes.length;
|
|
54
|
+
},
|
|
55
|
+
enumerable: true,
|
|
56
|
+
configurable: false
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
62
|
module.exports = JS_AST_Group_Shared;
|