{ "id": "154966", "key": "TIMOB-20418", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-03-24T12:57:31.000+0000", "created": "2016-02-17T12:50:43.000+0000", "epic": { "id": 154964, "key": "TIMOB-20416", "name": "Support Hyperloop modules", "summary": "Support Hyperloop modules in Titanium Mobile", "color": { "key": "color_8" }, "done": false }, "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-07-21T23:27:36.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "13715", "name": "Hyperloop", "description": "Hyperloop project" } ], "description": "A lot of important type validations during both SDK- and module-development are currently realized by using macros we provide. These are for example:\r\n- ENSURE_TYPE(): Validate arguments to be from a specific type\r\n- ENSURE_SINGLE_ARG_OR_NIL(): Validates the argument length or provides a fallback\r\n- NUMINT/NUMFLOAT/NUMBOOL: Converts native types to proxy-readable NSNumbers\r\n- DEPRECATED_REPLACE: Logs a warning for deprecated API's, commonly used inside the SDK\r\n- RELEASE_TO_NIL: Does the common cleanup of allocated objects\r\n\r\nThe proposal would be, to bridge those macros into Javascript-methods that are pre-processed and available without any requirement, or be part of the bridged TiUtils which is discussed in TIMOB-20417.", "attachment": [], "flagged": false, "summary": "Hyperloop: Expose ObjC-macros in Javascript", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "closedSprints": [ { "id": 597, "state": "closed", "name": "2016 Sprint 06 SDK", "startDate": "2016-03-12T01:30:59.982Z", "endDate": "2016-03-26T00:30:00.000Z", "completeDate": "2016-03-28T03:38:09.726Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "380601", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Closing this ticket since the changes will be part of TIMOB-20417", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-24T12:56:54.000+0000", "updated": "2016-03-24T12:56:54.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }