@routier/core 0.8.1 → 0.8.2
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 +45 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +49 -3
- package/dist/index.js.map +1 -1
- package/dist/results/index.cjs +40 -0
- package/dist/results/index.cjs.map +1 -1
- package/dist/results/index.d.ts +1 -0
- package/dist/results/index.js +44 -1
- package/dist/results/index.js.map +1 -1
- package/dist/results/liveQuery.d.ts +26 -0
- package/package.json +1 -1
package/dist/results/index.cjs
CHANGED
|
@@ -142,6 +142,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
142
142
|
__webpack_require__.d(__webpack_exports__, {
|
|
143
143
|
PluginEventResult: () => (/* reexport */ Result/* .PluginEventResult */.D),
|
|
144
144
|
toPromise: () => (/* reexport */ toPromise),
|
|
145
|
+
pendingLiveQueryState: () => (/* reexport */ pendingLiveQueryState),
|
|
146
|
+
subscribeLiveQuery: () => (/* reexport */ subscribeLiveQuery),
|
|
147
|
+
toLiveQueryState: () => (/* reexport */ toLiveQueryState),
|
|
145
148
|
Result: () => (/* reexport */ Result/* .Result */.Q)
|
|
146
149
|
});
|
|
147
150
|
|
|
@@ -161,11 +164,48 @@ function toPromise(fn) {
|
|
|
161
164
|
});
|
|
162
165
|
}
|
|
163
166
|
|
|
167
|
+
;// CONCATENATED MODULE: ./src/results/liveQuery.ts
|
|
168
|
+
|
|
169
|
+
const pendingLiveQueryState = ()=>({
|
|
170
|
+
status: "pending",
|
|
171
|
+
loading: true,
|
|
172
|
+
isSuccess: false,
|
|
173
|
+
isError: false
|
|
174
|
+
});
|
|
175
|
+
const toLiveQueryState = (result)=>result.ok === Result/* .Result.SUCCESS */.Q.SUCCESS ? {
|
|
176
|
+
status: "success",
|
|
177
|
+
loading: false,
|
|
178
|
+
data: result.data,
|
|
179
|
+
isSuccess: true,
|
|
180
|
+
isError: false
|
|
181
|
+
} : {
|
|
182
|
+
status: "error",
|
|
183
|
+
loading: false,
|
|
184
|
+
error: new Error(result.error?.message || "Unknown error"),
|
|
185
|
+
isSuccess: false,
|
|
186
|
+
isError: true
|
|
187
|
+
};
|
|
188
|
+
const subscribeLiveQuery = (query, onState)=>{
|
|
189
|
+
let active = true;
|
|
190
|
+
const unsubscribe = query((result)=>{
|
|
191
|
+
if (active) {
|
|
192
|
+
onState(toLiveQueryState(result));
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
return ()=>{
|
|
196
|
+
active = false;
|
|
197
|
+
if (typeof unsubscribe === "function") {
|
|
198
|
+
unsubscribe();
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
|
|
164
203
|
;// CONCATENATED MODULE: ./src/results/index.ts
|
|
165
204
|
|
|
166
205
|
|
|
167
206
|
|
|
168
207
|
|
|
208
|
+
|
|
169
209
|
})();
|
|
170
210
|
|
|
171
211
|
module.exports = __webpack_exports__;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results/index.cjs","sources":["webpack://@routier/core/./src/results/Result.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/webpack/runtime/make_namespace_object","webpack://@routier/core/./src/results/utils.ts","webpack://@routier/core/./src/results/index.ts"],"sourcesContent":["import { PartialResultType, PluginEventPartialResultType, PluginEventResultType, ResultType } from \"./types\";\n\nabstract class BaseResult {\n static ERROR = \"error\" as const;\n static SUCCESS = \"success\" as const;\n static PARTIAL = \"partial\" as const;\n\n static resolve<T>(result: ResultType<T> | PartialResultType<T>, resolve: (data: T) => void, reject: (error?: any) => void) {\n if (result.ok === BaseResult.SUCCESS) {\n resolve(result.data);\n return;\n }\n\n if (result.ok === BaseResult.PARTIAL) {\n reject({\n partial: result.data,\n error: result.error\n });\n return;\n }\n\n reject(result.error);\n }\n\n static assertSuccess<T>(result: any): asserts result is { ok: \"success\"; data: T } {\n if (result.ok !== BaseResult.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n\nexport class Result extends BaseResult {\n static success<T>(data: T): ResultType<T>;\n static success(): ResultType<never>;\n static success<T>(data?: T): ResultType<T> {\n return {\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(error: any): ResultType<T> {\n return {\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(data: T, error: any): PartialResultType<T> {\n return {\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n}\n\nexport class PluginEventResult extends BaseResult {\n static success<T>(id: string, data: T): PluginEventResultType<T>;\n static success(id: string): PluginEventResultType<never>;\n static success<T>(id: string, data?: T): PluginEventResultType<T> {\n return {\n id,\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(id: string, error: any): PluginEventResultType<T> {\n return {\n id,\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(id: string, data: T, error: any): PluginEventPartialResultType<T> {\n return {\n id,\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n\n static assertSuccess<T>(result: PluginEventResultType<T>): asserts result is { ok: \"success\"; data: T; id: string } {\n if (result.ok !== Result.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Result } from \"./Result\";\nimport { CallbackResult } from \"./types\";\n\nexport function toPromise<T>(fn: (callback: CallbackResult<T>) => void) {\n return new Promise<T>((resolve, reject) => {\n fn((r) => {\n if (r.ok === Result.ERROR) {\n reject(r.error);\n return;\n }\n\n resolve(r.data);\n });\n });\n}\n","export * from './Result';\nexport * from './types';\nexport * from './utils';"],"names":["BaseResult","result","resolve","reject","Error","Result","data","error","PluginEventResult","id","toPromise","fn","Promise","r"],"mappings":";;;;;;;;AAEA,MAAeA;IACX,OAAO,QAAQ,QAAiB;IAChC,OAAO,UAAU,UAAmB;IACpC,OAAO,UAAU,UAAmB;IAEpC,OAAO,QAAWC,MAA4C,EAAEC,OAA0B,EAAEC,MAA6B,EAAE;QACvH,IAAIF,OAAO,EAAE,KAAKD,WAAW,OAAO,EAAE;YAClCE,QAAQD,OAAO,IAAI;YACnB;QACJ;QAEA,IAAIA,OAAO,EAAE,KAAKD,WAAW,OAAO,EAAE;YAClCG,OAAO;gBACH,SAASF,OAAO,IAAI;gBACpB,OAAOA,OAAO,KAAK;YACvB;YACA;QACJ;QAEAE,OAAOF,OAAO,KAAK;IACvB;IAEA,OAAO,cAAiBA,MAAW,EAAgD;QAC/E,IAAIA,OAAO,EAAE,KAAKD,WAAW,OAAO,EAAE;YAClC,MAAM,IAAII,MAAM,CAAC,iCAAiC,EAAEH,OAAO,EAAE,CAAC,EAAE,EAAEA,OAAO,KAAK,EAAE;QACpF;IACJ;AACJ;AAEO,MAAMI,eAAeL;IAGxB,OAAO,QAAWM,IAAQ,EAAiB;QACvC,OAAO;YACH,IAAID,OAAO,OAAO;YAClBC;QACJ;IACJ;IAEA,OAAO,MAASC,KAAU,EAAiB;QACvC,OAAO;YACH,IAAIF,OAAO,KAAK;YAChBE;QACJ;IACJ;IAEA,OAAO,QAAWD,IAAO,EAAEC,KAAU,EAAwB;QACzD,OAAO;YACH,IAAIF,OAAO,OAAO;YAClBC;YACAC;QACJ;IACJ;AACJ;AAEO,MAAMC,0BAA0BR;IAGnC,OAAO,QAAWS,EAAU,EAAEH,IAAQ,EAA4B;QAC9D,OAAO;YACHG;YACA,IAAIJ,OAAO,OAAO;YAClBC;QACJ;IACJ;IAEA,OAAO,MAASG,EAAU,EAAEF,KAAU,EAA4B;QAC9D,OAAO;YACHE;YACA,IAAIJ,OAAO,KAAK;YAChBE;QACJ;IACJ;IAEA,OAAO,QAAWE,EAAU,EAAEH,IAAO,EAAEC,KAAU,EAAmC;QAChF,OAAO;YACHE;YACA,IAAIJ,OAAO,OAAO;YAClBC;YACAC;QACJ;IACJ;IAEA,OAAO,cAAiBN,MAAgC,EAA4D;QAChH,IAAIA,OAAO,EAAE,KAAKI,OAAO,OAAO,EAAE;YAC9B,MAAM,IAAID,MAAM,CAAC,iCAAiC,EAAEH,OAAO,EAAE,CAAC,EAAE,EAAEA,OAAO,KAAK,EAAE;QACpF;IACJ;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D,E
|
|
1
|
+
{"version":3,"file":"results/index.cjs","sources":["webpack://@routier/core/./src/results/Result.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/webpack/runtime/make_namespace_object","webpack://@routier/core/./src/results/utils.ts","webpack://@routier/core/./src/results/liveQuery.ts","webpack://@routier/core/./src/results/index.ts"],"sourcesContent":["import { PartialResultType, PluginEventPartialResultType, PluginEventResultType, ResultType } from \"./types\";\n\nabstract class BaseResult {\n static ERROR = \"error\" as const;\n static SUCCESS = \"success\" as const;\n static PARTIAL = \"partial\" as const;\n\n static resolve<T>(result: ResultType<T> | PartialResultType<T>, resolve: (data: T) => void, reject: (error?: any) => void) {\n if (result.ok === BaseResult.SUCCESS) {\n resolve(result.data);\n return;\n }\n\n if (result.ok === BaseResult.PARTIAL) {\n reject({\n partial: result.data,\n error: result.error\n });\n return;\n }\n\n reject(result.error);\n }\n\n static assertSuccess<T>(result: any): asserts result is { ok: \"success\"; data: T } {\n if (result.ok !== BaseResult.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n\nexport class Result extends BaseResult {\n static success<T>(data: T): ResultType<T>;\n static success(): ResultType<never>;\n static success<T>(data?: T): ResultType<T> {\n return {\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(error: any): ResultType<T> {\n return {\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(data: T, error: any): PartialResultType<T> {\n return {\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n}\n\nexport class PluginEventResult extends BaseResult {\n static success<T>(id: string, data: T): PluginEventResultType<T>;\n static success(id: string): PluginEventResultType<never>;\n static success<T>(id: string, data?: T): PluginEventResultType<T> {\n return {\n id,\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(id: string, error: any): PluginEventResultType<T> {\n return {\n id,\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(id: string, data: T, error: any): PluginEventPartialResultType<T> {\n return {\n id,\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n\n static assertSuccess<T>(result: PluginEventResultType<T>): asserts result is { ok: \"success\"; data: T; id: string } {\n if (result.ok !== Result.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Result } from \"./Result\";\nimport { CallbackResult } from \"./types\";\n\nexport function toPromise<T>(fn: (callback: CallbackResult<T>) => void) {\n return new Promise<T>((resolve, reject) => {\n fn((r) => {\n if (r.ok === Result.ERROR) {\n reject(r.error);\n return;\n }\n\n resolve(r.data);\n });\n });\n}\n","import { Result } from \"./Result\";\nimport { ResultType } from \"./types\";\n\nexport type LiveQuery<T> = (callback: (result: ResultType<T>) => void) => void | (() => void);\n\nexport type LiveQueryState<T> =\n | {\n status: \"pending\";\n loading: true;\n isSuccess: false;\n isError: false;\n }\n | {\n status: \"error\";\n loading: false;\n error: Error;\n isSuccess: false;\n isError: true;\n }\n | {\n status: \"success\";\n loading: false;\n data: T;\n isSuccess: true;\n isError: false;\n };\n\nexport type SettledLiveQueryState<T> = Exclude<LiveQueryState<T>, { status: \"pending\" }>;\n\nexport const pendingLiveQueryState = <T>(): LiveQueryState<T> => ({\n status: \"pending\",\n loading: true,\n isSuccess: false,\n isError: false,\n});\n\nexport const toLiveQueryState = <T>(result: ResultType<T>): SettledLiveQueryState<T> =>\n result.ok === Result.SUCCESS\n ? { status: \"success\", loading: false, data: result.data, isSuccess: true, isError: false }\n : {\n status: \"error\",\n loading: false,\n error: new Error(result.error?.message || \"Unknown error\"),\n isSuccess: false,\n isError: true,\n };\n\nexport const subscribeLiveQuery = <T>(query: LiveQuery<T>, onState: (state: SettledLiveQueryState<T>) => void): (() => void) => {\n let active = true;\n\n const unsubscribe = query((result) => {\n if (active) {\n onState(toLiveQueryState(result));\n }\n });\n\n return () => {\n active = false;\n\n if (typeof unsubscribe === \"function\") {\n unsubscribe();\n }\n };\n};\n","export * from './Result';\nexport * from './types';\nexport * from './utils';export * from './liveQuery';\n"],"names":["BaseResult","result","resolve","reject","Error","Result","data","error","PluginEventResult","id","toPromise","fn","Promise","r","pendingLiveQueryState","toLiveQueryState","subscribeLiveQuery","query","onState","active","unsubscribe"],"mappings":"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"}
|
package/dist/results/index.d.ts
CHANGED
package/dist/results/index.js
CHANGED
|
@@ -128,6 +128,9 @@ var __webpack_exports__ = {};
|
|
|
128
128
|
__webpack_require__.d(__webpack_exports__, {
|
|
129
129
|
Dq: () => (/* reexport */ Result/* .PluginEventResult */.D),
|
|
130
130
|
Q7: () => (/* reexport */ Result/* .Result */.Q),
|
|
131
|
+
jk: () => (/* reexport */ subscribeLiveQuery),
|
|
132
|
+
T: () => (/* reexport */ pendingLiveQueryState),
|
|
133
|
+
RV: () => (/* reexport */ toLiveQueryState),
|
|
131
134
|
hq: () => (/* reexport */ toPromise)
|
|
132
135
|
});
|
|
133
136
|
|
|
@@ -147,16 +150,56 @@ function toPromise(fn) {
|
|
|
147
150
|
});
|
|
148
151
|
}
|
|
149
152
|
|
|
153
|
+
;// CONCATENATED MODULE: ./src/results/liveQuery.ts
|
|
154
|
+
|
|
155
|
+
const pendingLiveQueryState = ()=>({
|
|
156
|
+
status: "pending",
|
|
157
|
+
loading: true,
|
|
158
|
+
isSuccess: false,
|
|
159
|
+
isError: false
|
|
160
|
+
});
|
|
161
|
+
const toLiveQueryState = (result)=>result.ok === Result/* .Result.SUCCESS */.Q.SUCCESS ? {
|
|
162
|
+
status: "success",
|
|
163
|
+
loading: false,
|
|
164
|
+
data: result.data,
|
|
165
|
+
isSuccess: true,
|
|
166
|
+
isError: false
|
|
167
|
+
} : {
|
|
168
|
+
status: "error",
|
|
169
|
+
loading: false,
|
|
170
|
+
error: new Error(result.error?.message || "Unknown error"),
|
|
171
|
+
isSuccess: false,
|
|
172
|
+
isError: true
|
|
173
|
+
};
|
|
174
|
+
const subscribeLiveQuery = (query, onState)=>{
|
|
175
|
+
let active = true;
|
|
176
|
+
const unsubscribe = query((result)=>{
|
|
177
|
+
if (active) {
|
|
178
|
+
onState(toLiveQueryState(result));
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
return ()=>{
|
|
182
|
+
active = false;
|
|
183
|
+
if (typeof unsubscribe === "function") {
|
|
184
|
+
unsubscribe();
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
|
|
150
189
|
;// CONCATENATED MODULE: ./src/results/index.ts
|
|
151
190
|
|
|
152
191
|
|
|
153
192
|
|
|
154
193
|
|
|
194
|
+
|
|
155
195
|
})();
|
|
156
196
|
|
|
157
197
|
var __webpack_exports__PluginEventResult = __webpack_exports__.Dq;
|
|
158
198
|
var __webpack_exports__Result = __webpack_exports__.Q7;
|
|
199
|
+
var __webpack_exports__pendingLiveQueryState = __webpack_exports__.T;
|
|
200
|
+
var __webpack_exports__subscribeLiveQuery = __webpack_exports__.jk;
|
|
201
|
+
var __webpack_exports__toLiveQueryState = __webpack_exports__.RV;
|
|
159
202
|
var __webpack_exports__toPromise = __webpack_exports__.hq;
|
|
160
|
-
export { __webpack_exports__PluginEventResult as PluginEventResult, __webpack_exports__Result as Result, __webpack_exports__toPromise as toPromise };
|
|
203
|
+
export { __webpack_exports__PluginEventResult as PluginEventResult, __webpack_exports__Result as Result, __webpack_exports__pendingLiveQueryState as pendingLiveQueryState, __webpack_exports__subscribeLiveQuery as subscribeLiveQuery, __webpack_exports__toLiveQueryState as toLiveQueryState, __webpack_exports__toPromise as toPromise };
|
|
161
204
|
|
|
162
205
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results/index.js","sources":["webpack://@routier/core/./src/results/Result.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/./src/results/utils.ts","webpack://@routier/core/./src/results/index.ts"],"sourcesContent":["import { PartialResultType, PluginEventPartialResultType, PluginEventResultType, ResultType } from \"./types\";\n\nabstract class BaseResult {\n static ERROR = \"error\" as const;\n static SUCCESS = \"success\" as const;\n static PARTIAL = \"partial\" as const;\n\n static resolve<T>(result: ResultType<T> | PartialResultType<T>, resolve: (data: T) => void, reject: (error?: any) => void) {\n if (result.ok === BaseResult.SUCCESS) {\n resolve(result.data);\n return;\n }\n\n if (result.ok === BaseResult.PARTIAL) {\n reject({\n partial: result.data,\n error: result.error\n });\n return;\n }\n\n reject(result.error);\n }\n\n static assertSuccess<T>(result: any): asserts result is { ok: \"success\"; data: T } {\n if (result.ok !== BaseResult.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n\nexport class Result extends BaseResult {\n static success<T>(data: T): ResultType<T>;\n static success(): ResultType<never>;\n static success<T>(data?: T): ResultType<T> {\n return {\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(error: any): ResultType<T> {\n return {\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(data: T, error: any): PartialResultType<T> {\n return {\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n}\n\nexport class PluginEventResult extends BaseResult {\n static success<T>(id: string, data: T): PluginEventResultType<T>;\n static success(id: string): PluginEventResultType<never>;\n static success<T>(id: string, data?: T): PluginEventResultType<T> {\n return {\n id,\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(id: string, error: any): PluginEventResultType<T> {\n return {\n id,\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(id: string, data: T, error: any): PluginEventPartialResultType<T> {\n return {\n id,\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n\n static assertSuccess<T>(result: PluginEventResultType<T>): asserts result is { ok: \"success\"; data: T; id: string } {\n if (result.ok !== Result.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import { Result } from \"./Result\";\nimport { CallbackResult } from \"./types\";\n\nexport function toPromise<T>(fn: (callback: CallbackResult<T>) => void) {\n return new Promise<T>((resolve, reject) => {\n fn((r) => {\n if (r.ok === Result.ERROR) {\n reject(r.error);\n return;\n }\n\n resolve(r.data);\n });\n });\n}\n","export * from './Result';\nexport * from './types';\nexport * from './utils';"],"names":["BaseResult","result","resolve","reject","Error","Result","data","error","PluginEventResult","id","toPromise","fn","Promise","r"],"mappings":";;;;;;AAEA,MAAeA;IACX,OAAO,QAAQ,QAAiB;IAChC,OAAO,UAAU,UAAmB;IACpC,OAAO,UAAU,UAAmB;IAEpC,OAAO,QAAWC,MAA4C,EAAEC,OAA0B,EAAEC,MAA6B,EAAE;QACvH,IAAIF,OAAO,EAAE,KAAKD,WAAW,OAAO,EAAE;YAClCE,QAAQD,OAAO,IAAI;YACnB;QACJ;QAEA,IAAIA,OAAO,EAAE,KAAKD,WAAW,OAAO,EAAE;YAClCG,OAAO;gBACH,SAASF,OAAO,IAAI;gBACpB,OAAOA,OAAO,KAAK;YACvB;YACA;QACJ;QAEAE,OAAOF,OAAO,KAAK;IACvB;IAEA,OAAO,cAAiBA,MAAW,EAAgD;QAC/E,IAAIA,OAAO,EAAE,KAAKD,WAAW,OAAO,EAAE;YAClC,MAAM,IAAII,MAAM,CAAC,iCAAiC,EAAEH,OAAO,EAAE,CAAC,EAAE,EAAEA,OAAO,KAAK,EAAE;QACpF;IACJ;AACJ;AAEO,MAAMI,eAAeL;IAGxB,OAAO,QAAWM,IAAQ,EAAiB;QACvC,OAAO;YACH,IAAID,OAAO,OAAO;YAClBC;QACJ;IACJ;IAEA,OAAO,MAASC,KAAU,EAAiB;QACvC,OAAO;YACH,IAAIF,OAAO,KAAK;YAChBE;QACJ;IACJ;IAEA,OAAO,QAAWD,IAAO,EAAEC,KAAU,EAAwB;QACzD,OAAO;YACH,IAAIF,OAAO,OAAO;YAClBC;YACAC;QACJ;IACJ;AACJ;AAEO,MAAMC,0BAA0BR;IAGnC,OAAO,QAAWS,EAAU,EAAEH,IAAQ,EAA4B;QAC9D,OAAO;YACHG;YACA,IAAIJ,OAAO,OAAO;YAClBC;QACJ;IACJ;IAEA,OAAO,MAASG,EAAU,EAAEF,KAAU,EAA4B;QAC9D,OAAO;YACHE;YACA,IAAIJ,OAAO,KAAK;YAChBE;QACJ;IACJ;IAEA,OAAO,QAAWE,EAAU,EAAEH,IAAO,EAAEC,KAAU,EAAmC;QAChF,OAAO;YACHE;YACA,IAAIJ,OAAO,OAAO;YAClBC;YACAC;QACJ;IACJ;IAEA,OAAO,cAAiBN,MAAgC,EAA4D;QAChH,IAAIA,OAAO,EAAE,KAAKI,OAAO,OAAO,EAAE;YAC9B,MAAM,IAAID,MAAM,CAAC,iCAAiC,EAAEH,OAAO,EAAE,CAAC,EAAE,EAAEA,OAAO,KAAK,EAAE;QACpF;IACJ;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA,E;;;;ACNA,wF
|
|
1
|
+
{"version":3,"file":"results/index.js","sources":["webpack://@routier/core/./src/results/Result.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/./src/results/utils.ts","webpack://@routier/core/./src/results/liveQuery.ts","webpack://@routier/core/./src/results/index.ts"],"sourcesContent":["import { PartialResultType, PluginEventPartialResultType, PluginEventResultType, ResultType } from \"./types\";\n\nabstract class BaseResult {\n static ERROR = \"error\" as const;\n static SUCCESS = \"success\" as const;\n static PARTIAL = \"partial\" as const;\n\n static resolve<T>(result: ResultType<T> | PartialResultType<T>, resolve: (data: T) => void, reject: (error?: any) => void) {\n if (result.ok === BaseResult.SUCCESS) {\n resolve(result.data);\n return;\n }\n\n if (result.ok === BaseResult.PARTIAL) {\n reject({\n partial: result.data,\n error: result.error\n });\n return;\n }\n\n reject(result.error);\n }\n\n static assertSuccess<T>(result: any): asserts result is { ok: \"success\"; data: T } {\n if (result.ok !== BaseResult.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n\nexport class Result extends BaseResult {\n static success<T>(data: T): ResultType<T>;\n static success(): ResultType<never>;\n static success<T>(data?: T): ResultType<T> {\n return {\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(error: any): ResultType<T> {\n return {\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(data: T, error: any): PartialResultType<T> {\n return {\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n}\n\nexport class PluginEventResult extends BaseResult {\n static success<T>(id: string, data: T): PluginEventResultType<T>;\n static success(id: string): PluginEventResultType<never>;\n static success<T>(id: string, data?: T): PluginEventResultType<T> {\n return {\n id,\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(id: string, error: any): PluginEventResultType<T> {\n return {\n id,\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(id: string, data: T, error: any): PluginEventPartialResultType<T> {\n return {\n id,\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n\n static assertSuccess<T>(result: PluginEventResultType<T>): asserts result is { ok: \"success\"; data: T; id: string } {\n if (result.ok !== Result.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import { Result } from \"./Result\";\nimport { CallbackResult } from \"./types\";\n\nexport function toPromise<T>(fn: (callback: CallbackResult<T>) => void) {\n return new Promise<T>((resolve, reject) => {\n fn((r) => {\n if (r.ok === Result.ERROR) {\n reject(r.error);\n return;\n }\n\n resolve(r.data);\n });\n });\n}\n","import { Result } from \"./Result\";\nimport { ResultType } from \"./types\";\n\nexport type LiveQuery<T> = (callback: (result: ResultType<T>) => void) => void | (() => void);\n\nexport type LiveQueryState<T> =\n | {\n status: \"pending\";\n loading: true;\n isSuccess: false;\n isError: false;\n }\n | {\n status: \"error\";\n loading: false;\n error: Error;\n isSuccess: false;\n isError: true;\n }\n | {\n status: \"success\";\n loading: false;\n data: T;\n isSuccess: true;\n isError: false;\n };\n\nexport type SettledLiveQueryState<T> = Exclude<LiveQueryState<T>, { status: \"pending\" }>;\n\nexport const pendingLiveQueryState = <T>(): LiveQueryState<T> => ({\n status: \"pending\",\n loading: true,\n isSuccess: false,\n isError: false,\n});\n\nexport const toLiveQueryState = <T>(result: ResultType<T>): SettledLiveQueryState<T> =>\n result.ok === Result.SUCCESS\n ? { status: \"success\", loading: false, data: result.data, isSuccess: true, isError: false }\n : {\n status: \"error\",\n loading: false,\n error: new Error(result.error?.message || \"Unknown error\"),\n isSuccess: false,\n isError: true,\n };\n\nexport const subscribeLiveQuery = <T>(query: LiveQuery<T>, onState: (state: SettledLiveQueryState<T>) => void): (() => void) => {\n let active = true;\n\n const unsubscribe = query((result) => {\n if (active) {\n onState(toLiveQueryState(result));\n }\n });\n\n return () => {\n active = false;\n\n if (typeof unsubscribe === \"function\") {\n unsubscribe();\n }\n };\n};\n","export * from './Result';\nexport * from './types';\nexport * from './utils';export * from './liveQuery';\n"],"names":["BaseResult","result","resolve","reject","Error","Result","data","error","PluginEventResult","id","toPromise","fn","Promise","r","pendingLiveQueryState","toLiveQueryState","subscribeLiveQuery","query","onState","active","unsubscribe"],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ResultType } from "./types";
|
|
2
|
+
export type LiveQuery<T> = (callback: (result: ResultType<T>) => void) => void | (() => void);
|
|
3
|
+
export type LiveQueryState<T> = {
|
|
4
|
+
status: "pending";
|
|
5
|
+
loading: true;
|
|
6
|
+
isSuccess: false;
|
|
7
|
+
isError: false;
|
|
8
|
+
} | {
|
|
9
|
+
status: "error";
|
|
10
|
+
loading: false;
|
|
11
|
+
error: Error;
|
|
12
|
+
isSuccess: false;
|
|
13
|
+
isError: true;
|
|
14
|
+
} | {
|
|
15
|
+
status: "success";
|
|
16
|
+
loading: false;
|
|
17
|
+
data: T;
|
|
18
|
+
isSuccess: true;
|
|
19
|
+
isError: false;
|
|
20
|
+
};
|
|
21
|
+
export type SettledLiveQueryState<T> = Exclude<LiveQueryState<T>, {
|
|
22
|
+
status: "pending";
|
|
23
|
+
}>;
|
|
24
|
+
export declare const pendingLiveQueryState: <T>() => LiveQueryState<T>;
|
|
25
|
+
export declare const toLiveQueryState: <T>(result: ResultType<T>) => SettledLiveQueryState<T>;
|
|
26
|
+
export declare const subscribeLiveQuery: <T>(query: LiveQuery<T>, onState: (state: SettledLiveQueryState<T>) => void) => (() => void);
|