jostraca 0.12.0 → 0.13.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 +3 -1
- package/dist/cmp/Content.js.map +1 -1
- package/dist/jostraca.d.ts +3 -2
- package/dist/jostraca.js +35 -13
- package/dist/jostraca.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/utility.d.ts +2 -1
- package/dist/utility.js +23 -21
- package/dist/utility.js.map +1 -1
- package/package.json +4 -4
- package/src/cmp/Content.ts +3 -1
- package/src/jostraca.ts +42 -15
- package/src/types.ts +3 -0
- package/src/utility.ts +25 -21
package/dist/cmp/Content.js
CHANGED
|
@@ -8,7 +8,9 @@ const Content = (0, jostraca_1.cmp)(function Content(props, children) {
|
|
|
8
8
|
let src = null != props.arg ? props.arg :
|
|
9
9
|
null != props.src ? props.src :
|
|
10
10
|
'string' === typeof children ? children : '';
|
|
11
|
-
src = (0, jostraca_1.template)(src, props.ctx$.model
|
|
11
|
+
src = (0, jostraca_1.template)(src, props.ctx$.model, {
|
|
12
|
+
replace: props.replace
|
|
13
|
+
});
|
|
12
14
|
node.content = src;
|
|
13
15
|
node.name = props.name;
|
|
14
16
|
});
|
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;IAEhD,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,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,EAAE;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAA;IACF,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;AACxB,CAAC,CAAC,CAAA;AAKA,0BAAO"}
|
package/dist/jostraca.d.ts
CHANGED
|
@@ -9,9 +9,10 @@ import { Inject } from './cmp/Inject';
|
|
|
9
9
|
import { Fragment } from './cmp/Fragment';
|
|
10
10
|
import { Folder } from './cmp/Folder';
|
|
11
11
|
import { Project } from './cmp/Project';
|
|
12
|
-
declare
|
|
12
|
+
declare const deep: any;
|
|
13
|
+
declare function Jostraca(gopts?: JostracaOptions): {
|
|
13
14
|
generate: (opts: JostracaOptions, root: Function) => Promise<any>;
|
|
14
15
|
};
|
|
15
16
|
declare function cmp(component: Function): Component;
|
|
16
17
|
export type { JostracaOptions, Component, Node, };
|
|
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, };
|
|
18
|
+
export { Jostraca, cmp, each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, template, escre, deep, 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.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;
|
|
40
|
+
exports.Slot = exports.Line = exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.deep = 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:
|
|
@@ -46,6 +46,8 @@ exports.cmp = cmp;
|
|
|
46
46
|
const Fs = __importStar(require("node:fs"));
|
|
47
47
|
const node_path_1 = __importDefault(require("node:path"));
|
|
48
48
|
const node_async_hooks_1 = require("node:async_hooks");
|
|
49
|
+
const jsonic_1 = require("jsonic");
|
|
50
|
+
const memfs_1 = require("memfs");
|
|
49
51
|
const utility_1 = require("./utility");
|
|
50
52
|
Object.defineProperty(exports, "each", { enumerable: true, get: function () { return utility_1.each; } });
|
|
51
53
|
Object.defineProperty(exports, "select", { enumerable: true, get: function () { return utility_1.select; } });
|
|
@@ -86,6 +88,8 @@ const InjectOp_1 = require("./op/InjectOp");
|
|
|
86
88
|
const FragmentOp_1 = require("./op/FragmentOp");
|
|
87
89
|
const ContentOp_1 = require("./op/ContentOp");
|
|
88
90
|
const NoneOp_1 = require("./op/NoneOp");
|
|
91
|
+
const deep = jsonic_1.util.deep;
|
|
92
|
+
exports.deep = deep;
|
|
89
93
|
const GLOBAL = global;
|
|
90
94
|
const DEFAULT_LOGGER = {
|
|
91
95
|
trace: (...args) => console.log(new Date().toISOString(), 'TRACE', ...args),
|
|
@@ -95,19 +99,27 @@ const DEFAULT_LOGGER = {
|
|
|
95
99
|
error: (...args) => console.error(new Date().toISOString(), 'ERROR', ...args),
|
|
96
100
|
fatal: (...args) => console.error(new Date().toISOString(), 'FATAL', ...args),
|
|
97
101
|
};
|
|
98
|
-
function Jostraca() {
|
|
102
|
+
function Jostraca(gopts) {
|
|
99
103
|
GLOBAL.jostraca = new node_async_hooks_1.AsyncLocalStorage();
|
|
100
104
|
async function generate(opts, root) {
|
|
101
|
-
const
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
const useMemFS = opts.mem || gopts?.mem;
|
|
106
|
+
const memfs = useMemFS ? (0, memfs_1.memfs)(opts.vol || gopts?.vol || {}) : undefined;
|
|
107
|
+
const fs = opts.fs || gopts?.fs || memfs?.fs || Fs;
|
|
108
|
+
const meta = {
|
|
109
|
+
...(gopts?.meta || {}),
|
|
110
|
+
...(opts.meta || {}),
|
|
111
|
+
};
|
|
112
|
+
const folder = opts.folder || gopts?.folder || '.';
|
|
113
|
+
const log = opts.log || gopts?.log || DEFAULT_LOGGER;
|
|
114
|
+
const debug = !!(null == opts.debug ? gopts?.debug : opts.debug);
|
|
115
|
+
const doBuild = null == gopts?.build ? false !== opts.build : false !== gopts?.build;
|
|
116
|
+
const model = opts.model || gopts?.model || {};
|
|
107
117
|
// Component defaults.
|
|
108
|
-
opts.cmp = (
|
|
109
|
-
|
|
110
|
-
|
|
118
|
+
opts.cmp = deep({
|
|
119
|
+
Copy: {
|
|
120
|
+
ignore: [/~$/]
|
|
121
|
+
}
|
|
122
|
+
}, gopts?.cmp, opts.cmp);
|
|
111
123
|
const ctx$ = {
|
|
112
124
|
folder,
|
|
113
125
|
content: null,
|
|
@@ -116,16 +128,17 @@ function Jostraca() {
|
|
|
116
128
|
opts,
|
|
117
129
|
log,
|
|
118
130
|
debug,
|
|
131
|
+
model,
|
|
119
132
|
};
|
|
120
133
|
return GLOBAL.jostraca.run(ctx$, async () => {
|
|
121
134
|
// Define phase
|
|
122
135
|
root();
|
|
123
136
|
const ctx$ = GLOBAL.jostraca.getStore();
|
|
124
|
-
// console.dir(ctx$.node, { depth: null })
|
|
125
137
|
// Build phase
|
|
126
138
|
const buildctx = {
|
|
127
139
|
root: ctx$.root,
|
|
128
140
|
fs,
|
|
141
|
+
vol: memfs?.vol,
|
|
129
142
|
folder,
|
|
130
143
|
current: {
|
|
131
144
|
folder: {
|
|
@@ -176,7 +189,16 @@ function Jostraca() {
|
|
|
176
189
|
await op.before(node, ctx$, buildctx);
|
|
177
190
|
if (node.children) {
|
|
178
191
|
for (let childnode of node.children) {
|
|
179
|
-
|
|
192
|
+
try {
|
|
193
|
+
await step(childnode, ctx$, buildctx);
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
console.log('JERR', childnode);
|
|
197
|
+
if (childnode.meta.callsite) {
|
|
198
|
+
err.callsite = childnode.meta.callsite;
|
|
199
|
+
}
|
|
200
|
+
throw err;
|
|
201
|
+
}
|
|
180
202
|
}
|
|
181
203
|
}
|
|
182
204
|
await op.after(node, ctx$, buildctx);
|
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/types.d.ts
CHANGED
package/dist/utility.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
declare function each(subject?: any[] | Object, // Iterate over subject.
|
|
2
|
-
|
|
2
|
+
spec?: {
|
|
3
3
|
mark?: boolean;
|
|
4
4
|
oval?: boolean;
|
|
5
5
|
sort?: boolean | string;
|
|
6
6
|
call?: boolean;
|
|
7
|
+
args?: any;
|
|
7
8
|
} | ((...a: any[]) => any), apply?: (...a: any[]) => any): any[];
|
|
8
9
|
declare function select(key: any, map: Record<string, Function>): any;
|
|
9
10
|
declare function getx(root: any, path: string | string[]): any;
|
package/dist/utility.js
CHANGED
|
@@ -16,26 +16,27 @@ exports.template = template;
|
|
|
16
16
|
exports.escre = escre;
|
|
17
17
|
// Iterate over arrays and objects (opinionated mutation!).
|
|
18
18
|
function each(subject, // Iterate over subject.
|
|
19
|
-
|
|
19
|
+
spec, apply) {
|
|
20
20
|
const isArray = Array.isArray(subject);
|
|
21
|
-
const hasFlags = null !=
|
|
22
|
-
apply = (hasFlags ? apply :
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
const hasFlags = null != spec && 'function' !== typeof spec;
|
|
22
|
+
apply = (hasFlags ? apply : spec);
|
|
23
|
+
const rspec = hasFlags ? spec : {};
|
|
24
|
+
const mark = null != rspec.mark ? rspec.mark : true;
|
|
25
|
+
const oval = null != rspec.oval ? rspec.oval : true;
|
|
26
|
+
const sort = null != rspec.sort ? rspec.sort : false;
|
|
27
|
+
const call = null != rspec.call ? rspec.call : false;
|
|
28
|
+
const args = null == rspec.args ? [] : Array.isArray(rspec.args) ? rspec.args : [rspec.args];
|
|
28
29
|
let out = [];
|
|
29
30
|
if (isArray) {
|
|
30
31
|
for (let fn of subject) {
|
|
31
|
-
out.push(
|
|
32
|
+
out.push(call && 'function' === typeof fn ? fn(...args) : fn);
|
|
32
33
|
}
|
|
33
|
-
out = true ===
|
|
34
|
-
out =
|
|
35
|
-
out = 'string' === typeof
|
|
36
|
-
out.sort((a, b) => (a?.[
|
|
37
|
-
a?.[
|
|
38
|
-
out =
|
|
34
|
+
out = true === sort && 1 < out.length ? out.sort() : out;
|
|
35
|
+
out = oval ? out.map((n) => (null != n && 'object' === typeof n) ? n : { val$: n }) : out;
|
|
36
|
+
out = 'string' === typeof sort ?
|
|
37
|
+
out.sort((a, b) => (a?.[sort] < b?.[sort] ? -1 :
|
|
38
|
+
a?.[sort] > b?.[sort] ? 1 : 0)) : out;
|
|
39
|
+
out = mark ? out
|
|
39
40
|
.map((n, i, _) => (_ = typeof n, (null != n && 'object' === _ ? (n.index$ = i) : null), n)) : out;
|
|
40
41
|
if ('function' === typeof apply) {
|
|
41
42
|
out = out.map((n, ...args) => apply(n, ...args));
|
|
@@ -47,21 +48,22 @@ flags, apply) {
|
|
|
47
48
|
return out;
|
|
48
49
|
}
|
|
49
50
|
let entries = Object.entries(subject);
|
|
50
|
-
if (
|
|
51
|
-
entries =
|
|
51
|
+
if (call) {
|
|
52
|
+
entries =
|
|
53
|
+
entries.map((n) => ((n[1] = 'function' === typeof n[1] ? n[1](...args) : n[1]), n));
|
|
52
54
|
}
|
|
53
|
-
if (
|
|
55
|
+
if (oval) {
|
|
54
56
|
out = entries.map((n, _) => (_ = typeof n[1],
|
|
55
57
|
(null != n[1] && 'object' === _) ? n[1] :
|
|
56
58
|
(n[1] = { key$: n[0], val$: n[1] }), n));
|
|
57
59
|
}
|
|
58
|
-
if (
|
|
60
|
+
if (mark) {
|
|
59
61
|
entries.map((n, _) => (_ = typeof n[1],
|
|
60
62
|
(null != n[1] && 'object' === _) ? (n[1].key$ = n[0]) : n[1], n));
|
|
61
63
|
}
|
|
62
|
-
if (1 < entries.length &&
|
|
64
|
+
if (1 < entries.length && sort) {
|
|
63
65
|
if (null != entries[0][1] && 'object' === typeof entries[0][1]) {
|
|
64
|
-
let sprop = 'string' ===
|
|
66
|
+
let sprop = 'string' === sort ? sort : 'key$';
|
|
65
67
|
entries.sort((a, b) => a[1]?.[sprop] < b[1]?.[sprop] ? -1 : b[1]?.[sprop] < a[1]?.[sprop] ? 1 : 0);
|
|
66
68
|
}
|
|
67
69
|
else {
|
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,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"}
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jostraca",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"main": "dist/jostraca.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/jostraca.d.ts",
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
],
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@hapi/code": "^9.0.3",
|
|
38
|
-
"@types/node": "22.10.
|
|
38
|
+
"@types/node": "22.10.1",
|
|
39
39
|
"esbuild": "^0.24.0",
|
|
40
|
-
"memfs": "^4.14.0",
|
|
41
40
|
"oxc-parser": "^0.38.0",
|
|
42
41
|
"typescript": "^5.7.2"
|
|
43
42
|
},
|
|
44
43
|
"peerDependencies": {
|
|
45
|
-
"jsonic": ">=2.15.2"
|
|
44
|
+
"jsonic": ">=2.15.2",
|
|
45
|
+
"memfs": ">=4"
|
|
46
46
|
}
|
|
47
47
|
}
|
package/src/cmp/Content.ts
CHANGED
|
@@ -11,7 +11,9 @@ const Content = cmp(function Content(props: any, children: any) {
|
|
|
11
11
|
null != props.src ? props.src :
|
|
12
12
|
'string' === typeof children ? children : ''
|
|
13
13
|
|
|
14
|
-
src = template(src, props.ctx$.model
|
|
14
|
+
src = template(src, props.ctx$.model, {
|
|
15
|
+
replace: props.replace
|
|
16
|
+
})
|
|
15
17
|
node.content = src
|
|
16
18
|
node.name = props.name
|
|
17
19
|
})
|
package/src/jostraca.ts
CHANGED
|
@@ -10,6 +10,10 @@ import Path from 'node:path'
|
|
|
10
10
|
|
|
11
11
|
import { AsyncLocalStorage } from 'node:async_hooks'
|
|
12
12
|
|
|
13
|
+
import { util as JsonicUtil } from 'jsonic'
|
|
14
|
+
|
|
15
|
+
import { memfs as MemFs } from 'memfs'
|
|
16
|
+
|
|
13
17
|
|
|
14
18
|
import type {
|
|
15
19
|
JostracaOptions,
|
|
@@ -36,6 +40,9 @@ import {
|
|
|
36
40
|
} from './utility'
|
|
37
41
|
|
|
38
42
|
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
39
46
|
import { Content } from './cmp/Content'
|
|
40
47
|
import { Line } from './cmp/Line'
|
|
41
48
|
import { Slot } from './cmp/Slot'
|
|
@@ -57,6 +64,7 @@ import { ContentOp } from './op/ContentOp'
|
|
|
57
64
|
import { NoneOp } from './op/NoneOp'
|
|
58
65
|
|
|
59
66
|
|
|
67
|
+
const deep: any = JsonicUtil.deep
|
|
60
68
|
|
|
61
69
|
const GLOBAL = (global as any)
|
|
62
70
|
|
|
@@ -70,22 +78,32 @@ const DEFAULT_LOGGER = {
|
|
|
70
78
|
}
|
|
71
79
|
|
|
72
80
|
|
|
73
|
-
function Jostraca() {
|
|
81
|
+
function Jostraca(gopts?: JostracaOptions) {
|
|
74
82
|
GLOBAL.jostraca = new AsyncLocalStorage()
|
|
75
83
|
|
|
76
84
|
|
|
77
85
|
async function generate(opts: JostracaOptions, root: Function) {
|
|
78
|
-
const
|
|
79
|
-
const
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
const useMemFS = opts.mem || gopts?.mem
|
|
87
|
+
const memfs = useMemFS ? MemFs(opts.vol || gopts?.vol || {}) : undefined
|
|
88
|
+
const fs = opts.fs || gopts?.fs || memfs?.fs || Fs
|
|
89
|
+
const meta = {
|
|
90
|
+
...(gopts?.meta || {}),
|
|
91
|
+
...(opts.meta || {}),
|
|
92
|
+
}
|
|
93
|
+
const folder = opts.folder || gopts?.folder || '.'
|
|
94
|
+
const log: Log = opts.log || gopts?.log || DEFAULT_LOGGER
|
|
95
|
+
const debug: boolean = !!(null == opts.debug ? gopts?.debug : opts.debug)
|
|
96
|
+
|
|
97
|
+
const doBuild: boolean = null == gopts?.build ? false !== opts.build : false !== gopts?.build
|
|
98
|
+
|
|
99
|
+
const model = opts.model || gopts?.model || {}
|
|
84
100
|
|
|
85
101
|
// Component defaults.
|
|
86
|
-
opts.cmp = (
|
|
87
|
-
|
|
88
|
-
|
|
102
|
+
opts.cmp = deep({
|
|
103
|
+
Copy: {
|
|
104
|
+
ignore: [/~$/]
|
|
105
|
+
}
|
|
106
|
+
}, gopts?.cmp, opts.cmp)
|
|
89
107
|
|
|
90
108
|
const ctx$ = {
|
|
91
109
|
folder,
|
|
@@ -95,6 +113,7 @@ function Jostraca() {
|
|
|
95
113
|
opts,
|
|
96
114
|
log,
|
|
97
115
|
debug,
|
|
116
|
+
model,
|
|
98
117
|
}
|
|
99
118
|
|
|
100
119
|
return GLOBAL.jostraca.run(ctx$, async () => {
|
|
@@ -103,13 +122,11 @@ function Jostraca() {
|
|
|
103
122
|
|
|
104
123
|
const ctx$ = GLOBAL.jostraca.getStore()
|
|
105
124
|
|
|
106
|
-
// console.dir(ctx$.node, { depth: null })
|
|
107
|
-
|
|
108
125
|
// Build phase
|
|
109
|
-
|
|
110
126
|
const buildctx = {
|
|
111
127
|
root: ctx$.root,
|
|
112
128
|
fs,
|
|
129
|
+
vol: memfs?.vol,
|
|
113
130
|
folder,
|
|
114
131
|
current: {
|
|
115
132
|
folder: {
|
|
@@ -177,7 +194,16 @@ function Jostraca() {
|
|
|
177
194
|
|
|
178
195
|
if (node.children) {
|
|
179
196
|
for (let childnode of node.children) {
|
|
180
|
-
|
|
197
|
+
try {
|
|
198
|
+
await step(childnode, ctx$, buildctx)
|
|
199
|
+
}
|
|
200
|
+
catch (err: any) {
|
|
201
|
+
console.log('JERR', childnode)
|
|
202
|
+
if (childnode.meta.callsite) {
|
|
203
|
+
err.callsite = childnode.meta.callsite
|
|
204
|
+
}
|
|
205
|
+
throw err
|
|
206
|
+
}
|
|
181
207
|
}
|
|
182
208
|
}
|
|
183
209
|
|
|
@@ -246,7 +272,6 @@ function cmp(component: Function): Component {
|
|
|
246
272
|
node.meta.debug.callsite = new Error('component: ' + component.name).stack
|
|
247
273
|
}
|
|
248
274
|
|
|
249
|
-
|
|
250
275
|
const siblings = props.ctx$.children = (props.ctx$.children || [])
|
|
251
276
|
siblings.push(node)
|
|
252
277
|
|
|
@@ -298,6 +323,8 @@ export {
|
|
|
298
323
|
template,
|
|
299
324
|
escre,
|
|
300
325
|
|
|
326
|
+
deep,
|
|
327
|
+
|
|
301
328
|
Project,
|
|
302
329
|
Content,
|
|
303
330
|
File,
|
package/src/types.ts
CHANGED
package/src/utility.ts
CHANGED
|
@@ -4,43 +4,45 @@
|
|
|
4
4
|
// Iterate over arrays and objects (opinionated mutation!).
|
|
5
5
|
function each(
|
|
6
6
|
subject?: any[] | Object, // Iterate over subject.
|
|
7
|
-
|
|
7
|
+
spec?: { // Optional, flags to control output.
|
|
8
8
|
mark?: boolean, // Mark items (key$ or index$), default: true,
|
|
9
9
|
oval?: boolean, // Convert non-object values into synthetic objects, default: true
|
|
10
10
|
sort?: boolean | string, // Sort items, optionally by named prop, default: false
|
|
11
11
|
call?: boolean, // Call items, if they are functions, default: false
|
|
12
|
+
args?: any, // Call args, if call items are functions
|
|
12
13
|
} | ((...a: any[]) => any),
|
|
13
14
|
apply?: (...a: any[]) => any) // Optional Function to apply to each item.
|
|
14
15
|
{
|
|
15
16
|
const isArray = Array.isArray(subject)
|
|
16
17
|
|
|
17
|
-
const hasFlags = null !=
|
|
18
|
-
apply = (hasFlags ? apply :
|
|
18
|
+
const hasFlags = null != spec && 'function' !== typeof spec
|
|
19
|
+
apply = (hasFlags ? apply : spec) as ((...a: any[]) => any)
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
const rspec = hasFlags ? spec : {}
|
|
22
|
+
const mark = null != rspec.mark ? rspec.mark : true
|
|
23
|
+
const oval = null != rspec.oval ? rspec.oval : true
|
|
24
|
+
const sort = null != rspec.sort ? rspec.sort : false
|
|
25
|
+
const call = null != rspec.call ? rspec.call : false
|
|
26
|
+
const args = null == rspec.args ? [] : Array.isArray(rspec.args) ? rspec.args : [rspec.args]
|
|
25
27
|
|
|
26
28
|
let out: any[] = []
|
|
27
29
|
|
|
28
30
|
if (isArray) {
|
|
29
31
|
for (let fn of subject) {
|
|
30
|
-
out.push(
|
|
32
|
+
out.push(call && 'function' === typeof fn ? fn(...args) : fn)
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
out = true ===
|
|
35
|
+
out = true === sort && 1 < out.length ? out.sort() : out
|
|
34
36
|
|
|
35
|
-
out =
|
|
37
|
+
out = oval ? out.map((n: any) =>
|
|
36
38
|
(null != n && 'object' === typeof n) ? n : { val$: n }) : out
|
|
37
39
|
|
|
38
|
-
out = 'string' === typeof
|
|
40
|
+
out = 'string' === typeof sort ?
|
|
39
41
|
out.sort((a: any, b: any) =>
|
|
40
|
-
(a?.[
|
|
41
|
-
a?.[
|
|
42
|
+
(a?.[sort as string] < b?.[sort as string] ? -1 :
|
|
43
|
+
a?.[sort as string] > b?.[sort as string] ? 1 : 0)) : out
|
|
42
44
|
|
|
43
|
-
out =
|
|
45
|
+
out = mark ? out
|
|
44
46
|
.map((n: any, i: number, _: any) =>
|
|
45
47
|
(_ = typeof n, (null != n && 'object' === _ ? (n.index$ = i) : null), n)) : out
|
|
46
48
|
|
|
@@ -60,26 +62,28 @@ function each(
|
|
|
60
62
|
|
|
61
63
|
let entries: any = Object.entries(subject as any)
|
|
62
64
|
|
|
63
|
-
if (
|
|
64
|
-
entries =
|
|
65
|
+
if (call) {
|
|
66
|
+
entries =
|
|
67
|
+
entries.map((n: any[]) =>
|
|
68
|
+
((n[1] = 'function' === typeof n[1] ? n[1](...args) : n[1]), n))
|
|
65
69
|
}
|
|
66
70
|
|
|
67
|
-
if (
|
|
71
|
+
if (oval) {
|
|
68
72
|
out = entries.map((n: any[], _: any) =>
|
|
69
73
|
(_ = typeof n[1],
|
|
70
74
|
(null != n[1] && 'object' === _) ? n[1] :
|
|
71
75
|
(n[1] = { key$: n[0], val$: n[1] }), n))
|
|
72
76
|
}
|
|
73
77
|
|
|
74
|
-
if (
|
|
78
|
+
if (mark) {
|
|
75
79
|
entries.map((n: any[], _: any) =>
|
|
76
80
|
(_ = typeof n[1],
|
|
77
81
|
(null != n[1] && 'object' === _) ? (n[1].key$ = n[0]) : n[1], n))
|
|
78
82
|
}
|
|
79
83
|
|
|
80
|
-
if (1 < entries.length &&
|
|
84
|
+
if (1 < entries.length && sort) {
|
|
81
85
|
if (null != entries[0][1] && 'object' === typeof entries[0][1]) {
|
|
82
|
-
let sprop = 'string' ===
|
|
86
|
+
let sprop = 'string' === sort ? sort : 'key$'
|
|
83
87
|
entries.sort((a: any, b: any) =>
|
|
84
88
|
a[1]?.[sprop] < b[1]?.[sprop] ? -1 : b[1]?.[sprop] < a[1]?.[sprop] ? 1 : 0)
|
|
85
89
|
}
|