@malloydata/malloy-tag 0.0.335 → 0.0.336

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 (59) hide show
  1. package/CONTEXT.md +83 -9
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.js +5 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/peggy/dist/peg-tag-parser.d.ts +11 -0
  6. package/dist/peggy/dist/peg-tag-parser.js +3130 -0
  7. package/dist/peggy/dist/peg-tag-parser.js.map +1 -0
  8. package/dist/peggy/index.d.ts +13 -0
  9. package/dist/peggy/index.js +117 -0
  10. package/dist/peggy/index.js.map +1 -0
  11. package/dist/peggy/interpreter.d.ts +32 -0
  12. package/dist/peggy/interpreter.js +208 -0
  13. package/dist/peggy/interpreter.js.map +1 -0
  14. package/dist/peggy/statements.d.ts +51 -0
  15. package/dist/peggy/statements.js +7 -0
  16. package/dist/peggy/statements.js.map +1 -0
  17. package/dist/schema.d.ts +41 -0
  18. package/dist/schema.js +573 -0
  19. package/dist/schema.js.map +1 -0
  20. package/dist/schema.spec.d.ts +1 -0
  21. package/dist/schema.spec.js +980 -0
  22. package/dist/schema.spec.js.map +1 -0
  23. package/dist/tags.d.ts +144 -37
  24. package/dist/tags.js +535 -344
  25. package/dist/tags.js.map +1 -1
  26. package/dist/tags.spec.js +524 -45
  27. package/dist/tags.spec.js.map +1 -1
  28. package/package.json +6 -8
  29. package/src/index.ts +3 -0
  30. package/src/motly-schema.motly +52 -0
  31. package/src/peggy/dist/peg-tag-parser.js +2790 -0
  32. package/src/peggy/index.ts +89 -0
  33. package/src/peggy/interpreter.ts +265 -0
  34. package/src/peggy/malloy-tag.peggy +224 -0
  35. package/src/peggy/statements.ts +49 -0
  36. package/src/schema.spec.ts +1280 -0
  37. package/src/schema.ts +852 -0
  38. package/src/tags.spec.ts +591 -46
  39. package/src/tags.ts +597 -398
  40. package/tsconfig.json +3 -2
  41. package/dist/lib/Malloy/MalloyTagLexer.d.ts +0 -42
  42. package/dist/lib/Malloy/MalloyTagLexer.js +0 -395
  43. package/dist/lib/Malloy/MalloyTagLexer.js.map +0 -1
  44. package/dist/lib/Malloy/MalloyTagParser.d.ts +0 -180
  45. package/dist/lib/Malloy/MalloyTagParser.js +0 -1077
  46. package/dist/lib/Malloy/MalloyTagParser.js.map +0 -1
  47. package/dist/lib/Malloy/MalloyTagVisitor.d.ts +0 -120
  48. package/dist/lib/Malloy/MalloyTagVisitor.js +0 -4
  49. package/dist/lib/Malloy/MalloyTagVisitor.js.map +0 -1
  50. package/scripts/build_parser.js +0 -98
  51. package/src/MalloyTag.g4 +0 -104
  52. package/src/lib/Malloy/MalloyTag.interp +0 -61
  53. package/src/lib/Malloy/MalloyTag.tokens +0 -32
  54. package/src/lib/Malloy/MalloyTagLexer.interp +0 -85
  55. package/src/lib/Malloy/MalloyTagLexer.tokens +0 -32
  56. package/src/lib/Malloy/MalloyTagLexer.ts +0 -386
  57. package/src/lib/Malloy/MalloyTagParser.ts +0 -1065
  58. package/src/lib/Malloy/MalloyTagVisitor.ts +0 -141
  59. package/src/lib/Malloy/_BUILD_DIGEST_ +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.spec.js","sourceRoot":"","sources":["../src/schema.spec.ts"],"names":[],"mappings":"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"}
package/dist/tags.d.ts CHANGED
@@ -5,83 +5,131 @@ export interface TagError {
5
5
  code: string;
6
6
  }
7
7
  export type TagDict = Record<string, TagInterface>;
8
- type TagValue = string | TagInterface[];
8
+ export type TagScalar = string | number | boolean | Date;
9
+ type TagValue = TagScalar | Tag[];
9
10
  export interface TagInterface {
10
- eq?: TagValue;
11
+ eq?: TagScalar | TagInterface[];
11
12
  properties?: TagDict;
12
13
  deleted?: boolean;
13
14
  prefix?: string;
14
15
  }
16
+ export interface TagLink {
17
+ linkTo: string;
18
+ }
19
+ export interface TagJSONInterface {
20
+ eq?: TagScalar | TagJSON[];
21
+ properties?: Record<string, TagJSON>;
22
+ deleted?: boolean;
23
+ prefix?: string;
24
+ }
25
+ export type TagJSON = TagJSONInterface | TagLink;
15
26
  export interface TagParse {
16
27
  tag: Tag;
17
28
  log: TagError[];
18
29
  }
