@zipify/wysiwyg 1.1.1 → 1.2.1-1
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/.github/actions/lint-css/action.yaml +1 -3
- package/.release-it.json +2 -1
- package/dist/cli.js +3 -3
- package/dist/wysiwyg.css +24 -25
- package/dist/wysiwyg.mjs +641 -618
- package/jest.config.js +3 -0
- package/lib/components/base/Modal.vue +21 -2
- package/lib/components/base/__tests__/Modal.test.js +1 -0
- package/lib/components/toolbar/controls/link/LinkControl.vue +22 -10
- package/lib/components/toolbar/controls/link/LinkControlHeader.vue +3 -3
- package/lib/components/toolbar/controls/link/__tests__/LinkControl.test.js +8 -8
- package/lib/components/toolbar/controls/link/__tests__/LinkControlHeader.test.js +1 -1
- package/lib/components/toolbar/controls/link/composables/useLink.js +10 -6
- package/lib/composables/__tests__/__snapshots__/useEditor.test.js.snap +1 -1
- package/lib/composables/useEditor.js +4 -3
- package/lib/enums/TextSettings.js +2 -0
- package/lib/extensions/FontStyle.js +2 -2
- package/lib/extensions/FontWeight.js +2 -0
- package/lib/extensions/Link.js +13 -15
- package/lib/extensions/StylePreset.js +33 -3
- package/lib/extensions/TextDecoration.js +6 -12
- package/lib/extensions/__tests__/FontFamily.test.js +7 -6
- package/lib/extensions/__tests__/FontWeight.test.js +19 -10
- package/lib/extensions/__tests__/StylePreset.test.js +52 -2
- package/lib/extensions/__tests__/TextDecoration.test.js +11 -40
- package/lib/extensions/__tests__/__snapshots__/Alignment.test.js.snap +2 -2
- package/lib/extensions/__tests__/__snapshots__/BackgroundColor.test.js.snap +1 -1
- package/lib/extensions/__tests__/__snapshots__/FontColor.test.js.snap +1 -1
- package/lib/extensions/__tests__/__snapshots__/FontFamily.test.js.snap +19 -1
- package/lib/extensions/__tests__/__snapshots__/FontSize.test.js.snap +2 -2
- package/lib/extensions/__tests__/__snapshots__/FontStyle.test.js.snap +17 -1
- package/lib/extensions/__tests__/__snapshots__/FontWeight.test.js.snap +26 -1
- package/lib/extensions/__tests__/__snapshots__/LineHeight.test.js.snap +2 -2
- package/lib/extensions/__tests__/__snapshots__/Margin.test.js.snap +2 -2
- package/lib/extensions/__tests__/__snapshots__/StylePreset.test.js.snap +22 -2
- package/lib/extensions/__tests__/__snapshots__/TextDecoration.test.js.snap +3 -46
- package/package.json +22 -22
- package/lib/components/toolbar/controls/link/LinkControlApply.vue +0 -35
- package/node_modules_lambda/acorn-globals/node_modules/.bin/acorn +0 -4
- package/node_modules_lambda/acorn-globals/node_modules/acorn/CHANGELOG.md +0 -620
- package/node_modules_lambda/acorn-globals/node_modules/acorn/LICENSE +0 -21
- package/node_modules_lambda/acorn-globals/node_modules/acorn/README.md +0 -269
- package/node_modules_lambda/acorn-globals/node_modules/acorn/bin/acorn +0 -4
- package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.d.ts +0 -209
- package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.js +0 -5186
- package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.js.map +0 -1
- package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs +0 -5155
- package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs.d.ts +0 -2
- package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/acorn.mjs.map +0 -1
- package/node_modules_lambda/acorn-globals/node_modules/acorn/dist/bin.js +0 -64
- package/node_modules_lambda/acorn-globals/node_modules/acorn/package.json +0 -35
- package/node_modules_lambda/cssstyle/node_modules/cssom/LICENSE.txt +0 -20
- package/node_modules_lambda/cssstyle/node_modules/cssom/README.mdown +0 -67
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSDocumentRule.js +0 -39
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSFontFaceRule.js +0 -36
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSHostRule.js +0 -37
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSImportRule.js +0 -132
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSKeyframeRule.js +0 -37
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSKeyframesRule.js +0 -39
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSMediaRule.js +0 -41
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSOM.js +0 -3
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSRule.js +0 -43
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleDeclaration.js +0 -148
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleRule.js +0 -190
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSStyleSheet.js +0 -88
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSSupportsRule.js +0 -36
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSValue.js +0 -43
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/CSSValueExpression.js +0 -344
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/MatcherList.js +0 -62
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/MediaList.js +0 -61
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/StyleSheet.js +0 -17
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/clone.js +0 -82
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/index.js +0 -21
- package/node_modules_lambda/cssstyle/node_modules/cssom/lib/parse.js +0 -464
- package/node_modules_lambda/cssstyle/node_modules/cssom/package.json +0 -18
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/LICENSE.txt +0 -21
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/README.md +0 -106
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/index.js +0 -27
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/Function.js +0 -42
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URL-impl.js +0 -209
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URL.js +0 -442
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URLSearchParams-impl.js +0 -130
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/URLSearchParams.js +0 -472
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/VoidFunction.js +0 -26
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/encoding.js +0 -16
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/infra.js +0 -26
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/percent-encoding.js +0 -142
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/url-state-machine.js +0 -1244
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/urlencoded.js +0 -106
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/lib/utils.js +0 -190
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/package.json +0 -58
- package/node_modules_lambda/data-urls/node_modules/whatwg-url/webidl2js-wrapper.js +0 -7
- package/node_modules_lambda/escodegen/node_modules/estraverse/.jshintrc +0 -16
- package/node_modules_lambda/escodegen/node_modules/estraverse/LICENSE.BSD +0 -19
- package/node_modules_lambda/escodegen/node_modules/estraverse/README.md +0 -153
- package/node_modules_lambda/escodegen/node_modules/estraverse/estraverse.js +0 -805
- package/node_modules_lambda/escodegen/node_modules/estraverse/gulpfile.js +0 -70
- package/node_modules_lambda/escodegen/node_modules/estraverse/package.json +0 -40
- package/node_modules_lambda/escodegen/node_modules/levn/LICENSE +0 -22
- package/node_modules_lambda/escodegen/node_modules/levn/README.md +0 -196
- package/node_modules_lambda/escodegen/node_modules/levn/lib/cast.js +0 -298
- package/node_modules_lambda/escodegen/node_modules/levn/lib/coerce.js +0 -285
- package/node_modules_lambda/escodegen/node_modules/levn/lib/index.js +0 -22
- package/node_modules_lambda/escodegen/node_modules/levn/lib/parse-string.js +0 -113
- package/node_modules_lambda/escodegen/node_modules/levn/lib/parse.js +0 -102
- package/node_modules_lambda/escodegen/node_modules/levn/package.json +0 -47
- package/node_modules_lambda/escodegen/node_modules/optionator/CHANGELOG.md +0 -56
- package/node_modules_lambda/escodegen/node_modules/optionator/LICENSE +0 -22
- package/node_modules_lambda/escodegen/node_modules/optionator/README.md +0 -238
- package/node_modules_lambda/escodegen/node_modules/optionator/lib/help.js +0 -260
- package/node_modules_lambda/escodegen/node_modules/optionator/lib/index.js +0 -465
- package/node_modules_lambda/escodegen/node_modules/optionator/lib/util.js +0 -54
- package/node_modules_lambda/escodegen/node_modules/optionator/package.json +0 -44
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/CHANGELOG.md +0 -99
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/LICENSE +0 -22
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/README.md +0 -15
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Func.js +0 -65
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/List.js +0 -686
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Num.js +0 -130
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Obj.js +0 -154
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/Str.js +0 -92
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/lib/index.js +0 -178
- package/node_modules_lambda/escodegen/node_modules/prelude-ls/package.json +0 -52
- package/node_modules_lambda/escodegen/node_modules/source-map/CHANGELOG.md +0 -301
- package/node_modules_lambda/escodegen/node_modules/source-map/LICENSE +0 -28
- package/node_modules_lambda/escodegen/node_modules/source-map/README.md +0 -742
- package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.debug.js +0 -3234
- package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.js +0 -3233
- package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.min.js +0 -2
- package/node_modules_lambda/escodegen/node_modules/source-map/dist/source-map.min.js.map +0 -1
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/array-set.js +0 -121
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/base64-vlq.js +0 -140
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/base64.js +0 -67
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/binary-search.js +0 -111
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/mapping-list.js +0 -79
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/quick-sort.js +0 -114
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-map-consumer.js +0 -1145
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-map-generator.js +0 -425
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/source-node.js +0 -413
- package/node_modules_lambda/escodegen/node_modules/source-map/lib/util.js +0 -488
- package/node_modules_lambda/escodegen/node_modules/source-map/package.json +0 -73
- package/node_modules_lambda/escodegen/node_modules/source-map/source-map.d.ts +0 -98
- package/node_modules_lambda/escodegen/node_modules/source-map/source-map.js +0 -8
- package/node_modules_lambda/escodegen/node_modules/type-check/LICENSE +0 -22
- package/node_modules_lambda/escodegen/node_modules/type-check/README.md +0 -210
- package/node_modules_lambda/escodegen/node_modules/type-check/lib/check.js +0 -126
- package/node_modules_lambda/escodegen/node_modules/type-check/lib/index.js +0 -16
- package/node_modules_lambda/escodegen/node_modules/type-check/lib/parse-type.js +0 -196
- package/node_modules_lambda/escodegen/node_modules/type-check/package.json +0 -40
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/.github/dependabot.yml +0 -11
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/Changelog.md +0 -212
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/LICENSE +0 -21
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/README.md +0 -130
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -597
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-data.js +0 -188
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/index.js +0 -23
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/internal.js +0 -198
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data.js +0 -179
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf16.js +0 -197
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf32.js +0 -319
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/encodings/utf7.js +0 -290
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/bom-handling.js +0 -52
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/index.d.ts +0 -41
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/index.js +0 -180
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/lib/streams.js +0 -109
- package/node_modules_lambda/whatwg-encoding/node_modules/iconv-lite/package.json +0 -44
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
// Generated by LiveScript 1.2.0
|
|
2
|
-
(function(){
|
|
3
|
-
var parsedTypeCheck, types, toString$ = {}.toString;
|
|
4
|
-
parsedTypeCheck = require('type-check').parsedTypeCheck;
|
|
5
|
-
types = {
|
|
6
|
-
'*': function(it){
|
|
7
|
-
switch (toString$.call(it).slice(8, -1)) {
|
|
8
|
-
case 'Array':
|
|
9
|
-
return coerceType(it, {
|
|
10
|
-
type: 'Array'
|
|
11
|
-
});
|
|
12
|
-
case 'Object':
|
|
13
|
-
return coerceType(it, {
|
|
14
|
-
type: 'Object'
|
|
15
|
-
});
|
|
16
|
-
default:
|
|
17
|
-
return {
|
|
18
|
-
type: 'Just',
|
|
19
|
-
value: coerceTypes(it, [
|
|
20
|
-
{
|
|
21
|
-
type: 'Undefined'
|
|
22
|
-
}, {
|
|
23
|
-
type: 'Null'
|
|
24
|
-
}, {
|
|
25
|
-
type: 'NaN'
|
|
26
|
-
}, {
|
|
27
|
-
type: 'Boolean'
|
|
28
|
-
}, {
|
|
29
|
-
type: 'Number'
|
|
30
|
-
}, {
|
|
31
|
-
type: 'Date'
|
|
32
|
-
}, {
|
|
33
|
-
type: 'RegExp'
|
|
34
|
-
}, {
|
|
35
|
-
type: 'Array'
|
|
36
|
-
}, {
|
|
37
|
-
type: 'Object'
|
|
38
|
-
}, {
|
|
39
|
-
type: 'String'
|
|
40
|
-
}
|
|
41
|
-
], {
|
|
42
|
-
explicit: true
|
|
43
|
-
})
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
Undefined: function(it){
|
|
48
|
-
if (it === 'undefined' || it === void 8) {
|
|
49
|
-
return {
|
|
50
|
-
type: 'Just',
|
|
51
|
-
value: void 8
|
|
52
|
-
};
|
|
53
|
-
} else {
|
|
54
|
-
return {
|
|
55
|
-
type: 'Nothing'
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
Null: function(it){
|
|
60
|
-
if (it === 'null') {
|
|
61
|
-
return {
|
|
62
|
-
type: 'Just',
|
|
63
|
-
value: null
|
|
64
|
-
};
|
|
65
|
-
} else {
|
|
66
|
-
return {
|
|
67
|
-
type: 'Nothing'
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
NaN: function(it){
|
|
72
|
-
if (it === 'NaN') {
|
|
73
|
-
return {
|
|
74
|
-
type: 'Just',
|
|
75
|
-
value: NaN
|
|
76
|
-
};
|
|
77
|
-
} else {
|
|
78
|
-
return {
|
|
79
|
-
type: 'Nothing'
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
Boolean: function(it){
|
|
84
|
-
if (it === 'true') {
|
|
85
|
-
return {
|
|
86
|
-
type: 'Just',
|
|
87
|
-
value: true
|
|
88
|
-
};
|
|
89
|
-
} else if (it === 'false') {
|
|
90
|
-
return {
|
|
91
|
-
type: 'Just',
|
|
92
|
-
value: false
|
|
93
|
-
};
|
|
94
|
-
} else {
|
|
95
|
-
return {
|
|
96
|
-
type: 'Nothing'
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
|
-
Number: function(it){
|
|
101
|
-
return {
|
|
102
|
-
type: 'Just',
|
|
103
|
-
value: +it
|
|
104
|
-
};
|
|
105
|
-
},
|
|
106
|
-
Int: function(it){
|
|
107
|
-
return {
|
|
108
|
-
type: 'Just',
|
|
109
|
-
value: parseInt(it)
|
|
110
|
-
};
|
|
111
|
-
},
|
|
112
|
-
Float: function(it){
|
|
113
|
-
return {
|
|
114
|
-
type: 'Just',
|
|
115
|
-
value: parseFloat(it)
|
|
116
|
-
};
|
|
117
|
-
},
|
|
118
|
-
Date: function(value, options){
|
|
119
|
-
var that;
|
|
120
|
-
if (that = /^\#(.*)\#$/.exec(value)) {
|
|
121
|
-
return {
|
|
122
|
-
type: 'Just',
|
|
123
|
-
value: new Date(+that[1] || that[1])
|
|
124
|
-
};
|
|
125
|
-
} else if (options.explicit) {
|
|
126
|
-
return {
|
|
127
|
-
type: 'Nothing'
|
|
128
|
-
};
|
|
129
|
-
} else {
|
|
130
|
-
return {
|
|
131
|
-
type: 'Just',
|
|
132
|
-
value: new Date(+value || value)
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
RegExp: function(value, options){
|
|
137
|
-
var that;
|
|
138
|
-
if (that = /^\/(.*)\/([gimy]*)$/.exec(value)) {
|
|
139
|
-
return {
|
|
140
|
-
type: 'Just',
|
|
141
|
-
value: new RegExp(that[1], that[2])
|
|
142
|
-
};
|
|
143
|
-
} else if (options.explicit) {
|
|
144
|
-
return {
|
|
145
|
-
type: 'Nothing'
|
|
146
|
-
};
|
|
147
|
-
} else {
|
|
148
|
-
return {
|
|
149
|
-
type: 'Just',
|
|
150
|
-
value: new RegExp(value)
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
Array: function(it){
|
|
155
|
-
return coerceArray(it, {
|
|
156
|
-
of: [{
|
|
157
|
-
type: '*'
|
|
158
|
-
}]
|
|
159
|
-
});
|
|
160
|
-
},
|
|
161
|
-
Object: function(it){
|
|
162
|
-
return coerceFields(it, {
|
|
163
|
-
of: {}
|
|
164
|
-
});
|
|
165
|
-
},
|
|
166
|
-
String: function(it){
|
|
167
|
-
var that;
|
|
168
|
-
if (toString$.call(it).slice(8, -1) !== 'String') {
|
|
169
|
-
return {
|
|
170
|
-
type: 'Nothing'
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
if (that = it.match(/^'(.*)'$/)) {
|
|
174
|
-
return {
|
|
175
|
-
type: 'Just',
|
|
176
|
-
value: that[1]
|
|
177
|
-
};
|
|
178
|
-
} else if (that = it.match(/^"(.*)"$/)) {
|
|
179
|
-
return {
|
|
180
|
-
type: 'Just',
|
|
181
|
-
value: that[1]
|
|
182
|
-
};
|
|
183
|
-
} else {
|
|
184
|
-
return {
|
|
185
|
-
type: 'Just',
|
|
186
|
-
value: it
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
function coerceArray(node, type){
|
|
192
|
-
var typeOf, element;
|
|
193
|
-
if (toString$.call(node).slice(8, -1) !== 'Array') {
|
|
194
|
-
return {
|
|
195
|
-
type: 'Nothing'
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
typeOf = type.of;
|
|
199
|
-
return {
|
|
200
|
-
type: 'Just',
|
|
201
|
-
value: (function(){
|
|
202
|
-
var i$, ref$, len$, results$ = [];
|
|
203
|
-
for (i$ = 0, len$ = (ref$ = node).length; i$ < len$; ++i$) {
|
|
204
|
-
element = ref$[i$];
|
|
205
|
-
results$.push(coerceTypes(element, typeOf));
|
|
206
|
-
}
|
|
207
|
-
return results$;
|
|
208
|
-
}())
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
function coerceTuple(node, type){
|
|
212
|
-
var result, i$, ref$, len$, i, types, that;
|
|
213
|
-
if (toString$.call(node).slice(8, -1) !== 'Array') {
|
|
214
|
-
return {
|
|
215
|
-
type: 'Nothing'
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
result = [];
|
|
219
|
-
for (i$ = 0, len$ = (ref$ = type.of).length; i$ < len$; ++i$) {
|
|
220
|
-
i = i$;
|
|
221
|
-
types = ref$[i$];
|
|
222
|
-
if (that = coerceTypes(node[i], types)) {
|
|
223
|
-
result.push(that);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
return {
|
|
227
|
-
type: 'Just',
|
|
228
|
-
value: result
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
function coerceFields(node, type){
|
|
232
|
-
var typeOf, key, value;
|
|
233
|
-
if (toString$.call(node).slice(8, -1) !== 'Object') {
|
|
234
|
-
return {
|
|
235
|
-
type: 'Nothing'
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
typeOf = type.of;
|
|
239
|
-
return {
|
|
240
|
-
type: 'Just',
|
|
241
|
-
value: (function(){
|
|
242
|
-
var ref$, results$ = {};
|
|
243
|
-
for (key in ref$ = node) {
|
|
244
|
-
value = ref$[key];
|
|
245
|
-
results$[key] = coerceTypes(value, typeOf[key] || [{
|
|
246
|
-
type: '*'
|
|
247
|
-
}]);
|
|
248
|
-
}
|
|
249
|
-
return results$;
|
|
250
|
-
}())
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
function coerceType(node, typeObj, options){
|
|
254
|
-
var type, structure, coerceFunc;
|
|
255
|
-
type = typeObj.type, structure = typeObj.structure;
|
|
256
|
-
if (type) {
|
|
257
|
-
coerceFunc = types[type];
|
|
258
|
-
return coerceFunc(node, options);
|
|
259
|
-
} else {
|
|
260
|
-
switch (structure) {
|
|
261
|
-
case 'array':
|
|
262
|
-
return coerceArray(node, typeObj);
|
|
263
|
-
case 'tuple':
|
|
264
|
-
return coerceTuple(node, typeObj);
|
|
265
|
-
case 'fields':
|
|
266
|
-
return coerceFields(node, typeObj);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
function coerceTypes(node, types, options){
|
|
271
|
-
var i$, len$, type, ref$, valueType, value;
|
|
272
|
-
for (i$ = 0, len$ = types.length; i$ < len$; ++i$) {
|
|
273
|
-
type = types[i$];
|
|
274
|
-
ref$ = coerceType(node, type, options), valueType = ref$.type, value = ref$.value;
|
|
275
|
-
if (valueType === 'Nothing') {
|
|
276
|
-
continue;
|
|
277
|
-
}
|
|
278
|
-
if (parsedTypeCheck([type], value)) {
|
|
279
|
-
return value;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
throw new Error("Value " + JSON.stringify(node) + " does not type check against " + JSON.stringify(types) + ".");
|
|
283
|
-
}
|
|
284
|
-
module.exports = coerceTypes;
|
|
285
|
-
}).call(this);
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// Generated by LiveScript 1.4.0
|
|
2
|
-
(function(){
|
|
3
|
-
var parseString, cast, parseType, VERSION, parsedTypeParse, parse;
|
|
4
|
-
parseString = require('./parse-string');
|
|
5
|
-
cast = require('./cast');
|
|
6
|
-
parseType = require('type-check').parseType;
|
|
7
|
-
VERSION = '0.3.0';
|
|
8
|
-
parsedTypeParse = function(parsedType, string, options){
|
|
9
|
-
options == null && (options = {});
|
|
10
|
-
options.explicit == null && (options.explicit = false);
|
|
11
|
-
options.customTypes == null && (options.customTypes = {});
|
|
12
|
-
return cast(parseString(parsedType, string, options), parsedType, options);
|
|
13
|
-
};
|
|
14
|
-
parse = function(type, string, options){
|
|
15
|
-
return parsedTypeParse(parseType(type), string, options);
|
|
16
|
-
};
|
|
17
|
-
module.exports = {
|
|
18
|
-
VERSION: VERSION,
|
|
19
|
-
parse: parse,
|
|
20
|
-
parsedTypeParse: parsedTypeParse
|
|
21
|
-
};
|
|
22
|
-
}).call(this);
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
// Generated by LiveScript 1.4.0
|
|
2
|
-
(function(){
|
|
3
|
-
var reject, special, tokenRegex;
|
|
4
|
-
reject = require('prelude-ls').reject;
|
|
5
|
-
function consumeOp(tokens, op){
|
|
6
|
-
if (tokens[0] === op) {
|
|
7
|
-
return tokens.shift();
|
|
8
|
-
} else {
|
|
9
|
-
throw new Error("Expected '" + op + "', but got '" + tokens[0] + "' instead in " + JSON.stringify(tokens) + ".");
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function maybeConsumeOp(tokens, op){
|
|
13
|
-
if (tokens[0] === op) {
|
|
14
|
-
return tokens.shift();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function consumeList(tokens, arg$, hasDelimiters){
|
|
18
|
-
var open, close, result, untilTest;
|
|
19
|
-
open = arg$[0], close = arg$[1];
|
|
20
|
-
if (hasDelimiters) {
|
|
21
|
-
consumeOp(tokens, open);
|
|
22
|
-
}
|
|
23
|
-
result = [];
|
|
24
|
-
untilTest = "," + (hasDelimiters ? close : '');
|
|
25
|
-
while (tokens.length && (hasDelimiters && tokens[0] !== close)) {
|
|
26
|
-
result.push(consumeElement(tokens, untilTest));
|
|
27
|
-
maybeConsumeOp(tokens, ',');
|
|
28
|
-
}
|
|
29
|
-
if (hasDelimiters) {
|
|
30
|
-
consumeOp(tokens, close);
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
function consumeArray(tokens, hasDelimiters){
|
|
35
|
-
return consumeList(tokens, ['[', ']'], hasDelimiters);
|
|
36
|
-
}
|
|
37
|
-
function consumeTuple(tokens, hasDelimiters){
|
|
38
|
-
return consumeList(tokens, ['(', ')'], hasDelimiters);
|
|
39
|
-
}
|
|
40
|
-
function consumeFields(tokens, hasDelimiters){
|
|
41
|
-
var result, untilTest, key;
|
|
42
|
-
if (hasDelimiters) {
|
|
43
|
-
consumeOp(tokens, '{');
|
|
44
|
-
}
|
|
45
|
-
result = {};
|
|
46
|
-
untilTest = "," + (hasDelimiters ? '}' : '');
|
|
47
|
-
while (tokens.length && (!hasDelimiters || tokens[0] !== '}')) {
|
|
48
|
-
key = consumeValue(tokens, ':');
|
|
49
|
-
consumeOp(tokens, ':');
|
|
50
|
-
result[key] = consumeElement(tokens, untilTest);
|
|
51
|
-
maybeConsumeOp(tokens, ',');
|
|
52
|
-
}
|
|
53
|
-
if (hasDelimiters) {
|
|
54
|
-
consumeOp(tokens, '}');
|
|
55
|
-
}
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
function consumeValue(tokens, untilTest){
|
|
59
|
-
var out;
|
|
60
|
-
untilTest == null && (untilTest = '');
|
|
61
|
-
out = '';
|
|
62
|
-
while (tokens.length && -1 === untilTest.indexOf(tokens[0])) {
|
|
63
|
-
out += tokens.shift();
|
|
64
|
-
}
|
|
65
|
-
return out;
|
|
66
|
-
}
|
|
67
|
-
function consumeElement(tokens, untilTest){
|
|
68
|
-
switch (tokens[0]) {
|
|
69
|
-
case '[':
|
|
70
|
-
return consumeArray(tokens, true);
|
|
71
|
-
case '(':
|
|
72
|
-
return consumeTuple(tokens, true);
|
|
73
|
-
case '{':
|
|
74
|
-
return consumeFields(tokens, true);
|
|
75
|
-
default:
|
|
76
|
-
return consumeValue(tokens, untilTest);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
function consumeTopLevel(tokens, types, options){
|
|
80
|
-
var ref$, type, structure, origTokens, result, finalResult, x$, y$;
|
|
81
|
-
ref$ = types[0], type = ref$.type, structure = ref$.structure;
|
|
82
|
-
origTokens = tokens.concat();
|
|
83
|
-
if (!options.explicit && types.length === 1 && ((!type && structure) || (type === 'Array' || type === 'Object'))) {
|
|
84
|
-
result = structure === 'array' || type === 'Array'
|
|
85
|
-
? consumeArray(tokens, tokens[0] === '[')
|
|
86
|
-
: structure === 'tuple'
|
|
87
|
-
? consumeTuple(tokens, tokens[0] === '(')
|
|
88
|
-
: consumeFields(tokens, tokens[0] === '{');
|
|
89
|
-
finalResult = tokens.length ? consumeElement(structure === 'array' || type === 'Array'
|
|
90
|
-
? (x$ = origTokens, x$.unshift('['), x$.push(']'), x$)
|
|
91
|
-
: (y$ = origTokens, y$.unshift('('), y$.push(')'), y$)) : result;
|
|
92
|
-
} else {
|
|
93
|
-
finalResult = consumeElement(tokens);
|
|
94
|
-
}
|
|
95
|
-
return finalResult;
|
|
96
|
-
}
|
|
97
|
-
special = /\[\]\(\)}{:,/.source;
|
|
98
|
-
tokenRegex = RegExp('("(?:\\\\"|[^"])*")|(\'(?:\\\\\'|[^\'])*\')|(/(?:\\\\/|[^/])*/[a-zA-Z]*)|(#.*#)|([' + special + '])|([^\\s' + special + '](?:\\s*[^\\s' + special + ']+)*)|\\s*');
|
|
99
|
-
module.exports = function(types, string, options){
|
|
100
|
-
var tokens, node;
|
|
101
|
-
options == null && (options = {});
|
|
102
|
-
if (!options.explicit && types.length === 1 && types[0].type === 'String') {
|
|
103
|
-
return "'" + string.replace(/\\'/g, "\\\\'") + "'";
|
|
104
|
-
}
|
|
105
|
-
tokens = reject(not$, string.split(tokenRegex));
|
|
106
|
-
node = consumeTopLevel(tokens, types, options);
|
|
107
|
-
if (!node) {
|
|
108
|
-
throw new Error("Error parsing '" + string + "'.");
|
|
109
|
-
}
|
|
110
|
-
return node;
|
|
111
|
-
};
|
|
112
|
-
function not$(x){ return !x; }
|
|
113
|
-
}).call(this);
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
// Generated by LiveScript 1.2.0
|
|
2
|
-
(function(){
|
|
3
|
-
var reject, special, tokenRegex;
|
|
4
|
-
reject = require('prelude-ls').reject;
|
|
5
|
-
function consumeOp(tokens, op){
|
|
6
|
-
if (tokens[0] === op) {
|
|
7
|
-
return tokens.shift();
|
|
8
|
-
} else {
|
|
9
|
-
throw new Error("Expected '" + op + "', but got '" + tokens[0] + "' instead in " + JSON.stringify(tokens) + ".");
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function maybeConsumeOp(tokens, op){
|
|
13
|
-
if (tokens[0] === op) {
|
|
14
|
-
return tokens.shift();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function consumeList(tokens, delimiters, hasDelimiters){
|
|
18
|
-
var result;
|
|
19
|
-
if (hasDelimiters) {
|
|
20
|
-
consumeOp(tokens, delimiters[0]);
|
|
21
|
-
}
|
|
22
|
-
result = [];
|
|
23
|
-
while (tokens.length && tokens[0] !== delimiters[1]) {
|
|
24
|
-
result.push(consumeElement(tokens));
|
|
25
|
-
maybeConsumeOp(tokens, ',');
|
|
26
|
-
}
|
|
27
|
-
if (hasDelimiters) {
|
|
28
|
-
consumeOp(tokens, delimiters[1]);
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
function consumeArray(tokens, hasDelimiters){
|
|
33
|
-
return consumeList(tokens, ['[', ']'], hasDelimiters);
|
|
34
|
-
}
|
|
35
|
-
function consumeTuple(tokens, hasDelimiters){
|
|
36
|
-
return consumeList(tokens, ['(', ')'], hasDelimiters);
|
|
37
|
-
}
|
|
38
|
-
function consumeFields(tokens, hasDelimiters){
|
|
39
|
-
var result, key;
|
|
40
|
-
if (hasDelimiters) {
|
|
41
|
-
consumeOp(tokens, '{');
|
|
42
|
-
}
|
|
43
|
-
result = {};
|
|
44
|
-
while (tokens.length && (!hasDelimiters || tokens[0] !== '}')) {
|
|
45
|
-
key = tokens.shift();
|
|
46
|
-
consumeOp(tokens, ':');
|
|
47
|
-
result[key] = consumeElement(tokens);
|
|
48
|
-
maybeConsumeOp(tokens, ',');
|
|
49
|
-
}
|
|
50
|
-
if (hasDelimiters) {
|
|
51
|
-
consumeOp(tokens, '}');
|
|
52
|
-
}
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
function consumeElement(tokens){
|
|
56
|
-
switch (tokens[0]) {
|
|
57
|
-
case '[':
|
|
58
|
-
return consumeArray(tokens, true);
|
|
59
|
-
case '(':
|
|
60
|
-
return consumeTuple(tokens, true);
|
|
61
|
-
case '{':
|
|
62
|
-
return consumeFields(tokens, true);
|
|
63
|
-
default:
|
|
64
|
-
return tokens.shift();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
function consumeTopLevel(tokens, types){
|
|
68
|
-
var ref$, type, structure, origTokens, result, finalResult, x$, y$;
|
|
69
|
-
ref$ = types[0], type = ref$.type, structure = ref$.structure;
|
|
70
|
-
origTokens = tokens.concat();
|
|
71
|
-
if (types.length === 1 && (structure || (type === 'Array' || type === 'Object'))) {
|
|
72
|
-
result = structure === 'array' || type === 'Array'
|
|
73
|
-
? consumeArray(tokens, tokens[0] === '[')
|
|
74
|
-
: structure === 'tuple'
|
|
75
|
-
? consumeTuple(tokens, tokens[0] === '(')
|
|
76
|
-
: consumeFields(tokens, tokens[0] === '{');
|
|
77
|
-
finalResult = tokens.length ? consumeElement(structure === 'array' || type === 'Array'
|
|
78
|
-
? (x$ = origTokens, x$.unshift('['), x$.push(']'), x$)
|
|
79
|
-
: (y$ = origTokens, y$.unshift('('), y$.push(')'), y$)) : result;
|
|
80
|
-
} else {
|
|
81
|
-
finalResult = consumeElement(tokens);
|
|
82
|
-
}
|
|
83
|
-
if (tokens.length && origTokens.length) {
|
|
84
|
-
throw new Error("Unable to parse " + JSON.stringify(origTokens) + " of type " + JSON.stringify(types) + ".");
|
|
85
|
-
} else {
|
|
86
|
-
return finalResult;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
special = /\[\]\(\)}{:,/.source;
|
|
90
|
-
tokenRegex = RegExp('("(?:[^"]|\\\\")*")|(\'(?:[^\']|\\\\\')*\')|(#.*#)|(/(?:\\\\/|[^/])*/[gimy]*)|([' + special + '])|([^\\s' + special + ']+)|\\s*');
|
|
91
|
-
module.exports = function(string, types){
|
|
92
|
-
var tokens, node;
|
|
93
|
-
tokens = reject(function(it){
|
|
94
|
-
return !it || /^\s+$/.test(it);
|
|
95
|
-
}, string.split(tokenRegex));
|
|
96
|
-
node = consumeTopLevel(tokens, types);
|
|
97
|
-
if (!node) {
|
|
98
|
-
throw new Error("Error parsing '" + string + "'.");
|
|
99
|
-
}
|
|
100
|
-
return node;
|
|
101
|
-
};
|
|
102
|
-
}).call(this);
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "levn",
|
|
3
|
-
"version": "0.3.0",
|
|
4
|
-
"author": "George Zahariev <z@georgezahariev.com>",
|
|
5
|
-
"description": "Light ECMAScript (JavaScript) Value Notation - human written, concise, typed, flexible",
|
|
6
|
-
"homepage": "https://github.com/gkz/levn",
|
|
7
|
-
"keywords": [
|
|
8
|
-
"levn",
|
|
9
|
-
"light",
|
|
10
|
-
"ecmascript",
|
|
11
|
-
"value",
|
|
12
|
-
"notation",
|
|
13
|
-
"json",
|
|
14
|
-
"typed",
|
|
15
|
-
"human",
|
|
16
|
-
"concise",
|
|
17
|
-
"typed",
|
|
18
|
-
"flexible"
|
|
19
|
-
],
|
|
20
|
-
"files": [
|
|
21
|
-
"lib",
|
|
22
|
-
"README.md",
|
|
23
|
-
"LICENSE"
|
|
24
|
-
],
|
|
25
|
-
"main": "./lib/",
|
|
26
|
-
"bugs": "https://github.com/gkz/levn/issues",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"engines": {
|
|
29
|
-
"node": ">= 0.8.0"
|
|
30
|
-
},
|
|
31
|
-
"repository": {
|
|
32
|
-
"type": "git",
|
|
33
|
-
"url": "git://github.com/gkz/levn.git"
|
|
34
|
-
},
|
|
35
|
-
"scripts": {
|
|
36
|
-
"test": "make test"
|
|
37
|
-
},
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"prelude-ls": "~1.1.2",
|
|
40
|
-
"type-check": "~0.3.2"
|
|
41
|
-
},
|
|
42
|
-
"devDependencies": {
|
|
43
|
-
"livescript": "~1.4.0",
|
|
44
|
-
"mocha": "~2.3.4",
|
|
45
|
-
"istanbul": "~0.4.1"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# 0.8.3
|
|
2
|
-
- changes dependency from `wordwrap` to `word-wrap` due to license issue
|
|
3
|
-
- update dependencies
|
|
4
|
-
|
|
5
|
-
# 0.8.2
|
|
6
|
-
- fix bug #18 - detect missing value when flag is last item
|
|
7
|
-
- update dependencies
|
|
8
|
-
|
|
9
|
-
# 0.8.1
|
|
10
|
-
- update `fast-levenshtein` dependency
|
|
11
|
-
|
|
12
|
-
# 0.8.0
|
|
13
|
-
- update `levn` dependency - supplying a float value to an option with type `Int` now throws an error, instead of silently converting to an `Int`
|
|
14
|
-
|
|
15
|
-
# 0.7.1
|
|
16
|
-
- fix bug with use of `defaults` and `concatRepeatedArrays` or `mergeRepeatedObjects`
|
|
17
|
-
|
|
18
|
-
# 0.7.0
|
|
19
|
-
- added `concatrepeatedarrays` option: `oneValuePerFlag`, only allows one array value per flag
|
|
20
|
-
- added `typeAliases` option
|
|
21
|
-
- added `parseArgv` which takes an array and parses with the first two items sliced off
|
|
22
|
-
- changed enum help style
|
|
23
|
-
- bug fixes (#12)
|
|
24
|
-
- use of `concatRepeatedArrays` and `mergeRepeatedObjects` at the top level is deprecated, use it as either a per-option option, or set them in the `defaults` object to set them for all objects
|
|
25
|
-
|
|
26
|
-
# 0.6.0
|
|
27
|
-
- added `defaults` lib-option flag, allowing one to set default properties for all options
|
|
28
|
-
- added `concatRepeatedArrays` and `mergeRepeatedObjects` as option level properties, allowing you to turn this feature on for specific options only
|
|
29
|
-
|
|
30
|
-
# 0.5.0
|
|
31
|
-
- `Boolean` flags with `default: 'true'`, and no short aliases, will by default show the `--no` version in help
|
|
32
|
-
|
|
33
|
-
# 0.4.0
|
|
34
|
-
- add `mergeRepeatedObjects` setting
|
|
35
|
-
|
|
36
|
-
# 0.3.0
|
|
37
|
-
- add `concatRepeatedArrays` setting
|
|
38
|
-
- add `overrideRequired` option setting
|
|
39
|
-
- use just Levenshtein string compare algo rather than Levenshtein Damerau to due dependency license issue
|
|
40
|
-
|
|
41
|
-
# 0.2.2
|
|
42
|
-
- bug fixes
|
|
43
|
-
|
|
44
|
-
# 0.2.1
|
|
45
|
-
- improved interpolation
|
|
46
|
-
- added changelog
|
|
47
|
-
|
|
48
|
-
# 0.2.0
|
|
49
|
-
- add dependency checks to options - added `dependsOn` as an option property
|
|
50
|
-
- add interpolation for `prepend` and `append` text with new `generateHelp` option, `interpolate`
|
|
51
|
-
|
|
52
|
-
# 0.1.1
|
|
53
|
-
- update dependencies
|
|
54
|
-
|
|
55
|
-
# 0.1.0
|
|
56
|
-
- initial release
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
Copyright (c) George Zahariev
|
|
2
|
-
|
|
3
|
-
Permission is hereby granted, free of charge, to any person
|
|
4
|
-
obtaining a copy of this software and associated documentation
|
|
5
|
-
files (the "Software"), to deal in the Software without
|
|
6
|
-
restriction, including without limitation the rights to use,
|
|
7
|
-
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
-
copies of the Software, and to permit persons to whom the
|
|
9
|
-
Software is furnished to do so, subject to the following
|
|
10
|
-
conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be
|
|
13
|
-
included in all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
17
|
-
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
19
|
-
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
20
|
-
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
21
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
22
|
-
OTHER DEALINGS IN THE SOFTWARE.
|