.
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
// This regex will have fast negatives meaning valid identifiers may not pass
|
||||
// this test. However this is only used during static generation to provide hints
|
||||
// about why a page bailed out of some or all prerendering and we can use bracket notation
|
||||
// for example while `ಠ_ಠ` is a valid identifier it's ok to print `searchParams['ಠ_ಠ']`
|
||||
// even if this would have been fine too `searchParams.ಠ_ಠ`
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
0 && (module.exports = {
|
||||
describeHasCheckingStringProperty: null,
|
||||
describeStringPropertyAccess: null,
|
||||
wellKnownProperties: null
|
||||
});
|
||||
function _export(target, all) {
|
||||
for(var name in all)Object.defineProperty(target, name, {
|
||||
enumerable: true,
|
||||
get: all[name]
|
||||
});
|
||||
}
|
||||
_export(exports, {
|
||||
describeHasCheckingStringProperty: function() {
|
||||
return describeHasCheckingStringProperty;
|
||||
},
|
||||
describeStringPropertyAccess: function() {
|
||||
return describeStringPropertyAccess;
|
||||
},
|
||||
wellKnownProperties: function() {
|
||||
return wellKnownProperties;
|
||||
}
|
||||
});
|
||||
const isDefinitelyAValidIdentifier = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
||||
function describeStringPropertyAccess(target, prop) {
|
||||
if (isDefinitelyAValidIdentifier.test(prop)) {
|
||||
return `\`${target}.${prop}\``;
|
||||
}
|
||||
return `\`${target}[${JSON.stringify(prop)}]\``;
|
||||
}
|
||||
function describeHasCheckingStringProperty(target, prop) {
|
||||
const stringifiedProp = JSON.stringify(prop);
|
||||
return `\`Reflect.has(${target}, ${stringifiedProp})\`, \`${stringifiedProp} in ${target}\`, or similar`;
|
||||
}
|
||||
const wellKnownProperties = new Set([
|
||||
'hasOwnProperty',
|
||||
'isPrototypeOf',
|
||||
'propertyIsEnumerable',
|
||||
'toString',
|
||||
'valueOf',
|
||||
'toLocaleString',
|
||||
// Promise prototype
|
||||
'then',
|
||||
'catch',
|
||||
'finally',
|
||||
// React Promise extension
|
||||
'status',
|
||||
// 'value',
|
||||
// 'error',
|
||||
// React introspection
|
||||
'displayName',
|
||||
'_debugInfo',
|
||||
// Common tested properties
|
||||
'toJSON',
|
||||
'$$typeof',
|
||||
'__esModule',
|
||||
// Tested by flight when checking for iterables
|
||||
'@@iterator'
|
||||
]);
|
||||
|
||||
//# sourceMappingURL=reflect-utils.js.map
|
||||
Reference in New Issue
Block a user