@dpkit/core
Version:
Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames
18 lines • 2.98 kB
JavaScript
import { join } from "node:path";
import { describe, expect, expectTypeOf, it } from "vitest";
import { loadDialect } from "./load.js";
describe("loadDialect", async () => {
const getFixturePath = (name) => join(__dirname, "fixtures", name);
const descriptor = {
delimiter: ";",
};
it("loads a dialect from a local file path", async () => {
const dialect = await loadDialect(getFixturePath("dialect.json"));
expectTypeOf(dialect).toEqualTypeOf();
expect(dialect).toEqual(descriptor);
});
it("throws an error when dialect is invalid", async () => {
await expect(loadDialect(getFixturePath("dialect-invalid.json"))).rejects.toThrow();
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZGlhbGVjdC9sb2FkLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFdkMsUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLElBQUksRUFBRTtJQUNqQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDMUUsTUFBTSxVQUFVLEdBQUc7UUFDakIsU0FBUyxFQUFFLEdBQUc7S0FDZixDQUFBO0lBRUQsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE1BQU0sV0FBVyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO1FBQ2pFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQVcsQ0FBQTtRQUM5QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3JDLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLHlDQUF5QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZELE1BQU0sTUFBTSxDQUNWLFdBQVcsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUNwRCxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNyQixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIlxuaW1wb3J0IHsgZGVzY3JpYmUsIGV4cGVjdCwgZXhwZWN0VHlwZU9mLCBpdCB9IGZyb20gXCJ2aXRlc3RcIlxuaW1wb3J0IHR5cGUgeyBEaWFsZWN0IH0gZnJvbSBcIi4vRGlhbGVjdC50c1wiXG5pbXBvcnQgeyBsb2FkRGlhbGVjdCB9IGZyb20gXCIuL2xvYWQudHNcIlxuXG5kZXNjcmliZShcImxvYWREaWFsZWN0XCIsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgZ2V0Rml4dHVyZVBhdGggPSAobmFtZTogc3RyaW5nKSA9PiBqb2luKF9fZGlybmFtZSwgXCJmaXh0dXJlc1wiLCBuYW1lKVxuICBjb25zdCBkZXNjcmlwdG9yID0ge1xuICAgIGRlbGltaXRlcjogXCI7XCIsXG4gIH1cblxuICBpdChcImxvYWRzIGEgZGlhbGVjdCBmcm9tIGEgbG9jYWwgZmlsZSBwYXRoXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkaWFsZWN0ID0gYXdhaXQgbG9hZERpYWxlY3QoZ2V0Rml4dHVyZVBhdGgoXCJkaWFsZWN0Lmpzb25cIikpXG4gICAgZXhwZWN0VHlwZU9mKGRpYWxlY3QpLnRvRXF1YWxUeXBlT2Y8RGlhbGVjdD4oKVxuICAgIGV4cGVjdChkaWFsZWN0KS50b0VxdWFsKGRlc2NyaXB0b3IpXG4gIH0pXG5cbiAgaXQoXCJ0aHJvd3MgYW4gZXJyb3Igd2hlbiBkaWFsZWN0IGlzIGludmFsaWRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIGxvYWREaWFsZWN0KGdldEZpeHR1cmVQYXRoKFwiZGlhbGVjdC1pbnZhbGlkLmpzb25cIikpLFxuICAgICkucmVqZWN0cy50b1Rocm93KClcbiAgfSlcbn0pXG4iXX0=