objective-c-parser

1.2.4 • Public • Published

objective-c-parser Build Status Coverage Status BCH compliance

Get an objective-c header file and translate it to equivalent javascript calls

Install

$ npm install objective-c-parser

Usage

const fs = require("fs");
const objectiveCParser = require("objective-c-parser");
const content = fs.readFileSync("/path/to/objective-c/Ponies.h");
 
const output = objectiveCParser(content);
 
fs.writeFileSync("/path/to/project/ponies.json", output);

Example

#import <Foundation/Foundation.h>
@protocol Ponies, Foo;
@interface BasicName : NSObject 
 
// Another comment 
@property(nonatomicreadonly) uninteresting<IgnorePlease> matcher;
 
 
// This is the comment of basic method one 
(NSInteger)basicMethodOne;
 
/**
 *  This is the comment of basic method two.
 *  It has multiple lines
 */
(NSString) basicMethodTwoWithArgOne:(NSInteger)argOne AndArgTwo:(NSString)argTwo;
@end
{
    "name": "BasicName",
    "methods": [
        {
            "args": [],
            "comment": "This is the comment of basic method one",
            "name": "basicMethodOne",
            "returnType": "NSInteger"
        },
        {
            "args": [
                {
                    "type": "NSInteger",
                    "name": "argOne"
                },
                {
                    "type": "NSString",
                    "name": "argTwo"
                }
            ],
            "comment":
                "This is the comment of basic method two.\nIt has multiple lines",
            "name": "basicMethodTwoWithArgOneAndArgTwo",
            "returnType": "NSString"
        }
    ]
}

Please be aware that name can be undefined if the headerfile does not contain an @interface declaration.

License

MIT © Daniel Schmidt

Dependencies (0)

    Dev Dependencies (6)

    Package Sidebar

    Install

    npm i objective-c-parser

    Weekly Downloads

    2

    Version

    1.2.4

    License

    MIT

    Unpacked Size

    12.9 kB

    Total Files

    8

    Last publish

    Collaborators

    • dschmidt