@mittwald/flow-remote-core 0.2.0-alpha.307 → 0.2.0-alpha.309
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/js/core/src/file.mjs +2 -2
- package/dist/js/core/src/file.mjs.map +1 -1
- package/dist/js/index-node.mjs +7 -0
- package/dist/js/index-node.mjs.map +1 -1
- package/dist/js/index.mjs +7 -0
- package/dist/js/index.mjs.map +1 -1
- package/dist/js/remote-core/src/serialization/FlowThreadSerialization.mjs +7 -4
- package/dist/js/remote-core/src/serialization/FlowThreadSerialization.mjs.map +1 -1
- package/dist/js/remote-core/src/serialization/Serializer.mjs +6 -2
- package/dist/js/remote-core/src/serialization/Serializer.mjs.map +1 -1
- package/dist/js/remote-core/src/serialization/serializers/dataTransferText.mjs +3 -1
- package/dist/js/remote-core/src/serialization/serializers/dataTransferText.mjs.map +1 -1
- package/dist/js/remote-core/src/serialization/serializers/file.mjs +22 -30
- package/dist/js/remote-core/src/serialization/serializers/file.mjs.map +1 -1
- package/dist/js/remote-core/src/serialization/serializers/fileList.mjs +23 -0
- package/dist/js/remote-core/src/serialization/serializers/fileList.mjs.map +1 -0
- package/dist/js/remote-core/src/serialization/serializers/formData.mjs +11 -3
- package/dist/js/remote-core/src/serialization/serializers/formData.mjs.map +1 -1
- package/dist/js/remote-core/src/serialization/serializers/index.mjs +2 -1
- package/dist/js/remote-core/src/serialization/serializers/index.mjs.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/serialization/FlowThreadSerialization.d.ts.map +1 -1
- package/dist/types/serialization/FlowThreadSerialization.test.d.ts +2 -0
- package/dist/types/serialization/FlowThreadSerialization.test.d.ts.map +1 -0
- package/dist/types/serialization/Serialization.test.d.ts +2 -0
- package/dist/types/serialization/Serialization.test.d.ts.map +1 -0
- package/dist/types/serialization/Serializer.d.ts.map +1 -1
- package/dist/types/serialization/index.d.ts +4 -0
- package/dist/types/serialization/index.d.ts.map +1 -0
- package/dist/types/serialization/serializers/dataTransferText.d.ts.map +1 -1
- package/dist/types/serialization/serializers/file.d.ts +3 -3
- package/dist/types/serialization/serializers/file.d.ts.map +1 -1
- package/dist/types/serialization/serializers/fileList.d.ts +4 -0
- package/dist/types/serialization/serializers/fileList.d.ts.map +1 -0
- package/dist/types/serialization/serializers/formData.d.ts +1 -4
- package/dist/types/serialization/serializers/formData.d.ts.map +1 -1
- package/dist/types/serialization/serializers/index.d.ts +1 -0
- package/dist/types/serialization/serializers/index.d.ts.map +1 -1
- package/dist/types/tests/utils.d.ts +2 -0
- package/dist/types/tests/utils.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -2,7 +2,7 @@ import invariant from 'invariant';
|
|
|
2
2
|
|
|
3
3
|
const Key = "mittwald.flow-core.file.awaitedArrayBuffer";
|
|
4
4
|
function isFileWithAwaitedArrayBuffer(file) {
|
|
5
|
-
return Key in file;
|
|
5
|
+
return Key in file && file[Key] instanceof ArrayBuffer && !file[Key].detached;
|
|
6
6
|
}
|
|
7
7
|
const getAwaitArrayBuffer = (file) => {
|
|
8
8
|
invariant(
|
|
@@ -12,5 +12,5 @@ const getAwaitArrayBuffer = (file) => {
|
|
|
12
12
|
return file[Key];
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
export { getAwaitArrayBuffer };
|
|
15
|
+
export { getAwaitArrayBuffer, isFileWithAwaitedArrayBuffer };
|
|
16
16
|
//# sourceMappingURL=file.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.mjs","sources":["../../../../../core/src/file.ts"],"sourcesContent":["import invariant from \"invariant\";\n\nconst Key = \"mittwald.flow-core.file.awaitedArrayBuffer\";\n\nexport type FileWithAwaitedArrayBuffer = File & {\n [Key]: ArrayBuffer;\n};\n\
|
|
1
|
+
{"version":3,"file":"file.mjs","sources":["../../../../../core/src/file.ts"],"sourcesContent":["import invariant from \"invariant\";\n\nconst Key = \"mittwald.flow-core.file.awaitedArrayBuffer\";\n\nexport type FileWithAwaitedArrayBuffer = File & {\n [Key]: ArrayBuffer;\n};\n\nexport function isFileWithAwaitedArrayBuffer(\n file: File | FileWithAwaitedArrayBuffer,\n): file is FileWithAwaitedArrayBuffer {\n return Key in file && file[Key] instanceof ArrayBuffer && !file[Key].detached;\n}\n\nexport const addAwaitedArrayBuffer = async (file: File) => {\n if (isFileWithAwaitedArrayBuffer(file)) {\n return file;\n }\n\n const arrayBuffer = await file.arrayBuffer();\n Object.assign(file, { [Key]: arrayBuffer });\n\n return file;\n};\n\nexport const getAwaitArrayBuffer = (\n file: File | FileWithAwaitedArrayBuffer,\n) => {\n invariant(\n isFileWithAwaitedArrayBuffer(file),\n \"Could not get awaited ArrayBuffer from file\",\n );\n return file[Key];\n};\n"],"names":[],"mappings":";;AAEA,MAAM,GAAM,GAAA,4CAAA;AAML,SAAS,6BACd,IACoC,EAAA;AACpC,EAAO,OAAA,GAAA,IAAO,QAAQ,IAAK,CAAA,GAAG,aAAa,WAAe,IAAA,CAAC,IAAK,CAAA,GAAG,CAAE,CAAA,QAAA;AACvE;AAaa,MAAA,mBAAA,GAAsB,CACjC,IACG,KAAA;AACH,EAAA,SAAA;AAAA,IACE,6BAA6B,IAAI,CAAA;AAAA,IACjC;AAAA,GACF;AACA,EAAA,OAAO,KAAK,GAAG,CAAA;AACjB;;;;"}
|
package/dist/js/index-node.mjs
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import './remote-core/src/shim.mjs';
|
|
2
2
|
export { RemoteElement, RemoteEvent } from '@mittwald/remote-dom-core/elements';
|
|
3
|
+
export { calendarDateSerializer } from './remote-core/src/serialization/serializers/date.mjs';
|
|
4
|
+
export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from './remote-core/src/serialization/serializers/file.mjs';
|
|
5
|
+
export { fileListSerializer } from './remote-core/src/serialization/serializers/fileList.mjs';
|
|
6
|
+
export { dataTransferTextSerializer } from './remote-core/src/serialization/serializers/dataTransferText.mjs';
|
|
7
|
+
export { formDataSerializer } from './remote-core/src/serialization/serializers/formData.mjs';
|
|
8
|
+
export { FlowThreadSerialization } from './remote-core/src/serialization/FlowThreadSerialization.mjs';
|
|
9
|
+
export { Serializer } from './remote-core/src/serialization/Serializer.mjs';
|
|
3
10
|
export { connectHostRenderRoot, connectHostRenderRootRef } from './remote-core/src/connection/connectHostRenderRoot.mjs';
|
|
4
11
|
export { connectRemoteIframe, connectRemoteIframeRef } from './remote-core/src/connection/connectRemoteIframe.mjs';
|
|
5
12
|
export { Version } from './remote-core/src/connection/types.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-node.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index-node.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
package/dist/js/index.mjs
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
export { RemoteElement, RemoteEvent } from '@mittwald/remote-dom-core/elements';
|
|
2
|
+
export { calendarDateSerializer } from './remote-core/src/serialization/serializers/date.mjs';
|
|
3
|
+
export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from './remote-core/src/serialization/serializers/file.mjs';
|
|
4
|
+
export { fileListSerializer } from './remote-core/src/serialization/serializers/fileList.mjs';
|
|
5
|
+
export { dataTransferTextSerializer } from './remote-core/src/serialization/serializers/dataTransferText.mjs';
|
|
6
|
+
export { formDataSerializer } from './remote-core/src/serialization/serializers/formData.mjs';
|
|
7
|
+
export { FlowThreadSerialization } from './remote-core/src/serialization/FlowThreadSerialization.mjs';
|
|
8
|
+
export { Serializer } from './remote-core/src/serialization/Serializer.mjs';
|
|
2
9
|
export { connectHostRenderRoot, connectHostRenderRootRef } from './remote-core/src/connection/connectHostRenderRoot.mjs';
|
|
3
10
|
export { connectRemoteIframe, connectRemoteIframeRef } from './remote-core/src/connection/connectRemoteIframe.mjs';
|
|
4
11
|
export { Version } from './remote-core/src/connection/types.mjs';
|
package/dist/js/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { ThreadSerializationStructuredClone } from '@quilted/threads';
|
|
1
|
+
import { ThreadSerializationStructuredClone, TRANSFERABLE } from '@quilted/threads';
|
|
2
2
|
import * as index from './serializers/index.mjs';
|
|
3
3
|
import { isObjectType } from 'remeda';
|
|
4
|
+
import { Serializer } from './Serializer.mjs';
|
|
4
5
|
|
|
5
|
-
const serializers = Object.values(index)
|
|
6
|
+
const serializers = Object.values(index).filter(
|
|
7
|
+
(val) => val instanceof Serializer
|
|
8
|
+
);
|
|
6
9
|
class FlowThreadSerialization extends ThreadSerializationStructuredClone {
|
|
7
10
|
constructor() {
|
|
8
11
|
const options = {
|
|
@@ -17,7 +20,7 @@ class FlowThreadSerialization extends ThreadSerializationStructuredClone {
|
|
|
17
20
|
for (const serializer of serializers) {
|
|
18
21
|
const serialization = serializer.serialize(val);
|
|
19
22
|
if (serialization.applied) {
|
|
20
|
-
return serialization.result;
|
|
23
|
+
return serialize(serialization.result);
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
26
|
if (isObjectType(val)) {
|
|
@@ -46,7 +49,7 @@ class FlowThreadSerialization extends ThreadSerializationStructuredClone {
|
|
|
46
49
|
super(options);
|
|
47
50
|
}
|
|
48
51
|
isSerializableByBase(val) {
|
|
49
|
-
return val instanceof Map || val instanceof Set || Array.isArray(val) || typeof val === "function";
|
|
52
|
+
return val instanceof Map || val instanceof Set || Array.isArray(val) || typeof val === "function" || isObjectType(val) && TRANSFERABLE in val;
|
|
50
53
|
}
|
|
51
54
|
omitSerialization(val) {
|
|
52
55
|
return val instanceof HTMLElement || val === window;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowThreadSerialization.mjs","sources":["../../../../../src/serialization/FlowThreadSerialization.ts"],"sourcesContent":["import {\n ThreadSerializationStructuredClone,\n type ThreadSerializationOptions,\n} from \"@quilted/threads\";\nimport * as serializerModules from \"./serializers\";\nimport { isObjectType } from \"remeda\";\n\nconst serializers = Object.values(serializerModules);\n\nexport class FlowThreadSerialization extends ThreadSerializationStructuredClone {\n public constructor() {\n const options: ThreadSerializationOptions = {\n serialize: (val, serialize) => {\n try {\n if (this.isSerializableByBase(val)) {\n return;\n }\n if (this.omitSerialization(val)) {\n return null;\n }\n for (const serializer of serializers) {\n const serialization = serializer.serialize(val
|
|
1
|
+
{"version":3,"file":"FlowThreadSerialization.mjs","sources":["../../../../../src/serialization/FlowThreadSerialization.ts"],"sourcesContent":["import {\n ThreadSerializationStructuredClone,\n type ThreadSerializationOptions,\n TRANSFERABLE,\n} from \"@quilted/threads\";\nimport * as serializerModules from \"./serializers\";\nimport { isObjectType } from \"remeda\";\nimport { Serializer } from \"@/serialization/Serializer\";\n\nconst serializers = Object.values(serializerModules).filter(\n (val) => val instanceof Serializer,\n);\n\nexport class FlowThreadSerialization extends ThreadSerializationStructuredClone {\n public constructor() {\n const options: ThreadSerializationOptions = {\n serialize: (val, serialize) => {\n try {\n if (this.isSerializableByBase(val)) {\n return;\n }\n if (this.omitSerialization(val)) {\n return null;\n }\n for (const serializer of serializers) {\n const serialization = serializer.serialize(val);\n if (serialization.applied) {\n return serialize(serialization.result);\n }\n }\n if (isObjectType(val)) {\n return serialize({ ...val });\n }\n } catch (error) {\n console.error(\"Error while serializing\", error);\n throw error;\n }\n },\n deserialize: (val, serialize) => {\n try {\n for (const serializer of serializers) {\n const deserialization = serializer.deserialize(val);\n if (deserialization.applied) {\n return deserialization.result.value;\n }\n }\n return serialize(val);\n } catch (error) {\n console.error(\"Error while deserializing\", error);\n throw error;\n }\n },\n };\n super(options);\n }\n\n private isSerializableByBase(val: unknown) {\n return (\n val instanceof Map ||\n val instanceof Set ||\n Array.isArray(val) ||\n typeof val === \"function\" ||\n (isObjectType(val) && TRANSFERABLE in val)\n );\n }\n\n private omitSerialization(val: unknown) {\n return val instanceof HTMLElement || val === window;\n }\n}\n"],"names":["serializerModules"],"mappings":";;;;;AASA,MAAM,WAAc,GAAA,MAAA,CAAO,MAAO,CAAAA,KAAiB,CAAE,CAAA,MAAA;AAAA,EACnD,CAAC,QAAQ,GAAe,YAAA;AAC1B,CAAA;AAEO,MAAM,gCAAgC,kCAAmC,CAAA;AAAA,EACvE,WAAc,GAAA;AACnB,IAAA,MAAM,OAAsC,GAAA;AAAA,MAC1C,SAAA,EAAW,CAAC,GAAA,EAAK,SAAc,KAAA;AAC7B,QAAI,IAAA;AACF,UAAI,IAAA,IAAA,CAAK,oBAAqB,CAAA,GAAG,CAAG,EAAA;AAClC,YAAA;AAAA;AAEF,UAAI,IAAA,IAAA,CAAK,iBAAkB,CAAA,GAAG,CAAG,EAAA;AAC/B,YAAO,OAAA,IAAA;AAAA;AAET,UAAA,KAAA,MAAW,cAAc,WAAa,EAAA;AACpC,YAAM,MAAA,aAAA,GAAgB,UAAW,CAAA,SAAA,CAAU,GAAG,CAAA;AAC9C,YAAA,IAAI,cAAc,OAAS,EAAA;AACzB,cAAO,OAAA,SAAA,CAAU,cAAc,MAAM,CAAA;AAAA;AACvC;AAEF,UAAI,IAAA,YAAA,CAAa,GAAG,CAAG,EAAA;AACrB,YAAA,OAAO,SAAU,CAAA,EAAE,GAAG,GAAA,EAAK,CAAA;AAAA;AAC7B,iBACO,KAAO,EAAA;AACd,UAAQ,OAAA,CAAA,KAAA,CAAM,2BAA2B,KAAK,CAAA;AAC9C,UAAM,MAAA,KAAA;AAAA;AACR,OACF;AAAA,MACA,WAAA,EAAa,CAAC,GAAA,EAAK,SAAc,KAAA;AAC/B,QAAI,IAAA;AACF,UAAA,KAAA,MAAW,cAAc,WAAa,EAAA;AACpC,YAAM,MAAA,eAAA,GAAkB,UAAW,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,YAAA,IAAI,gBAAgB,OAAS,EAAA;AAC3B,cAAA,OAAO,gBAAgB,MAAO,CAAA,KAAA;AAAA;AAChC;AAEF,UAAA,OAAO,UAAU,GAAG,CAAA;AAAA,iBACb,KAAO,EAAA;AACd,UAAQ,OAAA,CAAA,KAAA,CAAM,6BAA6B,KAAK,CAAA;AAChD,UAAM,MAAA,KAAA;AAAA;AACR;AACF,KACF;AACA,IAAA,KAAA,CAAM,OAAO,CAAA;AAAA;AACf,EAEQ,qBAAqB,GAAc,EAAA;AACzC,IAAA,OACE,GAAe,YAAA,GAAA,IACf,GAAe,YAAA,GAAA,IACf,MAAM,OAAQ,CAAA,GAAG,CACjB,IAAA,OAAO,GAAQ,KAAA,UAAA,IACd,YAAa,CAAA,GAAG,KAAK,YAAgB,IAAA,GAAA;AAAA;AAE1C,EAEQ,kBAAkB,GAAc,EAAA;AACtC,IAAO,OAAA,GAAA,YAAe,eAAe,GAAQ,KAAA,MAAA;AAAA;AAEjD;;;;"}
|
|
@@ -22,8 +22,12 @@ class Serializer {
|
|
|
22
22
|
}
|
|
23
23
|
deserialize(val) {
|
|
24
24
|
return this.apply(val, {
|
|
25
|
-
apply: (serialization) =>
|
|
26
|
-
|
|
25
|
+
apply: (serialization) => {
|
|
26
|
+
return this.options.deserialize.apply(serialization.value);
|
|
27
|
+
},
|
|
28
|
+
isApplicable: (val2) => {
|
|
29
|
+
return !!val2 && typeof val2 === "object" && Key in val2 && val2[Key] === this.options.name;
|
|
30
|
+
}
|
|
27
31
|
});
|
|
28
32
|
}
|
|
29
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Serializer.mjs","sources":["../../../../../src/serialization/Serializer.ts"],"sourcesContent":["interface SerializationStrategy<TIn, TOut> {\n isApplicable: (val: unknown) => val is TIn;\n apply: (val: TIn) => TOut;\n}\n\nconst Key = \"mittwald.flow-remote-core.serializer.name\";\n\nexport interface SuccessfulSerializationResult<T> {\n value: T;\n [Key]: string;\n}\n\nexport type SerializationResult<T> =\n | { applied: true; result: SuccessfulSerializationResult<T> }\n | { applied: false };\n\nexport class Serializer<TIn, TOut> {\n public constructor(\n private options: {\n name: string;\n serialize: SerializationStrategy<TIn, TOut>;\n deserialize: Pick<SerializationStrategy<TOut, TIn>, \"apply\">;\n },\n ) {}\n\n private apply<TIn, TOut>(\n val: unknown,\n strategy: SerializationStrategy<TIn, TOut>,\n ): SerializationResult<TOut> {\n if (strategy.isApplicable(val)) {\n return {\n applied: true,\n result: {\n [Key]: this.options.name,\n value: strategy.apply(val),\n },\n };\n }\n return {\n applied: false,\n };\n }\n\n public serialize(val: unknown): SerializationResult<TOut> {\n return this.apply<TIn, TOut>(val, this.options.serialize);\n }\n\n public deserialize(val: unknown): SerializationResult<TIn> {\n return this.apply(val, {\n apply: (serialization: SuccessfulSerializationResult<TOut>)
|
|
1
|
+
{"version":3,"file":"Serializer.mjs","sources":["../../../../../src/serialization/Serializer.ts"],"sourcesContent":["interface SerializationStrategy<TIn, TOut> {\n isApplicable: (val: unknown) => val is TIn;\n apply: (val: TIn) => TOut;\n}\n\nconst Key = \"mittwald.flow-remote-core.serializer.name\";\n\nexport interface SuccessfulSerializationResult<T> {\n value: T;\n [Key]: string;\n}\n\nexport type SerializationResult<T> =\n | { applied: true; result: SuccessfulSerializationResult<T> }\n | { applied: false };\n\nexport class Serializer<TIn, TOut> {\n public constructor(\n private options: {\n name: string;\n serialize: SerializationStrategy<TIn, TOut>;\n deserialize: Pick<SerializationStrategy<TOut, TIn>, \"apply\">;\n },\n ) {}\n\n private apply<TIn, TOut>(\n val: unknown,\n strategy: SerializationStrategy<TIn, TOut>,\n ): SerializationResult<TOut> {\n if (strategy.isApplicable(val)) {\n return {\n applied: true,\n result: {\n [Key]: this.options.name,\n value: strategy.apply(val),\n },\n };\n }\n return {\n applied: false,\n };\n }\n\n public serialize(val: unknown): SerializationResult<TOut> {\n return this.apply<TIn, TOut>(val, this.options.serialize);\n }\n\n public deserialize(val: unknown): SerializationResult<TIn> {\n return this.apply(val, {\n apply: (serialization: SuccessfulSerializationResult<TOut>) => {\n return this.options.deserialize.apply(serialization.value);\n },\n isApplicable: (val): val is SuccessfulSerializationResult<TOut> => {\n return (\n !!val &&\n typeof val === \"object\" &&\n Key in val &&\n val[Key] === this.options.name\n );\n },\n });\n }\n}\n"],"names":["val"],"mappings":"AAKA,MAAM,GAAM,GAAA,2CAAA;AAWL,MAAM,UAAsB,CAAA;AAAA,EAC1B,YACG,OAKR,EAAA;AALQ,IAAA,IAAA,CAAA,OAAA,GAAA,OAAA;AAAA;AAKP,EAEK,KAAA,CACN,KACA,QAC2B,EAAA;AAC3B,IAAI,IAAA,QAAA,CAAS,YAAa,CAAA,GAAG,CAAG,EAAA;AAC9B,MAAO,OAAA;AAAA,QACL,OAAS,EAAA,IAAA;AAAA,QACT,MAAQ,EAAA;AAAA,UACN,CAAC,GAAG,GAAG,IAAA,CAAK,OAAQ,CAAA,IAAA;AAAA,UACpB,KAAA,EAAO,QAAS,CAAA,KAAA,CAAM,GAAG;AAAA;AAC3B,OACF;AAAA;AAEF,IAAO,OAAA;AAAA,MACL,OAAS,EAAA;AAAA,KACX;AAAA;AACF,EAEO,UAAU,GAAyC,EAAA;AACxD,IAAA,OAAO,IAAK,CAAA,KAAA,CAAiB,GAAK,EAAA,IAAA,CAAK,QAAQ,SAAS,CAAA;AAAA;AAC1D,EAEO,YAAY,GAAwC,EAAA;AACzD,IAAO,OAAA,IAAA,CAAK,MAAM,GAAK,EAAA;AAAA,MACrB,KAAA,EAAO,CAAC,aAAuD,KAAA;AAC7D,QAAA,OAAO,IAAK,CAAA,OAAA,CAAQ,WAAY,CAAA,KAAA,CAAM,cAAc,KAAK,CAAA;AAAA,OAC3D;AAAA,MACA,YAAA,EAAc,CAACA,IAAoD,KAAA;AACjE,QAAA,OACE,CAAC,CAACA,IACF,IAAA,OAAOA,IAAQ,KAAA,QAAA,IACf,GAAOA,IAAAA,IAAAA,IACPA,IAAI,CAAA,GAAG,CAAM,KAAA,IAAA,CAAK,OAAQ,CAAA,IAAA;AAAA;AAE9B,KACD,CAAA;AAAA;AAEL;;;;"}
|
|
@@ -6,7 +6,9 @@ const dataTransferTextSerializer = new Serializer({
|
|
|
6
6
|
isApplicable: (val) => {
|
|
7
7
|
return val instanceof DataTransfer && val.types.every((type) => type === "text/plain");
|
|
8
8
|
},
|
|
9
|
-
apply: (dataTransfer) =>
|
|
9
|
+
apply: (dataTransfer) => {
|
|
10
|
+
return dataTransfer.getData("text") || dataTransfer.getData("text/plain");
|
|
11
|
+
}
|
|
10
12
|
},
|
|
11
13
|
deserialize: {
|
|
12
14
|
apply: (asString) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataTransferText.mjs","sources":["../../../../../../src/serialization/serializers/dataTransferText.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\n\nexport const dataTransferTextSerializer = new Serializer<DataTransfer, string>({\n name: \"DataTransferText\",\n serialize: {\n isApplicable: (val): val is DataTransfer => {\n return (\n val instanceof DataTransfer &&\n val.types.every((type) => type === \"text/plain\")\n );\n },\n apply: (dataTransfer) => dataTransfer.getData(\"text\"),\n },\n deserialize: {\n apply: (asString) => {\n const dataTransfer = new DataTransfer();\n dataTransfer.setData(\"text\", asString);\n return dataTransfer;\n },\n },\n});\n"],"names":[],"mappings":";;AAEa,MAAA,0BAAA,GAA6B,IAAI,UAAiC,CAAA;AAAA,EAC7E,IAAM,EAAA,kBAAA;AAAA,EACN,SAAW,EAAA;AAAA,IACT,YAAA,EAAc,CAAC,GAA6B,KAAA;AAC1C,MACE,OAAA,GAAA,YAAe,gBACf,GAAI,CAAA,KAAA,CAAM,MAAM,CAAC,IAAA,KAAS,SAAS,YAAY,CAAA;AAAA,KAEnD;AAAA,IACA,
|
|
1
|
+
{"version":3,"file":"dataTransferText.mjs","sources":["../../../../../../src/serialization/serializers/dataTransferText.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\n\nexport const dataTransferTextSerializer = new Serializer<DataTransfer, string>({\n name: \"DataTransferText\",\n serialize: {\n isApplicable: (val): val is DataTransfer => {\n return (\n val instanceof DataTransfer &&\n val.types.every((type) => type === \"text/plain\")\n );\n },\n apply: (dataTransfer) => {\n return dataTransfer.getData(\"text\") || dataTransfer.getData(\"text/plain\");\n },\n },\n deserialize: {\n apply: (asString) => {\n const dataTransfer = new DataTransfer();\n dataTransfer.setData(\"text\", asString);\n return dataTransfer;\n },\n },\n});\n"],"names":[],"mappings":";;AAEa,MAAA,0BAAA,GAA6B,IAAI,UAAiC,CAAA;AAAA,EAC7E,IAAM,EAAA,kBAAA;AAAA,EACN,SAAW,EAAA;AAAA,IACT,YAAA,EAAc,CAAC,GAA6B,KAAA;AAC1C,MACE,OAAA,GAAA,YAAe,gBACf,GAAI,CAAA,KAAA,CAAM,MAAM,CAAC,IAAA,KAAS,SAAS,YAAY,CAAA;AAAA,KAEnD;AAAA,IACA,KAAA,EAAO,CAAC,YAAiB,KAAA;AACvB,MAAA,OAAO,aAAa,OAAQ,CAAA,MAAM,CAAK,IAAA,YAAA,CAAa,QAAQ,YAAY,CAAA;AAAA;AAC1E,GACF;AAAA,EACA,WAAa,EAAA;AAAA,IACX,KAAA,EAAO,CAAC,QAAa,KAAA;AACnB,MAAM,MAAA,YAAA,GAAe,IAAI,YAAa,EAAA;AACtC,MAAa,YAAA,CAAA,OAAA,CAAQ,QAAQ,QAAQ,CAAA;AACrC,MAAO,OAAA,YAAA;AAAA;AACT;AAEJ,CAAC;;;;"}
|
|
@@ -1,42 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { markAsTransferable } from '@quilted/threads';
|
|
2
2
|
import { Serializer } from '../Serializer.mjs';
|
|
3
3
|
import { getAwaitArrayBuffer } from '../../../../core/src/file.mjs';
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
name
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
5
|
+
const isSerializedFile = (value) => {
|
|
6
|
+
return !!(value && typeof value === "object" && "name" in value && "type" in value && "lastModified" in value && "content" in value);
|
|
7
|
+
};
|
|
8
|
+
const fileSerialize = (file) => {
|
|
9
|
+
return {
|
|
10
|
+
name: file.name,
|
|
11
|
+
type: file.type,
|
|
12
|
+
lastModified: file.lastModified,
|
|
13
|
+
content: markAsTransferable(getAwaitArrayBuffer(file))
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
const fileDeSerialize = (file) => {
|
|
17
|
+
return new File([file.content], file.name, {
|
|
18
|
+
lastModified: file.lastModified,
|
|
19
|
+
type: file.type
|
|
20
|
+
});
|
|
21
|
+
};
|
|
16
22
|
const fileSerializer = new Serializer({
|
|
17
23
|
name: "File",
|
|
18
|
-
deserialize: {
|
|
19
|
-
apply: deserialize
|
|
20
|
-
},
|
|
21
24
|
serialize: {
|
|
22
25
|
isApplicable: (something) => something instanceof File,
|
|
23
|
-
apply:
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
const fileListSerializer = new Serializer({
|
|
27
|
-
name: "FileList",
|
|
28
|
-
deserialize: {
|
|
29
|
-
apply: (files) => {
|
|
30
|
-
const dataTransfer = new DataTransfer();
|
|
31
|
-
files.map(deserialize).forEach((f) => dataTransfer.items.add(f));
|
|
32
|
-
return dataTransfer.files;
|
|
33
|
-
}
|
|
26
|
+
apply: fileSerialize
|
|
34
27
|
},
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
apply: (fileList) => Array.from(fileList).map(serialize)
|
|
28
|
+
deserialize: {
|
|
29
|
+
apply: fileDeSerialize
|
|
38
30
|
}
|
|
39
31
|
});
|
|
40
32
|
|
|
41
|
-
export {
|
|
33
|
+
export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile };
|
|
42
34
|
//# sourceMappingURL=file.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.mjs","sources":["../../../../../../src/serialization/serializers/file.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"file.mjs","sources":["../../../../../../src/serialization/serializers/file.ts"],"sourcesContent":["import { markAsTransferable } from \"@quilted/threads\";\nimport { Serializer } from \"@/serialization/Serializer\";\nimport { getAwaitArrayBuffer } from \"@mittwald/flow-core\";\n\nexport interface SerializedFile {\n name: string;\n type: string;\n lastModified: number;\n content: ArrayBuffer;\n}\n\nexport const isSerializedFile = (value: unknown): value is SerializedFile => {\n return !!(\n value &&\n typeof value === \"object\" &&\n \"name\" in value &&\n \"type\" in value &&\n \"lastModified\" in value &&\n \"content\" in value\n );\n};\n\nexport const fileSerialize = (file: File): SerializedFile => {\n return {\n name: file.name,\n type: file.type,\n lastModified: file.lastModified,\n content: markAsTransferable(getAwaitArrayBuffer(file)),\n };\n};\n\nexport const fileDeSerialize = (file: SerializedFile) => {\n return new File([file.content], file.name, {\n lastModified: file.lastModified,\n type: file.type,\n });\n};\n\nexport const fileSerializer = new Serializer<File, SerializedFile>({\n name: \"File\",\n serialize: {\n isApplicable: (something) => something instanceof File,\n apply: fileSerialize,\n },\n deserialize: {\n apply: fileDeSerialize,\n },\n});\n"],"names":[],"mappings":";;;;AAWa,MAAA,gBAAA,GAAmB,CAAC,KAA4C,KAAA;AAC3E,EAAA,OAAO,CAAC,EACN,KACA,IAAA,OAAO,KAAU,KAAA,QAAA,IACjB,MAAU,IAAA,KAAA,IACV,MAAU,IAAA,KAAA,IACV,cAAkB,IAAA,KAAA,IAClB,SAAa,IAAA,KAAA,CAAA;AAEjB;AAEa,MAAA,aAAA,GAAgB,CAAC,IAA+B,KAAA;AAC3D,EAAO,OAAA;AAAA,IACL,MAAM,IAAK,CAAA,IAAA;AAAA,IACX,MAAM,IAAK,CAAA,IAAA;AAAA,IACX,cAAc,IAAK,CAAA,YAAA;AAAA,IACnB,OAAS,EAAA,kBAAA,CAAmB,mBAAoB,CAAA,IAAI,CAAC;AAAA,GACvD;AACF;AAEa,MAAA,eAAA,GAAkB,CAAC,IAAyB,KAAA;AACvD,EAAA,OAAO,IAAI,IAAK,CAAA,CAAC,KAAK,OAAO,CAAA,EAAG,KAAK,IAAM,EAAA;AAAA,IACzC,cAAc,IAAK,CAAA,YAAA;AAAA,IACnB,MAAM,IAAK,CAAA;AAAA,GACZ,CAAA;AACH;AAEa,MAAA,cAAA,GAAiB,IAAI,UAAiC,CAAA;AAAA,EACjE,IAAM,EAAA,MAAA;AAAA,EACN,SAAW,EAAA;AAAA,IACT,YAAA,EAAc,CAAC,SAAA,KAAc,SAAqB,YAAA,IAAA;AAAA,IAClD,KAAO,EAAA;AAAA,GACT;AAAA,EACA,WAAa,EAAA;AAAA,IACX,KAAO,EAAA;AAAA;AAEX,CAAC;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Serializer } from '../Serializer.mjs';
|
|
2
|
+
import '@internationalized/date';
|
|
3
|
+
import { fileDeSerialize, fileSerialize } from './file.mjs';
|
|
4
|
+
|
|
5
|
+
const fileListSerializer = new Serializer({
|
|
6
|
+
name: "FileList",
|
|
7
|
+
serialize: {
|
|
8
|
+
isApplicable: (something) => {
|
|
9
|
+
return something instanceof FileList;
|
|
10
|
+
},
|
|
11
|
+
apply: (fileList) => Array.from(fileList).map(fileSerialize)
|
|
12
|
+
},
|
|
13
|
+
deserialize: {
|
|
14
|
+
apply: (arrayFiles) => {
|
|
15
|
+
const dataTransfer = new DataTransfer();
|
|
16
|
+
arrayFiles.forEach((f) => dataTransfer.items.add(fileDeSerialize(f)));
|
|
17
|
+
return dataTransfer.files;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export { fileListSerializer };
|
|
23
|
+
//# sourceMappingURL=fileList.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileList.mjs","sources":["../../../../../../src/serialization/serializers/fileList.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\nimport {\n fileDeSerialize,\n fileSerialize,\n type SerializedFile,\n} from \"@/serialization/serializers\";\n\nexport const fileListSerializer = new Serializer<FileList, SerializedFile[]>({\n name: \"FileList\",\n serialize: {\n isApplicable: (something) => {\n return something instanceof FileList;\n },\n apply: (fileList) => Array.from(fileList).map(fileSerialize),\n },\n deserialize: {\n apply: (arrayFiles) => {\n const dataTransfer = new DataTransfer();\n arrayFiles.forEach((f) => dataTransfer.items.add(fileDeSerialize(f)));\n return dataTransfer.files;\n },\n },\n});\n"],"names":[],"mappings":";;;;AAOa,MAAA,kBAAA,GAAqB,IAAI,UAAuC,CAAA;AAAA,EAC3E,IAAM,EAAA,UAAA;AAAA,EACN,SAAW,EAAA;AAAA,IACT,YAAA,EAAc,CAAC,SAAc,KAAA;AAC3B,MAAA,OAAO,SAAqB,YAAA,QAAA;AAAA,KAC9B;AAAA,IACA,KAAA,EAAO,CAAC,QAAa,KAAA,KAAA,CAAM,KAAK,QAAQ,CAAA,CAAE,IAAI,aAAa;AAAA,GAC7D;AAAA,EACA,WAAa,EAAA;AAAA,IACX,KAAA,EAAO,CAAC,UAAe,KAAA;AACrB,MAAM,MAAA,YAAA,GAAe,IAAI,YAAa,EAAA;AACtC,MAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,CAAM,KAAA,YAAA,CAAa,MAAM,GAAI,CAAA,eAAA,CAAgB,CAAC,CAAC,CAAC,CAAA;AACpE,MAAA,OAAO,YAAa,CAAA,KAAA;AAAA;AACtB;AAEJ,CAAC;;;;"}
|
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
import { Serializer } from '../Serializer.mjs';
|
|
2
|
+
import '@internationalized/date';
|
|
3
|
+
import { isSerializedFile, fileDeSerialize, fileSerialize } from './file.mjs';
|
|
2
4
|
|
|
3
5
|
const formDataSerializer = new Serializer({
|
|
4
6
|
name: "FormData",
|
|
5
7
|
serialize: {
|
|
6
8
|
isApplicable: (val) => val instanceof FormData,
|
|
7
9
|
apply: (formData) => {
|
|
8
|
-
return formData.entries().toArray()
|
|
10
|
+
return formData.entries().toArray().map(([fieldName, fieldValue]) => {
|
|
11
|
+
if (fieldValue instanceof File) {
|
|
12
|
+
return [fieldName, fileSerialize(fieldValue)];
|
|
13
|
+
}
|
|
14
|
+
return [fieldName, fieldValue];
|
|
15
|
+
});
|
|
9
16
|
}
|
|
10
17
|
},
|
|
11
18
|
deserialize: {
|
|
12
19
|
apply: (array) => {
|
|
13
20
|
const formData = new FormData();
|
|
14
21
|
for (const [name, value] of array) {
|
|
22
|
+
const deserializedValue = isSerializedFile(value) ? fileDeSerialize(value) : value;
|
|
15
23
|
if (!formData.has(name)) {
|
|
16
|
-
formData.set(name,
|
|
24
|
+
formData.set(name, deserializedValue);
|
|
17
25
|
} else {
|
|
18
|
-
formData.append(name,
|
|
26
|
+
formData.append(name, deserializedValue);
|
|
19
27
|
}
|
|
20
28
|
}
|
|
21
29
|
return formData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formData.mjs","sources":["../../../../../../src/serialization/serializers/formData.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\n
|
|
1
|
+
{"version":3,"file":"formData.mjs","sources":["../../../../../../src/serialization/serializers/formData.ts"],"sourcesContent":["import { Serializer } from \"@/serialization/Serializer\";\nimport {\n fileDeSerialize,\n fileSerialize,\n isSerializedFile,\n} from \"@/serialization/serializers\";\n\nexport const formDataSerializer = new Serializer<\n FormData,\n [string, FormDataEntryValue][]\n>({\n name: \"FormData\",\n serialize: {\n isApplicable: (val) => val instanceof FormData,\n apply: (formData) => {\n return formData\n .entries()\n .toArray()\n .map(([fieldName, fieldValue]) => {\n if (fieldValue instanceof File) {\n return [fieldName, fileSerialize(fieldValue)];\n }\n\n return [fieldName, fieldValue];\n }) as [string, FormDataEntryValue][];\n },\n },\n deserialize: {\n apply: (array) => {\n const formData = new FormData();\n for (const [name, value] of array) {\n const deserializedValue = isSerializedFile(value)\n ? fileDeSerialize(value)\n : value;\n\n if (!formData.has(name)) {\n formData.set(name, deserializedValue);\n } else {\n formData.append(name, deserializedValue);\n }\n }\n return formData;\n },\n },\n});\n"],"names":[],"mappings":";;;;AAOa,MAAA,kBAAA,GAAqB,IAAI,UAGpC,CAAA;AAAA,EACA,IAAM,EAAA,UAAA;AAAA,EACN,SAAW,EAAA;AAAA,IACT,YAAA,EAAc,CAAC,GAAA,KAAQ,GAAe,YAAA,QAAA;AAAA,IACtC,KAAA,EAAO,CAAC,QAAa,KAAA;AACnB,MAAO,OAAA,QAAA,CACJ,OAAQ,EAAA,CACR,OAAQ,EAAA,CACR,IAAI,CAAC,CAAC,SAAW,EAAA,UAAU,CAAM,KAAA;AAChC,QAAA,IAAI,sBAAsB,IAAM,EAAA;AAC9B,UAAA,OAAO,CAAC,SAAA,EAAW,aAAc,CAAA,UAAU,CAAC,CAAA;AAAA;AAG9C,QAAO,OAAA,CAAC,WAAW,UAAU,CAAA;AAAA,OAC9B,CAAA;AAAA;AACL,GACF;AAAA,EACA,WAAa,EAAA;AAAA,IACX,KAAA,EAAO,CAAC,KAAU,KAAA;AAChB,MAAM,MAAA,QAAA,GAAW,IAAI,QAAS,EAAA;AAC9B,MAAA,KAAA,MAAW,CAAC,IAAA,EAAM,KAAK,CAAA,IAAK,KAAO,EAAA;AACjC,QAAA,MAAM,oBAAoB,gBAAiB,CAAA,KAAK,CAC5C,GAAA,eAAA,CAAgB,KAAK,CACrB,GAAA,KAAA;AAEJ,QAAA,IAAI,CAAC,QAAA,CAAS,GAAI,CAAA,IAAI,CAAG,EAAA;AACvB,UAAS,QAAA,CAAA,GAAA,CAAI,MAAM,iBAAiB,CAAA;AAAA,SAC/B,MAAA;AACL,UAAS,QAAA,CAAA,MAAA,CAAO,MAAM,iBAAiB,CAAA;AAAA;AACzC;AAEF,MAAO,OAAA,QAAA;AAAA;AACT;AAEJ,CAAC;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { calendarDateSerializer } from './date.mjs';
|
|
2
|
-
export {
|
|
2
|
+
export { fileDeSerialize, fileSerialize, fileSerializer, isSerializedFile } from './file.mjs';
|
|
3
|
+
export { fileListSerializer } from './fileList.mjs';
|
|
3
4
|
export { dataTransferTextSerializer } from './dataTransferText.mjs';
|
|
4
5
|
export { formDataSerializer } from './formData.mjs';
|
|
5
6
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,wBAAwB,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,wBAAwB,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowThreadSerialization.d.ts","sourceRoot":"","sources":["../../../src/serialization/FlowThreadSerialization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,
|
|
1
|
+
{"version":3,"file":"FlowThreadSerialization.d.ts","sourceRoot":"","sources":["../../../src/serialization/FlowThreadSerialization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAGnC,MAAM,kBAAkB,CAAC;AAS1B,qBAAa,uBAAwB,SAAQ,kCAAkC;;IA2C7E,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlowThreadSerialization.test.d.ts","sourceRoot":"","sources":["../../../src/serialization/FlowThreadSerialization.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Serialization.test.d.ts","sourceRoot":"","sources":["../../../src/serialization/Serialization.test.tsx"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../../src/serialization/Serializer.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB,CAAC,GAAG,EAAE,IAAI;IACvC,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,GAAG,CAAC;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAC3B;AAED,QAAA,MAAM,GAAG,8CAA8C,CAAC;AAExD,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC;IACT,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAC7B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAA;CAAE,GAC3D;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvB,qBAAa,UAAU,CAAC,GAAG,EAAE,IAAI;IAE7B,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;KAC9D;IAGH,OAAO,CAAC,KAAK;IAkBN,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC;IAIlD,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../../src/serialization/Serializer.ts"],"names":[],"mappings":"AAAA,UAAU,qBAAqB,CAAC,GAAG,EAAE,IAAI;IACvC,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,GAAG,CAAC;IAC3C,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CAC3B;AAED,QAAA,MAAM,GAAG,8CAA8C,CAAC;AAExD,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC;IACT,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAC7B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAA;CAAE,GAC3D;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEvB,qBAAa,UAAU,CAAC,GAAG,EAAE,IAAI;IAE7B,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;KAC9D;IAGH,OAAO,CAAC,KAAK;IAkBN,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC;IAIlD,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC;CAe3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialization/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataTransferText.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/dataTransferText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"dataTransferText.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/dataTransferText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,eAAO,MAAM,0BAA0B,kCAoBrC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { TRANSFERABLE } from '@quilted/threads';
|
|
2
1
|
import { Serializer } from '../Serializer';
|
|
3
2
|
export interface SerializedFile {
|
|
4
3
|
name: string;
|
|
5
4
|
type: string;
|
|
6
5
|
lastModified: number;
|
|
7
6
|
content: ArrayBuffer;
|
|
8
|
-
[TRANSFERABLE]: number;
|
|
9
7
|
}
|
|
8
|
+
export declare const isSerializedFile: (value: unknown) => value is SerializedFile;
|
|
9
|
+
export declare const fileSerialize: (file: File) => SerializedFile;
|
|
10
|
+
export declare const fileDeSerialize: (file: SerializedFile) => File;
|
|
10
11
|
export declare const fileSerializer: Serializer<File, SerializedFile>;
|
|
11
|
-
export declare const fileListSerializer: Serializer<FileList, SerializedFile[]>;
|
|
12
12
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,cAS1D,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,IAAI,KAAG,cAO1C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,cAAc,SAKnD,CAAC;AAEF,eAAO,MAAM,cAAc,kCASzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileList.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/fileList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,kBAAkB,wCAe7B,CAAC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
import { Serializer } from '../Serializer';
|
|
2
|
-
|
|
3
|
-
type FormDataEntries = FormDataEntry[];
|
|
4
|
-
export declare const formDataSerializer: Serializer<FormData, FormDataEntries>;
|
|
5
|
-
export {};
|
|
2
|
+
export declare const formDataSerializer: Serializer<FormData, [string, FormDataEntryValue][]>;
|
|
6
3
|
//# sourceMappingURL=formData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formData.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/formData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"formData.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/formData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAOxD,eAAO,MAAM,kBAAkB,sDAqC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/serialization/serializers/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tests/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,OAAO,IAAI,EAAE,KAAG,QAyB9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mittwald/flow-remote-core",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.309",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Core functionality to setup a remote/host environment",
|
|
6
6
|
"homepage": "https://mittwald.github.io/flow",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@internationalized/date": "^3.8.1",
|
|
38
|
-
"@mittwald/ext-bridge": "0.2.0-alpha.
|
|
38
|
+
"@mittwald/ext-bridge": "0.2.0-alpha.309",
|
|
39
39
|
"@mittwald/flow-core": "",
|
|
40
40
|
"@mittwald/typescript-config": "",
|
|
41
41
|
"@types/node": "^22.15.23",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"optional": true
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "cb0a2766cb0c9785e808303e54fbc4332456295a"
|
|
66
66
|
}
|