diff options
Diffstat (limited to 'node_modules/jest-serializer')
| -rw-r--r-- | node_modules/jest-serializer/LICENSE | 21 | ||||
| -rw-r--r-- | node_modules/jest-serializer/README.md | 47 | ||||
| -rw-r--r-- | node_modules/jest-serializer/build/index.d.ts | 20 | ||||
| -rw-r--r-- | node_modules/jest-serializer/build/index.js | 109 | ||||
| -rw-r--r-- | node_modules/jest-serializer/package.json | 33 | ||||
| -rw-r--r-- | node_modules/jest-serializer/v8.d.ts | 11 | 
6 files changed, 241 insertions, 0 deletions
diff --git a/node_modules/jest-serializer/LICENSE b/node_modules/jest-serializer/LICENSE new file mode 100644 index 0000000..b96dcb0 --- /dev/null +++ b/node_modules/jest-serializer/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/jest-serializer/README.md b/node_modules/jest-serializer/README.md new file mode 100644 index 0000000..43c8bb1 --- /dev/null +++ b/node_modules/jest-serializer/README.md @@ -0,0 +1,47 @@ +# jest-serializer + +Module for serializing and deserializing object into memory and disk. By default, the `v8` implementations are used, but if not present, it defaults to `JSON` implementation. Both serializers have the advantage of being able to serialize `Map`, `Set`, `undefined`, `NaN`, etc, although the JSON one does it through a replacer/reviver. + +## Install + +```sh +$ yarn add jest-serializer +``` + +## API + +Three kinds of API groups are exposed: + +### In-memory serialization: `serialize` and `deserialize` + +This set of functions take or return a `Buffer`. All the process happens in memory. This is useful when willing to transfer over HTTP, TCP or via UNIX pipes. + +```javascript +import {deserialize, serialize} from 'jest-serializer'; + +const myObject = { +  foo: 'bar', +  baz: [0, true, '2', [], {}], +}; + +const buffer = serialize(myObject); +const myCopyObject = deserialize(buffer); +``` + +### Synchronous persistent filesystem: `readFileSync` and `writeFileSync` + +This set of functions allow to send to disk a serialization result and retrieve it back, in a synchronous way. It mimics the `fs` API so it looks familiar. + +```javascript +import {readFileSync, writeFileSync} from 'jest-serializer'; + +const myObject = { +  foo: 'bar', +  baz: [0, true, '2', [], {}], +}; + +const myFile = '/tmp/obj'; + +writeFileSync(myFile, myObject); +const myCopyObject = readFileSync(myFile); +``` diff --git a/node_modules/jest-serializer/build/index.d.ts b/node_modules/jest-serializer/build/index.d.ts new file mode 100644 index 0000000..af6694e --- /dev/null +++ b/node_modules/jest-serializer/build/index.d.ts @@ -0,0 +1,20 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/// <reference path="../v8.d.ts" /> +/// <reference types="node" /> +declare type Path = string; +export declare function deserialize(buffer: Buffer): unknown; +export declare function serialize(content: unknown): Buffer; +export declare function readFileSync(filePath: Path): unknown; +export declare function writeFileSync(filePath: Path, content: unknown): void; +declare const _default: { +    deserialize: typeof deserialize; +    readFileSync: typeof readFileSync; +    serialize: typeof serialize; +    writeFileSync: typeof writeFileSync; +}; +export default _default; diff --git a/node_modules/jest-serializer/build/index.js b/node_modules/jest-serializer/build/index.js new file mode 100644 index 0000000..802072f --- /dev/null +++ b/node_modules/jest-serializer/build/index.js @@ -0,0 +1,109 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { +  value: true +}); +exports.default = void 0; +exports.deserialize = deserialize; +exports.readFileSync = readFileSync; +exports.serialize = serialize; +exports.writeFileSync = writeFileSync; + +function _v() { +  const data = require('v8'); + +  _v = function () { +    return data; +  }; + +  return data; +} + +function fs() { +  const data = _interopRequireWildcard(require('graceful-fs')); + +  fs = function () { +    return data; +  }; + +  return data; +} + +function _getRequireWildcardCache(nodeInterop) { +  if (typeof WeakMap !== 'function') return null; +  var cacheBabelInterop = new WeakMap(); +  var cacheNodeInterop = new WeakMap(); +  return (_getRequireWildcardCache = function (nodeInterop) { +    return nodeInterop ? cacheNodeInterop : cacheBabelInterop; +  })(nodeInterop); +} + +function _interopRequireWildcard(obj, nodeInterop) { +  if (!nodeInterop && obj && obj.__esModule) { +    return obj; +  } +  if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) { +    return {default: obj}; +  } +  var cache = _getRequireWildcardCache(nodeInterop); +  if (cache && cache.has(obj)) { +    return cache.get(obj); +  } +  var newObj = {}; +  var hasPropertyDescriptor = +    Object.defineProperty && Object.getOwnPropertyDescriptor; +  for (var key in obj) { +    if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) { +      var desc = hasPropertyDescriptor +        ? Object.getOwnPropertyDescriptor(obj, key) +        : null; +      if (desc && (desc.get || desc.set)) { +        Object.defineProperty(newObj, key, desc); +      } else { +        newObj[key] = obj[key]; +      } +    } +  } +  newObj.default = obj; +  if (cache) { +    cache.set(obj, newObj); +  } +  return newObj; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +// TODO: Remove this +/// <reference path="../v8.d.ts" /> +// JSON and V8 serializers are both stable when it comes to compatibility. The +// current JSON specification is well defined in RFC 8259, and V8 ensures that +// the versions are compatible by encoding the serialization version in the own +// generated buffer. +// In memory functions. +function deserialize(buffer) { +  return (0, _v().deserialize)(buffer); +} + +function serialize(content) { +  return (0, _v().serialize)(content); +} // Synchronous filesystem functions. + +function readFileSync(filePath) { +  return (0, _v().deserialize)(fs().readFileSync(filePath)); +} + +function writeFileSync(filePath, content) { +  return fs().writeFileSync(filePath, (0, _v().serialize)(content)); +} + +var _default = { +  deserialize, +  readFileSync, +  serialize, +  writeFileSync +}; +exports.default = _default; diff --git a/node_modules/jest-serializer/package.json b/node_modules/jest-serializer/package.json new file mode 100644 index 0000000..3cb49fa --- /dev/null +++ b/node_modules/jest-serializer/package.json @@ -0,0 +1,33 @@ +{ +  "name": "jest-serializer", +  "version": "27.5.1", +  "repository": { +    "type": "git", +    "url": "https://github.com/facebook/jest.git", +    "directory": "packages/jest-serializer" +  }, +  "devDependencies": { +    "@types/graceful-fs": "^4.1.3" +  }, +  "dependencies": { +    "@types/node": "*", +    "graceful-fs": "^4.2.9" +  }, +  "engines": { +    "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" +  }, +  "license": "MIT", +  "main": "./build/index.js", +  "types": "./build/index.d.ts", +  "exports": { +    ".": { +      "types": "./build/index.d.ts", +      "default": "./build/index.js" +    }, +    "./package.json": "./package.json" +  }, +  "publishConfig": { +    "access": "public" +  }, +  "gitHead": "67c1aa20c5fec31366d733e901fee2b981cb1850" +} diff --git a/node_modules/jest-serializer/v8.d.ts b/node_modules/jest-serializer/v8.d.ts new file mode 100644 index 0000000..809c499 --- /dev/null +++ b/node_modules/jest-serializer/v8.d.ts @@ -0,0 +1,11 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +declare module 'v8' { +  function serialize(value: unknown): Buffer; +  function deserialize(value: Buffer): unknown; +}  | 
