jostraca 0.26.0 → 0.28.0
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 +276 -1
- package/dist/build/FileHandler.d.ts +2 -0
- package/dist/build/FileHandler.js +24 -7
- package/dist/build/FileHandler.js.map +1 -1
- package/dist/cmp/Copy.js +12 -13
- package/dist/cmp/Copy.js.map +1 -1
- package/dist/cmp/Fragment.js +6 -6
- package/dist/cmp/Fragment.js.map +1 -1
- package/dist/jostraca.d.ts +36 -36
- package/dist/jostraca.js +15 -15
- package/dist/jostraca.js.map +1 -1
- package/dist/op/CopyOp.js +13 -11
- package/dist/op/CopyOp.js.map +1 -1
- package/dist/util/basic.js +93 -51
- package/dist/util/basic.js.map +1 -1
- package/dist/util/point.d.ts +17 -17
- package/dist/util/point.js +6 -6
- package/dist/util/point.js.map +1 -1
- package/package.json +4 -4
- package/src/build/FileHandler.ts +27 -7
- package/src/cmp/Copy.ts +10 -11
- package/src/cmp/Fragment.ts +2 -2
- package/src/jostraca.ts +3 -3
- package/src/op/CopyOp.ts +12 -12
- package/src/util/basic.ts +111 -60
- package/src/util/point.ts +2 -2
package/dist/jostraca.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import { Folder } from './cmp/Folder';
|
|
|
15
15
|
import { Project } from './cmp/Project';
|
|
16
16
|
import { List } from './cmp/List';
|
|
17
17
|
declare const OptionsShape: {
|
|
18
|
-
<V>(root?: V | undefined, ctx?: import("
|
|
18
|
+
<V>(root?: V | undefined, ctx?: import("shape").Context): V & {
|
|
19
19
|
folder: any;
|
|
20
20
|
name: {
|
|
21
21
|
file: {
|
|
@@ -53,24 +53,24 @@ declare const OptionsShape: {
|
|
|
53
53
|
version: boolean;
|
|
54
54
|
};
|
|
55
55
|
};
|
|
56
|
-
valid: <V>(root?: V | undefined, ctx?: import("
|
|
57
|
-
folder: import("
|
|
56
|
+
valid: <V>(root?: V | undefined, ctx?: import("shape").Context) => root is V & {
|
|
57
|
+
folder: import("shape").Node<StringConstructor>;
|
|
58
58
|
name: {
|
|
59
59
|
file: {
|
|
60
|
-
prefix: import("
|
|
61
|
-
suffix: import("
|
|
60
|
+
prefix: import("shape").Node<StringConstructor>;
|
|
61
|
+
suffix: import("shape").Node<StringConstructor>;
|
|
62
62
|
};
|
|
63
63
|
folder: {
|
|
64
|
-
prefix: import("
|
|
65
|
-
suffix: import("
|
|
64
|
+
prefix: import("shape").Node<StringConstructor>;
|
|
65
|
+
suffix: import("shape").Node<StringConstructor>;
|
|
66
66
|
};
|
|
67
|
-
exclude: import("
|
|
67
|
+
exclude: import("shape").Node<unknown>;
|
|
68
68
|
};
|
|
69
69
|
meta: any;
|
|
70
70
|
fs: any;
|
|
71
71
|
now: any;
|
|
72
72
|
log: any;
|
|
73
|
-
debug: import("
|
|
73
|
+
debug: import("shape").Node<string>;
|
|
74
74
|
exclude: boolean;
|
|
75
75
|
existing: {
|
|
76
76
|
txt: {};
|
|
@@ -78,8 +78,8 @@ declare const OptionsShape: {
|
|
|
78
78
|
};
|
|
79
79
|
model: any;
|
|
80
80
|
build: boolean;
|
|
81
|
-
mem: import("
|
|
82
|
-
vol: import("
|
|
81
|
+
mem: import("shape").Node<BooleanConstructor>;
|
|
82
|
+
vol: import("shape").Node<{}>;
|
|
83
83
|
cmp: {
|
|
84
84
|
Copy: {
|
|
85
85
|
ignore: any[];
|
|
@@ -91,9 +91,9 @@ declare const OptionsShape: {
|
|
|
91
91
|
version: boolean;
|
|
92
92
|
};
|
|
93
93
|
};
|
|
94
|
-
match(root?: any, ctx?: import("
|
|
95
|
-
error(root?: any, ctx?: import("
|
|
96
|
-
|
|
94
|
+
match(root?: any, ctx?: import("shape").Context): boolean;
|
|
95
|
+
error(root?: any, ctx?: import("shape").Context): {
|
|
96
|
+
shape: boolean;
|
|
97
97
|
code: string;
|
|
98
98
|
gname: string;
|
|
99
99
|
props: ({
|
|
@@ -107,7 +107,7 @@ declare const OptionsShape: {
|
|
|
107
107
|
err: {
|
|
108
108
|
key: string;
|
|
109
109
|
type: string;
|
|
110
|
-
node: import("
|
|
110
|
+
node: import("shape").Node<any>;
|
|
111
111
|
value: any;
|
|
112
112
|
path: string;
|
|
113
113
|
why: string;
|
|
@@ -129,24 +129,24 @@ declare const OptionsShape: {
|
|
|
129
129
|
stack?: string;
|
|
130
130
|
}[];
|
|
131
131
|
spec(): any;
|
|
132
|
-
node(): import("
|
|
133
|
-
folder: import("
|
|
132
|
+
node(): import("shape").Node<{
|
|
133
|
+
folder: import("shape").Node<StringConstructor>;
|
|
134
134
|
name: {
|
|
135
135
|
file: {
|
|
136
|
-
prefix: import("
|
|
137
|
-
suffix: import("
|
|
136
|
+
prefix: import("shape").Node<StringConstructor>;
|
|
137
|
+
suffix: import("shape").Node<StringConstructor>;
|
|
138
138
|
};
|
|
139
139
|
folder: {
|
|
140
|
-
prefix: import("
|
|
141
|
-
suffix: import("
|
|
140
|
+
prefix: import("shape").Node<StringConstructor>;
|
|
141
|
+
suffix: import("shape").Node<StringConstructor>;
|
|
142
142
|
};
|
|
143
|
-
exclude: import("
|
|
143
|
+
exclude: import("shape").Node<unknown>;
|
|
144
144
|
};
|
|
145
145
|
meta: any;
|
|
146
146
|
fs: any;
|
|
147
147
|
now: any;
|
|
148
148
|
log: any;
|
|
149
|
-
debug: import("
|
|
149
|
+
debug: import("shape").Node<string>;
|
|
150
150
|
exclude: boolean;
|
|
151
151
|
existing: {
|
|
152
152
|
txt: {};
|
|
@@ -154,8 +154,8 @@ declare const OptionsShape: {
|
|
|
154
154
|
};
|
|
155
155
|
model: any;
|
|
156
156
|
build: boolean;
|
|
157
|
-
mem: import("
|
|
158
|
-
vol: import("
|
|
157
|
+
mem: import("shape").Node<BooleanConstructor>;
|
|
158
|
+
vol: import("shape").Node<{}>;
|
|
159
159
|
cmp: {
|
|
160
160
|
Copy: {
|
|
161
161
|
ignore: any[];
|
|
@@ -170,13 +170,13 @@ declare const OptionsShape: {
|
|
|
170
170
|
stringify(...rest: any[]): string;
|
|
171
171
|
jsonify(): any;
|
|
172
172
|
toString(this: any): string;
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
shape: {
|
|
174
|
+
shape$: symbol;
|
|
175
175
|
v$: string;
|
|
176
176
|
};
|
|
177
177
|
};
|
|
178
178
|
declare const ExistingShape: {
|
|
179
|
-
<V>(root?: V | undefined, ctx?: import("
|
|
179
|
+
<V>(root?: V | undefined, ctx?: import("shape").Context): V & {
|
|
180
180
|
txt: {
|
|
181
181
|
write: boolean;
|
|
182
182
|
preserve: boolean;
|
|
@@ -190,7 +190,7 @@ declare const ExistingShape: {
|
|
|
190
190
|
present: boolean;
|
|
191
191
|
};
|
|
192
192
|
};
|
|
193
|
-
valid: <V>(root?: V | undefined, ctx?: import("
|
|
193
|
+
valid: <V>(root?: V | undefined, ctx?: import("shape").Context) => root is V & {
|
|
194
194
|
txt: {
|
|
195
195
|
write: boolean;
|
|
196
196
|
preserve: boolean;
|
|
@@ -204,9 +204,9 @@ declare const ExistingShape: {
|
|
|
204
204
|
present: boolean;
|
|
205
205
|
};
|
|
206
206
|
};
|
|
207
|
-
match(root?: any, ctx?: import("
|
|
208
|
-
error(root?: any, ctx?: import("
|
|
209
|
-
|
|
207
|
+
match(root?: any, ctx?: import("shape").Context): boolean;
|
|
208
|
+
error(root?: any, ctx?: import("shape").Context): {
|
|
209
|
+
shape: boolean;
|
|
210
210
|
code: string;
|
|
211
211
|
gname: string;
|
|
212
212
|
props: ({
|
|
@@ -220,7 +220,7 @@ declare const ExistingShape: {
|
|
|
220
220
|
err: {
|
|
221
221
|
key: string;
|
|
222
222
|
type: string;
|
|
223
|
-
node: import("
|
|
223
|
+
node: import("shape").Node<any>;
|
|
224
224
|
value: any;
|
|
225
225
|
path: string;
|
|
226
226
|
why: string;
|
|
@@ -242,7 +242,7 @@ declare const ExistingShape: {
|
|
|
242
242
|
stack?: string;
|
|
243
243
|
}[];
|
|
244
244
|
spec(): any;
|
|
245
|
-
node(): import("
|
|
245
|
+
node(): import("shape").Node<{
|
|
246
246
|
txt: {
|
|
247
247
|
write: boolean;
|
|
248
248
|
preserve: boolean;
|
|
@@ -259,8 +259,8 @@ declare const ExistingShape: {
|
|
|
259
259
|
stringify(...rest: any[]): string;
|
|
260
260
|
jsonify(): any;
|
|
261
261
|
toString(this: any): string;
|
|
262
|
-
|
|
263
|
-
|
|
262
|
+
shape: {
|
|
263
|
+
shape$: symbol;
|
|
264
264
|
v$: string;
|
|
265
265
|
};
|
|
266
266
|
};
|
package/dist/jostraca.js
CHANGED
|
@@ -43,7 +43,7 @@ exports.cmp = cmp;
|
|
|
43
43
|
const Fs = __importStar(require("node:fs"));
|
|
44
44
|
const node_async_hooks_1 = require("node:async_hooks");
|
|
45
45
|
const jsonic_1 = require("jsonic");
|
|
46
|
-
const
|
|
46
|
+
const shape_1 = require("shape");
|
|
47
47
|
const memfs_1 = require("memfs");
|
|
48
48
|
const BuildContext_1 = require("./build/BuildContext");
|
|
49
49
|
Object.defineProperty(exports, "BuildContext", { enumerable: true, get: function () { return BuildContext_1.BuildContext; } });
|
|
@@ -114,34 +114,34 @@ const DEFAULT_LOGGER = {
|
|
|
114
114
|
};
|
|
115
115
|
// Log non-fatal wierdness.
|
|
116
116
|
const dlog = (0, basic_1.getdlog)('jostraca', __filename);
|
|
117
|
-
const OptionsShape = (0,
|
|
118
|
-
folder: (0,
|
|
117
|
+
const OptionsShape = (0, shape_1.Shape)({
|
|
118
|
+
folder: (0, shape_1.Skip)(String), // Base output folder for generated files. Default: `.`.
|
|
119
119
|
// TODO: implement
|
|
120
120
|
name: {
|
|
121
121
|
file: {
|
|
122
|
-
prefix: (0,
|
|
123
|
-
suffix: (0,
|
|
122
|
+
prefix: (0, shape_1.Skip)(String), // Prefix for all output file names
|
|
123
|
+
suffix: (0, shape_1.Skip)(String), // Suffix for all output file names
|
|
124
124
|
},
|
|
125
125
|
folder: {
|
|
126
|
-
prefix: (0,
|
|
127
|
-
suffix: (0,
|
|
126
|
+
prefix: (0, shape_1.Skip)(String), // Prefix for all output folder names
|
|
127
|
+
suffix: (0, shape_1.Skip)(String), // Prefix for all output folder names
|
|
128
128
|
},
|
|
129
129
|
// Files excluded from prefixing and suffixing
|
|
130
|
-
exclude: (0,
|
|
130
|
+
exclude: (0, shape_1.Skip)((0, shape_1.One)(String, RegExp, [(0, shape_1.One)(String, RegExp)]))
|
|
131
131
|
},
|
|
132
132
|
meta: {}, // Provide meta data to the generation process. Default: `{}`
|
|
133
|
-
fs: (0,
|
|
133
|
+
fs: (0, shape_1.Skip)(Function), // File system API. Default: `node:fs`.
|
|
134
134
|
now: undefined, // Provide current time.
|
|
135
|
-
log: (0,
|
|
136
|
-
debug: (0,
|
|
135
|
+
log: (0, shape_1.Skip)(), // Logging interface.
|
|
136
|
+
debug: (0, shape_1.Skip)('info'), // Generate additional debugging information.
|
|
137
137
|
// TOOD: needs rethink
|
|
138
138
|
exclude: false, // Exclude modified output files. Default: `false`.
|
|
139
139
|
// Validated in separate shape to allow overriding.
|
|
140
140
|
existing: { txt: {}, bin: {} },
|
|
141
|
-
model: (0,
|
|
141
|
+
model: (0, shape_1.Skip)({}),
|
|
142
142
|
build: true,
|
|
143
|
-
mem: (0,
|
|
144
|
-
vol: (0,
|
|
143
|
+
mem: (0, shape_1.Skip)(Boolean),
|
|
144
|
+
vol: (0, shape_1.Skip)({}),
|
|
145
145
|
// Component specific options.
|
|
146
146
|
cmp: {
|
|
147
147
|
Copy: {
|
|
@@ -157,7 +157,7 @@ const OptionsShape = (0, gubu_1.Gubu)({
|
|
|
157
157
|
version: false,
|
|
158
158
|
},
|
|
159
159
|
}, { name: 'Jostraca Options' });
|
|
160
|
-
const ExistingShape = (0,
|
|
160
|
+
const ExistingShape = (0, shape_1.Shape)({
|
|
161
161
|
txt: {
|
|
162
162
|
write: true, // Overwrite existing files (unless present=true).
|
|
163
163
|
preserve: false, // Keep a backup copy (.old.) of overwritten files.
|
package/dist/jostraca.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
|
package/dist/op/CopyOp.js
CHANGED
|
@@ -8,6 +8,7 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
8
8
|
const jostraca_1 = require("../jostraca");
|
|
9
9
|
const FileOp_1 = require("./FileOp");
|
|
10
10
|
const ON = 'Copy:';
|
|
11
|
+
const IGNORED_RE = /(~|-jostraca-off)$/;
|
|
11
12
|
const CopyOp = {
|
|
12
13
|
before(node, ctx$, buildctx) {
|
|
13
14
|
const fs = ctx$.fs();
|
|
@@ -117,14 +118,14 @@ function copyFile(frompath, topath, state, buildctx, fs) {
|
|
|
117
118
|
}
|
|
118
119
|
// TODO: needs an option
|
|
119
120
|
function ignored(state, nodepath, name, topath) {
|
|
120
|
-
return
|
|
121
|
+
return IGNORED_RE.test(name);
|
|
121
122
|
}
|
|
122
123
|
function excludeFile(fs, state, nodepath, name, topath) {
|
|
123
124
|
const { opts } = state.ctx$;
|
|
124
125
|
const { log } = state.buildctx;
|
|
125
126
|
let exclude = false;
|
|
126
127
|
for (let ignoreRE of opts.cmp.Copy.ignore) {
|
|
127
|
-
if (
|
|
128
|
+
if (ignoreRE.test(name)) {
|
|
128
129
|
return true;
|
|
129
130
|
}
|
|
130
131
|
}
|
|
@@ -159,16 +160,17 @@ function excludeFile(fs, state, nodepath, name, topath) {
|
|
|
159
160
|
return exclude;
|
|
160
161
|
}
|
|
161
162
|
function excluded(path, excludes) {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
163
|
+
for (const exc of excludes) {
|
|
164
|
+
if ('string' === typeof exc) {
|
|
165
|
+
if (exc === path)
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
else if (exc instanceof RegExp) {
|
|
169
|
+
if (exc.test(path))
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
170
172
|
}
|
|
171
|
-
return
|
|
173
|
+
return false;
|
|
172
174
|
}
|
|
173
175
|
function processTemplate(state, src, spec) {
|
|
174
176
|
if (isTemplate(spec.name)) {
|
package/dist/op/CopyOp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyOp.js","sourceRoot":"","sources":["../../src/op/CopyOp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CopyOp.js","sourceRoot":"","sources":["../../src/op/CopyOp.ts"],"names":[],"mappings":"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"}
|
package/dist/util/basic.js
CHANGED
|
@@ -94,6 +94,14 @@ function select(key: any, map: Record<string, Function>) {
|
|
|
94
94
|
return fn ? fn() : undefined
|
|
95
95
|
}
|
|
96
96
|
*/
|
|
97
|
+
// Hoisted from getx() to avoid recompilation on every call.
|
|
98
|
+
// A B C D E
|
|
99
|
+
const GETX_TOKEN_RE = /\s*("(\\.|[^"\\])*"|[\w\d_]+|\s+|[^\w\d_]+)\s*/g;
|
|
100
|
+
// A: prefixing space and/or comma
|
|
101
|
+
// B: quoted string
|
|
102
|
+
// C: atom
|
|
103
|
+
// D: space
|
|
104
|
+
// E: operator
|
|
97
105
|
function getx(root, path) {
|
|
98
106
|
if (null == root || 'object' !== typeof root) {
|
|
99
107
|
return undefined;
|
|
@@ -103,13 +111,8 @@ function getx(root, path) {
|
|
|
103
111
|
tokens = path.map(p => '' + p);
|
|
104
112
|
}
|
|
105
113
|
else if ('string' === typeof path) {
|
|
106
|
-
|
|
107
|
-
let tre =
|
|
108
|
-
// A: prefixing space and/or comma
|
|
109
|
-
// B: quoted string
|
|
110
|
-
// C: atom
|
|
111
|
-
// D: space
|
|
112
|
-
// E: operator
|
|
114
|
+
GETX_TOKEN_RE.lastIndex = 0;
|
|
115
|
+
let tre = GETX_TOKEN_RE;
|
|
113
116
|
tokens = [];
|
|
114
117
|
let t = null;
|
|
115
118
|
while (t = tre.exec(path)) {
|
|
@@ -290,6 +293,12 @@ function names(base, name, prop = 'name') {
|
|
|
290
293
|
}
|
|
291
294
|
function escre(s) { return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); }
|
|
292
295
|
function idenstr(s) { return s.replace(/[^\w\d]/g, '_'); }
|
|
296
|
+
// Cache for compiled template RegExps to avoid recompilation on repeated calls.
|
|
297
|
+
// Stores regex and the mapping from original keys to normalized canon keys.
|
|
298
|
+
const templateRECache = new Map();
|
|
299
|
+
const TEMPLATE_RE_CACHE_MAX = 100;
|
|
300
|
+
// Cache for eject RegExps.
|
|
301
|
+
const ejectRECache = new Map();
|
|
293
302
|
// NOTE: $$foo.bar$$ format used as explicit start and end markers mean regex can be used
|
|
294
303
|
// unambiguously ($fooa would not match `foo`)
|
|
295
304
|
function template(src, model, spec) {
|
|
@@ -299,10 +308,10 @@ function template(src, model, spec) {
|
|
|
299
308
|
if (null != eject) {
|
|
300
309
|
const ejectStart = null == eject[0] ? null :
|
|
301
310
|
eject[0] instanceof RegExp ? eject[0] :
|
|
302
|
-
|
|
311
|
+
getCachedEjectRE('' + eject[0]);
|
|
303
312
|
const ejectEnd = null == eject[1] ? null :
|
|
304
313
|
eject[1] instanceof RegExp ? eject[1] :
|
|
305
|
-
|
|
314
|
+
getCachedEjectRE('' + eject[1]);
|
|
306
315
|
if (null != ejectStart && null != ejectEnd) {
|
|
307
316
|
let startIndex = 0;
|
|
308
317
|
let endIndex = src.length;
|
|
@@ -322,50 +331,75 @@ function template(src, model, spec) {
|
|
|
322
331
|
let ref = null == spec?.ref ? '[^$]+' : spec.ref;
|
|
323
332
|
let specReplaceMap = spec?.replace || {};
|
|
324
333
|
let specReplaceCanon = {};
|
|
325
|
-
let
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
334
|
+
let insertRE;
|
|
335
|
+
if (null != spec?.insert) {
|
|
336
|
+
insertRE = spec.insert;
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
const cacheKey = open + '\0' + close + '\0' + ref + '\0' +
|
|
340
|
+
Object.keys(specReplaceMap).sort().join('\0');
|
|
341
|
+
const cached = templateRECache.get(cacheKey);
|
|
342
|
+
if (cached) {
|
|
343
|
+
insertRE = cached.re;
|
|
344
|
+
// Rebuild specReplaceCanon from current values using cached key mapping.
|
|
345
|
+
for (const [origKey, canonKey] of cached.canonKeys) {
|
|
346
|
+
specReplaceCanon[canonKey] = specReplaceMap[origKey];
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
let ngI = 1;
|
|
351
|
+
const canonKeys = [];
|
|
352
|
+
insertRE = new RegExp(
|
|
353
|
+
// Match alternate for `$$foo.bar$$` model replacements.
|
|
354
|
+
'(?<J_O>' + open + ')' +
|
|
355
|
+
'(?<J_R>' + ref + ')' +
|
|
356
|
+
'(?<J_C>' + close + ')' +
|
|
357
|
+
// Template replace entries.
|
|
358
|
+
((Object.keys(specReplaceMap))
|
|
359
|
+
.sort((a, b) => a.startsWith('#') ?
|
|
360
|
+
(a.includes('-') ? b.includes('-') ? b.length - a.length : -1 : b.length - a.length) :
|
|
361
|
+
b.length - a.length)
|
|
362
|
+
.map((k, _) => (
|
|
363
|
+
// Normalize key for use as group name as key could be a regexp ('/foo/' format).
|
|
364
|
+
_ = idenstr(k).replace(/_+/g, '_'),
|
|
365
|
+
specReplaceCanon[_] = specReplaceMap[k],
|
|
366
|
+
canonKeys.push([k, _]),
|
|
367
|
+
// match alternate per key.
|
|
368
|
+
`|(?<J_K${ngI++}_${_}>` +
|
|
369
|
+
// Custom regexp.
|
|
370
|
+
(k.match(/^\/.+\/$/) ? k.substring(1, k.length - 1)
|
|
371
|
+
// Prepend a counter to custom group names to ensure they are unique.
|
|
372
|
+
.replace(/\(\?<([\w\d_]+)>/g, (_, p1) => `(?<J_N${ngI++}_${p1}>`) :
|
|
373
|
+
// Tags: #Name matches <indent><comment><space>#Name<space><newline>
|
|
374
|
+
// #Name-Tag matches same, but inner: #<Identifer>-Tag, and
|
|
375
|
+
// provides {Tag:<identifer>}
|
|
376
|
+
// See template utility unit test!
|
|
377
|
+
(_ = k.match(/^#([A-Za-z0-9]+)(-[A-Z][a-z0-9]+)?$/)) ?
|
|
378
|
+
(`(?<J_N${ngI++}_indent>[ \t]*)` +
|
|
379
|
+
'\\/\\/' +
|
|
380
|
+
'[ \t]*#' +
|
|
381
|
+
(_[1] ?
|
|
382
|
+
`(?<J_T${ngI++}_${_[2]?.substring(1) || 'TAG'}>` +
|
|
383
|
+
(_[2] ? '[A-Za-z0-9]+' : _[1]) + ')' : '') +
|
|
384
|
+
(_[2] ? `-(?<J_N${ngI++}_TAG>${_[2].substring(1)})` : '') +
|
|
385
|
+
'[ \t]*\\n?') :
|
|
386
|
+
// Just a key string.
|
|
387
|
+
escre(k)) + ')'))
|
|
388
|
+
.join('')));
|
|
389
|
+
if (templateRECache.size >= TEMPLATE_RE_CACHE_MAX) {
|
|
390
|
+
templateRECache.clear();
|
|
391
|
+
}
|
|
392
|
+
templateRECache.set(cacheKey, { re: insertRE, canonKeys });
|
|
393
|
+
}
|
|
394
|
+
}
|
|
364
395
|
let remain = src;
|
|
365
396
|
let nextm = true;
|
|
397
|
+
const hasCustomHandle = null != spec?.handle;
|
|
366
398
|
let out = '';
|
|
367
|
-
|
|
368
|
-
|
|
399
|
+
let parts = hasCustomHandle ? [] : [];
|
|
400
|
+
// By default, collect into array (O(n) join), but allow for custom handling.
|
|
401
|
+
let handle = hasCustomHandle ? spec.handle :
|
|
402
|
+
((s) => parts.push(null == s ? '' : s));
|
|
369
403
|
while (nextm) {
|
|
370
404
|
let m = remain.match(insertRE);
|
|
371
405
|
if (m) {
|
|
@@ -435,7 +469,15 @@ function template(src, model, spec) {
|
|
|
435
469
|
nextm = false;
|
|
436
470
|
}
|
|
437
471
|
}
|
|
438
|
-
return out;
|
|
472
|
+
return hasCustomHandle ? out : parts.join('');
|
|
473
|
+
}
|
|
474
|
+
function getCachedEjectRE(s) {
|
|
475
|
+
let re = ejectRECache.get(s);
|
|
476
|
+
if (!re) {
|
|
477
|
+
re = new RegExp('[ \t]*' + escre(s) + '[ \t]*\\n?');
|
|
478
|
+
ejectRECache.set(s, re);
|
|
479
|
+
}
|
|
480
|
+
return re;
|
|
439
481
|
}
|
|
440
482
|
function indent(src, indent) {
|
|
441
483
|
src = null == src ? '' : '' + src;
|