generaltranslation
Version:
A language toolkit for AI developers
3 lines (2 loc) • 1.37 kB
JavaScript
import r from"fast-json-stable-stringify";import t from"crypto-js";var n=function(){return n=Object.assign||function(r){for(var t,n=1,e=arguments.length;n<e;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o]);return r},n.apply(this,arguments)};function e(r){return t.SHA256(r).toString(t.enc.Hex).slice(0,16)}function o(t,o){var i=t.source,u=t.context,c=t.id,a=t.dataFormat;void 0===o&&(o=e);var p={};return p.source="JSX"===a?f(i):i,p=n(n(n(n({},p),c&&{id:c}),u&&{context:u}),a&&{dataFormat:a}),o(r(p))}"function"==typeof SuppressedError&&SuppressedError;var i=function(r){if(r&&"object"==typeof r){var t={};if("c"in r&&r.c&&(t.c=f(r.c)),"d"in r){var e=null==r?void 0:r.d;(null==e?void 0:e.b)&&(t.b=Object.fromEntries(Object.entries(e.b).map(function(r){return[r[0],f(r[1])]}))),(null==e?void 0:e.t)&&(t.t=e.t)}return function(r){var t=r;if(t&&"object"==typeof t&&"string"==typeof t.k){var n=Object.keys(t);if(1===n.length)return!0;if(2===n.length){if("number"==typeof t.i)return!0;if("string"==typeof t.v)return!0}if(3===n.length&&"string"==typeof t.v&&"number"==typeof t.i)return!0}return!1}(r)?n({k:r.k},r.v&&{v:r.v}):t}return r};function f(r){return Array.isArray(r)?r.map(i):i(r)}function u(t,n){return void 0===n&&(n=e),n(r(t))}export{o as hashSource,e as hashString,u as hashTemplate};
//# sourceMappingURL=id.esm.min.mjs.map