@the_dissidents/libemmm 0.0.0 → 0.0.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.
package/dist/index.d.mts CHANGED
@@ -1,3 +1,11 @@
1
+ declare enum DebugLevel {
2
+ Trace = 0,
3
+ Info = 1,
4
+ Warning = 2,
5
+ Error = 3,
6
+ None = 4
7
+ }
8
+
1
9
  declare class NameManager<T extends {
2
10
  name: string;
3
11
  }> {
@@ -101,17 +109,19 @@ type RootNode = PositionRange & {
101
109
  type: NodeType.Root;
102
110
  content: BlockEntity[];
103
111
  };
104
- type ModifierNode = BlockModifierNode<any> | InlineModifierNode<any> | SystemModifierNode<any>;
112
+ type ModifierNode<T = any> = BlockModifierNode<T> | InlineModifierNode<T> | SystemModifierNode<T>;
105
113
  type BlockEntity = ParagraphNode | PreNode | BlockModifierNode<any> | SystemModifierNode<any>;
106
114
  type InlineEntity = TextNode | EscapedNode | InlineModifierNode<any> | SystemModifierNode<any>;
107
115
  type DocumentNode = BlockEntity | InlineEntity | RootNode;
108
116
  type InterpolationNode = PositionRange & {
109
117
  type: NodeType.Interpolation;
110
118
  definition: ArgumentInterpolatorDefinition;
111
- arg: ModifierArgument;
119
+ argument: ModifierArgument;
120
+ expansion?: string;
112
121
  };
113
122
  type ModifierArgument = PositionRange & {
114
123
  content: ArgumentEntity[];
124
+ expansion?: string;
115
125
  };
116
126
  type ArgumentEntity = TextNode | EscapedNode | InterpolationNode;
117
127
  declare enum ModifierFlags {
@@ -143,8 +153,9 @@ declare class SystemModifierDefinition<TState> extends ModifierBase<SystemModifi
143
153
  declare class ArgumentInterpolatorDefinition {
144
154
  readonly name: string;
145
155
  readonly postfix: string;
146
- expand: (content: string, cxt: ParseContext) => string;
147
- constructor(name: string, postfix: string, expand: (content: string, cxt: ParseContext) => string);
156
+ constructor(name: string, postfix: string, args?: Partial<ArgumentInterpolatorDefinition>);
157
+ alwaysTryExpand: boolean;
158
+ expand?: (content: string, cxt: ParseContext, immediate: boolean) => string | undefined;
148
159
  }
149
160
  type BlockInstantiationData = {
150
161
  mod: BlockModifierDefinition<any>;
@@ -161,7 +172,6 @@ interface ParseContextStoreDefinitions {
161
172
  type ParseContextStoreKey = keyof ParseContextStoreDefinitions;
162
173
  type ParseContextStoreEntry<S extends ParseContextStoreKey> = ParseContextStoreDefinitions[S];
163
174
  declare class ParseContext {
164
- #private;
165
175
  config: Configuration;
166
176
  variables: Map<string, string>;
167
177
  private data;
@@ -169,13 +179,13 @@ declare class ParseContext {
169
179
  init<S extends ParseContextStoreKey>(key: S, obj: ParseContextStoreEntry<S>): void;
170
180
  set<S extends ParseContextStoreKey>(key: S, obj: ParseContextStoreEntry<S>): void;
171
181
  get<S extends ParseContextStoreKey>(key: S): ParseContextStoreEntry<S>;
172
- evaluateArgument(arg: ModifierArgument): string;
173
182
  }
174
183
  declare class Document {
175
184
  root: RootNode;
176
185
  context: ParseContext;
177
186
  messages: Message[];
178
187
  constructor(root: RootNode, context: ParseContext, messages: Message[]);
188
+ debugPrint(source: string): string;
179
189
  }
180
190
  declare class Configuration {
181
191
  initializers: ((cxt: ParseContext) => void)[];
@@ -262,18 +272,25 @@ declare class UnclosedInlineModifierMessage implements Message {
262
272
  readonly fixes: readonly FixSuggestion[];
263
273
  get info(): string;
264
274
  }
265
- declare class ArgumentsTooFewMessage implements Message {
275
+ declare class ArgumentCountMismatchMessage implements Message {
266
276
  readonly position: number;
267
277
  readonly length: number;
268
- private expected?;
269
- constructor(position: number, length: number, expected?: number | undefined);
278
+ constructor(position: number, length: number, min?: number, max?: number);
279
+ private msg;
270
280
  readonly code = 4;
271
281
  readonly severity = MessageSeverity.Error;
272
282
  readonly fixes: readonly FixSuggestion[];
273
283
  get info(): string;
274
284
  }
275
- declare class ArgumentsTooManyMessage extends RemoveThingMessage {
276
- constructor(pos: number, len: number, expected?: number);
285
+ declare class CannotExpandArgumentMessage implements Message {
286
+ readonly position: number;
287
+ readonly length: number;
288
+ private what?;
289
+ constructor(position: number, length: number, what?: string | undefined);
290
+ readonly code = 5;
291
+ readonly severity = MessageSeverity.Error;
292
+ readonly fixes: readonly FixSuggestion[];
293
+ get info(): string;
277
294
  }
278
295
  declare class InvalidArgumentMessage implements Message {
279
296
  readonly position: number;
@@ -344,6 +361,42 @@ declare class UndefinedVariableMessage implements Message {
344
361
  get info(): string;
345
362
  }
346
363
 
364
+ type messages_ArgumentCountMismatchMessage = ArgumentCountMismatchMessage;
365
+ declare const messages_ArgumentCountMismatchMessage: typeof ArgumentCountMismatchMessage;
366
+ type messages_CannotExpandArgumentMessage = CannotExpandArgumentMessage;
367
+ declare const messages_CannotExpandArgumentMessage: typeof CannotExpandArgumentMessage;
368
+ type messages_ContentShouldBeOnNewlineMessage = ContentShouldBeOnNewlineMessage;
369
+ declare const messages_ContentShouldBeOnNewlineMessage: typeof ContentShouldBeOnNewlineMessage;
370
+ type messages_ExpectedMessage = ExpectedMessage;
371
+ declare const messages_ExpectedMessage: typeof ExpectedMessage;
372
+ type messages_InlineDefinitonInvalidEntityMessage = InlineDefinitonInvalidEntityMessage;
373
+ declare const messages_InlineDefinitonInvalidEntityMessage: typeof InlineDefinitonInvalidEntityMessage;
374
+ type messages_InvalidArgumentMessage = InvalidArgumentMessage;
375
+ declare const messages_InvalidArgumentMessage: typeof InvalidArgumentMessage;
376
+ type messages_NameAlreadyDefinedMessage = NameAlreadyDefinedMessage;
377
+ declare const messages_NameAlreadyDefinedMessage: typeof NameAlreadyDefinedMessage;
378
+ type messages_NewBlockShouldBeOnNewlineMessage = NewBlockShouldBeOnNewlineMessage;
379
+ declare const messages_NewBlockShouldBeOnNewlineMessage: typeof NewBlockShouldBeOnNewlineMessage;
380
+ type messages_ReachedRecursionLimitMessage = ReachedRecursionLimitMessage;
381
+ declare const messages_ReachedRecursionLimitMessage: typeof ReachedRecursionLimitMessage;
382
+ type messages_ReferredMessage = ReferredMessage;
383
+ declare const messages_ReferredMessage: typeof ReferredMessage;
384
+ type messages_SlotUsedOutsideDefinitionMessage = SlotUsedOutsideDefinitionMessage;
385
+ declare const messages_SlotUsedOutsideDefinitionMessage: typeof SlotUsedOutsideDefinitionMessage;
386
+ type messages_UnclosedInlineModifierMessage = UnclosedInlineModifierMessage;
387
+ declare const messages_UnclosedInlineModifierMessage: typeof UnclosedInlineModifierMessage;
388
+ type messages_UndefinedVariableMessage = UndefinedVariableMessage;
389
+ declare const messages_UndefinedVariableMessage: typeof UndefinedVariableMessage;
390
+ type messages_UnknownModifierMessage = UnknownModifierMessage;
391
+ declare const messages_UnknownModifierMessage: typeof UnknownModifierMessage;
392
+ type messages_UnnecessaryNewlineMessage = UnnecessaryNewlineMessage;
393
+ declare const messages_UnnecessaryNewlineMessage: typeof UnnecessaryNewlineMessage;
394
+ declare namespace messages {
395
+ export { messages_ArgumentCountMismatchMessage as ArgumentCountMismatchMessage, messages_CannotExpandArgumentMessage as CannotExpandArgumentMessage, messages_ContentShouldBeOnNewlineMessage as ContentShouldBeOnNewlineMessage, messages_ExpectedMessage as ExpectedMessage, messages_InlineDefinitonInvalidEntityMessage as InlineDefinitonInvalidEntityMessage, messages_InvalidArgumentMessage as InvalidArgumentMessage, messages_NameAlreadyDefinedMessage as NameAlreadyDefinedMessage, messages_NewBlockShouldBeOnNewlineMessage as NewBlockShouldBeOnNewlineMessage, messages_ReachedRecursionLimitMessage as ReachedRecursionLimitMessage, messages_ReferredMessage as ReferredMessage, messages_SlotUsedOutsideDefinitionMessage as SlotUsedOutsideDefinitionMessage, messages_UnclosedInlineModifierMessage as UnclosedInlineModifierMessage, messages_UndefinedVariableMessage as UndefinedVariableMessage, messages_UnknownModifierMessage as UnknownModifierMessage, messages_UnnecessaryNewlineMessage as UnnecessaryNewlineMessage };
396
+ }
397
+
347
398
  declare const BuiltinConfiguration: Configuration;
348
399
 
349
- export { type ArgumentEntity, ArgumentInterpolatorDefinition, ArgumentsTooFewMessage, ArgumentsTooManyMessage, type BlockEntity, type BlockInstantiationData, BlockModifierDefinition, type BlockModifierNode, BuiltinConfiguration, Configuration, ContentShouldBeOnNewlineMessage, Document, type DocumentNode, type EscapedNode, ExpectedMessage, type FixSuggestion, InlineDefinitonInvalidEntityMessage, type InlineEntity, type InlineInstantiationData, InlineModifierDefinition, type InlineModifierNode, type InterpolationNode, InvalidArgumentMessage, type Message, MessageSeverity, type ModifierArgument, ModifierFlags, type ModifierNode, NameAlreadyDefinedMessage, NewBlockShouldBeOnNewlineMessage, NodeType, type ParagraphNode, ParseContext, type ParseContextStoreDefinitions, type ParseContextStoreKey, type PositionRange, type PreNode, ReachedRecursionLimitMessage, ReferredMessage, type RootNode, type Scanner, SimpleScanner, SlotUsedOutsideDefinitionMessage, SystemModifierDefinition, type SystemModifierNode, type TextNode, UnclosedInlineModifierMessage, UndefinedVariableMessage, UnknownModifierMessage, UnnecessaryNewlineMessage, parse };
400
+ declare function setDebugLevel(level: DebugLevel): void;
401
+
402
+ export { type ArgumentEntity, ArgumentInterpolatorDefinition, type BlockEntity, type BlockInstantiationData, BlockModifierDefinition, type BlockModifierNode, BuiltinConfiguration, Configuration, DebugLevel, Document, type DocumentNode, type EscapedNode, type FixSuggestion, type InlineEntity, type InlineInstantiationData, InlineModifierDefinition, type InlineModifierNode, type InterpolationNode, type Message, MessageSeverity, type ModifierArgument, ModifierFlags, type ModifierNode, NodeType, type ParagraphNode, ParseContext, type ParseContextStoreDefinitions, type ParseContextStoreKey, type PositionRange, type PreNode, type RootNode, type Scanner, SimpleScanner, SystemModifierDefinition, type SystemModifierNode, type TextNode, messages, parse, setDebugLevel };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,11 @@
1
+ declare enum DebugLevel {
2
+ Trace = 0,
3
+ Info = 1,
4
+ Warning = 2,
5
+ Error = 3,
6
+ None = 4
7
+ }
8
+
1
9
  declare class NameManager<T extends {
2
10
  name: string;
3
11
  }> {
@@ -101,17 +109,19 @@ type RootNode = PositionRange & {
101
109
  type: NodeType.Root;
102
110
  content: BlockEntity[];
103
111
  };
104
- type ModifierNode = BlockModifierNode<any> | InlineModifierNode<any> | SystemModifierNode<any>;
112
+ type ModifierNode<T = any> = BlockModifierNode<T> | InlineModifierNode<T> | SystemModifierNode<T>;
105
113
  type BlockEntity = ParagraphNode | PreNode | BlockModifierNode<any> | SystemModifierNode<any>;
106
114
  type InlineEntity = TextNode | EscapedNode | InlineModifierNode<any> | SystemModifierNode<any>;
107
115
  type DocumentNode = BlockEntity | InlineEntity | RootNode;
108
116
  type InterpolationNode = PositionRange & {
109
117
  type: NodeType.Interpolation;
110
118
  definition: ArgumentInterpolatorDefinition;
111
- arg: ModifierArgument;
119
+ argument: ModifierArgument;
120
+ expansion?: string;
112
121
  };
113
122
  type ModifierArgument = PositionRange & {
114
123
  content: ArgumentEntity[];
124
+ expansion?: string;
115
125
  };
116
126
  type ArgumentEntity = TextNode | EscapedNode | InterpolationNode;
117
127
  declare enum ModifierFlags {
@@ -143,8 +153,9 @@ declare class SystemModifierDefinition<TState> extends ModifierBase<SystemModifi
143
153
  declare class ArgumentInterpolatorDefinition {
144
154
  readonly name: string;
145
155
  readonly postfix: string;
146
- expand: (content: string, cxt: ParseContext) => string;
147
- constructor(name: string, postfix: string, expand: (content: string, cxt: ParseContext) => string);
156
+ constructor(name: string, postfix: string, args?: Partial<ArgumentInterpolatorDefinition>);
157
+ alwaysTryExpand: boolean;
158
+ expand?: (content: string, cxt: ParseContext, immediate: boolean) => string | undefined;
148
159
  }
149
160
  type BlockInstantiationData = {
150
161
  mod: BlockModifierDefinition<any>;
@@ -161,7 +172,6 @@ interface ParseContextStoreDefinitions {
161
172
  type ParseContextStoreKey = keyof ParseContextStoreDefinitions;
162
173
  type ParseContextStoreEntry<S extends ParseContextStoreKey> = ParseContextStoreDefinitions[S];
163
174
  declare class ParseContext {
164
- #private;
165
175
  config: Configuration;
166
176
  variables: Map<string, string>;
167
177
  private data;
@@ -169,13 +179,13 @@ declare class ParseContext {
169
179
  init<S extends ParseContextStoreKey>(key: S, obj: ParseContextStoreEntry<S>): void;
170
180
  set<S extends ParseContextStoreKey>(key: S, obj: ParseContextStoreEntry<S>): void;
171
181
  get<S extends ParseContextStoreKey>(key: S): ParseContextStoreEntry<S>;
172
- evaluateArgument(arg: ModifierArgument): string;
173
182
  }
174
183
  declare class Document {
175
184
  root: RootNode;
176
185
  context: ParseContext;
177
186
  messages: Message[];
178
187
  constructor(root: RootNode, context: ParseContext, messages: Message[]);
188
+ debugPrint(source: string): string;
179
189
  }
180
190
  declare class Configuration {
181
191
  initializers: ((cxt: ParseContext) => void)[];
@@ -262,18 +272,25 @@ declare class UnclosedInlineModifierMessage implements Message {
262
272
  readonly fixes: readonly FixSuggestion[];
263
273
  get info(): string;
264
274
  }
265
- declare class ArgumentsTooFewMessage implements Message {
275
+ declare class ArgumentCountMismatchMessage implements Message {
266
276
  readonly position: number;
267
277
  readonly length: number;
268
- private expected?;
269
- constructor(position: number, length: number, expected?: number | undefined);
278
+ constructor(position: number, length: number, min?: number, max?: number);
279
+ private msg;
270
280
  readonly code = 4;
271
281
  readonly severity = MessageSeverity.Error;
272
282
  readonly fixes: readonly FixSuggestion[];
273
283
  get info(): string;
274
284
  }
275
- declare class ArgumentsTooManyMessage extends RemoveThingMessage {
276
- constructor(pos: number, len: number, expected?: number);
285
+ declare class CannotExpandArgumentMessage implements Message {
286
+ readonly position: number;
287
+ readonly length: number;
288
+ private what?;
289
+ constructor(position: number, length: number, what?: string | undefined);
290
+ readonly code = 5;
291
+ readonly severity = MessageSeverity.Error;
292
+ readonly fixes: readonly FixSuggestion[];
293
+ get info(): string;
277
294
  }
278
295
  declare class InvalidArgumentMessage implements Message {
279
296
  readonly position: number;
@@ -344,6 +361,42 @@ declare class UndefinedVariableMessage implements Message {
344
361
  get info(): string;
345
362
  }
346
363
 
364
+ type messages_ArgumentCountMismatchMessage = ArgumentCountMismatchMessage;
365
+ declare const messages_ArgumentCountMismatchMessage: typeof ArgumentCountMismatchMessage;
366
+ type messages_CannotExpandArgumentMessage = CannotExpandArgumentMessage;
367
+ declare const messages_CannotExpandArgumentMessage: typeof CannotExpandArgumentMessage;
368
+ type messages_ContentShouldBeOnNewlineMessage = ContentShouldBeOnNewlineMessage;
369
+ declare const messages_ContentShouldBeOnNewlineMessage: typeof ContentShouldBeOnNewlineMessage;
370
+ type messages_ExpectedMessage = ExpectedMessage;
371
+ declare const messages_ExpectedMessage: typeof ExpectedMessage;
372
+ type messages_InlineDefinitonInvalidEntityMessage = InlineDefinitonInvalidEntityMessage;
373
+ declare const messages_InlineDefinitonInvalidEntityMessage: typeof InlineDefinitonInvalidEntityMessage;
374
+ type messages_InvalidArgumentMessage = InvalidArgumentMessage;
375
+ declare const messages_InvalidArgumentMessage: typeof InvalidArgumentMessage;
376
+ type messages_NameAlreadyDefinedMessage = NameAlreadyDefinedMessage;
377
+ declare const messages_NameAlreadyDefinedMessage: typeof NameAlreadyDefinedMessage;
378
+ type messages_NewBlockShouldBeOnNewlineMessage = NewBlockShouldBeOnNewlineMessage;
379
+ declare const messages_NewBlockShouldBeOnNewlineMessage: typeof NewBlockShouldBeOnNewlineMessage;
380
+ type messages_ReachedRecursionLimitMessage = ReachedRecursionLimitMessage;
381
+ declare const messages_ReachedRecursionLimitMessage: typeof ReachedRecursionLimitMessage;
382
+ type messages_ReferredMessage = ReferredMessage;
383
+ declare const messages_ReferredMessage: typeof ReferredMessage;
384
+ type messages_SlotUsedOutsideDefinitionMessage = SlotUsedOutsideDefinitionMessage;
385
+ declare const messages_SlotUsedOutsideDefinitionMessage: typeof SlotUsedOutsideDefinitionMessage;
386
+ type messages_UnclosedInlineModifierMessage = UnclosedInlineModifierMessage;
387
+ declare const messages_UnclosedInlineModifierMessage: typeof UnclosedInlineModifierMessage;
388
+ type messages_UndefinedVariableMessage = UndefinedVariableMessage;
389
+ declare const messages_UndefinedVariableMessage: typeof UndefinedVariableMessage;
390
+ type messages_UnknownModifierMessage = UnknownModifierMessage;
391
+ declare const messages_UnknownModifierMessage: typeof UnknownModifierMessage;
392
+ type messages_UnnecessaryNewlineMessage = UnnecessaryNewlineMessage;
393
+ declare const messages_UnnecessaryNewlineMessage: typeof UnnecessaryNewlineMessage;
394
+ declare namespace messages {
395
+ export { messages_ArgumentCountMismatchMessage as ArgumentCountMismatchMessage, messages_CannotExpandArgumentMessage as CannotExpandArgumentMessage, messages_ContentShouldBeOnNewlineMessage as ContentShouldBeOnNewlineMessage, messages_ExpectedMessage as ExpectedMessage, messages_InlineDefinitonInvalidEntityMessage as InlineDefinitonInvalidEntityMessage, messages_InvalidArgumentMessage as InvalidArgumentMessage, messages_NameAlreadyDefinedMessage as NameAlreadyDefinedMessage, messages_NewBlockShouldBeOnNewlineMessage as NewBlockShouldBeOnNewlineMessage, messages_ReachedRecursionLimitMessage as ReachedRecursionLimitMessage, messages_ReferredMessage as ReferredMessage, messages_SlotUsedOutsideDefinitionMessage as SlotUsedOutsideDefinitionMessage, messages_UnclosedInlineModifierMessage as UnclosedInlineModifierMessage, messages_UndefinedVariableMessage as UndefinedVariableMessage, messages_UnknownModifierMessage as UnknownModifierMessage, messages_UnnecessaryNewlineMessage as UnnecessaryNewlineMessage };
396
+ }
397
+
347
398
  declare const BuiltinConfiguration: Configuration;
348
399
 
349
- export { type ArgumentEntity, ArgumentInterpolatorDefinition, ArgumentsTooFewMessage, ArgumentsTooManyMessage, type BlockEntity, type BlockInstantiationData, BlockModifierDefinition, type BlockModifierNode, BuiltinConfiguration, Configuration, ContentShouldBeOnNewlineMessage, Document, type DocumentNode, type EscapedNode, ExpectedMessage, type FixSuggestion, InlineDefinitonInvalidEntityMessage, type InlineEntity, type InlineInstantiationData, InlineModifierDefinition, type InlineModifierNode, type InterpolationNode, InvalidArgumentMessage, type Message, MessageSeverity, type ModifierArgument, ModifierFlags, type ModifierNode, NameAlreadyDefinedMessage, NewBlockShouldBeOnNewlineMessage, NodeType, type ParagraphNode, ParseContext, type ParseContextStoreDefinitions, type ParseContextStoreKey, type PositionRange, type PreNode, ReachedRecursionLimitMessage, ReferredMessage, type RootNode, type Scanner, SimpleScanner, SlotUsedOutsideDefinitionMessage, SystemModifierDefinition, type SystemModifierNode, type TextNode, UnclosedInlineModifierMessage, UndefinedVariableMessage, UnknownModifierMessage, UnnecessaryNewlineMessage, parse };
400
+ declare function setDebugLevel(level: DebugLevel): void;
401
+
402
+ export { type ArgumentEntity, ArgumentInterpolatorDefinition, type BlockEntity, type BlockInstantiationData, BlockModifierDefinition, type BlockModifierNode, BuiltinConfiguration, Configuration, DebugLevel, Document, type DocumentNode, type EscapedNode, type FixSuggestion, type InlineEntity, type InlineInstantiationData, InlineModifierDefinition, type InlineModifierNode, type InterpolationNode, type Message, MessageSeverity, type ModifierArgument, ModifierFlags, type ModifierNode, NodeType, type ParagraphNode, ParseContext, type ParseContextStoreDefinitions, type ParseContextStoreKey, type PositionRange, type PreNode, type RootNode, type Scanner, SimpleScanner, SystemModifierDefinition, type SystemModifierNode, type TextNode, messages, parse, setDebugLevel };