@malloydata/malloy 0.0.22-dev230207144036 → 0.0.22-dev230207180844
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/connection_utils.d.ts +1 -0
- package/dist/connection_utils.js +66 -0
- package/dist/dialect/dialect.d.ts +66 -0
- package/dist/dialect/dialect.js +85 -0
- package/dist/dialect/dialect_map.d.ts +3 -0
- package/dist/dialect/dialect_map.js +45 -0
- package/dist/dialect/duckdb.d.ts +52 -0
- package/dist/dialect/duckdb.js +364 -0
- package/dist/dialect/index.d.ts +6 -0
- package/dist/dialect/index.js +37 -0
- package/dist/dialect/postgres.d.ts +52 -0
- package/dist/dialect/postgres.js +330 -0
- package/dist/dialect/standardsql.d.ts +49 -0
- package/dist/dialect/standardsql.js +381 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +59 -0
- package/dist/lang/ast/ast-utils.d.ts +10 -0
- package/dist/lang/ast/ast-utils.js +42 -0
- package/dist/lang/ast/elements/define-query.d.ts +14 -0
- package/dist/lang/ast/elements/define-query.js +56 -0
- package/dist/lang/ast/elements/define-source.d.ts +17 -0
- package/dist/lang/ast/elements/define-source.js +79 -0
- package/dist/lang/ast/elements/import-statement.d.ts +9 -0
- package/dist/lang/ast/elements/import-statement.js +78 -0
- package/dist/lang/ast/elements/pipeline-desc.d.ts +30 -0
- package/dist/lang/ast/elements/pipeline-desc.js +102 -0
- package/dist/lang/ast/elements/refined-source.d.ts +15 -0
- package/dist/lang/ast/elements/refined-source.js +121 -0
- package/dist/lang/ast/elements/source.d.ts +12 -0
- package/dist/lang/ast/elements/source.js +53 -0
- package/dist/lang/ast/error-factory.d.ts +9 -0
- package/dist/lang/ast/error-factory.js +61 -0
- package/dist/lang/ast/executors/index-executor.d.ts +18 -0
- package/dist/lang/ast/executors/index-executor.js +96 -0
- package/dist/lang/ast/executors/project-executor.d.ts +10 -0
- package/dist/lang/ast/executors/project-executor.js +68 -0
- package/dist/lang/ast/executors/reduce-executor.d.ts +21 -0
- package/dist/lang/ast/executors/reduce-executor.js +149 -0
- package/dist/lang/ast/expressions/apply.d.ts +8 -0
- package/dist/lang/ast/expressions/apply.js +37 -0
- package/dist/lang/ast/expressions/binary-boolean.d.ts +12 -0
- package/dist/lang/ast/expressions/binary-boolean.js +54 -0
- package/dist/lang/ast/expressions/binary-numeric.d.ts +11 -0
- package/dist/lang/ast/expressions/binary-numeric.js +42 -0
- package/dist/lang/ast/expressions/boolean.d.ts +8 -0
- package/dist/lang/ast/expressions/boolean.js +39 -0
- package/dist/lang/ast/expressions/constant-sub-expression.d.ts +16 -0
- package/dist/lang/ast/expressions/constant-sub-expression.js +98 -0
- package/dist/lang/ast/expressions/expr-add-sub.d.ts +4 -0
- package/dist/lang/ast/expressions/expr-add-sub.js +34 -0
- package/dist/lang/ast/expressions/expr-aggregate-function.d.ts +15 -0
- package/dist/lang/ast/expressions/expr-aggregate-function.js +99 -0
- package/dist/lang/ast/expressions/expr-alternation-tree.d.ts +11 -0
- package/dist/lang/ast/expressions/expr-alternation-tree.js +54 -0
- package/dist/lang/ast/expressions/expr-asymmetric.d.ts +10 -0
- package/dist/lang/ast/expressions/expr-asymmetric.js +27 -0
- package/dist/lang/ast/expressions/expr-avg.d.ts +6 -0
- package/dist/lang/ast/expressions/expr-avg.js +34 -0
- package/dist/lang/ast/expressions/expr-cast.d.ts +13 -0
- package/dist/lang/ast/expressions/expr-cast.js +29 -0
- package/dist/lang/ast/expressions/expr-compare.d.ts +10 -0
- package/dist/lang/ast/expressions/expr-compare.js +58 -0
- package/dist/lang/ast/expressions/expr-count-distinct.d.ts +6 -0
- package/dist/lang/ast/expressions/expr-count-distinct.js +35 -0
- package/dist/lang/ast/expressions/expr-count.d.ts +11 -0
- package/dist/lang/ast/expressions/expr-count.js +57 -0
- package/dist/lang/ast/expressions/expr-filter.d.ts +12 -0
- package/dist/lang/ast/expressions/expr-filter.js +69 -0
- package/dist/lang/ast/expressions/expr-func.d.ts +10 -0
- package/dist/lang/ast/expressions/expr-func.js +63 -0
- package/dist/lang/ast/expressions/expr-granular-time.d.ts +24 -0
- package/dist/lang/ast/expressions/expr-granular-time.js +117 -0
- package/dist/lang/ast/expressions/expr-id-reference.d.ts +12 -0
- package/dist/lang/ast/expressions/expr-id-reference.js +75 -0
- package/dist/lang/ast/expressions/expr-logical-op.d.ts +9 -0
- package/dist/lang/ast/expressions/expr-logical-op.js +36 -0
- package/dist/lang/ast/expressions/expr-max.d.ts +9 -0
- package/dist/lang/ast/expressions/expr-max.js +16 -0
- package/dist/lang/ast/expressions/expr-min.d.ts +9 -0
- package/dist/lang/ast/expressions/expr-min.js +16 -0
- package/dist/lang/ast/expressions/expr-minus.d.ts +9 -0
- package/dist/lang/ast/expressions/expr-minus.js +48 -0
- package/dist/lang/ast/expressions/expr-mul-div.d.ts +4 -0
- package/dist/lang/ast/expressions/expr-mul-div.js +34 -0
- package/dist/lang/ast/expressions/expr-not.d.ts +10 -0
- package/dist/lang/ast/expressions/expr-not.js +49 -0
- package/dist/lang/ast/expressions/expr-now.d.ts +7 -0
- package/dist/lang/ast/expressions/expr-now.js +46 -0
- package/dist/lang/ast/expressions/expr-null.d.ts +6 -0
- package/dist/lang/ast/expressions/expr-null.js +41 -0
- package/dist/lang/ast/expressions/expr-number.d.ts +10 -0
- package/dist/lang/ast/expressions/expr-number.js +42 -0
- package/dist/lang/ast/expressions/expr-parens.d.ts +10 -0
- package/dist/lang/ast/expressions/expr-parens.js +42 -0
- package/dist/lang/ast/expressions/expr-regex.d.ts +8 -0
- package/dist/lang/ast/expressions/expr-regex.js +42 -0
- package/dist/lang/ast/expressions/expr-string.d.ts +9 -0
- package/dist/lang/ast/expressions/expr-string.js +50 -0
- package/dist/lang/ast/expressions/expr-sum.d.ts +6 -0
- package/dist/lang/ast/expressions/expr-sum.js +12 -0
- package/dist/lang/ast/expressions/expr-time-extract.d.ts +13 -0
- package/dist/lang/ast/expressions/expr-time-extract.js +117 -0
- package/dist/lang/ast/expressions/expr-time.d.ts +11 -0
- package/dist/lang/ast/expressions/expr-time.js +62 -0
- package/dist/lang/ast/expressions/expr-ungroup.d.ts +14 -0
- package/dist/lang/ast/expressions/expr-ungroup.js +83 -0
- package/dist/lang/ast/expressions/for-range.d.ts +19 -0
- package/dist/lang/ast/expressions/for-range.js +101 -0
- package/dist/lang/ast/expressions/granular-literal.d.ts +20 -0
- package/dist/lang/ast/expressions/granular-literal.js +148 -0
- package/dist/lang/ast/expressions/partial-compare.d.ts +14 -0
- package/dist/lang/ast/expressions/partial-compare.js +50 -0
- package/dist/lang/ast/expressions/pick-when.d.ts +19 -0
- package/dist/lang/ast/expressions/pick-when.js +156 -0
- package/dist/lang/ast/expressions/range.d.ts +12 -0
- package/dist/lang/ast/expressions/range.js +80 -0
- package/dist/lang/ast/expressions/time-frame.d.ts +7 -0
- package/dist/lang/ast/expressions/time-frame.js +40 -0
- package/dist/lang/ast/expressions/top-by.d.ts +10 -0
- package/dist/lang/ast/expressions/top-by.js +51 -0
- package/dist/lang/ast/expressions/unary.d.ts +5 -0
- package/dist/lang/ast/expressions/unary.js +34 -0
- package/dist/lang/ast/expressions/utils.d.ts +12 -0
- package/dist/lang/ast/expressions/utils.js +87 -0
- package/dist/lang/ast/field-space/column-space-field.d.ts +9 -0
- package/dist/lang/ast/field-space/column-space-field.js +40 -0
- package/dist/lang/ast/field-space/dynamic-space.d.ts +22 -0
- package/dist/lang/ast/field-space/dynamic-space.js +140 -0
- package/dist/lang/ast/field-space/field-definition-value.d.ts +16 -0
- package/dist/lang/ast/field-space/field-definition-value.js +55 -0
- package/dist/lang/ast/field-space/index-field-space.d.ts +10 -0
- package/dist/lang/ast/field-space/index-field-space.js +57 -0
- package/dist/lang/ast/field-space/join-space-field.d.ts +8 -0
- package/dist/lang/ast/field-space/join-space-field.js +35 -0
- package/dist/lang/ast/field-space/project-field-space.d.ts +6 -0
- package/dist/lang/ast/field-space/project-field-space.js +51 -0
- package/dist/lang/ast/field-space/query-field-struct.d.ts +10 -0
- package/dist/lang/ast/field-space/query-field-struct.js +46 -0
- package/dist/lang/ast/field-space/query-space-field.d.ts +11 -0
- package/dist/lang/ast/field-space/query-space-field.js +37 -0
- package/dist/lang/ast/field-space/query-spaces.d.ts +50 -0
- package/dist/lang/ast/field-space/query-spaces.js +233 -0
- package/dist/lang/ast/field-space/reference-field.d.ts +11 -0
- package/dist/lang/ast/field-space/reference-field.js +45 -0
- package/dist/lang/ast/field-space/refined-space.d.ts +13 -0
- package/dist/lang/ast/field-space/refined-space.js +100 -0
- package/dist/lang/ast/field-space/rename-space-field.d.ts +11 -0
- package/dist/lang/ast/field-space/rename-space-field.js +50 -0
- package/dist/lang/ast/field-space/static-space.d.ts +29 -0
- package/dist/lang/ast/field-space/static-space.js +156 -0
- package/dist/lang/ast/field-space/struct-space-field-base.d.ts +11 -0
- package/dist/lang/ast/field-space/struct-space-field-base.js +40 -0
- package/dist/lang/ast/field-space/wild-space-field.d.ts +10 -0
- package/dist/lang/ast/field-space/wild-space-field.js +40 -0
- package/dist/lang/ast/fragtype-utils.d.ts +39 -0
- package/dist/lang/ast/fragtype-utils.js +100 -0
- package/dist/lang/ast/index.d.ts +90 -0
- package/dist/lang/ast/index.js +129 -0
- package/dist/lang/ast/parameters/constant-parameter.d.ts +8 -0
- package/dist/lang/ast/parameters/constant-parameter.js +54 -0
- package/dist/lang/ast/parameters/has-parameter.d.ts +19 -0
- package/dist/lang/ast/parameters/has-parameter.js +64 -0
- package/dist/lang/ast/query-elements/anonymous-query.d.ts +9 -0
- package/dist/lang/ast/query-elements/anonymous-query.js +41 -0
- package/dist/lang/ast/query-elements/existing-query.d.ts +11 -0
- package/dist/lang/ast/query-elements/existing-query.js +79 -0
- package/dist/lang/ast/query-elements/full-query.d.ts +10 -0
- package/dist/lang/ast/query-elements/full-query.js +85 -0
- package/dist/lang/ast/query-elements/query-head-struct.d.ts +9 -0
- package/dist/lang/ast/query-elements/query-head-struct.js +48 -0
- package/dist/lang/ast/query-items/field-declaration.d.ts +31 -0
- package/dist/lang/ast/query-items/field-declaration.js +137 -0
- package/dist/lang/ast/query-items/field-references.d.ts +25 -0
- package/dist/lang/ast/query-items/field-references.js +80 -0
- package/dist/lang/ast/query-properties/aggregate.d.ts +5 -0
- package/dist/lang/ast/query-properties/aggregate.js +39 -0
- package/dist/lang/ast/query-properties/declare-fields.d.ts +5 -0
- package/dist/lang/ast/query-properties/declare-fields.js +33 -0
- package/dist/lang/ast/query-properties/dimmensions.d.ts +5 -0
- package/dist/lang/ast/query-properties/dimmensions.js +36 -0
- package/dist/lang/ast/query-properties/filters.d.ts +18 -0
- package/dist/lang/ast/query-properties/filters.js +89 -0
- package/dist/lang/ast/query-properties/group-by.d.ts +5 -0
- package/dist/lang/ast/query-properties/group-by.js +39 -0
- package/dist/lang/ast/query-properties/indexing.d.ts +10 -0
- package/dist/lang/ast/query-properties/indexing.js +39 -0
- package/dist/lang/ast/query-properties/joins.d.ts +36 -0
- package/dist/lang/ast/query-properties/joins.js +143 -0
- package/dist/lang/ast/query-properties/limit.d.ts +6 -0
- package/dist/lang/ast/query-properties/limit.js +35 -0
- package/dist/lang/ast/query-properties/measures.d.ts +5 -0
- package/dist/lang/ast/query-properties/measures.js +36 -0
- package/dist/lang/ast/query-properties/nest-reference.d.ts +7 -0
- package/dist/lang/ast/query-properties/nest-reference.js +35 -0
- package/dist/lang/ast/query-properties/nest.d.ts +31 -0
- package/dist/lang/ast/query-properties/nest.js +133 -0
- package/dist/lang/ast/query-properties/nests.d.ts +5 -0
- package/dist/lang/ast/query-properties/nests.js +33 -0
- package/dist/lang/ast/query-properties/ordering.d.ts +15 -0
- package/dist/lang/ast/query-properties/ordering.js +66 -0
- package/dist/lang/ast/query-properties/project-statement.d.ts +5 -0
- package/dist/lang/ast/query-properties/project-statement.js +33 -0
- package/dist/lang/ast/query-properties/qop-desc.d.ts +17 -0
- package/dist/lang/ast/query-properties/qop-desc.js +124 -0
- package/dist/lang/ast/query-properties/sampling.d.ts +8 -0
- package/dist/lang/ast/query-properties/sampling.js +38 -0
- package/dist/lang/ast/query-properties/top.d.ts +13 -0
- package/dist/lang/ast/query-properties/top.js +60 -0
- package/dist/lang/ast/source-properties/field-list-edit.d.ts +8 -0
- package/dist/lang/ast/source-properties/field-list-edit.js +36 -0
- package/dist/lang/ast/source-properties/primary-key.d.ts +7 -0
- package/dist/lang/ast/source-properties/primary-key.js +35 -0
- package/dist/lang/ast/source-properties/renames.d.ts +11 -0
- package/dist/lang/ast/source-properties/renames.js +43 -0
- package/dist/lang/ast/source-properties/turtles.d.ts +5 -0
- package/dist/lang/ast/source-properties/turtles.js +33 -0
- package/dist/lang/ast/sources/named-source.d.ts +19 -0
- package/dist/lang/ast/sources/named-source.js +147 -0
- package/dist/lang/ast/sources/query-source.d.ts +9 -0
- package/dist/lang/ast/sources/query-source.js +41 -0
- package/dist/lang/ast/sources/sql-source.d.ts +7 -0
- package/dist/lang/ast/sources/sql-source.js +54 -0
- package/dist/lang/ast/sources/table-source.d.ts +8 -0
- package/dist/lang/ast/sources/table-source.js +60 -0
- package/dist/lang/ast/space-seed.d.ts +16 -0
- package/dist/lang/ast/space-seed.js +59 -0
- package/dist/lang/ast/sql-elements/sql-statement.d.ts +19 -0
- package/dist/lang/ast/sql-elements/sql-statement.js +80 -0
- package/dist/lang/ast/sql-elements/sql-string.d.ts +12 -0
- package/dist/lang/ast/sql-elements/sql-string.js +60 -0
- package/dist/lang/ast/struct-utils.d.ts +4 -0
- package/dist/lang/ast/struct-utils.js +48 -0
- package/dist/lang/ast/time-utils.d.ts +12 -0
- package/dist/lang/ast/time-utils.js +140 -0
- package/dist/lang/ast/types/comparison.d.ts +11 -0
- package/dist/lang/ast/types/comparison.js +41 -0
- package/dist/lang/ast/types/document-compile-result.d.ts +8 -0
- package/dist/lang/ast/types/document-compile-result.js +25 -0
- package/dist/lang/ast/types/equality.d.ts +7 -0
- package/dist/lang/ast/types/equality.js +37 -0
- package/dist/lang/ast/types/executor.d.ts +9 -0
- package/dist/lang/ast/types/executor.js +25 -0
- package/dist/lang/ast/types/explore-desc.d.ts +5 -0
- package/dist/lang/ast/types/explore-desc.js +33 -0
- package/dist/lang/ast/types/explore-field.d.ts +5 -0
- package/dist/lang/ast/types/explore-field.js +32 -0
- package/dist/lang/ast/types/expr-result.d.ts +5 -0
- package/dist/lang/ast/types/expr-result.js +25 -0
- package/dist/lang/ast/types/expr-value.d.ts +3 -0
- package/dist/lang/ast/types/expr-value.js +25 -0
- package/dist/lang/ast/types/expression-def.d.ts +69 -0
- package/dist/lang/ast/types/expression-def.js +346 -0
- package/dist/lang/ast/types/field-collection-member.d.ts +5 -0
- package/dist/lang/ast/types/field-collection-member.js +34 -0
- package/dist/lang/ast/types/field-decl.d.ts +7 -0
- package/dist/lang/ast/types/field-decl.js +37 -0
- package/dist/lang/ast/types/field-space.d.ts +24 -0
- package/dist/lang/ast/types/field-space.js +44 -0
- package/dist/lang/ast/types/granular-result.d.ts +7 -0
- package/dist/lang/ast/types/granular-result.js +11 -0
- package/dist/lang/ast/types/lookup-result.d.ts +10 -0
- package/dist/lang/ast/types/lookup-result.js +25 -0
- package/dist/lang/ast/types/malloy-element.d.ts +106 -0
- package/dist/lang/ast/types/malloy-element.js +398 -0
- package/dist/lang/ast/types/model-entry.d.ts +6 -0
- package/dist/lang/ast/types/model-entry.js +25 -0
- package/dist/lang/ast/types/name-space.d.ts +5 -0
- package/dist/lang/ast/types/name-space.js +25 -0
- package/dist/lang/ast/types/nested-query.d.ts +3 -0
- package/dist/lang/ast/types/nested-query.js +25 -0
- package/dist/lang/ast/types/op-desc.d.ts +6 -0
- package/dist/lang/ast/types/op-desc.js +25 -0
- package/dist/lang/ast/types/query-comp.d.ts +5 -0
- package/dist/lang/ast/types/query-comp.js +25 -0
- package/dist/lang/ast/types/query-element.d.ts +5 -0
- package/dist/lang/ast/types/query-element.js +32 -0
- package/dist/lang/ast/types/query-item.d.ts +5 -0
- package/dist/lang/ast/types/query-item.js +25 -0
- package/dist/lang/ast/types/query-property.d.ts +17 -0
- package/dist/lang/ast/types/query-property.js +55 -0
- package/dist/lang/ast/types/source-property.d.ts +10 -0
- package/dist/lang/ast/types/source-property.js +43 -0
- package/dist/lang/ast/types/space-entry.d.ts +5 -0
- package/dist/lang/ast/types/space-entry.js +29 -0
- package/dist/lang/ast/types/space-field.d.ts +10 -0
- package/dist/lang/ast/types/space-field.js +48 -0
- package/dist/lang/ast/types/space-param.d.ts +20 -0
- package/dist/lang/ast/types/space-param.js +61 -0
- package/dist/lang/ast/types/time-result.d.ts +6 -0
- package/dist/lang/ast/types/time-result.js +25 -0
- package/dist/lang/ast/types/turtle-headed-pipe.d.ts +7 -0
- package/dist/lang/ast/types/turtle-headed-pipe.js +37 -0
- package/dist/lang/ast/types/type-desc.d.ts +7 -0
- package/dist/lang/ast/types/type-desc.js +25 -0
- package/dist/lang/field-utils.d.ts +5 -0
- package/dist/lang/field-utils.js +43 -0
- package/dist/lang/index.d.ts +10 -0
- package/dist/lang/index.js +32 -0
- package/dist/lang/lib/Malloy/MalloyLexer.d.ts +165 -0
- package/dist/lang/lib/Malloy/MalloyLexer.js +1232 -0
- package/dist/lang/lib/Malloy/MalloyParser.d.ts +1947 -0
- package/dist/lang/lib/Malloy/MalloyParser.js +11909 -0
- package/dist/lang/lib/Malloy/MalloyParserListener.d.ts +2022 -0
- package/dist/lang/lib/Malloy/MalloyParserListener.js +4 -0
- package/dist/lang/lib/Malloy/MalloyParserVisitor.d.ts +1274 -0
- package/dist/lang/lib/Malloy/MalloyParserVisitor.js +4 -0
- package/dist/lang/malloy-to-ast.d.ts +155 -0
- package/dist/lang/malloy-to-ast.js +990 -0
- package/dist/lang/parse-error-handler.d.ts +9 -0
- package/dist/lang/parse-error-handler.js +44 -0
- package/dist/lang/parse-log.d.ts +27 -0
- package/dist/lang/parse-log.js +51 -0
- package/dist/lang/parse-malloy.d.ts +182 -0
- package/dist/lang/parse-malloy.js +728 -0
- package/dist/lang/parse-tree-walkers/document-completion-walker.d.ts +10 -0
- package/dist/lang/parse-tree-walkers/document-completion-walker.js +148 -0
- package/dist/lang/parse-tree-walkers/document-help-context-walker.d.ts +9 -0
- package/dist/lang/parse-tree-walkers/document-help-context-walker.js +107 -0
- package/dist/lang/parse-tree-walkers/document-highlight-walker.d.ts +83 -0
- package/dist/lang/parse-tree-walkers/document-highlight-walker.js +385 -0
- package/dist/lang/parse-tree-walkers/document-symbol-walker.d.ts +11 -0
- package/dist/lang/parse-tree-walkers/document-symbol-walker.js +182 -0
- package/dist/lang/parse-tree-walkers/explore-query-walker.d.ts +34 -0
- package/dist/lang/parse-tree-walkers/explore-query-walker.js +74 -0
- package/dist/lang/parse-tree-walkers/find-external-references.d.ts +11 -0
- package/dist/lang/parse-tree-walkers/find-external-references.js +61 -0
- package/dist/lang/reference-list.d.ts +10 -0
- package/dist/lang/reference-list.js +90 -0
- package/dist/lang/test/document-help-context-walker.spec.d.ts +1 -0
- package/dist/lang/test/document-help-context-walker.spec.js +55 -0
- package/dist/lang/test/document-symbol-walker.spec.d.ts +1 -0
- package/dist/lang/test/document-symbol-walker.spec.js +110 -0
- package/dist/lang/test/field-symbols.spec.d.ts +1 -0
- package/dist/lang/test/field-symbols.spec.js +184 -0
- package/dist/lang/test/parse.spec.d.ts +14 -0
- package/dist/lang/test/parse.spec.js +2135 -0
- package/dist/lang/test/test-translator.d.ts +41 -0
- package/dist/lang/test/test-translator.js +344 -0
- package/dist/lang/translate-response.d.ts +59 -0
- package/dist/lang/translate-response.js +30 -0
- package/dist/lang/zone.d.ts +57 -0
- package/dist/lang/zone.js +107 -0
- package/dist/malloy.d.ts +1146 -0
- package/dist/malloy.js +2413 -0
- package/dist/model/index.d.ts +2 -0
- package/dist/model/index.js +45 -0
- package/dist/model/malloy_query.d.ts +351 -0
- package/dist/model/malloy_query.js +3174 -0
- package/dist/model/malloy_types.d.ts +551 -0
- package/dist/model/malloy_types.js +378 -0
- package/dist/model/sql_block.d.ts +7 -0
- package/dist/model/sql_block.js +56 -0
- package/dist/model/utils.d.ts +22 -0
- package/dist/model/utils.js +102 -0
- package/dist/run_sql_options.d.ts +3 -0
- package/dist/run_sql_options.js +25 -0
- package/dist/runtime_types.d.ts +105 -0
- package/dist/runtime_types.js +25 -0
- package/package.json +2 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CommonTokenStream } from "antlr4ts";
|
|
2
|
+
import { ParseTree } from "antlr4ts/tree";
|
|
3
|
+
export interface DocumentCompletion {
|
|
4
|
+
type: string;
|
|
5
|
+
text: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function walkForDocumentCompletions(tokens: CommonTokenStream, parseTree: ParseTree, position: {
|
|
8
|
+
line: number;
|
|
9
|
+
character: number;
|
|
10
|
+
}): DocumentCompletion[];
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
* a copy of this software and associated documentation files
|
|
7
|
+
* (the "Software"), to deal in the Software without restriction,
|
|
8
|
+
* including without limitation the rights to use, copy, modify, merge,
|
|
9
|
+
* publish, distribute, sublicense, and/or sell copies of the Software,
|
|
10
|
+
* and to permit persons to whom the Software is furnished to do so,
|
|
11
|
+
* subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be
|
|
14
|
+
* included in all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
19
|
+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
|
+
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
21
|
+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.walkForDocumentCompletions = void 0;
|
|
26
|
+
const ParseTreeWalker_1 = require("antlr4ts/tree/ParseTreeWalker");
|
|
27
|
+
const EXPLORE_PROPERTIES = [
|
|
28
|
+
"dimension",
|
|
29
|
+
"measure",
|
|
30
|
+
"join_one",
|
|
31
|
+
"join_many",
|
|
32
|
+
"join_cross",
|
|
33
|
+
"where",
|
|
34
|
+
"primary_key",
|
|
35
|
+
"rename",
|
|
36
|
+
"accept",
|
|
37
|
+
"except",
|
|
38
|
+
"query",
|
|
39
|
+
"declare",
|
|
40
|
+
];
|
|
41
|
+
const QUERY_PROPERTIES = [
|
|
42
|
+
"group_by",
|
|
43
|
+
"project",
|
|
44
|
+
"index",
|
|
45
|
+
"aggregate",
|
|
46
|
+
"top",
|
|
47
|
+
"limit",
|
|
48
|
+
"order_by",
|
|
49
|
+
"where",
|
|
50
|
+
"having",
|
|
51
|
+
"nest",
|
|
52
|
+
"declare",
|
|
53
|
+
];
|
|
54
|
+
const MODEL_PROPERTIES = ["source", "explore", "query", "sql"];
|
|
55
|
+
class DocumentCompletionWalker {
|
|
56
|
+
constructor(tokens, completions, position) {
|
|
57
|
+
this.tokens = tokens;
|
|
58
|
+
this.completions = completions;
|
|
59
|
+
this.position = position;
|
|
60
|
+
}
|
|
61
|
+
rangeOf(pcx) {
|
|
62
|
+
const stopToken = pcx.stop || pcx.start;
|
|
63
|
+
return {
|
|
64
|
+
start: {
|
|
65
|
+
line: pcx.start.line - 1,
|
|
66
|
+
character: pcx.start.charPositionInLine,
|
|
67
|
+
},
|
|
68
|
+
end: {
|
|
69
|
+
line: stopToken.line - 1,
|
|
70
|
+
character: stopToken.stopIndex -
|
|
71
|
+
(stopToken.startIndex - stopToken.charPositionInLine) +
|
|
72
|
+
1,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
inRange(range) {
|
|
77
|
+
const { start, end } = range;
|
|
78
|
+
const afterStart = this.position.line > start.line ||
|
|
79
|
+
(this.position.line === start.line &&
|
|
80
|
+
this.position.character >= start.character);
|
|
81
|
+
const beforeEnd = this.position.line < end.line ||
|
|
82
|
+
(this.position.line === end.line &&
|
|
83
|
+
this.position.character <= end.character);
|
|
84
|
+
return afterStart && beforeEnd;
|
|
85
|
+
}
|
|
86
|
+
enterExploreProperties(ctx) {
|
|
87
|
+
if (this.inRange(this.rangeOf(ctx))) {
|
|
88
|
+
let insideStatement = false;
|
|
89
|
+
for (const exploreStatementContext of ctx.exploreStatement()) {
|
|
90
|
+
if (this.inRange(this.rangeOf(exploreStatementContext))) {
|
|
91
|
+
insideStatement = true;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (!insideStatement) {
|
|
95
|
+
for (const property of EXPLORE_PROPERTIES) {
|
|
96
|
+
this.completions.push({
|
|
97
|
+
type: "explore_property",
|
|
98
|
+
text: `${property}: `,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
enterQueryProperties(ctx) {
|
|
105
|
+
if (this.inRange(this.rangeOf(ctx))) {
|
|
106
|
+
let insideStatement = false;
|
|
107
|
+
for (const exploreStatementContext of ctx.queryStatement()) {
|
|
108
|
+
if (this.inRange(this.rangeOf(exploreStatementContext))) {
|
|
109
|
+
insideStatement = true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (!insideStatement) {
|
|
113
|
+
for (const property of QUERY_PROPERTIES) {
|
|
114
|
+
this.completions.push({
|
|
115
|
+
type: "query_property",
|
|
116
|
+
text: `${property}: `,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
enterMalloyDocument(ctx) {
|
|
123
|
+
if (this.inRange(this.rangeOf(ctx))) {
|
|
124
|
+
let insideStatement = false;
|
|
125
|
+
for (const modelStatementContext of ctx.malloyStatement()) {
|
|
126
|
+
if (this.inRange(this.rangeOf(modelStatementContext))) {
|
|
127
|
+
insideStatement = true;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (!insideStatement) {
|
|
131
|
+
for (const property of MODEL_PROPERTIES) {
|
|
132
|
+
this.completions.push({
|
|
133
|
+
type: "model_property",
|
|
134
|
+
text: `${property}: `,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function walkForDocumentCompletions(tokens, parseTree, position) {
|
|
142
|
+
const finder = new DocumentCompletionWalker(tokens, [], position);
|
|
143
|
+
const listener = finder;
|
|
144
|
+
ParseTreeWalker_1.ParseTreeWalker.DEFAULT.walk(listener, parseTree);
|
|
145
|
+
return finder.completions;
|
|
146
|
+
}
|
|
147
|
+
exports.walkForDocumentCompletions = walkForDocumentCompletions;
|
|
148
|
+
//# sourceMappingURL=document-completion-walker.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ParseTree } from "antlr4ts/tree";
|
|
2
|
+
export interface DocumentHelpContext {
|
|
3
|
+
type: string;
|
|
4
|
+
token: string | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare function walkForDocumentHelpContext(parseTree: ParseTree, position: {
|
|
7
|
+
line: number;
|
|
8
|
+
character: number;
|
|
9
|
+
}): DocumentHelpContext | undefined;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
*
|
|
5
|
+
* Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
* a copy of this software and associated documentation files
|
|
7
|
+
* (the "Software"), to deal in the Software without restriction,
|
|
8
|
+
* including without limitation the rights to use, copy, modify, merge,
|
|
9
|
+
* publish, distribute, sublicense, and/or sell copies of the Software,
|
|
10
|
+
* and to permit persons to whom the Software is furnished to do so,
|
|
11
|
+
* subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be
|
|
14
|
+
* included in all copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
19
|
+
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
|
+
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
21
|
+
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
|
+
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.walkForDocumentHelpContext = void 0;
|
|
26
|
+
const tree_1 = require("antlr4ts/tree");
|
|
27
|
+
class HelpContextVisitor extends tree_1.AbstractParseTreeVisitor {
|
|
28
|
+
constructor(position) {
|
|
29
|
+
super();
|
|
30
|
+
this.position = position;
|
|
31
|
+
this.type = "";
|
|
32
|
+
}
|
|
33
|
+
rangeOf(ctx) {
|
|
34
|
+
const stopToken = ctx.stop || ctx.start;
|
|
35
|
+
return {
|
|
36
|
+
start: {
|
|
37
|
+
line: ctx.start.line - 1,
|
|
38
|
+
character: ctx.start.charPositionInLine,
|
|
39
|
+
},
|
|
40
|
+
end: {
|
|
41
|
+
line: stopToken.line - 1,
|
|
42
|
+
character: stopToken.stopIndex -
|
|
43
|
+
(stopToken.startIndex - stopToken.charPositionInLine) +
|
|
44
|
+
1,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
inRange(range) {
|
|
49
|
+
return (range.start.line <= this.position.line &&
|
|
50
|
+
range.end.line >= this.position.line &&
|
|
51
|
+
(this.position.line !== range.start.line ||
|
|
52
|
+
this.position.character >= range.start.character) &&
|
|
53
|
+
(this.position.line !== range.end.line ||
|
|
54
|
+
this.position.character <= range.end.character));
|
|
55
|
+
}
|
|
56
|
+
defaultResult() {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
visitChildren(ctx) {
|
|
60
|
+
let result = this.defaultResult();
|
|
61
|
+
if (this.inRange(this.rangeOf(ctx))) {
|
|
62
|
+
result = {
|
|
63
|
+
type: this.type,
|
|
64
|
+
token: ctx.start.text,
|
|
65
|
+
};
|
|
66
|
+
const n = ctx.childCount;
|
|
67
|
+
for (let i = 0; i < n; i++) {
|
|
68
|
+
const c = ctx.getChild(i);
|
|
69
|
+
const childResult = c.accept(this);
|
|
70
|
+
if (childResult) {
|
|
71
|
+
result = this.aggregateResult(result, childResult);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
visitMalloyDocument(ctx) {
|
|
78
|
+
if (this.inRange(this.rangeOf(ctx))) {
|
|
79
|
+
this.type = "model_property";
|
|
80
|
+
return this.visitChildren(ctx);
|
|
81
|
+
}
|
|
82
|
+
return this.defaultResult();
|
|
83
|
+
}
|
|
84
|
+
visitExploreProperties(ctx) {
|
|
85
|
+
if (this.inRange(this.rangeOf(ctx))) {
|
|
86
|
+
this.type = "explore_property";
|
|
87
|
+
return this.visitChildren(ctx);
|
|
88
|
+
}
|
|
89
|
+
return this.defaultResult();
|
|
90
|
+
}
|
|
91
|
+
visitQueryProperties(ctx) {
|
|
92
|
+
if (this.inRange(this.rangeOf(ctx))) {
|
|
93
|
+
this.type = "query_property";
|
|
94
|
+
return this.visitChildren(ctx);
|
|
95
|
+
}
|
|
96
|
+
return this.defaultResult();
|
|
97
|
+
}
|
|
98
|
+
aggregateResult(aggregate, nextResult) {
|
|
99
|
+
return nextResult;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function walkForDocumentHelpContext(parseTree, position) {
|
|
103
|
+
const visitor = new HelpContextVisitor(position);
|
|
104
|
+
return visitor.visit(parseTree);
|
|
105
|
+
}
|
|
106
|
+
exports.walkForDocumentHelpContext = walkForDocumentHelpContext;
|
|
107
|
+
//# sourceMappingURL=document-help-context-walker.js.map
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { CommonTokenStream } from "antlr4ts";
|
|
2
|
+
import { ParseTree } from "antlr4ts/tree";
|
|
3
|
+
import { DocumentRange } from "../../model/malloy_types";
|
|
4
|
+
export interface DocumentHighlight {
|
|
5
|
+
range: DocumentRange;
|
|
6
|
+
type: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const HighlightType: {
|
|
9
|
+
Identifier: string;
|
|
10
|
+
Type: string;
|
|
11
|
+
Literal: {
|
|
12
|
+
Date: string;
|
|
13
|
+
Number: string;
|
|
14
|
+
String: string;
|
|
15
|
+
RegularExpression: string;
|
|
16
|
+
Boolean: string;
|
|
17
|
+
Null: string;
|
|
18
|
+
};
|
|
19
|
+
Call: {
|
|
20
|
+
Aggregate: string;
|
|
21
|
+
TimeFrame: string;
|
|
22
|
+
Cast: string;
|
|
23
|
+
Table: string;
|
|
24
|
+
From: string;
|
|
25
|
+
Function: string;
|
|
26
|
+
FromSQL: string;
|
|
27
|
+
};
|
|
28
|
+
Keyword: {
|
|
29
|
+
AggregateModifier: {
|
|
30
|
+
Distinct: string;
|
|
31
|
+
};
|
|
32
|
+
CastModifier: {
|
|
33
|
+
As: string;
|
|
34
|
+
};
|
|
35
|
+
Is: string;
|
|
36
|
+
On: string;
|
|
37
|
+
Desc: string;
|
|
38
|
+
Asc: string;
|
|
39
|
+
Pick: string;
|
|
40
|
+
When: string;
|
|
41
|
+
Else: string;
|
|
42
|
+
With: string;
|
|
43
|
+
JSON: string;
|
|
44
|
+
Turtle: string;
|
|
45
|
+
Import: string;
|
|
46
|
+
};
|
|
47
|
+
Operator: {
|
|
48
|
+
Comparison: string;
|
|
49
|
+
Boolean: string;
|
|
50
|
+
Date: string;
|
|
51
|
+
};
|
|
52
|
+
Comment: {
|
|
53
|
+
Line: string;
|
|
54
|
+
Block: string;
|
|
55
|
+
};
|
|
56
|
+
Property: {
|
|
57
|
+
Accept: string;
|
|
58
|
+
Aggregate: string;
|
|
59
|
+
Dimension: string;
|
|
60
|
+
Except: string;
|
|
61
|
+
Source: string;
|
|
62
|
+
GroupBy: string;
|
|
63
|
+
Having: string;
|
|
64
|
+
Index: string;
|
|
65
|
+
JoinOne: string;
|
|
66
|
+
JoinMany: string;
|
|
67
|
+
JoinCross: string;
|
|
68
|
+
Limit: string;
|
|
69
|
+
Measure: string;
|
|
70
|
+
Nest: string;
|
|
71
|
+
OrderBy: string;
|
|
72
|
+
PrimaryKey: string;
|
|
73
|
+
Project: string;
|
|
74
|
+
Query: string;
|
|
75
|
+
Rename: string;
|
|
76
|
+
Top: string;
|
|
77
|
+
Where: string;
|
|
78
|
+
SQL: string;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
export declare function passForHighlights(tokens: CommonTokenStream): DocumentHighlight[];
|
|
82
|
+
export declare function walkForDocumentHighlights(tokens: CommonTokenStream, parseTree: ParseTree): DocumentHighlight[];
|
|
83
|
+
export declare function sortHighlights(highlights: DocumentHighlight[]): DocumentHighlight[];
|