1
1
"use strict" ;
2
+ var __importDefault = ( this && this . __importDefault ) || function ( mod ) {
3
+ return ( mod && mod . __esModule ) ? mod : { "default" : mod } ;
4
+ } ;
2
5
Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
3
6
var querystring_1 = require ( "querystring" ) ;
7
+ var json5_1 = __importDefault ( require ( "json5" ) ) ;
8
+ var js_yaml_1 = __importDefault ( require ( "js-yaml" ) ) ;
4
9
var loader = function ( source , sourceMap ) {
5
10
if ( this . version && Number ( this . version ) >= 2 ) {
6
11
try {
@@ -20,23 +25,30 @@ var loader = function (source, sourceMap) {
20
25
} ;
21
26
function generateCode ( source , query ) {
22
27
var _a ;
23
- var code = '' ;
24
- var value = typeof source === 'string'
25
- ? JSON . parse ( source )
26
- : Buffer . isBuffer ( source )
27
- ? JSON . parse ( source . toString ( ) )
28
- : null ;
29
- if ( value === null ) {
30
- throw new Error ( 'invalid source!' ) ;
31
- }
28
+ var data = convert ( source , query . lang ) ;
29
+ var value = JSON . parse ( data ) ;
32
30
if ( query . locale && typeof query . locale === 'string' ) {
33
31
value = Object . assign ( { } , ( _a = { } , _a [ query . locale ] = value , _a ) ) ;
34
32
}
35
33
value = JSON . stringify ( value )
36
34
. replace ( / \u2028 / g, '\\u2028' )
37
35
. replace ( / \u2029 / g, '\\u2029' )
38
36
. replace ( / \\ / g, '\\\\' ) ;
37
+ var code = '' ;
39
38
code += "function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('" + value . replace ( / \u0027 / g, '\\u0027' ) + "')\n delete Component.options._Ctor\n}\n" ;
40
39
return code ;
41
40
}
41
+ function convert ( source , lang ) {
42
+ var value = Buffer . isBuffer ( source ) ? source . toString ( ) : source ;
43
+ switch ( lang ) {
44
+ case 'yaml' :
45
+ case 'yml' :
46
+ var data = js_yaml_1 . default . safeLoad ( value ) ;
47
+ return JSON . stringify ( data , undefined , '\t' ) ;
48
+ case 'json5' :
49
+ return JSON . stringify ( json5_1 . default . parse ( value ) ) ;
50
+ default :
51
+ return value ;
52
+ }
53
+ }
42
54
exports . default = loader ;
0 commit comments