Download node_modules/pretty-format/build/plugins/Immutable.js from Snapkitty/sovereign-apollo: direct link, hf CLI and curl.
- Browser
- Download file 5.66 kB
-
https://huggingface.co/Snapkitty/sovereign-apollo/resolve/main/node_modules/pretty-format/build/plugins/Immutable.js
- Command line
-
hf download hf://Snapkitty/sovereign-apollo/node_modules/pretty-format/build/plugins/Immutable.js
-
curl -L -o Immutable.js https://huggingface.co/Snapkitty/sovereign-apollo/resolve/main/node_modules/pretty-format/build/plugins/Immutable.js
5.66 kB
| ; | |
| Object.defineProperty(exports, '__esModule', { | |
| value: true | |
| }); | |
| exports.test = exports.serialize = exports.default = void 0; | |
| var _collections = require('../collections'); | |
| /** | |
| * Copyright (c) Meta Platforms, Inc. and affiliates. | |
| * | |
| * This source code is licensed under the MIT license found in the | |
| * LICENSE file in the root directory of this source tree. | |
| */ | |
| // SENTINEL constants are from https://github.com/facebook/immutable-js | |
| const IS_ITERABLE_SENTINEL = '@@__IMMUTABLE_ITERABLE__@@'; | |
| const IS_LIST_SENTINEL = '@@__IMMUTABLE_LIST__@@'; | |
| const IS_KEYED_SENTINEL = '@@__IMMUTABLE_KEYED__@@'; | |
| const IS_MAP_SENTINEL = '@@__IMMUTABLE_MAP__@@'; | |
| const IS_ORDERED_SENTINEL = '@@__IMMUTABLE_ORDERED__@@'; | |
| const IS_RECORD_SENTINEL = '@@__IMMUTABLE_RECORD__@@'; // immutable v4 | |
| const IS_SEQ_SENTINEL = '@@__IMMUTABLE_SEQ__@@'; | |
| const IS_SET_SENTINEL = '@@__IMMUTABLE_SET__@@'; | |
| const IS_STACK_SENTINEL = '@@__IMMUTABLE_STACK__@@'; | |
| const getImmutableName = name => `Immutable.${name}`; | |
| const printAsLeaf = name => `[${name}]`; | |
| const SPACE = ' '; | |
| const LAZY = '…'; // Seq is lazy if it calls a method like filter | |
| const printImmutableEntries = ( | |
| val, | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer, | |
| type | |
| ) => | |
| ++depth > config.maxDepth | |
| ? printAsLeaf(getImmutableName(type)) | |
| : `${getImmutableName(type) + SPACE}{${(0, | |
| _collections.printIteratorEntries)( | |
| val.entries(), | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer | |
| )}}`; | |
| // Record has an entries method because it is a collection in immutable v3. | |
| // Return an iterator for Immutable Record from version v3 or v4. | |
| function getRecordEntries(val) { | |
| let i = 0; | |
| return { | |
| next() { | |
| if (i < val._keys.length) { | |
| const key = val._keys[i++]; | |
| return { | |
| done: false, | |
| value: [key, val.get(key)] | |
| }; | |
| } | |
| return { | |
| done: true, | |
| value: undefined | |
| }; | |
| } | |
| }; | |
| } | |
| const printImmutableRecord = ( | |
| val, | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer | |
| ) => { | |
| // _name property is defined only for an Immutable Record instance | |
| // which was constructed with a second optional descriptive name arg | |
| const name = getImmutableName(val._name || 'Record'); | |
| return ++depth > config.maxDepth | |
| ? printAsLeaf(name) | |
| : `${name + SPACE}{${(0, _collections.printIteratorEntries)( | |
| getRecordEntries(val), | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer | |
| )}}`; | |
| }; | |
| const printImmutableSeq = (val, config, indentation, depth, refs, printer) => { | |
| const name = getImmutableName('Seq'); | |
| if (++depth > config.maxDepth) { | |
| return printAsLeaf(name); | |
| } | |
| if (val[IS_KEYED_SENTINEL]) { | |
| return `${name + SPACE}{${ | |
| // from Immutable collection of entries or from ECMAScript object | |
| val._iter || val._object | |
| ? (0, _collections.printIteratorEntries)( | |
| val.entries(), | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer | |
| ) | |
| : LAZY | |
| }}`; | |
| } | |
| return `${name + SPACE}[${ | |
| val._iter || | |
| // from Immutable collection of values | |
| val._array || | |
| // from ECMAScript array | |
| val._collection || | |
| // from ECMAScript collection in immutable v4 | |
| val._iterable // from ECMAScript collection in immutable v3 | |
| ? (0, _collections.printIteratorValues)( | |
| val.values(), | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer | |
| ) | |
| : LAZY | |
| }]`; | |
| }; | |
| const printImmutableValues = ( | |
| val, | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer, | |
| type | |
| ) => | |
| ++depth > config.maxDepth | |
| ? printAsLeaf(getImmutableName(type)) | |
| : `${getImmutableName(type) + SPACE}[${(0, | |
| _collections.printIteratorValues)( | |
| val.values(), | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer | |
| )}]`; | |
| const serialize = (val, config, indentation, depth, refs, printer) => { | |
| if (val[IS_MAP_SENTINEL]) { | |
| return printImmutableEntries( | |
| val, | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer, | |
| val[IS_ORDERED_SENTINEL] ? 'OrderedMap' : 'Map' | |
| ); | |
| } | |
| if (val[IS_LIST_SENTINEL]) { | |
| return printImmutableValues( | |
| val, | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer, | |
| 'List' | |
| ); | |
| } | |
| if (val[IS_SET_SENTINEL]) { | |
| return printImmutableValues( | |
| val, | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer, | |
| val[IS_ORDERED_SENTINEL] ? 'OrderedSet' : 'Set' | |
| ); | |
| } | |
| if (val[IS_STACK_SENTINEL]) { | |
| return printImmutableValues( | |
| val, | |
| config, | |
| indentation, | |
| depth, | |
| refs, | |
| printer, | |
| 'Stack' | |
| ); | |
| } | |
| if (val[IS_SEQ_SENTINEL]) { | |
| return printImmutableSeq(val, config, indentation, depth, refs, printer); | |
| } | |
| // For compatibility with immutable v3 and v4, let record be the default. | |
| return printImmutableRecord(val, config, indentation, depth, refs, printer); | |
| }; | |
| // Explicitly comparing sentinel properties to true avoids false positive | |
| // when mock identity-obj-proxy returns the key as the value for any key. | |
| exports.serialize = serialize; | |
| const test = val => | |
| val && | |
| (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true); | |
| exports.test = test; | |
| const plugin = { | |
| serialize, | |
| test | |
| }; | |
| var _default = plugin; | |
| exports.default = _default; | |