mirror of
https://github.com/zhigang1992/react-native-swiper.git
synced 2026-05-07 10:33:03 +08:00
first ci
This commit is contained in:
74
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/ExceptionsManager.js
generated
vendored
Normal file
74
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/ExceptionsManager.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule ExceptionsManager
|
||||
* @flow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var Platform = require('Platform');
|
||||
var RCTExceptionsManager = require('NativeModules').ExceptionsManager;
|
||||
|
||||
var loadSourceMap = require('loadSourceMap');
|
||||
var parseErrorStack = require('parseErrorStack');
|
||||
|
||||
var sourceMapPromise;
|
||||
|
||||
type Exception = {
|
||||
sourceURL: string;
|
||||
line: number;
|
||||
message: string;
|
||||
}
|
||||
|
||||
function handleException(e: Exception) {
|
||||
var stack = parseErrorStack(e);
|
||||
console.error(
|
||||
'Error: ' +
|
||||
'\n stack: \n' + stackToString(stack) +
|
||||
'\n URL: ' + e.sourceURL +
|
||||
'\n line: ' + e.line +
|
||||
'\n message: ' + e.message
|
||||
);
|
||||
|
||||
if (RCTExceptionsManager) {
|
||||
RCTExceptionsManager.reportUnhandledException(e.message, stack);
|
||||
if (__DEV__) {
|
||||
(sourceMapPromise = sourceMapPromise || loadSourceMap())
|
||||
.then(map => {
|
||||
var prettyStack = parseErrorStack(e, map);
|
||||
RCTExceptionsManager.updateExceptionMessage(e.message, prettyStack);
|
||||
})
|
||||
.then(null, error => {
|
||||
console.error('#CLOWNTOWN (error while displaying error): ' + error.message);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function stackToString(stack) {
|
||||
var maxLength = Math.max.apply(null, stack.map(frame => frame.methodName.length));
|
||||
return stack.map(frame => stackFrameToString(frame, maxLength)).join('\n');
|
||||
}
|
||||
|
||||
function stackFrameToString(stackFrame, maxLength) {
|
||||
var fileNameParts = stackFrame.file.split('/');
|
||||
var fileName = fileNameParts[fileNameParts.length - 1];
|
||||
|
||||
if (fileName.length > 18) {
|
||||
fileName = fileName.substr(0, 17) + '\u2026' /* ... */;
|
||||
}
|
||||
|
||||
var spaces = fillSpaces(maxLength - stackFrame.methodName.length);
|
||||
return ' ' + stackFrame.methodName + spaces + ' ' + fileName + ':' + stackFrame.lineNumber;
|
||||
}
|
||||
|
||||
function fillSpaces(n) {
|
||||
return new Array(n + 1).join(' ');
|
||||
}
|
||||
|
||||
module.exports = { handleException };
|
||||
142
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/InitializeJavaScriptAppEngine.js
generated
vendored
Normal file
142
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/InitializeJavaScriptAppEngine.js
generated
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* Sets up global variables typical in most JavaScript environments.
|
||||
*
|
||||
* 1. Global timers (via `setTimeout` etc).
|
||||
* 2. Global console object.
|
||||
* 3. Hooks for printing stack traces with source maps.
|
||||
*
|
||||
* Leaves enough room in the environment for implementing your own:
|
||||
* 1. Require system.
|
||||
* 2. Bridged modules.
|
||||
*
|
||||
* @providesModule InitializeJavaScriptAppEngine
|
||||
*/
|
||||
|
||||
/* eslint global-strict: 0 */
|
||||
/* globals GLOBAL: true, window: true */
|
||||
|
||||
// Just to make sure the JS gets packaged up.
|
||||
require('RCTDeviceEventEmitter');
|
||||
|
||||
if (typeof GLOBAL === 'undefined') {
|
||||
GLOBAL = this;
|
||||
}
|
||||
|
||||
if (typeof window === 'undefined') {
|
||||
window = GLOBAL;
|
||||
}
|
||||
|
||||
/**
|
||||
* The document must be shimmed before anything else that might define the
|
||||
* `ExecutionEnvironment` module (which checks for `document.createElement`).
|
||||
*/
|
||||
function setupDocumentShim() {
|
||||
// The browser defines Text and Image globals by default. If you forget to
|
||||
// require them, then the error message is very confusing.
|
||||
function getInvalidGlobalUseError(name) {
|
||||
return new Error(
|
||||
'You are trying to render the global ' + name + ' variable as a ' +
|
||||
'React element. You probably forgot to require ' + name + '.'
|
||||
);
|
||||
}
|
||||
GLOBAL.Text = {
|
||||
get defaultProps() {
|
||||
throw getInvalidGlobalUseError('Text');
|
||||
}
|
||||
};
|
||||
GLOBAL.Image = {
|
||||
get defaultProps() {
|
||||
throw getInvalidGlobalUseError('Image');
|
||||
}
|
||||
};
|
||||
// Force `ExecutionEnvironment.canUseDOM` to be false.
|
||||
if (GLOBAL.document) {
|
||||
GLOBAL.document.createElement = null;
|
||||
}
|
||||
|
||||
// There is no DOM so MutationObserver doesn't make sense. It is used
|
||||
// as feature detection in Bluebird Promise implementation
|
||||
GLOBAL.MutationObserver = undefined;
|
||||
}
|
||||
|
||||
function handleErrorWithRedBox(e) {
|
||||
try {
|
||||
require('ExceptionsManager').handleException(e);
|
||||
} catch(ee) {
|
||||
console.log('Failed to print error: ', ee.message);
|
||||
}
|
||||
}
|
||||
|
||||
function setupRedBoxErrorHandler() {
|
||||
var ErrorUtils = require('ErrorUtils');
|
||||
ErrorUtils.setGlobalHandler(handleErrorWithRedBox);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up a set of window environment wrappers that ensure that the
|
||||
* BatchedBridge is flushed after each tick. In both the case of the
|
||||
* `UIWebView` based `RCTJavaScriptCaller` and `RCTContextCaller`, we
|
||||
* implement our own custom timing bridge that should be immune to
|
||||
* unexplainably dropped timing signals.
|
||||
*/
|
||||
function setupTimers() {
|
||||
var JSTimers = require('JSTimers');
|
||||
GLOBAL.setTimeout = JSTimers.setTimeout;
|
||||
GLOBAL.setInterval = JSTimers.setInterval;
|
||||
GLOBAL.setImmediate = JSTimers.setImmediate;
|
||||
GLOBAL.clearTimeout = JSTimers.clearTimeout;
|
||||
GLOBAL.clearInterval = JSTimers.clearInterval;
|
||||
GLOBAL.clearImmediate = JSTimers.clearImmediate;
|
||||
GLOBAL.cancelAnimationFrame = JSTimers.clearInterval;
|
||||
GLOBAL.requestAnimationFrame = function(cb) {
|
||||
/*requestAnimationFrame() { [native code] };*/ // Trick scroller library
|
||||
return JSTimers.requestAnimationFrame(cb); // into thinking it's native
|
||||
};
|
||||
}
|
||||
|
||||
function setupAlert() {
|
||||
var RCTAlertManager = require('NativeModules').AlertManager;
|
||||
if (!GLOBAL.alert) {
|
||||
GLOBAL.alert = function(text) {
|
||||
var alertOpts = {
|
||||
title: 'Alert',
|
||||
message: '' + text,
|
||||
buttons: [{'cancel': 'Okay'}],
|
||||
};
|
||||
RCTAlertManager.alertWithArgs(alertOpts, null);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function setupPromise() {
|
||||
// The native Promise implementation throws the following error:
|
||||
// ERROR: Event loop not supported.
|
||||
GLOBAL.Promise = require('Promise');
|
||||
}
|
||||
|
||||
function setupXHR() {
|
||||
// The native XMLHttpRequest in Chrome dev tools is CORS aware and won't
|
||||
// let you fetch anything from the internet
|
||||
GLOBAL.XMLHttpRequest = require('XMLHttpRequest');
|
||||
GLOBAL.fetch = require('fetch');
|
||||
}
|
||||
|
||||
function setupGeolocation() {
|
||||
GLOBAL.navigator = GLOBAL.navigator || {};
|
||||
GLOBAL.navigator.geolocation = require('Geolocation');
|
||||
}
|
||||
|
||||
setupDocumentShim();
|
||||
setupRedBoxErrorHandler();
|
||||
setupTimers();
|
||||
setupAlert();
|
||||
setupPromise();
|
||||
setupXHR();
|
||||
setupGeolocation();
|
||||
1963
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/SourceMap.js
generated
vendored
Normal file
1963
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/SourceMap.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
49
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/loadSourceMap.js
generated
vendored
Normal file
49
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/loadSourceMap.js
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule loadSourceMap
|
||||
*
|
||||
* -- disabled flow due to mysterious validation errors --
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var Promise = require('Promise');
|
||||
var RCTSourceCode = require('NativeModules').SourceCode;
|
||||
var SourceMapConsumer = require('SourceMap').SourceMapConsumer;
|
||||
var SourceMapURL = require('./source-map-url');
|
||||
|
||||
var fetch = require('fetch');
|
||||
|
||||
function loadSourceMap(): Promise {
|
||||
return fetchSourceMap()
|
||||
.then(map => new SourceMapConsumer(map));
|
||||
}
|
||||
|
||||
function fetchSourceMap(): Promise {
|
||||
if (global.RAW_SOURCE_MAP) {
|
||||
return Promise.resolve(global.RAW_SOURCE_MAP);
|
||||
}
|
||||
|
||||
if (!RCTSourceCode) {
|
||||
return Promise.reject(new Error('RCTSourceCode module is not available'));
|
||||
}
|
||||
|
||||
return new Promise(RCTSourceCode.getScriptText)
|
||||
.then(extractSourceMapURL)
|
||||
.then(fetch)
|
||||
.then(response => response.text())
|
||||
}
|
||||
|
||||
function extractSourceMapURL({url, text}): string {
|
||||
var mapURL = SourceMapURL.getFrom(text);
|
||||
var baseURL = url.match(/(.+:\/\/.*?)\//)[1];
|
||||
return baseURL + mapURL;
|
||||
}
|
||||
|
||||
module.exports = loadSourceMap;
|
||||
45
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/parseErrorStack.js
generated
vendored
Normal file
45
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/parseErrorStack.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule parseErrorStack
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var stacktraceParser = require('stacktrace-parser');
|
||||
|
||||
function resolveSourceMaps(sourceMapInstance, stackFrame) {
|
||||
try {
|
||||
var orig = sourceMapInstance.originalPositionFor({
|
||||
line: stackFrame.lineNumber,
|
||||
column: stackFrame.column,
|
||||
});
|
||||
if (orig) {
|
||||
stackFrame.file = orig.source;
|
||||
stackFrame.lineNumber = orig.line;
|
||||
stackFrame.column = orig.column;
|
||||
}
|
||||
} catch (innerEx) {
|
||||
}
|
||||
}
|
||||
|
||||
function parseErrorStack(e, sourceMapInstance) {
|
||||
var stack = stacktraceParser.parse(e.stack);
|
||||
|
||||
var framesToPop = e.framesToPop || 0;
|
||||
while (framesToPop--) {
|
||||
stack.shift();
|
||||
}
|
||||
|
||||
if (sourceMapInstance) {
|
||||
stack.forEach(resolveSourceMaps.bind(null, sourceMapInstance));
|
||||
}
|
||||
|
||||
return stack;
|
||||
}
|
||||
|
||||
module.exports = parseErrorStack;
|
||||
78
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/source-map-url.js
generated
vendored
Normal file
78
examples/node_modules/react-native/Libraries/JavaScriptAppEngine/Initialization/source-map-url.js
generated
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* This is a third-party micro-library grabbed from:
|
||||
* https://github.com/lydell/source-map-url
|
||||
*
|
||||
* @nolint
|
||||
*/
|
||||
|
||||
(function() {
|
||||
var define = null; // Hack to make it work with our packager
|
||||
|
||||
// Copyright 2014 Simon Lydell
|
||||
// X11 (“MIT”) Licensed. (See LICENSE.)
|
||||
|
||||
void (function(root, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(factory)
|
||||
} else if (typeof exports === "object") {
|
||||
module.exports = factory()
|
||||
} else {
|
||||
root.sourceMappingURL = factory()
|
||||
}
|
||||
}(this, function() {
|
||||
|
||||
var innerRegex = /[#@] sourceMappingURL=([^\s'"]*)/
|
||||
|
||||
var regex = RegExp(
|
||||
"(?:" +
|
||||
"/\\*" +
|
||||
"(?:\\s*\r?\n(?://)?)?" +
|
||||
"(?:" + innerRegex.source + ")" +
|
||||
"\\s*" +
|
||||
"\\*/" +
|
||||
"|" +
|
||||
"//(?:" + innerRegex.source + ")" +
|
||||
")" +
|
||||
"\\s*$"
|
||||
)
|
||||
|
||||
return {
|
||||
|
||||
regex: regex,
|
||||
_innerRegex: innerRegex,
|
||||
|
||||
getFrom: function(code) {
|
||||
var match = code.match(regex)
|
||||
return (match ? match[1] || match[2] || "" : null)
|
||||
},
|
||||
|
||||
existsIn: function(code) {
|
||||
return regex.test(code)
|
||||
},
|
||||
|
||||
removeFrom: function(code) {
|
||||
return code.replace(regex, "")
|
||||
},
|
||||
|
||||
insertBefore: function(code, string) {
|
||||
var match = code.match(regex)
|
||||
if (match) {
|
||||
return code.slice(0, match.index) + string + code.slice(match.index)
|
||||
} else {
|
||||
return code + string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}));
|
||||
|
||||
/** End of the third-party code */
|
||||
|
||||
})();
|
||||
Reference in New Issue
Block a user