0.0.49 • Published 1 year ago
zhangyida-tools v0.0.49
例子
FileEntity
const {FileEntity} = require('../index');
const tempPath = FileEntity.pathJoin(__dirname, './temp');
const fileEntity = FileEntity.of(tempPath);
console.log(fileEntity)
const tempFile = fileEntity.createFile('temp.txt', 'test');
console.log(tempFile)
tempFile.rename('temp2.txt');
console.log(tempFile)
tempFile.remove();
控制台输出
FileEntity {
fileName: 'temp',
filePath: 'D:/Gitee/zh-tools/test/temp',
type: 'folder',
size: 0,
removed: false
}
FileEntity {
fileName: 'temp.txt',
filePath: 'D:/Gitee/zh-tools/test/temp/temp.txt',
type: 'file',
size: 4,
removed: false
}
FileEntity {
fileName: 'temp2.txt',
filePath: 'D:/Gitee/zh-tools/test/temp/temp2.txt',
type: 'file',
size: 4,
removed: false
}
array util
const {setProperty, getProperty, setProperties} = require('../index');
const users = [
{
id: 1,
name: 'zh',
age: 10,
department_id: 1,
role_ids: [1, 2]
}, {
id: 2,
name: 'zh2',
age: 11,
department_id: 1,
role_ids: [1, 3]
}, {
id: 3,
name: 'zh3',
age: 12,
department_id: 2,
role_ids: [2, 3]
}, {
id: 4,
name: 'zh4',
age: 13,
department_id: 2,
role_ids: [3]
},
]
const roles = [
{
id: 1,
name: 'User'
}, {
id: 2,
name: 'Admin'
},
{
id: 3,
name: 'Test'
},
]
const departments = [
{
id: 1,
name: 'department1'
}, {
id: 2,
name: 'department2'
},
]
const department_ids = getProperty(users, 'department_id');
console.log(department_ids)
setProperty(users, departments, (dbEntity, entity) => dbEntity.id === entity.department_id, (dbEntity, entity) => {
entity.department = dbEntity;
})
console.log(users)
setProperties(users, roles, (dbEntity, entity) => entity.role_ids.includes(dbEntity.id), (dbEntity, entity) => {
entity.roles = dbEntity
})
console.log(JSON.stringify(users, null, 2))
控制台输出
[ 1, 2 ]
[
{
id: 1,
name: 'zh',
age: 10,
department_id: 1,
role_ids: [ 1, 2 ],
department: { id: 1, name: 'department1' }
},
{
id: 2,
name: 'zh2',
age: 11,
department_id: 1,
role_ids: [ 1, 3 ],
department: { id: 1, name: 'department1' }
},
{
id: 3,
name: 'zh3',
age: 12,
department_id: 2,
role_ids: [ 2, 3 ],
department: { id: 2, name: 'department2' }
},
{
id: 4,
name: 'zh4',
age: 13,
department_id: 2,
role_ids: [ 3 ],
department: { id: 2, name: 'department2' }
}
]
[
{
"id": 1,
"name": "zh",
"age": 10,
"department_id": 1,
"role_ids": [
1,
2
],
"department": {
"id": 1,
"name": "department1"
},
"roles": [
{
"id": 1,
"name": "User"
},
{
"id": 2,
"name": "Admin"
}
]
},
{
"id": 2,
"name": "zh2",
"age": 11,
"department_id": 1,
"role_ids": [
1,
3
],
"department": {
"id": 1,
"name": "department1"
},
"roles": [
{
"id": 1,
"name": "User"
},
{
"id": 3,
"name": "Test"
}
]
},
{
"id": 3,
"name": "zh3",
"age": 12,
"department_id": 2,
"role_ids": [
2,
3
],
"department": {
"id": 2,
"name": "department2"
},
"roles": [
{
"id": 2,
"name": "Admin"
},
{
"id": 3,
"name": "Test"
}
]
},
{
"id": 4,
"name": "zh4",
"age": 13,
"department_id": 2,
"role_ids": [
3
],
"department": {
"id": 2,
"name": "department2"
},
"roles": [
{
"id": 3,
"name": "Test"
}
]
}
]
描述文件
export class FileEntity {
fileName: string
filePath: string
type: 'folder' | 'file'
size: number
removed: boolean
getParentFolderPath(): string;
static fetch(path: string, isFolder?: boolean): FileEntity[]
getNewPath(targetPath: string, isMove?: boolean): string;
static of(filePath: string): FileEntity
remove(): void;
isDirectory(): boolean;
isFile(): boolean;
move(targetPath: string): void
rename(newName: string): void
copy(targetPath: string): void
static validateDir(targetPath: string): void
static pathJoin(...paths: string[]): string
createChildFolder(name: string): FileEntity
createFile(name: string, fileContent: any): FileEntity
}
export type Pipe<Entity> = (element: Entity) => object | void
export function getProperty<Entity>(entities: Entity[], propertyName?: string, pipe?: Pipe<Entity>);
export type Match<Entity, DbEntity> = (dbEntity: DbEntity, entity: Entity) => boolean;
export type Set<Entity, DbEntity> = (dbEntity: DbEntity | DbEntity[], entity: Entity) => Entity | void;
export type NotFoundProcess<Entity> = (entity: Entity) => void;
export type MatchAndSet<Entity, DbEntity> = {
match: Match<Entity, DbEntity>,
set: Set<Entity, DbEntity>
}
export function setProperty<Entity, DbEntity>(entities: Entity[], dbEntities: DbEntity[], match: Match<Entity, DbEntity>, set: Set<Entity, DbEntity>, moreMatchAndSet?: MatchAndSet<Entity, DbEntity>[]);
export function setProperties<Entity, DbEntity>(entities: Entity[], dbEntities: DbEntity[], match: Match<Entity, DbEntity>, set: Set<Entity, DbEntity>);
0.0.43
1 year ago
0.0.44
1 year ago
0.0.45
1 year ago
0.0.46
1 year ago
0.0.47
1 year ago
0.0.48
1 year ago
0.0.49
1 year ago
0.0.40
1 year ago
0.0.41
1 year ago
0.0.42
1 year ago
0.0.37
2 years ago
0.0.38
2 years ago
0.0.39
1 year ago
0.0.30
2 years ago
0.0.31
2 years ago
0.0.32
2 years ago
0.0.33
2 years ago
0.0.34
2 years ago
0.0.35
2 years ago
0.0.36
2 years ago
0.0.27
2 years ago
0.0.28
2 years ago
0.0.29
2 years ago
0.0.21
2 years ago
0.0.22
2 years ago
0.0.23
2 years ago
0.0.24
2 years ago
0.0.25
2 years ago
0.0.26
2 years ago
0.0.20
2 years ago
0.0.10
2 years ago
0.0.11
2 years ago
0.0.12
2 years ago
0.0.13
2 years ago
0.0.14
2 years ago
0.0.3
2 years ago
0.0.2
2 years ago
0.0.15
2 years ago
0.0.9
2 years ago
0.0.16
2 years ago
0.0.8
2 years ago
0.0.17
2 years ago
0.0.18
2 years ago
0.0.19
2 years ago
0.0.5
2 years ago
0.0.4
2 years ago
0.0.7
2 years ago
0.0.6
2 years ago
0.0.1
2 years ago