19
30
  export type PathSegment = string | number;
20
31
  export type Path = PathSegment[];
21
- export type TagSetValue = string | number | string[] | number[] | null;
32
+ export type TagSetValue = string | number | boolean | Date | string[] | number[] | Tag | null;
22
33
  /**
23
34
  * Class for interacting with the parsed output of an annotation
24
35
  * containing the Malloy tag language. Used by the parser to
25
36
  * generate parsed data, and as an API to that data.
26
37
  * ```
27
38
  * tag.text(p?) => string value of tag.p or undefined
28
- * tag.array(p?) => Tag[] value of tag.p or undefined
29
39
  * tag.numeric(p?) => numeric value of tag.p or undefined
30
- * tag.textArray(p ?) => string[] value of elements in tag.p or undefined
31
- * tag.numericArray(p?) => string[] value of elements in tag.p or undefined
32
- * tag.tag(p?) => Tag value of tag.p
33
- * tag.has(p?) => boolean "tag contains tag.p"
34
- * tag.bare(p?) => tag.p exists and has no properties
40
+ * tag.boolean(p?) => boolean value of tag.p or undefined
41
+ * tag.isTrue(p?) => true if tag.p is boolean true
42
+ * tag.isFalse(p?) => true if tag.p is boolean false
43
+ * tag.date(p?) => Date value of tag.p or undefined
44
+ * tag.array(p?) => Tag[] value of tag.p or undefined
45
+ * tag.textArray(p?) => string[] value of elements in tag.p or undefined
46
+ * tag.numericArray(p?) => number[] value of elements in tag.p or undefined
47
+ * tag.tag(p?) => Tag value of tag.p
48
+ * tag.has(p?) => boolean "tag contains tag.p"
49
+ * tag.bare(p?) => tag.p exists and has no properties
35
50
  * tag.dict => Record<string,Tag> of tag properties
51
+ * tag.toObject() => Plain JS object representation
36
52
  * ```
37
53
  */
