Fonctionnalités d’exécution JavaScript 2.0 pour les fonctions CloudFront
L’environnement d’exécution JavaScript des fonctions CloudFront est conforme à la norme ECMAScript (ES) version 5.1
Rubriques
Fonctions de base
Les fonctions de base suivantes d'ES sont prises en charge.
- Types
-
Tous les types ES 5.1 sont pris en charge, notamment les valeurs booléennes, les nombres, les chaînes, les objets, les tableaux, les fonctions et les expressions régulières.
- Opérateurs
-
Tous les opérateurs ES 5.1 sont pris en charge.
L’opérateur d’exponentiation ES 7 (
**) est pris en charge. - Instructions
-
Les instructions ES 5.1 suivantes sont prises en charge :
-
break -
catch -
continue -
do-while -
else -
finally -
for -
for-in -
if -
label -
return -
switch -
throw -
try -
var -
while
Les instructions ES 6 suivantes sont prises en charge :
-
const -
let
Les instructions ES 8 suivantes sont prises en charge :
async-
await
Note
async,await,constetletsont prises en charge dans l’environnement d’exécution JavaScript 2.0.awaitne peut être utilisé qu’à l’intérieur de fonctionsasync. Les arguments et fermeturesasyncne sont pas pris en charge. -
- Littéraux
-
Les littéraux de modèles ES 6 sont pris en charge : chaînes multiligne, interpolation d'expression et modèles d'imbrication.
- Fonctions
-
Toutes les fonctions ES 5.1 sont prises en charge.
Les fonctions de flèche ES 6 ainsi que la syntaxe des paramètres du reste ES 6 sont prises en charge.
- Unicode
-
Le texte source et les littéraux de chaînes peuvent contenir des caractères Unicode. Les séquences d’échappement de points de code Unicode de six caractères (par exemple
\uXXXX) sont également prises en charge. - Mode strict
-
Les fonctions opèrent en mode strict par défaut. Vous n’avez donc pas besoin d’ajouter une instruction
use strictdans votre code de fonction. Elles ne peuvent pas être modifiées.
Objets primitifs
Les objets primitifs suivants d'ES sont pris en charge.
- Objet
-
Les méthodes ES 5.1 suivantes sur les objets sont prises en charge :
-
Object.create()(sans liste de propriétés) -
Object.defineProperties() -
Object.defineProperty() -
Object.freeze() -
Object.getOwnPropertyDescriptor() -
Object.getOwnPropertyDescriptors() -
Object.getOwnPropertyNames() -
Object.getPrototypeOf() -
Object.isExtensible() -
Object.isFrozen() -
Object.isSealed() -
Object.keys() -
Object.preventExtensions() -
Object.seal()
Les méthodes ES 6 suivantes sur les objets sont prises en charge :
-
Object.assign()
Les méthodes ES 8 suivantes sur les objets sont prises en charge :
-
Object.entries() -
Object.values()
Les méthodes de prototype d’ES 5.1 suivantes sur les objets sont prises en charge :
-
Object.prototype.hasOwnProperty() -
Object.prototype.isPrototypeOf() -
Object.prototype.propertyIsEnumerable() -
Object.prototype.toString() -
Object.prototype.valueOf()
Les méthodes de prototype d’ES 6 suivantes sur les objets sont prises en charge :
-
Object.prototype.is() -
Object.prototype.setPrototypeOf()
-
- String
-
Les méthodes ES 5.1 suivantes sur les chaînes sont prises en charge :
String.fromCharCode()
Les méthodes ES 6 suivantes sur les chaînes sont prises en charge :
String.fromCodePoint()
Les méthodes de prototype d’ES 5.1 suivantes sur les chaînes sont prises en charge :
-
String.prototype.charAt() -
String.prototype.concat() -
String.prototype.indexOf() -
String.prototype.lastIndexOf() -
String.prototype.match() -
String.prototype.replace() -
String.prototype.search() -
String.prototype.slice() -
String.prototype.split() -
String.prototype.substr() -
String.prototype.substring() -
String.prototype.toLowerCase() -
String.prototype.trim() -
String.prototype.toUpperCase()
Les méthodes de prototype d’ES 6 suivantes sur les chaînes sont prises en charge :
-
String.prototype.codePointAt() -
String.prototype.endsWith() -
String.prototype.includes() -
String.prototype.repeat() -
String.prototype.startsWith()
Les méthodes de prototype d’ES 8 suivantes sur les chaînes sont prises en charge :
-
String.prototype.padStart() -
String.prototype.padEnd()
Les méthodes de prototype d’ES 9 suivantes sur les chaînes sont prises en charge :
-
String.prototype.trimStart() -
String.prototype.trimEnd()
Les méthodes de prototype d’ES 12 suivantes sur les chaînes sont prises en charge :
String.prototype.replaceAll()Note
String.prototype.replaceAll()est nouvelle dans l’environnement d’exécution JavaScript 2.0.
- Nombre
-
TOUS les nombres d’ES 5 sont pris en charge.
Les propriétés d’ES 6 suivantes sur les nombres sont prises en charge :
Number.EPSILON-
Number.MAX_SAFE_INTEGER -
Number.MIN_SAFE_INTEGER -
Number.MAX_VALUE -
Number.MIN_VALUE -
Number.NaN -
Number.NEGATIVE_INFINITY -
Number.POSITIVE_INFINITY
Les méthodes ES 6 suivantes sur les nombres sont prises en charge :
-
Number.isFinite() -
Number.isInteger() -
Number.isNaN() -
Number.isSafeInteger() -
Number.parseInt() -
Number.parseFloat()
Les méthodes de prototype d’ES 5.1 suivantes sur les nombres sont prises en charge :
-
Number.prototype.toExponential() -
Number.prototype.toFixed() -
Number.prototype.toPrecision()
Les séparateurs numériques d’ES 12 sont pris en charge.
Note
Les séparateurs numériques d’ES 12 sont nouveaux dans l’environnement d’exécution JavaScript 2.0.
Objets intégrés
Les objets intégrés suivants d'ES sont pris en charge.
- Mathématiques
-
Toutes les méthodes mathématiques ES 5.1 sont prises en charge.
Note
Dans l’environnement d’exécution des Fonctions CloudFront, l’implémentation
Math.random()utilise OpenBSDarc4randomaccompagné de l’horodatage de l’exécution de la fonction.Les propriétés mathématiques d’ES 6 suivantes sont prises en charge :
-
Math.E -
Math.LN10 -
Math.LN2 -
Math.LOG10E -
Math.LOG2E -
Math.PI -
Math.SQRT1_2 -
Math.SQRT2
Les méthodes mathématiques ES 6 suivantes sont prises en charge :
-
Math.abs() -
Math.acos() -
Math.acosh() -
Math.asin() -
Math.asinh() -
Math.atan() -
Math.atan2() -
Math.atanh() -
Math.cbrt() -
Math.ceil() -
Math.clz32() -
Math.cos() -
Math.cosh() -
Math.exp() -
Math.expm1() -
Math.floor() -
Math.fround() -
Math.hypot() -
Math.imul() -
Math.log() -
Math.log1p() -
Math.log2() -
Math.log10() -
Math.max() -
Math.min() -
Math.pow() -
Math.random() -
Math.round() -
Math.sign() -
Math.sinh() -
Math.sin() -
Math.sqrt() -
Math.tan() -
Math.tanh() -
Math.trunc()
-
- Date
-
Toutes les fonctions
DateES 5.1 sont prises en charge.Note
Pour des raisons de sécurité,
Daterenvoie toujours la même valeur (l’heure de début de la fonction) pendant la durée de vie d’une même exécution de la fonction. Pour plus d’informations, consultez Fonctions limitées. - Fonction
-
Les méthodes de prototype d’ES 5.1 suivantes sont prises en charge :
Function.prototype.apply()-
Function.prototype.bind() -
Function.prototype.call()
Les constructeurs de fonctions ne sont pas pris en charge.
- Expressions régulières
-
Toutes les fonctions d'expression régulière ES 5.1 sont prises en charge. Le langage d’expression régulière est compatible Perl.
Les propriétés d’accesseur de prototype d’ES 5.1 suivantes sont prises en charge :
-
RegExp.prototype.global -
RegExp.prototype.ignoreCase -
RegExp.protoype.multiline -
RegExp.protoype.source -
RegExp.prototype.sticky -
RegExp.prototype.flagsNote
RegExp.prototype.stickyetRegExp.prototype.flagssont nouvelles dans l’environnement d’exécution JavaScript 2.0.
Les méthodes de prototype d’ES 5.1 suivantes sont prises en charge :
-
RegExp.prototype.exec() -
RegExp.prototype.test() -
RegExp.prototype.toString() -
RegExp.prototype[@@replace]() -
RegExp.prototype[@@split]()Note
RegExp.prototype[@@split]()est nouvelle dans l’environnement d’exécution JavaScript 2.0.
Les propriétés d’instance d’ES 5.1 suivantes sont prises en charge :
-
lastIndex
Les groupes de capture nommés ES 9 sont pris en charge.
-
- JSON
-
Les méthodes d’ES 5.1 suivantes sont prises en charge :
-
JSON.parse() -
JSON.stringify()
-
- Array
-
Les méthodes ES 5.1 suivantes sur les tableaux sont prises en charge :
-
Array.isArray()
Les méthodes ES 6 suivantes sur les tableaux sont prises en charge :
-
Array.of()
Les méthodes de prototype d’ES 5.1 suivantes sont prises en charge :
-
Array.prototype.concat() -
Array.prototype.every() -
Array.prototype.filter() -
Array.prototype.forEach() -
Array.prototype.indexOf() -
Array.prototype.join() -
Array.prototype.lastIndexOf() -
Array.prototype.map() -
Array.prototype.pop() -
Array.prototype.push() -
Array.prototype.reduce() -
Array.prototype.reduceRight() -
Array.prototype.reverse() -
Array.prototype.shift() -
Array.prototype.slice() -
Array.prototype.some() -
Array.prototype.sort() -
Array.prototype.splice() -
Array.prototype.unshift()
Les méthodes de prototype d’ES 6 suivantes sont prises en charge :
-
Array.prototype.copyWithin() -
Array.prototype.fill() -
Array.prototype.find() -
Array.prototype.findIndex()
Les méthodes de prototype d’ES 7 suivantes sont prises en charge :
Array.prototype.includes()
-
- Tableaux typés
-
Les constructeurs de tableaux typés d’ES 6 suivants sont pris en charge :
-
Float32Array -
Float64Array -
Int8Array -
Int16Array -
Int32Array -
Uint8Array -
Uint8ClampedArray -
Uint16Array -
Uint32Array
Les méthodes d’ES 6 suivantes sont prises en charge :
-
TypedArray.from() -
TypedArray.of()Note
TypedArray.from()etTypedArray.of()sont nouvelles dans l’environnement d’exécution JavaScript 2.0.
Les méthodes de prototype d’ES 6 suivantes sont prises en charge :
-
TypedArray.prototype.copyWithin() -
TypedArray.prototype.every() -
TypedArray.prototype.fill() -
TypedArray.prototype.filter() -
TypedArray.prototype.find() -
TypedArray.prototype.findIndex() -
TypedArray.prototype.forEach() -
TypedArray.prototype.includes() -
TypedArray.prototype.indexOf() -
TypedArray.prototype.join() -
TypedArray.prototype.lastIndexOf() -
TypedArray.prototype.map() -
TypedArray.prototype.reduce() -
TypedArray.prototype.reduceRight() -
TypedArray.prototype.reverse() -
TypedArray.prototype.some() -
TypedArray.prototype.set() -
TypedArray.prototype.slice() -
TypedArray.prototype.sort() -
TypedArray.prototype.subarray() -
TypedArray.prototype.toString()Note
TypedArray.prototype.every(),TypedArray.prototype.fill(),TypedArray.prototype.filter(),TypedArray.prototype.find(),TypedArray.prototype.findIndex(),TypedArray.prototype.forEach(),TypedArray.prototype.includes(),TypedArray.prototype.indexOf(),TypedArray.prototype.join(),TypedArray.prototype.lastIndexOf(),TypedArray.prototype.map(),TypedArray.prototype.reduce(),TypedArray.prototype.reduceRight(),TypedArray.prototype.reverse()etTypedArray.prototype.some()sont nouvelles dans l’environnement d’exécution JavaScript 2.0.
-
- ArrayBuffer
-
Les méthodes d’ES 6 suivantes sur ArrayBuffer sont prises en charge :
-
isView()
Les méthodes de prototype d’ES 6 suivantes sur ArrayBuffer sont prises en charge :
-
ArrayBuffer.prototype.slice()
-
- Promesse
-
Les méthodes d’ES 6 suivantes sur les promesses sont prises en charge :
-
Promise.all() -
Promise.allSettled() -
Promise.any() -
Promise.reject() -
Promise.resolve() -
Promise.race()Note
Promise.all(),Promise.allSettled(),Promise.any()etPromise.race()sont nouvelles dans l’environnement d’exécution JavaScript 2.0.
Les méthodes de prototype d’ES 6 suivantes sur les promesses sont prises en charge :
-
Promise.prototype.catch() -
Promise.prototype.finally() -
Promise.prototype.then()
-
- DataView
-
Les méthodes de prototype d’ES 6 suivantes sont prises en charge :
-
DataView.prototype.getFloat32() -
DataView.prototype.getFloat64() -
DataView.prototype.getInt16() -
DataView.prototype.getInt32() -
DataView.prototype.getInt8() -
DataView.prototype.getUint16() -
DataView.prototype.getUint32() -
DataView.prototype.getUint8() -
DataView.prototype.setFloat32() -
DataView.prototype.setFloat64() -
DataView.prototype.setInt16() -
DataView.prototype.setInt32() -
DataView.prototype.setInt8() -
DataView.prototype.setUint16() -
DataView.prototype.setUint32() -
DataView.prototype.setUint8()Note
Toutes les méthodes de prototype d’ES 6 DataView sont nouvelles dans l’environnement d’exécution JavaScript 2.0.
-
- Symbol
-
Les méthodes d’ES 6 suivantes sont prises en charge :
-
Symbol.for() -
Symbol.keyfor()Note
Toutes les méthodes d’ES 6 Symbol sont nouvelles dans l’environnement d’exécution JavaScript 2.0.
-
- TextDecoder
-
Les méthodes de prototype suivantes sont prises en charge :
-
TextDecoder.prototype.decode()
Les propriétés d’accesseur de prototype suivantes sont prises en charge :
-
TextDecoder.prototype.encoding -
TextDecoder.prototype.fatal -
TextDecoder.prototype.ignoreBOM
-
- TextEncoder
-
Les méthodes de prototype suivantes sont prises en charge :
-
TextEncoder.prototype.encode() -
TextEncoder.prototype.encodeInto()
-
Types d’erreurs
Les objets d’erreurs suivants sont pris en charge :
-
Error -
EvalError -
InternalError -
RangeError -
ReferenceError -
SyntaxError -
TypeError -
URIError
Globals
L’objet globalThis est pris en charge.
Les fonctions globales ES 5.1 suivantes sont prises en charge :
-
decodeURI() -
decodeURIComponent() -
encodeURI() -
encodeURIComponent() -
isFinite() -
isNaN() -
parseFloat() -
parseInt()
Les fonctions globales d’ES 6 suivantes sont prises en charge :
atob()-
btoa()Note
atob()etbtoa()sont nouvelles dans l’environnement d’exécution JavaScript 2.0.
Les constantes globales suivantes sont prises en charge :
-
NaN -
Infinity -
undefined -
arguments
Modules intégrés
Les modules intégrés suivants sont pris en charge.
Buffer
Le module fournit les méthodes suivantes :
-
Buffer.alloc(size[, fill[, encoding]])Allouez un élément
Buffer.-
size: taille du tampon. Entrez un entier. -
fill: facultatif. Entrez une chaîne, un élémentBuffer, un élément Uint8Array ou un entier. La valeur par défaut est « ».0. -
encoding: facultatif. Quandfillest une chaîne, entrez l’une des valeurs suivantes :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
-
Buffer.allocUnsafe(size)Allouez un élément
Buffernon initialisé.-
size: entrez un entier.
-
-
Buffer.byteLength(value[, encoding])Renvoie la longueur d’une valeur, en octets.
-
value: chaîne, élémentBuffer, TypedArray, DataView ou ArrayBuffer. -
encoding: facultatif. Quandvalueest une chaîne, entrez l’une des valeurs suivantes :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
-
Buffer.compare(buffer1, buffer2)Comparez deux éléments
Bufferpour faciliter le tri des tableaux. Renvoie0s’ils sont identiques,-1sibuffer1figure en premier, ou1sibuffer2figure en premier.-
buffer1: entrez un élémentBuffer. -
buffer2: entrez un autre élémentBuffer.
-
-
Buffer.concat(list[, totalLength])Concaténez plusieurs éléments
Buffer. Renvoie0s’il n’y en a aucun. Renvoie jusqu’àtotalLength.-
list: entrez une liste d’élémentsBuffer. Notez que cela sera tronqué àtotalLength. -
totalLength: facultatif. Entrez un entier non signé. Utilisez la somme des instancesBufferdans la liste si le paramètre est vide.
-
-
Buffer.from(array)Créez un élément
Bufferà partir d’un tableau.-
array: entrez un tableau d’octets de0à255.
-
-
Buffer.from(arrayBuffer, byteOffset[, length]))Créez une vue à partir de
arrayBuffer, en commençant par le décalagebyteOffsetavec la longueurlength.-
arrayBuffer: entrez un tableauBuffer. -
byteOffset: entrez un entier. -
length: facultatif. Entrez un entier.
-
-
Buffer.from(buffer)Créez une copie de l’élément
Buffer.-
buffer: entrez un élémentBuffer.
-
-
Buffer.from(object[, offsetOrEncoding[, length]])Créez un élément
Bufferà partir d’un objet. RenvoieBuffer.from(object.valueOf(), offsetOrEncoding, length)sivalueOf()n’est pas égal à l’objet.-
object: entrez un objet. -
offsetOrEncoding: facultatif. Entrez un entier ou une chaîne d’encodage. -
length: facultatif. Entrez un entier.
-
-
Buffer.from(string[, encoding])Créez un élément
Bufferà partir d’une chaîne.-
string: entrez une chaîne. -
encoding: facultatif. Entrez l’un des éléments suivants :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
-
Buffer.isBuffer(object)Vérifiez si
objectest un tampon. Renvoietrueoufalse.-
object: entrez un objet.
-
-
Buffer.isEncoding(encoding)Vérifiez si
encodingest pris en charge. Renvoietrueoufalse.-
encoding: facultatif. Entrez l’un des éléments suivants :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
Le module fournit les méthodes de prototype de tampon suivantes :
-
Buffer.prototype.compare(target[, targetStart[, targetEnd[, sourceStart[, sourceEnd]]]])Comparez
Bufferavec la cible. Renvoie0s’ils sont identiques,1sibufferfigure en premier, ou-1sitargetfigure en premier.-
target: entrez un élémentBuffer. -
targetStart: facultatif. Entrez un entier. La valeur par défaut est 0. -
targetEnd: facultatif. Entrez un entier. La valeur par défaut est la longueurtarget. -
sourceStart: facultatif. Entrez un entier. La valeur par défaut est 0. -
sourceEnd: facultatif. Entrez un entier. La valeur par défaut est la longueurBuffer.
-
-
Buffer.prototype.copy(target[, targetStart[, sourceStart[, sourceEnd]]])Copiez le tampon dans
target.-
target: entrez un élémentBufferouUint8Array. -
targetStart: facultatif. Entrez un entier. La valeur par défaut est 0. -
sourceStart: facultatif. Entrez un entier. La valeur par défaut est 0. -
sourceEnd: facultatif. Entrez un entier. La valeur par défaut est la longueur deBuffer.
-
-
Buffer.prototype.equals(otherBuffer)Comparez
BufferàotherBuffer. Renvoietrueoufalse.-
otherBuffer: entrez une chaîne.
-
-
Buffer.prototype.fill(value[, offset[, end][, encoding])Remplissez
Bufferavecvalue.-
value: entrez une chaîne,Bufferou un entier. -
offset: facultatif. Entrez un entier. -
end: facultatif. Entrez un entier. -
encoding: facultatif. Entrez l’un des éléments suivants :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
-
Buffer.prototype.includes(value[, byteOffset][, encoding])Recherchez
valuedansBuffer. Renvoietrueoufalse.-
value: entrez une chaîne, un élémentBuffer,Uint8Arrayou un entier. -
byteOffset: facultatif. Entrez un entier. -
encoding: facultatif. Entrez l’un des éléments suivants :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
-
Buffer.prototype.indexOf(value[, byteOffset][, encoding])Recherchez le premier élément
valuedansBuffer. Retourneindexs’il est trouvé ou-1dans le cas contraire.-
value: entrez une chaîne,Buffer, Unit8Array ou un entier compris entre 0 et 255. -
byteOffset: facultatif. Entrez un entier. -
encoding: facultatif. Entrez l’un des éléments suivants sivalueest une chaîne :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
-
Buffer.prototype.lastIndexOf(value[, byteOffset][, encoding])Recherchez le dernier élément
valuedansBuffer. Retourneindexs’il est trouvé ou-1dans le cas contraire.-
value: entrez une chaîne,Buffer, Unit8Array ou un entier compris entre 0 et 255. -
byteOffset: facultatif. Entrez un entier. -
encoding: facultatif. Entrez l’un des éléments suivants sivalueest une chaîne :utf8,hex,base64,base64url. La valeur par défaut est « ».utf8.
-
-
Buffer.prototype.readInt8(offset)Lisez
Int8à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readIntBE(offset, byteLength)Lisez
Intdans l’ordre gros-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier. -
byteLength: facultatif. Entrez un entier compris entre1et6.
-
-
Buffer.prototype.readInt16BE(offset)Lisez
Int16dans l’ordre gros-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readInt32BE(offset)Lisez
Int32dans l’ordre gros-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readIntLE(offset, byteLength)Lisez
Intdans l’ordre petit-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.readInt16LE(offset)Lisez
Int16dans l’ordre petit-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readInt32LE(offset)Lisez
Int32dans l’ordre petit-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readUInt8(offset)Lisez
UInt8à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readUIntBE(offset, byteLength)Lisez
UIntdans l’ordre gros-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.readUInt16BE(offset)Lisez
UInt16dans l’ordre gros-boutiste à la positionoffsetà partir deBuffer. -
-
offset: entrez un entier.
-
-
Buffer.prototype.readUInt32BE(offset)Lisez
UInt32dans l’ordre gros-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readUIntLE(offset, byteLength)Lisez
UIntdans l’ordre petit-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.readUInt16LE(offset)Lisez
UInt16dans l’ordre petit-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readUInt32LE(offset)Lisez
UInt32dans l’ordre petit-boutiste à la positionoffsetà partir deBuffer.-
offset: entrez un entier.
-
-
Buffer.prototype.readDoubleBE([offset])Lisez une valeur double 64 bits dans l’ordre gros-boutiste à la position
offsetà partir deBuffer.-
offset: facultatif. Entrez un entier.
-
-
Buffer.prototype.readDoubleLE([offset])Lisez une valeur double 64 bits dans l’ordre petit-boutiste à la position
offsetà partir deBuffer.-
offset: facultatif. Entrez un entier.
-
-
Buffer.prototype.readFloatBE([offset])Lisez une valeur float 32 bits dans l’ordre gros-boutiste à la position
offsetà partir deBuffer.-
offset: facultatif. Entrez un entier.
-
-
Buffer.prototype.readFloatLE([offset])Lisez une valeur float 32 bits dans l’ordre petit-boutiste à la position
offsetà partir deBuffer.-
offset: facultatif. Entrez un entier.
-
-
Buffer.prototype.subarray([start[, end]])Renvoie une copie de l’élément
Bufferdécalée et recadrée avec de nouveaux élémentsstartetend.-
start: facultatif. Entrez un entier. La valeur par défaut est 0. -
end: facultatif. Entrez un entier. La valeur par défaut est la longueur du tampon.
-
-
Buffer.prototype.swap16()Échangez l’ordre des octets du tableau
Bufferen le traitant comme un tableau de nombres de 16 bits. La longueur deBufferdoit être divisible par 2, sans quoi vous recevrez une erreur. -
Buffer.prototype.swap32()Échangez l’ordre des octets du tableau
Bufferen le traitant comme un tableau de nombres de 32 bits. La longueur deBufferdoit être divisible par 4, sans quoi vous recevrez une erreur. -
Buffer.prototype.swap64()Échangez l’ordre des octets du tableau
Bufferen le traitant comme un tableau de nombres de 64 bits. La longueur deBufferdoit être divisible par 8, sans quoi vous recevrez une erreur. -
Buffer.prototype.toJSON()Renvoie l’élément
Bufferau format JSON. -
Buffer.prototype.toString([encoding[, start[, end]]])Convertissez l’élément
Buffer, destartàend, en chaîne encodée.-
encoding: facultatif. Entrez l’un des éléments suivants :utf8,hex,base64oubase64url. La valeur par défaut est « ».utf8. -
start: facultatif. Entrez un entier. La valeur par défaut est 0. -
end: facultatif. Entrez un entier. La valeur par défaut est la longueur du tampon.
-
-
Buffer.prototype.write(string[, offset[, length]][, encoding])Écrivez l’élément
stringencodé dansBuffers’il y a de l’espace, ou un élémentstringtronqué s’il n’y a pas assez d’espace.-
string: entrez une chaîne. -
offset: facultatif. Entrez un entier. La valeur par défaut est 0. -
length: facultatif. Entrez un entier. La valeur par défaut est la longueur de la chaîne. -
encoding: facultatif. Entrez éventuellement l’un des éléments suivants :utf8,hex,base64oubase64url. La valeur par défaut est « ».utf8.
-
-
Buffer.prototype.writeInt8(value, offset, byteLength)Écrivez l’élément
valueInt8debyteLengthà la positionoffsetdans l’élémentBuffer.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeIntBE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeInt16BE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeInt32BE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeIntLE(offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeInt16LE(offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeInt32LE(offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeUInt8(value, offset, byteLength)Écrivez l’élément
valueUInt8debyteLengthà la positionoffsetdansBuffer.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeUIntBE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeUInt16BE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeUInt32BE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeUIntLE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeUInt16LE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeUInt32LE(value, offset, byteLength)Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
value: entrez un entier. -
offset: entrez un entier. -
byteLength: entrez un entier entre1et6.
-
-
Buffer.prototype.writeDoubleBE(value, [offset])Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: facultatif. Entrez un entier. La valeur par défaut est 0.
-
-
Buffer.prototype.writeDoubleLE(value, [offset])Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
value: entrez un entier. -
offset: facultatif. Entrez un entier. La valeur par défaut est 0.
-
-
Buffer.prototype.writeFloatBE(value, [offset])Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre gros-boutiste.-
value: entrez un entier. -
offset: facultatif. Entrez un entier. La valeur par défaut est 0.
-
-
Buffer.prototype.writeFloatLE(value, [offset])Écrivez
valueà la positionoffsetdansBufferen utilisant l’ordre petit-boutiste.-
value: entrez un entier. -
offset: facultatif. Entrez un entier. La valeur par défaut est 0.
-
Les méthodes d’instance suivantes sont prises en charge :
-
buffer[index]Obtenez et définissez l’octet (byte) à la position
indexdans l’élémentBuffer.-
Obtenez un nombre entre
0et255. Ou définissez un nombre entre0et255.
-
Les propriétés d’instance suivantes sont prises en charge :
-
bufferObtenez l’objet
ArrayBufferpour le tampon. -
byteOffsetObtenez l’élément
byteOffsetde l’objetArraybufferdu tampon. -
lengthObtenez le nombre d’octets du tampon.
Note
Toutes les méthodes du module Buffer sont nouvelles dans l’environnement d’exécution JavaScript 2.0.
Chaîne de requête
Note
L'objet d'évènement CloudFront Functions analyse automatiquement les chaînes de requêtes URL pour vous. Cela signifie que, dans la plupart des cas, vous n'avez pas besoin d'utiliser ce module.
Le module de chaînes de requêtes (querystring) fournit des méthodes d’analyse et de formatage des chaînes de requêtes URL. Vous pouvez charger le module en utilisant require('querystring'). Le module fournit les méthodes suivantes :
querystring.escape(string)-
Encode par URL la
stringdonnée, en renvoyant une chaîne de requêtes échappée. La méthode est utilisée parquerystring.stringify()et ne doit pas être utilisée directement. querystring.parse(string[, separator[, equal[, options]]])-
Analyse une chaîne de requêtes (
string) et renvoie un objet.Le paramètre
separatorest une sous-chaîne permettant de délimiter les paires clé-valeur dans la chaîne de requêtes. Par défaut, il s’agit de&.Le paramètre
equalest une sous-chaîne permettant de délimiter les clés et les valeurs dans la chaîne de requêtes. Par défaut, il s’agit de=.Le paramètre
optionsest un objet avec les clés suivantes :decodeURIComponent function-
Fonction pour décoder les caractères encodés en pourcentage dans la chaîne de requêtes. Par défaut, il s’agit de
querystring.unescape(). maxKeys number-
Nombre maximal de clés à analyser. Par défaut, il s’agit de
1000. Utilisez une valeur de0pour supprimer les limitations pour le comptage des clés.
Par défaut, les caractères encodés en pourcentage dans la chaîne de requêtes sont supposés utiliser l'encodage UTF-8. Les séquences UTF-8 non valides sont remplacées par le caractère de remplacement
U+FFFD.Par exemple, pour la chaîne de requêtes suivante :
'name=value&abc=xyz&abc=123'La valeur renvoyée de
querystring.parse()est :{ name: 'value', abc: ['xyz', '123'] }querystring.decode()est un alias pourquerystring.parse(). querystring.stringify(object[, separator[, equal[, options]]])-
Sérialise un
objectet renvoie une chaîne de requêtes.Le paramètre
separatorest une sous-chaîne permettant de délimiter les paires clé-valeur dans la chaîne de requêtes. Par défaut, il s’agit de&.Le paramètre
equalest une sous-chaîne permettant de délimiter les clés et les valeurs dans la chaîne de requêtes. Par défaut, il s’agit de=.Le paramètre
optionsest un objet avec les clés suivantes :encodeURIComponent function-
Fonction à utiliser pour convertir des caractères non sûrs pour une URL en encodage en pourcentage dans la chaîne de requêtes. Par défaut, il s’agit de
querystring.escape().
Par défaut, les caractères qui nécessitent un encodage en pourcentage dans la chaîne de requêtes sont encodés en UTF-8. Pour utiliser un encodage différent, spécifiez l’option
encodeURIComponent.Par exemple, pour le code suivant :
querystring.stringify({ name: 'value', abc: ['xyz', '123'], anotherName: '' });La valeur renvoyée est :
'name=value&abc=xyz&abc=123&anotherName='querystring.encode()est un alias pourquerystring.stringify(). querystring.unescape(string)-
Décode les caractères encodés en pourcentage URL dans la
stringdonnée, en renvoyant une chaîne de requêtes non échappée. Cette méthode est utilisée parquerystring.parse()et ne doit pas être utilisée directement.
Cryptographie
Le module cryptographique (crypto) fournit des aides standard en matière de hachage et de code d’authentification de message basé sur le hachage (HMAC). Vous pouvez charger le module en utilisant require('crypto').
Méthodes de hachage
crypto.createHash(algorithm)-
Crée et renvoie un objet de hachage que vous pouvez utiliser pour générer des résumés de hachage à l’aide de l’algorithme donné :
md5,sha1ousha256. hash.update(data)-
Met à jour le contenu de hachage avec les donné
data. hash.digest([encoding])-
Calcule le résumé de toutes les données transmises à l’aide de
hash.update(). L’encodage peut êtrehex,base64oubase64url.
Méthodes HMAC
crypto.createHmac(algorithm, secret key)-
Crée et renvoie un objet HMAC qui utilise le
algorithmet lasecret keydonnés. L’algorithme peut êtremd5,sha1ousha256. hmac.update(data)-
Met à jour le contenu HMAC avec les fournies
data. hmac.digest([encoding])-
Calcule le résumé de toutes les données transmises à l’aide de
hmac.update(). L’encodage peut êtrehex,base64oubase64url.
Fonctions limitées
Les fonctions de langage JavaScript suivantes ne sont pas prises en charge ou sont limitées en raison de problèmes de sécurité.
- Évaluation dynamique du code
-
L'évaluation dynamique du code n'est pas prise en charge. Les deux constructeurs
eval()etFunctionrenvoient une erreur en cas de tentative. Par exemple,const sum = new Function('a', 'b', 'return a + b')renvoie une erreur. - Temporisateurs
-
Les fonctions
setTimeout(),setImmediate()etclearTimeout()ne sont pas prises en charge. Il n'y a aucune disposition relative au report ou au produit dans une exécution de fonction. Votre fonction doit s'exécuter de manière synchrone jusqu'à la fin. - Horodatages
-
Pour des raisons de sécurité, il n'y a pas d'accès aux temporisateurs haute résolution. Toutes les méthodes
Datepour interroger l’heure actuelle retournent toujours la même valeur pendant la durée de vie d’une même exécution de la fonction. L'horodatage renvoyé est l'heure à laquelle la fonction a commencé à s'exécuter. Par conséquent, vous ne pouvez pas mesurer le temps écoulé dans votre fonction. - Accès au système de fichiers
-
Il n’y a pas d’accès au système de fichiers. Par exemple, il n’y a pas de module
fspour l’accès au système de fichiers comme dans Node.js. - Accès au traitement
-
Il n’y a aucun accès au traitement. Par exemple, il n’existe pas d’objet global
processpour accéder aux informations de traitement, comme c’est le cas dans Node.js. - Variables d’environnement
-
Il n’y a aucun accès aux variables d’environnement. À la place, vous pouvez utiliser CloudFront KeyValueStore pour créer un entrepôt de données centralisé de paires clé-valeur destiné à vos fonctions CloudFront. CloudFront KeyValueStore permet de mettre à jour dynamiquement vos données de configuration sans avoir à déployer de modifications de code. Pour plus d’informations, consultez Amazon CloudFront KeyValueStore.
- Accès réseau
-
Les appels réseau ne sont pas pris en charge. Par exemple, XHR, HTTP(S) et socket ne sont pas pris en charge.