kanel-kysely
Version:
Kysely extension for Kanel
82 lines (81 loc) • 3.15 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const kyselyCamelCaseHook_js_1 = require("./kyselyCamelCaseHook.js");
(0, vitest_1.it)("Should transform all properties to camelCase", async () => {
const output = await (0, kyselyCamelCaseHook_js_1.kyselyCamelCaseHook)({
foo: {
fileType: "typescript",
declarations: [
{
declarationType: "interface",
name: "Member",
exportAs: "default",
properties: [
{
name: "snake_case",
typeName: "string",
dimensions: 0,
isOptional: false,
isNullable: false,
},
],
},
{
declarationType: "interface",
name: "Member",
exportAs: "default",
properties: [
{
name: "SCREAMING_SNAKE_CASE",
typeName: "string",
dimensions: 0,
isOptional: false,
isNullable: false,
},
],
},
],
},
bar: {
fileType: "typescript",
declarations: [
{
declarationType: "interface",
name: "Member",
exportAs: "default",
properties: [
{
name: "kebab-case",
typeName: "string",
dimensions: 0,
isOptional: false,
isNullable: false,
},
{
name: "PascalCase",
typeName: "string",
dimensions: 0,
isOptional: false,
isNullable: false,
},
{
name: "sTuDlYcApS",
typeName: "string",
dimensions: 0,
isOptional: false,
isNullable: false,
},
],
},
],
},
}, {});
const foo = output.foo;
const bar = output.bar;
(0, vitest_1.expect)(foo.declarations[0].properties[0].name).toBe("snakeCase");
(0, vitest_1.expect)(foo.declarations[1].properties[0].name).toBe("sCREAMINGSNAKECASE");
(0, vitest_1.expect)(bar.declarations[0].properties[0].name).toBe("kebabCase");
(0, vitest_1.expect)(bar.declarations[0].properties[1].name).toBe("pascalCase");
(0, vitest_1.expect)(bar.declarations[0].properties[2].name).toBe("sTuDlYcApS");
});