UNPKG

@kintone/dts-gen

Version:

Types for kintone js api and Types generating tools

250 lines 7.03 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DTSGenFieldsTest = void 0; // eslint-disable-next-line @typescript-eslint/triple-slash-reference, spaced-comment /// <reference path="./testfields.d.ts" /> const assert = __importStar(require("assert")); const assertFieldTypes = (record) => { // Assert simple field types [ { ref: record.$id, type: "__ID__", }, { ref: record.$revision, type: "__REVISION__", }, { ref: record.Record_number, type: "RECORD_NUMBER", }, { ref: record.Updated_datetime, type: "UPDATED_TIME", }, { ref: record.Created_datetime, type: "CREATED_TIME", }, { ref: record.Text, type: "SINGLE_LINE_TEXT", }, { ref: record.Rich_text, type: "RICH_TEXT", }, { ref: record.Text_area, type: "MULTI_LINE_TEXT", }, { ref: record.Number, type: "NUMBER", }, { ref: record.Calculated, type: "CALC", }, { ref: record.Radio_button, type: "RADIO_BUTTON", }, { ref: record.Drop_down, type: "DROP_DOWN", }, { ref: record.Date, type: "DATE", }, { ref: record.Time, type: "TIME", }, { ref: record.Date_and_time, type: "DATETIME", }, { ref: record.Link, type: "LINK", }, ].forEach(({ ref, type }) => assertSimpleField(ref, type)); // Assert string list field types [ { ref: record.Check_box, type: "CHECK_BOX", }, { ref: record.Multi_choice, type: "MULTI_SELECT", }, ].forEach(({ ref, type }) => assertStringListField(ref, type)); // assert entity [ { ref: record.Updated_by, type: "MODIFIER", }, { ref: record.Created_by, type: "CREATOR", }, ].forEach(({ ref, type }) => assertEntity(ref, type)); // assert entity list field types [ { ref: record.User_selection, type: "USER_SELECT", }, { ref: record.Department_selection, type: "ORGANIZATION_SELECT", }, { ref: record.Group_selection, type: "GROUP_SELECT", }, ].forEach(({ ref, type }) => { assertEntityListField(ref, type); }); assertType(record.Attachment.type, "FILE"); assert.ok(record.Attachment.value.length); assertFileField(record.Attachment); [ { ref: record.Table, }, { ref: record.Table_0, }, ].forEach(({ ref }) => assertSubTable(ref)); const tv = record.Table.value[0].value; [ { ref: tv.Calculated_Table, type: "CALC", }, { ref: tv.Number_Table, type: "NUMBER", }, { ref: tv.Text_Table, type: "SINGLE_LINE_TEXT", }, { ref: tv.Rich_text_Table, type: "RICH_TEXT", }, { ref: tv.Text_area_Table, type: "MULTI_LINE_TEXT", }, ].forEach(({ ref, type }) => assertSimpleField(ref, type)); assert.ok(tv.Calculated_Table.value); assert.ok(tv.Number_Table.value); assert.ok(tv.Text_Table.value); assert.ok(tv.Text_area_Table.value); const tv0 = record.Table_0.value[0].value; assertFileField(tv0.Attachment_Table); [ { ref: tv0.Check_box_Table, type: "CHECK_BOX", }, { ref: tv0.Date_Table, type: "DATE", }, { ref: tv0.Date_and_time_Table, type: "DATETIME", }, { ref: tv0.Link_Table, type: "LINK", }, { ref: tv0.Time_Table, type: "TIME", }, ].forEach(({ ref, type }) => assertSimpleField(ref, type)); [ { ref: tv0.Check_box_Table, type: "CHECK_BOX", }, { ref: tv0.Multi_choice_Table, type: "MULTI_SELECT", }, ].forEach(({ ref, type }) => assertStringListField(ref, type)); }; const assertSubTable = (ref) => { assertType(ref.type, "SUBTABLE"); assertNotUndefined(ref.value.length); }; const assertSimpleField = (ref, expectedType) => { assertType(ref.type, expectedType); assert.ok(ref.value !== undefined); }; const assertStringListField = (ref, expectedType) => { assertType(ref.type, expectedType); assertNotUndefined(ref.value.length); }; const assertEntity = (ref, expectedType) => { assertType(ref.type, expectedType); assertNotUndefined(ref.value); assertNotUndefined(ref.value.code); assertNotUndefined(ref.value.name); }; const assertEntityListField = (ref, expectedType) => { assertType(ref.type, expectedType); assertNotUndefined(ref.value.length); assertNotUndefined(ref.value[0].code); assertNotUndefined(ref.value[0].name); }; const assertType = (type, expectedType) => { assert.strictEqual(type, expectedType, `expected: ${expectedType}, actual:${type}`); }; const assertNotUndefined = (ref) => { assert.ok(ref !== undefined); }; const assertFileField = (ref) => { assert.ok(ref.type, "FILE"); assert.ok(ref.value.length); assert.ok(ref.value[0].name); assert.ok(ref.value[0].contentType); assert.ok(ref.value[0].fileKey); }; exports.DTSGenFieldsTest = { assertFieldTypes, }; //# sourceMappingURL=dts-gen-fields-test.js.map