chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:24:55 +08:00
commit 7baeb17845
15305 changed files with 2077301 additions and 0 deletions
@@ -0,0 +1,23 @@
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export const simulateFetch = (v: any) =>
new Promise(resolve => {
setTimeout(() => {
resolve(v);
}, 2000);
});
@@ -0,0 +1,33 @@
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { format } from 'date-fns';
import { FieldItemType } from '@coze-arch/bot-api/memory';
export const getDefaultValue = (type: FieldItemType) => {
if (type === FieldItemType.Boolean) {
return false;
} else if ([FieldItemType.Number, FieldItemType.Float].includes(type)) {
return 0;
} else if (type === FieldItemType.Text) {
return '';
} else if (type === FieldItemType.Date) {
// TODO: @liushuoyan There may be a time zone problem here, please pay attention when joint debugging
return format(new Date(), 'yyyy-MM-dd HH:mm:ss');
} else {
return undefined;
}
};
@@ -0,0 +1,18 @@
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- as expected
export const isEmptyValue = (value: any) => value === '' || value === undefined;
@@ -0,0 +1,48 @@
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// The maximum and minimum values of int64
export const INT64_MAX = BigInt('9223372036854775807');
export const INT64_MIN = BigInt('-9223372036854775808');
/**
* Check if the value is in the int64 range
* @Param value - string to check
* @returns
* If it is a valid integer in the int64 range, return true.
* If invalid or out of range, return false
*/
export const isInInt64Range = (value: string): boolean => {
if (
value === '' ||
value === undefined ||
value === null ||
Number.isNaN(value)
) {
return false;
}
try {
const bigIntValue = BigInt(value);
if (bigIntValue > INT64_MAX || bigIntValue < INT64_MIN) {
return false;
}
return true;
// eslint-disable-next-line @coze-arch/use-error-in-catch -- normal business logic
} catch {
return false;
}
};
@@ -0,0 +1,32 @@
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {
RowInternalStatus,
type TableData,
} from '../components/database-table-data/type';
export const isTableDataErrorOrUnSubmit = (tableData: TableData) => {
const hasErrorOrUnSubmit =
Boolean(tableData.dataList.length) &&
tableData.dataList.some(item =>
[RowInternalStatus.UnSubmit, RowInternalStatus.Error].includes(
item.internalStatus,
),
);
return hasErrorOrUnSubmit;
};
@@ -0,0 +1,54 @@
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { type ColumnProps } from '@coze-arch/coze-design';
import { type TableRow } from '../components/database-table-data/type';
const FIXED_COLUMN_WIDTH = 60;
const MIN_COLUMN_WIDTH = 100;
/**
* Callbacks when table columns are scaled to limit the scaling boundaries
* @param column
* @returns
*/
export const resizeFn = (
column: ColumnProps<TableRow>,
): ColumnProps<TableRow> => {
// The checkbox/serial number column is not retractable
if (column.key === 'column-selection') {
return {
...column,
resizable: false,
width: FIXED_COLUMN_WIDTH,
};
}
// Fixed columns (action columns) are not scalable
if (column.fixed) {
return {
...column,
resizable: false,
};
}
// The remaining field columns are scalable, but the minimum width needs to be limited
return {
...column,
width:
Number(column.width) < MIN_COLUMN_WIDTH
? MIN_COLUMN_WIDTH
: Number(column.width),
};
};