jostraca 0.11.1 → 0.12.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/dist/cmp/Content.js.map +1 -1
- package/dist/cmp/Copy.js.map +1 -1
- package/dist/cmp/Fragment.js +35 -1
- package/dist/cmp/Fragment.js.map +1 -1
- package/dist/cmp/Slot.d.ts +2 -0
- package/dist/cmp/Slot.js +12 -0
- package/dist/cmp/Slot.js.map +1 -0
- package/dist/jostraca.d.ts +2 -1
- package/dist/jostraca.js +20 -4
- package/dist/jostraca.js.map +1 -1
- package/dist/op/ContentOp.js +2 -10
- package/dist/op/ContentOp.js.map +1 -1
- package/dist/op/FragmentOp.d.ts +1 -1
- package/dist/op/FragmentOp.js +3 -30
- package/dist/op/FragmentOp.js.map +1 -1
- package/dist/op/SlotOp.d.ts +6 -0
- package/dist/op/SlotOp.js +18 -0
- package/dist/op/SlotOp.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/utility.d.ts +1 -0
- package/dist/utility.js +96 -6
- package/dist/utility.js.map +1 -1
- package/package.json +1 -1
- package/src/cmp/Content.ts +1 -0
- package/src/cmp/Copy.ts +0 -2
- package/src/cmp/Fragment.ts +47 -2
- package/src/cmp/Slot.ts +19 -0
- package/src/cmp/Slot.ts~ +24 -0
- package/src/jostraca.ts +27 -5
- package/src/op/ContentOp.ts +2 -11
- package/src/op/FragmentOp.ts +3 -38
- package/src/op/SlotOp.ts +30 -0
- package/src/op/SlotOp.ts~ +31 -0
- package/src/types.ts +3 -0
- package/src/utility.ts +92 -0
package/dist/cmp/Content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../src/cmp/Content.ts"],"names":[],"mappings":";;;AAGA,0CAA2C;AAG3C,MAAM,OAAO,GAAG,IAAA,cAAG,EAAC,SAAS,OAAO,CAAC,KAAU,EAAE,QAAa;IAC5D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IACrB,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../src/cmp/Content.ts"],"names":[],"mappings":";;;AAGA,0CAA2C;AAG3C,MAAM,OAAO,GAAG,IAAA,cAAG,EAAC,SAAS,OAAO,CAAC,KAAU,EAAE,QAAa;IAC5D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IACrB,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhD,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AACxB,CAAC,CAAC,CAAA;AAKA,0BAAO"}
|
package/dist/cmp/Copy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Copy.js","sourceRoot":"","sources":["../../src/cmp/Copy.ts"],"names":[],"mappings":";;;AAGA,0CAAiC;AAGjC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU,EAAE,SAAc;IACvD,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"Copy.js","sourceRoot":"","sources":["../../src/cmp/Copy.ts"],"names":[],"mappings":";;;AAGA,0CAAiC;AAGjC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU,EAAE,SAAc;IACvD,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;AACrE,CAAC,CAAC,CAAA;AAIA,oBAAI"}
|
package/dist/cmp/Fragment.js
CHANGED
|
@@ -1,14 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Fragment = void 0;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
4
8
|
const jostraca_1 = require("../jostraca");
|
|
5
9
|
const Fragment = (0, jostraca_1.cmp)(function Fragment(props, children) {
|
|
6
10
|
const node = props.ctx$.node;
|
|
7
11
|
node.kind = 'fragment';
|
|
8
12
|
node.from = props.from;
|
|
9
13
|
node.indent = props.indent;
|
|
10
|
-
node.meta.replace = props.replace
|
|
14
|
+
// const replace = node.meta.replace = props.replace
|
|
15
|
+
const replace = props.replace || {};
|
|
16
|
+
const { fs, folder, model } = props.ctx$;
|
|
17
|
+
let frompath = node.from;
|
|
18
|
+
// TODO: this is relative to the output - but that is just one case - provide more control?
|
|
19
|
+
if (!node_path_1.default.isAbsolute(frompath)) {
|
|
20
|
+
frompath = node_path_1.default.join(folder, ...node.path, frompath);
|
|
21
|
+
}
|
|
22
|
+
let src = fs.readFileSync(frompath, 'utf8');
|
|
23
|
+
const slotnames = {};
|
|
24
|
+
node.filter = (({ props, component }) => (('Slot' === component.name ? slotnames[props.name] = true : null), false));
|
|
11
25
|
(0, jostraca_1.each)(children, { call: true });
|
|
26
|
+
node.filter = undefined;
|
|
27
|
+
replace['/[ \\t]*[-<!/#*]*[ \\t]*<\\[SLOT]>[ \\t]*[->/#*]*[ \\t]*/'] =
|
|
28
|
+
() => {
|
|
29
|
+
node.filter = (({ component }) => 'Slot' !== component.name);
|
|
30
|
+
(0, jostraca_1.each)(children, { call: true });
|
|
31
|
+
node.filter = undefined;
|
|
32
|
+
};
|
|
33
|
+
(0, jostraca_1.each)(slotnames, (slot) => {
|
|
34
|
+
replace['/[ \\t]*[-<!/#*]*[ \\t]*<\\[SLOT:' +
|
|
35
|
+
(0, jostraca_1.escre)(slot.key$) +
|
|
36
|
+
']>[ \\t]*[->/#*]*[ \\t]*/'] = () => {
|
|
37
|
+
node.filter = (({ props, component }) => 'Slot' === component.name && slot.key$ === props.name);
|
|
38
|
+
(0, jostraca_1.each)(children, { call: true });
|
|
39
|
+
node.filter = undefined;
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
(0, jostraca_1.template)(src, model, {
|
|
43
|
+
replace,
|
|
44
|
+
handle: (s) => null == s ? null : (0, jostraca_1.Content)(s)
|
|
45
|
+
});
|
|
12
46
|
});
|
|
13
47
|
exports.Fragment = Fragment;
|
|
14
48
|
//# sourceMappingURL=Fragment.js.map
|
package/dist/cmp/Fragment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../src/cmp/Fragment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../src/cmp/Fragment.ts"],"names":[],"mappings":";;;;;;AACA,0DAA4B;AAI5B,0CAAiE;AAGjE,MAAM,QAAQ,GAAG,IAAA,cAAG,EAAC,SAAS,QAAQ,CAAC,KAAU,EAAE,QAAa;IAC9D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAElC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1B,oDAAoD;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;IAGnC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;IACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAA;IAElC,2FAA2F;IAC3F,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAG3C,MAAM,SAAS,GAA4B,EAAE,CAAA;IAE7C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACtC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7E,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IAEvB,OAAO,CAAC,2DAA2D,CAAC;QAClE,GAAG,EAAE;YACH,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,CAAA;YAC5D,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACzB,CAAC,CAAA;IAEH,IAAA,eAAI,EAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;QAC5B,OAAO,CACL,mCAAmC;YACnC,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,CAAC;YAChB,2BAA2B,CAC5B,GAAG,GAAG,EAAE;YACP,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CACtC,MAAM,KAAK,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;YACxD,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,EAAE;QACnB,OAAO;QACP,MAAM,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC;KACtD,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAIA,4BAAQ"}
|
package/dist/cmp/Slot.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Slot = void 0;
|
|
4
|
+
const jostraca_1 = require("../jostraca");
|
|
5
|
+
const Slot = (0, jostraca_1.cmp)(function Slot(props, children) {
|
|
6
|
+
const node = props.ctx$.node;
|
|
7
|
+
node.kind = 'slot';
|
|
8
|
+
node.name = props.name;
|
|
9
|
+
(0, jostraca_1.each)(children, { call: true });
|
|
10
|
+
});
|
|
11
|
+
exports.Slot = Slot;
|
|
12
|
+
//# sourceMappingURL=Slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slot.js","sourceRoot":"","sources":["../../src/cmp/Slot.ts"],"names":[],"mappings":";;;AAGA,0CAAuC;AAGvC,MAAM,IAAI,GAAG,IAAA,cAAG,EAAC,SAAS,IAAI,CAAC,KAAU,EAAE,QAAa;IACtD,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IAEtB,IAAA,eAAI,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAChC,CAAC,CAAC,CAAA;AAIA,oBAAI"}
|
package/dist/jostraca.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { JostracaOptions, Node, Component } from './types';
|
|
|
2
2
|
import { each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, template, escre } from './utility';
|
|
3
3
|
import { Content } from './cmp/Content';
|
|
4
4
|
import { Line } from './cmp/Line';
|
|
5
|
+
import { Slot } from './cmp/Slot';
|
|
5
6
|
import { Copy } from './cmp/Copy';
|
|
6
7
|
import { File } from './cmp/File';
|
|
7
8
|
import { Inject } from './cmp/Inject';
|
|
@@ -13,4 +14,4 @@ declare function Jostraca(): {
|
|
|
13
14
|
};
|
|
14
15
|
declare function cmp(component: Function): Component;
|
|
15
16
|
export type { JostracaOptions, Component, Node, };
|
|
16
|
-
export { Jostraca, cmp, each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, template, escre, Project, Content, File, Inject, Fragment, Folder, Copy, Line, };
|
|
17
|
+
export { Jostraca, cmp, each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, template, escre, Project, Content, File, Inject, Fragment, Folder, Copy, Line, Slot, };
|
package/dist/jostraca.js
CHANGED
|
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.Line = exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.escre = exports.template = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.select = exports.each = void 0;
|
|
40
|
+
exports.Slot = exports.Line = exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.escre = exports.template = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.select = exports.each = void 0;
|
|
41
41
|
exports.Jostraca = Jostraca;
|
|
42
42
|
exports.cmp = cmp;
|
|
43
43
|
// TODO:
|
|
@@ -63,6 +63,8 @@ const Content_1 = require("./cmp/Content");
|
|
|
63
63
|
Object.defineProperty(exports, "Content", { enumerable: true, get: function () { return Content_1.Content; } });
|
|
64
64
|
const Line_1 = require("./cmp/Line");
|
|
65
65
|
Object.defineProperty(exports, "Line", { enumerable: true, get: function () { return Line_1.Line; } });
|
|
66
|
+
const Slot_1 = require("./cmp/Slot");
|
|
67
|
+
Object.defineProperty(exports, "Slot", { enumerable: true, get: function () { return Slot_1.Slot; } });
|
|
66
68
|
const Copy_1 = require("./cmp/Copy");
|
|
67
69
|
Object.defineProperty(exports, "Copy", { enumerable: true, get: function () { return Copy_1.Copy; } });
|
|
68
70
|
const File_1 = require("./cmp/File");
|
|
@@ -79,6 +81,7 @@ const CopyOp_1 = require("./op/CopyOp");
|
|
|
79
81
|
const ProjectOp_1 = require("./op/ProjectOp");
|
|
80
82
|
const FolderOp_1 = require("./op/FolderOp");
|
|
81
83
|
const FileOp_1 = require("./op/FileOp");
|
|
84
|
+
const SlotOp_1 = require("./op/SlotOp");
|
|
82
85
|
const InjectOp_1 = require("./op/InjectOp");
|
|
83
86
|
const FragmentOp_1 = require("./op/FragmentOp");
|
|
84
87
|
const ContentOp_1 = require("./op/ContentOp");
|
|
@@ -100,6 +103,7 @@ function Jostraca() {
|
|
|
100
103
|
const folder = opts.folder || '.';
|
|
101
104
|
const log = opts.log || DEFAULT_LOGGER;
|
|
102
105
|
const debug = !!opts.debug;
|
|
106
|
+
const doBuild = false !== opts.build;
|
|
103
107
|
// Component defaults.
|
|
104
108
|
opts.cmp = (opts.cmp || {});
|
|
105
109
|
opts.cmp.Copy = (opts.cmp.Copy || {});
|
|
@@ -120,6 +124,7 @@ function Jostraca() {
|
|
|
120
124
|
// console.dir(ctx$.node, { depth: null })
|
|
121
125
|
// Build phase
|
|
122
126
|
const buildctx = {
|
|
127
|
+
root: ctx$.root,
|
|
123
128
|
fs,
|
|
124
129
|
folder,
|
|
125
130
|
current: {
|
|
@@ -128,7 +133,9 @@ function Jostraca() {
|
|
|
128
133
|
}
|
|
129
134
|
}
|
|
130
135
|
};
|
|
131
|
-
|
|
136
|
+
if (doBuild) {
|
|
137
|
+
await build(ctx$, buildctx);
|
|
138
|
+
}
|
|
132
139
|
return buildctx;
|
|
133
140
|
});
|
|
134
141
|
}
|
|
@@ -191,6 +198,7 @@ function Jostraca() {
|
|
|
191
198
|
fragment: FragmentOp_1.FragmentOp,
|
|
192
199
|
content: ContentOp_1.ContentOp,
|
|
193
200
|
copy: CopyOp_1.CopyOp,
|
|
201
|
+
slot: SlotOp_1.SlotOp,
|
|
194
202
|
none: NoneOp_1.NoneOp,
|
|
195
203
|
};
|
|
196
204
|
return {
|
|
@@ -199,11 +207,18 @@ function Jostraca() {
|
|
|
199
207
|
}
|
|
200
208
|
function cmp(component) {
|
|
201
209
|
const cf = (props, children) => {
|
|
202
|
-
|
|
210
|
+
children = null == children ?
|
|
211
|
+
(('function' === typeof props || Array.isArray(props)) ? props : null) : children;
|
|
203
212
|
if (null == props || 'object' !== typeof props) {
|
|
204
213
|
props = { arg: props };
|
|
205
214
|
}
|
|
206
215
|
props.ctx$ = GLOBAL.jostraca.getStore();
|
|
216
|
+
let parent = props.ctx$.node;
|
|
217
|
+
// console.log('BBB', component, props, parent?.filter?.({ props }))
|
|
218
|
+
if (parent?.filter && !parent.filter({ props, children, component })) {
|
|
219
|
+
// console.log('PF', component, props)
|
|
220
|
+
return undefined;
|
|
221
|
+
}
|
|
207
222
|
children = 'function' === typeof children ? [children] : children;
|
|
208
223
|
let node = {
|
|
209
224
|
kind: 'none',
|
|
@@ -211,11 +226,12 @@ function cmp(component) {
|
|
|
211
226
|
path: [],
|
|
212
227
|
meta: {},
|
|
213
228
|
};
|
|
229
|
+
props.ctx$.root = (props.ctx$.root || node);
|
|
230
|
+
parent = props.ctx$.node || node;
|
|
214
231
|
if (props.ctx$.debug) {
|
|
215
232
|
node.meta.debug = (node.meta.debug || {});
|
|
216
233
|
node.meta.debug.callsite = new Error('component: ' + component.name).stack;
|
|
217
234
|
}
|
|
218
|
-
const parent = props.ctx$.node = (props.ctx$.node || node);
|
|
219
235
|
const siblings = props.ctx$.children = (props.ctx$.children || []);
|
|
220
236
|
siblings.push(node);
|
|
221
237
|
props.ctx$.children = node.children;
|
package/dist/jostraca.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"jostraca.js","sourceRoot":"","sources":["../src/jostraca.ts"],"names":[],"mappings":"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"}
|
package/dist/op/ContentOp.js
CHANGED
|
@@ -3,16 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ContentOp = void 0;
|
|
4
4
|
const ContentOp = {
|
|
5
5
|
before(node, _ctx$, buildctx) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
buildctx.current.file.content.push(content.content);
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
let contentMap = buildctx.current.file.meta.content_map = (buildctx.current.file.meta.content_map || {});
|
|
12
|
-
contentMap[node.name] = (contentMap[node.name] || []);
|
|
13
|
-
contentMap[node.name].push(node.content);
|
|
14
|
-
// console.log('CN', node.name, contentMap)
|
|
15
|
-
}
|
|
6
|
+
const content = buildctx.current.content = node;
|
|
7
|
+
buildctx.current.file.content.push(content.content);
|
|
16
8
|
},
|
|
17
9
|
after(_node, _ctx$, buildctx) { },
|
|
18
10
|
};
|
package/dist/op/ContentOp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentOp.js","sourceRoot":"","sources":["../../src/op/ContentOp.ts"],"names":[],"mappings":";;;AAKA,MAAM,SAAS,GAAG;IAChB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,
|
|
1
|
+
{"version":3,"file":"ContentOp.js","sourceRoot":"","sources":["../../src/op/ContentOp.ts"],"names":[],"mappings":";;;AAKA,MAAM,SAAS,GAAG;IAChB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,KAAW,EAAE,KAAU,EAAE,QAAa,IAAI,CAAC;CAClD,CAAA;AAIC,8BAAS"}
|
package/dist/op/FragmentOp.d.ts
CHANGED
package/dist/op/FragmentOp.js
CHANGED
|
@@ -1,42 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.FragmentOp = void 0;
|
|
7
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const jostraca_1 = require("../jostraca");
|
|
9
4
|
const FragmentOp = {
|
|
10
5
|
before(node, _ctx$, buildctx) {
|
|
11
6
|
node.meta.fragment_file = buildctx.current.file;
|
|
12
7
|
const cfile = buildctx.current.file = node;
|
|
13
|
-
cfile.filepath = buildctx.current.folder.path.join('/') + '
|
|
8
|
+
cfile.filepath = buildctx.current.folder.path.join('/') + '?fragment=' + node.name;
|
|
14
9
|
cfile.content = [];
|
|
15
10
|
},
|
|
16
|
-
after(node,
|
|
17
|
-
|
|
18
|
-
let frompath = node.from;
|
|
19
|
-
// TODO: this is relative to the output - but that is just one case - provide more control?
|
|
20
|
-
if (!node_path_1.default.isAbsolute(frompath)) {
|
|
21
|
-
frompath = node_path_1.default.join(buildctx.folder, ...node.path, frompath);
|
|
22
|
-
}
|
|
23
|
-
let src = fs.readFileSync(frompath, 'utf8');
|
|
24
|
-
let replace = node.meta.replace || {};
|
|
25
|
-
let content = buildctx.current.file.content;
|
|
26
|
-
if (0 < content.length) {
|
|
27
|
-
// NOTE: RegExp consumes comment markers in same line.
|
|
28
|
-
replace['/[ \\t]*[-</#*]*[ \\t]*<\\[SLOT]>[ \\t]*[-</#*]*[ \\t]*/'] = content.join('');
|
|
29
|
-
}
|
|
30
|
-
const contentMap = node.meta.content_map || {};
|
|
31
|
-
(0, jostraca_1.each)(contentMap, (content) => {
|
|
32
|
-
replace['/[ \\t]*[-</#*]*[ \\t]*<\\[SLOT:' +
|
|
33
|
-
(0, jostraca_1.escre)(content.key$) +
|
|
34
|
-
']>[ \\t]*[-</#*]*[ \\t]*/'] =
|
|
35
|
-
content.join('');
|
|
36
|
-
});
|
|
37
|
-
// console.log('REPLACE', replace)
|
|
38
|
-
src = (0, jostraca_1.template)(src, ctx$.model, { replace });
|
|
39
|
-
// console.log('SRC', src)
|
|
11
|
+
after(node, _ctx$, buildctx) {
|
|
12
|
+
let src = node.content?.join('') || '';
|
|
40
13
|
if ('string' === typeof node.indent) {
|
|
41
14
|
src = src.replace(/([^\n]+\n)/g, node.indent + '$1');
|
|
42
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentOp.js","sourceRoot":"","sources":["../../src/op/FragmentOp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FragmentOp.js","sourceRoot":"","sources":["../../src/op/FragmentOp.ts"],"names":[],"mappings":";;;AAIA,MAAM,UAAU,GAAG;IAEjB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA;QAE/C,MAAM,KAAK,GAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAC/C,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,IAAI,CAAA;QAClF,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QACzC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QAEtC,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACpC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;QACtD,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAEF,CAAA;AAIC,gCAAU"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SlotOp = void 0;
|
|
4
|
+
const SlotOp = {
|
|
5
|
+
before(node, _ctx$, buildctx) {
|
|
6
|
+
node.meta.fragment_file = buildctx.current.file;
|
|
7
|
+
const cfile = buildctx.current.file = node;
|
|
8
|
+
cfile.filepath = buildctx.current.folder.path.join('/') + '?slot=' + node.name;
|
|
9
|
+
cfile.content = [];
|
|
10
|
+
},
|
|
11
|
+
after(node, ctx$, buildctx) {
|
|
12
|
+
let src = node.content?.join('') || '';
|
|
13
|
+
buildctx.current.file = node.meta.fragment_file;
|
|
14
|
+
buildctx.current.file.content.push(src);
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
exports.SlotOp = SlotOp;
|
|
18
|
+
//# sourceMappingURL=SlotOp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlotOp.js","sourceRoot":"","sources":["../../src/op/SlotOp.ts"],"names":[],"mappings":";;;AAMA,MAAM,MAAM,GAAG;IAEb,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA;QAE/C,MAAM,KAAK,GAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QAC/C,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QAC9E,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,IAAS,EAAE,QAAa;QACxC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;QAEtC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAEF,CAAA;AAIC,wBAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/jostraca.ts","../src/types.ts","../src/utility.ts","../src/cmp/content.ts","../src/cmp/copy.ts","../src/cmp/file.ts","../src/cmp/folder.ts","../src/cmp/fragment.ts","../src/cmp/inject.ts","../src/cmp/line.ts","../src/cmp/project.ts","../src/op/contentop.ts","../src/op/copyop.ts","../src/op/fileop.ts","../src/op/folderop.ts","../src/op/fragmentop.ts","../src/op/injectop.ts","../src/op/noneop.ts","../src/op/projectop.ts"],"version":"5.7.2"}
|
|
1
|
+
{"root":["../src/jostraca.ts","../src/types.ts","../src/utility.ts","../src/cmp/content.ts","../src/cmp/copy.ts","../src/cmp/file.ts","../src/cmp/folder.ts","../src/cmp/fragment.ts","../src/cmp/inject.ts","../src/cmp/line.ts","../src/cmp/project.ts","../src/cmp/slot.ts","../src/op/contentop.ts","../src/op/copyop.ts","../src/op/fileop.ts","../src/op/folderop.ts","../src/op/fragmentop.ts","../src/op/injectop.ts","../src/op/noneop.ts","../src/op/projectop.ts","../src/op/slotop.ts"],"version":"5.7.2"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ type JostracaOptions = {
|
|
|
5
5
|
fs?: any;
|
|
6
6
|
log?: Log;
|
|
7
7
|
debug?: boolean;
|
|
8
|
+
build?: boolean;
|
|
8
9
|
cmp?: {
|
|
9
10
|
Copy?: {
|
|
10
11
|
ignore?: RegExp[];
|
|
@@ -23,6 +24,7 @@ type Node = {
|
|
|
23
24
|
after?: any;
|
|
24
25
|
exclude?: boolean | string | string[];
|
|
25
26
|
indent?: string;
|
|
27
|
+
filter?: (props: any, children: any, component: any) => boolean;
|
|
26
28
|
};
|
|
27
29
|
type OpStep = (node: Node, ctx$: any, buildctx: any) => Promise<any> | void;
|
|
28
30
|
type OpDef = {
|
package/dist/utility.d.ts
CHANGED
package/dist/utility.js
CHANGED
|
@@ -272,14 +272,15 @@ function template(src, model, spec) {
|
|
|
272
272
|
.map(k => '|(' + (k.match(/^\/.+\/$/) ? k.substring(1, k.length - 1) : escre(k)) + ')')
|
|
273
273
|
.join(''))) :
|
|
274
274
|
spec.insert;
|
|
275
|
-
let out = '';
|
|
276
275
|
let remain = src;
|
|
277
276
|
let nextm = true;
|
|
277
|
+
let out = '';
|
|
278
|
+
let handle = spec?.handle || ((s) => out += (null == s ? '' : s));
|
|
278
279
|
while (nextm) {
|
|
279
280
|
let m = remain.match(insertRE);
|
|
280
281
|
if (m) {
|
|
281
282
|
let mi = m.index;
|
|
282
|
-
|
|
283
|
+
handle(remain.substring(0, mi));
|
|
283
284
|
let insert;
|
|
284
285
|
let skip = 0;
|
|
285
286
|
let ref = m[2];
|
|
@@ -305,24 +306,113 @@ function template(src, model, spec) {
|
|
|
305
306
|
else {
|
|
306
307
|
let ti = typeof insert;
|
|
307
308
|
if (null == insert || ('number' === ti && isNaN(insert))) {
|
|
308
|
-
|
|
309
|
+
handle((0 === skip ? '' : m[1]) + ref + (0 === skip ? '' : m[3]));
|
|
309
310
|
}
|
|
310
311
|
else if ('function' === ti) {
|
|
311
|
-
|
|
312
|
+
handle(insert({ src, model, spec, ref, index: mi }));
|
|
312
313
|
}
|
|
313
314
|
else {
|
|
314
|
-
|
|
315
|
+
handle(('object' === ti ? JSON.stringify(insert) : insert));
|
|
315
316
|
}
|
|
316
317
|
remain = remain.substring(mi + skip + ref.length);
|
|
317
318
|
}
|
|
318
319
|
}
|
|
319
320
|
else {
|
|
320
|
-
|
|
321
|
+
handle(remain);
|
|
321
322
|
nextm = false;
|
|
322
323
|
}
|
|
323
324
|
}
|
|
324
325
|
return out;
|
|
325
326
|
}
|
|
327
|
+
/*
|
|
328
|
+
// NOTE: $$foo.bar$$ format used as explicit start and end markers mean regex can be used
|
|
329
|
+
// unambiguously ($fooa would not match `foo`)
|
|
330
|
+
function template(
|
|
331
|
+
src: string,
|
|
332
|
+
model: any,
|
|
333
|
+
spec?: {
|
|
334
|
+
open?: string,
|
|
335
|
+
close?: string,
|
|
336
|
+
ref?: string,
|
|
337
|
+
insert?: RegExp,
|
|
338
|
+
replace?: Record<string, any>
|
|
339
|
+
}
|
|
340
|
+
) {
|
|
341
|
+
|
|
342
|
+
src = null == src ? '' : '' + src
|
|
343
|
+
model = null == model ? {} : model
|
|
344
|
+
let open = null == spec?.open ? '\\$\\$' : spec.open
|
|
345
|
+
let close = null == spec?.close ? '\\$\\$' : spec.close
|
|
346
|
+
let ref = null == spec?.ref ? '[^$]+' : spec.ref
|
|
347
|
+
let insertRE = null == spec?.insert ?
|
|
348
|
+
new RegExp('(' + open + ')(' + ref + ')(' + close + ')' +
|
|
349
|
+
((Object.keys(spec?.replace || {}))
|
|
350
|
+
.map(k => '|(' + (k.match(/^\/.+\/$/) ? k.substring(1, k.length - 1) : escre(k)) + ')')
|
|
351
|
+
.join(''))) :
|
|
352
|
+
spec.insert
|
|
353
|
+
let out = ''
|
|
354
|
+
let remain = src
|
|
355
|
+
let nextm = true
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
while (nextm) {
|
|
359
|
+
let m = remain.match(insertRE)
|
|
360
|
+
|
|
361
|
+
if (m) {
|
|
362
|
+
let mi = (m.index as number)
|
|
363
|
+
out += remain.substring(0, mi)
|
|
364
|
+
|
|
365
|
+
let insert
|
|
366
|
+
let skip = 0
|
|
367
|
+
let ref = m[2]
|
|
368
|
+
|
|
369
|
+
if (null != ref) {
|
|
370
|
+
insert = '__insert__' === ref ? '' + insertRE : getx(model, ref)
|
|
371
|
+
skip = m[1].length + m[3].length
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
else {
|
|
375
|
+
ref = ''
|
|
376
|
+
insert = ''
|
|
377
|
+
let rI = 4
|
|
378
|
+
while (rI < m.length &&
|
|
379
|
+
'' === (ref = (null == m[rI] || '' == m[rI] ? '' : m[rI]))) { rI++ }
|
|
380
|
+
|
|
381
|
+
if ('' !== ref && spec?.replace) {
|
|
382
|
+
insert = spec.replace[Object.keys(spec.replace)[rI - 4]]
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
if ('' === ref) {
|
|
387
|
+
throw new Error('Regular expression matches empty string: ' + insertRE)
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
let ti = typeof insert
|
|
391
|
+
|
|
392
|
+
if (null == insert || ('number' === ti && isNaN(insert))) {
|
|
393
|
+
out += (0 === skip ? '' : m[1]) + ref + (0 === skip ? '' : m[3])
|
|
394
|
+
}
|
|
395
|
+
else if ('function' === ti) {
|
|
396
|
+
out += insert({ src, model, spec, ref, index: mi })
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
out += ('object' === ti ? JSON.stringify(insert) : insert)
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
remain = remain.substring(mi + skip + ref.length)
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
out += remain
|
|
407
|
+
nextm = false
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
return out
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
*/
|
|
326
416
|
// Map child objects to new child objects
|
|
327
417
|
function cmap(o, p) {
|
|
328
418
|
return Object
|
package/dist/utility.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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,KAAK;IACL,WAAW;IACX,WAAW;IACX,WAAW;IACX,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,SAAS;IACT,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,OAAO;IACP,GAAG;IACH,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,WAAW;IACX,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,IAAI;IACJ,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,GAAG;IACH,KAAK;IACL,MAAM;CACP,CAAA;AAkBC,gCAAU"}
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,UAAU;IACV,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,WAAW;IACX,WAAW;IACX,WAAW;IACX,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,SAAS;IACT,IAAI;IACJ,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,OAAO;IACP,GAAG;IACH,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,WAAW;IACX,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,IAAI;IACJ,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,GAAG;IACH,KAAK;IACL,MAAM;CACP,CAAA;AAkBC,gCAAU"}
|
package/package.json
CHANGED
package/src/cmp/Content.ts
CHANGED
|
@@ -10,6 +10,7 @@ const Content = cmp(function Content(props: any, children: any) {
|
|
|
10
10
|
let src = null != props.arg ? props.arg :
|
|
11
11
|
null != props.src ? props.src :
|
|
12
12
|
'string' === typeof children ? children : ''
|
|
13
|
+
|
|
13
14
|
src = template(src, props.ctx$.model)
|
|
14
15
|
node.content = src
|
|
15
16
|
node.name = props.name
|
package/src/cmp/Copy.ts
CHANGED
|
@@ -6,7 +6,6 @@ import { cmp } from '../jostraca'
|
|
|
6
6
|
|
|
7
7
|
const Copy = cmp(function Copy(props: any, _children: any) {
|
|
8
8
|
const node: Node = props.ctx$.node
|
|
9
|
-
|
|
10
9
|
node.kind = 'copy'
|
|
11
10
|
node.name = props.name
|
|
12
11
|
node.from = props.from
|
|
@@ -14,7 +13,6 @@ const Copy = cmp(function Copy(props: any, _children: any) {
|
|
|
14
13
|
})
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
|
|
18
16
|
export {
|
|
19
17
|
Copy
|
|
20
18
|
}
|
package/src/cmp/Fragment.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
|
|
2
|
+
import Path from 'node:path'
|
|
3
|
+
|
|
2
4
|
import type { Node } from '../jostraca'
|
|
3
5
|
|
|
4
|
-
import { cmp, each } from '../jostraca'
|
|
6
|
+
import { cmp, template, each, escre, Content } from '../jostraca'
|
|
5
7
|
|
|
6
8
|
|
|
7
9
|
const Fragment = cmp(function Fragment(props: any, children: any) {
|
|
@@ -10,9 +12,52 @@ const Fragment = cmp(function Fragment(props: any, children: any) {
|
|
|
10
12
|
node.kind = 'fragment'
|
|
11
13
|
node.from = props.from
|
|
12
14
|
node.indent = props.indent
|
|
13
|
-
node.meta.replace = props.replace
|
|
15
|
+
// const replace = node.meta.replace = props.replace
|
|
16
|
+
const replace = props.replace || {}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
const { fs, folder, model } = props.ctx$
|
|
20
|
+
let frompath = node.from as string
|
|
21
|
+
|
|
22
|
+
// TODO: this is relative to the output - but that is just one case - provide more control?
|
|
23
|
+
if (!Path.isAbsolute(frompath)) {
|
|
24
|
+
frompath = Path.join(folder, ...node.path, frompath)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
let src = fs.readFileSync(frompath, 'utf8')
|
|
14
28
|
|
|
29
|
+
|
|
30
|
+
const slotnames: Record<string, boolean> = {}
|
|
31
|
+
|
|
32
|
+
node.filter = (({ props, component }) =>
|
|
33
|
+
(('Slot' === component.name ? slotnames[props.name] = true : null), false))
|
|
15
34
|
each(children, { call: true })
|
|
35
|
+
node.filter = undefined
|
|
36
|
+
|
|
37
|
+
replace['/[ \\t]*[-<!/#*]*[ \\t]*<\\[SLOT]>[ \\t]*[->/#*]*[ \\t]*/'] =
|
|
38
|
+
() => {
|
|
39
|
+
node.filter = (({ component }) => 'Slot' !== component.name)
|
|
40
|
+
each(children, { call: true })
|
|
41
|
+
node.filter = undefined
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
each(slotnames, (slot: any) => {
|
|
45
|
+
replace[
|
|
46
|
+
'/[ \\t]*[-<!/#*]*[ \\t]*<\\[SLOT:' +
|
|
47
|
+
escre(slot.key$) +
|
|
48
|
+
']>[ \\t]*[->/#*]*[ \\t]*/'
|
|
49
|
+
] = () => {
|
|
50
|
+
node.filter = (({ props, component }) =>
|
|
51
|
+
'Slot' === component.name && slot.key$ === props.name)
|
|
52
|
+
each(children, { call: true })
|
|
53
|
+
node.filter = undefined
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
template(src, model, {
|
|
58
|
+
replace,
|
|
59
|
+
handle: (s?: string) => null == s ? null : Content(s)
|
|
60
|
+
})
|
|
16
61
|
})
|
|
17
62
|
|
|
18
63
|
|
package/src/cmp/Slot.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
import type { Node } from '../jostraca'
|
|
3
|
+
|
|
4
|
+
import { cmp, each } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const Slot = cmp(function Slot(props: any, children: any) {
|
|
8
|
+
const node: Node = props.ctx$.node
|
|
9
|
+
node.kind = 'slot'
|
|
10
|
+
node.name = props.name
|
|
11
|
+
|
|
12
|
+
each(children, { call: true })
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
Slot
|
|
18
|
+
}
|
|
19
|
+
|
package/src/cmp/Slot.ts~
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
import type { Node } from '../jostraca'
|
|
3
|
+
|
|
4
|
+
import { cmp, template } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const Content = cmp(function Content(props: any, children: any) {
|
|
8
|
+
const node: Node = props.ctx$.node
|
|
9
|
+
node.kind = 'content'
|
|
10
|
+
let src = null != props.arg ? props.arg :
|
|
11
|
+
null != props.src ? props.src :
|
|
12
|
+
'string' === typeof children ? children : ''
|
|
13
|
+
|
|
14
|
+
src = template(src, props.ctx$.model)
|
|
15
|
+
node.content = src
|
|
16
|
+
node.name = props.name
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
Content
|
|
23
|
+
}
|
|
24
|
+
|
package/src/jostraca.ts
CHANGED
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
|
|
39
39
|
import { Content } from './cmp/Content'
|
|
40
40
|
import { Line } from './cmp/Line'
|
|
41
|
+
import { Slot } from './cmp/Slot'
|
|
41
42
|
import { Copy } from './cmp/Copy'
|
|
42
43
|
import { File } from './cmp/File'
|
|
43
44
|
import { Inject } from './cmp/Inject'
|
|
@@ -49,6 +50,7 @@ import { CopyOp } from './op/CopyOp'
|
|
|
49
50
|
import { ProjectOp } from './op/ProjectOp'
|
|
50
51
|
import { FolderOp } from './op/FolderOp'
|
|
51
52
|
import { FileOp } from './op/FileOp'
|
|
53
|
+
import { SlotOp } from './op/SlotOp'
|
|
52
54
|
import { InjectOp } from './op/InjectOp'
|
|
53
55
|
import { FragmentOp } from './op/FragmentOp'
|
|
54
56
|
import { ContentOp } from './op/ContentOp'
|
|
@@ -78,6 +80,7 @@ function Jostraca() {
|
|
|
78
80
|
const folder = opts.folder || '.'
|
|
79
81
|
const log: Log = opts.log || DEFAULT_LOGGER
|
|
80
82
|
const debug: boolean = !!opts.debug
|
|
83
|
+
const doBuild: boolean = false !== opts.build
|
|
81
84
|
|
|
82
85
|
// Component defaults.
|
|
83
86
|
opts.cmp = (opts.cmp || {})
|
|
@@ -105,6 +108,7 @@ function Jostraca() {
|
|
|
105
108
|
// Build phase
|
|
106
109
|
|
|
107
110
|
const buildctx = {
|
|
111
|
+
root: ctx$.root,
|
|
108
112
|
fs,
|
|
109
113
|
folder,
|
|
110
114
|
current: {
|
|
@@ -113,7 +117,11 @@ function Jostraca() {
|
|
|
113
117
|
}
|
|
114
118
|
}
|
|
115
119
|
}
|
|
116
|
-
|
|
120
|
+
|
|
121
|
+
if (doBuild) {
|
|
122
|
+
await build(ctx$, buildctx)
|
|
123
|
+
}
|
|
124
|
+
|
|
117
125
|
return buildctx
|
|
118
126
|
})
|
|
119
127
|
}
|
|
@@ -185,7 +193,6 @@ function Jostraca() {
|
|
|
185
193
|
}
|
|
186
194
|
}
|
|
187
195
|
|
|
188
|
-
|
|
189
196
|
const opmap: Record<string, OpDef> = {
|
|
190
197
|
project: ProjectOp,
|
|
191
198
|
folder: FolderOp,
|
|
@@ -194,10 +201,10 @@ function Jostraca() {
|
|
|
194
201
|
fragment: FragmentOp,
|
|
195
202
|
content: ContentOp,
|
|
196
203
|
copy: CopyOp,
|
|
204
|
+
slot: SlotOp,
|
|
197
205
|
none: NoneOp,
|
|
198
206
|
}
|
|
199
207
|
|
|
200
|
-
|
|
201
208
|
return {
|
|
202
209
|
generate,
|
|
203
210
|
}
|
|
@@ -206,11 +213,22 @@ function Jostraca() {
|
|
|
206
213
|
|
|
207
214
|
function cmp(component: Function): Component {
|
|
208
215
|
const cf = (props: any, children?: any) => {
|
|
209
|
-
|
|
216
|
+
children = null == children ?
|
|
217
|
+
(('function' === typeof props || Array.isArray(props)) ? props : null) : children
|
|
218
|
+
|
|
210
219
|
if (null == props || 'object' !== typeof props) {
|
|
211
220
|
props = { arg: props }
|
|
212
221
|
}
|
|
213
222
|
props.ctx$ = GLOBAL.jostraca.getStore()
|
|
223
|
+
|
|
224
|
+
let parent = props.ctx$.node
|
|
225
|
+
// console.log('BBB', component, props, parent?.filter?.({ props }))
|
|
226
|
+
|
|
227
|
+
if (parent?.filter && !parent.filter({ props, children, component })) {
|
|
228
|
+
// console.log('PF', component, props)
|
|
229
|
+
return undefined
|
|
230
|
+
}
|
|
231
|
+
|
|
214
232
|
children = 'function' === typeof children ? [children] : children
|
|
215
233
|
|
|
216
234
|
let node: Node = {
|
|
@@ -220,12 +238,15 @@ function cmp(component: Function): Component {
|
|
|
220
238
|
meta: {},
|
|
221
239
|
}
|
|
222
240
|
|
|
241
|
+
props.ctx$.root = (props.ctx$.root || node)
|
|
242
|
+
parent = props.ctx$.node || node
|
|
243
|
+
|
|
223
244
|
if (props.ctx$.debug) {
|
|
224
245
|
node.meta.debug = (node.meta.debug || {})
|
|
225
246
|
node.meta.debug.callsite = new Error('component: ' + component.name).stack
|
|
226
247
|
}
|
|
227
248
|
|
|
228
|
-
|
|
249
|
+
|
|
229
250
|
const siblings = props.ctx$.children = (props.ctx$.children || [])
|
|
230
251
|
siblings.push(node)
|
|
231
252
|
|
|
@@ -285,5 +306,6 @@ export {
|
|
|
285
306
|
Folder,
|
|
286
307
|
Copy,
|
|
287
308
|
Line,
|
|
309
|
+
Slot,
|
|
288
310
|
}
|
|
289
311
|
|
package/src/op/ContentOp.ts
CHANGED
|
@@ -5,17 +5,8 @@ import type { Node } from '../jostraca'
|
|
|
5
5
|
|
|
6
6
|
const ContentOp = {
|
|
7
7
|
before(node: Node, _ctx$: any, buildctx: any) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
buildctx.current.file.content.push(content.content)
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
let contentMap =
|
|
14
|
-
buildctx.current.file.meta.content_map = (buildctx.current.file.meta.content_map || {})
|
|
15
|
-
contentMap[node.name] = (contentMap[node.name] || [])
|
|
16
|
-
contentMap[node.name].push(node.content)
|
|
17
|
-
// console.log('CN', node.name, contentMap)
|
|
18
|
-
}
|
|
8
|
+
const content = buildctx.current.content = node
|
|
9
|
+
buildctx.current.file.content.push(content.content)
|
|
19
10
|
},
|
|
20
11
|
|
|
21
12
|
after(_node: Node, _ctx$: any, buildctx: any) { },
|
package/src/op/FragmentOp.ts
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
import Path from 'node:path'
|
|
3
|
-
|
|
4
|
-
import { escre, each, template } from '../jostraca'
|
|
5
|
-
|
|
6
2
|
import type { Node } from '../jostraca'
|
|
7
3
|
|
|
8
4
|
|
|
@@ -12,44 +8,13 @@ const FragmentOp = {
|
|
|
12
8
|
node.meta.fragment_file = buildctx.current.file
|
|
13
9
|
|
|
14
10
|
const cfile: any = buildctx.current.file = node
|
|
15
|
-
cfile.filepath = buildctx.current.folder.path.join('/') + '
|
|
11
|
+
cfile.filepath = buildctx.current.folder.path.join('/') + '?fragment=' + node.name
|
|
16
12
|
cfile.content = []
|
|
17
13
|
},
|
|
18
14
|
|
|
19
15
|
|
|
20
|
-
after(node: Node,
|
|
21
|
-
|
|
22
|
-
let frompath = node.from as string
|
|
23
|
-
|
|
24
|
-
// TODO: this is relative to the output - but that is just one case - provide more control?
|
|
25
|
-
if (!Path.isAbsolute(frompath)) {
|
|
26
|
-
frompath = Path.join(buildctx.folder, ...node.path, frompath)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
let src = fs.readFileSync(frompath, 'utf8')
|
|
30
|
-
|
|
31
|
-
let replace: any = node.meta.replace || {}
|
|
32
|
-
let content = buildctx.current.file.content
|
|
33
|
-
if (0 < content.length) {
|
|
34
|
-
// NOTE: RegExp consumes comment markers in same line.
|
|
35
|
-
replace['/[ \\t]*[-</#*]*[ \\t]*<\\[SLOT]>[ \\t]*[-</#*]*[ \\t]*/'] = content.join('')
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const contentMap = node.meta.content_map || {}
|
|
39
|
-
each(contentMap, (content: any) => {
|
|
40
|
-
replace[
|
|
41
|
-
'/[ \\t]*[-</#*]*[ \\t]*<\\[SLOT:' +
|
|
42
|
-
escre(content.key$) +
|
|
43
|
-
']>[ \\t]*[-</#*]*[ \\t]*/'
|
|
44
|
-
] =
|
|
45
|
-
content.join('')
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
// console.log('REPLACE', replace)
|
|
49
|
-
|
|
50
|
-
src = template(src, ctx$.model, { replace })
|
|
51
|
-
|
|
52
|
-
// console.log('SRC', src)
|
|
16
|
+
after(node: Node, _ctx$: any, buildctx: any) {
|
|
17
|
+
let src = node.content?.join('') || ''
|
|
53
18
|
|
|
54
19
|
if ('string' === typeof node.indent) {
|
|
55
20
|
src = src.replace(/([^\n]+\n)/g, node.indent + '$1')
|
package/src/op/SlotOp.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
|
|
2
|
+
import Path from 'node:path'
|
|
3
|
+
|
|
4
|
+
import type { Node } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const SlotOp = {
|
|
8
|
+
|
|
9
|
+
before(node: Node, _ctx$: any, buildctx: any) {
|
|
10
|
+
node.meta.fragment_file = buildctx.current.file
|
|
11
|
+
|
|
12
|
+
const cfile: any = buildctx.current.file = node
|
|
13
|
+
cfile.filepath = buildctx.current.folder.path.join('/') + '?slot=' + node.name
|
|
14
|
+
cfile.content = []
|
|
15
|
+
},
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
after(node: Node, ctx$: any, buildctx: any) {
|
|
19
|
+
let src = node.content?.join('') || ''
|
|
20
|
+
|
|
21
|
+
buildctx.current.file = node.meta.fragment_file
|
|
22
|
+
buildctx.current.file.content.push(src)
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
SlotOp
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
import Path from 'node:path'
|
|
3
|
+
|
|
4
|
+
import type { Node } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const FolderOp = {
|
|
8
|
+
|
|
9
|
+
before(node: Node, _ctx$: any, buildctx: any) {
|
|
10
|
+
const cfolder = buildctx.current.folder = (buildctx.current.folder || {})
|
|
11
|
+
|
|
12
|
+
cfolder.node = node
|
|
13
|
+
cfolder.path = (cfolder.path || [buildctx.current.folder.parent])
|
|
14
|
+
cfolder.path.push(node.name)
|
|
15
|
+
|
|
16
|
+
let fullpath = cfolder.path.join(Path.sep)
|
|
17
|
+
buildctx.fs.mkdirSync(fullpath, { recursive: true })
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
after(_node: Node, _ctx$: any, buildctx: any) {
|
|
22
|
+
const cfolder = buildctx.current.folder
|
|
23
|
+
cfolder.path.length = cfolder.path.length - 1
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
FolderOp
|
|
31
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -9,6 +9,8 @@ type JostracaOptions = {
|
|
|
9
9
|
log?: Log // Logging interface.
|
|
10
10
|
debug?: boolean // Generate additional debugging information.
|
|
11
11
|
|
|
12
|
+
build?: boolean
|
|
13
|
+
|
|
12
14
|
// Component specific options.
|
|
13
15
|
cmp?: {
|
|
14
16
|
Copy?: {
|
|
@@ -31,6 +33,7 @@ type Node = {
|
|
|
31
33
|
after?: any
|
|
32
34
|
exclude?: boolean | string | string[]
|
|
33
35
|
indent?: string
|
|
36
|
+
filter?: (props: any, children: any, component: any) => boolean
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
|
package/src/utility.ts
CHANGED
|
@@ -311,6 +311,97 @@ function escre(s: string) { return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') }
|
|
|
311
311
|
|
|
312
312
|
// NOTE: $$foo.bar$$ format used as explicit start and end markers mean regex can be used
|
|
313
313
|
// unambiguously ($fooa would not match `foo`)
|
|
314
|
+
function template(
|
|
315
|
+
src: string,
|
|
316
|
+
model: any,
|
|
317
|
+
spec?: {
|
|
318
|
+
open?: string,
|
|
319
|
+
close?: string,
|
|
320
|
+
ref?: string,
|
|
321
|
+
insert?: RegExp,
|
|
322
|
+
replace?: Record<string, any>,
|
|
323
|
+
handle?: (s?: string) => void
|
|
324
|
+
},
|
|
325
|
+
) {
|
|
326
|
+
|
|
327
|
+
src = null == src ? '' : '' + src
|
|
328
|
+
model = null == model ? {} : model
|
|
329
|
+
let open = null == spec?.open ? '\\$\\$' : spec.open
|
|
330
|
+
let close = null == spec?.close ? '\\$\\$' : spec.close
|
|
331
|
+
let ref = null == spec?.ref ? '[^$]+' : spec.ref
|
|
332
|
+
let insertRE = null == spec?.insert ?
|
|
333
|
+
new RegExp('(' + open + ')(' + ref + ')(' + close + ')' +
|
|
334
|
+
((Object.keys(spec?.replace || {}))
|
|
335
|
+
.map(k => '|(' + (k.match(/^\/.+\/$/) ? k.substring(1, k.length - 1) : escre(k)) + ')')
|
|
336
|
+
.join(''))) :
|
|
337
|
+
spec.insert
|
|
338
|
+
let remain = src
|
|
339
|
+
let nextm = true
|
|
340
|
+
|
|
341
|
+
let out = ''
|
|
342
|
+
let handle = spec?.handle || ((s: string) => out += (null == s ? '' : s))
|
|
343
|
+
|
|
344
|
+
while (nextm) {
|
|
345
|
+
let m = remain.match(insertRE)
|
|
346
|
+
|
|
347
|
+
if (m) {
|
|
348
|
+
let mi = (m.index as number)
|
|
349
|
+
handle(remain.substring(0, mi))
|
|
350
|
+
|
|
351
|
+
let insert
|
|
352
|
+
let skip = 0
|
|
353
|
+
let ref = m[2]
|
|
354
|
+
|
|
355
|
+
if (null != ref) {
|
|
356
|
+
insert = '__insert__' === ref ? '' + insertRE : getx(model, ref)
|
|
357
|
+
skip = m[1].length + m[3].length
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
else {
|
|
361
|
+
ref = ''
|
|
362
|
+
insert = ''
|
|
363
|
+
let rI = 4
|
|
364
|
+
while (rI < m.length &&
|
|
365
|
+
'' === (ref = (null == m[rI] || '' == m[rI] ? '' : m[rI]))) { rI++ }
|
|
366
|
+
|
|
367
|
+
if ('' !== ref && spec?.replace) {
|
|
368
|
+
insert = spec.replace[Object.keys(spec.replace)[rI - 4]]
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
if ('' === ref) {
|
|
373
|
+
throw new Error('Regular expression matches empty string: ' + insertRE)
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
let ti = typeof insert
|
|
377
|
+
|
|
378
|
+
if (null == insert || ('number' === ti && isNaN(insert))) {
|
|
379
|
+
handle((0 === skip ? '' : m[1]) + ref + (0 === skip ? '' : m[3]))
|
|
380
|
+
}
|
|
381
|
+
else if ('function' === ti) {
|
|
382
|
+
handle(insert({ src, model, spec, ref, index: mi }))
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
handle(('object' === ti ? JSON.stringify(insert) : insert))
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
remain = remain.substring(mi + skip + ref.length)
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
handle(remain)
|
|
393
|
+
nextm = false
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
return out
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
/*
|
|
403
|
+
// NOTE: $$foo.bar$$ format used as explicit start and end markers mean regex can be used
|
|
404
|
+
// unambiguously ($fooa would not match `foo`)
|
|
314
405
|
function template(
|
|
315
406
|
src: string,
|
|
316
407
|
model: any,
|
|
@@ -396,6 +487,7 @@ function template(
|
|
|
396
487
|
return out
|
|
397
488
|
}
|
|
398
489
|
|
|
490
|
+
*/
|
|
399
491
|
|
|
400
492
|
|
|
401
493
|
// Map child objects to new child objects
|