@getodk/xpath 0.1.2 → 0.2.1

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.
Files changed (87) hide show
  1. package/README.md +0 -1
  2. package/dist/.vite/manifest.json +4 -4
  3. package/dist/context/Context.d.ts +0 -1
  4. package/dist/context/EvaluationContext.d.ts +0 -1
  5. package/dist/evaluations/BooleanEvaluation.d.ts +0 -1
  6. package/dist/evaluations/DateTimeLikeEvaluation.d.ts +0 -1
  7. package/dist/evaluations/Evaluation.d.ts +0 -1
  8. package/dist/evaluations/LocationPathEvaluation.d.ts +0 -1
  9. package/dist/evaluations/NodeEvaluation.d.ts +0 -1
  10. package/dist/evaluations/NumberEvaluation.d.ts +0 -1
  11. package/dist/evaluations/StringEvaluation.d.ts +0 -1
  12. package/dist/evaluations/ValueEvaluation.d.ts +0 -1
  13. package/dist/evaluator/Evaluator.d.ts +0 -1
  14. package/dist/evaluator/NamespaceResolver.d.ts +2 -3
  15. package/dist/evaluator/expression/AbsoluteLocationPathExpressionEvaluator.d.ts +0 -1
  16. package/dist/evaluator/expression/BinaryExpressionEvaluator.d.ts +0 -1
  17. package/dist/evaluator/expression/BooleanBinaryExpressionEvaluator.d.ts +0 -1
  18. package/dist/evaluator/expression/ExpressionEvaluator.d.ts +0 -1
  19. package/dist/evaluator/expression/FilterPathExpressionEvaluator.d.ts +0 -1
  20. package/dist/evaluator/expression/FunctionCallExpressionEvaluator.d.ts +0 -1
  21. package/dist/evaluator/expression/LocationPathEvaluator.d.ts +0 -1
  22. package/dist/evaluator/expression/LocationPathExpressionEvaluator.d.ts +0 -1
  23. package/dist/evaluator/expression/NumberExpressionEvaluator.d.ts +0 -1
  24. package/dist/evaluator/expression/NumberLiteralExpressionEvaluator.d.ts +0 -1
  25. package/dist/evaluator/expression/NumericBinaryExpressionEvaluator.d.ts +0 -1
  26. package/dist/evaluator/expression/RelativeLocationPathExpressionEvaluator.d.ts +0 -1
  27. package/dist/evaluator/expression/StringExpressionEvaluator.d.ts +0 -1
  28. package/dist/evaluator/expression/StringLiteralExpressionEvaluator.d.ts +0 -1
  29. package/dist/evaluator/expression/UnaryExpressionEvaluator.d.ts +0 -1
  30. package/dist/evaluator/expression/UnionExpressionEvaluator.d.ts +0 -1
  31. package/dist/evaluator/expression/factory.d.ts +0 -1
  32. package/dist/evaluator/functions/BooleanFunction.d.ts +0 -1
  33. package/dist/evaluator/functions/FunctionAlias.d.ts +0 -1
  34. package/dist/evaluator/functions/FunctionImplementation.d.ts +0 -1
  35. package/dist/evaluator/functions/FunctionLibrary.d.ts +0 -1
  36. package/dist/evaluator/functions/FunctionLibraryCollection.d.ts +0 -1
  37. package/dist/evaluator/functions/NodeSetFunction.d.ts +0 -1
  38. package/dist/evaluator/functions/NumberFunction.d.ts +0 -1
  39. package/dist/evaluator/functions/StringFunction.d.ts +0 -1
  40. package/dist/evaluator/functions/TypedFunctionImplementation.d.ts +0 -1
  41. package/dist/evaluator/result/BooleanResult.d.ts +0 -1
  42. package/dist/evaluator/result/NodeSetResult.d.ts +0 -1
  43. package/dist/evaluator/result/NumberResult.d.ts +0 -1
  44. package/dist/evaluator/result/PrimitiveResult.d.ts +0 -1
  45. package/dist/evaluator/result/StringResult.d.ts +0 -1
  46. package/dist/evaluator/result/index.d.ts +0 -1
  47. package/dist/evaluator/step/Step.d.ts +0 -1
  48. package/dist/expressionParser-BVz9yCmv.js +3482 -0
  49. package/dist/expressionParser-BVz9yCmv.js.map +1 -0
  50. package/dist/expressionParser.d.ts +0 -1
  51. package/dist/expressionParser.js +1 -1
  52. package/dist/functions/_shared/number.d.ts +0 -1
  53. package/dist/functions/_shared/string.d.ts +0 -1
  54. package/dist/functions/enketo/index.d.ts +0 -1
  55. package/dist/functions/fn/boolean.d.ts +0 -1
  56. package/dist/functions/fn/index.d.ts +0 -1
  57. package/dist/functions/fn/node-set.d.ts +0 -1
  58. package/dist/functions/fn/number.d.ts +0 -1
  59. package/dist/functions/fn/string.d.ts +0 -1
  60. package/dist/functions/javarosa/index.d.ts +0 -1
  61. package/dist/functions/javarosa/string.d.ts +0 -1
  62. package/dist/functions/xforms/boolean.d.ts +0 -1
  63. package/dist/functions/xforms/datetime.d.ts +0 -1
  64. package/dist/functions/xforms/geo.d.ts +0 -1
  65. package/dist/functions/xforms/index.d.ts +0 -1
  66. package/dist/functions/xforms/node-set.d.ts +1 -1
  67. package/dist/functions/xforms/number.d.ts +0 -1
  68. package/dist/functions/xforms/select.d.ts +0 -1
  69. package/dist/functions/xforms/string.d.ts +0 -1
  70. package/dist/index.js +1465 -391
  71. package/dist/index.js.map +1 -1
  72. package/dist/lib/datetime/coercion.d.ts +0 -1
  73. package/dist/lib/datetime/functions.d.ts +0 -1
  74. package/dist/lib/dom/assertions.d.ts +0 -1
  75. package/dist/lib/dom/predicates.d.ts +0 -1
  76. package/dist/lib/dom/traversal.d.ts +1 -2
  77. package/dist/static/grammar/ExpressionParser.d.ts +0 -1
  78. package/dist/static/grammar/SyntaxLanguage.d.ts +0 -1
  79. package/dist/static/grammar/SyntaxNode.d.ts +0 -1
  80. package/dist/static/grammar/SyntaxTree.d.ts +0 -1
  81. package/dist/static/grammar/TreeSitterXPathParser.d.ts +0 -1
  82. package/dist/static/grammar/type-names.d.ts +0 -1
  83. package/dist/xforms/XFormsItextTranslations.d.ts +0 -1
  84. package/dist/xforms/XFormsXPathEvaluator.d.ts +0 -1
  85. package/package.json +14 -14
  86. package/dist/expressionParser-BbqMYp75.js +0 -2116
  87. package/dist/expressionParser-BbqMYp75.js.map +0 -1
