0.0.20 • Published 2 years ago

react-native-swisseph v0.0.20

Weekly downloads
1
License
MIT
Repository
-
Last release
2 years ago

Swiss Ephemeris binding for react-native

Getting started

$ npm install react-native-swisseph --save

Mostly automatic installation

  1. With autolinking (react-native 0.60+)

    cd ios && pod install

  2. Pre react-native 0.60

    $ react-native link react-native-swisseph

Manual installation

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-swisseph and add RNSwisseph.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNSwisseph.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.reactlibrary.RNSwissephPackage; to the imports at the top of the file
  • Add new RNSwissephPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-swisseph'
    project(':react-native-swisseph').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-swisseph/android')
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-swisseph')

Configure (Pre react-native 0.60)

  1. Open your project in xcode
  2. Right click your project root and select "Add Files to ..."
  3. Select "../node_modules/react-native-swisseph/android/src/main/assets" folder and click "OK"

Usage

Example:

    import swisseph from 'react-native-swisseph';

    //Getting julian day
    async julday() {
        let task1 = async () => swisseph.swe_julday(2012, 1, 1, 0, swisseph.SE_GREG_CAL).then(
            (result) => {
                return result;
            }
        );
        let task2 = async () => swisseph.swe_julday(1987, 2, 4, 10, swisseph.SE_GREG_CAL).then(
            (result) => {
                return result;
            }
        );
        let task3 = async () => swisseph.swe_julday(2003, 6, 1, 23, swisseph.SE_GREG_CAL).then(
            (result) => {

                return result;
            }
        );

        let [result1, result2, result3] = await Promise.all([
            task1(), task2(), task3()
        ]);
        let message = [
            ...this.state.message,
            "julday():" +JSON.stringify({
                'julday1' : result1,
                'julday2' : result2,
                'julday3' : result3
            })

        ];


        this.setState({
            message: message
        });

    }


    // Sun position
    async swe_calc_ut() {
        let flag = swisseph.SEFLG_SPEED | swisseph.SEFLG_MOSEPH;

        swisseph.swe_julday(2012, 1, 1, 0, swisseph.SE_GREG_CAL).then(
            (jul_ut) => {
                swisseph.swe_calc_ut (jul_ut, swisseph.SE_SUN, flag).then(
                    (result) => {
                        this.setState({
                            message: [
                                ...this.state.message,
                                "swe_calc_ut():" + JSON.stringify(result)
                            ]
                        });
                    }
                )


            }
        );

    }

Documentation

See Programming interface to the Swiss Ephemeris for more details.

References

License

The license for this project is the same as original Swiss Ephemeris.

0.0.20

2 years ago

0.0.19

3 years ago

0.0.18

4 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago