JSObject MediaQueryInfoType_to_js(const JSContext& js_context, const MediaQueryInfoType& config) { auto object = js_context.CreateObject(); object.SetProperty("exact", js_context.CreateBoolean(config.exact)); object.SetProperty("value", config.value); return object; }
JSObject AcceptDict_to_js(const JSContext& js_context, const AcceptDict& config) { auto object = js_context.CreateObject(); object.SetProperty("error", config.error); object.SetProperty("timeout", js_context.CreateNumber(static_cast<double>(config.timeout.count()))); return object; }
JSObject AppModule::RectToJS(const JSContext& js_context, const Windows::Foundation::Rect& rect) { auto obj = js_context.CreateObject(); obj.SetProperty("width", js_context.CreateNumber(rect.Width)); obj.SetProperty("height", js_context.CreateNumber(rect.Height)); obj.SetProperty("x", js_context.CreateNumber(rect.X)); obj.SetProperty("y", js_context.CreateNumber(rect.Y)); return obj; }
// TODO: implement this JSObject Gradient_to_js(const JSContext& js_context, const Gradient& gradient) { auto object = js_context.CreateObject(); object.SetProperty("type", js_context.CreateNumber(static_cast<std::underlying_type<GRADIENT_TYPE>::type>(gradient.type))); object.SetProperty("backfillStart", js_context.CreateBoolean(gradient.backfillStart)); object.SetProperty("backfillEnd", js_context.CreateBoolean(gradient.backfillEnd)); object.SetProperty("endRadius", js_context.CreateNumber(gradient.endRadius)); object.SetProperty("startRadius", js_context.CreateNumber(gradient.startRadius)); return object; }
JSObject MapRegionTypev2_to_js(const JSContext& js_context, MapRegionTypev2 value) { auto object = js_context.CreateObject(); object.SetProperty("bearing", js_context.CreateNumber(value.bearing)); object.SetProperty("latitude", js_context.CreateNumber(value.latitude)); object.SetProperty("latitudeDelta", js_context.CreateNumber(value.latitudeDelta)); object.SetProperty("longitude", js_context.CreateNumber(value.longitude)); object.SetProperty("longitudeDelta", js_context.CreateNumber(value.longitudeDelta)); object.SetProperty("tilt", js_context.CreateNumber(value.tilt)); object.SetProperty("zoom", js_context.CreateNumber(value.zoom)); return object; }
JSObject CameraMediaItemType_to_js(const JSContext& js_context, const CameraMediaItemType& config) { auto object = js_context.CreateObject(); object.SetProperty("code", js_context.CreateNumber(config.code)); object.SetProperty("cropRect", Titanium::UI::Dimension_to_js(js_context, config.cropRect)); object.SetProperty("error", js_context.CreateString(config.error)); if (config.media != nullptr) { object.SetProperty("media", config.media->get_object()); } object.SetProperty("mediaType", js_context.CreateNumber(static_cast<std::uint32_t>(config.mediaType))); object.SetProperty("success", js_context.CreateBoolean(config.success)); return object; }
JSObject PushNotificationConfig_to_js(const JSContext& js_context, const PushNotificationConfig& config) { auto object = js_context.CreateObject(); object.SetProperty("callback", config.callback); object.SetProperty("error", config.error); object.SetProperty("success", config.success); std::vector<JSValue> js_types; for (const auto t : config.types) { js_types.push_back(js_context.CreateNumber(Titanium::Network::Constants::to_underlying_type(t))); } object.SetProperty("types", js_context.CreateArray(js_types)); return object; }
void JSClass::ConstructorInitializeCallback(const JSContext& js_context, JSObject& this_object) const { if (!this_object.HasProperty("prototype")) { auto js_object = js_context.CreateObject(); this_object.SetProperty("prototype", js_object); } auto proto_object = static_cast<JSObject>(this_object.GetProperty("prototype")); for (const auto v : prototype_functions_map__) { // // NOTE: On HAL, there's no difference between object "static" property and prototype property // so add it to both // this_object.SetProperty(v.first, JSObjectMakeFunctionWithCallback(js_context, v.first, v.second)); proto_object.SetProperty(v.first, JSObjectMakeFunctionWithCallback(js_context, v.first, v.second)); } }
JSObject ShowContactsParams_to_js(const JSContext& js_context, const ShowContactsParams& dict) { auto object = js_context.CreateObject(); object.SetProperty("animated", js_context.CreateBoolean(dict.animated)); object.SetProperty("cancel", dict.callbacks.cancel); std::vector<JSValue> js_fields; for (const auto f : dict.fields) { js_fields.push_back(js_context.CreateString(f)); } object.SetProperty("fields", js_context.CreateArray(js_fields)); object.SetProperty("selectedPerson", dict.callbacks.selectedPerson); object.SetProperty("selectedProperty", dict.callbacks.selectedProperty); return object; };
JSObject RouteDescription_to_js(const JSContext& js_context, const RouteDescription& config) { auto object = js_context.CreateObject(); std::vector<JSValue> js_inputs; for (const auto v : config.inputs) { js_inputs.push_back(js_context.CreateNumber(static_cast<std::uint32_t>(v))); } std::vector<JSValue> js_outputs; for (const auto v : config.outputs) { js_outputs.push_back(js_context.CreateNumber(static_cast<std::uint32_t>(v))); } object.SetProperty("inputs", js_context.CreateArray(js_inputs)); object.SetProperty("outputs", js_context.CreateArray(js_outputs)); return object; }
bool Analytics::loadJS() { if (ti_analytics__.HasProperty("lastEvent") && ti_analytics__.HasProperty("featureEvent") && ti_analytics__.HasProperty("navEvent")) { return true; } JSContext context = get_context(); auto export_object = context.CreateObject(); export_object.SetProperty("global", context.get_global_object()); context.JSEvaluateScript(analytics_js, export_object); if (export_object.HasProperty("exports")) { ti_analytics__ = static_cast<JSObject>(export_object.GetProperty("exports")); } else { return false; } return true; }
JSObject Emails_to_js(const JSContext& js_context, const Emails& emails) { auto object = js_context.CreateObject(); std::vector<JSValue> js_home; for (const auto email : emails.home) { js_home.push_back(js_context.CreateString(email)); } object.SetProperty("home", js_context.CreateArray(js_home)); std::vector<JSValue> js_work; for (const auto email : emails.work) { js_work.push_back(js_context.CreateString(email)); } object.SetProperty("work", js_context.CreateArray(js_work)); std::vector<JSValue> js_other; for (const auto email : emails.other) { js_other.push_back(js_context.CreateString(email)); } object.SetProperty("other", js_context.CreateArray(js_other)); return object; };