@ungap/template-tag-arguments
Version:
Normalizes tagged arguments granting a unique template
1 lines • 1.17 kB
JavaScript
var templateLiteral=function(){"use strict";var e={};try{e.WeakMap=WeakMap}catch(t){e.WeakMap=function(e,t){var r=t.defineProperty,n=t.hasOwnProperty,a=i.prototype;return a.delete=function(t){return this.has(t)&&delete t[this._]},a.get=function(t){return this.has(t)?t[this._]:void 0},a.has=function(t){return n.call(t,this._)},a.set=function(t,e){return r(t,this._,{configurable:!0,value:e}),this},i;function i(t){r(this,"_",{value:"_@ungap/weakmap"+e++}),t&&t.forEach(u,this)}function u(t){this.set(t[0],t[1])}}(Math.random(),Object)}var s=e.WeakMap,c="object"!=typeof document,f=function(t){var e,n,a,i,r="raw",u=(e=(document.defaultView.navigator||{}).userAgent,/(Firefox|Safari)\/(\d+)/.test(e)&&!/(Chrom[eium]+|Android)\/(\d+)/.test(e)),o=!(r in t)||t.propertyIsEnumerable(r)||!Object.isFrozen(t[r]);return u||o?(n={},a=function(t){for(var e=".",r=0;r<t.length;r++)e+=t[r].length+"."+t[r];return n[e]||(n[e]=t)},f=o?a:(i=new s,function(t){return i.get(t)||(r=a(e=t),i.set(e,r),r);var e,r})):c=!0,h(t)};function h(t){return c?t:f(t)}return h}();function templateTagArguments(t){for(var e=arguments.length,r=[templateLiteral(t)],n=1;n<e;)r.push(arguments[n++]);return r}