UNPKG

@dpkit/core

Version:

Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames

22 lines 3.61 kB
import { join, relative } from "node:path"; import { describe, expect, expectTypeOf, it } from "vitest"; import { loadResourceDescriptor } from "./load.js"; describe("loadResourceDescriptor", async () => { const getFixturePath = (name) => relative(process.cwd(), join(__dirname, "fixtures", name)); const descriptor = { name: "name", path: "table.csv", }; it("loads a resource from a local file path", async () => { const resource = await loadResourceDescriptor(getFixturePath("resource.json")); expectTypeOf(resource).toEqualTypeOf(); expect(resource).toEqual({ ...descriptor, path: getFixturePath("table.csv"), }); }); it("throws an error when resource is invalid", async () => { await expect(loadResourceDescriptor(getFixturePath("resource-invalid.json"))).rejects.toThrow(); }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vcmVzb3VyY2UvbG9hZC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRWxELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLElBQUksRUFBRTtJQUM1QyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3RDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUU1RCxNQUFNLFVBQVUsR0FBRztRQUNqQixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxXQUFXO0tBQ2xCLENBQUE7SUFFRCxFQUFFLENBQUMseUNBQXlDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxzQkFBc0IsQ0FDM0MsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUNoQyxDQUFBO1FBRUQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBWSxDQUFBO1FBQ2hELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDdkIsR0FBRyxVQUFVO1lBQ2IsSUFBSSxFQUFFLGNBQWMsQ0FBQyxXQUFXLENBQUM7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEQsTUFBTSxNQUFNLENBQ1Ysc0JBQXNCLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FDaEUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDckIsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4sIHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBkZXNjcmliZSwgZXhwZWN0LCBleHBlY3RUeXBlT2YsIGl0IH0gZnJvbSBcInZpdGVzdFwiXG5pbXBvcnQgdHlwZSB7IFJlc291cmNlIH0gZnJvbSBcIi4vUmVzb3VyY2UudHNcIlxuaW1wb3J0IHsgbG9hZFJlc291cmNlRGVzY3JpcHRvciB9IGZyb20gXCIuL2xvYWQudHNcIlxuXG5kZXNjcmliZShcImxvYWRSZXNvdXJjZURlc2NyaXB0b3JcIiwgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBnZXRGaXh0dXJlUGF0aCA9IChuYW1lOiBzdHJpbmcpID0+XG4gICAgcmVsYXRpdmUocHJvY2Vzcy5jd2QoKSwgam9pbihfX2Rpcm5hbWUsIFwiZml4dHVyZXNcIiwgbmFtZSkpXG5cbiAgY29uc3QgZGVzY3JpcHRvciA9IHtcbiAgICBuYW1lOiBcIm5hbWVcIixcbiAgICBwYXRoOiBcInRhYmxlLmNzdlwiLFxuICB9XG5cbiAgaXQoXCJsb2FkcyBhIHJlc291cmNlIGZyb20gYSBsb2NhbCBmaWxlIHBhdGhcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHJlc291cmNlID0gYXdhaXQgbG9hZFJlc291cmNlRGVzY3JpcHRvcihcbiAgICAgIGdldEZpeHR1cmVQYXRoKFwicmVzb3VyY2UuanNvblwiKSxcbiAgICApXG5cbiAgICBleHBlY3RUeXBlT2YocmVzb3VyY2UpLnRvRXF1YWxUeXBlT2Y8UmVzb3VyY2U+KClcbiAgICBleHBlY3QocmVzb3VyY2UpLnRvRXF1YWwoe1xuICAgICAgLi4uZGVzY3JpcHRvcixcbiAgICAgIHBhdGg6IGdldEZpeHR1cmVQYXRoKFwidGFibGUuY3N2XCIpLFxuICAgIH0pXG4gIH0pXG5cbiAgaXQoXCJ0aHJvd3MgYW4gZXJyb3Igd2hlbiByZXNvdXJjZSBpcyBpbnZhbGlkXCIsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBsb2FkUmVzb3VyY2VEZXNjcmlwdG9yKGdldEZpeHR1cmVQYXRoKFwicmVzb3VyY2UtaW52YWxpZC5qc29uXCIpKSxcbiAgICApLnJlamVjdHMudG9UaHJvdygpXG4gIH0pXG59KVxuIl19