@context-query/core 0.3.2-beta.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/store.d.ts +4 -0
- package/package.json +6 -7
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";class t{value;listeners;constructor(t){this.value=t,this.listeners=new Set}getValue(){return this.value}setValue(t){Object.is(this.value,t)||(this.value=t,this.notifyListeners())}notifyListeners(){this.listeners.forEach(
|
|
1
|
+
"use strict";class t{value;listeners;constructor(t){this.value=t,this.listeners=new Set}getValue(){return this.value}setValue(t){Object.is(this.value,t)||(this.value=t,this.notifyListeners())}notifyListeners(){this.listeners.forEach(t=>t())}subscribe(t){this.listeners.add(t);return{unsubscribe:()=>{this.listeners.delete(t)}}}}exports.AtomStore=t,exports.ContextQueryStore=class{atoms;cachedAllValues=null;allValuesDirty=!0;constructor(s){this.atoms=new Map,Object.entries(s).forEach(([s,e])=>{const l=new t(e);this.atoms.set(s,l),l.subscribe(()=>{this.allValuesDirty=!0})})}getAtom(t){const s=this.atoms.get(t);if(!s)throw new Error(`Atom with key "${String(t)}" not found`);return s}getAtomValue(t){return this.getAtom(t).getValue()}setAtomValue(t,s){this.getAtom(t).setValue(s)}subscribeToAtom(t,s){return this.getAtom(t).subscribe(e=>{s(t,e)})}getAllAtomValues(){if(!this.allValuesDirty&&null!==this.cachedAllValues)return this.cachedAllValues;const t={};return this.atoms.forEach((s,e)=>{t[e]=s.getValue()}),this.cachedAllValues=t,this.allValuesDirty=!1,t}updateAllAtoms(t){Object.entries(t).forEach(([t,s])=>{const e=this.atoms.get(t);e&&e.setValue(s)})}subscribeAll(t){const s=[];return this.atoms.forEach(e=>{const l=e.subscribe(()=>{t(this.getAllAtomValues())});s.push(l)}),{unsubscribe:()=>{s.forEach(t=>t.unsubscribe())}}}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/atom-store.ts","../src/store.ts"],"sourcesContent":["import { AtomListener, Subscription } from \"./types\";\n\nexport class AtomStore<T> {\n private value: T;\n private listeners: Set<AtomListener>;\n\n constructor(initialValue: T) {\n this.value = initialValue;\n this.listeners = new Set();\n }\n\n public getValue(): T {\n return this.value;\n }\n\n public setValue(newValue: T): void {\n if (Object.is(this.value, newValue)) {\n return;\n }\n\n this.value = newValue;\n this.notifyListeners();\n }\n\n private notifyListeners(): void {\n this.listeners.forEach((listener) => listener());\n }\n\n public subscribe(listener: AtomListener): Subscription {\n this.listeners.add(listener);\n\n const unsubscribe = () => {\n this.listeners.delete(listener);\n };\n\n return {\n unsubscribe,\n };\n }\n}","import { AtomStore } from \"./atom-store\";\nimport { AtomListener, Subscription } from \"./types\";\n\nexport class ContextQueryStore<TAtoms extends Record<string, any>> {\n private atoms: Map<keyof TAtoms, AtomStore<any>>;\n\n constructor(initialValues: TAtoms) {\n this.atoms = new Map();\n\n Object.entries(initialValues).forEach(([key, value]) => {\n this.atoms.set(key as keyof TAtoms,
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/atom-store.ts","../src/store.ts"],"sourcesContent":["import { AtomListener, Subscription } from \"./types\";\n\nexport class AtomStore<T> {\n private value: T;\n private listeners: Set<AtomListener>;\n\n constructor(initialValue: T) {\n this.value = initialValue;\n this.listeners = new Set();\n }\n\n public getValue(): T {\n return this.value;\n }\n\n public setValue(newValue: T): void {\n if (Object.is(this.value, newValue)) {\n return;\n }\n\n this.value = newValue;\n this.notifyListeners();\n }\n\n private notifyListeners(): void {\n this.listeners.forEach((listener) => listener());\n }\n\n public subscribe(listener: AtomListener): Subscription {\n this.listeners.add(listener);\n\n const unsubscribe = () => {\n this.listeners.delete(listener);\n };\n\n return {\n unsubscribe,\n };\n }\n}","import { AtomStore } from \"./atom-store\";\nimport { AtomListener, Subscription } from \"./types\";\n\nexport class ContextQueryStore<TAtoms extends Record<string, any>> {\n private atoms: Map<keyof TAtoms, AtomStore<any>>;\n private cachedAllValues: TAtoms | null = null;\n private allValuesDirty: boolean = true;\n\n constructor(initialValues: TAtoms) {\n this.atoms = new Map();\n\n Object.entries(initialValues).forEach(([key, value]) => {\n const atomStore = new AtomStore(value);\n this.atoms.set(key as keyof TAtoms, atomStore);\n\n atomStore.subscribe(() => {\n this.allValuesDirty = true;\n });\n });\n }\n\n private getAtom<TKey extends keyof TAtoms>(key: TKey): AtomStore<TAtoms[TKey]> {\n const atomStore = this.atoms.get(key);\n if (!atomStore) {\n throw new Error(`Atom with key \"${String(key)}\" not found`);\n }\n return atomStore;\n }\n\n public getAtomValue<TKey extends keyof TAtoms>(key: TKey): TAtoms[TKey] {\n return this.getAtom(key).getValue();\n }\n\n public setAtomValue<TKey extends keyof TAtoms>(\n key: TKey,\n value: TAtoms[TKey]\n ): void {\n this.getAtom(key).setValue(value);\n }\n\n public subscribeToAtom<TKey extends keyof TAtoms>(\n key: TKey,\n listener: AtomListener\n ): Subscription {\n const atomListener = (value: TAtoms[TKey]) => {\n listener(key, value);\n };\n\n return this.getAtom(key).subscribe(atomListener);\n }\n\n public getAllAtomValues(): TAtoms {\n if (!this.allValuesDirty && this.cachedAllValues !== null) {\n return this.cachedAllValues;\n }\n\n const result = {} as TAtoms;\n this.atoms.forEach((atomStore, key) => {\n result[key] = atomStore.getValue();\n });\n\n this.cachedAllValues = result;\n this.allValuesDirty = false;\n return result;\n }\n\n public updateAllAtoms(newAtoms: Partial<TAtoms>): void {\n Object.entries(newAtoms).forEach(([key, value]) => {\n const atomStore = this.atoms.get(key as keyof TAtoms);\n if (atomStore) {\n atomStore.setValue(value);\n }\n });\n }\n\n public subscribeAll(\n callback: (values: TAtoms) => void\n ): Subscription {\n const subscriptions: Subscription[] = [];\n\n this.atoms.forEach((atomStore) => {\n const sub = atomStore.subscribe(() => {\n callback(this.getAllAtomValues());\n });\n subscriptions.push(sub);\n });\n\n return {\n unsubscribe: () => {\n subscriptions.forEach((sub) => sub.unsubscribe());\n },\n };\n }\n}\n"],"names":["AtomStore","value","listeners","constructor","initialValue","this","Set","getValue","setValue","newValue","Object","is","notifyListeners","forEach","listener","subscribe","add","unsubscribe","delete","atoms","cachedAllValues","allValuesDirty","initialValues","Map","entries","key","atomStore","set","getAtom","get","Error","String","getAtomValue","setAtomValue","subscribeToAtom","getAllAtomValues","result","updateAllAtoms","newAtoms","subscribeAll","callback","subscriptions","sub","push"],"mappings":"mBAEaA,EACHC,MACAC,UAER,WAAAC,CAAYC,GACVC,KAAKJ,MAAQG,EACbC,KAAKH,UAAY,IAAII,GACvB,CAEO,QAAAC,GACL,OAAOF,KAAKJ,KACd,CAEO,QAAAO,CAASC,GACVC,OAAOC,GAAGN,KAAKJ,MAAOQ,KAI1BJ,KAAKJ,MAAQQ,EACbJ,KAAKO,kBACP,CAEQ,eAAAA,GACNP,KAAKH,UAAUW,QAASC,GAAaA,IACvC,CAEO,SAAAC,CAAUD,GACfT,KAAKH,UAAUc,IAAIF,GAMnB,MAAO,CACLG,YALkB,KAClBZ,KAAKH,UAAUgB,OAAOJ,IAM1B,sDClCQK,MACAC,gBAAiC,KACjCC,gBAA0B,EAElC,WAAAlB,CAAYmB,GACVjB,KAAKc,MAAQ,IAAII,IAEjBb,OAAOc,QAAQF,GAAeT,QAAQ,EAAEY,EAAKxB,MAC3C,MAAMyB,EAAY,IAAI1B,EAAUC,GAChCI,KAAKc,MAAMQ,IAAIF,EAAqBC,GAEpCA,EAAUX,UAAU,KAClBV,KAAKgB,gBAAiB,KAG5B,CAEQ,OAAAO,CAAmCH,GACzC,MAAMC,EAAYrB,KAAKc,MAAMU,IAAIJ,GACjC,IAAKC,EACH,MAAM,IAAII,MAAM,kBAAkBC,OAAON,iBAE3C,OAAOC,CACT,CAEO,YAAAM,CAAwCP,GAC7C,OAAOpB,KAAKuB,QAAQH,GAAKlB,UAC3B,CAEO,YAAA0B,CACLR,EACAxB,GAEAI,KAAKuB,QAAQH,GAAKjB,SAASP,EAC7B,CAEO,eAAAiC,CACLT,EACAX,GAMA,OAAOT,KAAKuB,QAAQH,GAAKV,UAJHd,IACpBa,EAASW,EAAKxB,IAIlB,CAEO,gBAAAkC,GACL,IAAK9B,KAAKgB,gBAA2C,OAAzBhB,KAAKe,gBAC/B,OAAOf,KAAKe,gBAGd,MAAMgB,EAAS,CAAA,EAOf,OANA/B,KAAKc,MAAMN,QAAQ,CAACa,EAAWD,KAC7BW,EAAOX,GAAOC,EAAUnB,aAG1BF,KAAKe,gBAAkBgB,EACvB/B,KAAKgB,gBAAiB,EACfe,CACT,CAEO,cAAAC,CAAeC,GACpB5B,OAAOc,QAAQc,GAAUzB,QAAQ,EAAEY,EAAKxB,MACtC,MAAMyB,EAAYrB,KAAKc,MAAMU,IAAIJ,GAC7BC,GACFA,EAAUlB,SAASP,IAGzB,CAEO,YAAAsC,CACLC,GAEA,MAAMC,EAAgC,GAStC,OAPApC,KAAKc,MAAMN,QAASa,IAClB,MAAMgB,EAAMhB,EAAUX,UAAU,KAC9ByB,EAASnC,KAAK8B,sBAEhBM,EAAcE,KAAKD,KAGd,CACLzB,YAAa,KACXwB,EAAc5B,QAAS6B,GAAQA,EAAIzB,gBAGzC"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
class t{value;listeners;constructor(t){this.value=t,this.listeners=new Set}getValue(){return this.value}setValue(t){Object.is(this.value,t)||(this.value=t,this.notifyListeners())}notifyListeners(){this.listeners.forEach(
|
|
1
|
+
class t{value;listeners;constructor(t){this.value=t,this.listeners=new Set}getValue(){return this.value}setValue(t){Object.is(this.value,t)||(this.value=t,this.notifyListeners())}notifyListeners(){this.listeners.forEach(t=>t())}subscribe(t){this.listeners.add(t);return{unsubscribe:()=>{this.listeners.delete(t)}}}}class s{atoms;cachedAllValues=null;allValuesDirty=!0;constructor(s){this.atoms=new Map,Object.entries(s).forEach(([s,e])=>{const l=new t(e);this.atoms.set(s,l),l.subscribe(()=>{this.allValuesDirty=!0})})}getAtom(t){const s=this.atoms.get(t);if(!s)throw new Error(`Atom with key "${String(t)}" not found`);return s}getAtomValue(t){return this.getAtom(t).getValue()}setAtomValue(t,s){this.getAtom(t).setValue(s)}subscribeToAtom(t,s){return this.getAtom(t).subscribe(e=>{s(t,e)})}getAllAtomValues(){if(!this.allValuesDirty&&null!==this.cachedAllValues)return this.cachedAllValues;const t={};return this.atoms.forEach((s,e)=>{t[e]=s.getValue()}),this.cachedAllValues=t,this.allValuesDirty=!1,t}updateAllAtoms(t){Object.entries(t).forEach(([t,s])=>{const e=this.atoms.get(t);e&&e.setValue(s)})}subscribeAll(t){const s=[];return this.atoms.forEach(e=>{const l=e.subscribe(()=>{t(this.getAllAtomValues())});s.push(l)}),{unsubscribe:()=>{s.forEach(t=>t.unsubscribe())}}}}export{t as AtomStore,s as ContextQueryStore};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/atom-store.ts","../src/store.ts"],"sourcesContent":["import { AtomListener, Subscription } from \"./types\";\n\nexport class AtomStore<T> {\n private value: T;\n private listeners: Set<AtomListener>;\n\n constructor(initialValue: T) {\n this.value = initialValue;\n this.listeners = new Set();\n }\n\n public getValue(): T {\n return this.value;\n }\n\n public setValue(newValue: T): void {\n if (Object.is(this.value, newValue)) {\n return;\n }\n\n this.value = newValue;\n this.notifyListeners();\n }\n\n private notifyListeners(): void {\n this.listeners.forEach((listener) => listener());\n }\n\n public subscribe(listener: AtomListener): Subscription {\n this.listeners.add(listener);\n\n const unsubscribe = () => {\n this.listeners.delete(listener);\n };\n\n return {\n unsubscribe,\n };\n }\n}","import { AtomStore } from \"./atom-store\";\nimport { AtomListener, Subscription } from \"./types\";\n\nexport class ContextQueryStore<TAtoms extends Record<string, any>> {\n private atoms: Map<keyof TAtoms, AtomStore<any>>;\n\n constructor(initialValues: TAtoms) {\n this.atoms = new Map();\n\n Object.entries(initialValues).forEach(([key, value]) => {\n this.atoms.set(key as keyof TAtoms,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/atom-store.ts","../src/store.ts"],"sourcesContent":["import { AtomListener, Subscription } from \"./types\";\n\nexport class AtomStore<T> {\n private value: T;\n private listeners: Set<AtomListener>;\n\n constructor(initialValue: T) {\n this.value = initialValue;\n this.listeners = new Set();\n }\n\n public getValue(): T {\n return this.value;\n }\n\n public setValue(newValue: T): void {\n if (Object.is(this.value, newValue)) {\n return;\n }\n\n this.value = newValue;\n this.notifyListeners();\n }\n\n private notifyListeners(): void {\n this.listeners.forEach((listener) => listener());\n }\n\n public subscribe(listener: AtomListener): Subscription {\n this.listeners.add(listener);\n\n const unsubscribe = () => {\n this.listeners.delete(listener);\n };\n\n return {\n unsubscribe,\n };\n }\n}","import { AtomStore } from \"./atom-store\";\nimport { AtomListener, Subscription } from \"./types\";\n\nexport class ContextQueryStore<TAtoms extends Record<string, any>> {\n private atoms: Map<keyof TAtoms, AtomStore<any>>;\n private cachedAllValues: TAtoms | null = null;\n private allValuesDirty: boolean = true;\n\n constructor(initialValues: TAtoms) {\n this.atoms = new Map();\n\n Object.entries(initialValues).forEach(([key, value]) => {\n const atomStore = new AtomStore(value);\n this.atoms.set(key as keyof TAtoms, atomStore);\n\n atomStore.subscribe(() => {\n this.allValuesDirty = true;\n });\n });\n }\n\n private getAtom<TKey extends keyof TAtoms>(key: TKey): AtomStore<TAtoms[TKey]> {\n const atomStore = this.atoms.get(key);\n if (!atomStore) {\n throw new Error(`Atom with key \"${String(key)}\" not found`);\n }\n return atomStore;\n }\n\n public getAtomValue<TKey extends keyof TAtoms>(key: TKey): TAtoms[TKey] {\n return this.getAtom(key).getValue();\n }\n\n public setAtomValue<TKey extends keyof TAtoms>(\n key: TKey,\n value: TAtoms[TKey]\n ): void {\n this.getAtom(key).setValue(value);\n }\n\n public subscribeToAtom<TKey extends keyof TAtoms>(\n key: TKey,\n listener: AtomListener\n ): Subscription {\n const atomListener = (value: TAtoms[TKey]) => {\n listener(key, value);\n };\n\n return this.getAtom(key).subscribe(atomListener);\n }\n\n public getAllAtomValues(): TAtoms {\n if (!this.allValuesDirty && this.cachedAllValues !== null) {\n return this.cachedAllValues;\n }\n\n const result = {} as TAtoms;\n this.atoms.forEach((atomStore, key) => {\n result[key] = atomStore.getValue();\n });\n\n this.cachedAllValues = result;\n this.allValuesDirty = false;\n return result;\n }\n\n public updateAllAtoms(newAtoms: Partial<TAtoms>): void {\n Object.entries(newAtoms).forEach(([key, value]) => {\n const atomStore = this.atoms.get(key as keyof TAtoms);\n if (atomStore) {\n atomStore.setValue(value);\n }\n });\n }\n\n public subscribeAll(\n callback: (values: TAtoms) => void\n ): Subscription {\n const subscriptions: Subscription[] = [];\n\n this.atoms.forEach((atomStore) => {\n const sub = atomStore.subscribe(() => {\n callback(this.getAllAtomValues());\n });\n subscriptions.push(sub);\n });\n\n return {\n unsubscribe: () => {\n subscriptions.forEach((sub) => sub.unsubscribe());\n },\n };\n }\n}\n"],"names":["AtomStore","value","listeners","constructor","initialValue","this","Set","getValue","setValue","newValue","Object","is","notifyListeners","forEach","listener","subscribe","add","unsubscribe","delete","ContextQueryStore","atoms","cachedAllValues","allValuesDirty","initialValues","Map","entries","key","atomStore","set","getAtom","get","Error","String","getAtomValue","setAtomValue","subscribeToAtom","getAllAtomValues","result","updateAllAtoms","newAtoms","subscribeAll","callback","subscriptions","sub","push"],"mappings":"MAEaA,EACHC,MACAC,UAER,WAAAC,CAAYC,GACVC,KAAKJ,MAAQG,EACbC,KAAKH,UAAY,IAAII,GACvB,CAEO,QAAAC,GACL,OAAOF,KAAKJ,KACd,CAEO,QAAAO,CAASC,GACVC,OAAOC,GAAGN,KAAKJ,MAAOQ,KAI1BJ,KAAKJ,MAAQQ,EACbJ,KAAKO,kBACP,CAEQ,eAAAA,GACNP,KAAKH,UAAUW,QAASC,GAAaA,IACvC,CAEO,SAAAC,CAAUD,GACfT,KAAKH,UAAUc,IAAIF,GAMnB,MAAO,CACLG,YALkB,KAClBZ,KAAKH,UAAUgB,OAAOJ,IAM1B,QCnCWK,EACHC,MACAC,gBAAiC,KACjCC,gBAA0B,EAElC,WAAAnB,CAAYoB,GACVlB,KAAKe,MAAQ,IAAII,IAEjBd,OAAOe,QAAQF,GAAeV,QAAQ,EAAEa,EAAKzB,MAC3C,MAAM0B,EAAY,IAAI3B,EAAUC,GAChCI,KAAKe,MAAMQ,IAAIF,EAAqBC,GAEpCA,EAAUZ,UAAU,KAClBV,KAAKiB,gBAAiB,KAG5B,CAEQ,OAAAO,CAAmCH,GACzC,MAAMC,EAAYtB,KAAKe,MAAMU,IAAIJ,GACjC,IAAKC,EACH,MAAM,IAAII,MAAM,kBAAkBC,OAAON,iBAE3C,OAAOC,CACT,CAEO,YAAAM,CAAwCP,GAC7C,OAAOrB,KAAKwB,QAAQH,GAAKnB,UAC3B,CAEO,YAAA2B,CACLR,EACAzB,GAEAI,KAAKwB,QAAQH,GAAKlB,SAASP,EAC7B,CAEO,eAAAkC,CACLT,EACAZ,GAMA,OAAOT,KAAKwB,QAAQH,GAAKX,UAJHd,IACpBa,EAASY,EAAKzB,IAIlB,CAEO,gBAAAmC,GACL,IAAK/B,KAAKiB,gBAA2C,OAAzBjB,KAAKgB,gBAC/B,OAAOhB,KAAKgB,gBAGd,MAAMgB,EAAS,CAAA,EAOf,OANAhC,KAAKe,MAAMP,QAAQ,CAACc,EAAWD,KAC7BW,EAAOX,GAAOC,EAAUpB,aAG1BF,KAAKgB,gBAAkBgB,EACvBhC,KAAKiB,gBAAiB,EACfe,CACT,CAEO,cAAAC,CAAeC,GACpB7B,OAAOe,QAAQc,GAAU1B,QAAQ,EAAEa,EAAKzB,MACtC,MAAM0B,EAAYtB,KAAKe,MAAMU,IAAIJ,GAC7BC,GACFA,EAAUnB,SAASP,IAGzB,CAEO,YAAAuC,CACLC,GAEA,MAAMC,EAAgC,GAStC,OAPArC,KAAKe,MAAMP,QAASc,IAClB,MAAMgB,EAAMhB,EAAUZ,UAAU,KAC9B0B,EAASpC,KAAK+B,sBAEhBM,EAAcE,KAAKD,KAGd,CACL1B,YAAa,KACXyB,EAAc7B,QAAS8B,GAAQA,EAAI1B,gBAGzC"}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { AtomListener, Subscription } from "./types";
|
|
2
2
|
export declare class ContextQueryStore<TAtoms extends Record<string, any>> {
|
|
3
3
|
private atoms;
|
|
4
|
+
private cachedAllValues;
|
|
5
|
+
private allValuesDirty;
|
|
4
6
|
constructor(initialValues: TAtoms);
|
|
7
|
+
private getAtom;
|
|
5
8
|
getAtomValue<TKey extends keyof TAtoms>(key: TKey): TAtoms[TKey];
|
|
6
9
|
setAtomValue<TKey extends keyof TAtoms>(key: TKey, value: TAtoms[TKey]): void;
|
|
7
10
|
subscribeToAtom<TKey extends keyof TAtoms>(key: TKey, listener: AtomListener): Subscription;
|
|
8
11
|
getAllAtomValues(): TAtoms;
|
|
9
12
|
updateAllAtoms(newAtoms: Partial<TAtoms>): void;
|
|
13
|
+
subscribeAll(callback: (values: TAtoms) => void): Subscription;
|
|
10
14
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@context-query/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"build": "rollup -c",
|
|
8
|
-
"dev": "rollup -c -w"
|
|
9
|
-
},
|
|
10
6
|
"main": "./dist/index.cjs",
|
|
11
7
|
"module": "./dist/index.mjs",
|
|
12
8
|
"types": "./dist/index.d.ts",
|
|
@@ -21,5 +17,8 @@
|
|
|
21
17
|
"default": "./dist/index.mjs"
|
|
22
18
|
}
|
|
23
19
|
},
|
|
24
|
-
"
|
|
25
|
-
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "rollup -c",
|
|
22
|
+
"dev": "rollup -c -w"
|
|
23
|
+
}
|
|
24
|
+
}
|