UNPKG

create-expo-cljs-app

Version:

Create a react native application with Expo and Shadow-CLJS!

126 lines (119 loc) 3.26 kB
/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ 'use strict'; const {NativeModules} = require('react-native'); const BatchedBridge = require('react-native/Libraries/BatchedBridge/BatchedBridge'); const {Recording} = NativeModules; const TestJSToJavaParametersModule = { returnBasicTypes: function() { Recording.receiveBasicTypes('foo', 3.14, true, null); }, returnBoxedTypes: function() { Recording.receiveBoxedTypes(42, 3.14, true); }, returnDynamicTypes: function() { Recording.receiveDynamic('foo'); Recording.receiveDynamic(3.14); }, returnArrayWithBasicTypes: function() { Recording.receiveArray(['foo', 3.14, -111, true, null]); }, returnNestedArray: function() { Recording.receiveArray(['we', ['have', ['to', ['go', ['deeper']]]]]); }, returnArrayWithMaps: function() { Recording.receiveArray([{m1k1: 'm1v1', m1k2: 'm1v2'}, {m2k1: 'm2v1'}]); }, returnMapWithBasicTypes: function() { Recording.receiveMap({ stringKey: 'stringValue', doubleKey: 3.14, intKey: -11, booleanKey: true, nullKey: null, }); }, returnNestedMap: function() { Recording.receiveMap({ weHaveToGoDeeper: { inception: true, }, }); }, returnMapWithArrays: function() { Recording.receiveMap({ empty: [], ints: [43, 44], mixed: [77, 'string', ['another', 'array']], }); }, returnArrayWithStringDoubleIntMapArrayBooleanNull: function() { Recording.receiveArray(['string', 3.14, 555, {}, [], true, null]); }, returnMapWithStringDoubleIntMapArrayBooleanNull: function() { Recording.receiveMap({ string: 'string', double: 3, map: {}, int: -55, array: [], boolean: true, null: null, }); }, returnArrayWithLargeInts: function() { Recording.receiveArray([2147483648, -5555555555]); }, returnMapWithLargeInts: function() { Recording.receiveMap({first: -2147483649, second: 5551231231}); }, returnMapForMerge1: function() { Recording.receiveMap({ a: 1, b: 41, c: 'string', d: 'other string', e: [1, 'foo', 'bar'], f: null, }); }, returnMapForMerge2: function() { Recording.receiveMap({ a: 'overwrite', d: 77, e: null, f: ['array', 'with', 'stuff'], newkey: 'newvalue', }); }, returnMapWithMultibyteUTF8CharacterString: function() { Recording.receiveMap({ 'one-byte': 'a', 'two-bytes': '\u00A2', 'three-bytes': '\u20AC', 'four-bytes': '\uD83D\uDE1C', mixed: '\u017C\u00F3\u0142\u0107 g\u0119\u015Bl\u0105 \u6211 \uD83D\uDE0E ja\u017A\u0107', }); }, returnArrayWithMultibyteUTF8CharacterString: function() { Recording.receiveArray([ 'a', '\u00A2', '\u20AC', '\uD83D\uDE1C', '\u017C\u00F3\u0142\u0107 g\u0119\u015Bl\u0105 \u6211 \uD83D\uDE0E ja\u017A\u0107', ]); }, }; BatchedBridge.registerCallableModule( 'TestJSToJavaParametersModule', TestJSToJavaParametersModule, ); module.exports = TestJSToJavaParametersModule;