@the_dissidents/libemmm 0.0.5 → 0.0.8
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/README.md +28 -15
- package/dist/index.d.mts +124 -44
- package/dist/index.d.ts +124 -44
- package/dist/index.js +547 -227
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +544 -227
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -1
- package/dist/src/builtin/builtin.d.ts +0 -2
- package/dist/src/builtin/builtin.js +0 -18
- package/dist/src/builtin/builtin.js.map +0 -1
- package/dist/src/builtin/define-modifier.d.ts +0 -12
- package/dist/src/builtin/define-modifier.js +0 -129
- package/dist/src/builtin/define-modifier.js.map +0 -1
- package/dist/src/builtin/define-shorthand.d.ts +0 -14
- package/dist/src/builtin/define-shorthand.js +0 -178
- package/dist/src/builtin/define-shorthand.js.map +0 -1
- package/dist/src/builtin/internal.d.ts +0 -41
- package/dist/src/builtin/internal.js +0 -106
- package/dist/src/builtin/internal.js.map +0 -1
- package/dist/src/builtin/module.d.ts +0 -16
- package/dist/src/builtin/module.js +0 -156
- package/dist/src/builtin/module.js.map +0 -1
- package/dist/src/builtin/slot.d.ts +0 -7
- package/dist/src/builtin/slot.js +0 -136
- package/dist/src/builtin/slot.js.map +0 -1
- package/dist/src/builtin/var.d.ts +0 -12
- package/dist/src/builtin/var.js +0 -103
- package/dist/src/builtin/var.js.map +0 -1
- package/dist/src/debug-print.d.ts +0 -14
- package/dist/src/debug-print.js +0 -113
- package/dist/src/debug-print.js.map +0 -1
- package/dist/src/debug.d.ts +0 -15
- package/dist/src/debug.js +0 -47
- package/dist/src/debug.js.map +0 -1
- package/dist/src/default/bullets.d.ts +0 -4
- package/dist/src/default/bullets.js +0 -39
- package/dist/src/default/bullets.js.map +0 -1
- package/dist/src/default/code.d.ts +0 -6
- package/dist/src/default/code.js +0 -13
- package/dist/src/default/code.js.map +0 -1
- package/dist/src/default/default.d.ts +0 -2
- package/dist/src/default/default.js +0 -20
- package/dist/src/default/default.js.map +0 -1
- package/dist/src/default/headings.d.ts +0 -20
- package/dist/src/default/headings.js +0 -125
- package/dist/src/default/headings.js.map +0 -1
- package/dist/src/default/html-renderer.d.ts +0 -26
- package/dist/src/default/html-renderer.js +0 -108
- package/dist/src/default/html-renderer.js.map +0 -1
- package/dist/src/default/inline-styles.d.ts +0 -4
- package/dist/src/default/inline-styles.js +0 -24
- package/dist/src/default/inline-styles.js.map +0 -1
- package/dist/src/default/misc.d.ts +0 -6
- package/dist/src/default/misc.js +0 -112
- package/dist/src/default/misc.js.map +0 -1
- package/dist/src/default/notes.d.ts +0 -28
- package/dist/src/default/notes.js +0 -109
- package/dist/src/default/notes.js.map +0 -1
- package/dist/src/default/quotes.d.ts +0 -4
- package/dist/src/default/quotes.js +0 -36
- package/dist/src/default/quotes.js.map +0 -1
- package/dist/src/default/vars.d.ts +0 -2
- package/dist/src/default/vars.js +0 -39
- package/dist/src/default/vars.js.map +0 -1
- package/dist/src/index.d.ts +0 -13
- package/dist/src/index.js +0 -58
- package/dist/src/index.js.map +0 -1
- package/dist/src/interface.d.ts +0 -174
- package/dist/src/interface.js +0 -93
- package/dist/src/interface.js.map +0 -1
- package/dist/src/messages.d.ts +0 -165
- package/dist/src/messages.js +0 -279
- package/dist/src/messages.js.map +0 -1
- package/dist/src/modifier-helper.d.ts +0 -6
- package/dist/src/modifier-helper.js +0 -113
- package/dist/src/modifier-helper.js.map +0 -1
- package/dist/src/parser-config.d.ts +0 -44
- package/dist/src/parser-config.js +0 -67
- package/dist/src/parser-config.js.map +0 -1
- package/dist/src/parser.d.ts +0 -3
- package/dist/src/parser.js +0 -652
- package/dist/src/parser.js.map +0 -1
- package/dist/src/renderer.d.ts +0 -49
- package/dist/src/renderer.js +0 -81
- package/dist/src/renderer.js.map +0 -1
- package/dist/src/scanner.d.ts +0 -22
- package/dist/src/scanner.js +0 -50
- package/dist/src/scanner.js.map +0 -1
- package/dist/src/temp.d.ts +0 -1
- package/dist/src/temp.js +0 -108
- package/dist/src/temp.js.map +0 -1
- package/dist/src/typing-helper.d.ts +0 -7
- package/dist/src/typing-helper.js +0 -3
- package/dist/src/typing-helper.js.map +0 -1
- package/dist/src/util.d.ts +0 -29
- package/dist/src/util.js +0 -177
- package/dist/src/util.js.map +0 -1
- package/dist/tests/advanced_syntax.test.d.ts +0 -1
- package/dist/tests/advanced_syntax.test.js +0 -180
- package/dist/tests/advanced_syntax.test.js.map +0 -1
- package/dist/tests/basic_syntax.test.d.ts +0 -1
- package/dist/tests/basic_syntax.test.js +0 -431
- package/dist/tests/basic_syntax.test.js.map +0 -1
- package/dist/tests/default/headings.test.d.ts +0 -1
- package/dist/tests/default/headings.test.js +0 -90
- package/dist/tests/default/headings.test.js.map +0 -1
- package/dist/tests/define_block.test.d.ts +0 -1
- package/dist/tests/define_block.test.js +0 -209
- package/dist/tests/define_block.test.js.map +0 -1
- package/dist/tests/define_inline.test.d.ts +0 -1
- package/dist/tests/define_inline.test.js +0 -289
- package/dist/tests/define_inline.test.js.map +0 -1
- package/dist/tests/modules.test.d.ts +0 -1
- package/dist/tests/modules.test.js +0 -137
- package/dist/tests/modules.test.js.map +0 -1
- package/dist/tests/shorthands.test.d.ts +0 -1
- package/dist/tests/shorthands.test.js +0 -79
- package/dist/tests/shorthands.test.js.map +0 -1
- package/dist/tsup.config.d.ts +0 -2
- package/dist/tsup.config.js +0 -12
- package/dist/tsup.config.js.map +0 -1
- package/dist/vitest.config.d.ts +0 -2
- package/dist/vitest.config.js +0 -17
- package/dist/vitest.config.js.map +0 -1
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UseBlockMod = exports.UseSystemMod = exports.ModuleMod = void 0;
|
|
4
|
-
const debug_1 = require("../debug");
|
|
5
|
-
const debug_print_1 = require("../debug-print");
|
|
6
|
-
const interface_1 = require("../interface");
|
|
7
|
-
const messages_1 = require("../messages");
|
|
8
|
-
const modifier_helper_1 = require("../modifier-helper");
|
|
9
|
-
const util_1 = require("../util");
|
|
10
|
-
const internal_1 = require("./internal");
|
|
11
|
-
function getDefs(cxt) {
|
|
12
|
-
const data = cxt.get(internal_1.builtins);
|
|
13
|
-
return {
|
|
14
|
-
usedModules: new Set(data.usedModules),
|
|
15
|
-
blocks: cxt.config.blockModifiers.toSet(),
|
|
16
|
-
inlines: cxt.config.inlineModifiers.toSet(),
|
|
17
|
-
inlineShorthands: cxt.config.inlineShorthands.toSet(),
|
|
18
|
-
blockShorthands: cxt.config.blockShorthands.toSet()
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
function applyDefs(cxt, defs) {
|
|
22
|
-
const data = cxt.get(internal_1.builtins);
|
|
23
|
-
data.usedModules = new Set(defs.usedModules);
|
|
24
|
-
cxt.config.blockModifiers = new util_1.NameManager(defs.blocks);
|
|
25
|
-
cxt.config.inlineModifiers = new util_1.NameManager(defs.inlines);
|
|
26
|
-
cxt.config.inlineShorthands = new util_1.NameManager(defs.inlineShorthands);
|
|
27
|
-
cxt.config.blockShorthands = new util_1.NameManager(defs.blockShorthands);
|
|
28
|
-
}
|
|
29
|
-
function add(snew, sold, transform) {
|
|
30
|
-
let newNames = new Set([...snew].map((x) => x.name));
|
|
31
|
-
let out = new Set(snew);
|
|
32
|
-
let overlap = [];
|
|
33
|
-
for (const x of sold) {
|
|
34
|
-
if (newNames.has(x.name))
|
|
35
|
-
overlap.push(x);
|
|
36
|
-
else
|
|
37
|
-
out.add(x);
|
|
38
|
-
}
|
|
39
|
-
return [out, overlap.map(transform).join(', ')];
|
|
40
|
-
}
|
|
41
|
-
function diffDef(cnew, cold) {
|
|
42
|
-
return {
|
|
43
|
-
usedModules: cnew.usedModules.difference(cold.usedModules),
|
|
44
|
-
blocks: cnew.blocks.difference(cold.blocks),
|
|
45
|
-
inlines: cnew.inlines.difference(cold.inlines),
|
|
46
|
-
inlineShorthands: cnew.inlineShorthands.difference(cold.inlineShorthands),
|
|
47
|
-
blockShorthands: cnew.blockShorthands.difference(cold.blockShorthands)
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
function addDef(cnew, cold) {
|
|
51
|
-
let [blocks, s1] = add(cnew.blocks, cold.blocks, debug_print_1.debugPrint.blockModifier);
|
|
52
|
-
let [inlines, s2] = add(cnew.inlines, cold.inlines, debug_print_1.debugPrint.inlineModifier);
|
|
53
|
-
let [inlineShorthands, s3] = add(cnew.inlineShorthands, cold.inlineShorthands, debug_print_1.debugPrint.inlineShorthand);
|
|
54
|
-
let [blockShorthands, s4] = add(cnew.blockShorthands, cold.blockShorthands, debug_print_1.debugPrint.blockShorthand);
|
|
55
|
-
return [{
|
|
56
|
-
usedModules: cnew.usedModules.union(cold.usedModules),
|
|
57
|
-
blocks, inlines, inlineShorthands, blockShorthands
|
|
58
|
-
},
|
|
59
|
-
(s1 ? s1 + '; ' : '')
|
|
60
|
-
+ (s2 ? s2 + '; ' : '')
|
|
61
|
-
+ (s3 ? 'inline shorthand ' + s3 + '; ' : '')
|
|
62
|
-
+ (s4 ? 'block shorthand ' + s4 : '')];
|
|
63
|
-
}
|
|
64
|
-
exports.ModuleMod = new interface_1.BlockModifierDefinition('module', interface_1.ModifierSlotType.Normal, {
|
|
65
|
-
expand(node) {
|
|
66
|
-
// no need to clone?
|
|
67
|
-
return []; // node.content;
|
|
68
|
-
},
|
|
69
|
-
beforeParseContent(node, cxt) {
|
|
70
|
-
const check = (0, modifier_helper_1.checkArguments)(node, 1);
|
|
71
|
-
if (check)
|
|
72
|
-
return check;
|
|
73
|
-
const data = cxt.get(internal_1.builtins);
|
|
74
|
-
const name = node.arguments[0].expansion;
|
|
75
|
-
const defs = getDefs(cxt);
|
|
76
|
-
if (data.insideModule !== undefined) {
|
|
77
|
-
return [new messages_1.NoNestedModuleMessage(node.head)];
|
|
78
|
-
}
|
|
79
|
-
let msgs = [];
|
|
80
|
-
node.state = { name, defs };
|
|
81
|
-
data.insideModule = name;
|
|
82
|
-
if (data.modules.has(name)) {
|
|
83
|
-
const [added, msg] = addDef(defs, data.modules.get(name));
|
|
84
|
-
if (msg)
|
|
85
|
-
msgs.push(new messages_1.OverwriteDefinitionsMessage(node.head, msg));
|
|
86
|
-
applyDefs(cxt, added);
|
|
87
|
-
debug_1.debug.trace('entering defs for module', name, '(earlier data loaded)');
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
debug_1.debug.trace('entering defs for module', name);
|
|
91
|
-
}
|
|
92
|
-
return msgs;
|
|
93
|
-
},
|
|
94
|
-
afterParseContent(node, cxt) {
|
|
95
|
-
if (!node.state)
|
|
96
|
-
return [];
|
|
97
|
-
const data = cxt.get(internal_1.builtins);
|
|
98
|
-
data.insideModule = undefined;
|
|
99
|
-
data.modules.set(node.state.name, diffDef(getDefs(cxt), node.state.defs));
|
|
100
|
-
applyDefs(cxt, node.state.defs);
|
|
101
|
-
debug_1.debug.trace('exiting defs for module', node.state.name);
|
|
102
|
-
return [];
|
|
103
|
-
},
|
|
104
|
-
});
|
|
105
|
-
exports.UseSystemMod = new interface_1.SystemModifierDefinition('use', interface_1.ModifierSlotType.None, {
|
|
106
|
-
prepareExpand(node, cxt) {
|
|
107
|
-
const check = (0, modifier_helper_1.checkArguments)(node, 1);
|
|
108
|
-
if (check)
|
|
109
|
-
return check;
|
|
110
|
-
const data = cxt.get(internal_1.builtins);
|
|
111
|
-
const name = node.arguments[0];
|
|
112
|
-
if (!data.modules.has(name.expansion))
|
|
113
|
-
return [new messages_1.InvalidArgumentMessage(name.location)];
|
|
114
|
-
if (data.insideModule === name.expansion)
|
|
115
|
-
return [new messages_1.CannotUseModuleInSelfMessage(name.location)];
|
|
116
|
-
const [added, msg] = addDef(data.modules.get(name.expansion), getDefs(cxt));
|
|
117
|
-
node.state = added;
|
|
118
|
-
if (msg)
|
|
119
|
-
return [new messages_1.OverwriteDefinitionsMessage(node.head, msg)];
|
|
120
|
-
return [];
|
|
121
|
-
},
|
|
122
|
-
expand(node, cxt) {
|
|
123
|
-
if (node.state)
|
|
124
|
-
applyDefs(cxt, node.state);
|
|
125
|
-
return [];
|
|
126
|
-
},
|
|
127
|
-
});
|
|
128
|
-
exports.UseBlockMod = new interface_1.BlockModifierDefinition('use', interface_1.ModifierSlotType.Normal, {
|
|
129
|
-
beforeParseContent(node, cxt) {
|
|
130
|
-
const check = (0, modifier_helper_1.checkArguments)(node, 1);
|
|
131
|
-
if (check)
|
|
132
|
-
return check;
|
|
133
|
-
const data = cxt.get(internal_1.builtins);
|
|
134
|
-
const name = node.arguments[0];
|
|
135
|
-
if (!data.modules.has(name.expansion))
|
|
136
|
-
return [new messages_1.InvalidArgumentMessage(name.location)];
|
|
137
|
-
if (data.insideModule === name.expansion)
|
|
138
|
-
return [new messages_1.CannotUseModuleInSelfMessage(name.location)];
|
|
139
|
-
const old = getDefs(cxt);
|
|
140
|
-
const [added, msg] = addDef(data.modules.get(name.expansion), old);
|
|
141
|
-
applyDefs(cxt, added);
|
|
142
|
-
node.state = { old };
|
|
143
|
-
if (msg)
|
|
144
|
-
return [new messages_1.OverwriteDefinitionsMessage(node.head, msg)];
|
|
145
|
-
return [];
|
|
146
|
-
},
|
|
147
|
-
afterParseContent(node, cxt) {
|
|
148
|
-
if (node.state)
|
|
149
|
-
applyDefs(cxt, node.state.old);
|
|
150
|
-
return [];
|
|
151
|
-
},
|
|
152
|
-
expand(node) {
|
|
153
|
-
return node.content;
|
|
154
|
-
},
|
|
155
|
-
});
|
|
156
|
-
//# sourceMappingURL=module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/builtin/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { BlockModifierDefinition, InlineModifierDefinition } from "../interface";
|
|
2
|
-
export declare const SlotBlockMod: BlockModifierDefinition<any>;
|
|
3
|
-
export declare const SlotInlineMod: InlineModifierDefinition<any>;
|
|
4
|
-
export declare const PreSlotBlockMod: BlockModifierDefinition<any>;
|
|
5
|
-
export declare const PreSlotInlineMod: InlineModifierDefinition<any>;
|
|
6
|
-
export declare const InjectPreSlotBlockMod: BlockModifierDefinition<any>;
|
|
7
|
-
export declare const InjectPreSlotInlineMod: InlineModifierDefinition<any>;
|
package/dist/src/builtin/slot.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InjectPreSlotInlineMod = exports.InjectPreSlotBlockMod = exports.PreSlotInlineMod = exports.PreSlotBlockMod = exports.SlotInlineMod = exports.SlotBlockMod = void 0;
|
|
4
|
-
const debug_1 = require("../debug");
|
|
5
|
-
const interface_1 = require("../interface");
|
|
6
|
-
const messages_1 = require("../messages");
|
|
7
|
-
const modifier_helper_1 = require("../modifier-helper");
|
|
8
|
-
const util_1 = require("../util");
|
|
9
|
-
const internal_1 = require("./internal");
|
|
10
|
-
function slotModifier(name, type, preformatted, inject) {
|
|
11
|
-
const mod = (type == interface_1.NodeType.BlockModifier
|
|
12
|
-
? new interface_1.BlockModifierDefinition(name, interface_1.ModifierSlotType.None)
|
|
13
|
-
: new interface_1.InlineModifierDefinition(name, interface_1.ModifierSlotType.None));
|
|
14
|
-
const isInline = type == interface_1.NodeType.InlineModifier;
|
|
15
|
-
mod.alwaysTryExpand = true;
|
|
16
|
-
mod.prepareExpand = (node, cxt, immediate) => {
|
|
17
|
-
if (node.state)
|
|
18
|
-
return [];
|
|
19
|
-
function processSignature(s) {
|
|
20
|
-
if (s.preformatted === undefined) {
|
|
21
|
-
s.preformatted = preformatted;
|
|
22
|
-
debug_1.debug.trace('set preformatted to ', preformatted);
|
|
23
|
-
}
|
|
24
|
-
else if (s.preformatted !== preformatted) {
|
|
25
|
-
return [new messages_1.EitherNormalOrPreMessage(node.location)];
|
|
26
|
-
}
|
|
27
|
-
return [];
|
|
28
|
-
}
|
|
29
|
-
// check args
|
|
30
|
-
const check = inject
|
|
31
|
-
? (0, modifier_helper_1.checkArguments)(node, 1, 2)
|
|
32
|
-
: (0, modifier_helper_1.checkArguments)(node, 0, 1);
|
|
33
|
-
if (check) {
|
|
34
|
-
node.state = { ok: false };
|
|
35
|
-
return check;
|
|
36
|
-
}
|
|
37
|
-
const msgs = (() => {
|
|
38
|
-
const store = cxt.get(internal_1.builtins);
|
|
39
|
-
const data = isInline ? store.inlineInstantiationData : store.blockInstantiationData;
|
|
40
|
-
const stack = isInline ? store.inlineSlotDelayedStack : store.blockSlotDelayedStack;
|
|
41
|
-
// check inside definition
|
|
42
|
-
if (data.length == 0 && stack.length == 0) {
|
|
43
|
-
node.state = { ok: false };
|
|
44
|
-
return [new messages_1.SlotUsedOutsideDefinitionMessage(node.location)];
|
|
45
|
-
}
|
|
46
|
-
// find default
|
|
47
|
-
if (node.arguments.length == (inject ? 1 : 0)) {
|
|
48
|
-
let signature = stack.at(-1);
|
|
49
|
-
if (signature)
|
|
50
|
-
return processSignature(signature); // delay
|
|
51
|
-
node.state = { ok: true, data: data.at(-1), index: data.length - 1 };
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
// find id
|
|
55
|
-
const id = node.arguments[0].expansion;
|
|
56
|
-
let signature = stack.find((x) => x.slotName == id);
|
|
57
|
-
if (signature)
|
|
58
|
-
return processSignature(signature); // delay
|
|
59
|
-
for (let i = data.length - 1; i >= 0; i--)
|
|
60
|
-
if (data[i].slotName === id) {
|
|
61
|
-
node.state = { ok: true, data: data[i], index: i };
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
// not found
|
|
65
|
-
if (immediate) {
|
|
66
|
-
node.state = { ok: false };
|
|
67
|
-
const arg = node.arguments[0];
|
|
68
|
-
return [new messages_1.InvalidArgumentMessage(arg.location, id)];
|
|
69
|
-
}
|
|
70
|
-
})();
|
|
71
|
-
if (inject) {
|
|
72
|
-
const arg = node.arguments.at(-1);
|
|
73
|
-
const modName = arg.expansion;
|
|
74
|
-
const mod = (isInline
|
|
75
|
-
? cxt.config.inlineModifiers
|
|
76
|
-
: cxt.config.blockModifiers).get(modName);
|
|
77
|
-
if (!mod) {
|
|
78
|
-
node.state = { ok: false };
|
|
79
|
-
return [new messages_1.UnknownModifierMessage(arg.location, modName)];
|
|
80
|
-
}
|
|
81
|
-
if (node.state?.ok)
|
|
82
|
-
node.state.injectMod = mod;
|
|
83
|
-
}
|
|
84
|
-
if (msgs)
|
|
85
|
-
return msgs;
|
|
86
|
-
return [];
|
|
87
|
-
};
|
|
88
|
-
mod.expand = (node, cxt) => {
|
|
89
|
-
if (!node.state)
|
|
90
|
-
return undefined;
|
|
91
|
-
if (!node.state.ok)
|
|
92
|
-
return [];
|
|
93
|
-
let cloned = (0, util_1.cloneNodes)(node.state.data.slotContent);
|
|
94
|
-
if (inject) {
|
|
95
|
-
const mod = node.state.injectMod;
|
|
96
|
-
const modNode = {
|
|
97
|
-
type, mod,
|
|
98
|
-
location: node.location,
|
|
99
|
-
head: node.head,
|
|
100
|
-
arguments: [], // TODO: enable injecting args
|
|
101
|
-
content: cloned
|
|
102
|
-
};
|
|
103
|
-
return [modNode];
|
|
104
|
-
}
|
|
105
|
-
else
|
|
106
|
-
return cloned;
|
|
107
|
-
};
|
|
108
|
-
mod.beforeProcessExpansion = (node, cxt) => {
|
|
109
|
-
// TODO: not sure if this works
|
|
110
|
-
if (!node.state?.ok)
|
|
111
|
-
return [];
|
|
112
|
-
const store = cxt.get(internal_1.builtins);
|
|
113
|
-
debug_1.debug.trace('temporarily removed slot data for', node.state.data.mod.name);
|
|
114
|
-
const data = isInline ? store.inlineInstantiationData : store.blockInstantiationData;
|
|
115
|
-
data.splice(node.state.index, 1);
|
|
116
|
-
return [];
|
|
117
|
-
};
|
|
118
|
-
mod.afterProcessExpansion = (node, cxt) => {
|
|
119
|
-
// TODO: not sure if this works
|
|
120
|
-
if (!node.state?.ok)
|
|
121
|
-
return [];
|
|
122
|
-
const store = cxt.get(internal_1.builtins);
|
|
123
|
-
debug_1.debug.trace('reinstated slot data for', node.state.data.mod.name);
|
|
124
|
-
const data = isInline ? store.inlineInstantiationData : store.blockInstantiationData;
|
|
125
|
-
data.splice(node.state.index, 0, node.state.data);
|
|
126
|
-
return [];
|
|
127
|
-
};
|
|
128
|
-
return mod;
|
|
129
|
-
}
|
|
130
|
-
exports.SlotBlockMod = slotModifier('slot', interface_1.NodeType.BlockModifier, false, false);
|
|
131
|
-
exports.SlotInlineMod = slotModifier('slot', interface_1.NodeType.InlineModifier, false, false);
|
|
132
|
-
exports.PreSlotBlockMod = slotModifier('pre-slot', interface_1.NodeType.BlockModifier, true, false);
|
|
133
|
-
exports.PreSlotInlineMod = slotModifier('pre-slot', interface_1.NodeType.InlineModifier, true, false);
|
|
134
|
-
exports.InjectPreSlotBlockMod = slotModifier('inject-pre-slot', interface_1.NodeType.BlockModifier, true, true);
|
|
135
|
-
exports.InjectPreSlotInlineMod = slotModifier('inject-pre-slot', interface_1.NodeType.InlineModifier, true, true);
|
|
136
|
-
//# sourceMappingURL=slot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slot.js","sourceRoot":"","sources":["../../../src/builtin/slot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { InlineModifierDefinition, ArgumentInterpolatorDefinition, SystemModifierDefinition } from "../interface";
|
|
2
|
-
export declare const GetVarInlineMod: InlineModifierDefinition<{
|
|
3
|
-
value: string;
|
|
4
|
-
}>;
|
|
5
|
-
export declare const PrintInlineMod: InlineModifierDefinition<{
|
|
6
|
-
value: string;
|
|
7
|
-
}>;
|
|
8
|
-
export declare const GetVarInterpolator: ArgumentInterpolatorDefinition;
|
|
9
|
-
export declare const VarMod: SystemModifierDefinition<{
|
|
10
|
-
id: string;
|
|
11
|
-
value: string;
|
|
12
|
-
}>;
|
package/dist/src/builtin/var.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VarMod = exports.GetVarInterpolator = exports.PrintInlineMod = exports.GetVarInlineMod = void 0;
|
|
4
|
-
const debug_1 = require("../debug");
|
|
5
|
-
const interface_1 = require("../interface");
|
|
6
|
-
const messages_1 = require("../messages");
|
|
7
|
-
const internal_1 = require("./internal");
|
|
8
|
-
const modifier_helper_1 = require("../modifier-helper");
|
|
9
|
-
function resolveId(id, cxt) {
|
|
10
|
-
const store = cxt.get(internal_1.builtins);
|
|
11
|
-
// delay if it is a yet unknown argument
|
|
12
|
-
if (store.inlineSlotDelayedStack.find((x) => x.args.includes(id))
|
|
13
|
-
|| store.blockSlotDelayedStack.find((x) => x.args.includes(id))) {
|
|
14
|
-
debug_1.debug.trace('delaying the yet unknown argument', id);
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
let value = undefined;
|
|
18
|
-
for (let i = store.inlineInstantiationData.length - 1; i >= 0; i--) {
|
|
19
|
-
const data = store.inlineInstantiationData[i];
|
|
20
|
-
if ((value = data.args.get(id)) !== undefined)
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
for (let i = store.blockInstantiationData.length - 1; i >= 0; i--) {
|
|
24
|
-
const data = store.blockInstantiationData[i];
|
|
25
|
-
if ((value = data.args.get(id)) !== undefined)
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
if (value === undefined)
|
|
29
|
-
value = cxt.variables.get(id);
|
|
30
|
-
return value;
|
|
31
|
-
}
|
|
32
|
-
exports.GetVarInlineMod = new interface_1.InlineModifierDefinition('$', interface_1.ModifierSlotType.None, {
|
|
33
|
-
alwaysTryExpand: true,
|
|
34
|
-
// .$:id
|
|
35
|
-
prepareExpand(node, cxt, immediate) {
|
|
36
|
-
const check = (0, modifier_helper_1.checkArguments)(node, 1);
|
|
37
|
-
if (check)
|
|
38
|
-
return immediate ? check : [];
|
|
39
|
-
const arg = node.arguments[0];
|
|
40
|
-
const id = arg.expansion;
|
|
41
|
-
if (id == '')
|
|
42
|
-
return immediate ? [new messages_1.InvalidArgumentMessage(arg.location)] : [];
|
|
43
|
-
const value = resolveId(id, cxt);
|
|
44
|
-
if (value === undefined)
|
|
45
|
-
return immediate ? [new messages_1.UndefinedVariableMessage(arg.location, id)] : [];
|
|
46
|
-
node.state = { value };
|
|
47
|
-
return [];
|
|
48
|
-
},
|
|
49
|
-
expand(node, _, immediate) {
|
|
50
|
-
if (!node.state)
|
|
51
|
-
return immediate ? [] : undefined;
|
|
52
|
-
return [{ type: interface_1.NodeType.Text, content: node.state.value, location: node.location }];
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
exports.PrintInlineMod = new interface_1.InlineModifierDefinition('print', interface_1.ModifierSlotType.None, {
|
|
56
|
-
// .print:args...
|
|
57
|
-
prepareExpand(node) {
|
|
58
|
-
const check = (0, modifier_helper_1.checkArguments)(node);
|
|
59
|
-
if (check)
|
|
60
|
-
return check;
|
|
61
|
-
node.state = { value: node.arguments.map((x) => x.expansion).join('') };
|
|
62
|
-
return [];
|
|
63
|
-
},
|
|
64
|
-
expand(node) {
|
|
65
|
-
if (!node.state)
|
|
66
|
-
return [];
|
|
67
|
-
return [{ type: interface_1.NodeType.Text, content: node.state.value, location: node.location }];
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
exports.GetVarInterpolator = new interface_1.ArgumentInterpolatorDefinition('$(', ')', {
|
|
71
|
-
alwaysTryExpand: true,
|
|
72
|
-
expand(content, cxt) {
|
|
73
|
-
const result = resolveId(content, cxt);
|
|
74
|
-
if (result !== undefined)
|
|
75
|
-
debug_1.debug.trace(`$(${content}) --> ${result}`);
|
|
76
|
-
return result;
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
exports.VarMod = new interface_1.SystemModifierDefinition('var', interface_1.ModifierSlotType.None, {
|
|
80
|
-
// .var id:value
|
|
81
|
-
prepareExpand(node, cxt) {
|
|
82
|
-
const check = (0, modifier_helper_1.checkArguments)(node, 2);
|
|
83
|
-
if (check)
|
|
84
|
-
return check;
|
|
85
|
-
const arg = node.arguments[0];
|
|
86
|
-
const id = arg.expansion;
|
|
87
|
-
if (id == '')
|
|
88
|
-
return [new messages_1.InvalidArgumentMessage(arg.location)];
|
|
89
|
-
node.state = {
|
|
90
|
-
id,
|
|
91
|
-
value: node.arguments[1].expansion
|
|
92
|
-
};
|
|
93
|
-
return [];
|
|
94
|
-
},
|
|
95
|
-
expand(node, cxt) {
|
|
96
|
-
if (node.state) {
|
|
97
|
-
cxt.variables.set(node.state.id, node.state.value);
|
|
98
|
-
debug_1.debug.trace('set variable', node.state.id, '=', node.state.value);
|
|
99
|
-
}
|
|
100
|
-
return [];
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
|
-
//# sourceMappingURL=var.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"var.js","sourceRoot":"","sources":["../../../src/builtin/var.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ModifierArgument, Message, BlockModifierDefinition, BlockShorthand, InlineModifierDefinition, InlineShorthand, BlockEntity, InlineEntity, SourceDescriptor } from "./interface";
|
|
2
|
-
import { Document } from "./parser-config";
|
|
3
|
-
export declare const debugPrint: {
|
|
4
|
-
blockModifier: (x: BlockModifierDefinition<any>) => string;
|
|
5
|
-
inlineModifier: (x: InlineModifierDefinition<any>) => string;
|
|
6
|
-
inlineShorthand: (x: InlineShorthand<any>) => string;
|
|
7
|
-
blockShorthand: (x: BlockShorthand<any>) => string;
|
|
8
|
-
argument: (arg: ModifierArgument) => string;
|
|
9
|
-
node: (...nodes: (BlockEntity | InlineEntity)[]) => string;
|
|
10
|
-
message: (m: Message, source?: string, descriptor?: SourceDescriptor) => string;
|
|
11
|
-
document: typeof debugDumpDocument;
|
|
12
|
-
};
|
|
13
|
-
declare function debugDumpDocument(doc: Document, source: string): string;
|
|
14
|
-
export {};
|
package/dist/src/debug-print.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.debugPrint = void 0;
|
|
4
|
-
const debug_1 = require("./debug");
|
|
5
|
-
const interface_1 = require("./interface");
|
|
6
|
-
const util_1 = require("./util");
|
|
7
|
-
exports.debugPrint = {
|
|
8
|
-
blockModifier: (x) => `[.${x.name}] (${interface_1.ModifierSlotType[x.slotType]})`,
|
|
9
|
-
inlineModifier: (x) => `[/${x.name}] (${interface_1.ModifierSlotType[x.slotType]})`,
|
|
10
|
-
inlineShorthand: (x) => x.name + x.parts.map((x, i) => ` .. <arg${i}> .. ${x}`).join('')
|
|
11
|
-
+ (x.mod.slotType == interface_1.ModifierSlotType.None
|
|
12
|
-
? '' : ` .. <slot> .. ${x.postfix ?? '<no postfix>'}`),
|
|
13
|
-
blockShorthand: (x) => x.name + x.parts.map((x, i) => ` .. <arg${i}> .. ${x}`).join('')
|
|
14
|
-
+ (x.mod.slotType == interface_1.ModifierSlotType.None
|
|
15
|
-
? '' : ` .. <slot> .. ${x.postfix ?? '<no postfix>'}`),
|
|
16
|
-
argument: (arg) => arg.content.map(debugPrintArgEntity).join(''),
|
|
17
|
-
node: (...nodes) => nodes.map((x) => debugPrintNode(x)).join('\n'),
|
|
18
|
-
message: (m, source, descriptor) => debugPrintMsg(m, descriptor, source),
|
|
19
|
-
document: debugDumpDocument
|
|
20
|
-
};
|
|
21
|
-
function debugPrintArgEntity(node) {
|
|
22
|
-
switch (node.type) {
|
|
23
|
-
case interface_1.NodeType.Text:
|
|
24
|
-
return node.content;
|
|
25
|
-
case interface_1.NodeType.Escaped:
|
|
26
|
-
return `<Escaped:${node.content}>`;
|
|
27
|
-
case interface_1.NodeType.Interpolation:
|
|
28
|
-
return `<Interp:${node.definition.name}-${node.definition.postfix}:${exports.debugPrint.argument(node.argument)}${node.expansion ? `=${node.expansion}` : ''}>`;
|
|
29
|
-
default:
|
|
30
|
-
return debug_1.debug.never(node);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function debugPrintNode(node, prefix = '') {
|
|
34
|
-
function debugPrintNodes(content, prefix = '') {
|
|
35
|
-
let dumps = content.map((x) => debugPrintNode(x, prefix + ' ')).filter((x) => x.length > 0);
|
|
36
|
-
if (dumps.length == 0)
|
|
37
|
-
return '';
|
|
38
|
-
return dumps.map((x) => `${prefix} ${x}`).join('\n');
|
|
39
|
-
}
|
|
40
|
-
let result = `<${interface_1.NodeType[node.type]}@${node.location.start}`;
|
|
41
|
-
switch (node.type) {
|
|
42
|
-
case interface_1.NodeType.Paragraph:
|
|
43
|
-
const content = debugPrintNodes(node.content, prefix);
|
|
44
|
-
if (content.length > 0)
|
|
45
|
-
result += `>\n${content}\n${prefix}</${interface_1.NodeType[node.type]}@${node.location.end}>`;
|
|
46
|
-
else
|
|
47
|
-
result += `-${node.location.end} />`;
|
|
48
|
-
break;
|
|
49
|
-
case interface_1.NodeType.Escaped:
|
|
50
|
-
result += `>\n${prefix} ${node.content}\n${prefix}</${interface_1.NodeType[node.type]}@${node.location.end}>`;
|
|
51
|
-
break;
|
|
52
|
-
case interface_1.NodeType.Preformatted:
|
|
53
|
-
result += `>\n${prefix} ${node.content.text}\n${prefix}</${interface_1.NodeType[node.type]}@${node.location.end}>`;
|
|
54
|
-
break;
|
|
55
|
-
case interface_1.NodeType.InlineModifier:
|
|
56
|
-
case interface_1.NodeType.BlockModifier:
|
|
57
|
-
case interface_1.NodeType.SystemModifier:
|
|
58
|
-
const args = node.arguments.map((x, i) => `\n${prefix} (${i})@${x.location.start}-${x.location.end}=${exports.debugPrint.argument(x)}`).join('');
|
|
59
|
-
if (node.content.length > 0) {
|
|
60
|
-
result += ` id=${node.mod.name}${args}>\n` + debugPrintNodes(node.content, prefix) + `\n${prefix}</${interface_1.NodeType[node.type]}@${node.location.end}>`;
|
|
61
|
-
}
|
|
62
|
-
else
|
|
63
|
-
result += `-${node.location.end} id=${node.mod.name}${args} />`;
|
|
64
|
-
if (node.expansion) {
|
|
65
|
-
const content = debugPrintNodes(node.expansion, prefix);
|
|
66
|
-
if (content.length > 0)
|
|
67
|
-
result += `\n${prefix}<expansion>\n${content}\n${prefix}</expansion>`;
|
|
68
|
-
else if (node.type != interface_1.NodeType.SystemModifier)
|
|
69
|
-
result += `\n${prefix}<expansion />`;
|
|
70
|
-
}
|
|
71
|
-
break;
|
|
72
|
-
case interface_1.NodeType.Text:
|
|
73
|
-
return node.content;
|
|
74
|
-
default:
|
|
75
|
-
return debug_1.debug.never(node);
|
|
76
|
-
}
|
|
77
|
-
return result;
|
|
78
|
-
}
|
|
79
|
-
function debugPrintMsg(m, descriptor, source) {
|
|
80
|
-
let pos = (pos) => `@${pos}`;
|
|
81
|
-
if (source) {
|
|
82
|
-
const lines = (0, util_1.linePositions)(source);
|
|
83
|
-
pos = (pos) => {
|
|
84
|
-
let line = -1, linepos = 0;
|
|
85
|
-
for (let i = 1; i < lines.length; i++) {
|
|
86
|
-
if (lines[i] > pos) {
|
|
87
|
-
line = i;
|
|
88
|
-
linepos = lines[i - 1];
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return `l${line}c${pos - linepos + 1}`;
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
let loc = m.location;
|
|
96
|
-
let result = `at ${pos(loc.start)}-${pos(loc.end)}: ${interface_1.MessageSeverity[m.severity]}[${m.code}]: ${m.info}`;
|
|
97
|
-
if (descriptor && m.location.source !== descriptor) {
|
|
98
|
-
result += `\nwarning: source descriptor mismatch: ${m.location.source.name}`;
|
|
99
|
-
}
|
|
100
|
-
while (loc = loc.original) {
|
|
101
|
-
let d = loc.source !== m.location.source ? `(in ${loc.source.name}) ` : '';
|
|
102
|
-
result += `\n---> original at: ${d}${pos(loc.start)}-${pos(loc.end)}`;
|
|
103
|
-
}
|
|
104
|
-
return result;
|
|
105
|
-
}
|
|
106
|
-
function debugDumpDocument(doc, source) {
|
|
107
|
-
let root = exports.debugPrint.node(...doc.root.content);
|
|
108
|
-
let msgs = doc.messages.map((x) => debugPrintMsg(x, doc.root.source, source)).join('\n');
|
|
109
|
-
if (msgs.length > 0)
|
|
110
|
-
msgs += '\n';
|
|
111
|
-
return `Document: ${doc.root.source.name}\n${msgs}${root}`;
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=debug-print.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-print.js","sourceRoot":"","sources":["../../src/debug-print.ts"],"names":[],"mappings":"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"}
|
package/dist/src/debug.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export declare enum DebugLevel {
|
|
2
|
-
Trace = 0,
|
|
3
|
-
Info = 1,
|
|
4
|
-
Warning = 2,
|
|
5
|
-
Error = 3,
|
|
6
|
-
None = 4
|
|
7
|
-
}
|
|
8
|
-
export declare const debug: {
|
|
9
|
-
level: DebugLevel;
|
|
10
|
-
trace(arg0: any, ...args: any): void;
|
|
11
|
-
info(arg0: any, ...args: any): void;
|
|
12
|
-
warning(arg0: any, ...args: any): void;
|
|
13
|
-
error(arg0: any, ...args: any): void;
|
|
14
|
-
never(_: never): never;
|
|
15
|
-
};
|