Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: lib/src/asset/dart/serialize/transform.dart

Issue 2184303002: Make pub strong-mode clean. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Code review changes Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/src/asset/dart/serialize/get_input_transform.dart ('k') | lib/src/asset/dart/utils.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:isolate'; 6 import 'dart:isolate';
7 7
8 import 'package:barback/barback.dart'; 8 import 'package:barback/barback.dart';
9 // TODO(nweiz): don't import from "src" once issue 14966 is fixed. 9 // TODO(nweiz): don't import from "src" once issue 14966 is fixed.
10 import 'package:barback/src/internal_asset.dart'; 10 import 'package:barback/src/internal_asset.dart';
11 11
12 import '../serialize.dart'; 12 import '../serialize.dart';
13 import 'get_input_transform.dart'; 13 import 'get_input_transform.dart';
14 14
15 /// Serialize the methods shared between [Transform] and [DeclaringTransform]. 15 /// Serialize the methods shared between [Transform] and [DeclaringTransform].
16 /// 16 ///
17 /// [additionalFields] contains additional serialized fields to add to the 17 /// [additionalFields] contains additional serialized fields to add to the
18 /// serialized transform. [methodHandlers] is a set of additional methods. Each 18 /// serialized transform. [methodHandlers] is a set of additional methods. Each
19 /// value should take a JSON message and return the response (which may be a 19 /// value should take a JSON message and return the response (which may be a
20 /// Future). 20 /// Future).
21 Map _serializeBaseTransform(transform, Map additionalFields, 21 Map _serializeBaseTransform(transform, Map<String, dynamic> additionalFields,
22 Map<String, Function> methodHandlers) { 22 Map<String, Function> methodHandlers) {
23 var receivePort = new ReceivePort(); 23 var receivePort = new ReceivePort();
24 receivePort.listen((wrappedMessage) { 24 receivePort.listen((wrappedMessage) {
25 respond(wrappedMessage, (message) { 25 respond(wrappedMessage, (message) {
26 var handler = methodHandlers[message['type']]; 26 var handler = methodHandlers[message['type']];
27 if (handler != null) return handler(message); 27 if (handler != null) return handler(message);
28 28
29 if (message['type'] == 'consumePrimary') { 29 if (message['type'] == 'consumePrimary') {
30 transform.consumePrimary(); 30 transform.consumePrimary();
31 return null; 31 return null;
32 } 32 }
33 33
34 assert(message['type'] == 'log'); 34 assert(message['type'] == 'log');
35 var method = { 35 var method = {
36 'Info': transform.logger.info, 36 'Info': transform.logger.info,
37 'Fine': transform.logger.fine, 37 'Fine': transform.logger.fine,
38 'Warning': transform.logger.warning, 38 'Warning': transform.logger.warning,
39 'Error': transform.logger.error 39 'Error': transform.logger.error
40 }[message['level']]; 40 }[message['level']];
41 assert(method != null); 41 assert(method != null);
42 42
43 var assetId = message['assetId'] == null ? null : 43 var assetId = message['assetId'] == null ? null :
44 deserializeId(message['assetId']); 44 deserializeId(message['assetId']);
45 var span = message['span'] == null ? null : 45 var span = message['span'] == null ? null :
46 deserializeSpan(message['span']); 46 deserializeSpan(message['span']);
47 method(message['message'], asset: assetId, span: span); 47 method(message['message'], asset: assetId, span: span);
48 }); 48 });
49 }); 49 });
50 50
51 return {'port': receivePort.sendPort}..addAll(additionalFields); 51 return <String, dynamic>{'port': receivePort.sendPort}
52 ..addAll(additionalFields);
52 } 53 }
53 54
54 /// Converts [transform] into a serializable map. 55 /// Converts [transform] into a serializable map.
55 Map serializeTransform(Transform transform) { 56 Map serializeTransform(Transform transform) {
56 return _serializeBaseTransform(transform, { 57 return _serializeBaseTransform(transform, {
57 'primaryInput': serializeAsset(transform.primaryInput) 58 'primaryInput': serializeAsset(transform.primaryInput)
58 }, { 59 }, {
59 'getInput': (message) => transform.getInput(deserializeId(message['id'])) 60 'getInput': (message) => transform.getInput(deserializeId(message['id']))
60 .then((asset) => serializeAsset(asset)), 61 .then((asset) => serializeAsset(asset)),
61 'addOutput': (message) => 62 'addOutput': (message) =>
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 : primaryId = deserializeId(transform['primaryId']), 139 : primaryId = deserializeId(transform['primaryId']),
139 super(transform); 140 super(transform);
140 141
141 void declareOutput(AssetId id) { 142 void declareOutput(AssetId id) {
142 call(_port, { 143 call(_port, {
143 'type': 'declareOutput', 144 'type': 'declareOutput',
144 'output': serializeId(id) 145 'output': serializeId(id)
145 }); 146 });
146 } 147 }
147 } 148 }
OLDNEW
« no previous file with comments | « lib/src/asset/dart/serialize/get_input_transform.dart ('k') | lib/src/asset/dart/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698