@jsonic/multisource 2.1.0 → 2.2.2
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/multisource.js +15 -2
- package/dist/multisource.js.map +1 -1
- package/package.json +4 -4
- package/src/multisource.ts +26 -6
package/dist/multisource.js
CHANGED
|
@@ -129,7 +129,8 @@ const MultiSource = (jsonic, popts) => {
|
|
|
129
129
|
...ctx,
|
|
130
130
|
meta,
|
|
131
131
|
};
|
|
132
|
-
let proc = processor[res.kind] || processor[NONE]
|
|
132
|
+
// let proc = processor[res.kind] || processor[NONE]
|
|
133
|
+
let proc = getProcessor(res.kind, processor);
|
|
133
134
|
proc(res, popts, rule, ctxproc, jsonic);
|
|
134
135
|
// Handle the {@foo} case, injecting keys into parent map.
|
|
135
136
|
if ('pair' === from) {
|
|
@@ -146,7 +147,6 @@ const MultiSource = (jsonic, popts) => {
|
|
|
146
147
|
else {
|
|
147
148
|
rule.node = res.val;
|
|
148
149
|
}
|
|
149
|
-
// rule.node = res.val
|
|
150
150
|
return undefined;
|
|
151
151
|
},
|
|
152
152
|
custom: (jsonic, { OPEN, name }) => {
|
|
@@ -206,6 +206,19 @@ const jsonicJsonParser = jsonic_1.Jsonic.make('json');
|
|
|
206
206
|
const jsonProcessor = makeProcessor((src, res) =>
|
|
207
207
|
// null == src ? undefined : JSON.parse(src)
|
|
208
208
|
null == src ? undefined : jsonicJsonParser(src, { fileName: res.path }));
|
|
209
|
+
// let proc = processor[res.kind] || processor[NONE]
|
|
210
|
+
function getProcessor(kind, procmap) {
|
|
211
|
+
let proc = procmap[NONE];
|
|
212
|
+
let procref = procmap[kind];
|
|
213
|
+
// Allow one level of aliasing
|
|
214
|
+
if ('string' === typeof procref) {
|
|
215
|
+
proc = procmap[procref];
|
|
216
|
+
}
|
|
217
|
+
else if ('function' === typeof procref) {
|
|
218
|
+
proc = procref;
|
|
219
|
+
}
|
|
220
|
+
return proc;
|
|
221
|
+
}
|
|
209
222
|
const jsonicProcessor = (0, jsonic_2.makeJsonicProcessor)();
|
|
210
223
|
const jsProcessor = (0, js_1.makeJavaScriptProcessor)();
|
|
211
224
|
MultiSource.defaults = {
|
package/dist/multisource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multisource.js","sourceRoot":"","sources":["../src/multisource.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"multisource.js","sourceRoot":"","sources":["../src/multisource.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsonic/multisource",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/multisource.js",
|
|
6
6
|
"type": "commonjs",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"scripts": {
|
|
22
22
|
"test": "node --enable-source-maps --test \"dist-test/*.test.js\"",
|
|
23
23
|
"test-cov": "rm -rf ./coverage && mkdir -p ./coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --enable-source-maps --test \"dist-test/*.test.js\"",
|
|
24
|
-
"test-some": "node --enable-source-maps --test-name-pattern=\"$
|
|
24
|
+
"test-some": "node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"dist-test/*.test.js\"",
|
|
25
25
|
"watch": "tsc --build src test -w",
|
|
26
26
|
"build": "tsc --build src test",
|
|
27
27
|
"clean": "rm -rf dist dist-test node_modules yarn.lock package-lock.json",
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@hapi/code": "^9.0.3",
|
|
50
50
|
"@jsonic/doc": "^0.0.9",
|
|
51
|
-
"@types/node": "^
|
|
51
|
+
"@types/node": "^25.0.3",
|
|
52
52
|
"jsonic-multisource-pkg-test": "^0.0.1",
|
|
53
|
-
"memfs": "^4.
|
|
53
|
+
"memfs": "^4.51.1",
|
|
54
54
|
"typescript": "^5.9.3"
|
|
55
55
|
},
|
|
56
56
|
"peerDependencies": {
|
package/src/multisource.ts
CHANGED
|
@@ -180,7 +180,8 @@ const MultiSource: Plugin = (jsonic: Jsonic, popts: MultiSourceOptions) => {
|
|
|
180
180
|
meta,
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
let proc = processor[res.kind] || processor[NONE]
|
|
183
|
+
// let proc = processor[res.kind] || processor[NONE]
|
|
184
|
+
let proc = getProcessor(res.kind, processor)
|
|
184
185
|
proc(res, popts, rule, ctxproc, jsonic)
|
|
185
186
|
|
|
186
187
|
// Handle the {@foo} case, injecting keys into parent map.
|
|
@@ -192,17 +193,18 @@ const MultiSource: Plugin = (jsonic: Jsonic, popts: MultiSourceOptions) => {
|
|
|
192
193
|
rule,
|
|
193
194
|
ctx,
|
|
194
195
|
)
|
|
195
|
-
}
|
|
196
|
+
}
|
|
197
|
+
else if (ctx.cfg.map.extend) {
|
|
196
198
|
rule.parent.parent.node = deep(rule.parent.parent.node, res.val)
|
|
197
|
-
}
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
198
201
|
Object.assign(rule.parent.node, res.val)
|
|
199
202
|
}
|
|
200
|
-
}
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
201
205
|
rule.node = res.val
|
|
202
206
|
}
|
|
203
207
|
|
|
204
|
-
// rule.node = res.val
|
|
205
|
-
|
|
206
208
|
return undefined
|
|
207
209
|
},
|
|
208
210
|
|
|
@@ -272,6 +274,24 @@ const jsonProcessor = makeProcessor((src: string, res: Resolution) =>
|
|
|
272
274
|
null == src ? undefined : jsonicJsonParser(src, { fileName: res.path }),
|
|
273
275
|
)
|
|
274
276
|
|
|
277
|
+
|
|
278
|
+
// let proc = processor[res.kind] || processor[NONE]
|
|
279
|
+
function getProcessor(kind: string, procmap: Record<string, Processor>): Processor {
|
|
280
|
+
let proc: Processor = procmap[NONE]
|
|
281
|
+
let procref = procmap[kind]
|
|
282
|
+
|
|
283
|
+
// Allow one level of aliasing
|
|
284
|
+
if ('string' === typeof procref) {
|
|
285
|
+
proc = procmap[procref]
|
|
286
|
+
}
|
|
287
|
+
else if ('function' === typeof procref) {
|
|
288
|
+
proc = procref
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
return proc
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
|
|
275
295
|
const jsonicProcessor = makeJsonicProcessor()
|
|
276
296
|
const jsProcessor = makeJavaScriptProcessor()
|
|
277
297
|
|