kanel-kysely
Version:
Kysely extension for Kanel
87 lines (86 loc) • 3.17 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: {
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: {
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,
},
],
},
],
},
}, undefined);
(0, vitest_1.assert)("properties" in output["foo"].declarations[0]);
(0, vitest_1.assert)("properties" in output["foo"].declarations[1]);
(0, vitest_1.assert)("properties" in output["bar"].declarations[0]);
(0, vitest_1.expect)([
...output["foo"].declarations[0].properties,
...output["foo"].declarations[1].properties,
...output["bar"].declarations[0].properties,
].map((x) => x.name)).toEqual([
"snakeCase",
"sCREAMINGSNAKECASE",
"kebabCase",
"pascalCase",
"sTuDlYcApS",
]);
});