<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.mimikkofans.club/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-LocalObjectStorage.js</id>
	<title>MediaWiki:Gadget-LocalObjectStorage.js - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mimikkofans.club/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-LocalObjectStorage.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.mimikkofans.club/index.php?title=MediaWiki:Gadget-LocalObjectStorage.js&amp;action=history"/>
	<updated>2026-04-08T03:35:59Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.mimikkofans.club/index.php?title=MediaWiki:Gadget-LocalObjectStorage.js&amp;diff=188&amp;oldid=prev</id>
		<title>2024年1月2日 (二) 15:29 一位史蒂夫</title>
		<link rel="alternate" type="text/html" href="https://wiki.mimikkofans.club/index.php?title=MediaWiki:Gadget-LocalObjectStorage.js&amp;diff=188&amp;oldid=prev"/>
		<updated>2024-01-02T15:29:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024年1月2日 (二) 23:29的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/* &amp;lt;pre&gt; */&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/**&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; * -------------------------------------------------------------------------&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; * !!! DON&#039;T MODIFY THIS PAGE MANUALLY, YOUR CHANGES WILL BE OVERWRITTEN !!!&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; * -------------------------------------------------------------------------&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; */&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;var _addText = &#039;{{GHIACode|page=GHIA:MoegirlPediaInterfaceCodes/blob/master/src/gadgets/LocalObjectStorage/MediaWiki:Gadget-LocalObjectStorage.js|user=[[U:AnnAngela]]|longId=7912a381cdf9c3e9286060bff474c0cd226579f1|shortId=7912a38|message=refactor(LocalObjectStorage): 使用最新语法糖重构}}&#039;;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;use strict&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;quot;use strict&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;var __classPrivateFieldSet = (this &amp;amp;&amp;amp; this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;var __classPrivateFieldSet = (this &amp;amp;&amp;amp; this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l256&quot;&gt;第256行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第248行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     window.LocalObjectStorage = LocalObjectStorage;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     window.LocalObjectStorage = LocalObjectStorage;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;})();&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;})();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/* &amp;lt;/pre&gt; */&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki_club:diff::1.12:old-110:rev-188 --&gt;
&lt;/table&gt;</summary>
		<author><name>一位史蒂夫</name></author>
	</entry>
	<entry>
		<id>https://wiki.mimikkofans.club/index.php?title=MediaWiki:Gadget-LocalObjectStorage.js&amp;diff=110&amp;oldid=prev</id>
		<title>一位史蒂夫：​导入1个版本</title>
		<link rel="alternate" type="text/html" href="https://wiki.mimikkofans.club/index.php?title=MediaWiki:Gadget-LocalObjectStorage.js&amp;diff=110&amp;oldid=prev"/>
		<updated>2024-01-02T15:16:29Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024年1月2日 (二) 23:16的版本&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key wiki_club:diff::1.12:old-109:rev-110 --&gt;
&lt;/table&gt;</summary>
		<author><name>一位史蒂夫</name></author>
	</entry>
	<entry>
		<id>https://wiki.mimikkofans.club/index.php?title=MediaWiki:Gadget-LocalObjectStorage.js&amp;diff=109&amp;oldid=prev</id>
		<title>test&gt;Lih：​已保护“MediaWiki:Gadget-LocalObjectStorage.js”：​MW页面（[编辑=仅允许管理员]（无限期）[移动=仅允许管理员]（无限期））</title>
		<link rel="alternate" type="text/html" href="https://wiki.mimikkofans.club/index.php?title=MediaWiki:Gadget-LocalObjectStorage.js&amp;diff=109&amp;oldid=prev"/>
		<updated>2022-09-23T20:58:41Z</updated>

		<summary type="html">&lt;p&gt;已保护“&lt;a href=&quot;/MediaWiki:Gadget-LocalObjectStorage.js&quot; title=&quot;MediaWiki:Gadget-LocalObjectStorage.js&quot;&gt;MediaWiki:Gadget-LocalObjectStorage.js&lt;/a&gt;”：​MW页面（[编辑=仅允许管理员]（无限期）[移动=仅允许管理员]（无限期））&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* &amp;lt;pre&amp;gt; */&lt;br /&gt;
