jostraca 0.7.2 → 0.7.3
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 +16 -0
- package/dist/cmp/Fragment.d.ts +2 -0
- package/dist/cmp/Fragment.js +11 -0
- package/dist/cmp/Fragment.js.map +1 -0
- package/dist/cmp/Inject.d.ts +2 -0
- package/dist/cmp/Inject.js +14 -0
- package/dist/cmp/Inject.js.map +1 -0
- package/dist/jostraca.d.ts +3 -1
- package/dist/jostraca.js +10 -1
- package/dist/jostraca.js.map +1 -1
- package/dist/op/FragmentOp.d.ts +6 -0
- package/dist/op/FragmentOp.js +15 -0
- package/dist/op/FragmentOp.js.map +1 -0
- package/dist/op/InjectOp.d.ts +6 -0
- package/dist/op/InjectOp.js +47 -0
- package/dist/op/InjectOp.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utility.d.ts +1 -0
- package/dist/utility.js +128 -66
- package/dist/utility.js.map +1 -1
- package/gen/readme.js +46 -0
- package/gen/readme.js~ +1 -0
- package/package.json +5 -3
- package/src/cmp/Fragment.ts +19 -0
- package/src/cmp/Inject.ts +22 -0
- package/src/jostraca.ts +9 -0
- package/src/op/FragmentOp.ts +25 -0
- package/src/op/InjectOp.ts +64 -0
- package/src/utility.ts +140 -74
package/README.md
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Fragment = void 0;
|
|
4
|
+
const jostraca_1 = require("../jostraca");
|
|
5
|
+
const Fragment = (0, jostraca_1.cmp)(function Fragment(props, _children) {
|
|
6
|
+
const node = props.ctx$.node;
|
|
7
|
+
node.kind = 'fragment';
|
|
8
|
+
node.from = props.from;
|
|
9
|
+
});
|
|
10
|
+
exports.Fragment = Fragment;
|
|
11
|
+
//# sourceMappingURL=Fragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fragment.js","sourceRoot":"","sources":["../../src/cmp/Fragment.ts"],"names":[],"mappings":";;;AAGA,0CAAiC;AAGjC,MAAM,QAAQ,GAAG,IAAA,cAAG,EAAC,SAAS,QAAQ,CAAC,KAAU,EAAE,SAAc;IAC/D,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;AACxB,CAAC,CAAC,CAAA;AAKA,4BAAQ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Inject = void 0;
|
|
4
|
+
const jostraca_1 = require("../jostraca");
|
|
5
|
+
const Inject = (0, jostraca_1.cmp)(function Inject(props, children) {
|
|
6
|
+
const node = props.ctx$.node;
|
|
7
|
+
node.kind = 'inject';
|
|
8
|
+
node.name = props.name;
|
|
9
|
+
node.meta.markers = props.markers || ['#--START--#\n', '\n#--END--#'];
|
|
10
|
+
node.exclude = null == props.exclude ? node.exclude : !!props.exclude;
|
|
11
|
+
(0, jostraca_1.each)(children);
|
|
12
|
+
});
|
|
13
|
+
exports.Inject = Inject;
|
|
14
|
+
//# sourceMappingURL=Inject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../src/cmp/Inject.ts"],"names":[],"mappings":";;;AAGA,0CAAuC;AAGvC,MAAM,MAAM,GAAG,IAAA,cAAG,EAAC,SAAS,MAAM,CAAC,KAAU,EAAE,QAAa;IAC1D,MAAM,IAAI,GAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;IAElC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;IACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAA;IACrE,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;IAErE,IAAA,eAAI,EAAC,QAAQ,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA;AAKA,wBAAM"}
|
package/dist/jostraca.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names
|
|
|
3
3
|
import { Content } from './cmp/Content';
|
|
4
4
|
import { Copy } from './cmp/Copy';
|
|
5
5
|
import { File } from './cmp/File';
|
|
6
|
+
import { Inject } from './cmp/Inject';
|
|
7
|
+
import { Fragment } from './cmp/Fragment';
|
|
6
8
|
import { Folder } from './cmp/Folder';
|
|
7
9
|
import { Project } from './cmp/Project';
|
|
8
10
|
declare function Jostraca(): {
|
|
@@ -10,4 +12,4 @@ declare function Jostraca(): {
|
|
|
10
12
|
};
|
|
11
13
|
declare function cmp(component: Function): Component;
|
|
12
14
|
export type { JostracaOptions, Component, Node, };
|
|
13
|
-
export { Jostraca, cmp, each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, Project, Content, File, Folder, Copy, };
|
|
15
|
+
export { Jostraca, cmp, each, select, get, getx, camelify, snakify, kebabify, cmap, vmap, names, Project, Content, File, Inject, Fragment, Folder, Copy, };
|
package/dist/jostraca.js
CHANGED
|
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.Copy = exports.Folder = exports.File = exports.Content = exports.Project = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.select = exports.each = void 0;
|
|
30
|
+
exports.Copy = exports.Folder = exports.Fragment = exports.Inject = exports.File = exports.Content = exports.Project = exports.names = exports.vmap = exports.cmap = exports.kebabify = exports.snakify = exports.camelify = exports.getx = exports.get = exports.select = exports.each = void 0;
|
|
31
31
|
exports.Jostraca = Jostraca;
|
|
32
32
|
exports.cmp = cmp;
|
|
33
33
|
const Fs = __importStar(require("node:fs"));
|
|
@@ -50,6 +50,10 @@ const Copy_1 = require("./cmp/Copy");
|
|
|
50
50
|
Object.defineProperty(exports, "Copy", { enumerable: true, get: function () { return Copy_1.Copy; } });
|
|
51
51
|
const File_1 = require("./cmp/File");
|
|
52
52
|
Object.defineProperty(exports, "File", { enumerable: true, get: function () { return File_1.File; } });
|
|
53
|
+
const Inject_1 = require("./cmp/Inject");
|
|
54
|
+
Object.defineProperty(exports, "Inject", { enumerable: true, get: function () { return Inject_1.Inject; } });
|
|
55
|
+
const Fragment_1 = require("./cmp/Fragment");
|
|
56
|
+
Object.defineProperty(exports, "Fragment", { enumerable: true, get: function () { return Fragment_1.Fragment; } });
|
|
53
57
|
const Folder_1 = require("./cmp/Folder");
|
|
54
58
|
Object.defineProperty(exports, "Folder", { enumerable: true, get: function () { return Folder_1.Folder; } });
|
|
55
59
|
const Project_1 = require("./cmp/Project");
|
|
@@ -58,6 +62,8 @@ const CopyOp_1 = require("./op/CopyOp");
|
|
|
58
62
|
const ProjectOp_1 = require("./op/ProjectOp");
|
|
59
63
|
const FolderOp_1 = require("./op/FolderOp");
|
|
60
64
|
const FileOp_1 = require("./op/FileOp");
|
|
65
|
+
const InjectOp_1 = require("./op/InjectOp");
|
|
66
|
+
const FragmentOp_1 = require("./op/FragmentOp");
|
|
61
67
|
const ContentOp_1 = require("./op/ContentOp");
|
|
62
68
|
const NoneOp_1 = require("./op/NoneOp");
|
|
63
69
|
const GLOBAL = global;
|
|
@@ -153,6 +159,8 @@ function Jostraca() {
|
|
|
153
159
|
project: ProjectOp_1.ProjectOp,
|
|
154
160
|
folder: FolderOp_1.FolderOp,
|
|
155
161
|
file: FileOp_1.FileOp,
|
|
162
|
+
inject: InjectOp_1.InjectOp,
|
|
163
|
+
fragment: FragmentOp_1.FragmentOp,
|
|
156
164
|
content: ContentOp_1.ContentOp,
|
|
157
165
|
copy: CopyOp_1.CopyOp,
|
|
158
166
|
none: NoneOp_1.NoneOp,
|
|
@@ -173,6 +181,7 @@ function cmp(component) {
|
|
|
173
181
|
kind: 'none',
|
|
174
182
|
children: [],
|
|
175
183
|
path: [],
|
|
184
|
+
meta: {},
|
|
176
185
|
};
|
|
177
186
|
const parent = props.ctx$.node = (props.ctx$.node || node);
|
|
178
187
|
const siblings = props.ctx$.children = (props.ctx$.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":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6OlD,4BAAQ;AACR,kBAAG;AA5OL,4CAA6B;AAC7B,0DAA4B;AAE5B,uDAAoD;AAWpD,uCAWkB;AAqNhB,qFA/NA,cAAI,OA+NA;AACJ,uFA/NA,gBAAM,OA+NA;AACN,oFA/NA,aAAG,OA+NA;AACH,qFA/NA,cAAI,OA+NA;AACJ,yFA/NA,kBAAQ,OA+NA;AACR,wFA/NA,iBAAO,OA+NA;AACP,yFA/NA,kBAAQ,OA+NA;AACR,qFA/NA,cAAI,OA+NA;AACJ,qFA/NA,cAAI,OA+NA;AACJ,sFA/NA,eAAK,OA+NA;AA3NP,2CAAuC;AA8NrC,wFA9NO,iBAAO,OA8NP;AA7NT,qCAAiC;AAkO/B,qFAlOO,WAAI,OAkOP;AAjON,qCAAiC;AA6N/B,qFA7NO,WAAI,OA6NP;AA5NN,yCAAqC;AA6NnC,uFA7NO,eAAM,OA6NP;AA5NR,6CAAyC;AA6NvC,yFA7NO,mBAAQ,OA6NP;AA5NV,yCAAqC;AA6NnC,uFA7NO,eAAM,OA6NP;AA5NR,2CAAuC;AAuNrC,wFAvNO,iBAAO,OAuNP;AArNT,wCAAoC;AACpC,8CAA0C;AAC1C,4CAAwC;AACxC,wCAAoC;AACpC,4CAAwC;AACxC,gDAA4C;AAC5C,8CAA0C;AAC1C,wCAAoC;AAIpC,MAAM,MAAM,GAAI,MAAc,CAAA;AAI9B,SAAS,QAAQ;IACf,MAAM,CAAC,QAAQ,GAAG,IAAI,oCAAiB,EAAE,CAAA;IAGzC,KAAK,UAAU,QAAQ,CAAC,IAAqB,EAAE,IAAc;QAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAA;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAA;QAEjC,MAAM,IAAI,GAAG;YACX,MAAM;YACN,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,EAAE;SACH,CAAA;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC;gBACH,eAAe;gBACf,IAAI,EAAE,CAAA;gBAEN,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;gBAEvC,0CAA0C;gBAE1C,cAAc;gBAEd,MAAM,QAAQ,GAAG;oBACf,EAAE;oBACF,MAAM;oBACN,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,MAAM,EAAE,MAAM;yBACf;qBACF;iBACF,CAAA;gBACD,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAC3B,OAAO,QAAQ,CAAA;YACjB,CAAC;YACD,OAAO,GAAQ,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;gBACnC,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAGD,KAAK,UAAU,KAAK,CAAC,IAAS,EAAE,QAAa;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QAEzB,IAAI,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QACpC,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QAErE,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CACpC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;QACtB,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,mBAAmB;YACnB,gDAAgD;QAClD,CAAC;QAED,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,uCAAuC;QAEvC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAGnC,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9D,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;gBAChB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;aAC/B,CAAA;YACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACjF,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,gDAAgD;QAClD,CAAC;QAGD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAC1C,CAAC;IAGD,KAAK,UAAU,IAAI,CAAC,IAAU,EAAE,IAAS,EAAE,QAAa;QACtD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7C,CAAC;YAED,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAErC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;YAED,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM,GAAG,CAAA;YACX,CAAC;YACD,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;YACnB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACpB,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAGD,MAAM,KAAK,GAA0B;QACnC,OAAO,EAAE,qBAAS;QAClB,MAAM,EAAE,mBAAQ;QAChB,IAAI,EAAE,eAAM;QACZ,MAAM,EAAE,mBAAQ;QAChB,QAAQ,EAAE,uBAAU;QACpB,OAAO,EAAE,qBAAS;QAClB,IAAI,EAAE,eAAM;QACZ,IAAI,EAAE,eAAM;KACb,CAAA;IAGD,OAAO;QACL,QAAQ;KACT,CAAA;AACH,CAAC;AAGD,SAAS,GAAG,CAAC,SAAmB;IAC9B,MAAM,EAAE,GAAG,CAAC,KAAU,EAAE,QAAc,EAAE,EAAE;QACxC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAA;QACnB,IAAI,IAAI,IAAI,KAAK,IAAI,QAAQ,KAAK,OAAO,KAAK,EAAE,CAAC;YAC/C,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACvC,QAAQ,GAAG,UAAU,KAAK,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QAEjE,IAAI,IAAI,GAAS;YACf,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;SACT,CAAA;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;QAClE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEnB,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,QAAQ,KAAK,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1B,qDAAqD;YACrD,kBAAkB;QACpB,CAAC;QAED,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAEpC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;QAExB,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5D,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FragmentOp = void 0;
|
|
4
|
+
const FragmentOp = {
|
|
5
|
+
before(node, _ctx$, buildctx) {
|
|
6
|
+
},
|
|
7
|
+
after(node, _ctx$, buildctx) {
|
|
8
|
+
const { fs } = buildctx;
|
|
9
|
+
const frompath = node.from;
|
|
10
|
+
const src = fs.readFileSync(frompath, 'utf8');
|
|
11
|
+
buildctx.current.file.content.push(src);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
exports.FragmentOp = FragmentOp;
|
|
15
|
+
//# sourceMappingURL=FragmentOp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FragmentOp.js","sourceRoot":"","sources":["../../src/op/FragmentOp.ts"],"names":[],"mappings":";;;AAMA,MAAM,UAAU,GAAG;IAEjB,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;IAC5C,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QACzC,MAAM,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAA;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAA;QACpC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC7C,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;CAEF,CAAA;AAIC,gCAAU"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InjectOp = void 0;
|
|
4
|
+
const InjectOp = {
|
|
5
|
+
before(node, _ctx$, buildctx) {
|
|
6
|
+
const cfile = buildctx.current.file = node;
|
|
7
|
+
cfile.filepath = buildctx.current.folder.path.join('/') + '/' + node.name;
|
|
8
|
+
cfile.content = [];
|
|
9
|
+
},
|
|
10
|
+
after(node, _ctx$, buildctx) {
|
|
11
|
+
const { fs, info, current } = buildctx;
|
|
12
|
+
const cfile = current.file;
|
|
13
|
+
let content = cfile.content.join('');
|
|
14
|
+
const rpath = cfile.path.join('/'); // NOT Path.sep - needs to be canonical
|
|
15
|
+
let exclude = node.exclude;
|
|
16
|
+
if (info && null == exclude) {
|
|
17
|
+
exclude = info.exclude.includes(rpath);
|
|
18
|
+
if (!exclude) {
|
|
19
|
+
const stat = fs.statSync(cfile.filepath, { throwIfNoEntry: false });
|
|
20
|
+
if (stat) {
|
|
21
|
+
let timedelta = stat.mtimeMs - info.last;
|
|
22
|
+
if ((timedelta > 0 && timedelta < stat.mtimeMs)) {
|
|
23
|
+
exclude = true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// console.log('FILE-a write', rpath, exclude) // , content.substring(0, 111))
|
|
29
|
+
if (!exclude) {
|
|
30
|
+
let src = fs.readFileSync(cfile.filepath, 'utf8');
|
|
31
|
+
content = node.meta.markers.join(content);
|
|
32
|
+
// console.log(content)
|
|
33
|
+
let re = new RegExp(node.meta.markers.join('(.*?)'), 'sg');
|
|
34
|
+
// console.log(re)
|
|
35
|
+
src = src.replace(re, content);
|
|
36
|
+
// console.log(src)
|
|
37
|
+
fs.writeFileSync(cfile.filepath, src, { flush: true });
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
if (!info.exclude.includes(rpath)) {
|
|
41
|
+
info.exclude.push(rpath);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
exports.InjectOp = InjectOp;
|
|
47
|
+
//# sourceMappingURL=InjectOp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InjectOp.js","sourceRoot":"","sources":["../../src/op/InjectOp.ts"],"names":[],"mappings":";;;AAMA,MAAM,QAAQ,GAAG;IAEf,MAAM,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QAC1C,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,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QACzE,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IAGD,KAAK,CAAC,IAAU,EAAE,KAAU,EAAE,QAAa;QACzC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QAC1B,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAC,uCAAuC;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE1B,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnE,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;oBACxC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChD,OAAO,GAAG,IAAI,CAAA;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,8EAA8E;QAE9E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAEjD,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACzC,uBAAuB;YAEvB,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;YAC1D,kBAAkB;YAElB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YAC9B,mBAAmB;YAEnB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;CAEF,CAAA;AAIC,4BAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/jostraca.ts","../src/utility.ts","../src/cmp/content.ts","../src/cmp/copy.ts","../src/cmp/file.ts","../src/cmp/folder.ts","../src/cmp/project.ts","../src/op/contentop.ts","../src/op/copyop.ts","../src/op/fileop.ts","../src/op/folderop.ts","../src/op/noneop.ts","../src/op/projectop.ts"],"version":"5.6.2"}
|
|
1
|
+
{"root":["../src/jostraca.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/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.6.2"}
|
package/dist/utility.d.ts
CHANGED
package/dist/utility.js
CHANGED
|
@@ -50,96 +50,158 @@ function select(key, map) {
|
|
|
50
50
|
return fn ? fn() : undefined;
|
|
51
51
|
}
|
|
52
52
|
function getx(root, path) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
if (null == root || 'object' !== typeof root) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
let tokens;
|
|
57
|
+
if (Array.isArray(path)) {
|
|
58
|
+
tokens = path.map(p => '' + p);
|
|
59
|
+
}
|
|
60
|
+
else if ('string' === typeof path) {
|
|
61
|
+
// A B C D E
|
|
62
|
+
let tre = /\s*("(\\.|[^"\\])*"|[\w\d_]+|\s+|[^\w\d_]+)\s*/g;
|
|
63
|
+
// A: prefixing space and/or comma
|
|
64
|
+
// B: quoted string
|
|
65
|
+
// C: atom
|
|
66
|
+
// D: space
|
|
67
|
+
// E: operator
|
|
68
|
+
tokens = [];
|
|
69
|
+
let t = null;
|
|
70
|
+
while (t = tre.exec(path)) {
|
|
71
|
+
if (!t[1].match(/\s+|\./)) {
|
|
72
|
+
let token = t[1];
|
|
73
|
+
token = token.match(/^"[^"]+"$/) ? token.substring(1, token.length - 1) : token;
|
|
74
|
+
tokens.push(token);
|
|
75
|
+
}
|
|
61
76
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
// console.log('GETX', JSON.stringify(root).replace(/["\n]/g, ''))
|
|
82
|
+
// console.log('TOKENS', tokens)
|
|
83
|
+
let node = root;
|
|
84
|
+
let out = undefined;
|
|
85
|
+
let ancestry = false;
|
|
86
|
+
for (let i = 0; i < tokens.length && undefined !== node; i++) {
|
|
87
|
+
let t0 = tokens[i];
|
|
88
|
+
let t1 = tokens[i + 1];
|
|
89
|
+
// let what = ''
|
|
90
|
+
// console.log('PART-S ', ancestry ? ':' : ' ', i, t0 + '|' + t1 + '|' + tokens.slice(i + 2),
|
|
91
|
+
// ' N=', JSON.stringify(node || '').replace(/["\n]/g, ''),
|
|
92
|
+
// ' O=', JSON.stringify(out || '').replace(/["\n]/g, ''))
|
|
93
|
+
if (t1 && t1.match(/=|!=/)) {
|
|
94
|
+
// what = 'O'
|
|
95
|
+
let val = node[t0];
|
|
96
|
+
let arg = tokens[i + 2];
|
|
68
97
|
const argtype = typeof arg;
|
|
69
98
|
arg =
|
|
70
99
|
'true' === arg ? true :
|
|
71
100
|
'false' === arg ? false :
|
|
72
101
|
'string' === argtype ?
|
|
73
102
|
(arg.match(/^"[^"]+"$/) ? arg.substring(1, arg.length - 1) : arg) : arg;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
parents.push(node);
|
|
77
|
-
node = {}; // virtual node so that ^ works consistently
|
|
78
|
-
continue partloop;
|
|
79
|
-
}
|
|
80
|
-
else if ('^' === op && '' === part && '' !== arg) {
|
|
81
|
-
node = parents[parents.length - Number(arg)];
|
|
82
|
-
continue partloop;
|
|
83
|
-
}
|
|
84
|
-
else if ('?' === op[0]) {
|
|
85
|
-
// no property name
|
|
86
|
-
arg = (1 < op.length ? op.substring(1) : '') + arg;
|
|
87
|
-
node = Array.isArray(val) ?
|
|
88
|
-
each(val).filter((n) => (null != getx(n, arg))) :
|
|
89
|
-
each(val).filter((n) => (null != getx(n, arg)))
|
|
90
|
-
.reduce((a, n) => (a[n.key$] = n, delete n.key$, a), {});
|
|
91
|
-
continue partloop;
|
|
92
|
-
}
|
|
93
|
-
if (null == val)
|
|
94
|
-
return undefined;
|
|
95
|
-
// const valtype = typeof val
|
|
96
|
-
val = Array.isArray(val) ? val.length :
|
|
97
|
-
'object' === typeof val ? Object.keys(val).filter(k => !k.includes('$')).length :
|
|
98
|
-
val;
|
|
99
|
-
switch (op) {
|
|
103
|
+
let pass = false;
|
|
104
|
+
switch (t1) {
|
|
100
105
|
case '<':
|
|
101
|
-
if (
|
|
102
|
-
|
|
106
|
+
if (val < arg)
|
|
107
|
+
pass = true;
|
|
103
108
|
break;
|
|
104
109
|
case '<=':
|
|
105
|
-
if (
|
|
106
|
-
|
|
110
|
+
if (val <= arg)
|
|
111
|
+
pass = true;
|
|
107
112
|
break;
|
|
108
113
|
case '>':
|
|
109
|
-
if (
|
|
110
|
-
|
|
114
|
+
if (val > arg)
|
|
115
|
+
pass = true;
|
|
111
116
|
break;
|
|
112
117
|
case '>=':
|
|
113
|
-
if (
|
|
114
|
-
|
|
118
|
+
if (val >= arg)
|
|
119
|
+
pass = true;
|
|
115
120
|
break;
|
|
116
121
|
case '=':
|
|
117
|
-
if (
|
|
118
|
-
|
|
122
|
+
if (val == arg)
|
|
123
|
+
pass = true;
|
|
119
124
|
break;
|
|
120
125
|
case '==':
|
|
121
|
-
if (
|
|
122
|
-
|
|
126
|
+
if (val === arg)
|
|
127
|
+
pass = true;
|
|
123
128
|
break;
|
|
124
129
|
case '!=':
|
|
125
|
-
if (
|
|
126
|
-
|
|
130
|
+
if (val != arg)
|
|
131
|
+
pass = true;
|
|
127
132
|
break;
|
|
128
133
|
case '~':
|
|
129
|
-
if (
|
|
130
|
-
|
|
134
|
+
if (String(val).match(RegExp(arg)))
|
|
135
|
+
pass = true;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
if (pass) {
|
|
139
|
+
i += 2;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
node = undefined;
|
|
143
|
+
}
|
|
144
|
+
out = (ancestry && undefined !== node) ? out : node;
|
|
145
|
+
}
|
|
146
|
+
// Retain ancestry in result - getx({a:{b:1}},'a:b'}) === {a:{b:1}}
|
|
147
|
+
else if (':' === t1) {
|
|
148
|
+
// what = 'D'
|
|
149
|
+
if ('=' !== tokens[i + 2]) {
|
|
150
|
+
out = !ancestry ? node : out;
|
|
151
|
+
node = node[t0];
|
|
152
|
+
if (undefined === node) {
|
|
153
|
+
out = undefined;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
ancestry = true;
|
|
157
|
+
i++;
|
|
158
|
+
}
|
|
159
|
+
else if ('?' === t0) {
|
|
160
|
+
// what = '?'
|
|
161
|
+
let ftokens = tokens.slice(i + 1);
|
|
162
|
+
// console.log('FTOKENS A', ftokens)
|
|
163
|
+
// Two adjacent values marks the end of the filter
|
|
164
|
+
// TODO: not great, find a better way
|
|
165
|
+
let j = 0;
|
|
166
|
+
for (; j < ftokens.length; j++) {
|
|
167
|
+
if (ftokens[j] && ftokens[j].match(/[\w\d_]+/) &&
|
|
168
|
+
ftokens[j + 1] && ftokens[j + 1].match(/[\w\d_]+/)) {
|
|
169
|
+
j++;
|
|
131
170
|
break;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
ftokens.length = j;
|
|
174
|
+
// console.log('FTOKENS B', ftokens)
|
|
175
|
+
out = each(node)
|
|
176
|
+
.filter((child) => undefined != getx(child, ftokens));
|
|
177
|
+
if (null !== node && 'object' === typeof node && !Array.isArray(node)) {
|
|
178
|
+
out = out.reduce((a, n) => (a[n.key$] = n, delete n.key$, a), {});
|
|
179
|
+
}
|
|
180
|
+
node = out;
|
|
181
|
+
i += ftokens.length;
|
|
182
|
+
}
|
|
183
|
+
else if (null != t1) {
|
|
184
|
+
// what = 'N'
|
|
185
|
+
// console.log('NNN', dot, t0, out, node)
|
|
186
|
+
// out = (dot && undefined !== node) ? out : node
|
|
187
|
+
node = node[t0];
|
|
188
|
+
if (ancestry) {
|
|
189
|
+
ancestry = false;
|
|
190
|
+
out = undefined !== node ? out : undefined;
|
|
191
|
+
node = out;
|
|
137
192
|
}
|
|
138
193
|
}
|
|
139
|
-
|
|
140
|
-
|
|
194
|
+
else {
|
|
195
|
+
// what = 'M'
|
|
196
|
+
node = node[t0];
|
|
197
|
+
out = (ancestry && undefined !== node) ? out : node;
|
|
198
|
+
}
|
|
199
|
+
// console.log('PART-E', what,
|
|
200
|
+
// ancestry ? ':' : ' ', i, t0 + '|' + t1 + '|' + tokens.slice(i + 2),
|
|
201
|
+
// ' N=', JSON.stringify(node || '').replace(/["\n]/g, ''),
|
|
202
|
+
// ' O=', JSON.stringify(out || '').replace(/["\n]/g, ''))
|
|
141
203
|
}
|
|
142
|
-
return
|
|
204
|
+
return out;
|
|
143
205
|
}
|
|
144
206
|
function get(root, path) {
|
|
145
207
|
path = 'string' === typeof path ? path.split('.') : path;
|
|
@@ -213,10 +275,10 @@ vmap.FILTER = (x) => 'function' === typeof x ? ((y, p, _) => (_ = x(y, p), Array
|
|
|
213
275
|
vmap.KEY = (_, p) => p.key;
|
|
214
276
|
/*
|
|
215
277
|
MIT License
|
|
216
|
-
|
|
278
|
+
|
|
217
279
|
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
218
280
|
Copyright (c) Paul Miller (https://paulmillr.com)
|
|
219
|
-
|
|
281
|
+
|
|
220
282
|
Thank You!
|
|
221
283
|
*/
|
|
222
284
|
const BINARY_EXT = [
|
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,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;AAwBC,gCAAU"}
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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ACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,KAAK;IACL,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;AAwBC,gCAAU"}
|
package/gen/readme.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
|
|
2
|
+
const Fs = require('node:fs')
|
|
3
|
+
const { Jostraca, getx, each, Folder, Inject, Content } = require('..')
|
|
4
|
+
const Parser = require('oxc-parser')
|
|
5
|
+
|
|
6
|
+
const utilitySrcPath = __dirname+'/../src/utility.ts'
|
|
7
|
+
const sourceText = Fs.readFileSync(utilitySrcPath,'utf8')
|
|
8
|
+
const options = {
|
|
9
|
+
sourceFilename: utilitySrcPath,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let pres = Parser.parseSync(sourceText, options)
|
|
13
|
+
let ast = JSON.parse(pres.program)
|
|
14
|
+
|
|
15
|
+
let optionDefs = getx(ast, 'body?id:name==JostracaOptions 0 typeAnnotation members')
|
|
16
|
+
.map(od=>({
|
|
17
|
+
name: getx(od,'key.name'),
|
|
18
|
+
type: getx(od,'typeAnnotation.typeAnnotation.type').replace(/TS|Keyword/g,'').toLowerCase()
|
|
19
|
+
}))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
const jostraca = Jostraca()
|
|
24
|
+
|
|
25
|
+
jostraca.generate(
|
|
26
|
+
{
|
|
27
|
+
folder: __dirname+'/..' },
|
|
28
|
+
() => {
|
|
29
|
+
Folder({ name: '.' }, () => {
|
|
30
|
+
Inject(
|
|
31
|
+
{
|
|
32
|
+
name: 'README.md',
|
|
33
|
+
markers:['<!--START-OPTIONS-->\n','\n<!--END-OPTIONS-->'],
|
|
34
|
+
exclude: false
|
|
35
|
+
},
|
|
36
|
+
() => {
|
|
37
|
+
each(optionDefs, (od)=>{
|
|
38
|
+
Content(`
|
|
39
|
+
* __${od.name}__: \`${od.type}\``)
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
|
package/gen/readme.js~
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jostraca",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
4
4
|
"main": "dist/jostraca.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/jostraca.d.ts",
|
|
@@ -30,13 +30,15 @@
|
|
|
30
30
|
"files": [
|
|
31
31
|
"src",
|
|
32
32
|
"dist",
|
|
33
|
+
"gen",
|
|
33
34
|
"LICENSE"
|
|
34
35
|
],
|
|
35
36
|
"devDependencies": {
|
|
36
37
|
"@hapi/code": "^9.0.3",
|
|
37
|
-
"@types/node": "22.
|
|
38
|
+
"@types/node": "22.7.5",
|
|
38
39
|
"esbuild": "^0.24.0",
|
|
39
|
-
"memfs": "^4.
|
|
40
|
+
"memfs": "^4.13.0",
|
|
41
|
+
"oxc-parser": "^0.31.0",
|
|
40
42
|
"typescript": "^5.6.2"
|
|
41
43
|
},
|
|
42
44
|
"dependencies": {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
import type { Node } from '../utility'
|
|
3
|
+
|
|
4
|
+
import { cmp } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const Fragment = cmp(function Fragment(props: any, _children: any) {
|
|
8
|
+
const node: Node = props.ctx$.node
|
|
9
|
+
|
|
10
|
+
node.kind = 'fragment'
|
|
11
|
+
node.from = props.from
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
Fragment
|
|
18
|
+
}
|
|
19
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
import type { Node } from '../utility'
|
|
3
|
+
|
|
4
|
+
import { cmp, each } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const Inject = cmp(function Inject(props: any, children: any) {
|
|
8
|
+
const node: Node = props.ctx$.node
|
|
9
|
+
|
|
10
|
+
node.kind = 'inject'
|
|
11
|
+
node.name = props.name
|
|
12
|
+
node.meta.markers = props.markers || ['#--START--#\n', '\n#--END--#']
|
|
13
|
+
node.exclude = null == props.exclude ? node.exclude : !!props.exclude
|
|
14
|
+
|
|
15
|
+
each(children)
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
Inject
|
|
22
|
+
}
|
package/src/jostraca.ts
CHANGED
|
@@ -31,6 +31,8 @@ import {
|
|
|
31
31
|
import { Content } from './cmp/Content'
|
|
32
32
|
import { Copy } from './cmp/Copy'
|
|
33
33
|
import { File } from './cmp/File'
|
|
34
|
+
import { Inject } from './cmp/Inject'
|
|
35
|
+
import { Fragment } from './cmp/Fragment'
|
|
34
36
|
import { Folder } from './cmp/Folder'
|
|
35
37
|
import { Project } from './cmp/Project'
|
|
36
38
|
|
|
@@ -38,6 +40,8 @@ import { CopyOp } from './op/CopyOp'
|
|
|
38
40
|
import { ProjectOp } from './op/ProjectOp'
|
|
39
41
|
import { FolderOp } from './op/FolderOp'
|
|
40
42
|
import { FileOp } from './op/FileOp'
|
|
43
|
+
import { InjectOp } from './op/InjectOp'
|
|
44
|
+
import { FragmentOp } from './op/FragmentOp'
|
|
41
45
|
import { ContentOp } from './op/ContentOp'
|
|
42
46
|
import { NoneOp } from './op/NoneOp'
|
|
43
47
|
|
|
@@ -165,6 +169,8 @@ function Jostraca() {
|
|
|
165
169
|
project: ProjectOp,
|
|
166
170
|
folder: FolderOp,
|
|
167
171
|
file: FileOp,
|
|
172
|
+
inject: InjectOp,
|
|
173
|
+
fragment: FragmentOp,
|
|
168
174
|
content: ContentOp,
|
|
169
175
|
copy: CopyOp,
|
|
170
176
|
none: NoneOp,
|
|
@@ -190,6 +196,7 @@ function cmp(component: Function): Component {
|
|
|
190
196
|
kind: 'none',
|
|
191
197
|
children: [],
|
|
192
198
|
path: [],
|
|
199
|
+
meta: {},
|
|
193
200
|
}
|
|
194
201
|
|
|
195
202
|
const parent = props.ctx$.node = (props.ctx$.node || node)
|
|
@@ -245,6 +252,8 @@ export {
|
|
|
245
252
|
Project,
|
|
246
253
|
Content,
|
|
247
254
|
File,
|
|
255
|
+
Inject,
|
|
256
|
+
Fragment,
|
|
248
257
|
Folder,
|
|
249
258
|
Copy,
|
|
250
259
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
import Path from 'node:path'
|
|
3
|
+
|
|
4
|
+
import type { Node } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const FragmentOp = {
|
|
8
|
+
|
|
9
|
+
before(node: Node, _ctx$: any, buildctx: any) {
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
after(node: Node, _ctx$: any, buildctx: any) {
|
|
14
|
+
const { fs } = buildctx
|
|
15
|
+
const frompath = node.from as string
|
|
16
|
+
const src = fs.readFileSync(frompath, 'utf8')
|
|
17
|
+
buildctx.current.file.content.push(src)
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
FragmentOp
|
|
25
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
|
|
2
|
+
import Path from 'node:path'
|
|
3
|
+
|
|
4
|
+
import type { Node } from '../jostraca'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
const InjectOp = {
|
|
8
|
+
|
|
9
|
+
before(node: Node, _ctx$: any, buildctx: any) {
|
|
10
|
+
const cfile: any = buildctx.current.file = node
|
|
11
|
+
cfile.filepath = buildctx.current.folder.path.join('/') + '/' + node.name
|
|
12
|
+
cfile.content = []
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
after(node: Node, _ctx$: any, buildctx: any) {
|
|
17
|
+
const { fs, info, current } = buildctx
|
|
18
|
+
const cfile = current.file
|
|
19
|
+
let content = cfile.content.join('')
|
|
20
|
+
const rpath = cfile.path.join('/') // NOT Path.sep - needs to be canonical
|
|
21
|
+
let exclude = node.exclude
|
|
22
|
+
|
|
23
|
+
if (info && null == exclude) {
|
|
24
|
+
exclude = info.exclude.includes(rpath)
|
|
25
|
+
if (!exclude) {
|
|
26
|
+
const stat = fs.statSync(cfile.filepath, { throwIfNoEntry: false })
|
|
27
|
+
if (stat) {
|
|
28
|
+
let timedelta = stat.mtimeMs - info.last
|
|
29
|
+
if ((timedelta > 0 && timedelta < stat.mtimeMs)) {
|
|
30
|
+
exclude = true
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// console.log('FILE-a write', rpath, exclude) // , content.substring(0, 111))
|
|
37
|
+
|
|
38
|
+
if (!exclude) {
|
|
39
|
+
let src = fs.readFileSync(cfile.filepath, 'utf8')
|
|
40
|
+
|
|
41
|
+
content = node.meta.markers.join(content)
|
|
42
|
+
// console.log(content)
|
|
43
|
+
|
|
44
|
+
let re = new RegExp(node.meta.markers.join('(.*?)'), 'sg')
|
|
45
|
+
// console.log(re)
|
|
46
|
+
|
|
47
|
+
src = src.replace(re, content)
|
|
48
|
+
// console.log(src)
|
|
49
|
+
|
|
50
|
+
fs.writeFileSync(cfile.filepath, src, { flush: true })
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
if (!info.exclude.includes(rpath)) {
|
|
54
|
+
info.exclude.push(rpath)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
InjectOp
|
|
64
|
+
}
|
package/src/utility.ts
CHANGED
|
@@ -18,6 +18,7 @@ type Node = {
|
|
|
18
18
|
folder?: string
|
|
19
19
|
after?: any
|
|
20
20
|
exclude?: boolean
|
|
21
|
+
meta: any
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
|
|
@@ -87,27 +88,59 @@ function select(key: any, map: Record<string, Function>) {
|
|
|
87
88
|
|
|
88
89
|
|
|
89
90
|
function getx(root: any, path: string | string[]): any {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
if (null == root || 'object' !== typeof root) {
|
|
92
|
+
return undefined
|
|
93
|
+
}
|
|
93
94
|
|
|
94
|
-
|
|
95
|
-
for (let i = 0; i < path.length && null != node; i++) {
|
|
96
|
-
let part = String(path[i]).trim()
|
|
95
|
+
let tokens
|
|
97
96
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
if (Array.isArray(path)) {
|
|
98
|
+
tokens = path.map(p => '' + p)
|
|
99
|
+
}
|
|
100
|
+
else if ('string' === typeof path) {
|
|
101
|
+
|
|
102
|
+
// A B C D E
|
|
103
|
+
let tre = /\s*("(\\.|[^"\\])*"|[\w\d_]+|\s+|[^\w\d_]+)\s*/g
|
|
104
|
+
// A: prefixing space and/or comma
|
|
105
|
+
// B: quoted string
|
|
106
|
+
// C: atom
|
|
107
|
+
// D: space
|
|
108
|
+
// E: operator
|
|
109
|
+
|
|
110
|
+
tokens = []
|
|
111
|
+
let t = null
|
|
112
|
+
while (t = tre.exec(path)) {
|
|
113
|
+
if (!t[1].match(/\s+|\./)) {
|
|
114
|
+
let token = t[1]
|
|
115
|
+
token = token.match(/^"[^"]+"$/) ? token.substring(1, token.length - 1) : token
|
|
116
|
+
tokens.push(token)
|
|
117
|
+
}
|
|
101
118
|
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return undefined
|
|
122
|
+
}
|
|
102
123
|
|
|
103
|
-
|
|
124
|
+
// console.log('GETX', JSON.stringify(root).replace(/["\n]/g, ''))
|
|
125
|
+
// console.log('TOKENS', tokens)
|
|
104
126
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
127
|
+
let node = root
|
|
128
|
+
let out = undefined
|
|
129
|
+
let ancestry = false
|
|
130
|
+
|
|
131
|
+
for (let i = 0; i < tokens.length && undefined !== node; i++) {
|
|
132
|
+
let t0 = tokens[i]
|
|
133
|
+
let t1 = tokens[i + 1]
|
|
109
134
|
|
|
110
|
-
|
|
135
|
+
// let what = ''
|
|
136
|
+
// console.log('PART-S ', ancestry ? ':' : ' ', i, t0 + '|' + t1 + '|' + tokens.slice(i + 2),
|
|
137
|
+
// ' N=', JSON.stringify(node || '').replace(/["\n]/g, ''),
|
|
138
|
+
// ' O=', JSON.stringify(out || '').replace(/["\n]/g, ''))
|
|
139
|
+
|
|
140
|
+
if (t1 && t1.match(/=|!=/)) {
|
|
141
|
+
// what = 'O'
|
|
142
|
+
let val = node[t0]
|
|
143
|
+
let arg: any = tokens[i + 2]
|
|
111
144
|
|
|
112
145
|
const argtype = typeof arg
|
|
113
146
|
arg =
|
|
@@ -116,76 +149,109 @@ function getx(root: any, path: string | string[]): any {
|
|
|
116
149
|
'string' === argtype ?
|
|
117
150
|
(arg.match(/^"[^"]+"$/) ? arg.substring(1, arg.length - 1) : arg) : arg
|
|
118
151
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if ('=' === op && 'null' === arg) {
|
|
122
|
-
parents.push(node)
|
|
123
|
-
node = {} // virtual node so that ^ works consistently
|
|
124
|
-
continue partloop
|
|
125
|
-
}
|
|
126
|
-
else if ('^' === op && '' === part && '' !== arg) {
|
|
127
|
-
node = parents[parents.length - Number(arg)]
|
|
128
|
-
continue partloop
|
|
129
|
-
}
|
|
130
|
-
else if ('?' === op[0]) {
|
|
131
|
-
// no property name
|
|
132
|
-
arg = (1 < op.length ? op.substring(1) : '') + arg
|
|
133
|
-
|
|
134
|
-
node = Array.isArray(val) ?
|
|
135
|
-
each(val).filter((n: any) => (
|
|
136
|
-
null != getx(n, arg))) :
|
|
137
|
-
each(val).filter((n: any) => (
|
|
138
|
-
null != getx(n, arg)))
|
|
139
|
-
.reduce((a: any, n: any) => (a[n.key$] = n, delete n.key$, a), {})
|
|
140
|
-
|
|
141
|
-
continue partloop
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
if (null == val) return undefined
|
|
145
|
-
|
|
146
|
-
// const valtype = typeof val
|
|
147
|
-
|
|
148
|
-
val = Array.isArray(val) ? val.length :
|
|
149
|
-
'object' === typeof val ? Object.keys(val).filter(k => !k.includes('$')).length :
|
|
150
|
-
val
|
|
151
|
-
|
|
152
|
-
switch (op) {
|
|
152
|
+
let pass = false
|
|
153
|
+
switch (t1) {
|
|
153
154
|
case '<':
|
|
154
|
-
if (
|
|
155
|
-
break
|
|
155
|
+
if (val < arg) pass = true; break;
|
|
156
156
|
case '<=':
|
|
157
|
-
if (
|
|
158
|
-
break
|
|
157
|
+
if (val <= arg) pass = true; break;
|
|
159
158
|
case '>':
|
|
160
|
-
if (
|
|
161
|
-
break
|
|
159
|
+
if (val > arg) pass = true; break;
|
|
162
160
|
case '>=':
|
|
163
|
-
if (
|
|
164
|
-
break
|
|
161
|
+
if (val >= arg) pass = true; break;
|
|
165
162
|
case '=':
|
|
166
|
-
if (
|
|
167
|
-
break
|
|
163
|
+
if (val == arg) pass = true; break;
|
|
168
164
|
case '==':
|
|
169
|
-
if (
|
|
170
|
-
break
|
|
165
|
+
if (val === arg) pass = true; break;
|
|
171
166
|
case '!=':
|
|
172
|
-
if (
|
|
173
|
-
break
|
|
167
|
+
if (val != arg) pass = true; break;
|
|
174
168
|
case '~':
|
|
175
|
-
if (
|
|
169
|
+
if (String(val).match(RegExp(arg))) pass = true; break;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (pass) {
|
|
173
|
+
i += 2
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
node = undefined
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
out = (ancestry && undefined !== node) ? out : node
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// Retain ancestry in result - getx({a:{b:1}},'a:b'}) === {a:{b:1}}
|
|
183
|
+
else if (':' === t1) {
|
|
184
|
+
// what = 'D'
|
|
185
|
+
if ('=' !== tokens[i + 2]) {
|
|
186
|
+
out = !ancestry ? node : out
|
|
187
|
+
node = node[t0]
|
|
188
|
+
|
|
189
|
+
if (undefined === node) {
|
|
190
|
+
out = undefined
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
ancestry = true
|
|
194
|
+
i++
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
else if ('?' === t0) {
|
|
198
|
+
// what = '?'
|
|
199
|
+
|
|
200
|
+
let ftokens = tokens.slice(i + 1)
|
|
201
|
+
// console.log('FTOKENS A', ftokens)
|
|
202
|
+
|
|
203
|
+
// Two adjacent values marks the end of the filter
|
|
204
|
+
// TODO: not great, find a better way
|
|
205
|
+
let j = 0
|
|
206
|
+
for (; j < ftokens.length; j++) {
|
|
207
|
+
if (ftokens[j] && ftokens[j].match(/[\w\d_]+/) &&
|
|
208
|
+
ftokens[j + 1] && ftokens[j + 1].match(/[\w\d_]+/)
|
|
209
|
+
) {
|
|
210
|
+
j++
|
|
176
211
|
break
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
ftokens.length = j
|
|
215
|
+
|
|
216
|
+
// console.log('FTOKENS B', ftokens)
|
|
217
|
+
|
|
218
|
+
out = each(node)
|
|
219
|
+
.filter((child: any) => undefined != getx(child, ftokens))
|
|
220
|
+
|
|
221
|
+
if (null !== node && 'object' === typeof node && !Array.isArray(node)) {
|
|
222
|
+
out = out.reduce((a: any, n: any) => (a[n.key$] = n, delete n.key$, a), {})
|
|
182
223
|
}
|
|
224
|
+
|
|
225
|
+
node = out
|
|
226
|
+
i += ftokens.length
|
|
183
227
|
}
|
|
228
|
+
else if (null != t1) {
|
|
229
|
+
// what = 'N'
|
|
230
|
+
// console.log('NNN', dot, t0, out, node)
|
|
231
|
+
// out = (dot && undefined !== node) ? out : node
|
|
232
|
+
|
|
233
|
+
node = node[t0]
|
|
234
|
+
|
|
235
|
+
if (ancestry) {
|
|
236
|
+
ancestry = false
|
|
237
|
+
out = undefined !== node ? out : undefined
|
|
238
|
+
node = out
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
// what = 'M'
|
|
243
|
+
node = node[t0]
|
|
244
|
+
out = (ancestry && undefined !== node) ? out : node
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// console.log('PART-E', what,
|
|
248
|
+
// ancestry ? ':' : ' ', i, t0 + '|' + t1 + '|' + tokens.slice(i + 2),
|
|
249
|
+
// ' N=', JSON.stringify(node || '').replace(/["\n]/g, ''),
|
|
250
|
+
// ' O=', JSON.stringify(out || '').replace(/["\n]/g, ''))
|
|
184
251
|
|
|
185
|
-
parents.push(node)
|
|
186
|
-
node = '' === part ? node : node[part]
|
|
187
252
|
}
|
|
188
|
-
|
|
253
|
+
|
|
254
|
+
return out
|
|
189
255
|
}
|
|
190
256
|
|
|
191
257
|
|
|
@@ -286,10 +352,10 @@ vmap.KEY = (_: any, p: any) => p.key
|
|
|
286
352
|
|
|
287
353
|
/*
|
|
288
354
|
MIT License
|
|
289
|
-
|
|
355
|
+
|
|
290
356
|
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
291
357
|
Copyright (c) Paul Miller (https://paulmillr.com)
|
|
292
|
-
|
|
358
|
+
|
|
293
359
|
Thank You!
|
|
294
360
|
*/
|
|
295
361
|
const BINARY_EXT = [
|