package/README.md CHANGED
@@ -149,7 +149,6 @@ Both evaluator classes provide the following convenience methods:
149
149
 
150
150
  We intend to support the full ODK XForms function library, but support is currently incomplete. The following functions are not yet supported (the `jr:` prefix is used by convention to refer to the JavaRosa namespace):
151
151
 
152
- - `indexed-repeat`
153
152
  - `pulldata`
154
153
  - `jr:choice-name`
155
154
 
@@ -1,6 +1,6 @@
1
1
  {
2
- "_expressionParser-BbqMYp75.js": {
3
- "file": "expressionParser-BbqMYp75.js",
2
+ "_expressionParser-BVz9yCmv.js": {
3
+ "file": "expressionParser-BVz9yCmv.js",
4
4
  "name": "expressionParser"
5
5
  },
6
6
  "src/expressionParser.ts": {
@@ -9,7 +9,7 @@
9
9
  "src": "src/expressionParser.ts",
10
10
  "isEntry": true,
11
11
  "imports": [
12
- "_expressionParser-BbqMYp75.js"
12
+ "_expressionParser-BVz9yCmv.js"
13
13
  ]
14
14
  },
15
15
  "src/index.ts": {
@@ -18,7 +18,7 @@
18
18
  "src": "src/index.ts",
19
19
  "isEntry": true,
20
20
  "imports": [
21
- "_expressionParser-BbqMYp75.js"
21
+ "_expressionParser-BVz9yCmv.js"
22
22
  ]
23
23
  }
24
24
  }
@@ -3,7 +3,6 @@ import { Evaluator } from '../evaluator/Evaluator.ts';
3
3
  import { FunctionLibraryCollection } from '../evaluator/functions/FunctionLibraryCollection.ts';
4
4
  import { ContextDocument, ContextNode, ContextParentNode } from '../lib/dom/types.ts';
5
5
  import { XPathNamespaceResolverObject } from '../shared/interface.ts';
6
-
7
6
  /**
8
7
  * The context in which any XPath expression *or sub-expression* is evaluated.
9
8
  */
@@ -6,7 +6,6 @@ import { FilteredTreeWalker, FilteredTreeWalkers } from '../lib/dom/traversal.ts
6
6
  import { ContextDocument, ContextNode, ContextParentNode } from '../lib/dom/types.ts';
7
7
  import { XPathNamespaceResolverObject } from '../shared/interface.ts';
8
8
  import { Context } from './Context.ts';
9
-
10
9
  declare class EvaluationContextTreeWalkers implements FilteredTreeWalkers {
11
10
  readonly ANY: FilteredTreeWalker<'ANY'>;
12
11
  readonly COMMENT: FilteredTreeWalker<'COMMENT'>;
@@ -1,6 +1,5 @@
1
1
  import { LocationPathEvaluation } from './LocationPathEvaluation.ts';
2
2
  import { ValueEvaluation } from './ValueEvaluation.ts';
3
-
4
3
  export declare class BooleanEvaluation extends ValueEvaluation<'BOOLEAN'> {
5
4
  readonly context: LocationPathEvaluation;
6
5
  readonly value: boolean;
@@ -1,7 +1,6 @@
1
1
  import { Temporal } from '@js-temporal/polyfill';
2
2
  import { LocationPathEvaluation } from './LocationPathEvaluation.ts';
3
3
  import { ValueEvaluation } from './ValueEvaluation.ts';
4
-
5
4
  interface PrecomputedXPathValues {
6
5
  readonly booleanValue?: boolean;
7
6
  readonly numberValue?: number;
@@ -1,6 +1,5 @@
1
1
  import { EvaluationType } from './EvaluationType.ts';
2
2
  import { LocationPathEvaluation } from './LocationPathEvaluation.ts';
3
-
4
3
  export interface Evaluation<Type extends EvaluationType = EvaluationType> extends Iterable<Evaluation<Type>> {
5
4
  readonly context: LocationPathEvaluation;
6
5
  readonly type: Type;
@@ -13,7 +13,6 @@ import { Reiterable } from '../lib/iterators/Reiterable.ts';
13
13
  import { XPathNamespaceResolverObject } from '../shared/interface.ts';
14
14
  import { Evaluation } from './Evaluation.ts';
15
15
  import { NodeEvaluation } from './NodeEvaluation.ts';
16
-
17
16
  type LocationPathParentContext = EvaluationContext | LocationPathEvaluation;
18
17
  type EvaluationComparator = (lhs: Evaluation, rhs: Evaluation) => boolean;
19
18
  export declare enum AxisName {
@@ -1,6 +1,5 @@
1
1
  import { LocationPathEvaluation } from './LocationPathEvaluation.ts';
2
2
  import { ValueEvaluation } from './ValueEvaluation.ts';
3
-
4
3
  interface NodeEvaluationComputedValues {
5
4
  readonly booleanValue: boolean;
6
5
  readonly isEmpty: boolean;
@@ -1,6 +1,5 @@
1
1
  import { LocationPathEvaluation } from './LocationPathEvaluation.ts';
2
2
  import { ValueEvaluation } from './ValueEvaluation.ts';
3
-
4
3
  export declare class NumberEvaluation extends ValueEvaluation<'NUMBER'> {
5
4
  readonly context: LocationPathEvaluation;
6
5
  readonly value: number;
@@ -1,6 +1,5 @@
1
1
  import { LocationPathEvaluation } from './LocationPathEvaluation.ts';
2
2
  import { ValueEvaluation } from './ValueEvaluation.ts';
3
-
4
3
  export declare class StringEvaluation extends ValueEvaluation<'STRING'> {
5
4
  readonly context: LocationPathEvaluation;
6
5
  readonly value: string;
@@ -1,7 +1,6 @@
1
1
  import { Evaluation } from './Evaluation.ts';
2
2
  import { EvaluationType, EvaluationTypes } from './EvaluationType.ts';
3
3
  import { LocationPathEvaluation } from './LocationPathEvaluation.ts';
4
-
5
4
  export declare abstract class ValueEvaluation<Type extends EvaluationType> implements Evaluation<Type> {
6
5
  abstract readonly context: LocationPathEvaluation;
7
6
  abstract readonly type: Type;
@@ -5,7 +5,6 @@ import { AnyXPathEvaluator, XPathNSResolver, XPathResultType } from '../shared/i
5
5
  import { ExpressionParser, ParseOptions } from '../static/grammar/ExpressionParser.ts';
6
6
  import { FunctionLibraryCollection } from './functions/FunctionLibraryCollection.ts';
7
7
  import { ResultTypes } from './result/ResultType.ts';
8
-
9
8
  export interface EvaluatorOptions {
10
9
  readonly functions?: FunctionLibraryCollection;
11
10
  readonly parseOptions?: ParseOptions;
@@ -1,7 +1,6 @@
1
1
  import { ENKETO_NAMESPACE_URI, ENKETO_PREFIX, FN_NAMESPACE_URI, FN_PREFIX, HTML_NAMESPACE_URI, HTML_PREFIX, JAVAROSA_NAMESPACE_URI, JAVAROSA_PREFIX, ODK_NAMESPACE_URI, ODK_PREFIX, OPENROSA_XFORMS_NAMESPACE_URI, OPENROSA_XFORMS_PREFIX, XFORMS_NAMESPACE_URI, XFORMS_PREFIX, XHTML_NAMESPACE_URI, XML_NAMESPACE_URI, XML_PREFIX, XMLNS_NAMESPACE_URI, XMLNS_PREFIX } from '../../../common/src/constants/xmlns.ts';
2
2
  import { ContextParentNode } from '../lib/dom/types.ts';
3
3
  import { XPathNamespaceResolverObject } from '../shared/interface.ts';
4
-
5
4
  export { ENKETO_NAMESPACE_URI, ENKETO_PREFIX, FN_NAMESPACE_URI, FN_PREFIX, HTML_NAMESPACE_URI, HTML_PREFIX, JAVAROSA_NAMESPACE_URI, JAVAROSA_PREFIX, ODK_NAMESPACE_URI, ODK_PREFIX, OPENROSA_XFORMS_NAMESPACE_URI, OPENROSA_XFORMS_PREFIX, XFORMS_NAMESPACE_URI, XFORMS_PREFIX, XHTML_NAMESPACE_URI, XML_NAMESPACE_URI, XML_PREFIX, XMLNS_NAMESPACE_URI, XMLNS_PREFIX, };
6
5
  export interface StaticNamespaces<DefaultPrefix extends string, DefaultURI extends string, Mapping extends Record<string, string>> {
7
6
  get<Key extends string | null>(key: Key): Key extends null ? DefaultURI : Key extends DefaultPrefix ? DefaultURI : Key extends keyof Mapping ? Mapping[Key] : undefined;
@@ -32,9 +31,9 @@ export declare const staticNamespaces: StaticNamespaces<"xf", "http://www.w3.org
32
31
  }>;
33
32
  export declare class NamespaceResolver implements XPathNamespaceResolverObject {
34
33
  protected readonly rootNode: ContextParentNode;
35
- protected readonly referenceNode?: XPathNamespaceResolverObject | null | undefined;
34
+ protected readonly referenceNode?: (XPathNamespaceResolverObject | null) | undefined;
36
35
  protected readonly contextResolver: XPathNamespaceResolverObject;
37
- constructor(rootNode: ContextParentNode, referenceNode?: XPathNamespaceResolverObject | null | undefined);
36
+ constructor(rootNode: ContextParentNode, referenceNode?: (XPathNamespaceResolverObject | null) | undefined);
38
37
  protected lookupNodeNamespaceURI: (node: Node, prefix: string | null) => string | null;
39
38
  protected lookupStaticNamespaceURI: (prefix: string | null) => "http://www.w3.org/2002/xforms" | null;
40
39
  /**
@@ -1,7 +1,6 @@
1
1
  import { AbsoluteLocationPathNode } from '../../static/grammar/SyntaxNode.ts';
2
2
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
3
3
  import { LocationPathEvaluator } from './LocationPathEvaluator.ts';
4
-
5
4
  export declare class AbsoluteLocationPathExpressionEvaluator extends LocationPathEvaluator implements ExpressionEvaluator {
6
5
  readonly syntaxNode: AbsoluteLocationPathNode;
7
6
  constructor(syntaxNode: AbsoluteLocationPathNode);
@@ -2,7 +2,6 @@ import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { Evaluation } from '../../evaluations/Evaluation.ts';
3
3
  import { AnyBinaryExprNode } from '../../static/grammar/SyntaxNode.ts';
4
4
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
5
-
6
5
  export declare abstract class BinaryExpressionEvaluator<Node extends AnyBinaryExprNode> implements ExpressionEvaluator {
7
6
  readonly syntaxNode: Node;
8
7
  readonly lhs: ExpressionEvaluator;
@@ -3,7 +3,6 @@ import { BooleanEvaluation } from '../../evaluations/BooleanEvaluation.ts';
3
3
  import { Evaluation } from '../../evaluations/Evaluation.ts';
4
4
  import { AndExprNode, EqExprNode, GtExprNode, GteExprNode, LtExprNode, LteExprNode, NeExprNode, OrExprNode } from '../../static/grammar/SyntaxNode.ts';
5
5
  import { BinaryExpressionEvaluator } from './BinaryExpressionEvaluator.ts';
6
-
7
6
  type BooleanBinaryExprNode = AndExprNode | EqExprNode | GteExprNode | GtExprNode | LteExprNode | LtExprNode | NeExprNode | OrExprNode;
8
7
  type BooleanOperator<Node extends BooleanBinaryExprNode> = Node extends AndExprNode ? 'and' : Node extends EqExprNode ? 'eq' : Node extends GtExprNode ? 'gt' : Node extends GteExprNode ? 'gte' : Node extends LtExprNode ? 'lt' : Node extends LteExprNode ? 'lte' : Node extends NeExprNode ? 'ne' : Node extends OrExprNode ? 'or' : never;
9
8
  type CompareOperator = 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'ne';
@@ -1,7 +1,6 @@
1
1
  import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { Evaluation } from '../../evaluations/Evaluation.ts';
3
3
  import { AbsoluteLocationPathNode, AnyExprNode, FilterPathExprNode, RelativeLocationPathNode } from '../../static/grammar/SyntaxNode.ts';
4
-
5
4
  export type ExpressionNode = AbsoluteLocationPathNode | AnyExprNode | FilterPathExprNode | RelativeLocationPathNode;
6
5
  export interface ExpressionEvaluator {
7
6
  readonly syntaxNode: ExpressionNode;
@@ -3,7 +3,6 @@ import { FilterPathExprNode } from '../../static/grammar/SyntaxNode.ts';
3
3
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
4
4
  import { LocationPathEvaluator } from './LocationPathEvaluator.ts';
5
5
  import { LocationPathExpressionEvaluator } from './LocationPathExpressionEvaluator.ts';
6
-
7
6
  export declare class FilterPathExpressionEvaluator extends LocationPathEvaluator implements ExpressionEvaluator {
8
7
  readonly syntaxNode: FilterPathExprNode;
9
8
  readonly filterExpression: LocationPathExpressionEvaluator;
@@ -2,7 +2,6 @@ import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { Evaluation } from '../../evaluations/Evaluation.ts';
3
3
  import { FunctionCallNode } from '../../static/grammar/SyntaxNode.ts';
4
4
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
5
-
6
5
  interface FunctionCallName {
7
6
  readonly prefix: string | null;
8
7
  readonly localName: string;
@@ -3,7 +3,6 @@ import { AbsoluteLocationPathNode, FilterPathExprNode, RelativeLocationPathNode
3
3
  import { PathExprSteps } from '../step/Step.ts';
4
4
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
5
5
  import { LocationPathExpressionEvaluator } from './LocationPathExpressionEvaluator.ts';
6
-
7
6
  type LocationPathNode = AbsoluteLocationPathNode | FilterPathExprNode | RelativeLocationPathNode;
8
7
  interface LocationPathExpressionOptions {
9
8
  readonly isAbsolute: boolean;
@@ -1,7 +1,6 @@
1
1
  import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { Evaluation } from '../../evaluations/Evaluation.ts';
3
3
  import { ExpressionEvaluator, ExpressionNode } from './ExpressionEvaluator.ts';
4
-
5
4
  export declare abstract class LocationPathExpressionEvaluator implements ExpressionEvaluator {
6
5
  abstract readonly syntaxNode: ExpressionNode;
7
6
  abstract evaluateNodes(context: EvaluationContext): Iterable<Node>;
@@ -1,7 +1,6 @@
1
1
  import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { NumberEvaluation } from '../../evaluations/NumberEvaluation.ts';
3
3
  import { ExpressionEvaluator, ExpressionNode } from './ExpressionEvaluator.ts';
4
-
5
4
  export declare abstract class NumberExpressionEvaluator<ConstValue extends number | null = null> implements ExpressionEvaluator {
6
5
  protected readonly constValue: ConstValue;
7
6
  constructor(constValue: ConstValue);
@@ -1,7 +1,6 @@
1
1
  import { NumberNode } from '../../static/grammar/SyntaxNode.ts';
2
2
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
3
3
  import { NumberExpressionEvaluator } from './NumberExpressionEvaluator.ts';
4
-
5
4
  export declare class NumberLiteralExpressionEvaluator extends NumberExpressionEvaluator<number> implements ExpressionEvaluator {
6
5
  readonly syntaxNode: NumberNode;
7
6
  constructor(syntaxNode: NumberNode);
@@ -2,7 +2,6 @@ import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { NumberEvaluation } from '../../evaluations/NumberEvaluation.ts';
3
3
  import { AdditionExprNode, DivisionExprNode, ModuloExprNode, MultiplicationExprNode, SubtractionExprNode } from '../../static/grammar/SyntaxNode.ts';
4
4
  import { BinaryExpressionEvaluator } from './BinaryExpressionEvaluator.ts';
5
-
6
5
  type NumericBinaryExprNode = AdditionExprNode | DivisionExprNode | ModuloExprNode | MultiplicationExprNode | SubtractionExprNode;
7
6
  type NumericOperation<Node extends NumericBinaryExprNode> = Node extends AdditionExprNode ? 'addition' : Node extends DivisionExprNode ? 'division' : Node extends ModuloExprNode ? 'modulo' : Node extends MultiplicationExprNode ? 'multiplication' : Node extends SubtractionExprNode ? 'subtraction' : never;
8
7
  export declare class NumericBinaryExpressionEvaluator<Node extends NumericBinaryExprNode> extends BinaryExpressionEvaluator<Node> {
@@ -1,7 +1,6 @@
1
1
  import { RelativeLocationPathNode } from '../../static/grammar/SyntaxNode.ts';
2
2
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
3
3
  import { LocationPathEvaluator } from './LocationPathEvaluator.ts';
4
-
5
4
  export declare class RelativeLocationPathExpressionEvaluator extends LocationPathEvaluator implements ExpressionEvaluator {
6
5
  readonly syntaxNode: RelativeLocationPathNode;
7
6
  constructor(syntaxNode: RelativeLocationPathNode);
@@ -1,7 +1,6 @@
1
1
  import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { StringEvaluation } from '../../evaluations/StringEvaluation.ts';
3
3
  import { ExpressionEvaluator, ExpressionNode } from './ExpressionEvaluator.ts';
4
-
5
4
  export declare abstract class StringExpressionEvaluator<ConstValue extends string | null = null> implements ExpressionEvaluator {
6
5
  protected readonly constValue: ConstValue;
7
6
  constructor(constValue: ConstValue);
@@ -1,7 +1,6 @@
1
1
  import { LiteralNode } from '../../static/grammar/SyntaxNode.ts';
2
2
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
3
3
  import { StringExpressionEvaluator } from './StringExpressionEvaluator.ts';
4
-
5
4
  export declare class StringLiteralExpressionEvaluator extends StringExpressionEvaluator<string> implements ExpressionEvaluator {
6
5
  readonly syntaxNode: LiteralNode;
7
6
  constructor(syntaxNode: LiteralNode);
@@ -2,7 +2,6 @@ import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { UnaryExprNode } from '../../static/grammar/SyntaxNode.ts';
3
3
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
4
4
  import { NumberExpressionEvaluator } from './NumberExpressionEvaluator.ts';
5
-
6
5
  export declare class UnaryExpressionEvaluator extends NumberExpressionEvaluator {
7
6
  readonly syntaxNode: UnaryExprNode;
8
7
  readonly operand: ExpressionEvaluator;
@@ -2,7 +2,6 @@ import { EvaluationContext } from '../../context/EvaluationContext.ts';
2
2
  import { UnionExprNode } from '../../static/grammar/SyntaxNode.ts';
3
3
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
4
4
  import { LocationPathExpressionEvaluator } from './LocationPathExpressionEvaluator.ts';
5
-
6
5
  export declare class UnionExpressionEvaluator extends LocationPathExpressionEvaluator {
7
6
  readonly syntaxNode: UnionExprNode;
8
7
  readonly lhs: ExpressionEvaluator;
@@ -1,6 +1,5 @@
1
1
  import { AnyExprNode, ArgumentNode, ExprNode, XPathNode } from '../../static/grammar/SyntaxNode.ts';
2
2
  import { ExpressionEvaluator } from './ExpressionEvaluator.ts';
3
-
4
3
  type EvaluableExprNode = AnyExprNode | ArgumentNode | ExprNode | XPathNode;
5
4
  export declare const createExpression: (syntaxNode: EvaluableExprNode) => ExpressionEvaluator;
6
5
  export {};
@@ -1,6 +1,5 @@
1
1
  import { FunctionSignature } from './FunctionImplementation.ts';
2
2
  import { TypedFunctionCallable, TypedFunctionImplementation } from './TypedFunctionImplementation.ts';
3
-
4
3
  export declare class BooleanFunction<Length extends number> extends TypedFunctionImplementation<boolean, Length> {
5
4
  constructor(localName: string, signature: FunctionSignature<Length>, call: TypedFunctionCallable<boolean>);
6
5
  }
@@ -1,5 +1,4 @@
1
1
  import { FunctionImplementation } from './FunctionImplementation.ts';
2
-
3
2
  export declare class FunctionAlias<Length extends number> extends FunctionImplementation<Length> {
4
3
  constructor(localName: string, baseImplementation: FunctionImplementation<Length>);
5
4
  }
@@ -3,7 +3,6 @@ import { Context } from '../../context/Context.ts';
3
3
  import { Evaluation } from '../../evaluations/Evaluation.ts';
4
4
  import { EvaluationType } from '../../evaluations/EvaluationType.ts';
5
5
  import { LocationPathEvaluation } from '../../evaluations/LocationPathEvaluation.ts';
6
-
7
6
  export declare class UnknownFunctionError extends Error {
8
7
  constructor(functionName: string);
9
8
  }
@@ -1,7 +1,6 @@
1
1
  import { Evaluation } from '../../evaluations/Evaluation.ts';
2
2
  import { LocationPathEvaluation } from '../../evaluations/LocationPathEvaluation.ts';
3
3
  import { AnyFunctionImplementation, EvaluableArgument, FunctionImplementation } from './FunctionImplementation.ts';
4
-
5
4
  type NamespaceURI = string | null;
6
5
  type LocalName = string;
7
6
  interface QualifiedName {
@@ -1,7 +1,6 @@
1
1
  import { Context } from '../../context/Context.ts';
2
2
  import { FunctionImplementation } from './FunctionImplementation.ts';
3
3
  import { FunctionLibrary } from './FunctionLibrary.ts';
4
-
5
4
  interface BaseFunctionNameLookup {
6
5
  readonly namespaceURI?: string | null;
7
6
  readonly prefix?: string | null;
@@ -1,6 +1,5 @@
1
1
  import { LocationPathEvaluation } from '../../evaluations/LocationPathEvaluation.ts';
2
2
  import { EvaluableArgument, FunctionSignature, FunctionImplementation } from './FunctionImplementation.ts';
3
-
4
3
  export type NodeSetFunctionCallable = <Arguments extends readonly EvaluableArgument[]>(context: LocationPathEvaluation, args: Arguments) => Iterable<Node>;
5
4
  export declare class NodeSetFunction<Length extends number> extends FunctionImplementation<Length> {
6
5
  constructor(localName: string, signature: FunctionSignature<Length>, call: NodeSetFunctionCallable);
@@ -1,6 +1,5 @@
1
1
  import { FunctionSignature } from './FunctionImplementation.ts';
2
2
  import { TypedFunctionCallable, TypedFunctionImplementation } from './TypedFunctionImplementation.ts';
3
-
4
3
  export declare class NumberFunction<Length extends number> extends TypedFunctionImplementation<number, Length> {
5
4
  constructor(localName: string, signature: FunctionSignature<Length>, call: TypedFunctionCallable<number>);
6
5
  }
@@ -1,6 +1,5 @@
1
1
  import { FunctionSignature } from './FunctionImplementation.ts';
2
2
  import { TypedFunctionCallable, TypedFunctionImplementation } from './TypedFunctionImplementation.ts';
3
-
4
3
  export declare class StringFunction<Length extends number> extends TypedFunctionImplementation<string, Length> {
5
4
  constructor(localName: string, signature: FunctionSignature<Length>, call: TypedFunctionCallable<string>);
6
5
  }
@@ -1,7 +1,6 @@
1
1
  import { Evaluation } from '../../evaluations/Evaluation';
2
2
  import { LocationPathEvaluation } from '../../evaluations/LocationPathEvaluation.ts';
3
3
  import { EvaluableArgument, FunctionSignature, FunctionImplementation } from './FunctionImplementation.ts';
4
-
5
4
  export type TypedFunctionCallable<Type> = <Arguments extends readonly EvaluableArgument[]>(context: LocationPathEvaluation, args: Arguments) => Type;
6
5
  export declare class TypedFunctionImplementation<Type, Length extends number> extends FunctionImplementation<Length> {
7
6
  protected constructor(localName: string, TypedResult: new (context: LocationPathEvaluation, value: Type) => Evaluation, signature: FunctionSignature<Length>, call: TypedFunctionCallable<Type>);
@@ -1,7 +1,6 @@
1
1
  import { XPathResult } from '../../shared/index.ts';
2
2
  import { Evaluation } from '../../evaluations/Evaluation.ts';
3
3
  import { PrimitiveResult } from './PrimitiveResult.ts';
4
-
5
4
  export declare class BooleanResult extends PrimitiveResult implements XPathResult {
6
5
  readonly isIntermediateResult = false;
7
6
  protected readonly type: 3;
@@ -1,7 +1,6 @@
1
1
  import { XPathResult, XPathResultType } from '../../shared/index.ts';
2
2
  import { Reiterable } from '../../lib/iterators/index.ts';
3
3
  import { NodeSetResultType, BaseResult } from './BaseResult.ts';
4
-
5
4
  interface ComputedNodeSetResult {
6
5
  readonly computedBooleanValue: boolean;
7
6
  readonly computedNumberValue: number;
@@ -1,7 +1,6 @@
1
1
  import { XPathResult } from '../../shared/index.ts';
2
2
  import { Evaluation } from '../../evaluations/Evaluation.ts';
3
3
  import { PrimitiveResult } from './PrimitiveResult.ts';
4
-
5
4
  export declare class NumberResult extends PrimitiveResult implements XPathResult {
6
5
  readonly isIntermediateResult = false;
7
6
  protected readonly type: 1;
@@ -1,6 +1,5 @@
1
1
  import { XPathResult, XPathResultType } from '../../shared/index.ts';
2
2
  import { PrimitiveResultType, BaseResult } from './BaseResult.ts';
3
-
4
3
  export declare abstract class PrimitiveResult extends BaseResult implements XPathResult {
5
4
  protected abstract readonly type: PrimitiveResultType;
6
5
  get resultType(): XPathResultType;
@@ -1,7 +1,6 @@
1
1
  import { XPathResult } from '../../shared/index.ts';
2
2
  import { Evaluation } from '../../evaluations/Evaluation.ts';
3
3
  import { PrimitiveResult } from './PrimitiveResult.ts';
4
-
5
4
  export declare class StringResult extends PrimitiveResult implements XPathResult {
6
5
  readonly isIntermediateResult = false;
7
6
  protected readonly type: 2;
@@ -4,5 +4,4 @@ import { BooleanResult } from './BooleanResult';
4
4
  import { NodeSetIteratorResult, NodeSetSnapshotResult } from './NodeSetResult';
5
5
  import { NumberResult } from './NumberResult';
6
6
  import { StringResult } from './StringResult';
7
-
8
7
  export declare const toXPathResult: (resultType: XPathResultType, evaluation: Evaluation) => BooleanResult | NodeSetSnapshotResult | NodeSetIteratorResult | NumberResult | StringResult;
@@ -1,5 +1,4 @@
1
1
  import { AbsoluteLocationPathNode, FilterPathExprNode, PredicateNode, RelativeLocationPathNode } from '../../static/grammar/SyntaxNode.ts';
2
-
3
2
  type AxisType = 'ancestor-or-self' | 'ancestor' | 'attribute' | 'child' | 'descendant-or-self' | 'descendant' | 'following-sibling' | 'following' | 'namespace' | 'parent' | 'preceding-sibling' | 'preceding' | 'self';
4
3
  type NodeType = '__NAMED__' | 'comment' | 'node' | 'processing-instruction' | 'text';
5
4
  type StepType = 'NodeTypeTest' | 'ProcessingInstructionNameTest' | 'QualifiedNameTest' | 'NodeNameTest' | 'QualifiedWildcardTest' | 'UnqualifiedWildcardTest';