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,11 +1,11 @@
|
|
|
1
|
-
const {each, Evented_Class} = require('lang-tools');
|
|
2
|
-
// Macroscope
|
|
3
|
-
class JS_Builder extends Evented_Class {
|
|
4
|
-
constructor(spec) {
|
|
5
|
-
super();
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
1
|
+
const {each, Evented_Class} = require('lang-tools');
|
|
2
|
+
// Macroscope
|
|
3
|
+
class JS_Builder extends Evented_Class {
|
|
4
|
+
constructor(spec) {
|
|
5
|
+
super();
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
11
|
module.exports = JS_Builder;
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
// Like 'Declaration', but moving away from the JS syntax and possibilities of a declaration statement containing declarations for multiple objects.
|
|
2
|
-
|
|
3
|
-
const JS_File_Feature = require('./JS_File_Feature');
|
|
4
|
-
|
|
5
|
-
// Or just use the AST node one?
|
|
6
|
-
// This would be a different abstraction layer, possibly needed.
|
|
7
|
-
|
|
8
|
-
class JS_File_Declared_Object extends JS_File_Feature {
|
|
9
|
-
constructor(spec = {}) {
|
|
10
|
-
super(spec);
|
|
11
|
-
|
|
12
|
-
// Will iterate root declaration statements to get the declared objects from them.
|
|
13
|
-
// Can do that now.
|
|
14
|
-
|
|
15
|
-
// Whether or not the declared object gets exported
|
|
16
|
-
// directly
|
|
17
|
-
// as property of object
|
|
18
|
-
// other, such as member of array.
|
|
19
|
-
// And the export type (here getting into detail of the statement, could reference the statement, maybe another property layer above to understand that)
|
|
20
|
-
|
|
21
|
-
// .usage
|
|
22
|
-
// .outer_corresponding_js_ast_node
|
|
23
|
-
|
|
24
|
-
console.log('JS_File_Declared_Object spec', spec);
|
|
25
|
-
|
|
26
|
-
throw 'stop';
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
1
|
+
// Like 'Declaration', but moving away from the JS syntax and possibilities of a declaration statement containing declarations for multiple objects.
|
|
2
|
+
|
|
3
|
+
const JS_File_Feature = require('./JS_File_Feature');
|
|
4
|
+
|
|
5
|
+
// Or just use the AST node one?
|
|
6
|
+
// This would be a different abstraction layer, possibly needed.
|
|
7
|
+
|
|
8
|
+
class JS_File_Declared_Object extends JS_File_Feature {
|
|
9
|
+
constructor(spec = {}) {
|
|
10
|
+
super(spec);
|
|
11
|
+
|
|
12
|
+
// Will iterate root declaration statements to get the declared objects from them.
|
|
13
|
+
// Can do that now.
|
|
14
|
+
|
|
15
|
+
// Whether or not the declared object gets exported
|
|
16
|
+
// directly
|
|
17
|
+
// as property of object
|
|
18
|
+
// other, such as member of array.
|
|
19
|
+
// And the export type (here getting into detail of the statement, could reference the statement, maybe another property layer above to understand that)
|
|
20
|
+
|
|
21
|
+
// .usage
|
|
22
|
+
// .outer_corresponding_js_ast_node
|
|
23
|
+
|
|
24
|
+
console.log('JS_File_Declared_Object spec', spec);
|
|
25
|
+
|
|
26
|
+
throw 'stop';
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
32
|
module.exports = JS_File_Declared_Object;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
class JS_File_Exported_Object_Info {
|
|
2
|
-
constructor(spec = {}) {
|
|
3
|
-
|
|
4
|
-
// local name
|
|
5
|
-
// does not necessarily have one, could be imported into a numbered array
|
|
6
|
-
// but if that happens can throw exception.
|
|
7
|
-
|
|
8
|
-
/*
|
|
9
|
-
The ast_statement node where the import is done
|
|
10
|
-
declared local (imported) variable name: the name, or false if it does not have one
|
|
11
|
-
|
|
12
|
-
Lookup: the AST for the file it was imported from
|
|
13
|
-
Then information about what was exported from that.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
So, focus on obtaining great export information, as that will be used in the process of understanding the imports.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
class JS_File_Exported_Object_Info {
|
|
2
|
+
constructor(spec = {}) {
|
|
3
|
+
|
|
4
|
+
// local name
|
|
5
|
+
// does not necessarily have one, could be imported into a numbered array
|
|
6
|
+
// but if that happens can throw exception.
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
The ast_statement node where the import is done
|
|
10
|
+
declared local (imported) variable name: the name, or false if it does not have one
|
|
11
|
+
|
|
12
|
+
Lookup: the AST for the file it was imported from
|
|
13
|
+
Then information about what was exported from that.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
So, focus on obtaining great export information, as that will be used in the process of understanding the imports.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
26
|
module.exports = JS_File_Exported_Object_Info;
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
const JS_File_Feature = require('./JS_File_Feature');
|
|
2
|
-
|
|
3
|
-
class JS_File_Exports extends JS_File_Feature {
|
|
4
|
-
constructor(spec = {}) {
|
|
5
|
-
spec.name = "Exports";
|
|
6
|
-
let ast_node_exports_statement;
|
|
7
|
-
let exported_object_name;
|
|
8
|
-
let value;
|
|
9
|
-
|
|
10
|
-
if (spec.name !== 'Exports') {
|
|
11
|
-
throw 'stop';
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (spec.ast_node_exports_statement) {
|
|
15
|
-
ast_node_exports_statement = spec.ast_node_exports_statement;
|
|
16
|
-
}
|
|
17
|
-
super(spec);
|
|
18
|
-
|
|
19
|
-
// What a file exports is a 'feature' of the file.
|
|
20
|
-
// This 'feature' API moves further away from the JS language spec and is closer to being a conceptual representation of what the file is / does.
|
|
21
|
-
|
|
22
|
-
if (ast_node_exports_statement) {
|
|
23
|
-
//console.log('ast_node_exports_statement.type_signature', ast_node_exports_statement.type_signature);
|
|
24
|
-
|
|
25
|
-
if (ast_node_exports_statement.type_signature === 'ES(AsE(ME(ID,ID),ID))') {
|
|
26
|
-
// find_x_node_using_signature ('ES(AsE(ME(ID,ID),x))')
|
|
27
|
-
|
|
28
|
-
// May require parsing such a signature into a tree?
|
|
29
|
-
|
|
30
|
-
const x_node = ast_node_exports_statement.child_nodes[0].child_nodes[1];
|
|
31
|
-
//console.log('x_node', x_node);
|
|
32
|
-
//console.log('x_node.name', x_node.name);
|
|
33
|
-
|
|
34
|
-
exported_object_name = x_node.name;
|
|
35
|
-
|
|
36
|
-
} else {
|
|
37
|
-
throw 'NYI';
|
|
38
|
-
}
|
|
39
|
-
} else {
|
|
40
|
-
throw 'expected .ast_node_exports_statement'
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (exported_object_name) {
|
|
44
|
-
// find the declaration of such an object.
|
|
45
|
-
//console.log('exported_object_name', exported_object_name);
|
|
46
|
-
|
|
47
|
-
// Query the js file for Declaration (or maybe Declared features)
|
|
48
|
-
|
|
49
|
-
// Would iterate through the root nodes looking for 'Declared' features.
|
|
50
|
-
// Would carry out closer examination of declarations. In the case of array decomposition would need to match the elements.
|
|
51
|
-
|
|
52
|
-
// Declared features would be useful for discovering what goes into the single object that gets exported.
|
|
53
|
-
// In many cases we will be exporting variables local to the file body.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
} else {
|
|
58
|
-
throw 'NYI';
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/*
|
|
62
|
-
Object.defineProperty(this, 'value', {
|
|
63
|
-
get() { return exported_object_name; },
|
|
64
|
-
enumerable: true,
|
|
65
|
-
configurable: false
|
|
66
|
-
});
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
Object.defineProperty(this, 'exported_object_name', {
|
|
70
|
-
get() { return exported_object_name; },
|
|
71
|
-
enumerable: true,
|
|
72
|
-
configurable: false
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
1
|
+
const JS_File_Feature = require('./JS_File_Feature');
|
|
2
|
+
|
|
3
|
+
class JS_File_Exports extends JS_File_Feature {
|
|
4
|
+
constructor(spec = {}) {
|
|
5
|
+
spec.name = "Exports";
|
|
6
|
+
let ast_node_exports_statement;
|
|
7
|
+
let exported_object_name;
|
|
8
|
+
let value;
|
|
9
|
+
|
|
10
|
+
if (spec.name !== 'Exports') {
|
|
11
|
+
throw 'stop';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (spec.ast_node_exports_statement) {
|
|
15
|
+
ast_node_exports_statement = spec.ast_node_exports_statement;
|
|
16
|
+
}
|
|
17
|
+
super(spec);
|
|
18
|
+
|
|
19
|
+
// What a file exports is a 'feature' of the file.
|
|
20
|
+
// This 'feature' API moves further away from the JS language spec and is closer to being a conceptual representation of what the file is / does.
|
|
21
|
+
|
|
22
|
+
if (ast_node_exports_statement) {
|
|
23
|
+
//console.log('ast_node_exports_statement.type_signature', ast_node_exports_statement.type_signature);
|
|
24
|
+
|
|
25
|
+
if (ast_node_exports_statement.type_signature === 'ES(AsE(ME(ID,ID),ID))') {
|
|
26
|
+
// find_x_node_using_signature ('ES(AsE(ME(ID,ID),x))')
|
|
27
|
+
|
|
28
|
+
// May require parsing such a signature into a tree?
|
|
29
|
+
|
|
30
|
+
const x_node = ast_node_exports_statement.child_nodes[0].child_nodes[1];
|
|
31
|
+
//console.log('x_node', x_node);
|
|
32
|
+
//console.log('x_node.name', x_node.name);
|
|
33
|
+
|
|
34
|
+
exported_object_name = x_node.name;
|
|
35
|
+
|
|
36
|
+
} else {
|
|
37
|
+
throw 'NYI';
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
throw 'expected .ast_node_exports_statement'
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (exported_object_name) {
|
|
44
|
+
// find the declaration of such an object.
|
|
45
|
+
//console.log('exported_object_name', exported_object_name);
|
|
46
|
+
|
|
47
|
+
// Query the js file for Declaration (or maybe Declared features)
|
|
48
|
+
|
|
49
|
+
// Would iterate through the root nodes looking for 'Declared' features.
|
|
50
|
+
// Would carry out closer examination of declarations. In the case of array decomposition would need to match the elements.
|
|
51
|
+
|
|
52
|
+
// Declared features would be useful for discovering what goes into the single object that gets exported.
|
|
53
|
+
// In many cases we will be exporting variables local to the file body.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
} else {
|
|
58
|
+
throw 'NYI';
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/*
|
|
62
|
+
Object.defineProperty(this, 'value', {
|
|
63
|
+
get() { return exported_object_name; },
|
|
64
|
+
enumerable: true,
|
|
65
|
+
configurable: false
|
|
66
|
+
});
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
Object.defineProperty(this, 'exported_object_name', {
|
|
70
|
+
get() { return exported_object_name; },
|
|
71
|
+
enumerable: true,
|
|
72
|
+
configurable: false
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
79
|
module.exports = JS_File_Exports;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
class JS_File_Feature {
|
|
2
|
-
constructor(spec = {}) {
|
|
3
|
-
|
|
4
|
-
let name;
|
|
5
|
-
|
|
6
|
-
if (spec.name) {
|
|
7
|
-
name = spec.name;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
Object.defineProperty(this, 'name', {
|
|
11
|
-
get() { return name; },
|
|
12
|
-
enumerable: true,
|
|
13
|
-
configurable: false
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
1
|
+
class JS_File_Feature {
|
|
2
|
+
constructor(spec = {}) {
|
|
3
|
+
|
|
4
|
+
let name;
|
|
5
|
+
|
|
6
|
+
if (spec.name) {
|
|
7
|
+
name = spec.name;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(this, 'name', {
|
|
11
|
+
get() { return name; },
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: false
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
18
|
module.exports = JS_File_Feature;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
class JS_File_Imported_Object_Info {
|
|
2
|
-
constructor(spec = {}) {
|
|
3
|
-
|
|
4
|
-
// local name
|
|
5
|
-
// does not necessarily have one, could be imported into a numbered array
|
|
6
|
-
// but if that happens can throw exception.
|
|
7
|
-
|
|
8
|
-
/*
|
|
9
|
-
The ast_statement node where the import is done
|
|
10
|
-
declared local (imported) variable name: the name, or false if it does not have one
|
|
11
|
-
|
|
12
|
-
Lookup: the AST for the file it was imported from
|
|
13
|
-
Then information about what was exported from that.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
So, focus on obtaining great export information, as that will be used in the process of understanding the imports.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
1
|
+
class JS_File_Imported_Object_Info {
|
|
2
|
+
constructor(spec = {}) {
|
|
3
|
+
|
|
4
|
+
// local name
|
|
5
|
+
// does not necessarily have one, could be imported into a numbered array
|
|
6
|
+
// but if that happens can throw exception.
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
The ast_statement node where the import is done
|
|
10
|
+
declared local (imported) variable name: the name, or false if it does not have one
|
|
11
|
+
|
|
12
|
+
Lookup: the AST for the file it was imported from
|
|
13
|
+
Then information about what was exported from that.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
So, focus on obtaining great export information, as that will be used in the process of understanding the imports.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
26
|
module.exports = JS_File_Imported_Object_Info;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
const JS_File_Feature = require('./JS_File_Feature');
|
|
2
|
-
|
|
3
|
-
class JS_File_Exports extends JS_File_Feature {
|
|
4
|
-
constructor(spec) {
|
|
5
|
-
super(spec);
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
|
|
1
|
+
const JS_File_Feature = require('./JS_File_Feature');
|
|
2
|
+
|
|
3
|
+
class JS_File_Exports extends JS_File_Feature {
|
|
4
|
+
constructor(spec) {
|
|
5
|
+
super(spec);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
9
|
module.exports = JS_File_Exports;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const JS_File_Changing = require('./JS_File_6-Changing');
|
|
2
|
-
|
|
3
|
-
class JS_File extends JS_File_Changing {
|
|
4
|
-
constructor(spec) {
|
|
5
|
-
super(spec);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
module.exports = JS_File;
|
|
1
|
+
const JS_File_Changing = require('./JS_File_6-Changing');
|
|
2
|
+
|
|
3
|
+
class JS_File extends JS_File_Changing {
|
|
4
|
+
constructor(spec) {
|
|
5
|
+
super(spec);
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
module.exports = JS_File;
|