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,73 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const JS_AST_Node_Inner = require('./JS_AST_Node_2.2-Inner');
|
|
4
|
-
|
|
5
|
-
const JS_AST_Relationship_Node_To_Group = require('./JS_AST_Relationship_Node_To_Group');
|
|
6
|
-
|
|
7
|
-
class JS_AST_Node_All extends JS_AST_Node_Inner {
|
|
8
|
-
constructor(spec = {}) {
|
|
9
|
-
super(spec);
|
|
10
|
-
const {deep_iterate} = this;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// Make it a Relationship_Group.
|
|
14
|
-
// Node_To_Group_Relationship
|
|
15
|
-
|
|
16
|
-
// JS_AST_Relationship_Node_To_Group
|
|
17
|
-
|
|
18
|
-
const all = new JS_AST_Relationship_Node_To_Group({
|
|
19
|
-
origin: this,
|
|
20
|
-
name: 'all'//,
|
|
21
|
-
//obtainer: () => this.child_nodes,
|
|
22
|
-
//iterator: callback => each(this.child_nodes, callback),
|
|
23
|
-
//each: callback => each(this.child_nodes, callback)//,
|
|
24
|
-
//select: fn_select => select_child_nodes(fn_select)
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// Group properties....
|
|
28
|
-
|
|
29
|
-
/*
|
|
30
|
-
|
|
31
|
-
let all_shared_type;
|
|
32
|
-
|
|
33
|
-
// Make a shared property class?
|
|
34
|
-
// Group_Shared_Properties class
|
|
35
|
-
|
|
36
|
-
// Just a group_shared class for the moment.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
all.shared = {
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
Object.defineProperty(all.shared, 'type', {
|
|
46
|
-
get() {
|
|
47
|
-
if (all_shared_type === undefined) {
|
|
48
|
-
deep_iterate((cn, idx, stop) => {
|
|
49
|
-
if (all_shared_type === undefined) {
|
|
50
|
-
all_shared_type = cn.type;
|
|
51
|
-
} else {
|
|
52
|
-
if (cn.type === all_shared_type) {
|
|
53
|
-
// all good
|
|
54
|
-
} else {
|
|
55
|
-
all_shared_type = false;
|
|
56
|
-
stop();
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
})
|
|
61
|
-
}
|
|
62
|
-
return child_shared_type;
|
|
63
|
-
//return child_nodes.length;
|
|
64
|
-
},
|
|
65
|
-
enumerable: true,
|
|
66
|
-
configurable: false
|
|
67
|
-
});
|
|
68
|
-
*/
|
|
69
|
-
this.all = all;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
const JS_AST_Node_Inner = require('./JS_AST_Node_2.2-Inner');
|
|
4
|
+
|
|
5
|
+
const JS_AST_Relationship_Node_To_Group = require('./JS_AST_Relationship_Node_To_Group');
|
|
6
|
+
|
|
7
|
+
class JS_AST_Node_All extends JS_AST_Node_Inner {
|
|
8
|
+
constructor(spec = {}) {
|
|
9
|
+
super(spec);
|
|
10
|
+
const {deep_iterate} = this;
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
// Make it a Relationship_Group.
|
|
14
|
+
// Node_To_Group_Relationship
|
|
15
|
+
|
|
16
|
+
// JS_AST_Relationship_Node_To_Group
|
|
17
|
+
|
|
18
|
+
const all = new JS_AST_Relationship_Node_To_Group({
|
|
19
|
+
origin: this,
|
|
20
|
+
name: 'all'//,
|
|
21
|
+
//obtainer: () => this.child_nodes,
|
|
22
|
+
//iterator: callback => each(this.child_nodes, callback),
|
|
23
|
+
//each: callback => each(this.child_nodes, callback)//,
|
|
24
|
+
//select: fn_select => select_child_nodes(fn_select)
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// Group properties....
|
|
28
|
+
|
|
29
|
+
/*
|
|
30
|
+
|
|
31
|
+
let all_shared_type;
|
|
32
|
+
|
|
33
|
+
// Make a shared property class?
|
|
34
|
+
// Group_Shared_Properties class
|
|
35
|
+
|
|
36
|
+
// Just a group_shared class for the moment.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
all.shared = {
|
|
42
|
+
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
Object.defineProperty(all.shared, 'type', {
|
|
46
|
+
get() {
|
|
47
|
+
if (all_shared_type === undefined) {
|
|
48
|
+
deep_iterate((cn, idx, stop) => {
|
|
49
|
+
if (all_shared_type === undefined) {
|
|
50
|
+
all_shared_type = cn.type;
|
|
51
|
+
} else {
|
|
52
|
+
if (cn.type === all_shared_type) {
|
|
53
|
+
// all good
|
|
54
|
+
} else {
|
|
55
|
+
all_shared_type = false;
|
|
56
|
+
stop();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
})
|
|
61
|
+
}
|
|
62
|
+
return child_shared_type;
|
|
63
|
+
//return child_nodes.length;
|
|
64
|
+
},
|
|
65
|
+
enumerable: true,
|
|
66
|
+
configurable: false
|
|
67
|
+
});
|
|
68
|
+
*/
|
|
69
|
+
this.all = all;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
73
|
module.exports = JS_AST_Node_All
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// sibling.next
|
|
4
|
-
// sibling.all
|
|
5
|
-
|
|
6
|
-
// Sibling relationship
|
|
7
|
-
// And the index is the index within the parent.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const JS_AST_Node_All = require('./JS_AST_Node_2.3-All');
|
|
12
|
-
|
|
13
|
-
const JS_AST_Ordered_Relationship_Node_To_Group = require('./JS_AST_Ordered_Relationship_Node_To_Group');
|
|
14
|
-
|
|
15
|
-
class JS_AST_Node_Sibling extends JS_AST_Node_All {
|
|
16
|
-
constructor(spec = {}) {
|
|
17
|
-
super(spec);
|
|
18
|
-
const {each_child_node} = this;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
let index;
|
|
23
|
-
Object.defineProperty(this, 'index', {
|
|
24
|
-
get() {
|
|
25
|
-
|
|
26
|
-
if (index === undefined) {
|
|
27
|
-
//console.log('this.path', this.path);
|
|
28
|
-
|
|
29
|
-
const s_path = this.path.split('/').filter(s => s.length > 0).map(s => parseInt(s));
|
|
30
|
-
//console.log('s_path', s_path);
|
|
31
|
-
|
|
32
|
-
index = s_path[s_path.length - 1];
|
|
33
|
-
|
|
34
|
-
//throw 'NYI';
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return index;
|
|
38
|
-
},
|
|
39
|
-
enumerable: true,
|
|
40
|
-
configurable: false
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// sibling.all?
|
|
45
|
-
|
|
46
|
-
// .siblings
|
|
47
|
-
// .siblings.next
|
|
48
|
-
|
|
49
|
-
// could say it's an ordinal relationship.
|
|
50
|
-
|
|
51
|
-
// Ordered_Relationship_Node_To_Group
|
|
52
|
-
|
|
53
|
-
// with an index property.
|
|
54
|
-
|
|
55
|
-
const sibling = new JS_AST_Ordered_Relationship_Node_To_Group({
|
|
56
|
-
origin: this,
|
|
57
|
-
name: 'sibling',
|
|
58
|
-
index: index//,
|
|
59
|
-
//obtainer: () => this.child_nodes,
|
|
60
|
-
//iterator: callback => each(this.child_nodes, callback),
|
|
61
|
-
//each: callback => each(this.child_nodes, callback)//,
|
|
62
|
-
//select: fn_select => select_child_nodes(fn_select)
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
sibling.previous = new JS_AST_Ordered_Relationship_Node_To_Group({
|
|
66
|
-
origin: this,
|
|
67
|
-
name: 'previous-sibling'
|
|
68
|
-
});
|
|
69
|
-
sibling.post = new JS_AST_Ordered_Relationship_Node_To_Group({
|
|
70
|
-
origin: this,
|
|
71
|
-
name: 'post-sibling'
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
this.sibling = sibling;
|
|
75
|
-
|
|
76
|
-
//.previous .next
|
|
77
|
-
//.pre .post
|
|
78
|
-
|
|
79
|
-
// Need to know the position / index within the parent.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// this.sibling.number
|
|
83
|
-
// .own_number?
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
// sibling.next
|
|
4
|
+
// sibling.all
|
|
5
|
+
|
|
6
|
+
// Sibling relationship
|
|
7
|
+
// And the index is the index within the parent.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
const JS_AST_Node_All = require('./JS_AST_Node_2.3-All');
|
|
12
|
+
|
|
13
|
+
const JS_AST_Ordered_Relationship_Node_To_Group = require('./JS_AST_Ordered_Relationship_Node_To_Group');
|
|
14
|
+
|
|
15
|
+
class JS_AST_Node_Sibling extends JS_AST_Node_All {
|
|
16
|
+
constructor(spec = {}) {
|
|
17
|
+
super(spec);
|
|
18
|
+
const {each_child_node} = this;
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
let index;
|
|
23
|
+
Object.defineProperty(this, 'index', {
|
|
24
|
+
get() {
|
|
25
|
+
|
|
26
|
+
if (index === undefined) {
|
|
27
|
+
//console.log('this.path', this.path);
|
|
28
|
+
|
|
29
|
+
const s_path = this.path.split('/').filter(s => s.length > 0).map(s => parseInt(s));
|
|
30
|
+
//console.log('s_path', s_path);
|
|
31
|
+
|
|
32
|
+
index = s_path[s_path.length - 1];
|
|
33
|
+
|
|
34
|
+
//throw 'NYI';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return index;
|
|
38
|
+
},
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: false
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
// sibling.all?
|
|
45
|
+
|
|
46
|
+
// .siblings
|
|
47
|
+
// .siblings.next
|
|
48
|
+
|
|
49
|
+
// could say it's an ordinal relationship.
|
|
50
|
+
|
|
51
|
+
// Ordered_Relationship_Node_To_Group
|
|
52
|
+
|
|
53
|
+
// with an index property.
|
|
54
|
+
|
|
55
|
+
const sibling = new JS_AST_Ordered_Relationship_Node_To_Group({
|
|
56
|
+
origin: this,
|
|
57
|
+
name: 'sibling',
|
|
58
|
+
index: index//,
|
|
59
|
+
//obtainer: () => this.child_nodes,
|
|
60
|
+
//iterator: callback => each(this.child_nodes, callback),
|
|
61
|
+
//each: callback => each(this.child_nodes, callback)//,
|
|
62
|
+
//select: fn_select => select_child_nodes(fn_select)
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
sibling.previous = new JS_AST_Ordered_Relationship_Node_To_Group({
|
|
66
|
+
origin: this,
|
|
67
|
+
name: 'previous-sibling'
|
|
68
|
+
});
|
|
69
|
+
sibling.post = new JS_AST_Ordered_Relationship_Node_To_Group({
|
|
70
|
+
origin: this,
|
|
71
|
+
name: 'post-sibling'
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
this.sibling = sibling;
|
|
75
|
+
|
|
76
|
+
//.previous .next
|
|
77
|
+
//.pre .post
|
|
78
|
+
|
|
79
|
+
// Need to know the position / index within the parent.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
// this.sibling.number
|
|
83
|
+
// .own_number?
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
93
|
module.exports = JS_AST_Node_Sibling;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
const JS_AST_Node_Sibling = require('./JS_AST_Node_2.4-Sibling');
|
|
3
|
-
const JS_AST_Relationship_Node_To_Group = require('./JS_AST_Relationship_Node_To_Group');
|
|
4
|
-
|
|
5
|
-
class JS_AST_Node_Available_In_Scope extends JS_AST_Node_Sibling {
|
|
6
|
-
constructor(spec = {}) {
|
|
7
|
-
super(spec);
|
|
8
|
-
const {each_child_node} = this;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// The scope or in_scope relationship object.
|
|
12
|
-
|
|
13
|
-
const available_in_scope = new JS_AST_Relationship_Node_To_Group({
|
|
14
|
-
origin: this,
|
|
15
|
-
name: 'available_in_scope'//,
|
|
16
|
-
//obtainer: () => this.child_nodes,
|
|
17
|
-
//iterator: callback => each(this.child_nodes, callback),
|
|
18
|
-
//each: callback => each(this.child_nodes, callback)//,
|
|
19
|
-
//select: fn_select => select_child_nodes(fn_select)
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
this.available_in_scope = available_in_scope;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
module.exports = JS_AST_Node_Available_In_Scope;
|
|
29
|
-
|
|
1
|
+
|
|
2
|
+
const JS_AST_Node_Sibling = require('./JS_AST_Node_2.4-Sibling');
|
|
3
|
+
const JS_AST_Relationship_Node_To_Group = require('./JS_AST_Relationship_Node_To_Group');
|
|
4
|
+
|
|
5
|
+
class JS_AST_Node_Available_In_Scope extends JS_AST_Node_Sibling {
|
|
6
|
+
constructor(spec = {}) {
|
|
7
|
+
super(spec);
|
|
8
|
+
const {each_child_node} = this;
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// The scope or in_scope relationship object.
|
|
12
|
+
|
|
13
|
+
const available_in_scope = new JS_AST_Relationship_Node_To_Group({
|
|
14
|
+
origin: this,
|
|
15
|
+
name: 'available_in_scope'//,
|
|
16
|
+
//obtainer: () => this.child_nodes,
|
|
17
|
+
//iterator: callback => each(this.child_nodes, callback),
|
|
18
|
+
//each: callback => each(this.child_nodes, callback)//,
|
|
19
|
+
//select: fn_select => select_child_nodes(fn_select)
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
this.available_in_scope = available_in_scope;
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = JS_AST_Node_Available_In_Scope;
|
|
29
|
+
|
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const JS_AST_Node_Available_In_Scope = require('./JS_AST_Node_2.5-Available_In_Scope');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class JS_AST_Node_Signature extends JS_AST_Node_Available_In_Scope {
|
|
7
|
-
constructor(spec = {}) {
|
|
8
|
-
super(spec);
|
|
9
|
-
const {each_child_node} = this;
|
|
10
|
-
let deep_type_signature, type_signature;
|
|
11
|
-
// and then a more shallow type signature.
|
|
12
|
-
// type_signature could go to depth 2 or 3. Let's try it.
|
|
13
|
-
// Want to be able to get small and usable signatures.
|
|
14
|
-
|
|
15
|
-
// Want max depth for the iteration.
|
|
16
|
-
// The stop function integrated within the iteration would be useful there to get that done.
|
|
17
|
-
// Maybe an 'options' object now params have got more complex.
|
|
18
|
-
|
|
19
|
-
const get_deep_type_signature = () => {
|
|
20
|
-
//let res = '[' + this.type + '(';
|
|
21
|
-
//if (!deep_type_signature) {
|
|
22
|
-
//console.log('');
|
|
23
|
-
//console.log('this.path', this.path);
|
|
24
|
-
//console.log('this.type', this.type);
|
|
25
|
-
let res = '' + this.abbreviated_type, inner_res = '', first = true;
|
|
26
|
-
|
|
27
|
-
// Only look at child nodes, not full tree here.
|
|
28
|
-
// each_child_node inner_deep_iterate
|
|
29
|
-
// seems fixed now.
|
|
30
|
-
// no longer supports max_depth but at least it works now.
|
|
31
|
-
|
|
32
|
-
each_child_node(inner_node => {
|
|
33
|
-
if (!first) inner_res = inner_res + ','
|
|
34
|
-
inner_res = inner_res + inner_node.deep_type_signature
|
|
35
|
-
first = false;
|
|
36
|
-
});
|
|
37
|
-
//res = res + ')';
|
|
38
|
-
if (inner_res.length > 0) {
|
|
39
|
-
res = res + '(' + inner_res + ')';
|
|
40
|
-
} else {
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
return res;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
Object.defineProperty(this, 'type_signature', {
|
|
47
|
-
get() {
|
|
48
|
-
if (!type_signature) type_signature = get_deep_type_signature(1);
|
|
49
|
-
//if (deep_type_signature) return deep_type_signature;
|
|
50
|
-
return type_signature;
|
|
51
|
-
|
|
52
|
-
},
|
|
53
|
-
//set(newValue) { bValue = newValue; },
|
|
54
|
-
enumerable: true,
|
|
55
|
-
configurable: false
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
Object.defineProperty(this, 'deep_type_signature', {
|
|
59
|
-
get() {
|
|
60
|
-
if (!deep_type_signature) deep_type_signature = get_deep_type_signature(100);
|
|
61
|
-
//if (deep_type_signature) return deep_type_signature;
|
|
62
|
-
return deep_type_signature;
|
|
63
|
-
|
|
64
|
-
},
|
|
65
|
-
//set(newValue) { bValue = newValue; },
|
|
66
|
-
enumerable: true,
|
|
67
|
-
configurable: false
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
Object.defineProperty(this, 'signature', {
|
|
71
|
-
get() {
|
|
72
|
-
return this.type_signature
|
|
73
|
-
},
|
|
74
|
-
//set(newValue) { bValue = newValue; },
|
|
75
|
-
enumerable: true,
|
|
76
|
-
configurable: false
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
this.get_deep_type_signature = get_deep_type_signature;
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
module.exports = JS_AST_Node_Signature;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
// Scope next...?
|
|
89
|
-
// A function that iterates backwards through the scope.
|
|
90
|
-
|
|
91
|
-
// .scoped being a group of those scoped nodes
|
|
92
|
-
|
|
93
|
-
// node.scope.find.identifier.by.name(n)
|
|
94
|
-
|
|
95
|
-
// node.scope.all.declaration
|
|
96
|
-
|
|
97
|
-
// node.scope.each.declaration()
|
|
98
|
-
|
|
99
|
-
// node.shared.scope.all being all nodes in the shared scope
|
|
100
|
-
// node.scope being the scope internal to that node itself?
|
|
101
|
-
|
|
102
|
-
// Will have some kinds of more basic processes that deal with scope.
|
|
103
|
-
// not so OO to begin with, but ability to get the names of all declarations in scope.
|
|
104
|
-
|
|
105
|
-
// The scope or maybe in_scope relationship could be a useful way to do it.
|
|
106
|
-
// Also_In_Scope relationship?
|
|
107
|
-
// Available_In_Scope
|
|
108
|
-
// 2.5-Available_Declarations_In_Scope
|
|
109
|
-
// Just In_Scope as a relationship works OK.
|
|
110
|
-
// Available_In_Scope is a bit clearer though. Maybe In_Scope is fine when it's a relationship, it's clear enough maybe.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
const JS_AST_Node_Available_In_Scope = require('./JS_AST_Node_2.5-Available_In_Scope');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class JS_AST_Node_Signature extends JS_AST_Node_Available_In_Scope {
|
|
7
|
+
constructor(spec = {}) {
|
|
8
|
+
super(spec);
|
|
9
|
+
const {each_child_node} = this;
|
|
10
|
+
let deep_type_signature, type_signature;
|
|
11
|
+
// and then a more shallow type signature.
|
|
12
|
+
// type_signature could go to depth 2 or 3. Let's try it.
|
|
13
|
+
// Want to be able to get small and usable signatures.
|
|
14
|
+
|
|
15
|
+
// Want max depth for the iteration.
|
|
16
|
+
// The stop function integrated within the iteration would be useful there to get that done.
|
|
17
|
+
// Maybe an 'options' object now params have got more complex.
|
|
18
|
+
|
|
19
|
+
const get_deep_type_signature = () => {
|
|
20
|
+
//let res = '[' + this.type + '(';
|
|
21
|
+
//if (!deep_type_signature) {
|
|
22
|
+
//console.log('');
|
|
23
|
+
//console.log('this.path', this.path);
|
|
24
|
+
//console.log('this.type', this.type);
|
|
25
|
+
let res = '' + this.abbreviated_type, inner_res = '', first = true;
|
|
26
|
+
|
|
27
|
+
// Only look at child nodes, not full tree here.
|
|
28
|
+
// each_child_node inner_deep_iterate
|
|
29
|
+
// seems fixed now.
|
|
30
|
+
// no longer supports max_depth but at least it works now.
|
|
31
|
+
|
|
32
|
+
each_child_node(inner_node => {
|
|
33
|
+
if (!first) inner_res = inner_res + ','
|
|
34
|
+
inner_res = inner_res + inner_node.deep_type_signature
|
|
35
|
+
first = false;
|
|
36
|
+
});
|
|
37
|
+
//res = res + ')';
|
|
38
|
+
if (inner_res.length > 0) {
|
|
39
|
+
res = res + '(' + inner_res + ')';
|
|
40
|
+
} else {
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
return res;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
Object.defineProperty(this, 'type_signature', {
|
|
47
|
+
get() {
|
|
48
|
+
if (!type_signature) type_signature = get_deep_type_signature(1);
|
|
49
|
+
//if (deep_type_signature) return deep_type_signature;
|
|
50
|
+
return type_signature;
|
|
51
|
+
|
|
52
|
+
},
|
|
53
|
+
//set(newValue) { bValue = newValue; },
|
|
54
|
+
enumerable: true,
|
|
55
|
+
configurable: false
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
Object.defineProperty(this, 'deep_type_signature', {
|
|
59
|
+
get() {
|
|
60
|
+
if (!deep_type_signature) deep_type_signature = get_deep_type_signature(100);
|
|
61
|
+
//if (deep_type_signature) return deep_type_signature;
|
|
62
|
+
return deep_type_signature;
|
|
63
|
+
|
|
64
|
+
},
|
|
65
|
+
//set(newValue) { bValue = newValue; },
|
|
66
|
+
enumerable: true,
|
|
67
|
+
configurable: false
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
Object.defineProperty(this, 'signature', {
|
|
71
|
+
get() {
|
|
72
|
+
return this.type_signature
|
|
73
|
+
},
|
|
74
|
+
//set(newValue) { bValue = newValue; },
|
|
75
|
+
enumerable: true,
|
|
76
|
+
configurable: false
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
this.get_deep_type_signature = get_deep_type_signature;
|
|
80
|
+
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
module.exports = JS_AST_Node_Signature;
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
// Scope next...?
|
|
89
|
+
// A function that iterates backwards through the scope.
|
|
90
|
+
|
|
91
|
+
// .scoped being a group of those scoped nodes
|
|
92
|
+
|
|
93
|
+
// node.scope.find.identifier.by.name(n)
|
|
94
|
+
|
|
95
|
+
// node.scope.all.declaration
|
|
96
|
+
|
|
97
|
+
// node.scope.each.declaration()
|
|
98
|
+
|
|
99
|
+
// node.shared.scope.all being all nodes in the shared scope
|
|
100
|
+
// node.scope being the scope internal to that node itself?
|
|
101
|
+
|
|
102
|
+
// Will have some kinds of more basic processes that deal with scope.
|
|
103
|
+
// not so OO to begin with, but ability to get the names of all declarations in scope.
|
|
104
|
+
|
|
105
|
+
// The scope or maybe in_scope relationship could be a useful way to do it.
|
|
106
|
+
// Also_In_Scope relationship?
|
|
107
|
+
// Available_In_Scope
|
|
108
|
+
// 2.5-Available_Declarations_In_Scope
|
|
109
|
+
// Just In_Scope as a relationship works OK.
|
|
110
|
+
// Available_In_Scope is a bit clearer though. Maybe In_Scope is fine when it's a relationship, it's clear enough maybe.
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|