kintone-as-code
Version:
A CLI tool for managing kintone applications as code with type-safe TypeScript schemas
104 lines • 5.23 kB
TypeScript
import { Expression } from './expression.js';
import { DateFunction, UserFunction } from './functions.js';
export { toString } from './expression.js';
export type FieldType = 'SINGLE_LINE_TEXT' | 'MULTI_LINE_TEXT' | 'NUMBER' | 'CALC' | 'DROP_DOWN' | 'CHECK_BOX' | 'RADIO_BUTTON' | 'MULTI_SELECT' | 'DATE' | 'TIME' | 'DATETIME' | 'USER_SELECT' | 'ORGANIZATION_SELECT' | 'GROUP_SELECT';
type DateValue = string | DateFunction;
type PrimitiveFieldValue = string | number | boolean | null | undefined;
type AllowedFunction = DateFunction | UserFunction;
type AllowedFieldValue = PrimitiveFieldValue | AllowedFunction;
type UserValue = string | UserFunction;
export declare const createStringField: (code: string) => Readonly<{
like(pattern: string): Expression;
notLike(pattern: string): Expression;
contains(substr: string): Expression;
startsWith(prefix: string): Expression;
endsWith(suffix: string): Expression;
equals(value: string): Expression;
notEquals(value: string): Expression;
in(values: ReadonlyArray<string>): Expression;
notIn(values: ReadonlyArray<string>): Expression;
}>;
export declare const createNumberField: (code: string) => Readonly<{
greaterThan(value: number): Expression;
lessThan(value: number): Expression;
greaterThanOrEqual(value: number): Expression;
lessThanOrEqual(value: number): Expression;
between(minInclusive: number, maxInclusive: number): Expression;
equals(value: number): Expression;
notEquals(value: number): Expression;
in(values: ReadonlyArray<number>): Expression;
notIn(values: ReadonlyArray<number>): Expression;
}>;
export declare const createDropdownField: <T extends readonly string[]>(code: string, options: T) => Readonly<{
readonly options: T;
readonly in: (values: T[number][]) => Expression;
readonly notIn: (values: T[number][]) => Expression;
}>;
export declare const createCheckboxField: <T extends readonly string[]>(code: string, options: T) => Readonly<{
readonly options: T;
readonly in: (values: T[number][]) => Expression;
readonly notIn: (values: T[number][]) => Expression;
}>;
export declare const createDateField: (code: string) => Readonly<{
greaterThan(value: DateValue): Expression;
lessThan(value: DateValue): Expression;
greaterThanOrEqual(value: DateValue): Expression;
lessThanOrEqual(value: DateValue): Expression;
between(minInclusive: DateValue, maxInclusive: DateValue): Expression;
equals(value: DateValue): Expression;
notEquals(value: DateValue): Expression;
in(values: ReadonlyArray<DateValue>): Expression;
notIn(values: ReadonlyArray<DateValue>): Expression;
}>;
export declare const createDateTimeField: (code: string) => Readonly<{
greaterThan(value: DateValue): Expression;
lessThan(value: DateValue): Expression;
greaterThanOrEqual(value: DateValue): Expression;
lessThanOrEqual(value: DateValue): Expression;
between(minInclusive: DateValue, maxInclusive: DateValue): Expression;
equals(value: DateValue): Expression;
notEquals(value: DateValue): Expression;
in(values: ReadonlyArray<DateValue>): Expression;
notIn(values: ReadonlyArray<DateValue>): Expression;
}>;
export declare const createTimeField: (code: string) => Readonly<{
greaterThan(value: string): Expression;
lessThan(value: string): Expression;
greaterThanOrEqual(value: string): Expression;
lessThanOrEqual(value: string): Expression;
between(minInclusive: string, maxInclusive: string): Expression;
equals<T extends AllowedFieldValue>(value: T): Expression;
notEquals<T extends AllowedFieldValue>(value: T): Expression;
in(values: ReadonlyArray<string | number>): Expression;
notIn(values: ReadonlyArray<string | number>): Expression;
}>;
export declare const createUserField: (code: string) => Readonly<{
equals(value: UserValue): Expression;
notEquals(value: UserValue): Expression;
in(values: ReadonlyArray<UserValue>): Expression;
notIn(values: ReadonlyArray<UserValue>): Expression;
}>;
export declare const createOrgField: (code: string) => Readonly<{
equals(value: UserValue): Expression;
notEquals(value: UserValue): Expression;
in(values: ReadonlyArray<UserValue>): Expression;
notIn(values: ReadonlyArray<UserValue>): Expression;
}>;
export declare const createGroupField: (code: string) => Readonly<{
equals(value: UserValue): Expression;
notEquals(value: UserValue): Expression;
in(values: ReadonlyArray<UserValue>): Expression;
notIn(values: ReadonlyArray<UserValue>): Expression;
}>;
export declare const createRadioButtonField: <T extends readonly string[]>(code: string, options: T) => Readonly<{
readonly options: T;
readonly equals: (value: T[number]) => Expression;
readonly notEquals: (value: T[number]) => Expression;
readonly in: (values: T[number][]) => Expression;
readonly notIn: (values: T[number][]) => Expression;
}>;
export declare const createTableSubField: (code: string) => Readonly<{
readonly in: (values: ReadonlyArray<string | number>) => Expression;
readonly notIn: (values: ReadonlyArray<string | number>) => Expression;
}>;
//# sourceMappingURL=field.d.ts.map