@spring-neardao.near [Posted on DevHub](/devgovgigs.near/widget/Post?id=2181) ## Solution: DevHub Developer Contributor report by Spring Chiu for 11/03/2023 - 11/19/2023 ###### Requested amount: 1300 USDT ###### Requested sponsor: @neardevdao.near |Date |Amount |Task |Issue |Description | | ---- | ---- | ---- | ---- | ---- | | 20231103 | 2 | Investigate on how to save Class instance's method after it derserialized from obj | https://github.com/near/near-sdk-js/issues/239 | I used Object.assign to Deep copy Class methods in deserialized Class from object and I tested deserialized Class instance from object in [this commit](https://github.com/fospring/typescript/commit/f5157d1bbd4755733ed33535972169238df7925c), which can reserve origin classs instance's methods | | 20231104 | 6 | Investigate on how to deserialized Class instance with nested Class | https://github.com/near/near-sdk-js/issues/239 | I tested and deserialized Class instance with nested with nested class, with library [loadash](https://github.com/fospring/typescript/commit/65fc534df61eecd0fe97cc0efc17f727ae39e3e0#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519) in [this commit](https://github.com/fospring/typescript/commit/65fc534df61eecd0fe97cc0efc17f727ae39e3e0) | | 20231113 | 2 | Investigate on deserialized js class which haven't inner data fields' type info | https://github.com/near/near-sdk-js/issues/239 | Js Class haven't inner data fields' type info which is different with typescript Class. I tested deserialized js class instance from object in [this commit](https://github.com/fospring/typescript/pull/2/commits/22f9f4a286509009d82f984f6f941da560b49d2e) and it turn out that deserialized js instance remaining the methods of Class instance| | 20231115 | 2 | Investigate on how to store Class metadata and use metadata in deserialized class instance | https://github.com/near/near-sdk-js/issues/239 | use schema to store Class metadata to deserialized Class instance, I use static member of schema to save metadata and deserialized class instance in [this commit](https://github.com/fospring/typescript/pull/2/commits/dd989dde15fb579bbf6a84775c73ed5731d01234)| | 20231117 | 2 | Investigate on handling deserialization of normal case,array type | https://github.com/near/near-sdk-js/issues/239 | I tested to deserialized map and array type in [this commit](https://github.com/fospring/typescript/pull/2/commits/0f80a32f4176f77d5b455822833feb4d99256cc8), and learned the deserailized method from borsh which we could take some references from borsh | | 20231118 | 6 | Investigate on handing deserialization of UnorderMap and other collections type | https://github.com/near/near-sdk-js/issues/239 | I tested and create Mock UnorderMap in pull request's newest [commit](https://github.com/fospring/typescript/pull/2). I used static schema and synamic method of [subtype()](https://github.com/fospring/typescript/pull/2/files#diff-c72a907ac323cd2f334ed0e2bd07d15ab62581c4753660c8a0d1c681b30be4b6R137) to store inner data's type of collections which can be use to optimize `get` method of those collections.I will test it further in [this MR](https://github.com/fospring/near-sdk-js/pull/2/files) to accomplish deserialized collections in near-sdk-js| Total hours: 20 Cost Total hours: 20 Rate: $65/hour: Based on the application of [Idea: Engineering -- DevDAO dev](https://near.social/devgovgigs.near/widget/gigs-board.pages.Post?id=729) Total amount: $1300 USDC