38
- export declare class Tag implements TagInterface {
54
+ export declare class Tag {
39
55
  eq?: TagValue;
40
- properties?: TagDict;
56
+ properties?: Record<string, Tag>;
41
57
  prefix?: string;
42
58
  deleted?: boolean;
43
- static tagFrom(from?: TagInterface): Tag;
44
- static ids: Map<Tag, number>;
45
- static nextTagId: number;
46
- static id(t: Tag): number;
47
- peek(indent?: number): string;
59
+ private _parent?;
48
60
  /**
49
- * Parse a line of Malloy tag language into a Tag which can be queried
50
- * @param source -- The source line to be parsed. If the string starts with #, then it skips
51
- * all characters up to the first space.
52
- * @param lineNumber -- A line number to be associated with the parse errors.
53
- * @param extending A tag which this line will be extending
54
- * @param importing Outer "scopes" for $() references
55
- * @returns Something shaped like { tag: Tag, log: ParseErrors[] }
61
+ * Get the parent tag, if this tag is part of a tree.
56
62
  */
57
- static fromTagLine(source: string, lineNumber?: number, extending?: Tag, ...importing: Tag[]): TagParse;
63
+ get parent(): Tag | undefined;
58
64
  /**
59
- * Parse multiple lines of Malloy tag language, merging them into a single Tag
60
- * @param lines -- The source line to be parsed. If the string starts with #, then it skips
61
- * all characters up to the first space.
62
- * @param extending A tag which this line will be extending
63
- * @param importing Outer "scopes" for $() references
64
- * @returns Something shaped like { tag: Tag, log: ParseErrors[] }
65
+ * Get the root tag by traversing up the parent chain.
66
+ * Returns this tag if it has no parent.
65
67
  */
66
- static fromTagLines(lines: string[], extending?: Tag, ...importing: Tag[]): {
67
- tag: Tag | undefined;
68
- log: TagError[];
69
- };
70
- constructor(from?: TagInterface);
68
+ get root(): Tag;
69
+ static ids: Map<Tag, number>;
70
+ static nextTagId: number;
71
+ static id(t: Tag): number;
72
+ peek(indent?: number): string;
73
+ constructor(from?: TagInterface, parent?: Tag);
71
74
  static withPrefix(prefix: string): Tag;
72
75
  tag(...at: Path): Tag | undefined;
73
76
  text(...at: Path): string | undefined;
74
77
  numeric(...at: Path): number | undefined;
78
+ boolean(...at: Path): boolean | undefined;
79
+ isTrue(...at: Path): boolean;
80
+ isFalse(...at: Path): boolean;
81
+ date(...at: Path): Date | undefined;
75
82
  bare(...at: Path): boolean | undefined;
83
+ /** Virtual accessor for eq - overridden in RefTag to resolve */
84
+ getEq(): TagValue | undefined;
85
+ /** Virtual accessor for a property - overridden in RefTag to resolve */
86
+ getProperty(name: string): Tag | undefined;
87
+ /** Virtual accessor for an array element - overridden in RefTag to resolve */
88
+ getArrayElement(index: number): Tag | undefined;
76
89
  get dict(): Record<string, Tag>;
90
+ /** Iterate over [name, Tag] pairs for each property */
91
+ entries(): Generator<[string, Tag]>;
92
+ /** Iterate over property names */
93
+ keys(): Generator<string>;
94
+ /** Check if this tag has any properties */
95
+ hasProperties(): boolean;
77
96
  array(...at: Path): Tag[] | undefined;
78
97
  textArray(...at: Path): string[] | undefined;
79
98
  numericArray(...at: Path): number[] | undefined;
80
- getProperties(): TagDict;
81
- clone(): Tag;
99
+ getProperties(): Record<string, Tag>;
100
+ clone(newParent?: Tag): Tag;
101
+ private static scalarToObject;
102
+ private static tagToObject;
103
+ /**
104
+ * Convert to a plain JS object. References are resolved to actual
105
+ * object pointers (which may be circular in JS - that's fine).
106
+ * @param resolving - RefTags currently being resolved (for cycle detection)
107
+ */
108
+ toObject(resolving?: Set<RefTag>): Record<string, unknown>;
109
+ /**
110
+ * Convert this tag's value to a plain JS object.
111
+ * Override in RefTag to resolve references.
112
+ * @param resolving - RefTags currently being resolved (for cycle detection)
113
+ */
114
+ toObjectValue(resolving: Set<RefTag>): unknown;
115
+ /**
116
+ * Custom JSON serialization that excludes _parent to avoid circular references.
117
+ * This is called automatically by JSON.stringify().
118
+ */
119
+ toJSON(): TagJSON;
120
+ /**
121
+ * Validate all references in this tag tree.
122
+ * Returns an array of error messages for unresolved references.
123
+ */
124
+ validateReferences(): string[];
125
+ /**
126
+ * Recursively collect reference errors.
127
+ */
128
+ collectReferenceErrors(errors: string[], path: string[]): void;
82
129
  private static escapeString;
83
130
  private static escapeProp;
84
131
  private static quoteAndEscape;
132
+ private static serializeScalar;
85
133
  toString(): string;
86
134
  find(path: Path): Tag | undefined;
87
135
  has(...path: Path): boolean;
@@ -90,4 +138,63 @@ export declare class Tag implements TagInterface {
90
138
  unset(...path: Path): Tag;
91
139
  private remove;
92
140
  }
141
+ /**
142
+ * A tag that references another location in the tag tree.
143
+ * When accessed, it dereferences to the target tag.
144
+ *
145
+ * Reference syntax:
146
+ * $path.to.thing - absolute from root
147
+ * $^thing - up one level, then 'thing'
148
+ * $^^thing - up two levels, then 'thing'
149
+ * $items[0].name - with array indexing
150
+ */
151
+ export declare class RefTag extends Tag {
152
+ readonly ups: number;
153
+ readonly refPath: Path;
154
+ constructor(ups: number, refPath: Path, parent?: Tag);
155
+ /**
156
+ * Resolve this reference to the target tag.
157
+ * Returns undefined if the reference cannot be resolved.
158
+ */
159
+ resolve(): Tag | undefined;
160
+ /**
161
+ * Quote an identifier if it contains special characters.
162
+ */
163
+ private quoteSegment;
164
+ /**
165
+ * Convert this reference to its string representation.
166
+ */
167
+ toRefString(): string;
168
+ getEq(): TagValue | undefined;
169
+ getProperty(name: string): Tag | undefined;
170
+ getArrayElement(index: number): Tag | undefined;
171
+ hasProperties(): boolean;
172
+ /**
173
+ * For toObject, resolve the reference and return the target's object value.
174
+ * This creates actual object pointers (circular references are allowed).
175
+ * Detects cycles in the reference chain to prevent infinite recursion.
176
+ */
177
+ toObjectValue(resolving: Set<RefTag>): unknown;
178
+ /**
179
+ * For JSON serialization, return a marker object instead of resolving.
180
+ */
181
+ toJSON(): TagJSON;
182
+ /**
183
+ * Check if this reference resolves, add error if not.
184
+ */
185
+ collectReferenceErrors(errors: string[], path: string[]): void;
186
+ /**
187
+ * Clone this RefTag, preserving the reference information.
188
+ */
189
+ clone(newParent?: Tag): RefTag;
190
+ }
191
+ /**
192
+ * Convert a Tag to a plain TagInterface without internal fields like _parent.
193
+ * Useful for test comparisons.
194
+ */
195
+ export declare function interfaceFromTag(tag: TagInterface): TagInterface;
196
+ /**
197
+ * Convert a TagDict to a plain TagDict without internal fields.
198
+ */
199
+ export declare function interfaceFromDict(dict: TagDict): TagDict;
93
200
  export {};