@maketribe/ms-app 3.0.7 → 3.0.9
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/dist/cjs/components/column-components/column-json/column-json-options.d.ts +23 -0
- package/dist/cjs/components/column-components/column-json/column-json-options.js +15 -0
- package/dist/cjs/components/column-components/column-json/column-json-options.js.map +1 -0
- package/dist/cjs/components/column-components/column-json/column-json.d.ts +44 -0
- package/dist/cjs/components/column-components/column-json/column-json.js +50 -0
- package/dist/cjs/components/column-components/column-json/column-json.js.map +1 -0
- package/dist/cjs/components/column-components/column-json/index.d.ts +45 -0
- package/dist/cjs/components/column-components/column-json/index.js +14 -0
- package/dist/cjs/components/column-components/column-json/index.js.map +1 -0
- package/dist/cjs/components/column-components/column-text/column-text.js +3 -1
- package/dist/cjs/components/column-components/column-text/column-text.js.map +1 -1
- package/dist/cjs/components/column-components/index.d.ts +1 -0
- package/dist/cjs/components/column-components/index.js +4 -0
- package/dist/cjs/components/column-components/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form/form.js +35 -16
- package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js +1 -2
- package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table.js +1 -1
- package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/index.js +21 -24
- package/dist/cjs/components/data-model/data-table/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/index.d.ts +4 -0
- package/dist/cjs/components/data-model/data-table/views/index.js +21 -24
- package/dist/cjs/components/data-model/data-table/views/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/index.d.ts +3 -4
- package/dist/cjs/components/data-model/data-table/views/table/index.js +6 -27
- package/dist/cjs/components/data-model/data-table/views/table/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/table-options.d.ts +11 -0
- package/dist/cjs/components/data-model/data-table/views/table/table-options.js +14 -0
- package/dist/cjs/components/data-model/data-table/views/table/table-options.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table/table.js +64 -0
- package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/index.d.ts +17 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/index.js +14 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/index.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.d.ts +11 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.js +14 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.d.ts +16 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.js +81 -0
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item-options.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search-item/index.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/index.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/index.d.ts +17 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/index.js +16 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/index.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/{table → table-view}/table-view.js +22 -57
- package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/tree/index.d.ts +45 -0
- package/dist/cjs/components/data-model/data-table/views/tree/index.js +14 -0
- package/dist/cjs/components/data-model/data-table/views/tree/index.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/tree/tree-options.d.ts +18 -0
- package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js +16 -0
- package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/tree/tree.d.ts +47 -0
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js +115 -0
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -0
- package/dist/cjs/components/data-model/{data-tree → data-table/views/tree-view}/index.d.ts +7 -19
- package/dist/cjs/components/data-model/data-table/views/tree-view/index.js +14 -0
- package/dist/cjs/components/data-model/data-table/views/tree-view/index.js.map +1 -0
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.d.ts +18 -0
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.js +18 -0
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -0
- package/dist/{esm/components/data-model/data-tree/data-tree.d.ts → cjs/components/data-model/data-table/views/tree-view/tree-view.d.ts} +4 -17
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view.js +74 -0
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -0
- package/dist/cjs/components/data-model/data-table-page/data-table-page-options.d.ts +2 -0
- package/dist/cjs/components/data-model/data-table-page/data-table-page-options.js +2 -0
- package/dist/cjs/components/data-model/data-table-page/data-table-page-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table-page/data-table-page.d.ts +8 -1
- package/dist/cjs/components/data-model/data-table-page/data-table-page.js +2 -2
- package/dist/cjs/components/data-model/data-table-page/data-table-page.js.map +1 -1
- package/dist/cjs/components/data-model/data-table-page/index.d.ts +8 -1
- package/dist/cjs/components/data-model/index.d.ts +0 -2
- package/dist/cjs/components/data-model/index.js +25 -34
- package/dist/cjs/components/data-model/index.js.map +1 -1
- package/dist/cjs/components/data-table-select-dialog/data-table-select-dialog.d.ts +1 -1
- package/dist/cjs/components/data-table-select-dialog/data-table-select-dialog.js +0 -2
- package/dist/cjs/components/data-table-select-dialog/data-table-select-dialog.js.map +1 -1
- package/dist/cjs/components/data-table-select-dialog/index.d.ts +1 -1
- package/dist/cjs/components/form-components/form-detail/form-detail.js +7 -8
- package/dist/cjs/components/form-components/form-detail/form-detail.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -2
- package/dist/cjs/components/index.js +107 -114
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/json-editor/index.d.ts +24 -0
- package/dist/cjs/components/json-editor/index.js +12 -0
- package/dist/cjs/components/json-editor/index.js.map +1 -0
- package/dist/cjs/components/json-editor/json-editor-options.d.ts +15 -0
- package/dist/cjs/components/json-editor/json-editor-options.js +21 -0
- package/dist/cjs/components/json-editor/json-editor-options.js.map +1 -0
- package/dist/{esm/components/data-model/data-table/views/table/search/search-item/search-item.d.ts → cjs/components/json-editor/json-editor.d.ts} +9 -23
- package/dist/cjs/components/json-editor/json-editor.js +31 -0
- package/dist/cjs/components/json-editor/json-editor.js.map +1 -0
- package/dist/cjs/components/markdown-editor/markdown-editor.js +0 -2
- package/dist/cjs/components/markdown-editor/markdown-editor.js.map +1 -1
- package/dist/cjs/components/material-list/material-group-form-popover.vue2.js +1 -1
- package/dist/cjs/components/material-list/material-group-form-popover.vue2.js.map +1 -1
- package/dist/cjs/components/material-list/material-group.vue2.js +107 -92
- package/dist/cjs/components/material-list/material-group.vue2.js.map +1 -1
- package/dist/cjs/components/material-list/material-item.vue2.js +9 -1
- package/dist/cjs/components/material-list/material-item.vue2.js.map +1 -1
- package/dist/cjs/components/material-list/material-list-options.js +9 -1
- package/dist/cjs/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/components/material-select/material-select-options.js +9 -1
- package/dist/cjs/components/material-select/material-select-options.js.map +1 -1
- package/dist/cjs/components/material-select/material-select.js +8 -0
- package/dist/cjs/components/material-select/material-select.js.map +1 -1
- package/dist/cjs/components/role-permission-config/role-permission-config-options.js +9 -1
- package/dist/cjs/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/cjs/components/role-permission-config/role-permission-config.js.map +1 -1
- package/dist/cjs/constants/index.d.ts +3 -0
- package/dist/cjs/constants/index.js +7 -0
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/log.d.ts +5 -0
- package/dist/cjs/constants/log.js +11 -0
- package/dist/cjs/constants/log.js.map +1 -0
- package/dist/cjs/constants/pattern.d.ts +2 -0
- package/dist/cjs/constants/pattern.js +8 -0
- package/dist/cjs/constants/pattern.js.map +1 -0
- package/dist/cjs/constants/region.d.ts +6 -0
- package/dist/cjs/constants/region.js +12 -0
- package/dist/cjs/constants/region.js.map +1 -0
- package/dist/cjs/core/DataModelDefines.d.ts +7 -1
- package/dist/cjs/core/DataModelDefines.js +9 -0
- package/dist/cjs/core/DataModelDefines.js.map +1 -1
- package/dist/cjs/core/PageManager.js +19 -9
- package/dist/cjs/core/PageManager.js.map +1 -1
- package/dist/cjs/core/Router.js +53 -13
- package/dist/cjs/core/Router.js.map +1 -1
- package/dist/cjs/core/component/ConfigComponents.js +6 -3
- package/dist/cjs/core/component/ConfigComponents.js.map +1 -1
- package/dist/cjs/core/component/DataTableComponents.js +7 -0
- package/dist/cjs/core/component/DataTableComponents.js.map +1 -1
- package/dist/cjs/dataview/config/ConfigForm.d.ts +2 -2
- package/dist/cjs/dataview/config/ConfigForm.js +12 -3
- package/dist/cjs/dataview/config/ConfigForm.js.map +1 -1
- package/dist/cjs/dataview/config/ConfigTable.js +2 -0
- package/dist/cjs/dataview/config/ConfigTable.js.map +1 -1
- package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListForm.js +8 -1
- package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListForm.js.map +1 -1
- package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListTable.js +1 -0
- package/dist/cjs/dataview/deny-ip-access-list/DenyIPAccessListTable.js.map +1 -1
- package/dist/cjs/dataview/department/DepartmentForm.js +1 -0
- package/dist/cjs/dataview/department/DepartmentForm.js.map +1 -1
- package/dist/cjs/dataview/department/DepartmentTable.d.ts +0 -3
- package/dist/cjs/dataview/department/DepartmentTable.js +1 -0
- package/dist/cjs/dataview/department/DepartmentTable.js.map +1 -1
- package/dist/cjs/dataview/department/DepartmentTree.d.ts +11 -0
- package/dist/cjs/dataview/department/DepartmentTree.js +37 -0
- package/dist/cjs/dataview/department/DepartmentTree.js.map +1 -0
- package/dist/cjs/dataview/department/index.d.ts +1 -0
- package/dist/cjs/dataview/department/index.js +2 -0
- package/dist/cjs/dataview/department/index.js.map +1 -1
- package/dist/cjs/dataview/index.d.ts +2 -0
- package/dist/cjs/dataview/index.js +16 -2
- package/dist/cjs/dataview/index.js.map +1 -1
- package/dist/cjs/dataview/ip-white-list/IPWhitelistForm.js +8 -1
- package/dist/cjs/dataview/ip-white-list/IPWhitelistForm.js.map +1 -1
- package/dist/cjs/dataview/ip-white-list/IPWhitelistTable.js +1 -0
- package/dist/cjs/dataview/ip-white-list/IPWhitelistTable.js.map +1 -1
- package/dist/cjs/dataview/log/index.d.ts +4 -0
- package/dist/cjs/dataview/log/index.js +14 -0
- package/dist/cjs/dataview/log/index.js.map +1 -0
- package/dist/cjs/dataview/log/local-log/LocalLogTree.d.ts +13 -0
- package/dist/cjs/dataview/log/local-log/LocalLogTree.js +58 -0
- package/dist/cjs/dataview/log/local-log/LocalLogTree.js.map +1 -0
- package/dist/cjs/dataview/log/local-log/index.d.ts +1 -0
- package/dist/cjs/dataview/log/local-log/index.js +8 -0
- package/dist/cjs/{components/data-model/data-table/views/table/search/composables → dataview/log/local-log}/index.js.map +1 -1
- package/dist/cjs/dataview/log/login-log/LoginLogTable.d.ts +17 -0
- package/dist/cjs/dataview/log/login-log/LoginLogTable.js +41 -0
- package/dist/cjs/dataview/log/login-log/LoginLogTable.js.map +1 -0
- package/dist/cjs/dataview/log/login-log/index.d.ts +1 -0
- package/dist/cjs/dataview/log/login-log/index.js +8 -0
- package/dist/cjs/dataview/log/login-log/index.js.map +1 -0
- package/dist/cjs/dataview/log/operate-log/OperateLogTable.d.ts +5 -0
- package/dist/cjs/dataview/log/operate-log/OperateLogTable.js +22 -0
- package/dist/cjs/dataview/log/operate-log/OperateLogTable.js.map +1 -0
- package/dist/cjs/dataview/log/operate-log/index.d.ts +1 -0
- package/dist/cjs/dataview/log/operate-log/index.js +8 -0
- package/dist/cjs/dataview/log/operate-log/index.js.map +1 -0
- package/dist/cjs/dataview/log/request-log/RequestLogTable.d.ts +20 -0
- package/dist/cjs/dataview/log/request-log/RequestLogTable.js +64 -0
- package/dist/cjs/dataview/log/request-log/RequestLogTable.js.map +1 -0
- package/dist/cjs/dataview/log/request-log/index.d.ts +1 -0
- package/dist/cjs/dataview/log/request-log/index.js +8 -0
- package/dist/cjs/dataview/log/request-log/index.js.map +1 -0
- package/dist/cjs/dataview/material/MaterialForm.js +1 -0
- package/dist/cjs/dataview/material/MaterialForm.js.map +1 -1
- package/dist/cjs/dataview/material/MaterialMan.d.ts +4 -4
- package/dist/cjs/dataview/material/MaterialMan.js +13 -21
- package/dist/cjs/dataview/material/MaterialMan.js.map +1 -1
- package/dist/cjs/dataview/material/MaterialTable.js +1 -0
- package/dist/cjs/dataview/material/MaterialTable.js.map +1 -1
- package/dist/cjs/dataview/material/index.js +2 -2
- package/dist/cjs/dataview/material/material-group/MaterialGroupForm.js +1 -0
- package/dist/cjs/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
- package/dist/cjs/dataview/material/material-group/MaterialGroupTable.js +1 -0
- package/dist/cjs/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
- package/dist/cjs/dataview/material/material-group/MaterialGroupTree.d.ts +14 -0
- package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js +48 -0
- package/dist/cjs/dataview/material/material-group/MaterialGroupTree.js.map +1 -0
- package/dist/cjs/dataview/material/material-group/index.d.ts +1 -1
- package/dist/cjs/dataview/material/material-group/index.js +2 -2
- package/dist/cjs/dataview/member/MemberForm.js +10 -1
- package/dist/cjs/dataview/member/MemberForm.js.map +1 -1
- package/dist/cjs/dataview/member/MemberTable.js +8 -5
- package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
- package/dist/cjs/dataview/member/member-role/MemberRoleTable.js +1 -0
- package/dist/cjs/dataview/member/member-role/MemberRoleTable.js.map +1 -1
- package/dist/cjs/dataview/menu/MenuForm.js +12 -8
- package/dist/cjs/dataview/menu/MenuForm.js.map +1 -1
- package/dist/cjs/dataview/menu/MenuTable.js +1 -0
- package/dist/cjs/dataview/menu/MenuTable.js.map +1 -1
- package/dist/cjs/dataview/menu/MenuTree.d.ts +10 -15
- package/dist/cjs/dataview/menu/MenuTree.js +63 -86
- package/dist/cjs/dataview/menu/MenuTree.js.map +1 -1
- package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineForm.js +1 -0
- package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineForm.js.map +1 -1
- package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineTable.js +1 -0
- package/dist/cjs/dataview/menu/permission-point/PermissionPointDefineTable.js.map +1 -1
- package/dist/cjs/dataview/region/RegionForm.d.ts +15 -0
- package/dist/cjs/dataview/region/RegionForm.js +43 -0
- package/dist/cjs/dataview/region/RegionForm.js.map +1 -0
- package/dist/cjs/dataview/region/RegionTable.d.ts +6 -0
- package/dist/cjs/dataview/region/RegionTable.js +57 -0
- package/dist/cjs/dataview/region/RegionTable.js.map +1 -0
- package/dist/cjs/dataview/region/index.d.ts +2 -0
- package/dist/cjs/dataview/region/index.js +10 -0
- package/dist/cjs/dataview/role/RoleForm.js +1 -1
- package/dist/cjs/dataview/role/RoleForm.js.map +1 -1
- package/dist/cjs/dataview/role/RolePermissionConfigTable.d.ts +1 -1
- package/dist/cjs/dataview/role/RolePermissionConfigTable.js +6 -4
- package/dist/cjs/dataview/role/RolePermissionConfigTable.js.map +1 -1
- package/dist/cjs/dataview/role/RoleTable.js +1 -0
- package/dist/cjs/dataview/role/RoleTable.js.map +1 -1
- package/dist/cjs/dataview/role/role-permission-point/RolePermissionPointTable.js +1 -0
- package/dist/cjs/dataview/role/role-permission-point/RolePermissionPointTable.js.map +1 -1
- package/dist/cjs/dataview/role/role-route/RoleRouteTable.js +1 -0
- package/dist/cjs/dataview/role/role-route/RoleRouteTable.js.map +1 -1
- package/dist/cjs/dataview/route/RouteForm.js +1 -0
- package/dist/cjs/dataview/route/RouteForm.js.map +1 -1
- package/dist/cjs/dataview/route/RouteTable.js +1 -0
- package/dist/cjs/dataview/route/RouteTable.js.map +1 -1
- package/dist/cjs/define-data-tree.d.ts +2 -0
- package/dist/cjs/define-data-tree.js +21 -0
- package/dist/cjs/define-data-tree.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +134 -118
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/installer.js +32 -36
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/{default/components → components}/bar/index.d.ts +1 -1
- package/dist/cjs/layouts/components/bar/index.js +130 -0
- package/dist/cjs/layouts/components/bar/index.js.map +1 -0
- package/dist/cjs/layouts/components/header/index.js.map +1 -0
- package/dist/cjs/layouts/components/header/tools.js +99 -0
- package/dist/cjs/layouts/components/header/tools.js.map +1 -0
- package/dist/cjs/layouts/components/index.js.map +1 -0
- package/dist/cjs/layouts/components/lock/index.js.map +1 -0
- package/dist/cjs/layouts/{common → components}/lock/lock.js +2 -4
- package/dist/cjs/layouts/components/lock/lock.js.map +1 -0
- package/dist/{esm/layouts/default → cjs/layouts}/components/menu/index.d.ts +1 -1
- package/dist/cjs/layouts/{default/components → components}/menu/index.js +3 -3
- package/dist/cjs/layouts/components/menu/index.js.map +1 -0
- package/dist/{esm/layouts/default → cjs/layouts}/components/menu/menu-item.d.ts +1 -1
- package/dist/cjs/layouts/components/menu/menu-item.js +105 -0
- package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -0
- package/dist/cjs/layouts/{default/index.js → container/default.js} +6 -8
- package/dist/cjs/layouts/container/default.js.map +1 -0
- package/dist/cjs/layouts/index.d.ts +2 -1
- package/dist/cjs/layouts/index.js +6 -2
- package/dist/cjs/layouts/index.js.map +1 -1
- package/dist/cjs/layouts/layout.js +16 -0
- package/dist/cjs/layouts/layout.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js +1563 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js +1492 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js +36 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +1839 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js +525 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js +1214 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js +3928 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js +10386 -0
- package/dist/cjs/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js +1697 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js +869 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js +39 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js +1790 -0
- package/dist/cjs/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js +81 -0
- package/dist/cjs/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js +32 -0
- package/dist/cjs/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js +177 -0
- package/dist/cjs/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +20 -0
- package/dist/cjs/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +1 -0
- package/dist/cjs/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js +126 -0
- package/dist/cjs/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js.map +1 -0
- package/dist/cjs/page/index/dv/default/add.vue2.js +1 -1
- package/dist/cjs/page/index/dv/default/add.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue.js +9 -0
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue.js.map +1 -0
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +226 -0
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -0
- package/dist/cjs/page/index/dv/default/single/list/normal.vue.js +9 -0
- package/dist/cjs/page/index/dv/default/single/list/normal.vue.js.map +1 -0
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +174 -0
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue.js +9 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue.js.map +1 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +110 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -0
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue.js +9 -0
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue.js.map +1 -0
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +247 -0
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -0
- package/dist/cjs/page/index/dv/default/table.vue.js +9 -0
- package/dist/cjs/page/index/dv/default/table.vue.js.map +1 -0
- package/dist/cjs/{layouts/default/components/menu/menu-item.js → page/index/dv/default/table.vue2.js} +52 -50
- package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -0
- package/dist/cjs/page/index/dv/local-log/index.vue.js +9 -0
- package/dist/cjs/page/index/dv/local-log/index.vue2.js +175 -0
- package/dist/cjs/page/index/dv/local-log/index.vue2.js.map +1 -0
- package/dist/cjs/page/index/dv/ms-member/index.vue2.js +2 -2
- package/dist/cjs/page/index/dv/ms-member/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/ms-role/index.vue2.js +25 -14
- package/dist/cjs/page/index/dv/ms-role/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/material/index.vue2.js +11 -5
- package/dist/cjs/page/index/material/index.vue2.js.map +1 -1
- package/dist/cjs/page/index.vue2.js +2 -9
- package/dist/cjs/page/index.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js +2 -5
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js +2 -4
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/components/column-components/column-json/column-json-options.d.ts +23 -0
- package/dist/esm/components/column-components/column-json/column-json-options.js +13 -0
- package/dist/esm/components/column-components/column-json/column-json-options.js.map +1 -0
- package/dist/esm/components/column-components/column-json/column-json.d.ts +44 -0
- package/dist/esm/components/column-components/column-json/column-json.js +48 -0
- package/dist/esm/components/column-components/column-json/column-json.js.map +1 -0
- package/dist/esm/components/column-components/column-json/index.d.ts +45 -0
- package/dist/esm/components/column-components/column-json/index.js +8 -0
- package/dist/esm/components/column-components/column-json/index.js.map +1 -0
- package/dist/esm/components/column-components/column-text/column-text.js +3 -1
- package/dist/esm/components/column-components/column-text/column-text.js.map +1 -1
- package/dist/esm/components/column-components/index.d.ts +1 -0
- package/dist/esm/components/column-components/index.js +2 -0
- package/dist/esm/components/column-components/index.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form/form.js +36 -17
- package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form-view/form-view.js +2 -3
- package/dist/esm/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table.js +1 -1
- package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
- package/dist/esm/components/data-model/data-table/index.js +11 -7
- package/dist/esm/components/data-model/data-table/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/index.d.ts +4 -0
- package/dist/esm/components/data-model/data-table/views/index.js +11 -7
- package/dist/esm/components/data-model/data-table/views/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/index.d.ts +3 -4
- package/dist/esm/components/data-model/data-table/views/table/index.js +4 -9
- package/dist/esm/components/data-model/data-table/views/table/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/table-options.d.ts +11 -0
- package/dist/esm/components/data-model/data-table/views/table/table-options.js +12 -0
- package/dist/esm/components/data-model/data-table/views/table/table-options.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table/table.d.ts +16 -0
- package/dist/esm/components/data-model/data-table/views/table/table.js +62 -0
- package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/index.d.ts +17 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/index.js +8 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/index.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.d.ts +11 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.js +12 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.d.ts +16 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.js +79 -0
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item-options.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search-item/classify-search-item.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search-item/index.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search.d.ts +2 -0
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/index.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/index.d.ts +17 -0
- package/dist/esm/components/data-model/data-table/views/table-view/index.js +9 -0
- package/dist/esm/components/data-model/data-table/views/table-view/index.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/table-view/table-view.d.ts +16 -0
- package/dist/esm/components/data-model/data-table/views/{table → table-view}/table-view.js +13 -48
- package/dist/esm/components/data-model/data-table/views/table-view/table-view.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/tree/index.d.ts +45 -0
- package/dist/esm/components/data-model/data-table/views/tree/index.js +8 -0
- package/dist/esm/components/data-model/data-table/views/tree/index.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/tree/tree-options.d.ts +18 -0
- package/dist/esm/components/data-model/data-table/views/tree/tree-options.js +14 -0
- package/dist/esm/components/data-model/data-table/views/tree/tree-options.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/tree/tree.d.ts +47 -0
- package/dist/esm/components/data-model/data-table/views/tree/tree.js +113 -0
- package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -0
- package/dist/esm/components/data-model/{data-tree → data-table/views/tree-view}/index.d.ts +7 -19
- package/dist/esm/components/data-model/data-table/views/tree-view/index.js +8 -0
- package/dist/esm/components/data-model/data-table/views/tree-view/index.js.map +1 -0
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.d.ts +18 -0
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.js +16 -0
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -0
- package/dist/{cjs/components/data-model/data-tree/data-tree.d.ts → esm/components/data-model/data-table/views/tree-view/tree-view.d.ts} +4 -17
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view.js +72 -0
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -0
- package/dist/esm/components/data-model/data-table-page/data-table-page-options.d.ts +2 -0
- package/dist/esm/components/data-model/data-table-page/data-table-page-options.js +2 -0
- package/dist/esm/components/data-model/data-table-page/data-table-page-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table-page/data-table-page.d.ts +8 -1
- package/dist/esm/components/data-model/data-table-page/data-table-page.js +3 -3
- package/dist/esm/components/data-model/data-table-page/data-table-page.js.map +1 -1
- package/dist/esm/components/data-model/data-table-page/index.d.ts +8 -1
- package/dist/esm/components/data-model/index.d.ts +0 -2
- package/dist/esm/components/data-model/index.js +11 -10
- package/dist/esm/components/data-model/index.js.map +1 -1
- package/dist/esm/components/data-table-select-dialog/data-table-select-dialog.d.ts +1 -1
- package/dist/esm/components/data-table-select-dialog/data-table-select-dialog.js +0 -2
- package/dist/esm/components/data-table-select-dialog/data-table-select-dialog.js.map +1 -1
- package/dist/esm/components/data-table-select-dialog/index.d.ts +1 -1
- package/dist/esm/components/form-components/form-detail/form-detail.js +7 -8
- package/dist/esm/components/form-components/form-detail/form-detail.js.map +1 -1
- package/dist/esm/components/index.d.ts +1 -2
- package/dist/esm/components/index.js +14 -12
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/json-editor/index.d.ts +24 -0
- package/dist/esm/components/json-editor/index.js +7 -0
- package/dist/esm/components/json-editor/index.js.map +1 -0
- package/dist/esm/components/json-editor/json-editor-options.d.ts +15 -0
- package/dist/esm/components/json-editor/json-editor-options.js +18 -0
- package/dist/esm/components/json-editor/json-editor-options.js.map +1 -0
- package/dist/{cjs/components/data-model/data-table/views/table/search/search-item/search-item.d.ts → esm/components/json-editor/json-editor.d.ts} +9 -23
- package/dist/esm/components/json-editor/json-editor.js +29 -0
- package/dist/esm/components/json-editor/json-editor.js.map +1 -0
- package/dist/esm/components/markdown-editor/markdown-editor.js +0 -2
- package/dist/esm/components/markdown-editor/markdown-editor.js.map +1 -1
- package/dist/esm/components/material-list/material-group-form-popover.vue2.js +1 -1
- package/dist/esm/components/material-list/material-group-form-popover.vue2.js.map +1 -1
- package/dist/esm/components/material-list/material-group.vue2.js +107 -92
- package/dist/esm/components/material-list/material-group.vue2.js.map +1 -1
- package/dist/esm/components/material-list/material-item.vue2.js +9 -1
- package/dist/esm/components/material-list/material-item.vue2.js.map +1 -1
- package/dist/esm/components/material-list/material-list-options.js +9 -1
- package/dist/esm/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/components/material-select/material-select-options.js +9 -1
- package/dist/esm/components/material-select/material-select-options.js.map +1 -1
- package/dist/esm/components/material-select/material-select.js +8 -0
- package/dist/esm/components/material-select/material-select.js.map +1 -1
- package/dist/esm/components/role-permission-config/role-permission-config-options.js +9 -1
- package/dist/esm/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/esm/components/role-permission-config/role-permission-config.js.map +1 -1
- package/dist/esm/constants/index.d.ts +3 -0
- package/dist/esm/constants/index.js +3 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/log.d.ts +5 -0
- package/dist/esm/constants/log.js +9 -0
- package/dist/esm/constants/log.js.map +1 -0
- package/dist/esm/constants/pattern.d.ts +2 -0
- package/dist/esm/constants/pattern.js +5 -0
- package/dist/esm/constants/pattern.js.map +1 -0
- package/dist/esm/constants/region.d.ts +6 -0
- package/dist/esm/constants/region.js +10 -0
- package/dist/esm/constants/region.js.map +1 -0
- package/dist/esm/core/DataModelDefines.d.ts +7 -1
- package/dist/esm/core/DataModelDefines.js +9 -0
- package/dist/esm/core/DataModelDefines.js.map +1 -1
- package/dist/esm/core/PageManager.js +19 -9
- package/dist/esm/core/PageManager.js.map +1 -1
- package/dist/esm/core/Router.js +53 -13
- package/dist/esm/core/Router.js.map +1 -1
- package/dist/esm/core/component/ConfigComponents.js +6 -3
- package/dist/esm/core/component/ConfigComponents.js.map +1 -1
- package/dist/esm/core/component/DataTableComponents.js +7 -0
- package/dist/esm/core/component/DataTableComponents.js.map +1 -1
- package/dist/esm/dataview/config/ConfigForm.d.ts +2 -2
- package/dist/esm/dataview/config/ConfigForm.js +13 -4
- package/dist/esm/dataview/config/ConfigForm.js.map +1 -1
- package/dist/esm/dataview/config/ConfigTable.js +2 -0
- package/dist/esm/dataview/config/ConfigTable.js.map +1 -1
- package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListForm.js +8 -1
- package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListForm.js.map +1 -1
- package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListTable.js +1 -0
- package/dist/esm/dataview/deny-ip-access-list/DenyIPAccessListTable.js.map +1 -1
- package/dist/esm/dataview/department/DepartmentForm.js +1 -0
- package/dist/esm/dataview/department/DepartmentForm.js.map +1 -1
- package/dist/esm/dataview/department/DepartmentTable.d.ts +0 -3
- package/dist/esm/dataview/department/DepartmentTable.js +1 -0
- package/dist/esm/dataview/department/DepartmentTable.js.map +1 -1
- package/dist/esm/dataview/department/DepartmentTree.d.ts +11 -0
- package/dist/esm/dataview/department/DepartmentTree.js +35 -0
- package/dist/esm/dataview/department/DepartmentTree.js.map +1 -0
- package/dist/esm/dataview/department/index.d.ts +1 -0
- package/dist/esm/dataview/department/index.js +1 -0
- package/dist/esm/dataview/department/index.js.map +1 -1
- package/dist/esm/dataview/index.d.ts +2 -0
- package/dist/esm/dataview/index.js +8 -1
- package/dist/esm/dataview/index.js.map +1 -1
- package/dist/esm/dataview/ip-white-list/IPWhitelistForm.js +8 -1
- package/dist/esm/dataview/ip-white-list/IPWhitelistForm.js.map +1 -1
- package/dist/esm/dataview/ip-white-list/IPWhitelistTable.js +1 -0
- package/dist/esm/dataview/ip-white-list/IPWhitelistTable.js.map +1 -1
- package/dist/esm/dataview/log/index.d.ts +4 -0
- package/dist/esm/dataview/log/index.js +5 -0
- package/dist/esm/dataview/log/index.js.map +1 -0
- package/dist/esm/dataview/log/local-log/LocalLogTree.d.ts +13 -0
- package/dist/esm/dataview/log/local-log/LocalLogTree.js +56 -0
- package/dist/esm/dataview/log/local-log/LocalLogTree.js.map +1 -0
- package/dist/esm/dataview/log/local-log/index.d.ts +1 -0
- package/dist/esm/dataview/log/local-log/index.js +2 -0
- package/dist/esm/dataview/log/login-log/LoginLogTable.d.ts +17 -0
- package/dist/esm/dataview/log/login-log/LoginLogTable.js +39 -0
- package/dist/esm/dataview/log/login-log/LoginLogTable.js.map +1 -0
- package/dist/esm/dataview/log/login-log/index.d.ts +1 -0
- package/dist/esm/dataview/log/login-log/index.js +2 -0
- package/dist/esm/dataview/log/login-log/index.js.map +1 -0
- package/dist/esm/dataview/log/operate-log/OperateLogTable.d.ts +5 -0
- package/dist/esm/dataview/log/operate-log/OperateLogTable.js +20 -0
- package/dist/esm/dataview/log/operate-log/OperateLogTable.js.map +1 -0
- package/dist/esm/dataview/log/operate-log/index.d.ts +1 -0
- package/dist/esm/dataview/log/operate-log/index.js +2 -0
- package/dist/esm/dataview/log/operate-log/index.js.map +1 -0
- package/dist/esm/dataview/log/request-log/RequestLogTable.d.ts +20 -0
- package/dist/esm/dataview/log/request-log/RequestLogTable.js +62 -0
- package/dist/esm/dataview/log/request-log/RequestLogTable.js.map +1 -0
- package/dist/esm/dataview/log/request-log/index.d.ts +1 -0
- package/dist/esm/dataview/log/request-log/index.js +2 -0
- package/dist/esm/dataview/log/request-log/index.js.map +1 -0
- package/dist/esm/dataview/material/MaterialForm.js +1 -0
- package/dist/esm/dataview/material/MaterialForm.js.map +1 -1
- package/dist/esm/dataview/material/MaterialMan.d.ts +4 -4
- package/dist/esm/dataview/material/MaterialMan.js +13 -21
- package/dist/esm/dataview/material/MaterialMan.js.map +1 -1
- package/dist/esm/dataview/material/MaterialTable.js +1 -0
- package/dist/esm/dataview/material/MaterialTable.js.map +1 -1
- package/dist/esm/dataview/material/index.js +1 -1
- package/dist/esm/dataview/material/material-group/MaterialGroupForm.js +1 -0
- package/dist/esm/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
- package/dist/esm/dataview/material/material-group/MaterialGroupTable.js +1 -0
- package/dist/esm/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
- package/dist/esm/dataview/material/material-group/MaterialGroupTree.d.ts +14 -0
- package/dist/esm/dataview/material/material-group/MaterialGroupTree.js +46 -0
- package/dist/esm/dataview/material/material-group/MaterialGroupTree.js.map +1 -0
- package/dist/esm/dataview/material/material-group/index.d.ts +1 -1
- package/dist/esm/dataview/material/material-group/index.js +1 -1
- package/dist/esm/dataview/member/MemberForm.js +10 -1
- package/dist/esm/dataview/member/MemberForm.js.map +1 -1
- package/dist/esm/dataview/member/MemberTable.js +8 -5
- package/dist/esm/dataview/member/MemberTable.js.map +1 -1
- package/dist/esm/dataview/member/member-role/MemberRoleTable.js +1 -0
- package/dist/esm/dataview/member/member-role/MemberRoleTable.js.map +1 -1
- package/dist/esm/dataview/menu/MenuForm.js +12 -8
- package/dist/esm/dataview/menu/MenuForm.js.map +1 -1
- package/dist/esm/dataview/menu/MenuTable.js +1 -0
- package/dist/esm/dataview/menu/MenuTable.js.map +1 -1
- package/dist/esm/dataview/menu/MenuTree.d.ts +10 -15
- package/dist/esm/dataview/menu/MenuTree.js +64 -87
- package/dist/esm/dataview/menu/MenuTree.js.map +1 -1
- package/dist/esm/dataview/menu/permission-point/PermissionPointDefineForm.js +1 -0
- package/dist/esm/dataview/menu/permission-point/PermissionPointDefineForm.js.map +1 -1
- package/dist/esm/dataview/menu/permission-point/PermissionPointDefineTable.js +1 -0
- package/dist/esm/dataview/menu/permission-point/PermissionPointDefineTable.js.map +1 -1
- package/dist/esm/dataview/region/RegionForm.d.ts +15 -0
- package/dist/esm/dataview/region/RegionForm.js +41 -0
- package/dist/esm/dataview/region/RegionForm.js.map +1 -0
- package/dist/esm/dataview/region/RegionTable.d.ts +6 -0
- package/dist/esm/dataview/region/RegionTable.js +55 -0
- package/dist/esm/dataview/region/RegionTable.js.map +1 -0
- package/dist/esm/dataview/region/index.d.ts +2 -0
- package/dist/esm/dataview/region/index.js +3 -0
- package/dist/esm/dataview/role/RoleForm.js +1 -1
- package/dist/esm/dataview/role/RoleForm.js.map +1 -1
- package/dist/esm/dataview/role/RolePermissionConfigTable.d.ts +1 -1
- package/dist/esm/dataview/role/RolePermissionConfigTable.js +6 -4
- package/dist/esm/dataview/role/RolePermissionConfigTable.js.map +1 -1
- package/dist/esm/dataview/role/RoleTable.js +1 -0
- package/dist/esm/dataview/role/RoleTable.js.map +1 -1
- package/dist/esm/dataview/role/role-permission-point/RolePermissionPointTable.js +1 -0
- package/dist/esm/dataview/role/role-permission-point/RolePermissionPointTable.js.map +1 -1
- package/dist/esm/dataview/role/role-route/RoleRouteTable.js +1 -0
- package/dist/esm/dataview/role/role-route/RoleRouteTable.js.map +1 -1
- package/dist/esm/dataview/route/RouteForm.js +1 -0
- package/dist/esm/dataview/route/RouteForm.js.map +1 -1
- package/dist/esm/dataview/route/RouteTable.js +1 -0
- package/dist/esm/dataview/route/RouteTable.js.map +1 -1
- package/dist/esm/define-data-tree.d.ts +2 -0
- package/dist/esm/define-data-tree.js +19 -0
- package/dist/esm/define-data-tree.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +27 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/installer.js +2 -6
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/{default/components → components}/bar/index.d.ts +1 -1
- package/dist/esm/layouts/components/bar/index.js +128 -0
- package/dist/esm/layouts/components/bar/index.js.map +1 -0
- package/dist/esm/layouts/components/header/index.js.map +1 -0
- package/dist/esm/layouts/components/header/tools.js +97 -0
- package/dist/esm/layouts/components/header/tools.js.map +1 -0
- package/dist/esm/layouts/components/index.js.map +1 -0
- package/dist/esm/layouts/components/lock/index.js.map +1 -0
- package/dist/esm/layouts/{common → components}/lock/lock.js +2 -4
- package/dist/esm/layouts/components/lock/lock.js.map +1 -0
- package/dist/{cjs/layouts/default → esm/layouts}/components/menu/index.d.ts +1 -1
- package/dist/esm/layouts/{default/components → components}/menu/index.js +3 -3
- package/dist/esm/layouts/components/menu/index.js.map +1 -0
- package/dist/{cjs/layouts/default → esm/layouts}/components/menu/menu-item.d.ts +1 -1
- package/dist/esm/layouts/components/menu/menu-item.js +103 -0
- package/dist/esm/layouts/components/menu/menu-item.js.map +1 -0
- package/dist/esm/layouts/{default/index.js → container/default.js} +6 -8
- package/dist/esm/layouts/container/default.js.map +1 -0
- package/dist/esm/layouts/index.d.ts +2 -1
- package/dist/esm/layouts/index.js +6 -1
- package/dist/esm/layouts/index.js.map +1 -1
- package/dist/esm/layouts/layout.d.ts +2 -0
- package/dist/esm/layouts/layout.js +14 -0
- package/dist/esm/layouts/layout.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js +1548 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_autocomplete@6.11.1_@codemirror_language@6.9.3_@codemirror_state@6.3.2_@codemirro_dop6xooh6ucho44vivbvrw3b2e/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js +1415 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_commands@6.3.2/node_modules/@codemirror/commands/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js +33 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js +1798 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_language@6.9.3/node_modules/@codemirror/language/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js +519 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_lint@6.4.2/node_modules/@codemirror/lint/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js +1197 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_search@6.5.5/node_modules/@codemirror/search/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js +3900 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_state@6.3.2/node_modules/@codemirror/state/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js +10353 -0
- package/dist/esm/node_modules/.pnpm/@codemirror_view@6.22.1/node_modules/@codemirror/view/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js +1686 -0
- package/dist/esm/node_modules/.pnpm/@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js +862 -0
- package/dist/esm/node_modules/.pnpm/@lezer_highlight@1.2.0/node_modules/@lezer/highlight/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js +37 -0
- package/dist/esm/node_modules/.pnpm/@lezer_json@1.0.1/node_modules/@lezer/json/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js +1786 -0
- package/dist/esm/node_modules/.pnpm/@lezer_lr@1.3.14/node_modules/@lezer/lr/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js +79 -0
- package/dist/esm/node_modules/.pnpm/codemirror@6.0.1_@lezer_common@1.1.1/node_modules/codemirror/dist/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js +30 -0
- package/dist/esm/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js +175 -0
- package/dist/esm/node_modules/.pnpm/style-mod@4.1.0/node_modules/style-mod/src/style-mod.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js +17 -0
- package/dist/esm/node_modules/.pnpm/vue-codemirror@6.1.1_codemirror@6.0.1_vue@3.3.4/node_modules/vue-codemirror/dist/vue-codemirror.esm.js.map +1 -0
- package/dist/esm/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js +122 -0
- package/dist/esm/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.js.map +1 -0
- package/dist/esm/page/index/dv/default/add.vue2.js +1 -1
- package/dist/esm/page/index/dv/default/add.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue.js +7 -0
- package/dist/esm/page/index/dv/default/single/list/dialog.vue.js.map +1 -0
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +224 -0
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -0
- package/dist/esm/page/index/dv/default/single/list/normal.vue.js +7 -0
- package/dist/esm/page/index/dv/default/single/list/normal.vue.js.map +1 -0
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +172 -0
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -0
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue.js +7 -0
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue.js.map +1 -0
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +108 -0
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -0
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue.js +7 -0
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue.js.map +1 -0
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +245 -0
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -0
- package/dist/esm/page/index/dv/default/table.vue.js +7 -0
- package/dist/esm/page/index/dv/default/table.vue.js.map +1 -0
- package/dist/esm/{layouts/default/components/menu/menu-item.js → page/index/dv/default/table.vue2.js} +53 -51
- package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -0
- package/dist/esm/page/index/dv/local-log/index.vue.js +7 -0
- package/dist/esm/page/index/dv/local-log/index.vue2.js +173 -0
- package/dist/esm/page/index/dv/local-log/index.vue2.js.map +1 -0
- package/dist/esm/page/index/dv/ms-member/index.vue2.js +2 -2
- package/dist/esm/page/index/dv/ms-member/index.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/ms-role/index.vue2.js +24 -13
- package/dist/esm/page/index/dv/ms-role/index.vue2.js.map +1 -1
- package/dist/esm/page/index/material/index.vue2.js +11 -5
- package/dist/esm/page/index/material/index.vue2.js.map +1 -1
- package/dist/esm/page/index.vue2.js +2 -9
- package/dist/esm/page/index.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js +2 -5
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js +2 -4
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/style/components/code-mirror.css +0 -0
- package/dist/style/components/data-form-page.css +1 -1
- package/dist/style/components/data-table-page.css +1 -1
- package/dist/style/components/index.css +1 -1
- package/dist/style/components/table/column-json.css +1 -0
- package/dist/style/components/table/column-text.css +1 -0
- package/dist/style/components/table/index.css +1 -1
- package/dist/style/index.css +2 -2
- package/dist/style/page/dv/index.css +1 -0
- package/dist/style/page/dv/local-log.css +1 -0
- package/dist/style/page/index.css +1 -0
- package/dist/style/src/components/code-mirror.scss +0 -0
- package/dist/style/src/components/data-form-page.scss +1 -0
- package/dist/style/src/components/data-table-page.scss +2 -4
- package/dist/style/src/components/data-table.scss +1 -2
- package/dist/style/src/components/index.scss +1 -1
- package/dist/style/src/components/table/column-json.scss +7 -0
- package/dist/style/src/components/table/column-text.scss +3 -0
- package/dist/style/src/components/table/index.scss +2 -0
- package/dist/style/src/index.scss +1 -1
- package/dist/style/src/page/dv/index.scss +1 -0
- package/dist/style/src/page/dv/local-log.scss +13 -0
- package/dist/style/src/page/index.scss +2 -0
- package/dist/style/src/theme/theme.scss +13 -3
- package/dist/style/theme/theme.css +1 -1
- package/package.json +10 -8
- package/src/components/column-components/column-json/column-json-options.ts +13 -0
- package/src/components/column-components/column-json/column-json.tsx +41 -0
- package/src/components/column-components/column-json/index.ts +8 -0
- package/src/components/column-components/column-text/column-text.tsx +1 -1
- package/src/components/column-components/index.ts +1 -0
- package/src/components/data-model/data-form/views/form/form.tsx +47 -21
- package/src/components/data-model/data-form/views/form-view/form-view.tsx +1 -3
- package/src/components/data-model/data-table/data-table-column/data-table-column.tsx +1 -1
- package/src/components/data-model/data-table/data-table.tsx +1 -1
- package/src/components/data-model/data-table/views/index.ts +4 -0
- package/src/components/data-model/data-table/views/table/index.ts +4 -5
- package/src/components/data-model/data-table/views/table/table-options.ts +12 -0
- package/src/components/data-model/data-table/views/table/table.tsx +82 -0
- package/src/components/data-model/data-table/views/table-tree/index.ts +8 -0
- package/src/components/data-model/data-table/views/table-tree/table-tree-options.ts +12 -0
- package/src/components/data-model/data-table/views/table-tree/table-tree.tsx +104 -0
- package/src/components/data-model/data-table/views/table-view/index.ts +8 -0
- package/src/components/data-model/data-table/views/{table → table-view}/table-view.tsx +12 -74
- package/src/components/data-model/data-table/views/tree/index.ts +8 -0
- package/src/components/data-model/data-table/views/tree/tree-options.ts +14 -0
- package/src/components/data-model/data-table/views/tree/tree.tsx +131 -0
- package/src/components/data-model/data-table/views/tree-view/index.ts +8 -0
- package/src/components/data-model/data-table/views/tree-view/tree-view-options.ts +16 -0
- package/src/components/data-model/data-table/views/tree-view/tree-view.tsx +81 -0
- package/src/components/data-model/data-table-page/data-table-page-options.ts +2 -0
- package/src/components/data-model/data-table-page/data-table-page.tsx +2 -1
- package/src/components/data-model/index.ts +0 -2
- package/src/components/form-components/form-detail/form-detail.tsx +10 -8
- package/src/components/index.ts +1 -2
- package/src/components/json-editor/index.ts +6 -0
- package/src/components/json-editor/json-editor-options.ts +21 -0
- package/src/components/json-editor/json-editor.tsx +27 -0
- package/src/components/markdown-editor/markdown-editor.tsx +0 -4
- package/src/components/material-list/material-group-form-popover.vue +1 -1
- package/src/components/material-list/material-group.vue +42 -41
- package/src/components/role-permission-config/role-permission-config.tsx +0 -1
- package/src/constants/index.ts +3 -0
- package/src/constants/log.ts +5 -0
- package/src/constants/pattern.ts +4 -0
- package/src/constants/region.ts +6 -0
- package/src/core/DataModelDefines.ts +20 -1
- package/src/core/PageManager.ts +17 -6
- package/src/core/Router.ts +68 -13
- package/src/core/component/ConfigComponents.ts +5 -2
- package/src/core/component/DataTableComponents.ts +8 -0
- package/src/dataview/config/ConfigForm.ts +6 -5
- package/src/dataview/config/ConfigTable.ts +4 -0
- package/src/dataview/deny-ip-access-list/DenyIPAccessListForm.ts +9 -1
- package/src/dataview/deny-ip-access-list/DenyIPAccessListTable.ts +2 -0
- package/src/dataview/department/DepartmentForm.ts +2 -0
- package/src/dataview/department/DepartmentTable.ts +3 -2
- package/src/dataview/department/DepartmentTree.ts +47 -0
- package/src/dataview/department/index.ts +1 -0
- package/src/dataview/index.ts +2 -0
- package/src/dataview/ip-white-list/IPWhitelistForm.ts +9 -1
- package/src/dataview/ip-white-list/IPWhitelistTable.ts +2 -0
- package/src/dataview/log/index.ts +4 -0
- package/src/dataview/log/local-log/LocalLogTree.ts +77 -0
- package/src/dataview/log/local-log/index.ts +1 -0
- package/src/dataview/log/login-log/LoginLogTable.ts +55 -0
- package/src/dataview/log/login-log/index.ts +1 -0
- package/src/dataview/log/operate-log/OperateLogTable.ts +20 -0
- package/src/dataview/log/operate-log/index.ts +1 -0
- package/src/dataview/log/request-log/RequestLogTable.ts +82 -0
- package/src/dataview/log/request-log/index.ts +1 -0
- package/src/dataview/material/MaterialForm.ts +2 -0
- package/src/dataview/material/MaterialMan.ts +34 -24
- package/src/dataview/material/MaterialTable.ts +2 -0
- package/src/dataview/material/material-group/MaterialGroupForm.ts +2 -0
- package/src/dataview/material/material-group/MaterialGroupTable.ts +2 -0
- package/src/dataview/material/material-group/MaterialGroupTree.ts +67 -0
- package/src/dataview/material/material-group/index.ts +2 -1
- package/src/dataview/member/MemberForm.ts +9 -4
- package/src/dataview/member/MemberTable.tsx +14 -7
- package/src/dataview/member/member-role/MemberRoleTable.ts +2 -0
- package/src/dataview/menu/MenuForm.ts +14 -7
- package/src/dataview/menu/MenuTable.ts +2 -0
- package/src/dataview/menu/MenuTree.ts +86 -117
- package/src/dataview/menu/permission-point/PermissionPointDefineForm.ts +2 -0
- package/src/dataview/menu/permission-point/PermissionPointDefineTable.ts +2 -0
- package/src/dataview/region/RegionForm.ts +52 -0
- package/src/dataview/region/RegionTable.ts +64 -0
- package/src/dataview/region/index.ts +2 -0
- package/src/dataview/role/RoleForm.ts +2 -1
- package/src/dataview/role/RolePermissionConfigTable.ts +6 -4
- package/src/dataview/role/RoleTable.ts +2 -0
- package/src/dataview/role/role-permission-point/RolePermissionPointTable.ts +2 -0
- package/src/dataview/role/role-route/RoleRouteTable.ts +2 -0
- package/src/dataview/route/RouteForm.ts +2 -0
- package/src/dataview/route/RouteTable.ts +2 -0
- package/src/define-data-tree.ts +12 -0
- package/src/index.ts +1 -0
- package/src/installer.ts +0 -4
- package/src/layouts/{default/components → components}/bar/index.tsx +3 -3
- package/src/layouts/{default/components → components}/header/tools.tsx +2 -2
- package/src/layouts/{default/components → components}/menu/index.tsx +1 -1
- package/src/layouts/{default/components → components}/menu/menu-item.tsx +2 -2
- package/src/layouts/{default/index.tsx → container/default.tsx} +2 -2
- package/src/layouts/index.ts +6 -1
- package/src/layouts/layout.tsx +11 -0
- package/src/page/index/dv/default/add.vue +1 -1
- package/src/page/index/dv/default/edit.vue +1 -1
- package/src/page/index/dv/default/single/list/dialog.vue +152 -0
- package/src/page/index/dv/default/single/list/normal.vue +126 -0
- package/src/page/index/dv/default/single/table-tree/dialog.vue +60 -0
- package/src/page/index/dv/default/single/tree/dialog.vue +174 -0
- package/src/page/index/dv/default/{index.vue → table.vue} +4 -13
- package/src/page/index/dv/local-log/index.vue +98 -0
- package/src/page/index/dv/ms-member/index.vue +2 -2
- package/src/page/index/dv/ms-role/index.vue +7 -3
- package/src/page/index.vue +3 -11
- package/src/page/login/index.vue +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search-item/index.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/classify-search/classify-search.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/classify-search/index.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/composables/index.d.ts +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/composables/index.js +0 -9
- package/dist/cjs/components/data-model/data-table/views/table/search/composables/use-condition.d.ts +0 -16
- package/dist/cjs/components/data-model/data-table/views/table/search/composables/use-condition.js +0 -53
- package/dist/cjs/components/data-model/data-table/views/table/search/composables/use-condition.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/index.d.ts +0 -23
- package/dist/cjs/components/data-model/data-table/views/table/search/index.js +0 -28
- package/dist/cjs/components/data-model/data-table/views/table/search/index.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/operator-options.d.ts +0 -16
- package/dist/cjs/components/data-model/data-table/views/table/search/operator-options.js +0 -72
- package/dist/cjs/components/data-model/data-table/views/table/search/operator-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/index.d.ts +0 -26
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/index.js +0 -11
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/index.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.d.ts +0 -17
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js +0 -17
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer.d.ts +0 -26
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js +0 -105
- package/dist/cjs/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/index.d.ts +0 -34
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/index.js +0 -11
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/index.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item-options.d.ts +0 -21
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item-options.js +0 -16
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item.js +0 -118
- package/dist/cjs/components/data-model/data-table/views/table/search/search-item/search-item.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search-options.d.ts +0 -15
- package/dist/cjs/components/data-model/data-table/views/table/search/search-options.js +0 -18
- package/dist/cjs/components/data-model/data-table/views/table/search/search-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/search.d.ts +0 -20
- package/dist/cjs/components/data-model/data-table/views/table/search/search.js +0 -255
- package/dist/cjs/components/data-model/data-table/views/table/search/search.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/search/token.d.ts +0 -21
- package/dist/cjs/components/data-model/data-table/views/table/search/token.js +0 -8
- package/dist/cjs/components/data-model/data-table/views/table/search/token.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/table-view-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/table-view.js.map +0 -1
- package/dist/cjs/components/data-model/data-tree/data-tree-options.d.ts +0 -23
- package/dist/cjs/components/data-model/data-tree/data-tree-options.js +0 -21
- package/dist/cjs/components/data-model/data-tree/data-tree-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-tree/data-tree.js +0 -127
- package/dist/cjs/components/data-model/data-tree/data-tree.js.map +0 -1
- package/dist/cjs/components/data-model/data-tree/index.js +0 -14
- package/dist/cjs/components/data-model/data-tree/index.js.map +0 -1
- package/dist/cjs/components/data-model/data-tree-page/data-tree-page-options.d.ts +0 -29
- package/dist/cjs/components/data-model/data-tree-page/data-tree-page-options.js +0 -22
- package/dist/cjs/components/data-model/data-tree-page/data-tree-page-options.js.map +0 -1
- package/dist/cjs/components/data-model/data-tree-page/data-tree-page.d.ts +0 -56
- package/dist/cjs/components/data-model/data-tree-page/data-tree-page.js +0 -175
- package/dist/cjs/components/data-model/data-tree-page/data-tree-page.js.map +0 -1
- package/dist/cjs/components/data-model/data-tree-page/index.d.ts +0 -56
- package/dist/cjs/components/data-model/data-tree-page/index.js +0 -12
- package/dist/cjs/components/data-model/data-tree-page/index.js.map +0 -1
- package/dist/cjs/components/member-table/index.d.ts +0 -5
- package/dist/cjs/components/member-table/index.js +0 -12
- package/dist/cjs/components/member-table/index.js.map +0 -1
- package/dist/cjs/components/member-table/member-table.vue.d.ts +0 -5
- package/dist/cjs/components/member-table/member-table.vue.js +0 -9
- package/dist/cjs/components/member-table/member-table.vue.js.map +0 -1
- package/dist/cjs/components/member-table/member-table.vue2.js +0 -313
- package/dist/cjs/components/member-table/member-table.vue2.js.map +0 -1
- package/dist/cjs/components/menu-permission-table/index.d.ts +0 -2
- package/dist/cjs/components/menu-permission-table/index.js +0 -12
- package/dist/cjs/components/menu-permission-table/index.js.map +0 -1
- package/dist/cjs/components/menu-permission-table/menu-permission-table.vue.js +0 -9
- package/dist/cjs/components/menu-permission-table/menu-permission-table.vue.js.map +0 -1
- package/dist/cjs/components/menu-permission-table/menu-permission-table.vue2.js +0 -225
- package/dist/cjs/components/menu-permission-table/menu-permission-table.vue2.js.map +0 -1
- package/dist/cjs/layouts/common/lock/index.js.map +0 -1
- package/dist/cjs/layouts/common/lock/lock.js.map +0 -1
- package/dist/cjs/layouts/default/components/bar/index.js +0 -132
- package/dist/cjs/layouts/default/components/bar/index.js.map +0 -1
- package/dist/cjs/layouts/default/components/header/index.js.map +0 -1
- package/dist/cjs/layouts/default/components/header/tools.js +0 -101
- package/dist/cjs/layouts/default/components/header/tools.js.map +0 -1
- package/dist/cjs/layouts/default/components/menu/index.js.map +0 -1
- package/dist/cjs/layouts/default/components/menu/menu-item.js.map +0 -1
- package/dist/cjs/layouts/default/index.js.map +0 -1
- package/dist/cjs/page/index/dv/default/index.vue.js +0 -9
- package/dist/cjs/page/index/dv/default/index.vue2.js +0 -60
- package/dist/cjs/page/index/dv/default/index.vue2.js.map +0 -1
- package/dist/cjs/page/index/dv/default/tree.vue.js +0 -9
- package/dist/cjs/page/index/dv/default/tree.vue.js.map +0 -1
- package/dist/cjs/page/index/dv/default/tree.vue2.js +0 -40
- package/dist/cjs/page/index/dv/default/tree.vue2.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item-options.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search-item/classify-search-item.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search-item/index.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/classify-search/classify-search.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/classify-search/index.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/composables/index.d.ts +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/composables/index.js +0 -2
- package/dist/esm/components/data-model/data-table/views/table/search/composables/use-condition.d.ts +0 -16
- package/dist/esm/components/data-model/data-table/views/table/search/composables/use-condition.js +0 -50
- package/dist/esm/components/data-model/data-table/views/table/search/composables/use-condition.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/index.d.ts +0 -23
- package/dist/esm/components/data-model/data-table/views/table/search/index.js +0 -9
- package/dist/esm/components/data-model/data-table/views/table/search/index.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/operator-options.d.ts +0 -16
- package/dist/esm/components/data-model/data-table/views/table/search/operator-options.js +0 -61
- package/dist/esm/components/data-model/data-table/views/table/search/operator-options.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/index.d.ts +0 -26
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/index.js +0 -6
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/index.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.d.ts +0 -17
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js +0 -14
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer.d.ts +0 -26
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js +0 -103
- package/dist/esm/components/data-model/data-table/views/table/search/search-drawer/search-drawer.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/index.d.ts +0 -34
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/index.js +0 -6
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/index.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item-options.d.ts +0 -21
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item-options.js +0 -13
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item-options.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item.js +0 -116
- package/dist/esm/components/data-model/data-table/views/table/search/search-item/search-item.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search-options.d.ts +0 -15
- package/dist/esm/components/data-model/data-table/views/table/search/search-options.js +0 -15
- package/dist/esm/components/data-model/data-table/views/table/search/search-options.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/search.d.ts +0 -20
- package/dist/esm/components/data-model/data-table/views/table/search/search.js +0 -253
- package/dist/esm/components/data-model/data-table/views/table/search/search.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/search/token.d.ts +0 -21
- package/dist/esm/components/data-model/data-table/views/table/search/token.js +0 -5
- package/dist/esm/components/data-model/data-table/views/table/search/token.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/table-view-options.js.map +0 -1
- package/dist/esm/components/data-model/data-table/views/table/table-view.js.map +0 -1
- package/dist/esm/components/data-model/data-tree/data-tree-options.d.ts +0 -23
- package/dist/esm/components/data-model/data-tree/data-tree-options.js +0 -19
- package/dist/esm/components/data-model/data-tree/data-tree-options.js.map +0 -1
- package/dist/esm/components/data-model/data-tree/data-tree.js +0 -125
- package/dist/esm/components/data-model/data-tree/data-tree.js.map +0 -1
- package/dist/esm/components/data-model/data-tree/index.js +0 -8
- package/dist/esm/components/data-model/data-tree/index.js.map +0 -1
- package/dist/esm/components/data-model/data-tree-page/data-tree-page-options.d.ts +0 -29
- package/dist/esm/components/data-model/data-tree-page/data-tree-page-options.js +0 -20
- package/dist/esm/components/data-model/data-tree-page/data-tree-page-options.js.map +0 -1
- package/dist/esm/components/data-model/data-tree-page/data-tree-page.d.ts +0 -56
- package/dist/esm/components/data-model/data-tree-page/data-tree-page.js +0 -173
- package/dist/esm/components/data-model/data-tree-page/data-tree-page.js.map +0 -1
- package/dist/esm/components/data-model/data-tree-page/index.d.ts +0 -56
- package/dist/esm/components/data-model/data-tree-page/index.js +0 -7
- package/dist/esm/components/data-model/data-tree-page/index.js.map +0 -1
- package/dist/esm/components/member-table/index.d.ts +0 -5
- package/dist/esm/components/member-table/index.js +0 -7
- package/dist/esm/components/member-table/index.js.map +0 -1
- package/dist/esm/components/member-table/member-table.vue.d.ts +0 -5
- package/dist/esm/components/member-table/member-table.vue.js +0 -7
- package/dist/esm/components/member-table/member-table.vue.js.map +0 -1
- package/dist/esm/components/member-table/member-table.vue2.js +0 -311
- package/dist/esm/components/member-table/member-table.vue2.js.map +0 -1
- package/dist/esm/components/menu-permission-table/index.d.ts +0 -2
- package/dist/esm/components/menu-permission-table/index.js +0 -7
- package/dist/esm/components/menu-permission-table/index.js.map +0 -1
- package/dist/esm/components/menu-permission-table/menu-permission-table.vue.js +0 -7
- package/dist/esm/components/menu-permission-table/menu-permission-table.vue.js.map +0 -1
- package/dist/esm/components/menu-permission-table/menu-permission-table.vue2.js +0 -223
- package/dist/esm/components/menu-permission-table/menu-permission-table.vue2.js.map +0 -1
- package/dist/esm/layouts/common/lock/index.js.map +0 -1
- package/dist/esm/layouts/common/lock/lock.js.map +0 -1
- package/dist/esm/layouts/default/components/bar/index.js +0 -130
- package/dist/esm/layouts/default/components/bar/index.js.map +0 -1
- package/dist/esm/layouts/default/components/header/index.js.map +0 -1
- package/dist/esm/layouts/default/components/header/tools.js +0 -99
- package/dist/esm/layouts/default/components/header/tools.js.map +0 -1
- package/dist/esm/layouts/default/components/menu/index.js.map +0 -1
- package/dist/esm/layouts/default/components/menu/menu-item.js.map +0 -1
- package/dist/esm/layouts/default/index.js.map +0 -1
- package/dist/esm/page/index/dv/default/index.vue.js +0 -7
- package/dist/esm/page/index/dv/default/index.vue2.js +0 -58
- package/dist/esm/page/index/dv/default/index.vue2.js.map +0 -1
- package/dist/esm/page/index/dv/default/tree.vue.js +0 -7
- package/dist/esm/page/index/dv/default/tree.vue.js.map +0 -1
- package/dist/esm/page/index/dv/default/tree.vue2.js +0 -38
- package/dist/esm/page/index/dv/default/tree.vue2.js.map +0 -1
- package/src/components/data-model/data-table/views/table/search/composables/index.ts +0 -1
- package/src/components/data-model/data-table/views/table/search/composables/use-condition.ts +0 -65
- package/src/components/data-model/data-table/views/table/search/index.ts +0 -9
- package/src/components/data-model/data-table/views/table/search/operator-options.ts +0 -69
- package/src/components/data-model/data-table/views/table/search/search-drawer/index.ts +0 -5
- package/src/components/data-model/data-table/views/table/search/search-drawer/search-drawer-options.ts +0 -17
- package/src/components/data-model/data-table/views/table/search/search-drawer/search-drawer.tsx +0 -130
- package/src/components/data-model/data-table/views/table/search/search-item/index.ts +0 -5
- package/src/components/data-model/data-table/views/table/search/search-item/search-item-options.ts +0 -16
- package/src/components/data-model/data-table/views/table/search/search-item/search-item.tsx +0 -160
- package/src/components/data-model/data-table/views/table/search/search-options.ts +0 -18
- package/src/components/data-model/data-table/views/table/search/search.tsx +0 -338
- package/src/components/data-model/data-table/views/table/search/token.ts +0 -28
- package/src/components/data-model/data-tree/data-tree-options.ts +0 -19
- package/src/components/data-model/data-tree/data-tree.tsx +0 -176
- package/src/components/data-model/data-tree/index.ts +0 -7
- package/src/components/data-model/data-tree-page/data-tree-page-options.ts +0 -20
- package/src/components/data-model/data-tree-page/data-tree-page.tsx +0 -205
- package/src/components/data-model/data-tree-page/index.ts +0 -5
- package/src/components/member-table/index.ts +0 -6
- package/src/components/member-table/member-table.vue +0 -220
- package/src/components/menu-permission-table/index.ts +0 -6
- package/src/components/menu-permission-table/menu-permission-table.vue +0 -147
- package/src/page/index/dv/default/tree.vue +0 -32
- /package/dist/{esm/components/data-model/data-table/views/table/table-view.d.ts → cjs/components/data-model/data-table/views/table/table.d.ts} +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.d.ts +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.js +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.d.ts +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.js +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.d.ts +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.js +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.d.ts +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.js +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/index.d.ts +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/classify-search/index.js +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/table-view-options.d.ts +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/table-view-options.js +0 -0
- /package/dist/cjs/components/data-model/data-table/views/{table → table-view}/table-view.d.ts +0 -0
- /package/dist/cjs/{layouts/default/components → dataview/region}/index.js.map +0 -0
- /package/dist/cjs/layouts/{default/components → components}/header/index.d.ts +0 -0
- /package/dist/cjs/layouts/{default/components → components}/header/index.js +0 -0
- /package/dist/cjs/layouts/{default/components → components}/header/tools.d.ts +0 -0
- /package/dist/cjs/layouts/{default/components → components}/index.d.ts +0 -0
- /package/dist/cjs/layouts/{default/components → components}/index.js +0 -0
- /package/dist/cjs/layouts/{common → components}/lock/index.d.ts +0 -0
- /package/dist/cjs/layouts/{common → components}/lock/index.js +0 -0
- /package/dist/cjs/layouts/{common → components}/lock/lock.d.ts +0 -0
- /package/dist/cjs/layouts/{default/index.d.ts → container/default.d.ts} +0 -0
- /package/dist/{esm/components/data-model/data-table/views/table/classify-search/classify-search.d.ts → cjs/layouts/layout.d.ts} +0 -0
- /package/dist/cjs/{components/menu-permission-table/menu-permission-table.vue.d.ts → page/index/dv/default/single/tree/dialog.vue.d.ts} +0 -0
- /package/dist/cjs/page/index/dv/{default/tree.vue.d.ts → local-log/index.vue.d.ts} +0 -0
- /package/dist/cjs/page/index/dv/{default → local-log}/index.vue.js.map +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.d.ts +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.js +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.d.ts +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.js +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.d.ts +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.js +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.js +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/index.d.ts +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/classify-search/index.js +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/table-view-options.d.ts +0 -0
- /package/dist/esm/components/data-model/data-table/views/{table → table-view}/table-view-options.js +0 -0
- /package/dist/esm/{components/data-model/data-table/views/table/search/composables → dataview/log/local-log}/index.js.map +0 -0
- /package/dist/esm/{layouts/default/components → dataview/region}/index.js.map +0 -0
- /package/dist/esm/layouts/{default/components → components}/header/index.d.ts +0 -0
- /package/dist/esm/layouts/{default/components → components}/header/index.js +0 -0
- /package/dist/esm/layouts/{default/components → components}/header/tools.d.ts +0 -0
- /package/dist/esm/layouts/{default/components → components}/index.d.ts +0 -0
- /package/dist/esm/layouts/{default/components → components}/index.js +0 -0
- /package/dist/esm/layouts/{common → components}/lock/index.d.ts +0 -0
- /package/dist/esm/layouts/{common → components}/lock/index.js +0 -0
- /package/dist/esm/layouts/{common → components}/lock/lock.d.ts +0 -0
- /package/dist/esm/layouts/{default/index.d.ts → container/default.d.ts} +0 -0
- /package/dist/esm/{components/menu-permission-table/menu-permission-table.vue.d.ts → page/index/dv/default/single/tree/dialog.vue.d.ts} +0 -0
- /package/dist/esm/page/index/dv/{default/tree.vue.d.ts → local-log/index.vue.d.ts} +0 -0
- /package/dist/esm/page/index/dv/{default → local-log}/index.vue.js.map +0 -0
- /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item-options.ts +0 -0
- /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/classify-search-item.tsx +0 -0
- /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search-item/index.ts +0 -0
- /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/classify-search.tsx +0 -0
- /package/src/components/data-model/data-table/views/{table → table-view}/classify-search/index.ts +0 -0
- /package/src/components/data-model/data-table/views/{table → table-view}/table-view-options.ts +0 -0
- /package/src/layouts/{default/components → components}/header/index.tsx +0 -0
- /package/src/layouts/{default/components → components}/index.ts +0 -0
- /package/src/layouts/{common → components}/lock/index.ts +0 -0
- /package/src/layouts/{common → components}/lock/lock.tsx +0 -0
|
@@ -0,0 +1,1786 @@
|
|
|
1
|
+
import { Parser, NodeSet, NodeType, DefaultBufferLength, NodeProp, Tree, IterMode } from '../../../../../@lezer_common@1.1.1/node_modules/@lezer/common/dist/index.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
A parse stack. These are used internally by the parser to track
|
|
5
|
+
parsing progress. They also provide some properties and methods
|
|
6
|
+
that external code such as a tokenizer can use to get information
|
|
7
|
+
about the parse state.
|
|
8
|
+
*/
|
|
9
|
+
class Stack {
|
|
10
|
+
/**
|
|
11
|
+
@internal
|
|
12
|
+
*/
|
|
13
|
+
constructor(
|
|
14
|
+
/**
|
|
15
|
+
The parse that this stack is part of @internal
|
|
16
|
+
*/
|
|
17
|
+
p,
|
|
18
|
+
/**
|
|
19
|
+
Holds state, input pos, buffer index triplets for all but the
|
|
20
|
+
top state @internal
|
|
21
|
+
*/
|
|
22
|
+
stack,
|
|
23
|
+
/**
|
|
24
|
+
The current parse state @internal
|
|
25
|
+
*/
|
|
26
|
+
state,
|
|
27
|
+
// The position at which the next reduce should take place. This
|
|
28
|
+
// can be less than `this.pos` when skipped expressions have been
|
|
29
|
+
// added to the stack (which should be moved outside of the next
|
|
30
|
+
// reduction)
|
|
31
|
+
/**
|
|
32
|
+
@internal
|
|
33
|
+
*/
|
|
34
|
+
reducePos,
|
|
35
|
+
/**
|
|
36
|
+
The input position up to which this stack has parsed.
|
|
37
|
+
*/
|
|
38
|
+
pos,
|
|
39
|
+
/**
|
|
40
|
+
The dynamic score of the stack, including dynamic precedence
|
|
41
|
+
and error-recovery penalties
|
|
42
|
+
@internal
|
|
43
|
+
*/
|
|
44
|
+
score,
|
|
45
|
+
// The output buffer. Holds (type, start, end, size) quads
|
|
46
|
+
// representing nodes created by the parser, where `size` is
|
|
47
|
+
// amount of buffer array entries covered by this node.
|
|
48
|
+
/**
|
|
49
|
+
@internal
|
|
50
|
+
*/
|
|
51
|
+
buffer,
|
|
52
|
+
// The base offset of the buffer. When stacks are split, the split
|
|
53
|
+
// instance shared the buffer history with its parent up to
|
|
54
|
+
// `bufferBase`, which is the absolute offset (including the
|
|
55
|
+
// offset of previous splits) into the buffer at which this stack
|
|
56
|
+
// starts writing.
|
|
57
|
+
/**
|
|
58
|
+
@internal
|
|
59
|
+
*/
|
|
60
|
+
bufferBase,
|
|
61
|
+
/**
|
|
62
|
+
@internal
|
|
63
|
+
*/
|
|
64
|
+
curContext,
|
|
65
|
+
/**
|
|
66
|
+
@internal
|
|
67
|
+
*/
|
|
68
|
+
lookAhead = 0,
|
|
69
|
+
// A parent stack from which this was split off, if any. This is
|
|
70
|
+
// set up so that it always points to a stack that has some
|
|
71
|
+
// additional buffer content, never to a stack with an equal
|
|
72
|
+
// `bufferBase`.
|
|
73
|
+
/**
|
|
74
|
+
@internal
|
|
75
|
+
*/
|
|
76
|
+
parent) {
|
|
77
|
+
this.p = p;
|
|
78
|
+
this.stack = stack;
|
|
79
|
+
this.state = state;
|
|
80
|
+
this.reducePos = reducePos;
|
|
81
|
+
this.pos = pos;
|
|
82
|
+
this.score = score;
|
|
83
|
+
this.buffer = buffer;
|
|
84
|
+
this.bufferBase = bufferBase;
|
|
85
|
+
this.curContext = curContext;
|
|
86
|
+
this.lookAhead = lookAhead;
|
|
87
|
+
this.parent = parent;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
@internal
|
|
91
|
+
*/
|
|
92
|
+
toString() {
|
|
93
|
+
return `[${this.stack.filter((_, i) => i % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`;
|
|
94
|
+
}
|
|
95
|
+
// Start an empty stack
|
|
96
|
+
/**
|
|
97
|
+
@internal
|
|
98
|
+
*/
|
|
99
|
+
static start(p, state, pos = 0) {
|
|
100
|
+
let cx = p.parser.context;
|
|
101
|
+
return new Stack(p, [], state, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
The stack's current [context](#lr.ContextTracker) value, if
|
|
105
|
+
any. Its type will depend on the context tracker's type
|
|
106
|
+
parameter, or it will be `null` if there is no context
|
|
107
|
+
tracker.
|
|
108
|
+
*/
|
|
109
|
+
get context() { return this.curContext ? this.curContext.context : null; }
|
|
110
|
+
// Push a state onto the stack, tracking its start position as well
|
|
111
|
+
// as the buffer base at that point.
|
|
112
|
+
/**
|
|
113
|
+
@internal
|
|
114
|
+
*/
|
|
115
|
+
pushState(state, start) {
|
|
116
|
+
this.stack.push(this.state, start, this.bufferBase + this.buffer.length);
|
|
117
|
+
this.state = state;
|
|
118
|
+
}
|
|
119
|
+
// Apply a reduce action
|
|
120
|
+
/**
|
|
121
|
+
@internal
|
|
122
|
+
*/
|
|
123
|
+
reduce(action) {
|
|
124
|
+
var _a;
|
|
125
|
+
let depth = action >> 19 /* Action.ReduceDepthShift */, type = action & 65535 /* Action.ValueMask */;
|
|
126
|
+
let { parser } = this.p;
|
|
127
|
+
let dPrec = parser.dynamicPrecedence(type);
|
|
128
|
+
if (dPrec)
|
|
129
|
+
this.score += dPrec;
|
|
130
|
+
if (depth == 0) {
|
|
131
|
+
this.pushState(parser.getGoto(this.state, type, true), this.reducePos);
|
|
132
|
+
// Zero-depth reductions are a special case—they add stuff to
|
|
133
|
+
// the stack without popping anything off.
|
|
134
|
+
if (type < parser.minRepeatTerm)
|
|
135
|
+
this.storeNode(type, this.reducePos, this.reducePos, 4, true);
|
|
136
|
+
this.reduceContext(type, this.reducePos);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// Find the base index into `this.stack`, content after which will
|
|
140
|
+
// be dropped. Note that with `StayFlag` reductions we need to
|
|
141
|
+
// consume two extra frames (the dummy parent node for the skipped
|
|
142
|
+
// expression and the state that we'll be staying in, which should
|
|
143
|
+
// be moved to `this.state`).
|
|
144
|
+
let base = this.stack.length - ((depth - 1) * 3) - (action & 262144 /* Action.StayFlag */ ? 6 : 0);
|
|
145
|
+
let start = base ? this.stack[base - 2] : this.p.ranges[0].from, size = this.reducePos - start;
|
|
146
|
+
// This is a kludge to try and detect overly deep left-associative
|
|
147
|
+
// trees, which will not increase the parse stack depth and thus
|
|
148
|
+
// won't be caught by the regular stack-depth limit check.
|
|
149
|
+
if (size >= 2000 /* Recover.MinBigReduction */ && !((_a = this.p.parser.nodeSet.types[type]) === null || _a === void 0 ? void 0 : _a.isAnonymous)) {
|
|
150
|
+
if (start == this.p.lastBigReductionStart) {
|
|
151
|
+
this.p.bigReductionCount++;
|
|
152
|
+
this.p.lastBigReductionSize = size;
|
|
153
|
+
}
|
|
154
|
+
else if (this.p.lastBigReductionSize < size) {
|
|
155
|
+
this.p.bigReductionCount = 1;
|
|
156
|
+
this.p.lastBigReductionStart = start;
|
|
157
|
+
this.p.lastBigReductionSize = size;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
let bufferBase = base ? this.stack[base - 1] : 0, count = this.bufferBase + this.buffer.length - bufferBase;
|
|
161
|
+
// Store normal terms or `R -> R R` repeat reductions
|
|
162
|
+
if (type < parser.minRepeatTerm || (action & 131072 /* Action.RepeatFlag */)) {
|
|
163
|
+
let pos = parser.stateFlag(this.state, 1 /* StateFlag.Skipped */) ? this.pos : this.reducePos;
|
|
164
|
+
this.storeNode(type, start, pos, count + 4, true);
|
|
165
|
+
}
|
|
166
|
+
if (action & 262144 /* Action.StayFlag */) {
|
|
167
|
+
this.state = this.stack[base];
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
let baseStateID = this.stack[base - 3];
|
|
171
|
+
this.state = parser.getGoto(baseStateID, type, true);
|
|
172
|
+
}
|
|
173
|
+
while (this.stack.length > base)
|
|
174
|
+
this.stack.pop();
|
|
175
|
+
this.reduceContext(type, start);
|
|
176
|
+
}
|
|
177
|
+
// Shift a value into the buffer
|
|
178
|
+
/**
|
|
179
|
+
@internal
|
|
180
|
+
*/
|
|
181
|
+
storeNode(term, start, end, size = 4, isReduce = false) {
|
|
182
|
+
if (term == 0 /* Term.Err */ &&
|
|
183
|
+
(!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
|
|
184
|
+
// Try to omit/merge adjacent error nodes
|
|
185
|
+
let cur = this, top = this.buffer.length;
|
|
186
|
+
if (top == 0 && cur.parent) {
|
|
187
|
+
top = cur.bufferBase - cur.parent.bufferBase;
|
|
188
|
+
cur = cur.parent;
|
|
189
|
+
}
|
|
190
|
+
if (top > 0 && cur.buffer[top - 4] == 0 /* Term.Err */ && cur.buffer[top - 1] > -1) {
|
|
191
|
+
if (start == end)
|
|
192
|
+
return;
|
|
193
|
+
if (cur.buffer[top - 2] >= start) {
|
|
194
|
+
cur.buffer[top - 2] = end;
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
if (!isReduce || this.pos == end) { // Simple case, just append
|
|
200
|
+
this.buffer.push(term, start, end, size);
|
|
201
|
+
}
|
|
202
|
+
else { // There may be skipped nodes that have to be moved forward
|
|
203
|
+
let index = this.buffer.length;
|
|
204
|
+
if (index > 0 && this.buffer[index - 4] != 0 /* Term.Err */)
|
|
205
|
+
while (index > 0 && this.buffer[index - 2] > end) {
|
|
206
|
+
// Move this record forward
|
|
207
|
+
this.buffer[index] = this.buffer[index - 4];
|
|
208
|
+
this.buffer[index + 1] = this.buffer[index - 3];
|
|
209
|
+
this.buffer[index + 2] = this.buffer[index - 2];
|
|
210
|
+
this.buffer[index + 3] = this.buffer[index - 1];
|
|
211
|
+
index -= 4;
|
|
212
|
+
if (size > 4)
|
|
213
|
+
size -= 4;
|
|
214
|
+
}
|
|
215
|
+
this.buffer[index] = term;
|
|
216
|
+
this.buffer[index + 1] = start;
|
|
217
|
+
this.buffer[index + 2] = end;
|
|
218
|
+
this.buffer[index + 3] = size;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Apply a shift action
|
|
222
|
+
/**
|
|
223
|
+
@internal
|
|
224
|
+
*/
|
|
225
|
+
shift(action, type, start, end) {
|
|
226
|
+
if (action & 131072 /* Action.GotoFlag */) {
|
|
227
|
+
this.pushState(action & 65535 /* Action.ValueMask */, this.pos);
|
|
228
|
+
}
|
|
229
|
+
else if ((action & 262144 /* Action.StayFlag */) == 0) { // Regular shift
|
|
230
|
+
let nextState = action, { parser } = this.p;
|
|
231
|
+
if (end > this.pos || type <= parser.maxNode) {
|
|
232
|
+
this.pos = end;
|
|
233
|
+
if (!parser.stateFlag(nextState, 1 /* StateFlag.Skipped */))
|
|
234
|
+
this.reducePos = end;
|
|
235
|
+
}
|
|
236
|
+
this.pushState(nextState, start);
|
|
237
|
+
this.shiftContext(type, start);
|
|
238
|
+
if (type <= parser.maxNode)
|
|
239
|
+
this.buffer.push(type, start, end, 4);
|
|
240
|
+
}
|
|
241
|
+
else { // Shift-and-stay, which means this is a skipped token
|
|
242
|
+
this.pos = end;
|
|
243
|
+
this.shiftContext(type, start);
|
|
244
|
+
if (type <= this.p.parser.maxNode)
|
|
245
|
+
this.buffer.push(type, start, end, 4);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
// Apply an action
|
|
249
|
+
/**
|
|
250
|
+
@internal
|
|
251
|
+
*/
|
|
252
|
+
apply(action, next, nextStart, nextEnd) {
|
|
253
|
+
if (action & 65536 /* Action.ReduceFlag */)
|
|
254
|
+
this.reduce(action);
|
|
255
|
+
else
|
|
256
|
+
this.shift(action, next, nextStart, nextEnd);
|
|
257
|
+
}
|
|
258
|
+
// Add a prebuilt (reused) node into the buffer.
|
|
259
|
+
/**
|
|
260
|
+
@internal
|
|
261
|
+
*/
|
|
262
|
+
useNode(value, next) {
|
|
263
|
+
let index = this.p.reused.length - 1;
|
|
264
|
+
if (index < 0 || this.p.reused[index] != value) {
|
|
265
|
+
this.p.reused.push(value);
|
|
266
|
+
index++;
|
|
267
|
+
}
|
|
268
|
+
let start = this.pos;
|
|
269
|
+
this.reducePos = this.pos = start + value.length;
|
|
270
|
+
this.pushState(next, start);
|
|
271
|
+
this.buffer.push(index, start, this.reducePos, -1 /* size == -1 means this is a reused value */);
|
|
272
|
+
if (this.curContext)
|
|
273
|
+
this.updateContext(this.curContext.tracker.reuse(this.curContext.context, value, this, this.p.stream.reset(this.pos - value.length)));
|
|
274
|
+
}
|
|
275
|
+
// Split the stack. Due to the buffer sharing and the fact
|
|
276
|
+
// that `this.stack` tends to stay quite shallow, this isn't very
|
|
277
|
+
// expensive.
|
|
278
|
+
/**
|
|
279
|
+
@internal
|
|
280
|
+
*/
|
|
281
|
+
split() {
|
|
282
|
+
let parent = this;
|
|
283
|
+
let off = parent.buffer.length;
|
|
284
|
+
// Because the top of the buffer (after this.pos) may be mutated
|
|
285
|
+
// to reorder reductions and skipped tokens, and shared buffers
|
|
286
|
+
// should be immutable, this copies any outstanding skipped tokens
|
|
287
|
+
// to the new buffer, and puts the base pointer before them.
|
|
288
|
+
while (off > 0 && parent.buffer[off - 2] > parent.reducePos)
|
|
289
|
+
off -= 4;
|
|
290
|
+
let buffer = parent.buffer.slice(off), base = parent.bufferBase + off;
|
|
291
|
+
// Make sure parent points to an actual parent with content, if there is such a parent.
|
|
292
|
+
while (parent && base == parent.bufferBase)
|
|
293
|
+
parent = parent.parent;
|
|
294
|
+
return new Stack(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, buffer, base, this.curContext, this.lookAhead, parent);
|
|
295
|
+
}
|
|
296
|
+
// Try to recover from an error by 'deleting' (ignoring) one token.
|
|
297
|
+
/**
|
|
298
|
+
@internal
|
|
299
|
+
*/
|
|
300
|
+
recoverByDelete(next, nextEnd) {
|
|
301
|
+
let isNode = next <= this.p.parser.maxNode;
|
|
302
|
+
if (isNode)
|
|
303
|
+
this.storeNode(next, this.pos, nextEnd, 4);
|
|
304
|
+
this.storeNode(0 /* Term.Err */, this.pos, nextEnd, isNode ? 8 : 4);
|
|
305
|
+
this.pos = this.reducePos = nextEnd;
|
|
306
|
+
this.score -= 190 /* Recover.Delete */;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
Check if the given term would be able to be shifted (optionally
|
|
310
|
+
after some reductions) on this stack. This can be useful for
|
|
311
|
+
external tokenizers that want to make sure they only provide a
|
|
312
|
+
given token when it applies.
|
|
313
|
+
*/
|
|
314
|
+
canShift(term) {
|
|
315
|
+
for (let sim = new SimulatedStack(this);;) {
|
|
316
|
+
let action = this.p.parser.stateSlot(sim.state, 4 /* ParseState.DefaultReduce */) || this.p.parser.hasAction(sim.state, term);
|
|
317
|
+
if (action == 0)
|
|
318
|
+
return false;
|
|
319
|
+
if ((action & 65536 /* Action.ReduceFlag */) == 0)
|
|
320
|
+
return true;
|
|
321
|
+
sim.reduce(action);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
// Apply up to Recover.MaxNext recovery actions that conceptually
|
|
325
|
+
// inserts some missing token or rule.
|
|
326
|
+
/**
|
|
327
|
+
@internal
|
|
328
|
+
*/
|
|
329
|
+
recoverByInsert(next) {
|
|
330
|
+
if (this.stack.length >= 300 /* Recover.MaxInsertStackDepth */)
|
|
331
|
+
return [];
|
|
332
|
+
let nextStates = this.p.parser.nextStates(this.state);
|
|
333
|
+
if (nextStates.length > 4 /* Recover.MaxNext */ << 1 || this.stack.length >= 120 /* Recover.DampenInsertStackDepth */) {
|
|
334
|
+
let best = [];
|
|
335
|
+
for (let i = 0, s; i < nextStates.length; i += 2) {
|
|
336
|
+
if ((s = nextStates[i + 1]) != this.state && this.p.parser.hasAction(s, next))
|
|
337
|
+
best.push(nextStates[i], s);
|
|
338
|
+
}
|
|
339
|
+
if (this.stack.length < 120 /* Recover.DampenInsertStackDepth */)
|
|
340
|
+
for (let i = 0; best.length < 4 /* Recover.MaxNext */ << 1 && i < nextStates.length; i += 2) {
|
|
341
|
+
let s = nextStates[i + 1];
|
|
342
|
+
if (!best.some((v, i) => (i & 1) && v == s))
|
|
343
|
+
best.push(nextStates[i], s);
|
|
344
|
+
}
|
|
345
|
+
nextStates = best;
|
|
346
|
+
}
|
|
347
|
+
let result = [];
|
|
348
|
+
for (let i = 0; i < nextStates.length && result.length < 4 /* Recover.MaxNext */; i += 2) {
|
|
349
|
+
let s = nextStates[i + 1];
|
|
350
|
+
if (s == this.state)
|
|
351
|
+
continue;
|
|
352
|
+
let stack = this.split();
|
|
353
|
+
stack.pushState(s, this.pos);
|
|
354
|
+
stack.storeNode(0 /* Term.Err */, stack.pos, stack.pos, 4, true);
|
|
355
|
+
stack.shiftContext(nextStates[i], this.pos);
|
|
356
|
+
stack.reducePos = this.pos;
|
|
357
|
+
stack.score -= 200 /* Recover.Insert */;
|
|
358
|
+
result.push(stack);
|
|
359
|
+
}
|
|
360
|
+
return result;
|
|
361
|
+
}
|
|
362
|
+
// Force a reduce, if possible. Return false if that can't
|
|
363
|
+
// be done.
|
|
364
|
+
/**
|
|
365
|
+
@internal
|
|
366
|
+
*/
|
|
367
|
+
forceReduce() {
|
|
368
|
+
let { parser } = this.p;
|
|
369
|
+
let reduce = parser.stateSlot(this.state, 5 /* ParseState.ForcedReduce */);
|
|
370
|
+
if ((reduce & 65536 /* Action.ReduceFlag */) == 0)
|
|
371
|
+
return false;
|
|
372
|
+
if (!parser.validAction(this.state, reduce)) {
|
|
373
|
+
let depth = reduce >> 19 /* Action.ReduceDepthShift */, term = reduce & 65535 /* Action.ValueMask */;
|
|
374
|
+
let target = this.stack.length - depth * 3;
|
|
375
|
+
if (target < 0 || parser.getGoto(this.stack[target], term, false) < 0) {
|
|
376
|
+
let backup = this.findForcedReduction();
|
|
377
|
+
if (backup == null)
|
|
378
|
+
return false;
|
|
379
|
+
reduce = backup;
|
|
380
|
+
}
|
|
381
|
+
this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);
|
|
382
|
+
this.score -= 100 /* Recover.Reduce */;
|
|
383
|
+
}
|
|
384
|
+
this.reducePos = this.pos;
|
|
385
|
+
this.reduce(reduce);
|
|
386
|
+
return true;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
Try to scan through the automaton to find some kind of reduction
|
|
390
|
+
that can be applied. Used when the regular ForcedReduce field
|
|
391
|
+
isn't a valid action. @internal
|
|
392
|
+
*/
|
|
393
|
+
findForcedReduction() {
|
|
394
|
+
let { parser } = this.p, seen = [];
|
|
395
|
+
let explore = (state, depth) => {
|
|
396
|
+
if (seen.includes(state))
|
|
397
|
+
return;
|
|
398
|
+
seen.push(state);
|
|
399
|
+
return parser.allActions(state, (action) => {
|
|
400
|
+
if (action & (262144 /* Action.StayFlag */ | 131072 /* Action.GotoFlag */)) ;
|
|
401
|
+
else if (action & 65536 /* Action.ReduceFlag */) {
|
|
402
|
+
let rDepth = (action >> 19 /* Action.ReduceDepthShift */) - depth;
|
|
403
|
+
if (rDepth > 1) {
|
|
404
|
+
let term = action & 65535 /* Action.ValueMask */, target = this.stack.length - rDepth * 3;
|
|
405
|
+
if (target >= 0 && parser.getGoto(this.stack[target], term, false) >= 0)
|
|
406
|
+
return (rDepth << 19 /* Action.ReduceDepthShift */) | 65536 /* Action.ReduceFlag */ | term;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
let found = explore(action, depth + 1);
|
|
411
|
+
if (found != null)
|
|
412
|
+
return found;
|
|
413
|
+
}
|
|
414
|
+
});
|
|
415
|
+
};
|
|
416
|
+
return explore(this.state, 0);
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
@internal
|
|
420
|
+
*/
|
|
421
|
+
forceAll() {
|
|
422
|
+
while (!this.p.parser.stateFlag(this.state, 2 /* StateFlag.Accepting */)) {
|
|
423
|
+
if (!this.forceReduce()) {
|
|
424
|
+
this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return this;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
Check whether this state has no further actions (assumed to be a direct descendant of the
|
|
432
|
+
top state, since any other states must be able to continue
|
|
433
|
+
somehow). @internal
|
|
434
|
+
*/
|
|
435
|
+
get deadEnd() {
|
|
436
|
+
if (this.stack.length != 3)
|
|
437
|
+
return false;
|
|
438
|
+
let { parser } = this.p;
|
|
439
|
+
return parser.data[parser.stateSlot(this.state, 1 /* ParseState.Actions */)] == 65535 /* Seq.End */ &&
|
|
440
|
+
!parser.stateSlot(this.state, 4 /* ParseState.DefaultReduce */);
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
Restart the stack (put it back in its start state). Only safe
|
|
444
|
+
when this.stack.length == 3 (state is directly below the top
|
|
445
|
+
state). @internal
|
|
446
|
+
*/
|
|
447
|
+
restart() {
|
|
448
|
+
this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);
|
|
449
|
+
this.state = this.stack[0];
|
|
450
|
+
this.stack.length = 0;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
@internal
|
|
454
|
+
*/
|
|
455
|
+
sameState(other) {
|
|
456
|
+
if (this.state != other.state || this.stack.length != other.stack.length)
|
|
457
|
+
return false;
|
|
458
|
+
for (let i = 0; i < this.stack.length; i += 3)
|
|
459
|
+
if (this.stack[i] != other.stack[i])
|
|
460
|
+
return false;
|
|
461
|
+
return true;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
Get the parser used by this stack.
|
|
465
|
+
*/
|
|
466
|
+
get parser() { return this.p.parser; }
|
|
467
|
+
/**
|
|
468
|
+
Test whether a given dialect (by numeric ID, as exported from
|
|
469
|
+
the terms file) is enabled.
|
|
470
|
+
*/
|
|
471
|
+
dialectEnabled(dialectID) { return this.p.parser.dialect.flags[dialectID]; }
|
|
472
|
+
shiftContext(term, start) {
|
|
473
|
+
if (this.curContext)
|
|
474
|
+
this.updateContext(this.curContext.tracker.shift(this.curContext.context, term, this, this.p.stream.reset(start)));
|
|
475
|
+
}
|
|
476
|
+
reduceContext(term, start) {
|
|
477
|
+
if (this.curContext)
|
|
478
|
+
this.updateContext(this.curContext.tracker.reduce(this.curContext.context, term, this, this.p.stream.reset(start)));
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
@internal
|
|
482
|
+
*/
|
|
483
|
+
emitContext() {
|
|
484
|
+
let last = this.buffer.length - 1;
|
|
485
|
+
if (last < 0 || this.buffer[last] != -3)
|
|
486
|
+
this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
@internal
|
|
490
|
+
*/
|
|
491
|
+
emitLookAhead() {
|
|
492
|
+
let last = this.buffer.length - 1;
|
|
493
|
+
if (last < 0 || this.buffer[last] != -4)
|
|
494
|
+
this.buffer.push(this.lookAhead, this.pos, this.pos, -4);
|
|
495
|
+
}
|
|
496
|
+
updateContext(context) {
|
|
497
|
+
if (context != this.curContext.context) {
|
|
498
|
+
let newCx = new StackContext(this.curContext.tracker, context);
|
|
499
|
+
if (newCx.hash != this.curContext.hash)
|
|
500
|
+
this.emitContext();
|
|
501
|
+
this.curContext = newCx;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
@internal
|
|
506
|
+
*/
|
|
507
|
+
setLookAhead(lookAhead) {
|
|
508
|
+
if (lookAhead > this.lookAhead) {
|
|
509
|
+
this.emitLookAhead();
|
|
510
|
+
this.lookAhead = lookAhead;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
@internal
|
|
515
|
+
*/
|
|
516
|
+
close() {
|
|
517
|
+
if (this.curContext && this.curContext.tracker.strict)
|
|
518
|
+
this.emitContext();
|
|
519
|
+
if (this.lookAhead > 0)
|
|
520
|
+
this.emitLookAhead();
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
class StackContext {
|
|
524
|
+
constructor(tracker, context) {
|
|
525
|
+
this.tracker = tracker;
|
|
526
|
+
this.context = context;
|
|
527
|
+
this.hash = tracker.strict ? tracker.hash(context) : 0;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
// Used to cheaply run some reductions to scan ahead without mutating
|
|
531
|
+
// an entire stack
|
|
532
|
+
class SimulatedStack {
|
|
533
|
+
constructor(start) {
|
|
534
|
+
this.start = start;
|
|
535
|
+
this.state = start.state;
|
|
536
|
+
this.stack = start.stack;
|
|
537
|
+
this.base = this.stack.length;
|
|
538
|
+
}
|
|
539
|
+
reduce(action) {
|
|
540
|
+
let term = action & 65535 /* Action.ValueMask */, depth = action >> 19 /* Action.ReduceDepthShift */;
|
|
541
|
+
if (depth == 0) {
|
|
542
|
+
if (this.stack == this.start.stack)
|
|
543
|
+
this.stack = this.stack.slice();
|
|
544
|
+
this.stack.push(this.state, 0, 0);
|
|
545
|
+
this.base += 3;
|
|
546
|
+
}
|
|
547
|
+
else {
|
|
548
|
+
this.base -= (depth - 1) * 3;
|
|
549
|
+
}
|
|
550
|
+
let goto = this.start.p.parser.getGoto(this.stack[this.base - 3], term, true);
|
|
551
|
+
this.state = goto;
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
// This is given to `Tree.build` to build a buffer, and encapsulates
|
|
555
|
+
// the parent-stack-walking necessary to read the nodes.
|
|
556
|
+
class StackBufferCursor {
|
|
557
|
+
constructor(stack, pos, index) {
|
|
558
|
+
this.stack = stack;
|
|
559
|
+
this.pos = pos;
|
|
560
|
+
this.index = index;
|
|
561
|
+
this.buffer = stack.buffer;
|
|
562
|
+
if (this.index == 0)
|
|
563
|
+
this.maybeNext();
|
|
564
|
+
}
|
|
565
|
+
static create(stack, pos = stack.bufferBase + stack.buffer.length) {
|
|
566
|
+
return new StackBufferCursor(stack, pos, pos - stack.bufferBase);
|
|
567
|
+
}
|
|
568
|
+
maybeNext() {
|
|
569
|
+
let next = this.stack.parent;
|
|
570
|
+
if (next != null) {
|
|
571
|
+
this.index = this.stack.bufferBase - next.bufferBase;
|
|
572
|
+
this.stack = next;
|
|
573
|
+
this.buffer = next.buffer;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
get id() { return this.buffer[this.index - 4]; }
|
|
577
|
+
get start() { return this.buffer[this.index - 3]; }
|
|
578
|
+
get end() { return this.buffer[this.index - 2]; }
|
|
579
|
+
get size() { return this.buffer[this.index - 1]; }
|
|
580
|
+
next() {
|
|
581
|
+
this.index -= 4;
|
|
582
|
+
this.pos -= 4;
|
|
583
|
+
if (this.index == 0)
|
|
584
|
+
this.maybeNext();
|
|
585
|
+
}
|
|
586
|
+
fork() {
|
|
587
|
+
return new StackBufferCursor(this.stack, this.pos, this.index);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// See lezer-generator/src/encode.ts for comments about the encoding
|
|
592
|
+
// used here
|
|
593
|
+
function decodeArray(input, Type = Uint16Array) {
|
|
594
|
+
if (typeof input != "string")
|
|
595
|
+
return input;
|
|
596
|
+
let array = null;
|
|
597
|
+
for (let pos = 0, out = 0; pos < input.length;) {
|
|
598
|
+
let value = 0;
|
|
599
|
+
for (;;) {
|
|
600
|
+
let next = input.charCodeAt(pos++), stop = false;
|
|
601
|
+
if (next == 126 /* Encode.BigValCode */) {
|
|
602
|
+
value = 65535 /* Encode.BigVal */;
|
|
603
|
+
break;
|
|
604
|
+
}
|
|
605
|
+
if (next >= 92 /* Encode.Gap2 */)
|
|
606
|
+
next--;
|
|
607
|
+
if (next >= 34 /* Encode.Gap1 */)
|
|
608
|
+
next--;
|
|
609
|
+
let digit = next - 32 /* Encode.Start */;
|
|
610
|
+
if (digit >= 46 /* Encode.Base */) {
|
|
611
|
+
digit -= 46 /* Encode.Base */;
|
|
612
|
+
stop = true;
|
|
613
|
+
}
|
|
614
|
+
value += digit;
|
|
615
|
+
if (stop)
|
|
616
|
+
break;
|
|
617
|
+
value *= 46 /* Encode.Base */;
|
|
618
|
+
}
|
|
619
|
+
if (array)
|
|
620
|
+
array[out++] = value;
|
|
621
|
+
else
|
|
622
|
+
array = new Type(value);
|
|
623
|
+
}
|
|
624
|
+
return array;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
class CachedToken {
|
|
628
|
+
constructor() {
|
|
629
|
+
this.start = -1;
|
|
630
|
+
this.value = -1;
|
|
631
|
+
this.end = -1;
|
|
632
|
+
this.extended = -1;
|
|
633
|
+
this.lookAhead = 0;
|
|
634
|
+
this.mask = 0;
|
|
635
|
+
this.context = 0;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
const nullToken = new CachedToken;
|
|
639
|
+
/**
|
|
640
|
+
[Tokenizers](#lr.ExternalTokenizer) interact with the input
|
|
641
|
+
through this interface. It presents the input as a stream of
|
|
642
|
+
characters, tracking lookahead and hiding the complexity of
|
|
643
|
+
[ranges](#common.Parser.parse^ranges) from tokenizer code.
|
|
644
|
+
*/
|
|
645
|
+
class InputStream {
|
|
646
|
+
/**
|
|
647
|
+
@internal
|
|
648
|
+
*/
|
|
649
|
+
constructor(
|
|
650
|
+
/**
|
|
651
|
+
@internal
|
|
652
|
+
*/
|
|
653
|
+
input,
|
|
654
|
+
/**
|
|
655
|
+
@internal
|
|
656
|
+
*/
|
|
657
|
+
ranges) {
|
|
658
|
+
this.input = input;
|
|
659
|
+
this.ranges = ranges;
|
|
660
|
+
/**
|
|
661
|
+
@internal
|
|
662
|
+
*/
|
|
663
|
+
this.chunk = "";
|
|
664
|
+
/**
|
|
665
|
+
@internal
|
|
666
|
+
*/
|
|
667
|
+
this.chunkOff = 0;
|
|
668
|
+
/**
|
|
669
|
+
Backup chunk
|
|
670
|
+
*/
|
|
671
|
+
this.chunk2 = "";
|
|
672
|
+
this.chunk2Pos = 0;
|
|
673
|
+
/**
|
|
674
|
+
The character code of the next code unit in the input, or -1
|
|
675
|
+
when the stream is at the end of the input.
|
|
676
|
+
*/
|
|
677
|
+
this.next = -1;
|
|
678
|
+
/**
|
|
679
|
+
@internal
|
|
680
|
+
*/
|
|
681
|
+
this.token = nullToken;
|
|
682
|
+
this.rangeIndex = 0;
|
|
683
|
+
this.pos = this.chunkPos = ranges[0].from;
|
|
684
|
+
this.range = ranges[0];
|
|
685
|
+
this.end = ranges[ranges.length - 1].to;
|
|
686
|
+
this.readNext();
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
@internal
|
|
690
|
+
*/
|
|
691
|
+
resolveOffset(offset, assoc) {
|
|
692
|
+
let range = this.range, index = this.rangeIndex;
|
|
693
|
+
let pos = this.pos + offset;
|
|
694
|
+
while (pos < range.from) {
|
|
695
|
+
if (!index)
|
|
696
|
+
return null;
|
|
697
|
+
let next = this.ranges[--index];
|
|
698
|
+
pos -= range.from - next.to;
|
|
699
|
+
range = next;
|
|
700
|
+
}
|
|
701
|
+
while (assoc < 0 ? pos > range.to : pos >= range.to) {
|
|
702
|
+
if (index == this.ranges.length - 1)
|
|
703
|
+
return null;
|
|
704
|
+
let next = this.ranges[++index];
|
|
705
|
+
pos += next.from - range.to;
|
|
706
|
+
range = next;
|
|
707
|
+
}
|
|
708
|
+
return pos;
|
|
709
|
+
}
|
|
710
|
+
/**
|
|
711
|
+
@internal
|
|
712
|
+
*/
|
|
713
|
+
clipPos(pos) {
|
|
714
|
+
if (pos >= this.range.from && pos < this.range.to)
|
|
715
|
+
return pos;
|
|
716
|
+
for (let range of this.ranges)
|
|
717
|
+
if (range.to > pos)
|
|
718
|
+
return Math.max(pos, range.from);
|
|
719
|
+
return this.end;
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
722
|
+
Look at a code unit near the stream position. `.peek(0)` equals
|
|
723
|
+
`.next`, `.peek(-1)` gives you the previous character, and so
|
|
724
|
+
on.
|
|
725
|
+
|
|
726
|
+
Note that looking around during tokenizing creates dependencies
|
|
727
|
+
on potentially far-away content, which may reduce the
|
|
728
|
+
effectiveness incremental parsing—when looking forward—or even
|
|
729
|
+
cause invalid reparses when looking backward more than 25 code
|
|
730
|
+
units, since the library does not track lookbehind.
|
|
731
|
+
*/
|
|
732
|
+
peek(offset) {
|
|
733
|
+
let idx = this.chunkOff + offset, pos, result;
|
|
734
|
+
if (idx >= 0 && idx < this.chunk.length) {
|
|
735
|
+
pos = this.pos + offset;
|
|
736
|
+
result = this.chunk.charCodeAt(idx);
|
|
737
|
+
}
|
|
738
|
+
else {
|
|
739
|
+
let resolved = this.resolveOffset(offset, 1);
|
|
740
|
+
if (resolved == null)
|
|
741
|
+
return -1;
|
|
742
|
+
pos = resolved;
|
|
743
|
+
if (pos >= this.chunk2Pos && pos < this.chunk2Pos + this.chunk2.length) {
|
|
744
|
+
result = this.chunk2.charCodeAt(pos - this.chunk2Pos);
|
|
745
|
+
}
|
|
746
|
+
else {
|
|
747
|
+
let i = this.rangeIndex, range = this.range;
|
|
748
|
+
while (range.to <= pos)
|
|
749
|
+
range = this.ranges[++i];
|
|
750
|
+
this.chunk2 = this.input.chunk(this.chunk2Pos = pos);
|
|
751
|
+
if (pos + this.chunk2.length > range.to)
|
|
752
|
+
this.chunk2 = this.chunk2.slice(0, range.to - pos);
|
|
753
|
+
result = this.chunk2.charCodeAt(0);
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
if (pos >= this.token.lookAhead)
|
|
757
|
+
this.token.lookAhead = pos + 1;
|
|
758
|
+
return result;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
Accept a token. By default, the end of the token is set to the
|
|
762
|
+
current stream position, but you can pass an offset (relative to
|
|
763
|
+
the stream position) to change that.
|
|
764
|
+
*/
|
|
765
|
+
acceptToken(token, endOffset = 0) {
|
|
766
|
+
let end = endOffset ? this.resolveOffset(endOffset, -1) : this.pos;
|
|
767
|
+
if (end == null || end < this.token.start)
|
|
768
|
+
throw new RangeError("Token end out of bounds");
|
|
769
|
+
this.token.value = token;
|
|
770
|
+
this.token.end = end;
|
|
771
|
+
}
|
|
772
|
+
getChunk() {
|
|
773
|
+
if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {
|
|
774
|
+
let { chunk, chunkPos } = this;
|
|
775
|
+
this.chunk = this.chunk2;
|
|
776
|
+
this.chunkPos = this.chunk2Pos;
|
|
777
|
+
this.chunk2 = chunk;
|
|
778
|
+
this.chunk2Pos = chunkPos;
|
|
779
|
+
this.chunkOff = this.pos - this.chunkPos;
|
|
780
|
+
}
|
|
781
|
+
else {
|
|
782
|
+
this.chunk2 = this.chunk;
|
|
783
|
+
this.chunk2Pos = this.chunkPos;
|
|
784
|
+
let nextChunk = this.input.chunk(this.pos);
|
|
785
|
+
let end = this.pos + nextChunk.length;
|
|
786
|
+
this.chunk = end > this.range.to ? nextChunk.slice(0, this.range.to - this.pos) : nextChunk;
|
|
787
|
+
this.chunkPos = this.pos;
|
|
788
|
+
this.chunkOff = 0;
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
readNext() {
|
|
792
|
+
if (this.chunkOff >= this.chunk.length) {
|
|
793
|
+
this.getChunk();
|
|
794
|
+
if (this.chunkOff == this.chunk.length)
|
|
795
|
+
return this.next = -1;
|
|
796
|
+
}
|
|
797
|
+
return this.next = this.chunk.charCodeAt(this.chunkOff);
|
|
798
|
+
}
|
|
799
|
+
/**
|
|
800
|
+
Move the stream forward N (defaults to 1) code units. Returns
|
|
801
|
+
the new value of [`next`](#lr.InputStream.next).
|
|
802
|
+
*/
|
|
803
|
+
advance(n = 1) {
|
|
804
|
+
this.chunkOff += n;
|
|
805
|
+
while (this.pos + n >= this.range.to) {
|
|
806
|
+
if (this.rangeIndex == this.ranges.length - 1)
|
|
807
|
+
return this.setDone();
|
|
808
|
+
n -= this.range.to - this.pos;
|
|
809
|
+
this.range = this.ranges[++this.rangeIndex];
|
|
810
|
+
this.pos = this.range.from;
|
|
811
|
+
}
|
|
812
|
+
this.pos += n;
|
|
813
|
+
if (this.pos >= this.token.lookAhead)
|
|
814
|
+
this.token.lookAhead = this.pos + 1;
|
|
815
|
+
return this.readNext();
|
|
816
|
+
}
|
|
817
|
+
setDone() {
|
|
818
|
+
this.pos = this.chunkPos = this.end;
|
|
819
|
+
this.range = this.ranges[this.rangeIndex = this.ranges.length - 1];
|
|
820
|
+
this.chunk = "";
|
|
821
|
+
return this.next = -1;
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
@internal
|
|
825
|
+
*/
|
|
826
|
+
reset(pos, token) {
|
|
827
|
+
if (token) {
|
|
828
|
+
this.token = token;
|
|
829
|
+
token.start = pos;
|
|
830
|
+
token.lookAhead = pos + 1;
|
|
831
|
+
token.value = token.extended = -1;
|
|
832
|
+
}
|
|
833
|
+
else {
|
|
834
|
+
this.token = nullToken;
|
|
835
|
+
}
|
|
836
|
+
if (this.pos != pos) {
|
|
837
|
+
this.pos = pos;
|
|
838
|
+
if (pos == this.end) {
|
|
839
|
+
this.setDone();
|
|
840
|
+
return this;
|
|
841
|
+
}
|
|
842
|
+
while (pos < this.range.from)
|
|
843
|
+
this.range = this.ranges[--this.rangeIndex];
|
|
844
|
+
while (pos >= this.range.to)
|
|
845
|
+
this.range = this.ranges[++this.rangeIndex];
|
|
846
|
+
if (pos >= this.chunkPos && pos < this.chunkPos + this.chunk.length) {
|
|
847
|
+
this.chunkOff = pos - this.chunkPos;
|
|
848
|
+
}
|
|
849
|
+
else {
|
|
850
|
+
this.chunk = "";
|
|
851
|
+
this.chunkOff = 0;
|
|
852
|
+
}
|
|
853
|
+
this.readNext();
|
|
854
|
+
}
|
|
855
|
+
return this;
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
@internal
|
|
859
|
+
*/
|
|
860
|
+
read(from, to) {
|
|
861
|
+
if (from >= this.chunkPos && to <= this.chunkPos + this.chunk.length)
|
|
862
|
+
return this.chunk.slice(from - this.chunkPos, to - this.chunkPos);
|
|
863
|
+
if (from >= this.chunk2Pos && to <= this.chunk2Pos + this.chunk2.length)
|
|
864
|
+
return this.chunk2.slice(from - this.chunk2Pos, to - this.chunk2Pos);
|
|
865
|
+
if (from >= this.range.from && to <= this.range.to)
|
|
866
|
+
return this.input.read(from, to);
|
|
867
|
+
let result = "";
|
|
868
|
+
for (let r of this.ranges) {
|
|
869
|
+
if (r.from >= to)
|
|
870
|
+
break;
|
|
871
|
+
if (r.to > from)
|
|
872
|
+
result += this.input.read(Math.max(r.from, from), Math.min(r.to, to));
|
|
873
|
+
}
|
|
874
|
+
return result;
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
/**
|
|
878
|
+
@internal
|
|
879
|
+
*/
|
|
880
|
+
class TokenGroup {
|
|
881
|
+
constructor(data, id) {
|
|
882
|
+
this.data = data;
|
|
883
|
+
this.id = id;
|
|
884
|
+
}
|
|
885
|
+
token(input, stack) {
|
|
886
|
+
let { parser } = stack.p;
|
|
887
|
+
readToken(this.data, input, stack, this.id, parser.data, parser.tokenPrecTable);
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
TokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;
|
|
891
|
+
TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;
|
|
892
|
+
// Tokenizer data is stored a big uint16 array containing, for each
|
|
893
|
+
// state:
|
|
894
|
+
//
|
|
895
|
+
// - A group bitmask, indicating what token groups are reachable from
|
|
896
|
+
// this state, so that paths that can only lead to tokens not in
|
|
897
|
+
// any of the current groups can be cut off early.
|
|
898
|
+
//
|
|
899
|
+
// - The position of the end of the state's sequence of accepting
|
|
900
|
+
// tokens
|
|
901
|
+
//
|
|
902
|
+
// - The number of outgoing edges for the state
|
|
903
|
+
//
|
|
904
|
+
// - The accepting tokens, as (token id, group mask) pairs
|
|
905
|
+
//
|
|
906
|
+
// - The outgoing edges, as (start character, end character, state
|
|
907
|
+
// index) triples, with end character being exclusive
|
|
908
|
+
//
|
|
909
|
+
// This function interprets that data, running through a stream as
|
|
910
|
+
// long as new states with the a matching group mask can be reached,
|
|
911
|
+
// and updating `input.token` when it matches a token.
|
|
912
|
+
function readToken(data, input, stack, group, precTable, precOffset) {
|
|
913
|
+
let state = 0, groupMask = 1 << group, { dialect } = stack.p.parser;
|
|
914
|
+
scan: for (;;) {
|
|
915
|
+
if ((groupMask & data[state]) == 0)
|
|
916
|
+
break;
|
|
917
|
+
let accEnd = data[state + 1];
|
|
918
|
+
// Check whether this state can lead to a token in the current group
|
|
919
|
+
// Accept tokens in this state, possibly overwriting
|
|
920
|
+
// lower-precedence / shorter tokens
|
|
921
|
+
for (let i = state + 3; i < accEnd; i += 2)
|
|
922
|
+
if ((data[i + 1] & groupMask) > 0) {
|
|
923
|
+
let term = data[i];
|
|
924
|
+
if (dialect.allows(term) &&
|
|
925
|
+
(input.token.value == -1 || input.token.value == term ||
|
|
926
|
+
overrides(term, input.token.value, precTable, precOffset))) {
|
|
927
|
+
input.acceptToken(term);
|
|
928
|
+
break;
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
let next = input.next, low = 0, high = data[state + 2];
|
|
932
|
+
// Special case for EOF
|
|
933
|
+
if (input.next < 0 && high > low && data[accEnd + high * 3 - 3] == 65535 /* Seq.End */) {
|
|
934
|
+
state = data[accEnd + high * 3 - 1];
|
|
935
|
+
continue scan;
|
|
936
|
+
}
|
|
937
|
+
// Do a binary search on the state's edges
|
|
938
|
+
for (; low < high;) {
|
|
939
|
+
let mid = (low + high) >> 1;
|
|
940
|
+
let index = accEnd + mid + (mid << 1);
|
|
941
|
+
let from = data[index], to = data[index + 1] || 0x10000;
|
|
942
|
+
if (next < from)
|
|
943
|
+
high = mid;
|
|
944
|
+
else if (next >= to)
|
|
945
|
+
low = mid + 1;
|
|
946
|
+
else {
|
|
947
|
+
state = data[index + 2];
|
|
948
|
+
input.advance();
|
|
949
|
+
continue scan;
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
break;
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
function findOffset(data, start, term) {
|
|
956
|
+
for (let i = start, next; (next = data[i]) != 65535 /* Seq.End */; i++)
|
|
957
|
+
if (next == term)
|
|
958
|
+
return i - start;
|
|
959
|
+
return -1;
|
|
960
|
+
}
|
|
961
|
+
function overrides(token, prev, tableData, tableOffset) {
|
|
962
|
+
let iPrev = findOffset(tableData, tableOffset, prev);
|
|
963
|
+
return iPrev < 0 || findOffset(tableData, tableOffset, token) < iPrev;
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
// Environment variable used to control console output
|
|
967
|
+
const verbose = typeof process != "undefined" && process.env && /\bparse\b/.test(process.env.LOG);
|
|
968
|
+
let stackIDs = null;
|
|
969
|
+
function cutAt(tree, pos, side) {
|
|
970
|
+
let cursor = tree.cursor(IterMode.IncludeAnonymous);
|
|
971
|
+
cursor.moveTo(pos);
|
|
972
|
+
for (;;) {
|
|
973
|
+
if (!(side < 0 ? cursor.childBefore(pos) : cursor.childAfter(pos)))
|
|
974
|
+
for (;;) {
|
|
975
|
+
if ((side < 0 ? cursor.to < pos : cursor.from > pos) && !cursor.type.isError)
|
|
976
|
+
return side < 0 ? Math.max(0, Math.min(cursor.to - 1, pos - 25 /* Safety.Margin */))
|
|
977
|
+
: Math.min(tree.length, Math.max(cursor.from + 1, pos + 25 /* Safety.Margin */));
|
|
978
|
+
if (side < 0 ? cursor.prevSibling() : cursor.nextSibling())
|
|
979
|
+
break;
|
|
980
|
+
if (!cursor.parent())
|
|
981
|
+
return side < 0 ? 0 : tree.length;
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
class FragmentCursor {
|
|
986
|
+
constructor(fragments, nodeSet) {
|
|
987
|
+
this.fragments = fragments;
|
|
988
|
+
this.nodeSet = nodeSet;
|
|
989
|
+
this.i = 0;
|
|
990
|
+
this.fragment = null;
|
|
991
|
+
this.safeFrom = -1;
|
|
992
|
+
this.safeTo = -1;
|
|
993
|
+
this.trees = [];
|
|
994
|
+
this.start = [];
|
|
995
|
+
this.index = [];
|
|
996
|
+
this.nextFragment();
|
|
997
|
+
}
|
|
998
|
+
nextFragment() {
|
|
999
|
+
let fr = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];
|
|
1000
|
+
if (fr) {
|
|
1001
|
+
this.safeFrom = fr.openStart ? cutAt(fr.tree, fr.from + fr.offset, 1) - fr.offset : fr.from;
|
|
1002
|
+
this.safeTo = fr.openEnd ? cutAt(fr.tree, fr.to + fr.offset, -1) - fr.offset : fr.to;
|
|
1003
|
+
while (this.trees.length) {
|
|
1004
|
+
this.trees.pop();
|
|
1005
|
+
this.start.pop();
|
|
1006
|
+
this.index.pop();
|
|
1007
|
+
}
|
|
1008
|
+
this.trees.push(fr.tree);
|
|
1009
|
+
this.start.push(-fr.offset);
|
|
1010
|
+
this.index.push(0);
|
|
1011
|
+
this.nextStart = this.safeFrom;
|
|
1012
|
+
}
|
|
1013
|
+
else {
|
|
1014
|
+
this.nextStart = 1e9;
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
// `pos` must be >= any previously given `pos` for this cursor
|
|
1018
|
+
nodeAt(pos) {
|
|
1019
|
+
if (pos < this.nextStart)
|
|
1020
|
+
return null;
|
|
1021
|
+
while (this.fragment && this.safeTo <= pos)
|
|
1022
|
+
this.nextFragment();
|
|
1023
|
+
if (!this.fragment)
|
|
1024
|
+
return null;
|
|
1025
|
+
for (;;) {
|
|
1026
|
+
let last = this.trees.length - 1;
|
|
1027
|
+
if (last < 0) { // End of tree
|
|
1028
|
+
this.nextFragment();
|
|
1029
|
+
return null;
|
|
1030
|
+
}
|
|
1031
|
+
let top = this.trees[last], index = this.index[last];
|
|
1032
|
+
if (index == top.children.length) {
|
|
1033
|
+
this.trees.pop();
|
|
1034
|
+
this.start.pop();
|
|
1035
|
+
this.index.pop();
|
|
1036
|
+
continue;
|
|
1037
|
+
}
|
|
1038
|
+
let next = top.children[index];
|
|
1039
|
+
let start = this.start[last] + top.positions[index];
|
|
1040
|
+
if (start > pos) {
|
|
1041
|
+
this.nextStart = start;
|
|
1042
|
+
return null;
|
|
1043
|
+
}
|
|
1044
|
+
if (next instanceof Tree) {
|
|
1045
|
+
if (start == pos) {
|
|
1046
|
+
if (start < this.safeFrom)
|
|
1047
|
+
return null;
|
|
1048
|
+
let end = start + next.length;
|
|
1049
|
+
if (end <= this.safeTo) {
|
|
1050
|
+
let lookAhead = next.prop(NodeProp.lookAhead);
|
|
1051
|
+
if (!lookAhead || end + lookAhead < this.fragment.to)
|
|
1052
|
+
return next;
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
this.index[last]++;
|
|
1056
|
+
if (start + next.length >= Math.max(this.safeFrom, pos)) { // Enter this node
|
|
1057
|
+
this.trees.push(next);
|
|
1058
|
+
this.start.push(start);
|
|
1059
|
+
this.index.push(0);
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
else {
|
|
1063
|
+
this.index[last]++;
|
|
1064
|
+
this.nextStart = start + next.length;
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
class TokenCache {
|
|
1070
|
+
constructor(parser, stream) {
|
|
1071
|
+
this.stream = stream;
|
|
1072
|
+
this.tokens = [];
|
|
1073
|
+
this.mainToken = null;
|
|
1074
|
+
this.actions = [];
|
|
1075
|
+
this.tokens = parser.tokenizers.map(_ => new CachedToken);
|
|
1076
|
+
}
|
|
1077
|
+
getActions(stack) {
|
|
1078
|
+
let actionIndex = 0;
|
|
1079
|
+
let main = null;
|
|
1080
|
+
let { parser } = stack.p, { tokenizers } = parser;
|
|
1081
|
+
let mask = parser.stateSlot(stack.state, 3 /* ParseState.TokenizerMask */);
|
|
1082
|
+
let context = stack.curContext ? stack.curContext.hash : 0;
|
|
1083
|
+
let lookAhead = 0;
|
|
1084
|
+
for (let i = 0; i < tokenizers.length; i++) {
|
|
1085
|
+
if (((1 << i) & mask) == 0)
|
|
1086
|
+
continue;
|
|
1087
|
+
let tokenizer = tokenizers[i], token = this.tokens[i];
|
|
1088
|
+
if (main && !tokenizer.fallback)
|
|
1089
|
+
continue;
|
|
1090
|
+
if (tokenizer.contextual || token.start != stack.pos || token.mask != mask || token.context != context) {
|
|
1091
|
+
this.updateCachedToken(token, tokenizer, stack);
|
|
1092
|
+
token.mask = mask;
|
|
1093
|
+
token.context = context;
|
|
1094
|
+
}
|
|
1095
|
+
if (token.lookAhead > token.end + 25 /* Safety.Margin */)
|
|
1096
|
+
lookAhead = Math.max(token.lookAhead, lookAhead);
|
|
1097
|
+
if (token.value != 0 /* Term.Err */) {
|
|
1098
|
+
let startIndex = actionIndex;
|
|
1099
|
+
if (token.extended > -1)
|
|
1100
|
+
actionIndex = this.addActions(stack, token.extended, token.end, actionIndex);
|
|
1101
|
+
actionIndex = this.addActions(stack, token.value, token.end, actionIndex);
|
|
1102
|
+
if (!tokenizer.extend) {
|
|
1103
|
+
main = token;
|
|
1104
|
+
if (actionIndex > startIndex)
|
|
1105
|
+
break;
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
while (this.actions.length > actionIndex)
|
|
1110
|
+
this.actions.pop();
|
|
1111
|
+
if (lookAhead)
|
|
1112
|
+
stack.setLookAhead(lookAhead);
|
|
1113
|
+
if (!main && stack.pos == this.stream.end) {
|
|
1114
|
+
main = new CachedToken;
|
|
1115
|
+
main.value = stack.p.parser.eofTerm;
|
|
1116
|
+
main.start = main.end = stack.pos;
|
|
1117
|
+
actionIndex = this.addActions(stack, main.value, main.end, actionIndex);
|
|
1118
|
+
}
|
|
1119
|
+
this.mainToken = main;
|
|
1120
|
+
return this.actions;
|
|
1121
|
+
}
|
|
1122
|
+
getMainToken(stack) {
|
|
1123
|
+
if (this.mainToken)
|
|
1124
|
+
return this.mainToken;
|
|
1125
|
+
let main = new CachedToken, { pos, p } = stack;
|
|
1126
|
+
main.start = pos;
|
|
1127
|
+
main.end = Math.min(pos + 1, p.stream.end);
|
|
1128
|
+
main.value = pos == p.stream.end ? p.parser.eofTerm : 0 /* Term.Err */;
|
|
1129
|
+
return main;
|
|
1130
|
+
}
|
|
1131
|
+
updateCachedToken(token, tokenizer, stack) {
|
|
1132
|
+
let start = this.stream.clipPos(stack.pos);
|
|
1133
|
+
tokenizer.token(this.stream.reset(start, token), stack);
|
|
1134
|
+
if (token.value > -1) {
|
|
1135
|
+
let { parser } = stack.p;
|
|
1136
|
+
for (let i = 0; i < parser.specialized.length; i++)
|
|
1137
|
+
if (parser.specialized[i] == token.value) {
|
|
1138
|
+
let result = parser.specializers[i](this.stream.read(token.start, token.end), stack);
|
|
1139
|
+
if (result >= 0 && stack.p.parser.dialect.allows(result >> 1)) {
|
|
1140
|
+
if ((result & 1) == 0 /* Specialize.Specialize */)
|
|
1141
|
+
token.value = result >> 1;
|
|
1142
|
+
else
|
|
1143
|
+
token.extended = result >> 1;
|
|
1144
|
+
break;
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
else {
|
|
1149
|
+
token.value = 0 /* Term.Err */;
|
|
1150
|
+
token.end = this.stream.clipPos(start + 1);
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
putAction(action, token, end, index) {
|
|
1154
|
+
// Don't add duplicate actions
|
|
1155
|
+
for (let i = 0; i < index; i += 3)
|
|
1156
|
+
if (this.actions[i] == action)
|
|
1157
|
+
return index;
|
|
1158
|
+
this.actions[index++] = action;
|
|
1159
|
+
this.actions[index++] = token;
|
|
1160
|
+
this.actions[index++] = end;
|
|
1161
|
+
return index;
|
|
1162
|
+
}
|
|
1163
|
+
addActions(stack, token, end, index) {
|
|
1164
|
+
let { state } = stack, { parser } = stack.p, { data } = parser;
|
|
1165
|
+
for (let set = 0; set < 2; set++) {
|
|
1166
|
+
for (let i = parser.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */);; i += 3) {
|
|
1167
|
+
if (data[i] == 65535 /* Seq.End */) {
|
|
1168
|
+
if (data[i + 1] == 1 /* Seq.Next */) {
|
|
1169
|
+
i = pair(data, i + 2);
|
|
1170
|
+
}
|
|
1171
|
+
else {
|
|
1172
|
+
if (index == 0 && data[i + 1] == 2 /* Seq.Other */)
|
|
1173
|
+
index = this.putAction(pair(data, i + 2), token, end, index);
|
|
1174
|
+
break;
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
if (data[i] == token)
|
|
1178
|
+
index = this.putAction(pair(data, i + 1), token, end, index);
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
return index;
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
class Parse {
|
|
1185
|
+
constructor(parser, input, fragments, ranges) {
|
|
1186
|
+
this.parser = parser;
|
|
1187
|
+
this.input = input;
|
|
1188
|
+
this.ranges = ranges;
|
|
1189
|
+
this.recovering = 0;
|
|
1190
|
+
this.nextStackID = 0x2654; // ♔, ♕, ♖, ♗, ♘, ♙, ♠, ♡, ♢, ♣, ♤, ♥, ♦, ♧
|
|
1191
|
+
this.minStackPos = 0;
|
|
1192
|
+
this.reused = [];
|
|
1193
|
+
this.stoppedAt = null;
|
|
1194
|
+
this.lastBigReductionStart = -1;
|
|
1195
|
+
this.lastBigReductionSize = 0;
|
|
1196
|
+
this.bigReductionCount = 0;
|
|
1197
|
+
this.stream = new InputStream(input, ranges);
|
|
1198
|
+
this.tokens = new TokenCache(parser, this.stream);
|
|
1199
|
+
this.topTerm = parser.top[1];
|
|
1200
|
+
let { from } = ranges[0];
|
|
1201
|
+
this.stacks = [Stack.start(this, parser.top[0], from)];
|
|
1202
|
+
this.fragments = fragments.length && this.stream.end - from > parser.bufferLength * 4
|
|
1203
|
+
? new FragmentCursor(fragments, parser.nodeSet) : null;
|
|
1204
|
+
}
|
|
1205
|
+
get parsedPos() {
|
|
1206
|
+
return this.minStackPos;
|
|
1207
|
+
}
|
|
1208
|
+
// Move the parser forward. This will process all parse stacks at
|
|
1209
|
+
// `this.pos` and try to advance them to a further position. If no
|
|
1210
|
+
// stack for such a position is found, it'll start error-recovery.
|
|
1211
|
+
//
|
|
1212
|
+
// When the parse is finished, this will return a syntax tree. When
|
|
1213
|
+
// not, it returns `null`.
|
|
1214
|
+
advance() {
|
|
1215
|
+
let stacks = this.stacks, pos = this.minStackPos;
|
|
1216
|
+
// This will hold stacks beyond `pos`.
|
|
1217
|
+
let newStacks = this.stacks = [];
|
|
1218
|
+
let stopped, stoppedTokens;
|
|
1219
|
+
// If a large amount of reductions happened with the same start
|
|
1220
|
+
// position, force the stack out of that production in order to
|
|
1221
|
+
// avoid creating a tree too deep to recurse through.
|
|
1222
|
+
// (This is an ugly kludge, because unfortunately there is no
|
|
1223
|
+
// straightforward, cheap way to check for this happening, due to
|
|
1224
|
+
// the history of reductions only being available in an
|
|
1225
|
+
// expensive-to-access format in the stack buffers.)
|
|
1226
|
+
if (this.bigReductionCount > 300 /* Rec.MaxLeftAssociativeReductionCount */ && stacks.length == 1) {
|
|
1227
|
+
let [s] = stacks;
|
|
1228
|
+
while (s.forceReduce() && s.stack.length && s.stack[s.stack.length - 2] >= this.lastBigReductionStart) { }
|
|
1229
|
+
this.bigReductionCount = this.lastBigReductionSize = 0;
|
|
1230
|
+
}
|
|
1231
|
+
// Keep advancing any stacks at `pos` until they either move
|
|
1232
|
+
// forward or can't be advanced. Gather stacks that can't be
|
|
1233
|
+
// advanced further in `stopped`.
|
|
1234
|
+
for (let i = 0; i < stacks.length; i++) {
|
|
1235
|
+
let stack = stacks[i];
|
|
1236
|
+
for (;;) {
|
|
1237
|
+
this.tokens.mainToken = null;
|
|
1238
|
+
if (stack.pos > pos) {
|
|
1239
|
+
newStacks.push(stack);
|
|
1240
|
+
}
|
|
1241
|
+
else if (this.advanceStack(stack, newStacks, stacks)) {
|
|
1242
|
+
continue;
|
|
1243
|
+
}
|
|
1244
|
+
else {
|
|
1245
|
+
if (!stopped) {
|
|
1246
|
+
stopped = [];
|
|
1247
|
+
stoppedTokens = [];
|
|
1248
|
+
}
|
|
1249
|
+
stopped.push(stack);
|
|
1250
|
+
let tok = this.tokens.getMainToken(stack);
|
|
1251
|
+
stoppedTokens.push(tok.value, tok.end);
|
|
1252
|
+
}
|
|
1253
|
+
break;
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
if (!newStacks.length) {
|
|
1257
|
+
let finished = stopped && findFinished(stopped);
|
|
1258
|
+
if (finished) {
|
|
1259
|
+
if (verbose)
|
|
1260
|
+
console.log("Finish with " + this.stackID(finished));
|
|
1261
|
+
return this.stackToTree(finished);
|
|
1262
|
+
}
|
|
1263
|
+
if (this.parser.strict) {
|
|
1264
|
+
if (verbose && stopped)
|
|
1265
|
+
console.log("Stuck with token " + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : "none"));
|
|
1266
|
+
throw new SyntaxError("No parse at " + pos);
|
|
1267
|
+
}
|
|
1268
|
+
if (!this.recovering)
|
|
1269
|
+
this.recovering = 5 /* Rec.Distance */;
|
|
1270
|
+
}
|
|
1271
|
+
if (this.recovering && stopped) {
|
|
1272
|
+
let finished = this.stoppedAt != null && stopped[0].pos > this.stoppedAt ? stopped[0]
|
|
1273
|
+
: this.runRecovery(stopped, stoppedTokens, newStacks);
|
|
1274
|
+
if (finished) {
|
|
1275
|
+
if (verbose)
|
|
1276
|
+
console.log("Force-finish " + this.stackID(finished));
|
|
1277
|
+
return this.stackToTree(finished.forceAll());
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
if (this.recovering) {
|
|
1281
|
+
let maxRemaining = this.recovering == 1 ? 1 : this.recovering * 3 /* Rec.MaxRemainingPerStep */;
|
|
1282
|
+
if (newStacks.length > maxRemaining) {
|
|
1283
|
+
newStacks.sort((a, b) => b.score - a.score);
|
|
1284
|
+
while (newStacks.length > maxRemaining)
|
|
1285
|
+
newStacks.pop();
|
|
1286
|
+
}
|
|
1287
|
+
if (newStacks.some(s => s.reducePos > pos))
|
|
1288
|
+
this.recovering--;
|
|
1289
|
+
}
|
|
1290
|
+
else if (newStacks.length > 1) {
|
|
1291
|
+
// Prune stacks that are in the same state, or that have been
|
|
1292
|
+
// running without splitting for a while, to avoid getting stuck
|
|
1293
|
+
// with multiple successful stacks running endlessly on.
|
|
1294
|
+
outer: for (let i = 0; i < newStacks.length - 1; i++) {
|
|
1295
|
+
let stack = newStacks[i];
|
|
1296
|
+
for (let j = i + 1; j < newStacks.length; j++) {
|
|
1297
|
+
let other = newStacks[j];
|
|
1298
|
+
if (stack.sameState(other) ||
|
|
1299
|
+
stack.buffer.length > 500 /* Rec.MinBufferLengthPrune */ && other.buffer.length > 500 /* Rec.MinBufferLengthPrune */) {
|
|
1300
|
+
if (((stack.score - other.score) || (stack.buffer.length - other.buffer.length)) > 0) {
|
|
1301
|
+
newStacks.splice(j--, 1);
|
|
1302
|
+
}
|
|
1303
|
+
else {
|
|
1304
|
+
newStacks.splice(i--, 1);
|
|
1305
|
+
continue outer;
|
|
1306
|
+
}
|
|
1307
|
+
}
|
|
1308
|
+
}
|
|
1309
|
+
}
|
|
1310
|
+
if (newStacks.length > 12 /* Rec.MaxStackCount */)
|
|
1311
|
+
newStacks.splice(12 /* Rec.MaxStackCount */, newStacks.length - 12 /* Rec.MaxStackCount */);
|
|
1312
|
+
}
|
|
1313
|
+
this.minStackPos = newStacks[0].pos;
|
|
1314
|
+
for (let i = 1; i < newStacks.length; i++)
|
|
1315
|
+
if (newStacks[i].pos < this.minStackPos)
|
|
1316
|
+
this.minStackPos = newStacks[i].pos;
|
|
1317
|
+
return null;
|
|
1318
|
+
}
|
|
1319
|
+
stopAt(pos) {
|
|
1320
|
+
if (this.stoppedAt != null && this.stoppedAt < pos)
|
|
1321
|
+
throw new RangeError("Can't move stoppedAt forward");
|
|
1322
|
+
this.stoppedAt = pos;
|
|
1323
|
+
}
|
|
1324
|
+
// Returns an updated version of the given stack, or null if the
|
|
1325
|
+
// stack can't advance normally. When `split` and `stacks` are
|
|
1326
|
+
// given, stacks split off by ambiguous operations will be pushed to
|
|
1327
|
+
// `split`, or added to `stacks` if they move `pos` forward.
|
|
1328
|
+
advanceStack(stack, stacks, split) {
|
|
1329
|
+
let start = stack.pos, { parser } = this;
|
|
1330
|
+
let base = verbose ? this.stackID(stack) + " -> " : "";
|
|
1331
|
+
if (this.stoppedAt != null && start > this.stoppedAt)
|
|
1332
|
+
return stack.forceReduce() ? stack : null;
|
|
1333
|
+
if (this.fragments) {
|
|
1334
|
+
let strictCx = stack.curContext && stack.curContext.tracker.strict, cxHash = strictCx ? stack.curContext.hash : 0;
|
|
1335
|
+
for (let cached = this.fragments.nodeAt(start); cached;) {
|
|
1336
|
+
let match = this.parser.nodeSet.types[cached.type.id] == cached.type ? parser.getGoto(stack.state, cached.type.id) : -1;
|
|
1337
|
+
if (match > -1 && cached.length && (!strictCx || (cached.prop(NodeProp.contextHash) || 0) == cxHash)) {
|
|
1338
|
+
stack.useNode(cached, match);
|
|
1339
|
+
if (verbose)
|
|
1340
|
+
console.log(base + this.stackID(stack) + ` (via reuse of ${parser.getName(cached.type.id)})`);
|
|
1341
|
+
return true;
|
|
1342
|
+
}
|
|
1343
|
+
if (!(cached instanceof Tree) || cached.children.length == 0 || cached.positions[0] > 0)
|
|
1344
|
+
break;
|
|
1345
|
+
let inner = cached.children[0];
|
|
1346
|
+
if (inner instanceof Tree && cached.positions[0] == 0)
|
|
1347
|
+
cached = inner;
|
|
1348
|
+
else
|
|
1349
|
+
break;
|
|
1350
|
+
}
|
|
1351
|
+
}
|
|
1352
|
+
let defaultReduce = parser.stateSlot(stack.state, 4 /* ParseState.DefaultReduce */);
|
|
1353
|
+
if (defaultReduce > 0) {
|
|
1354
|
+
stack.reduce(defaultReduce);
|
|
1355
|
+
if (verbose)
|
|
1356
|
+
console.log(base + this.stackID(stack) + ` (via always-reduce ${parser.getName(defaultReduce & 65535 /* Action.ValueMask */)})`);
|
|
1357
|
+
return true;
|
|
1358
|
+
}
|
|
1359
|
+
if (stack.stack.length >= 8400 /* Rec.CutDepth */) {
|
|
1360
|
+
while (stack.stack.length > 6000 /* Rec.CutTo */ && stack.forceReduce()) { }
|
|
1361
|
+
}
|
|
1362
|
+
let actions = this.tokens.getActions(stack);
|
|
1363
|
+
for (let i = 0; i < actions.length;) {
|
|
1364
|
+
let action = actions[i++], term = actions[i++], end = actions[i++];
|
|
1365
|
+
let last = i == actions.length || !split;
|
|
1366
|
+
let localStack = last ? stack : stack.split();
|
|
1367
|
+
let main = this.tokens.mainToken;
|
|
1368
|
+
localStack.apply(action, term, main ? main.start : localStack.pos, end);
|
|
1369
|
+
if (verbose)
|
|
1370
|
+
console.log(base + this.stackID(localStack) + ` (via ${(action & 65536 /* Action.ReduceFlag */) == 0 ? "shift"
|
|
1371
|
+
: `reduce of ${parser.getName(action & 65535 /* Action.ValueMask */)}`} for ${parser.getName(term)} @ ${start}${localStack == stack ? "" : ", split"})`);
|
|
1372
|
+
if (last)
|
|
1373
|
+
return true;
|
|
1374
|
+
else if (localStack.pos > start)
|
|
1375
|
+
stacks.push(localStack);
|
|
1376
|
+
else
|
|
1377
|
+
split.push(localStack);
|
|
1378
|
+
}
|
|
1379
|
+
return false;
|
|
1380
|
+
}
|
|
1381
|
+
// Advance a given stack forward as far as it will go. Returns the
|
|
1382
|
+
// (possibly updated) stack if it got stuck, or null if it moved
|
|
1383
|
+
// forward and was given to `pushStackDedup`.
|
|
1384
|
+
advanceFully(stack, newStacks) {
|
|
1385
|
+
let pos = stack.pos;
|
|
1386
|
+
for (;;) {
|
|
1387
|
+
if (!this.advanceStack(stack, null, null))
|
|
1388
|
+
return false;
|
|
1389
|
+
if (stack.pos > pos) {
|
|
1390
|
+
pushStackDedup(stack, newStacks);
|
|
1391
|
+
return true;
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
runRecovery(stacks, tokens, newStacks) {
|
|
1396
|
+
let finished = null, restarted = false;
|
|
1397
|
+
for (let i = 0; i < stacks.length; i++) {
|
|
1398
|
+
let stack = stacks[i], token = tokens[i << 1], tokenEnd = tokens[(i << 1) + 1];
|
|
1399
|
+
let base = verbose ? this.stackID(stack) + " -> " : "";
|
|
1400
|
+
if (stack.deadEnd) {
|
|
1401
|
+
if (restarted)
|
|
1402
|
+
continue;
|
|
1403
|
+
restarted = true;
|
|
1404
|
+
stack.restart();
|
|
1405
|
+
if (verbose)
|
|
1406
|
+
console.log(base + this.stackID(stack) + " (restarted)");
|
|
1407
|
+
let done = this.advanceFully(stack, newStacks);
|
|
1408
|
+
if (done)
|
|
1409
|
+
continue;
|
|
1410
|
+
}
|
|
1411
|
+
let force = stack.split(), forceBase = base;
|
|
1412
|
+
for (let j = 0; force.forceReduce() && j < 10 /* Rec.ForceReduceLimit */; j++) {
|
|
1413
|
+
if (verbose)
|
|
1414
|
+
console.log(forceBase + this.stackID(force) + " (via force-reduce)");
|
|
1415
|
+
let done = this.advanceFully(force, newStacks);
|
|
1416
|
+
if (done)
|
|
1417
|
+
break;
|
|
1418
|
+
if (verbose)
|
|
1419
|
+
forceBase = this.stackID(force) + " -> ";
|
|
1420
|
+
}
|
|
1421
|
+
for (let insert of stack.recoverByInsert(token)) {
|
|
1422
|
+
if (verbose)
|
|
1423
|
+
console.log(base + this.stackID(insert) + " (via recover-insert)");
|
|
1424
|
+
this.advanceFully(insert, newStacks);
|
|
1425
|
+
}
|
|
1426
|
+
if (this.stream.end > stack.pos) {
|
|
1427
|
+
if (tokenEnd == stack.pos) {
|
|
1428
|
+
tokenEnd++;
|
|
1429
|
+
token = 0 /* Term.Err */;
|
|
1430
|
+
}
|
|
1431
|
+
stack.recoverByDelete(token, tokenEnd);
|
|
1432
|
+
if (verbose)
|
|
1433
|
+
console.log(base + this.stackID(stack) + ` (via recover-delete ${this.parser.getName(token)})`);
|
|
1434
|
+
pushStackDedup(stack, newStacks);
|
|
1435
|
+
}
|
|
1436
|
+
else if (!finished || finished.score < stack.score) {
|
|
1437
|
+
finished = stack;
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
return finished;
|
|
1441
|
+
}
|
|
1442
|
+
// Convert the stack's buffer to a syntax tree.
|
|
1443
|
+
stackToTree(stack) {
|
|
1444
|
+
stack.close();
|
|
1445
|
+
return Tree.build({ buffer: StackBufferCursor.create(stack),
|
|
1446
|
+
nodeSet: this.parser.nodeSet,
|
|
1447
|
+
topID: this.topTerm,
|
|
1448
|
+
maxBufferLength: this.parser.bufferLength,
|
|
1449
|
+
reused: this.reused,
|
|
1450
|
+
start: this.ranges[0].from,
|
|
1451
|
+
length: stack.pos - this.ranges[0].from,
|
|
1452
|
+
minRepeatType: this.parser.minRepeatTerm });
|
|
1453
|
+
}
|
|
1454
|
+
stackID(stack) {
|
|
1455
|
+
let id = (stackIDs || (stackIDs = new WeakMap)).get(stack);
|
|
1456
|
+
if (!id)
|
|
1457
|
+
stackIDs.set(stack, id = String.fromCodePoint(this.nextStackID++));
|
|
1458
|
+
return id + stack;
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
function pushStackDedup(stack, newStacks) {
|
|
1462
|
+
for (let i = 0; i < newStacks.length; i++) {
|
|
1463
|
+
let other = newStacks[i];
|
|
1464
|
+
if (other.pos == stack.pos && other.sameState(stack)) {
|
|
1465
|
+
if (newStacks[i].score < stack.score)
|
|
1466
|
+
newStacks[i] = stack;
|
|
1467
|
+
return;
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
newStacks.push(stack);
|
|
1471
|
+
}
|
|
1472
|
+
class Dialect {
|
|
1473
|
+
constructor(source, flags, disabled) {
|
|
1474
|
+
this.source = source;
|
|
1475
|
+
this.flags = flags;
|
|
1476
|
+
this.disabled = disabled;
|
|
1477
|
+
}
|
|
1478
|
+
allows(term) { return !this.disabled || this.disabled[term] == 0; }
|
|
1479
|
+
}
|
|
1480
|
+
/**
|
|
1481
|
+
Holds the parse tables for a given grammar, as generated by
|
|
1482
|
+
`lezer-generator`, and provides [methods](#common.Parser) to parse
|
|
1483
|
+
content with.
|
|
1484
|
+
*/
|
|
1485
|
+
class LRParser extends Parser {
|
|
1486
|
+
/**
|
|
1487
|
+
@internal
|
|
1488
|
+
*/
|
|
1489
|
+
constructor(spec) {
|
|
1490
|
+
super();
|
|
1491
|
+
/**
|
|
1492
|
+
@internal
|
|
1493
|
+
*/
|
|
1494
|
+
this.wrappers = [];
|
|
1495
|
+
if (spec.version != 14 /* File.Version */)
|
|
1496
|
+
throw new RangeError(`Parser version (${spec.version}) doesn't match runtime version (${14 /* File.Version */})`);
|
|
1497
|
+
let nodeNames = spec.nodeNames.split(" ");
|
|
1498
|
+
this.minRepeatTerm = nodeNames.length;
|
|
1499
|
+
for (let i = 0; i < spec.repeatNodeCount; i++)
|
|
1500
|
+
nodeNames.push("");
|
|
1501
|
+
let topTerms = Object.keys(spec.topRules).map(r => spec.topRules[r][1]);
|
|
1502
|
+
let nodeProps = [];
|
|
1503
|
+
for (let i = 0; i < nodeNames.length; i++)
|
|
1504
|
+
nodeProps.push([]);
|
|
1505
|
+
function setProp(nodeID, prop, value) {
|
|
1506
|
+
nodeProps[nodeID].push([prop, prop.deserialize(String(value))]);
|
|
1507
|
+
}
|
|
1508
|
+
if (spec.nodeProps)
|
|
1509
|
+
for (let propSpec of spec.nodeProps) {
|
|
1510
|
+
let prop = propSpec[0];
|
|
1511
|
+
if (typeof prop == "string")
|
|
1512
|
+
prop = NodeProp[prop];
|
|
1513
|
+
for (let i = 1; i < propSpec.length;) {
|
|
1514
|
+
let next = propSpec[i++];
|
|
1515
|
+
if (next >= 0) {
|
|
1516
|
+
setProp(next, prop, propSpec[i++]);
|
|
1517
|
+
}
|
|
1518
|
+
else {
|
|
1519
|
+
let value = propSpec[i + -next];
|
|
1520
|
+
for (let j = -next; j > 0; j--)
|
|
1521
|
+
setProp(propSpec[i++], prop, value);
|
|
1522
|
+
i++;
|
|
1523
|
+
}
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1526
|
+
this.nodeSet = new NodeSet(nodeNames.map((name, i) => NodeType.define({
|
|
1527
|
+
name: i >= this.minRepeatTerm ? undefined : name,
|
|
1528
|
+
id: i,
|
|
1529
|
+
props: nodeProps[i],
|
|
1530
|
+
top: topTerms.indexOf(i) > -1,
|
|
1531
|
+
error: i == 0,
|
|
1532
|
+
skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i) > -1
|
|
1533
|
+
})));
|
|
1534
|
+
if (spec.propSources)
|
|
1535
|
+
this.nodeSet = this.nodeSet.extend(...spec.propSources);
|
|
1536
|
+
this.strict = false;
|
|
1537
|
+
this.bufferLength = DefaultBufferLength;
|
|
1538
|
+
let tokenArray = decodeArray(spec.tokenData);
|
|
1539
|
+
this.context = spec.context;
|
|
1540
|
+
this.specializerSpecs = spec.specialized || [];
|
|
1541
|
+
this.specialized = new Uint16Array(this.specializerSpecs.length);
|
|
1542
|
+
for (let i = 0; i < this.specializerSpecs.length; i++)
|
|
1543
|
+
this.specialized[i] = this.specializerSpecs[i].term;
|
|
1544
|
+
this.specializers = this.specializerSpecs.map(getSpecializer);
|
|
1545
|
+
this.states = decodeArray(spec.states, Uint32Array);
|
|
1546
|
+
this.data = decodeArray(spec.stateData);
|
|
1547
|
+
this.goto = decodeArray(spec.goto);
|
|
1548
|
+
this.maxTerm = spec.maxTerm;
|
|
1549
|
+
this.tokenizers = spec.tokenizers.map(value => typeof value == "number" ? new TokenGroup(tokenArray, value) : value);
|
|
1550
|
+
this.topRules = spec.topRules;
|
|
1551
|
+
this.dialects = spec.dialects || {};
|
|
1552
|
+
this.dynamicPrecedences = spec.dynamicPrecedences || null;
|
|
1553
|
+
this.tokenPrecTable = spec.tokenPrec;
|
|
1554
|
+
this.termNames = spec.termNames || null;
|
|
1555
|
+
this.maxNode = this.nodeSet.types.length - 1;
|
|
1556
|
+
this.dialect = this.parseDialect();
|
|
1557
|
+
this.top = this.topRules[Object.keys(this.topRules)[0]];
|
|
1558
|
+
}
|
|
1559
|
+
createParse(input, fragments, ranges) {
|
|
1560
|
+
let parse = new Parse(this, input, fragments, ranges);
|
|
1561
|
+
for (let w of this.wrappers)
|
|
1562
|
+
parse = w(parse, input, fragments, ranges);
|
|
1563
|
+
return parse;
|
|
1564
|
+
}
|
|
1565
|
+
/**
|
|
1566
|
+
Get a goto table entry @internal
|
|
1567
|
+
*/
|
|
1568
|
+
getGoto(state, term, loose = false) {
|
|
1569
|
+
let table = this.goto;
|
|
1570
|
+
if (term >= table[0])
|
|
1571
|
+
return -1;
|
|
1572
|
+
for (let pos = table[term + 1];;) {
|
|
1573
|
+
let groupTag = table[pos++], last = groupTag & 1;
|
|
1574
|
+
let target = table[pos++];
|
|
1575
|
+
if (last && loose)
|
|
1576
|
+
return target;
|
|
1577
|
+
for (let end = pos + (groupTag >> 1); pos < end; pos++)
|
|
1578
|
+
if (table[pos] == state)
|
|
1579
|
+
return target;
|
|
1580
|
+
if (last)
|
|
1581
|
+
return -1;
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1584
|
+
/**
|
|
1585
|
+
Check if this state has an action for a given terminal @internal
|
|
1586
|
+
*/
|
|
1587
|
+
hasAction(state, terminal) {
|
|
1588
|
+
let data = this.data;
|
|
1589
|
+
for (let set = 0; set < 2; set++) {
|
|
1590
|
+
for (let i = this.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */), next;; i += 3) {
|
|
1591
|
+
if ((next = data[i]) == 65535 /* Seq.End */) {
|
|
1592
|
+
if (data[i + 1] == 1 /* Seq.Next */)
|
|
1593
|
+
next = data[i = pair(data, i + 2)];
|
|
1594
|
+
else if (data[i + 1] == 2 /* Seq.Other */)
|
|
1595
|
+
return pair(data, i + 2);
|
|
1596
|
+
else
|
|
1597
|
+
break;
|
|
1598
|
+
}
|
|
1599
|
+
if (next == terminal || next == 0 /* Term.Err */)
|
|
1600
|
+
return pair(data, i + 1);
|
|
1601
|
+
}
|
|
1602
|
+
}
|
|
1603
|
+
return 0;
|
|
1604
|
+
}
|
|
1605
|
+
/**
|
|
1606
|
+
@internal
|
|
1607
|
+
*/
|
|
1608
|
+
stateSlot(state, slot) {
|
|
1609
|
+
return this.states[(state * 6 /* ParseState.Size */) + slot];
|
|
1610
|
+
}
|
|
1611
|
+
/**
|
|
1612
|
+
@internal
|
|
1613
|
+
*/
|
|
1614
|
+
stateFlag(state, flag) {
|
|
1615
|
+
return (this.stateSlot(state, 0 /* ParseState.Flags */) & flag) > 0;
|
|
1616
|
+
}
|
|
1617
|
+
/**
|
|
1618
|
+
@internal
|
|
1619
|
+
*/
|
|
1620
|
+
validAction(state, action) {
|
|
1621
|
+
return !!this.allActions(state, a => a == action ? true : null);
|
|
1622
|
+
}
|
|
1623
|
+
/**
|
|
1624
|
+
@internal
|
|
1625
|
+
*/
|
|
1626
|
+
allActions(state, action) {
|
|
1627
|
+
let deflt = this.stateSlot(state, 4 /* ParseState.DefaultReduce */);
|
|
1628
|
+
let result = deflt ? action(deflt) : undefined;
|
|
1629
|
+
for (let i = this.stateSlot(state, 1 /* ParseState.Actions */); result == null; i += 3) {
|
|
1630
|
+
if (this.data[i] == 65535 /* Seq.End */) {
|
|
1631
|
+
if (this.data[i + 1] == 1 /* Seq.Next */)
|
|
1632
|
+
i = pair(this.data, i + 2);
|
|
1633
|
+
else
|
|
1634
|
+
break;
|
|
1635
|
+
}
|
|
1636
|
+
result = action(pair(this.data, i + 1));
|
|
1637
|
+
}
|
|
1638
|
+
return result;
|
|
1639
|
+
}
|
|
1640
|
+
/**
|
|
1641
|
+
Get the states that can follow this one through shift actions or
|
|
1642
|
+
goto jumps. @internal
|
|
1643
|
+
*/
|
|
1644
|
+
nextStates(state) {
|
|
1645
|
+
let result = [];
|
|
1646
|
+
for (let i = this.stateSlot(state, 1 /* ParseState.Actions */);; i += 3) {
|
|
1647
|
+
if (this.data[i] == 65535 /* Seq.End */) {
|
|
1648
|
+
if (this.data[i + 1] == 1 /* Seq.Next */)
|
|
1649
|
+
i = pair(this.data, i + 2);
|
|
1650
|
+
else
|
|
1651
|
+
break;
|
|
1652
|
+
}
|
|
1653
|
+
if ((this.data[i + 2] & (65536 /* Action.ReduceFlag */ >> 16)) == 0) {
|
|
1654
|
+
let value = this.data[i + 1];
|
|
1655
|
+
if (!result.some((v, i) => (i & 1) && v == value))
|
|
1656
|
+
result.push(this.data[i], value);
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
return result;
|
|
1660
|
+
}
|
|
1661
|
+
/**
|
|
1662
|
+
Configure the parser. Returns a new parser instance that has the
|
|
1663
|
+
given settings modified. Settings not provided in `config` are
|
|
1664
|
+
kept from the original parser.
|
|
1665
|
+
*/
|
|
1666
|
+
configure(config) {
|
|
1667
|
+
// Hideous reflection-based kludge to make it easy to create a
|
|
1668
|
+
// slightly modified copy of a parser.
|
|
1669
|
+
let copy = Object.assign(Object.create(LRParser.prototype), this);
|
|
1670
|
+
if (config.props)
|
|
1671
|
+
copy.nodeSet = this.nodeSet.extend(...config.props);
|
|
1672
|
+
if (config.top) {
|
|
1673
|
+
let info = this.topRules[config.top];
|
|
1674
|
+
if (!info)
|
|
1675
|
+
throw new RangeError(`Invalid top rule name ${config.top}`);
|
|
1676
|
+
copy.top = info;
|
|
1677
|
+
}
|
|
1678
|
+
if (config.tokenizers)
|
|
1679
|
+
copy.tokenizers = this.tokenizers.map(t => {
|
|
1680
|
+
let found = config.tokenizers.find(r => r.from == t);
|
|
1681
|
+
return found ? found.to : t;
|
|
1682
|
+
});
|
|
1683
|
+
if (config.specializers) {
|
|
1684
|
+
copy.specializers = this.specializers.slice();
|
|
1685
|
+
copy.specializerSpecs = this.specializerSpecs.map((s, i) => {
|
|
1686
|
+
let found = config.specializers.find(r => r.from == s.external);
|
|
1687
|
+
if (!found)
|
|
1688
|
+
return s;
|
|
1689
|
+
let spec = Object.assign(Object.assign({}, s), { external: found.to });
|
|
1690
|
+
copy.specializers[i] = getSpecializer(spec);
|
|
1691
|
+
return spec;
|
|
1692
|
+
});
|
|
1693
|
+
}
|
|
1694
|
+
if (config.contextTracker)
|
|
1695
|
+
copy.context = config.contextTracker;
|
|
1696
|
+
if (config.dialect)
|
|
1697
|
+
copy.dialect = this.parseDialect(config.dialect);
|
|
1698
|
+
if (config.strict != null)
|
|
1699
|
+
copy.strict = config.strict;
|
|
1700
|
+
if (config.wrap)
|
|
1701
|
+
copy.wrappers = copy.wrappers.concat(config.wrap);
|
|
1702
|
+
if (config.bufferLength != null)
|
|
1703
|
+
copy.bufferLength = config.bufferLength;
|
|
1704
|
+
return copy;
|
|
1705
|
+
}
|
|
1706
|
+
/**
|
|
1707
|
+
Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)
|
|
1708
|
+
are registered for this parser.
|
|
1709
|
+
*/
|
|
1710
|
+
hasWrappers() {
|
|
1711
|
+
return this.wrappers.length > 0;
|
|
1712
|
+
}
|
|
1713
|
+
/**
|
|
1714
|
+
Returns the name associated with a given term. This will only
|
|
1715
|
+
work for all terms when the parser was generated with the
|
|
1716
|
+
`--names` option. By default, only the names of tagged terms are
|
|
1717
|
+
stored.
|
|
1718
|
+
*/
|
|
1719
|
+
getName(term) {
|
|
1720
|
+
return this.termNames ? this.termNames[term] : String(term <= this.maxNode && this.nodeSet.types[term].name || term);
|
|
1721
|
+
}
|
|
1722
|
+
/**
|
|
1723
|
+
The eof term id is always allocated directly after the node
|
|
1724
|
+
types. @internal
|
|
1725
|
+
*/
|
|
1726
|
+
get eofTerm() { return this.maxNode + 1; }
|
|
1727
|
+
/**
|
|
1728
|
+
The type of top node produced by the parser.
|
|
1729
|
+
*/
|
|
1730
|
+
get topNode() { return this.nodeSet.types[this.top[1]]; }
|
|
1731
|
+
/**
|
|
1732
|
+
@internal
|
|
1733
|
+
*/
|
|
1734
|
+
dynamicPrecedence(term) {
|
|
1735
|
+
let prec = this.dynamicPrecedences;
|
|
1736
|
+
return prec == null ? 0 : prec[term] || 0;
|
|
1737
|
+
}
|
|
1738
|
+
/**
|
|
1739
|
+
@internal
|
|
1740
|
+
*/
|
|
1741
|
+
parseDialect(dialect) {
|
|
1742
|
+
let values = Object.keys(this.dialects), flags = values.map(() => false);
|
|
1743
|
+
if (dialect)
|
|
1744
|
+
for (let part of dialect.split(" ")) {
|
|
1745
|
+
let id = values.indexOf(part);
|
|
1746
|
+
if (id >= 0)
|
|
1747
|
+
flags[id] = true;
|
|
1748
|
+
}
|
|
1749
|
+
let disabled = null;
|
|
1750
|
+
for (let i = 0; i < values.length; i++)
|
|
1751
|
+
if (!flags[i]) {
|
|
1752
|
+
for (let j = this.dialects[values[i]], id; (id = this.data[j++]) != 65535 /* Seq.End */;)
|
|
1753
|
+
(disabled || (disabled = new Uint8Array(this.maxTerm + 1)))[id] = 1;
|
|
1754
|
+
}
|
|
1755
|
+
return new Dialect(dialect, flags, disabled);
|
|
1756
|
+
}
|
|
1757
|
+
/**
|
|
1758
|
+
Used by the output of the parser generator. Not available to
|
|
1759
|
+
user code. @hide
|
|
1760
|
+
*/
|
|
1761
|
+
static deserialize(spec) {
|
|
1762
|
+
return new LRParser(spec);
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
function pair(data, off) { return data[off] | (data[off + 1] << 16); }
|
|
1766
|
+
function findFinished(stacks) {
|
|
1767
|
+
let best = null;
|
|
1768
|
+
for (let stack of stacks) {
|
|
1769
|
+
let stopped = stack.p.stoppedAt;
|
|
1770
|
+
if ((stack.pos == stack.p.stream.end || stopped != null && stack.pos > stopped) &&
|
|
1771
|
+
stack.p.parser.stateFlag(stack.state, 2 /* StateFlag.Accepting */) &&
|
|
1772
|
+
(!best || best.score < stack.score))
|
|
1773
|
+
best = stack;
|
|
1774
|
+
}
|
|
1775
|
+
return best;
|
|
1776
|
+
}
|
|
1777
|
+
function getSpecializer(spec) {
|
|
1778
|
+
if (spec.external) {
|
|
1779
|
+
let mask = spec.extend ? 1 /* Specialize.Extend */ : 0 /* Specialize.Specialize */;
|
|
1780
|
+
return (value, stack) => (spec.external(value, stack) << 1) | mask;
|
|
1781
|
+
}
|
|
1782
|
+
return spec.get;
|
|
1783
|
+
}
|
|
1784
|
+
|
|
1785
|
+
export { InputStream, LRParser, Stack };
|
|
1786
|
+
//# sourceMappingURL=index.js.map
|