Skip to content

Commit 7052258

Browse files
authored
refactor(transformers): reexport transform hooks (#16)
* refactor(transformers): reexport transform hooks * docs: update readme
1 parent 98091f7 commit 7052258

File tree

9 files changed

+32
-95
lines changed

9 files changed

+32
-95
lines changed

README.md

Lines changed: 1 addition & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,18 @@
11
## feathers-utils
22

3-
#### hooks
4-
5-
- added transformData, transformResult, rm alterItems
6-
- added discardData, discardResult, rm discard
7-
- moved to omitData, omitResult, rm omit
8-
- MaybeArray
9-
- added keepData, keepResult, rm keep
10-
- moved to pickData, pickResult, rm pick
11-
- MaybeArray
12-
- added lowercaseData, lowercaseResult, rm lowercase
13-
- MaybeArray
14-
- added setNowData, setNowResult, rm setNow
15-
16-
- removed several checks that are handled by typescript
17-
- removed check for `preventChanges(true, ...fieldNames)`
18-
- switch `true` to second argument options
19-
- async
20-
21-
- renamed 'keepQuery' to 'pickQuery', added alias
22-
- renamed 'required' to 'checkRequired', added alias
23-
24-
- removed 'runParallel'
25-
26-
- removed 'actOn', 'actOnDefault', 'actOnDispatch'
27-
28-
- added throwIf
29-
- added throwIfIsProvider
30-
- added throwIfIsMulti
31-
32-
- removed old paramsForServer & changed to hook
33-
34-
- removed 'callingParams'
35-
36-
- removed 'checkContextIf'
37-
38-
- added 'onDelete' & 'createRelated'
39-
- added 'checkMulti'
40-
- added 'shouldSkip' & 'skippable'
41-
42-
- stashBefore multi
43-
44-
- softDelete: added 'transformParams' & added 'key' option
45-
46-
- disallow: MaybeArray
47-
48-
- rm support for spread argument
49-
50-
- rm 'actOnDispatch' & 'actOnDefault'
51-
52-
- rm 'validate', 'validateSchema', 'setNow', 'sequelizeConvert', 'serialize', 'required', 'runHook', 'populate', 'pick', 'omit', 'mongoKeys', 'lowercase', 'lowerCase', 'keepQuery', 'keepQueryInArray', 'isNot', fgraphql', 'fastJoin', 'discard...', 'dePopulate', 'actOnDefault', 'actOnDispatch', 'sifter'
53-
54-
- softDelete: need to pass 'deletedQuery' and 'removeData'
55-
56-
- traverse options object & getObject explicitly required
57-
58-
- cache changed
59-
60-
#### predicates
61-
62-
- renamed 'isNot' to 'not' (added alias for 'isNot')
63-
- added predicate isMulti
64-
- added predicate isPaginated
65-
- added predicate isContext
66-
67-
#### utils
68-
69-
- added getDataIsArray, getResultIsArray, rm getItems
70-
- added mutateData, mutateResult, rm replaceItems
71-
- added util getPaginate
72-
- added util skipResult
73-
- rm 'runHook'
74-
75-
### Hooks to discuss
76-
77-
- cache
78-
- populate
79-
- dePopulate
80-
- fgraphql
81-
- fastJoin
82-
- sequelizeConvert
83-
- serialize
84-
853
<p align="center">
864
<img src="https://utils.feathersjs.com/feathers-utils-logo.png" width="200">
875
</p>
886

897
[![npm](https://img.shields.io/npm/v/feathers-utils)](https://www.npmjs.com/package/feathers-utils)
90-
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/feathersjs/feathers-utils/CI/master)](https://github.com/feathersjs/feathers-utils/actions/workflows/nodejs.yml?query=branch%3Amaster)
8+
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/feathersjs/feathers-utils/nodejs.yml)](https://github.com/feathersjs/feathers-utils/actions/workflows/nodejs.yml)
919
[![libraries.io](https://img.shields.io/librariesio/release/npm/feathers-utils)](https://libraries.io/npm/feathers-utils)
9210
[![npm](https://img.shields.io/npm/dm/feathers-utils)](https://www.npmjs.com/package/feathers-utils)
9311
[![GitHub license](https://img.shields.io/github/license/feathersjs/feathers-utils)](https://github.com/feathersjs/feathers-utils/blob/master/LICENSE)
9412
[![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/qa8kez8QBx)
9513

9614
A collection of useful hooks and utils to use with Feathers services.
9715

98-
> NOTE: This is the version for Feathers v5. For Feathers v4 use [feathers-utils v6](https://github.com/feathersjs/feathers-utils/tree/crow)
99-
10016
```
10117
npm install feathers-utils --save
10218
```

src/transformers/index.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,10 @@ export * from './parse-date/parse-date.transformer.js'
44
export * from './pick/pick.transformer.js'
55
export * from './set-now/set-now.transformer.js'
66
export * from './trim/trim.transformer.js'
7+
8+
// re-export hooks
9+
export * from '../hooks/transform-data/transform-data.hook.js'
10+
export * from '../hooks/transform-query/transform-query.hook.js'
11+
export * from '../hooks/transform-result/transform-result.hook.js'
12+
13+
export type { TransformerFn } from '../types.js'

src/transformers/lowercase/lowercase.transformer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import type { TransformerFn } from '../../types.js'
1010
*
1111
* @example
1212
* ```ts
13-
* import { transformData, transformResult } from 'feathers-utils/hooks'
14-
* import { lowercase } from 'feathers-utils/transformers'
13+
* import { transformData, transformResult, lowercase } from 'feathers-utils/transformers'
1514
*
1615
* {
1716
* before: {

src/transformers/omit/omit.transformer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import type { TransformerFn } from '../../types.js'
88
*
99
* @example
1010
* ```ts
11-
* import { transformData, transformResult } from 'feathers-utils/hooks'
12-
* import { omit } from 'feathers-utils/transformers'
11+
* import { transformData, transformResult, omit } from 'feathers-utils/transformers'
1312
*
1413
* {
1514
* before: {

src/transformers/parse-date/parse-date.transformer.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@ import _get from 'lodash/get.js'
33
import _set from 'lodash/set.js'
44
import type { TransformerFn } from '../../types.js'
55

6+
/**
7+
* Parses the specified fields of an item into Date objects.
8+
*
9+
* @example
10+
* ```ts
11+
* import { transformData, transformResult, transformQuery, parseDate } from 'feathers-utils/transformers'
12+
*
13+
* {
14+
* before: {
15+
* create: [transformData(parseDate(['startDate', 'endDate']))],
16+
* update: [transformData(parseDate(['startDate', 'endDate']))],
17+
* patch: [transformData(parseDate(['startDate', 'endDate']))],
18+
* }
19+
* }
20+
* ```
21+
*/
622
export const parseDate = (fieldNames: MaybeArray<string>): TransformerFn => {
723
const fieldNamesArr = toArray(fieldNames)
824

src/transformers/pick/pick.transformer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import type { TransformerFn } from '../../types.js'
88
*
99
* @example
1010
* ```ts
11-
* import { transformData, transformResult } from 'feathers-utils/hooks'
12-
* import { pick } from 'feathers-utils/transformers'
11+
* import { transformData, transformResult, pick } from 'feathers-utils/transformers'
1312
*
1413
* {
1514
* before: {

src/transformers/set-now/set-now.transformer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import type { TransformerFn } from '../../types.js'
88
*
99
* @example
1010
* ```ts
11-
* import { transformData, transformResult, transformQuery } from 'feathers-utils/hooks'
12-
* import { lowercase } from 'feathers-utils/transformers'
11+
* import { transformData, transformResult, transformQuery, setNow } from 'feathers-utils/transformers'
1312
*
1413
* {
1514
* before: {

src/transformers/trim/trim.transformer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import type { TransformerFn } from '../../types.js'
1010
*
1111
* @example
1212
* ```ts
13-
* import { transformData, transformResult } from 'feathers-utils/hooks'
14-
* import { trim } from 'feathers-utils/transformers'
13+
* import { transformData, transformResult, trim } from 'feathers-utils/transformers'
1514
*
1615
* {
1716
* before: {

test/index.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ const transformers = [
7575
'parseDate',
7676
'pick',
7777
'omit',
78+
'transformData',
79+
'transformQuery',
80+
'transformResult',
7881
] satisfies (keyof typeof exportedTransformers)[]
7982

8083
describe('expose', () => {

0 commit comments

Comments
 (0)