iOS:add Bundle Resource
This commit is contained in:
parent
235549eea4
commit
986d32a8e0
@ -60,6 +60,7 @@
|
|||||||
#import "DoricBase64ResourceLoader.h"
|
#import "DoricBase64ResourceLoader.h"
|
||||||
#import "DoricLocalResourceLoader.h"
|
#import "DoricLocalResourceLoader.h"
|
||||||
#import "DoricRemoteResourceLoader.h"
|
#import "DoricRemoteResourceLoader.h"
|
||||||
|
#import "DoricCommonBundleResourceLoader.h"
|
||||||
|
|
||||||
@interface DoricRegistry ()
|
@interface DoricRegistry ()
|
||||||
|
|
||||||
@ -139,6 +140,7 @@ - (void)innerRegister {
|
|||||||
[self.loaderManager registerLoader:[DoricLocalResourceLoader new]];
|
[self.loaderManager registerLoader:[DoricLocalResourceLoader new]];
|
||||||
[self.loaderManager registerLoader:[DoricRemoteResourceLoader new]];
|
[self.loaderManager registerLoader:[DoricRemoteResourceLoader new]];
|
||||||
[self.loaderManager registerLoader:[DoricBase64ResourceLoader new]];
|
[self.loaderManager registerLoader:[DoricBase64ResourceLoader new]];
|
||||||
|
[self.loaderManager registerLoader:[DoricCommonBundleResourceLoader new]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)registerJSBundle:(NSString *)bundle withName:(NSString *)name {
|
- (void)registerJSBundle:(NSString *)bundle withName:(NSString *)name {
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* Copyright [2021] [Doric.Pub]
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
// Created by pengfei.zhou on 2021/10/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "DoricResourceLoader.h"
|
||||||
|
|
||||||
|
@interface DoricCommonBundleResourceLoader : NSObject <DoricResourceLoader>
|
||||||
|
@end
|
@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* Copyright [2021] [Doric.Pub]
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
// Created by pengfei.zhou on 2021/10/25.
|
||||||
|
//
|
||||||
|
|
||||||
|
#import "DoricCommonBundleResourceLoader.h"
|
||||||
|
#import "DoricBundleResource.h"
|
||||||
|
#import "DoricExtensions.h"
|
||||||
|
|
||||||
|
@implementation DoricCommonBundleResourceLoader
|
||||||
|
- (NSString *)resourceType {
|
||||||
|
return @"bundle";
|
||||||
|
}
|
||||||
|
|
||||||
|
- (__kindof DoricResource *)load:(NSString *)identifier withContext:(DoricContext *)context {
|
||||||
|
NSArray<NSString *> *ret = [identifier componentsSeparatedByString:@"://"];
|
||||||
|
NSString *bundleName = ret.firstObject;
|
||||||
|
NSString *fileName = ret.lastObject;
|
||||||
|
NSBundle *mainBundle = [NSBundle mainBundle];
|
||||||
|
NSString *bundlePath = [mainBundle pathForResource:bundleName ofType:@"bundle"];
|
||||||
|
NSBundle *bundle = [NSBundle bundleWithPath:bundlePath];
|
||||||
|
return [[[DoricBundleResource alloc] initWithContext:context identifier:fileName]
|
||||||
|
also:^(DoricBundleResource *it) {
|
||||||
|
it.bundle = bundle;
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
@end
|
@ -2197,11 +2197,18 @@ var AssetResource = /** @class */ (function (_super) {
|
|||||||
*/
|
*/
|
||||||
var MainBundleResource = /** @class */ (function (_super) {
|
var MainBundleResource = /** @class */ (function (_super) {
|
||||||
__extends$e(MainBundleResource, _super);
|
__extends$e(MainBundleResource, _super);
|
||||||
function MainBundleResource(path) {
|
function MainBundleResource(fileName) {
|
||||||
return _super.call(this, "mainBundle", path) || this;
|
return _super.call(this, "mainBundle", fileName) || this;
|
||||||
}
|
}
|
||||||
return MainBundleResource;
|
return MainBundleResource;
|
||||||
}(Resource));
|
}(Resource));
|
||||||
|
var BundleResource = /** @class */ (function (_super) {
|
||||||
|
__extends$e(BundleResource, _super);
|
||||||
|
function BundleResource(bundleName, fileName) {
|
||||||
|
return _super.call(this, "bundle", bundleName + "://" + fileName) || this;
|
||||||
|
}
|
||||||
|
return BundleResource;
|
||||||
|
}(Resource));
|
||||||
|
|
||||||
var __extends$d = (undefined && undefined.__extends) || (function () {
|
var __extends$d = (undefined && undefined.__extends) || (function () {
|
||||||
var extendStatics = function (d, b) {
|
var extendStatics = function (d, b) {
|
||||||
@ -4389,6 +4396,7 @@ exports.AssetResource = AssetResource;
|
|||||||
exports.BOTTOM = BOTTOM;
|
exports.BOTTOM = BOTTOM;
|
||||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||||
exports.Base64Resource = Base64Resource;
|
exports.Base64Resource = Base64Resource;
|
||||||
|
exports.BundleResource = BundleResource;
|
||||||
exports.CENTER = CENTER;
|
exports.CENTER = CENTER;
|
||||||
exports.CENTER_X = CENTER_X;
|
exports.CENTER_X = CENTER_X;
|
||||||
exports.CENTER_Y = CENTER_Y;
|
exports.CENTER_Y = CENTER_Y;
|
||||||
|
@ -1652,8 +1652,13 @@ class AssetResource extends Resource {
|
|||||||
* This is for iOS platform
|
* This is for iOS platform
|
||||||
*/
|
*/
|
||||||
class MainBundleResource extends Resource {
|
class MainBundleResource extends Resource {
|
||||||
constructor(path) {
|
constructor(fileName) {
|
||||||
super("mainBundle", path);
|
super("mainBundle", fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class BundleResource extends Resource {
|
||||||
|
constructor(bundleName, fileName) {
|
||||||
|
super("bundle", `${bundleName}://${fileName}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3372,6 +3377,7 @@ exports.AssetResource = AssetResource;
|
|||||||
exports.BOTTOM = BOTTOM;
|
exports.BOTTOM = BOTTOM;
|
||||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||||
exports.Base64Resource = Base64Resource;
|
exports.Base64Resource = Base64Resource;
|
||||||
|
exports.BundleResource = BundleResource;
|
||||||
exports.CENTER = CENTER;
|
exports.CENTER = CENTER;
|
||||||
exports.CENTER_X = CENTER_X;
|
exports.CENTER_X = CENTER_X;
|
||||||
exports.CENTER_Y = CENTER_Y;
|
exports.CENTER_Y = CENTER_Y;
|
||||||
|
@ -3173,8 +3173,13 @@ class AssetResource extends Resource {
|
|||||||
* This is for iOS platform
|
* This is for iOS platform
|
||||||
*/
|
*/
|
||||||
class MainBundleResource extends Resource {
|
class MainBundleResource extends Resource {
|
||||||
constructor(path) {
|
constructor(fileName) {
|
||||||
super("mainBundle", path);
|
super("mainBundle", fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class BundleResource extends Resource {
|
||||||
|
constructor(bundleName, fileName) {
|
||||||
|
super("bundle", `${bundleName}://${fileName}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5134,6 +5139,7 @@ exports.AssetResource = AssetResource;
|
|||||||
exports.BOTTOM = BOTTOM;
|
exports.BOTTOM = BOTTOM;
|
||||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||||
exports.Base64Resource = Base64Resource;
|
exports.Base64Resource = Base64Resource;
|
||||||
|
exports.BundleResource = BundleResource;
|
||||||
exports.CENTER = CENTER;
|
exports.CENTER = CENTER;
|
||||||
exports.CENTER_X = CENTER_X;
|
exports.CENTER_X = CENTER_X;
|
||||||
exports.CENTER_Y = CENTER_Y;
|
exports.CENTER_Y = CENTER_Y;
|
||||||
|
5
doric-js/index.d.ts
vendored
5
doric-js/index.d.ts
vendored
@ -1660,7 +1660,10 @@ declare module 'doric/lib/src/util/resource' {
|
|||||||
* This is for iOS platform
|
* This is for iOS platform
|
||||||
*/
|
*/
|
||||||
export class MainBundleResource extends Resource {
|
export class MainBundleResource extends Resource {
|
||||||
constructor(path: string);
|
constructor(fileName: string);
|
||||||
|
}
|
||||||
|
export class BundleResource extends Resource {
|
||||||
|
constructor(bundleName: string, fileName: string);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
5
doric-js/lib/src/util/resource.d.ts
vendored
5
doric-js/lib/src/util/resource.d.ts
vendored
@ -33,5 +33,8 @@ export declare class AssetResource extends Resource {
|
|||||||
* This is for iOS platform
|
* This is for iOS platform
|
||||||
*/
|
*/
|
||||||
export declare class MainBundleResource extends Resource {
|
export declare class MainBundleResource extends Resource {
|
||||||
constructor(path: string);
|
constructor(fileName: string);
|
||||||
|
}
|
||||||
|
export declare class BundleResource extends Resource {
|
||||||
|
constructor(bundleName: string, fileName: string);
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,12 @@ export class AssetResource extends Resource {
|
|||||||
* This is for iOS platform
|
* This is for iOS platform
|
||||||
*/
|
*/
|
||||||
export class MainBundleResource extends Resource {
|
export class MainBundleResource extends Resource {
|
||||||
constructor(path) {
|
constructor(fileName) {
|
||||||
super("mainBundle", path);
|
super("mainBundle", fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export class BundleResource extends Resource {
|
||||||
|
constructor(bundleName, fileName) {
|
||||||
|
super("bundle", `${bundleName}://${fileName}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ export class DrawableResource extends Resource {
|
|||||||
super("drawable", name)
|
super("drawable", name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class RawResource extends Resource {
|
export class RawResource extends Resource {
|
||||||
constructor(name: string) {
|
constructor(name: string) {
|
||||||
super("raw", name)
|
super("raw", name)
|
||||||
@ -57,7 +58,13 @@ export class AssetResource extends Resource {
|
|||||||
* This is for iOS platform
|
* This is for iOS platform
|
||||||
*/
|
*/
|
||||||
export class MainBundleResource extends Resource {
|
export class MainBundleResource extends Resource {
|
||||||
constructor(path: string) {
|
constructor(fileName: string) {
|
||||||
super("mainBundle", path)
|
super("mainBundle", fileName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class BundleResource extends Resource {
|
||||||
|
constructor(bundleName: string, fileName: string) {
|
||||||
|
super("bundle", `${bundleName}://${fileName}`)
|
||||||
}
|
}
|
||||||
}
|
}
|
10
doric-web/dist/index.js
vendored
10
doric-web/dist/index.js
vendored
@ -3227,8 +3227,13 @@ class AssetResource extends Resource {
|
|||||||
* This is for iOS platform
|
* This is for iOS platform
|
||||||
*/
|
*/
|
||||||
class MainBundleResource extends Resource {
|
class MainBundleResource extends Resource {
|
||||||
constructor(path) {
|
constructor(fileName) {
|
||||||
super("mainBundle", path);
|
super("mainBundle", fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class BundleResource extends Resource {
|
||||||
|
constructor(bundleName, fileName) {
|
||||||
|
super("bundle", `${bundleName}://${fileName}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4947,6 +4952,7 @@ exports.AssetResource = AssetResource;
|
|||||||
exports.BOTTOM = BOTTOM;
|
exports.BOTTOM = BOTTOM;
|
||||||
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
exports.BackgroundColorAnimation = BackgroundColorAnimation;
|
||||||
exports.Base64Resource = Base64Resource;
|
exports.Base64Resource = Base64Resource;
|
||||||
|
exports.BundleResource = BundleResource;
|
||||||
exports.CENTER = CENTER;
|
exports.CENTER = CENTER;
|
||||||
exports.CENTER_X = CENTER_X;
|
exports.CENTER_X = CENTER_X;
|
||||||
exports.CENTER_Y = CENTER_Y;
|
exports.CENTER_Y = CENTER_Y;
|
||||||
|
2
doric-web/dist/index.js.map
vendored
2
doric-web/dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user