/**&lt;br /&gt;
 * -------------------------------------------------------------------------&lt;br /&gt;
 * !!! DON&amp;#039;T MODIFY THIS PAGE MANUALLY, YOUR CHANGES WILL BE OVERWRITTEN !!!&lt;br /&gt;
 * -------------------------------------------------------------------------&lt;br /&gt;
 */&lt;br /&gt;
var _addText = &amp;#039;{{GHIACode|page=GHIA:MoegirlPediaInterfaceCodes/blob/master/src/gadgets/LocalObjectStorage/MediaWiki:Gadget-LocalObjectStorage.js|user=[[U:AnnAngela]]|longId=7912a381cdf9c3e9286060bff474c0cd226579f1|shortId=7912a38|message=refactor(LocalObjectStorage): 使用最新语法糖重构}}&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;use strict&amp;quot;;&lt;br /&gt;
var __classPrivateFieldSet = (this &amp;amp;&amp;amp; this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {&lt;br /&gt;
    if (kind === &amp;quot;m&amp;quot;) throw new TypeError(&amp;quot;Private method is not writable&amp;quot;);&lt;br /&gt;
    if (kind === &amp;quot;a&amp;quot; &amp;amp;&amp;amp; !f) throw new TypeError(&amp;quot;Private accessor was defined without a setter&amp;quot;);&lt;br /&gt;
    if (typeof state === &amp;quot;function&amp;quot; ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(&amp;quot;Cannot write private member to an object whose class did not declare it&amp;quot;);&lt;br /&gt;
    return (kind === &amp;quot;a&amp;quot; ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;&lt;br /&gt;
};&lt;br /&gt;
var __classPrivateFieldGet = (this &amp;amp;&amp;amp; this.__classPrivateFieldGet) || function (receiver, state, kind, f) {&lt;br /&gt;
    if (kind === &amp;quot;a&amp;quot; &amp;amp;&amp;amp; !f) throw new TypeError(&amp;quot;Private accessor was defined without a getter&amp;quot;);&lt;br /&gt;
    if (typeof state === &amp;quot;function&amp;quot; ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(&amp;quot;Cannot read private member from an object whose class did not declare it&amp;quot;);&lt;br /&gt;
    return kind === &amp;quot;m&amp;quot; ? f : kind === &amp;quot;a&amp;quot; ? f.call(receiver) : f ? f.value : state.get(receiver);&lt;br /&gt;
};&lt;br /&gt;
var __read = (this &amp;amp;&amp;amp; this.__read) || function (o, n) {&lt;br /&gt;
    var m = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; o[Symbol.iterator];&lt;br /&gt;
    if (!m) return o;&lt;br /&gt;
    var i = m.call(o), r, ar = [], e;&lt;br /&gt;
    try {&lt;br /&gt;
        while ((n === void 0 || n-- &amp;gt; 0) &amp;amp;&amp;amp; !(r = i.next()).done) ar.push(r.value);&lt;br /&gt;
    }&lt;br /&gt;
    catch (error) { e = { error: error }; }&lt;br /&gt;
    finally {&lt;br /&gt;
        try {&lt;br /&gt;
            if (r &amp;amp;&amp;amp; !r.done &amp;amp;&amp;amp; (m = i[&amp;quot;return&amp;quot;])) m.call(i);&lt;br /&gt;
        }&lt;br /&gt;
        finally { if (e) throw e.error; }&lt;br /&gt;
    }&lt;br /&gt;
    return ar;&lt;br /&gt;
};&lt;br /&gt;
var __spreadArray = (this &amp;amp;&amp;amp; this.__spreadArray) || function (to, from, pack) {&lt;br /&gt;
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i &amp;lt; l; i++) {&lt;br /&gt;
        if (ar || !(i in from)) {&lt;br /&gt;
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);&lt;br /&gt;
            ar[i] = from[i];&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    return to.concat(ar || Array.prototype.slice.call(from));&lt;br /&gt;
};&lt;br /&gt;
var __values = (this &amp;amp;&amp;amp; this.__values) || function(o) {&lt;br /&gt;
    var s = typeof Symbol === &amp;quot;function&amp;quot; &amp;amp;&amp;amp; Symbol.iterator, m = s &amp;amp;&amp;amp; o[s], i = 0;&lt;br /&gt;
    if (m) return m.call(o);&lt;br /&gt;
    if (o &amp;amp;&amp;amp; typeof o.length === &amp;quot;number&amp;quot;) return {&lt;br /&gt;
        next: function () {&lt;br /&gt;
            if (o &amp;amp;&amp;amp; i &amp;gt;= o.length) o = void 0;&lt;br /&gt;
            return { value: o &amp;amp;&amp;amp; o[i++], done: !o };&lt;br /&gt;
        }&lt;br /&gt;
    };&lt;br /&gt;
    throw new TypeError(s ? &amp;quot;Object is not iterable.&amp;quot; : &amp;quot;Symbol.iterator is not defined.&amp;quot;);&lt;br /&gt;
};&lt;br /&gt;
(function () {&lt;br /&gt;
    var builtinTransformations = [&lt;br /&gt;
        {&lt;br /&gt;
            type: &amp;quot;undefined&amp;quot;,&lt;br /&gt;
            match: function (t) { return typeof t === &amp;quot;undefined&amp;quot;; },&lt;br /&gt;
            encode: function () { return &amp;quot;undefined&amp;quot;; },&lt;br /&gt;
            decode: function () { return undefined; }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            type: &amp;quot;bigint&amp;quot;,&lt;br /&gt;
            match: function (t) { return typeof t === &amp;quot;bigint&amp;quot;; },&lt;br /&gt;
            encode: function (b) { return &amp;quot;&amp;quot;.concat(b); },&lt;br /&gt;
            decode: function (b) { return BigInt(b); }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            type: &amp;quot;date&amp;quot;,&lt;br /&gt;
            match: function (t) { return t instanceof Date; },&lt;br /&gt;
            encode: function (d) { return d.toISOString(); },&lt;br /&gt;
            decode: function (d) { return new Date(d); }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            type: &amp;quot;set&amp;quot;,&lt;br /&gt;
            match: function (t) { return t instanceof Set; },&lt;br /&gt;
            encode: function (s) { return JSON.stringify(__spreadArray([], __read(s.values()), false)); },&lt;br /&gt;
            decode: function (s) { return new Set(JSON.parse(s)); }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            type: &amp;quot;map&amp;quot;,&lt;br /&gt;
            match: function (t) { return t instanceof Map; },&lt;br /&gt;
            encode: function (m) { return JSON.stringify(__spreadArray([], __read(m.entries()), false)); },&lt;br /&gt;
            decode: function (m) { return new Map(JSON.parse(m)); }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            type: &amp;quot;regexp&amp;quot;,&lt;br /&gt;
            match: function (t) { return t instanceof RegExp; },&lt;br /&gt;
            encode: function (r) { return &amp;quot;&amp;quot;.concat(r); },&lt;br /&gt;
            decode: function (r) { return new RegExp(r.slice(1, r.length - 1)); }&lt;br /&gt;
        },&lt;br /&gt;
    ];&lt;br /&gt;
    var externalTransformations = [];&lt;br /&gt;
    var LocalObjectStorage = (function () {&lt;br /&gt;
        function LocalObjectStorage(prefix) {&lt;br /&gt;
            if (prefix === void 0) { prefix = &amp;quot;&amp;quot;; }&lt;br /&gt;
            _LocalObjectStorage_keyPrefix.set(this, void 0);&lt;br /&gt;
            if (prefix === &amp;quot;default&amp;quot;) {&lt;br /&gt;
                throw new Error(&amp;quot;LocalObjectStorage can&amp;#039;t accept prefix \&amp;quot;&amp;quot;.concat(prefix, &amp;quot;\&amp;quot;.&amp;quot;));&lt;br /&gt;
            }&lt;br /&gt;
            if (prefix.includes(&amp;quot;/&amp;quot;)) {&lt;br /&gt;
                throw new Error(&amp;quot;LocalObjectStorage can&amp;#039;t accept prefix \&amp;quot;&amp;quot;.concat(prefix, &amp;quot;\&amp;quot; including \&amp;quot;/\&amp;quot;.&amp;quot;));&lt;br /&gt;
            }&lt;br /&gt;
            __classPrivateFieldSet(this, _LocalObjectStorage_keyPrefix, &amp;quot;AnnTool-localObjectStorage/&amp;quot;.concat((prefix === null || prefix === void 0 ? void 0 : prefix.length) &amp;gt; 0 ? &amp;quot;&amp;quot;.concat(prefix, &amp;quot;/&amp;quot;) : &amp;quot;default/&amp;quot;), &amp;quot;f&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        Object.defineProperty(LocalObjectStorage.prototype, &amp;quot;_keyPrefix&amp;quot;, {&lt;br /&gt;
            get: function () {&lt;br /&gt;
                return __classPrivateFieldGet(this, _LocalObjectStorage_keyPrefix, &amp;quot;f&amp;quot;);&lt;br /&gt;
            },&lt;br /&gt;
            enumerable: false,&lt;br /&gt;
            configurable: true&lt;br /&gt;
        });&lt;br /&gt;
        LocalObjectStorage.prototype._getAllKeys = function () {&lt;br /&gt;
            var _this = this;&lt;br /&gt;
            return Object.keys(localStorage).filter(function (key) { return key.startsWith(__classPrivateFieldGet(_this, _LocalObjectStorage_keyPrefix, &amp;quot;f&amp;quot;)); });&lt;br /&gt;
        };&lt;br /&gt;
        Object.defineProperty(LocalObjectStorage.prototype, &amp;quot;length&amp;quot;, {&lt;br /&gt;
            get: function () {&lt;br /&gt;
                return this._getAllKeys().length;&lt;br /&gt;
            },&lt;br /&gt;
            enumerable: false,&lt;br /&gt;
            configurable: true&lt;br /&gt;
        });&lt;br /&gt;
        LocalObjectStorage.prototype.getItem = function (key, fallback) {&lt;br /&gt;
            var e_1, _a;&lt;br /&gt;
            var value = localStorage.getItem(&amp;quot;&amp;quot;.concat(__classPrivateFieldGet(this, _LocalObjectStorage_keyPrefix, &amp;quot;f&amp;quot;)).concat(key));&lt;br /&gt;
            if (value === null) {&lt;br /&gt;
                return fallback || value;&lt;br /&gt;
            }&lt;br /&gt;
            try {&lt;br /&gt;
                for (var _b = __values(builtinTransformations.concat(LocalObjectStorage.plugins.transformations.list)), _c = _b.next(); !_c.done; _c = _b.next()) {&lt;br /&gt;
                    var _d = _c.value, type = _d.type, decode = _d.decode;&lt;br /&gt;
                    if (type.includes(&amp;quot;|&amp;quot;)) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept type name \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot; including \&amp;quot;|\&amp;quot;, skip...&amp;quot;));&lt;br /&gt;
                        continue;&lt;br /&gt;
                    }&lt;br /&gt;
                    if (type === &amp;quot;JSON&amp;quot;) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept type name \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot;, skip...&amp;quot;));&lt;br /&gt;
                        continue;&lt;br /&gt;
                    }&lt;br /&gt;
                    if (value.startsWith(&amp;quot;&amp;quot;.concat(type, &amp;quot;|&amp;quot;))) {&lt;br /&gt;
                        try {&lt;br /&gt;
                            return decode(value.replace(&amp;quot;&amp;quot;.concat(type, &amp;quot;|&amp;quot;), &amp;quot;&amp;quot;));&lt;br /&gt;
                        }&lt;br /&gt;
                        catch (e) {&lt;br /&gt;
                            console.error(&amp;quot;LocalObjectStorage can&amp;#039;s transform value of key \&amp;quot;&amp;quot;.concat(key, &amp;quot;\&amp;quot; to type \&amp;quot;&amp;quot;).concat(type, &amp;quot;\&amp;quot; and skip...&amp;quot;));&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (e_1_1) { e_1 = { error: e_1_1 }; }&lt;br /&gt;
            finally {&lt;br /&gt;
                try {&lt;br /&gt;
                    if (_c &amp;amp;&amp;amp; !_c.done &amp;amp;&amp;amp; (_a = _b[&amp;quot;return&amp;quot;])) _a.call(_b);&lt;br /&gt;
                }&lt;br /&gt;
                finally { if (e_1) throw e_1.error; }&lt;br /&gt;
            }&lt;br /&gt;
            try {&lt;br /&gt;
                return JSON.parse(value.replace(&amp;quot;JSON|&amp;quot;, &amp;quot;&amp;quot;));&lt;br /&gt;
            }&lt;br /&gt;
            catch (e) {&lt;br /&gt;
                console.error(&amp;quot;LocalObjectStorage can&amp;#039;s transform value of key \&amp;quot;&amp;quot;.concat(key, &amp;quot;\&amp;quot; to JSON and return raw value...&amp;quot;));&lt;br /&gt;
                return value;&lt;br /&gt;
            }&lt;br /&gt;
        };&lt;br /&gt;
        LocalObjectStorage.prototype.setItem = function (key, value) {&lt;br /&gt;
            var e_2, _a;&lt;br /&gt;
            try {&lt;br /&gt;
                for (var _b = __values(builtinTransformations.concat(LocalObjectStorage.plugins.transformations.list)), _c = _b.next(); !_c.done; _c = _b.next()) {&lt;br /&gt;
                    var _d = _c.value, type = _d.type, match = _d.match, encode = _d.encode;&lt;br /&gt;
                    if (type.includes(&amp;quot;|&amp;quot;)) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept type name \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot; including \&amp;quot;|\&amp;quot;, skip...&amp;quot;));&lt;br /&gt;
                        continue;&lt;br /&gt;
                    }&lt;br /&gt;
                    if (type === &amp;quot;JSON&amp;quot;) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept type name \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot;, skip...&amp;quot;));&lt;br /&gt;
                        continue;&lt;br /&gt;
                    }&lt;br /&gt;
                    if (match(value)) {&lt;br /&gt;
                        try {&lt;br /&gt;
                            localStorage.setItem(&amp;quot;&amp;quot;.concat(__classPrivateFieldGet(this, _LocalObjectStorage_keyPrefix, &amp;quot;f&amp;quot;)).concat(key), &amp;quot;&amp;quot;.concat(type, &amp;quot;|&amp;quot;).concat(encode(value)));&lt;br /&gt;
                            return;&lt;br /&gt;
                        }&lt;br /&gt;
                        catch (e) {&lt;br /&gt;
                            console.error(&amp;quot;LocalObjectStorage can&amp;#039;s transform value of key \&amp;quot;&amp;quot;.concat(key, &amp;quot;\&amp;quot; from type \&amp;quot;&amp;quot;).concat(type, &amp;quot;\&amp;quot; and skip...&amp;quot;));&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (e_2_1) { e_2 = { error: e_2_1 }; }&lt;br /&gt;
            finally {&lt;br /&gt;
                try {&lt;br /&gt;
                    if (_c &amp;amp;&amp;amp; !_c.done &amp;amp;&amp;amp; (_a = _b[&amp;quot;return&amp;quot;])) _a.call(_b);&lt;br /&gt;
                }&lt;br /&gt;
                finally { if (e_2) throw e_2.error; }&lt;br /&gt;
            }&lt;br /&gt;
            try {&lt;br /&gt;
                localStorage.setItem(&amp;quot;&amp;quot;.concat(__classPrivateFieldGet(this, _LocalObjectStorage_keyPrefix, &amp;quot;f&amp;quot;)).concat(key), &amp;quot;JSON|&amp;quot;.concat(JSON.stringify(value)));&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            catch (e) {&lt;br /&gt;
                console.error(&amp;quot;LocalObjectStorage can&amp;#039;s transform value of key \&amp;quot;&amp;quot;.concat(key, &amp;quot;\&amp;quot; from JSON and store raw value...&amp;quot;));&lt;br /&gt;
                localStorage.setItem(&amp;quot;&amp;quot;.concat(__classPrivateFieldGet(this, _LocalObjectStorage_keyPrefix, &amp;quot;f&amp;quot;)).concat(key), value);&lt;br /&gt;
            }&lt;br /&gt;
        };&lt;br /&gt;
        LocalObjectStorage.prototype.removeItem = function (key) {&lt;br /&gt;
            localStorage.removeItem(&amp;quot;&amp;quot;.concat(__classPrivateFieldGet(this, _LocalObjectStorage_keyPrefix, &amp;quot;f&amp;quot;)).concat(key));&lt;br /&gt;
        };&lt;br /&gt;
        LocalObjectStorage.prototype.clear = function () {&lt;br /&gt;
            this._getAllKeys().forEach(function (key) {&lt;br /&gt;
                localStorage.removeItem(key);&lt;br /&gt;
            });&lt;br /&gt;
            this.length = 0;&lt;br /&gt;
        };&lt;br /&gt;
        LocalObjectStorage.prototype.key = function (index) {&lt;br /&gt;
            return this._getAllKeys()[index];&lt;br /&gt;
        };&lt;br /&gt;
        var _LocalObjectStorage_keyPrefix;&lt;br /&gt;
        _LocalObjectStorage_keyPrefix = new WeakMap();&lt;br /&gt;
        LocalObjectStorage.plugins = {&lt;br /&gt;
            transformations: {&lt;br /&gt;
                get list() {&lt;br /&gt;
                    return externalTransformations.map(function (transformation) { return Object.assign(Object.create(null), transformation); });&lt;br /&gt;
                },&lt;br /&gt;
                add: function (_a) {&lt;br /&gt;
                    var type = _a.type, match = _a.match, decode = _a.decode, encode = _a.encode;&lt;br /&gt;
                    if (type.includes(&amp;quot;|&amp;quot;)) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept type name \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot; including \&amp;quot;|\&amp;quot;, skip...&amp;quot;));&lt;br /&gt;
                        return false;&lt;br /&gt;
                    }&lt;br /&gt;
                    if (type === &amp;quot;JSON&amp;quot;) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept type name \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot;, skip...&amp;quot;));&lt;br /&gt;
                        return false;&lt;br /&gt;
                    }&lt;br /&gt;
                    if (builtinTransformations.concat(LocalObjectStorage.plugins.transformations.list).filter(function (_a) {&lt;br /&gt;
                        var eType = _a.type;&lt;br /&gt;
                        return eType === type;&lt;br /&gt;
                    }).length &amp;gt; 0) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept duplicated type name \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot;, skip...&amp;quot;));&lt;br /&gt;
                        return false;&lt;br /&gt;
                    }&lt;br /&gt;
                    if (typeof match !== &amp;quot;function&amp;quot; || typeof decode !== &amp;quot;function&amp;quot; || typeof encode !== &amp;quot;function&amp;quot;) {&lt;br /&gt;
                        console.error(&amp;quot;LocalObjectStorage can&amp;#039;t accept broken transformation [ type: \&amp;quot;&amp;quot;.concat(type, &amp;quot;\&amp;quot;, match: &amp;quot;).concat(typeof match, &amp;quot;, decode: &amp;quot;).concat(typeof decode, &amp;quot;, encode: &amp;quot;).concat(typeof encode, &amp;quot; ], skip...&amp;quot;));&lt;br /&gt;
                        return false;&lt;br /&gt;
                    }&lt;br /&gt;
                    externalTransformations.push({ type: type, match: match, decode: decode, encode: encode });&lt;br /&gt;
                    return true;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        };&lt;br /&gt;
        return LocalObjectStorage;&lt;br /&gt;
    }());&lt;br /&gt;
    window.LocalObjectStorage = LocalObjectStorage;&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;/pre&amp;gt; */&lt;/div&gt;</summary>
		<author><name>test&gt;Lih</name></author>
	</entry>
</feed>