tachybase_todo/packages/plugins/@nocobase/plugin-mock-collections/src/server/field-interfaces/sequence.ts
chenos 3b5b732a1a
feat: plugin-mock-collections (#2988)
* feat: plugin-mock-collections

* fix: mock bug

* feat: field interfaces

* fix: field interface

* fix: formula

* fix: file collection

* fix: map

* refactor: change api path from :create to :mock

* fix: avoid test failed

* chore: remove useless code

* fix: mock records

* fix: association

* feat: custom data

* fix: mockAttachment

* fix: count

---------

Co-authored-by: Rain <958414905@qq.com>
2023-11-10 11:32:03 +08:00

36 lines
752 B
TypeScript

import { randomInt } from 'crypto';
export const sequence = {
options: (options) => {
const defaults = {
type: 'sequence',
uiSchema: {
type: 'string',
'x-component': 'Input',
'x-component-props': {},
},
patterns: [
{
type: 'integer',
options: {
digits: 1,
start: 0,
key: randomInt(1 << 16),
cycle: '0 0 * * *',
},
},
],
};
if (options.patterns) {
defaults.patterns = options.patterns.map((p) => {
if (p.type === 'integer') {
p.options.key = randomInt(1 << 16);
}
return p;
});
delete options.patterns;
}
return defaults;
},
};