Skip to content

Commit

Permalink
feat(utils): adding new operator 'toClass'
Browse files Browse the repository at this point in the history
  • Loading branch information
xmlking committed Apr 18, 2019
1 parent 4543754 commit 9d12f8d
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 5 deletions.
1 change: 1 addition & 0 deletions libs/utils/src/index.ts
Expand Up @@ -3,5 +3,6 @@ export { waitUntil } from './lib/wait-until';
export { DeepPartial } from './lib/deep-partial';
export { ObjectLiteral } from './lib/object-literal';
export { delayAtLeast } from './lib/delay-at-least';
export { toClass } from './lib/to-class';
export { fromAsyncIterator } from './lib/from-async-iterator';
export * from './lib/require-multi';
9 changes: 9 additions & 0 deletions libs/utils/src/lib/to-class.ts
@@ -0,0 +1,9 @@
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';

/**
* Usage: http.get<User>('/users/1').pipe(toClass(User))
*/
export const toClass = <T>(ClassType: new() => T) => (source: Observable<T>) => source.pipe(
map(val => Object.assign(new ClassType(), val))
);
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -151,7 +151,7 @@
"filepond-plugin-image-transform": "^3.2.0",
"formidable": "^1.2.1",
"hammerjs": "^2.0.8",
"immer": "^3.0.0",
"immer": "^3.1.1",
"intersection-observer": "^0.5.1",
"keycloak-js": "^6.0.0",
"ngx-filepond": "^5.0.0",
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Expand Up @@ -8176,10 +8176,10 @@ image-size@~0.5.0:
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=

immer@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/immer/-/immer-3.0.0.tgz#3991440679116ec2d6b39b0ed5341e681b26ebcf"
integrity sha512-dqLrAUJz/G7vfcuQG6GdjOGm+5Mw9YJEvDRbEwHwzBPBRziZYevOq2P1pF//B07CG1l28ZsjSqLz+RziObkaDQ==
immer@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/immer/-/immer-3.1.1.tgz#eddd2c28403f494df604992c554eade8d9e5c2bb"
integrity sha512-8mH3vMqkvCy0jADoJGJR/+RNsIJOsrVhN1/8NBSLGV+Y4S8bSQ5i2VsDHu+1fm+IFhd8cZFX0shms2nsTBJUbA==

immutable@^3:
version "3.8.2"
Expand Down

0 comments on commit 9d12f8d

Please sign in to comment.