Skip to content

Commit cc79534

Browse files
committed
Expose the default/lazy TOML parser
1 parent 1d2e468 commit cc79534

File tree

8 files changed

+17
-6
lines changed

8 files changed

+17
-6
lines changed

docs/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/toml-V4Savzlc.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/toml-V4Savzlc.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

esm/custom.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ export const handleCustomType = async (node) => {
5959
env,
6060
onerror,
6161
hooks,
62+
parser,
6263
} = options;
6364

6465
let error;
@@ -69,7 +70,7 @@ export const handleCustomType = async (node) => {
6970
let url = configURL;
7071
let cfg = node.getAttribute('config') || config || {};
7172
if (!v || !cfg) {
72-
const [o, u] = resolveConfig(cfg, configURL);
73+
const [o, u] = resolveConfig(cfg, configURL, { parser });
7374
cfg = await o;
7475
url = u;
7576
v = cfg.version || cfg.interpreter;
@@ -82,6 +83,7 @@ export const handleCustomType = async (node) => {
8283

8384
const xworker = XW.call(new Hook(null, hooks), worker, {
8485
...nodeInfo(node, type),
86+
parser,
8587
configURL: url,
8688
version: v,
8789
type: runtime,

esm/exports.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ import { buffered } from './interpreter/_io.js';
44
import { createProgress } from './interpreter/_utils.js';
55
import { loadProgress as lP } from './interpreter/_python.js';
66
import { registry } from './interpreters.js';
7+
import { toml } from './3rd-party.js';
78

89
const loadProgress = (type, ...rest) => lP(registry.get(type), ...rest);
910

10-
export { buffered, createProgress, loadProgress };
11+
export { buffered, createProgress, loadProgress, toml };
1112
export * from './index.js';
1213
export * from './script-handler.js';
1314
export * from './utils.js';

esm/loader.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ export const resolveConfig = (config, configURL, options = {}) => {
2222
if (type === 'json') {
2323
options = fetch(absolute).json();
2424
} else if (type === 'toml') {
25-
options = fetch(absolute).text().then(toml);
25+
options = fetch(absolute).text().then(async value => {
26+
const { parser } = options;
27+
const module = parser ? await import(parser) : { parse: toml };
28+
return (module.parse || module.default)(value);
29+
});
2630
} else if (type === 'string') {
2731
options = parseString(config);
2832
} else if (type === 'object' && config) {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,6 @@
9898
"to-json-callback": "^0.1.1"
9999
},
100100
"worker": {
101-
"blob": "sha256-ApE1J3NhEObM1H24FVV9LhqLlLGKcfe+iUy+8s/CKJE="
101+
"blob": "sha256-sbA8E5hS+A6qJj6Hff1Hz/8P9X6JwySkRYqkLfX+gDw="
102102
}
103103
}

0 commit comments

Comments
 (0)